Back to Blog

RIDDL 1.31.0 Released

RIDDL 1.31.0 is now available.

release riddl compiler

RIDDL 1.31.0 is now available. This release of the RIDDL compiler and language tooling includes the following changes:

What’s New

What’s New

Features

  • Backstage catalog options are now recognized — Drive the generated catalog-info.yaml from model metadata. option backstage_owner("sales-team") sets Backstage’s spec.owner, option backstage_lifecycle("production") sets spec.lifecycle, and option backstage_type("service") sets a Component/Resource spec.type. Each takes one argument and is valid on any definition, matching the generator’s behaviour of resolving each value by walking from a definition up through its parents.

  • Confluence publishing options are now recognized — Pin the target Confluence space and ancestor page in the model itself, so the generated publish.sh importer needs no extra flags: option confluence_space("DOCS") and option confluence_parent("Systems"). Each takes one argument.

    Unlike the other generator options, these are registered against Domain specifically rather than being valid anywhere. The Confluence generator reads them from the domain only, so placing one on a context or entity is a mistake that would otherwise pass silently; it now produces a “not typically used on Context definitions (expected: Domain)” style warning. The “not recognized” warning is cleared everywhere regardless.

All five option names already parsed correctly but were absent from RecognizedOptions.registry, so any model using them collected a spurious StyleWarning — “Option ‘backstage_owner’ in Context ‘Sales’ is not a recognized RIDDL option”. Matching KnownOption constants were added and are exported to JavaScript through KnownOptions.

These are additive changes only: no public API was removed and no signature changed. This release continues the work begun in 1.30.0, which registered the protocol, event_catalog_version, sql_dialect and sql_table options.