Releases: j-mie6/parsley
Parsley 4.3.1
Fixed bug where flatMap
will not retain the same overflows()
semantics as its parents: this could have been mitigated by calling overflows()
on the result of the function in flatMap
, but this is more robust.
Full Changelog: v4.3.0...v4.3.1
Parsley 4.4.0-M1
Introduces partialAmend
, dislodge(n)
, amendThenDislodge(n)
, partialAmendThenDislodge(n)/()
. Also introduces a varargs overloading of label
.
Full Changelog: v4.3.0...v4.4.0-M1
Parsley 4.3.0
Added the as
and from
combinators as aliases for #>
and <#
respectively. Exposed some of the DefaultErrorBuilder
logic as helpers so that users can build on them in other ErrorBuilder
implementations, thanks @beneyal for the suggestion!
The minimum Scala versions have also been bumped to make better use of various new features around Scala 3, Scala JS and Scala Native. The minimum versions are Scala 3.3.0 LTS, Scala JS 1.13.2, and Scala Native 0.4.13
What's Changed
- Refactor/fix-warnings by @j-mie6 in #203
- Added "wordy"
as
andfrom
combinators by @j-mie6 in #204 - Exposed
DefaultErrorBuilder
helpers by @j-mie6 in #205 - Add indexed Visitor classes for LazyParsley by @0xFC963F18DC21 in #206
New Contributors
- @0xFC963F18DC21 made their first contribution in #206
Full Changelog: v4.2.14...v4.3.0
Parsley 4.3.0-RC2
Removed some accidentally exposed members in API.
Full Changelog: v4.3.0-RC1...v4.3.0-RC2
Parsley 4.3.0-RC1
This release sees the introduction of the as
and from
aliases for #>
and <#
respectively. The codePoint
combinator has been added for parsley.character
as well: this allows for parsing full UTF-16 codepoints. The internal helpers for the DefaultErrorBuilder
have been exposed to the API for convenience. Minimum Scala 3 version bumped to 3.3.0 LTS; Native bumped to 0.4.13 and ScalaJS to 1.13.2 as the new minimum versions.
What's Changed
- Refactor/fix-warnings by @j-mie6 in #203
- Added "wordy"
as
andfrom
combinators by @j-mie6 in #204 - Exposed
DefaultErrorBuilder
helpers by @j-mie6 in #205
Full Changelog: v4.2.14...v4.3.0-RC1
Parsley 4.2.14
Corrected the logic for merging two errors by accounting for both of their offsets: the underlying offset has priority (which is where the error is said to have occurred), and the presentation offset (where the error appears) is checked after: this will not affect anything in the current release, as the two offsets will always match up. Also improved performance stability slightly by using type alias for the identity machinery.
What's Changed
Full Changelog: v4.2.13...v4.2.14
Parsley 4.2.13
What's Changed
- Improved Unicode handling in token extractors by @j-mie6 in #199
- Optimised the
LexToken
functionality by preventing a double parse and generally improving efficiency of combinators used by @j-mie6 - Avoided small redundant copy on
WrappedString
for token extractors @j-mie6
Full Changelog: v4.2.12...v4.2.13
Parsley 4.2.12
Mostly, this release has internal infrastructure changes ahead of future improvements in 4.3 and beyond. However, #194 was fixed, in #196, which adds a couple of guarantees to the error formatting to ensure that a parser input demand of 0
is never provided to token extraction.
What's Changed
- Support for partial dislodging by @j-mie6 in #191
- Partial Amending by @j-mie6 in #195
- Prevent zero-width tokens from being formatted by @j-mie6 in #196
- Generalise
empty
in internals by @j-mie6 in #197 - Multiple labels in errors by @j-mie6 in #198
Full Changelog: v4.2.11...v4.2.12
Parsley 4.2.11
Carets left unspecified when using unexpected
and fail
can now interact with other errors and stretch to their widest amounts. The original behaviour of these combinators can be easily recovered by specifying a caret of size 1.
What's Changed
Full Changelog: v4.2.10...v4.2.11
Parsley 4.2.11-M1
This introduces a change to fail
's caret semantics so that it can take on wider carets from vanilla-based combinators when the caret is left-unspecified. This is a pre-release ahead of when the same functionality is implemented for unexpected
and released as the full 4.2.11
.
Full Changelog: v4.2.10...v4.2.11-M1