Skip to content

Release 1.23.3

Latest

Choose a tag to compare

@reid-spencer reid-spencer released this 21 May 01:14

What's New

Bug Fixes

  • Missing closing brace no longer crashes the error reporter. A parse failure at end-of-file (the typical "missing }" case) previously caused two require calls in RiddlParserInput.annotateErrorLine to throw IllegalArgumentException: requirement failed: fail: N >= N+1, which the outer driver wrapped as [severe] Exception Thrown, hiding the real cause. Those requires were over-strict — the downstream slicing already clamps via Math.min — and have been removed. The parse failure now surfaces as a normal [error] with file location, line/column, and the expected-tokens set (which includes }).

Internal

  • Regression fixtures language/input/riddl-bad/{badDomain,badEntity}.riddl checked in (3 opens / 2 closes by design). TopLevelParserTest adds a regression case that parses them via parseURL, asserts no Severe message is produced, and verifies the resulting Error mentions badEntity.riddl and lists } in the expected-tokens set.
  • ebnf_tatsu_validator.py and ebnf_validator.py add badEntity.riddl to INCLUDE_FRAGMENTS so the ebnf-grammar-validation CI job skips it (it's a context-level fragment that cannot be parsed standalone, by design).

Notes

  • 1.23.2 was tagged locally but its publish failed mid-way due to a Scala 3.8.3 scaladoc race condition under parallel doc task execution, leaving partial artifacts on GitHub Packages. The 1.23.2 tag was never pushed and no GitHub release object was created. 1.23.3 supersedes it; the orphaned 1.23.2 Maven artifacts can be ignored or manually purged.
  • 1.23.3 itself initially hit the same scaladoc race during sbt clean test publish; the missing riddlLibNative artifact was published with a follow-up sbt riddlLibNative/publish. A follow-up build improvement (build docs sequentially, or otherwise serialize the scaladoc invocation) is warranted to make full parallel publish reliable.