Skip to content

Releases: alex-poliushkin/theater

v0.5.0

18 May 14:54

Choose a tag to compare

Theater v0.5.0

This release focuses on CI-readable run evidence, inspectable reusable suites,
safe runtime readiness checks, scenario preflight guardrails, and clearer HTTP
failure diagnostics.

Highlights

  • Run reports now carry stable report identity fields, including Theater
    version and run identity, so CI projections can point back to the same
    canonical run document.
  • theater run --summary-output <path> and
    theater report render --format summary-md produce a compact Markdown
    summary for CI job summaries without making the detailed Markdown report the
    machine-readable contract.
  • theater libraries inspect explains selected repo-local library files,
    selected scenarios, contributed auth declarations, ignored unselected files,
    rejected entries, scenario input requirements, exports, call edges, and source
    locations.
  • theater requirements inspect reports plugin host environment grants and
    selected HTTP auth slot requirements without printing secret values.
  • Scenario preflight guardrails can reject unsafe resolved scenario inputs and
    constants before live scenario side effects begin.
  • HTTP diagnostics now classify common failure categories and include redacted
    request fingerprints plus safe response metadata for faster triage.
  • The JetBrains .thtr plugin is prepared for v0.5.0 and includes the native
    authoring updates for the shipped preflight syntax.

v0.4.0

18 May 08:39

Choose a tag to compare

Theater v0.4.0

This release focuses on integration-suite safety, CI ergonomics, deterministic
fixture data, and report diagnostics.

Highlights

  • Repo-aware reusable scenarios can now contribute selected slot-backed HTTP
    auth declarations, reducing repeated flow-level auth registry entries without
    introducing static credential composition or generic imports.
  • theater run can write JSON, JUnit, and Markdown sidecar artifacts from one
    execution while preserving the run status after artifact rendering succeeds.
  • generate.date produces deterministic UTC date-only strings with the closed
    iso and basic format enum.
  • Failed HTTP checks now include report-safe diagnostics with redacted request
    URLs, selected response metadata, and bounded response previews across JSON,
    text, Markdown, and JUnit projections.
  • Exact matching item selection is documented and hardened: has item where
    asserts existence, while pick where selects exactly one item for later
    selector steps, exports, logs, and expectations.
  • Local mock contract test guidance documents how downstream suites can keep
    local external-service substitutes aligned with client contracts before
    running full Theater local flows.
  • The JetBrains .thtr plugin is prepared for v0.4.0 and includes completion
    and quick-documentation support for date generation.

Compatibility Notes

  • Selected-library HTTP auth composition accepts only slot-backed auth entries.
    Static bearer tokens, basic credentials, and static API key values remain
    flow-owned or external configuration and are rejected when contributed by a
    selected library.
  • run --format json, run --format junit, and report render remain
    compatible. Sidecar output flags are additive.
  • generate.timestamp remains RFC3339-only. Date-only fixture values use the
    new generate.date generator.
  • HTTP diagnostics are report-owned evidence. They are not action.http
    outputs and cannot be exported through scenario dataflow.
  • pick where remains exact-one. It fails when zero or multiple items match.
  • Cleanup hooks and preflight guardrails are documented as future contracts
    only; current YAML, .thtr, validation, runtime, report JSON, LSP, and native
    JetBrains support do not execute those features yet.

v0.3.0

15 May 09:07

Choose a tag to compare

Theater v0.3.0

This release improves Theater for source-controlled integration workflows.

Highlights

  • Dynamic HTTP bearer auth slots let stages reuse named typed auth without repeating manual Authorization headers in every HTTP action.
  • Plugin descriptor readiness mode lets theater validate and theater plugins doctor check plugin-backed structure without requiring runtime host environment secrets.
  • theater report render converts saved theater run --format json output into compact JUnit or detailed Markdown CI artifacts without rerunning a stage.
  • The JetBrains .thtr plugin understands the new bind auth syntax used for scenario-local HTTP auth slots.

Compatibility Notes

  • theater run --format junit keeps its compact scenario-call JUnit behavior.
  • Plugin runtime readiness and live runs remain strict for missing env_from_host values.
  • Detailed Markdown reporting is opt-in through theater report render.
  • Saved report JSON no longer serializes raw failure causes; reports keep the report-safe failure kind, phase, path, and summary.

Full Changelog: v0.2.0...v0.3.0

v0.2.0

11 May 12:50

Choose a tag to compare

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

v0.1.0

07 May 12:39

Choose a tag to compare