RIDDL 1.29.0 Released
RIDDL 1.29.0 is now available.
RIDDL 1.29.0 is now available. This release of the RIDDL compiler and language tooling includes the following changes:
What’s New
What’s New
Bug Fixes
- Prettifier round-trips special-character identifiers — RIDDL
identifiers may be single-quoted to carry special characters (spaces,
/,@, etc.), e.g.user 'CI/CD Pipeline', and the parser accepts that form. The prettifier previously emitted such names unquoted, soparse → prettify → parsewas not a round-trip — the regenerated RIDDL failed to re-parse.Identifier.formatnow single-quotes any name that is not a bare identifier, and the five prettifier sites that rendered names via the raw value (including user names — the reported case) now go through the quoting path. Bare names (including hyphenated names likemy-entity) are emitted verbatim, so existing output is unchanged.
Features
-
Whole-path quoting for path identifiers — A path reference whose component carries special characters now renders as a single quoted path —
'Domain.CI/CD Pipeline.Name'— rather than quoting each component. The parser gained a corresponding whole-path quoted form (tried after the normal dotted form, so every existing input parses unchanged), and the EBNF grammar and generated GBNF grammar were updated to match. -
New public API on
Identifier—Identifier.isBareIdentifier(String)reports whether a value is a bare (unquoted) identifier, matching the parser’s rule exactly ([A-Za-z][A-Za-z0-9_-]*, hyphens included), andIdentifier.format(String)renders a value as valid RIDDL source (quoting when needed). Both are usable on JVM, JS, and Native.
Notes
- Error messages and diagnostics are unchanged:
identify()and message templates continue to show names in their own single quotes without double-quoting (e.g.Entity 'CI/CD Pipeline'), using the raw value. - Additive and backward compatible — no existing signatures changed.
- Consumers that previously sanitized identifiers before prettifying (to work around the missing quoting) can now rely on the prettifier to preserve original names.