Releases: alex-poliushkin/theater
Releases · alex-poliushkin/theater
v0.5.0
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-mdproduce a compact Markdown
summary for CI job summaries without making the detailed Markdown report the
machine-readable contract.theater libraries inspectexplains 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 inspectreports 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
.thtrplugin is prepared for v0.5.0 and includes the native
authoring updates for the shipped preflight syntax.
v0.4.0
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 runcan write JSON, JUnit, and Markdown sidecar artifacts from one
execution while preserving the run status after artifact rendering succeeds.generate.dateproduces deterministic UTC date-only strings with the closed
isoandbasicformat 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, whilepick whereselects 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
.thtrplugin 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, andreport renderremain
compatible. Sidecar output flags are additive.generate.timestampremains RFC3339-only. Date-only fixture values use the
newgenerate.dategenerator.- HTTP diagnostics are report-owned evidence. They are not
action.http
outputs and cannot be exported through scenario dataflow. pick whereremains 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
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
Authorizationheaders in every HTTP action. - Plugin descriptor readiness mode lets
theater validateandtheater plugins doctorcheck plugin-backed structure without requiring runtime host environment secrets. theater report renderconverts savedtheater run --format jsonoutput into compact JUnit or detailed Markdown CI artifacts without rerunning a stage.- The JetBrains
.thtrplugin understands the newbind authsyntax used for scenario-local HTTP auth slots.
Compatibility Notes
theater run --format junitkeeps its compact scenario-call JUnit behavior.- Plugin runtime readiness and live runs remain strict for missing
env_from_hostvalues. - 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
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
explicitenv("NAME")value sources instead of shell setup or synthetic
action.generatebridges. - 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 toany. - Added plugin transforms in selector pipelines.
Selectors can apply pure plugin transforms afterfield(...),$ref,
decode(...)andpath(...). - Added direct act exports from current act-scope values.
Acts can export resolved property values with forms such as
export token = $tokeninstead of copying them throughaction.generate. - Added canonical
coalescebindings.
coalesceevaluates explicit candidates left to right and selects the first
concrete value. - Added typed
missinghandling for fallback.
Only typed missing values are skipped; empty string, zero,false,null,
empty objects and empty lists remain concrete values. - Added explicit
envvalue 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,coalesceandenvsources, while
existing inventory properties remain supported.
Tooling
- Updated
.thtrlowering, formatting, source mapping and diagnostics for
coalesce(...),env("NAME"), selector transforms and act ref exports. - Updated
thtr-lspcompletion and diagnostics for the new property value
surface. - Updated the native JetBrains plugin with property value completion and
diagnostics forcoalesce(...),env("NAME")and generator bindings. - Added checked examples for runtime configuration, coalesce, act ref exports
and plugin value contracts. - Added docscheck
unset-envsupport 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 explicitenvvalue 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.0feature release with public contract changes across
.thtr, YAML, plugin manifests, validation and editor tooling. coalesceis 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 throughcoalesce.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
Full Changelog: https://github.com/alex-poliushkin/theater/commits/v0.1.0