j-mie6 / parsley

A fast and modern parser combinator library for Scala
https://j-mie6.github.io/parsley/
BSD 3-Clause "New" or "Revised" License
173 stars 15 forks source link

Parsley 5.0 #223

Open j-mie6 opened 8 months ago

j-mie6 commented 8 months ago

Parsley 5.0.0 Staging PR

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.

Low-Level Changes

Major Changes

None.

Minor Changes

None.

Patch Changes

None.

Internal Changes

None.

Release Checklist

5.0.0-M1

5.0.0-M2

5.0.0-M3

5.0.0-M4

5.0.0-M5

5.0.0-M6

5.0.0-M7 - Anton's Milestone

5.0.0-RC1

5.0.0

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.