Skip to content

Releases: j-mie6/parsley

Parsley 4.5.0-RC1

06 Jan 18:56
b623afe
Compare
Choose a tag to compare
Parsley 4.5.0-RC1 Pre-release
Pre-release

This release is a deprecating release, which flags as much functionality as possible that will be removed in 5.0.0 for removal.

What's Changed

Full Changelog: v4.4.0...v4.5.0-RC1

Parsley 4.4.0

06 Oct 22:02
c06edd5
Compare
Choose a tag to compare

This is a minor release, which adds several new combinators with no changes to existing functionality or deprecations.

  • Add satisfyMap
  • Add support for explicit register tracking in debug
  • Add profile combinator for light-weight analysis of what parsers take up the most time.
  • Expose partialAmend and partialAmendThenDislodge
  • Expose range combinators
  • Expose more unicode compliant combinators
  • Generalise stringOfMany and stringOfSome to take character predicates
  • Add the preventative combinators as per thesis
  • Add a filterWith, verifiedErrorWith and preventWith builder combinators, with generic ErrorGen functionality to help form messages.
  • New empty combinator in Parsley that has variable width caret
  • The label combinator now supports multiple labels at once.
  • Introduce atomic alias for attempt (no deprecation until 4.5)
  • Add configuration to TillNextWhitespace and helpers for specifying what whitespace is.
  • Add the span combinator

What's Changed

New Contributors

Full Changelog: v4.3.1...v4.4.0

Parsley 4.4.0-RC1

17 Sep 14:46
63bacd8
Compare
Choose a tag to compare
Parsley 4.4.0-RC1 Pre-release
Pre-release

Added alias for unsafe() namely, impure; moved the UnexpectedItem functionality into the VanillaGen object, where it should more appropriately live. Documentation of milestone releases completed. From here on out, there will be no further binary incompatible changes, and no new features ahead of 4.4.0.

Full Changelog: v4.4.0-M8...v4.4.0-RC1

Parsley 4.4.0-M8

12 Sep 15:33
47c3f7d
Compare
Choose a tag to compare
Parsley 4.4.0-M8 Pre-release
Pre-release

Added x: A to the update width on ErrorGen, allowing for finer control. Also exposed withWidth to position, allowing for concise custom definitions of the verified/preventative error patterns in required.

Full Changelog: v4.4.0-M7...v4.4.0-M8

Parsley 4.4.0-M7

12 Sep 11:37
9bdf4e8
Compare
Choose a tag to compare
Parsley 4.4.0-M7 Pre-release
Pre-release

Added the profile combinator, optimised character reading when results are unused, and added ErrorGen for customising the prevent, verify, and filters. Note that label introduced in M1 has been removed, so code may require a recompile.

Full Changelog: v4.4.0-M6...v4.4.0-M7

Parsley 4.4.0-M6

10 Sep 12:46
452ae12
Compare
Choose a tag to compare
Parsley 4.4.0-M6 Pre-release
Pre-release

Added span combinator, which allows for the extraction of the input consumed by a parser, as well as an optimisation that tries to drop the generation of results in parsers whose results are not needed. Added first-class combinator support for the Preventative Error pattern in parsley.errors.patterns. The debug combinator now supports any number of registers to be specified, allowing for tracking values within the state in a user-friendly way.

What's Changed

New Contributors

Full Changelog: v4.4.0-M5...v4.4.0-M6

Parsley 4.4.0-M5

15 Aug 21:27
523e0ff
Compare
Choose a tag to compare
Parsley 4.4.0-M5 Pre-release
Pre-release

Milestone release mainly with some internal improvements that help improve efficiency.

What's Changed

  • Merge Check, Hint, and Handler stacks by @j-mie6 in #212

Full Changelog: v4.4.0-M4...v4.4.0-M5

Parsley 4.4.0-M4

11 Aug 20:30
8df33c8
Compare
Choose a tag to compare
Parsley 4.4.0-M4 Pre-release
Pre-release

Fourth milestone release of 4.4.0: just adds some small optimisations and generalisations.

Full Changelog: v4.4.0-M3...v4.4.0-M4

Parsley 4.4.0-M3

24 Jul 08:37
3f2aca1
Compare
Choose a tag to compare
Parsley 4.4.0-M3 Pre-release
Pre-release

This milestone release exposes the following new combinators:

  • atomic, the new alias for attempt, which will replace it moving forward.
  • count and count1 for counting how many times a parser succeeds.
  • count, range, and range_ combinators that parse a parser within a range of possible times.
  • Allowed for the configuration of the meaning of whitespace in TillNextWhitespace.
  • Added the empty(n) combinator to parsley.Parsley, allowing for fine caret control.
  • Added the guard helper combinator, which fails if the given parser does not successfully return true.

Happy 100th release! 🥳 🎉

Full Changelog: v4.4.0-M2...v4.4.0-M3

Parsley 4.4.0-M2

16 Jul 22:19
9fda236
Compare
Choose a tag to compare
Parsley 4.4.0-M2 Pre-release
Pre-release

Second milestone release for 4.4.0, adding the unicode object with all the same combinators as character. Some slightly generalisations to the digit parsers as well, and made crlf atomic, as advertised in docs.

Full Changelog: v4.4.0-M1...v4.4.0-M2