Appendix AChange log

Revision History
  • 2.2.1, 17 May 2023

    Bumped version for dependency on CoffeeGrinder.

  • 2.2.0, 06 May 2023
    • Leveraging changes to the CoffeeGrinder implementation, the priority pragma now works correctly.

    • References to “pruning” nonterminals has been removed (because it’s been removed from CoffeeGrinder).

  • 2.1.0, 23 Apr 2023

    Updated the version number for parity with CoffeeGrinder and the other tools. There are no actually changes in this release.

  • 2.0.3, 15 Apr 2023

    Corrected the encoding of the C0 and C1 control characters. Changed the encoding of > so that it is always encoded as >. (This assures that the output will never accidentally enclude ]]> which marks the end of a CDATA section.)

  • 2.0.2, 14 Apr 2023

    Fix encoding of characters per the XML Output Method of XSLT and XQuery Serialization 3.1.

  • 2.0.1, 13 Apr 2023
    • Fixed #98. Added an option to ignore the Unicode BOM on UTF-8 files. It’s enabled by default.

    • Resolved #97. Improved the encoding of carriage returns in the output. If a carriage return in the output is not followed by a line feed, it will be encoded as &#d; so that an XML parse of the output won’t normalize it away.

    • Fixed #96. Improved error reporting. In the case where a parse fails with an unexpected character, if the character is not a visible ASCII character, the output includes the codepoint of the character.

    • Tinkered with the GitHub branch workflow so that it won’t attempt to use the SSH private key if it isn’t configured as a secret.

  • 2.0.0, 10 Apr 2023

    Making the 2.x code base the current release.

  • 1.1.0, 16 Apr 2022

    Support for the 15 April 2022 specification, version 1.1.0

    The most significant changes are:

    1. The “repeat0” and “repeat1” separator characters are now doubled: “item*','” becomes “item**','”, and “item+','” becomes “item++','”.

    2. The semantics of “^” before a literal have changed. It now signals an insertion. The grammar fragment “'a', ^'-', 'b'” matches an “a” followed immediately by a “b”, but the XML output will be “a-b”. The text marked “^” matches nothing but is inserted in the output. The insertion character may change.

    3. At least one whitespace character or comment is required between rules. (This is very unlikely to have any practical consequence since most grammar authors start a new rule on a new line. But where “a:'1'.b:'2'. used to be allowed, you must now write “a:'1'. b:'2'.. This avoids an ambiguity in the grammar.)

  • 1.0.0, 20 Mar 2022

    Initial release, version 1.0.0