This is the PR encompassing all changes for version 5.0.0. As this is substantial new functionality, it will be previewed incrementally starting with 5.0.0-M1. When the API is completed and seems reasonable, 5.0.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 into master and 5.0.0 will be officially released.
High-Level Changes
This release aims to consolidate the library ready for long-term stability. This will include adjusting the API to allow for more forwards-compatible evolution.
[x] introduce labelSymbol to replace the sub-configurations (which are deprecated for future removal, but still hooked in for back-compat for next few weeks)
5.0.0-M4
[x] added mapFilterMsg combinator to parsley.errors.combinator
5.0.0-M5
[x] fix regression introduced by M3, where Reasons used for labelConfig result in no error labels
5.0.0-M6
[x] enforce deprecation of error config stuff
[x] fix Americanisation of SpecializedFilter
[x] remove atomicChoice
[x] add additional diagnostics
[x] restore Failure as a simple case class
[x] rename ErrorBuilder.format to build
[x] add line number information to ErrorBuilder.lineInfo
5.0.0-M7 - Anton's Milestone
[x] add in the Console debugger frontend for parsley-debug
[x] divergence detection combinator in parsley-debug.
[ ] flatten down the parsley.token packages some more.
[x] add in the parsley.syntax.all and parsley.quickstart objects to cut down on imports.
5.0.0-RC1
[ ] all new functionality has partial documentation
5.0.0
[ ] all methods have completed documentation
[ ] new functionality is well tested
[ ] README.md updated to reflect new version
[ ] documentation checked to ensure no leakage of private [parsley] members or parsley.internal.
[ ] wiki backports complete
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.
From
To
Necessary Changes
4.5.0
5.0.0-M1
see above
5.0.0-M1
5.0.0-M2
no changes
5.0.0-M2
5.0.0-M3
many of the configurations in ErrorConfig for symbols are deprecated, use labelSymbol instead
5.0.0-M3
5.0.0-M4
no changes
5.0.0-M4
5.0.0-M5
no changes
5.0.0-M5
5.0.0-M6
use build, not format for ErrorBuilder. ErrorBuilder.lineInfo now has a lineNum argument. SpecialisedFilter and its children are now spelt with a z. The atomicChoice combinator has been removed, reconsider your life choices if you're using it.
Parsley
5.0.0
Staging PRThis is the PR encompassing all changes for version
5.0.0
. As this is substantial new functionality, it will be previewed incrementally starting with5.0.0-M1
. When the API is completed and seems reasonable,5.0.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
and5.0.0
will be officially released.High-Level Changes
This release aims to consolidate the library ready for long-term stability. This will include adjusting the API to allow for more forwards-compatible evolution.
Low-Level Changes
Major Changes
None.
Minor Changes
None.
Patch Changes
None.
Internal Changes
None.
Release Checklist
5.0.0-M1
4.5.0
5.0.0-M2
5.0.0-M3
labelSymbol
to replace the sub-configurations (which are deprecated for future removal, but still hooked in for back-compat for next few weeks)5.0.0-M4
mapFilterMsg
combinator toparsley.errors.combinator
5.0.0-M5
Reason
s used forlabelConfig
result in no error labels5.0.0-M6
SpecializedFilter
atomicChoice
Failure
as a simple case classErrorBuilder.format
tobuild
ErrorBuilder.lineInfo
5.0.0-M7
- Anton's Milestoneparsley-debug
parsley-debug
.parsley.token
packages some more.parsley.syntax.all
andparsley.quickstart
objects to cut down on imports.5.0.0-RC1
5.0.0
README.md
updated to reflect new versionprivate [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.5.0
5.0.0-M1
5.0.0-M1
5.0.0-M2
5.0.0-M2
5.0.0-M3
ErrorConfig
for symbols are deprecated, uselabelSymbol
instead5.0.0-M3
5.0.0-M4
5.0.0-M4
5.0.0-M5
5.0.0-M5
5.0.0-M6
build
, notformat
forErrorBuilder
.ErrorBuilder.lineInfo
now has alineNum
argument.SpecialisedFilter
and its children are now spelt with az
. TheatomicChoice
combinator has been removed, reconsider your life choices if you're using it.