Skip to content

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 11 May 12:50
· 21 commits to main since this release

v0.2.0

Theater v0.2.0 focuses on practical authoring ergonomics: safer plugin
contracts, plugin transforms in ordinary dataflow, direct act-scope exports and
a first-class coalesce fallback model for runtime configuration.

Highlights

  • Runtime configuration can now stay declarative with coalesce(...) and
    explicit env("NAME") value sources instead of shell setup or synthetic
    action.generate bridges.
  • Pure plugin transforms can be used in selector pipelines, so action outputs
    and existing refs can flow through domain-specific transforms without
    compatibility inventory wrappers.
  • Plugin manifests and plugin process grants are safer for source control:
    host environment variables can be copied by name, scalar secrets can be
    redacted at the root value and dynamic bindings are handled more clearly.
  • .thtr, YAML, LSP support, native JetBrains support and public docs were
    updated together for the new binding and dataflow surface.

New Features

  • Added explicit plugin host environment grants.
    Plugin registry entries can now request named host environment variables for
    plugin processes without storing secret values in the registry file.
  • Added root JSON Pointer support for plugin sensitive paths.
    Plugin manifests can mark scalar inputs or outputs as sensitive with the root
    pointer "".
  • Added safer plugin validate-hook handling for dynamic bindings.
    Validate-time plugin hooks can distinguish static values from dynamic paths
    without receiving resolved runtime secrets.
  • Added union value contracts for plugin transform inputs.
    Transform manifests can describe narrow accepted shapes such as string-or-
    object contracts instead of falling back to any.
  • Added plugin transforms in selector pipelines.
    Selectors can apply pure plugin transforms after field(...), $ref,
    decode(...) and path(...).
  • Added direct act exports from current act-scope values.
    Acts can export resolved property values with forms such as
    export token = $token instead of copying them through action.generate.
  • Added canonical coalesce bindings.
    coalesce evaluates explicit candidates left to right and selects the first
    concrete value.
  • Added typed missing handling for fallback.
    Only typed missing values are skipped; empty string, zero, false, null,
    empty objects and empty lists remain concrete values.
  • Added explicit env value sources.
    env("NAME") reads a named host environment variable as a binding value.
    Unset variables resolve to typed missing; set-but-empty variables resolve to
    the concrete empty string.
  • Added general property values.
    Act properties can now be ordinary bindings, including literals, refs,
    objects, lists, strings, generators, coalesce and env sources, while
    existing inventory properties remain supported.

Tooling

  • Updated .thtr lowering, formatting, source mapping and diagnostics for
    coalesce(...), env("NAME"), selector transforms and act ref exports.
  • Updated thtr-lsp completion and diagnostics for the new property value
    surface.
  • Updated the native JetBrains plugin with property value completion and
    diagnostics for coalesce(...), env("NAME") and generator bindings.
  • Added checked examples for runtime configuration, coalesce, act ref exports
    and plugin value contracts.
  • Added docscheck unset-env support so runnable documentation examples can
    test fallback behavior independently of the developer or CI environment.

Fixes

  • Plugin validate-hook diagnostics no longer expose resolved dynamic secret
    values.
  • Plugin redaction paths now handle root scalar sensitive values.
  • Selector and export validation now accounts for the new ref-derived and
    transform-derived dataflow paths.

Documentation

  • Documented coalesce, typed missing and explicit env value sources in the
    YAML and Theater DSL references.
  • Documented direct act ref exports and plugin transforms in selector
    pipelines.
  • Expanded plugin reference material for host environment grants, scalar
    sensitive values, dynamic bindings and union transform contracts.
  • Updated editor-tooling docs and examples index for the new authoring surface.

Compatibility Notes

  • This is a pre-v1.0.0 feature release with public contract changes across
    .thtr, YAML, plugin manifests, validation and editor tooling.
  • coalesce is value-level fallback only. It does not add truthiness, control
    flow, retries or fallback over arbitrary runtime errors.
  • inventory.env(default: ...) was intentionally not added. Fallback belongs
    in the shared binding model through coalesce.
  • env("NAME") values are treated as secret for diagnostics, debug snapshots
    and report previews because the variable name alone does not prove the value
    is safe to display.

Full Changelog

Full Changelog: v0.1.0...v0.2.0