-
Notifications
You must be signed in to change notification settings - Fork 21
Version bump to 4.2 #145
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Version bump to 4.2 #145
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…to undo its deprecation
* Added the VerifiedErrors extension class in patterns object, added correct partial amending semantics * satisfied MiMA * Changed names of new combinators, no need to jump through so many hoops now! * verify -> verified * Added intrinsic, needs testing * Added correct partial amend behaviour onto deprecated deoptimised combinators
…on't be exposing it!
* Exposed amendThenDislodge and dislodge * Added tests * documentation
parsley/shared/src/main/scala/parsley/token/errors/ConfigImplTyped.scala
Show resolved
Hide resolved
parsley/shared/src/main/scala/parsley/internal/machine/instructions/ErrorInstrs.scala
Outdated
Show resolved
Hide resolved
Code Climate has analyzed commit 5a0de3b and detected 0 issues on this pull request. The test coverage on the diff in this pull request is 84.7% (50% is the threshold). This pull request will bring the total coverage in the repository to 90.1% (0.8% change). View more on Code Climate. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Parsley
4.2.0
Staging PRThis is the PR encompassing all changes for version
4.2.0
. As this is substantial new functionality, it will be previewed incrementally starting with4.2.0-M1
. When the API is completed and seems reasonable,4.2.0-RC1
will be released to allow for testing of the release, full documentation, and ironing out of bugs. When the release is stable enough, it will be merged intomaster
and4.2.0
will be officially released.High-Level Changes
This release aims to do small improvements to two areas of the API: positions and error combinators. New position functionality will be added to a
parsley.position
module, and old functionality will be moved there with deprecation in place for 5.0.0 removal. Some functionality withinparsley.errors.combinator.ErrorMethods
will be deprecated, as it has not been particularly useful in its current form. New functionality will be introduced into a separate class to replace this, with semantics that aid in the creation of Verified Errors. New filtering combinators will also be added, along with some missing functionality to do withamend
andentrench
.Low-Level Changes
Deprecations
Parsley.line
,Parsley.col
,Parsley.pos
deprecated in favour ofposition.line
,position.col
,position.pos
(to be removed in 5.0.0)Lexer
class is deprecated, class will befinal
in 5.0.0ErrorMethods.!
andErrorMethods.unexpected
deprecated without one-to-one replacement.fullAmend
flag/constructor for theFilterConfig
subclasses: this was erroneously added, as filtering combinators always use full-amend semantics anyway. These will be removed in 5.0.0Minor Changes
position
object withline
,col
,pos
, and newoffset
.parsley.errors.patterns.VerifiedErrors
extension class, exposingverifiedFail
andverifiedUnexpected
combinators.parsley.errors.combinator.ErrorMethods.unexpectedWithReasonWhen
combinator.Patch Changes
None.
Release Checklist
4.2.0-Mn
position
object with existingpos
,line
,col
(4.2.0-M1
)pos
,line
, andcol
fromParsley
: new homeposition
(removal in5.0.0
, no maintenance burden for keeping them public, just simplify the docs) (4.2.0-M1
ErrorMethods.unexpected
(no direct equivalent moving forward, can retain public API till5.0.0
) (4.2.0-M1
)ErrorMethods.!
(no direct equivalent moving forward, can retain public API till5.0.0
) (4.2.0-M1
)Lexer
(for enforcement in5.0.0
) (4.2.0-M1
)dislodge
amendThenDislodge
errors.patterns.VerifiedErrors
extension class (4.2.0-M2
)verifiedFail(A => Seq[String])
andfail(String, String*)
(4.2.0-M2
)verifiedUnexpected
,verifiedUnexpected(String)
, andverifiedUnexpected(A => String)
(4.2.0-M2
)offset: Parsley[Int]
toposition
: in 5.0.0 the underlying offset may be changed toLong
, but this is fine for now (4.2.0-M1
)unexpectedWithReasonWhen
combinator (4.2.0-M3
)4.2.0-M3
)4.2.0-RC1
4.2.0
README.md
updated to reflect new versionbuild.sbt
updated to disable snapshots on this branchprivate [parsley]
members orparsley.internal
.Milestone Migration Guide
As each milestone release may choose to make binary incompatible changes, any necessary migration required to get from one milestone to the next will be tracked here.
4.1.x
4.2.0-M1
Parsley
toposition
for any position related combinators. Stop using!
and.unexpected
combinators with immediate effect.4.2.0-M1
4.2.0-M2
legacyUnexpected
was removed as no longer needed,unexpected
will not be source removed in 4.3fullAmend
flag onFilterConfig
implementations: it doesn't do anything.4.2.0-M2
4.2.0-M3