Releases: OpenJobDescription/openjd-sessions-for-python
Releases · OpenJobDescription/openjd-sessions-for-python
Release list
0.12.1
0.12.0
0.11.0
0.11.0 (2026-08-20)
⚠ BREAKING CHANGES
- shorten the session working directory name for Windows MAX_PATH — session working dir is no longer prefixed with session ID;
embedded_files<random>renamed toef<random>(#348)
Bug Fixes
0.10.14
0.10.13
0.10.12
0.10.12 (2026-08-04)
Bug Fixes
- Do not load the native extension to build an empty rules list (
80b1e70) - decode subprocess output with errors=backslashreplace (#343) (
e2e60d3) - Resolve a legacy non-string argument instead of crashing (
748629f) - Do not load the native EXPR extension unless EXPR is used (
5c546b2) - Send the kill signal before announcing it (
7bcac6e) - A failed launch must release wait_until_started() (
f160a74) - run() must own its child from creation, not after logging (
5e73e7f) - WrappedAction.Environment must be session-lifetime (RFC 0008 MUST) (
26655b4) - Give _materialize_path_mapping a failure path (openjd-rs parity) (
7585d4d) - cancel_info.json handler caught the wrong exception type (
33cb7f0) - Do not gate terminate on leader liveness (openjd-rs parity) (
4ffa320) - Anchor the openjd_env near-miss regex (openjd-rs parity) (
b4ef573)
0.10.11
0.10.11 (2026-07-28)
Features
- RFC 0008 environment wrap actions (#333) (
df96902) - RFC 0008 environment wrap actions with EXPR runtime parity Implement the WRAP_ACTIONS extension (RFC 0008) in the v0 session, with EXPR (RFC 0007) runtime parity with openjd-rs: - Wrap-hook dispatch: an environment's onWrapEnvEnter / onWrapTaskRun / onWrapEnvExit runs in place of an inner environment's onEnter/onExit or a step's onRun, with WrappedAction.Command/Args/Environment/ Timeout/Cancelation.* and WrappedEnv.Name/WrappedStep.Name injected. At most one wrap-defining environment may be active (enforced at enter time). - Two strictly separated scopes (openjd-rs #277 parity): the wrapped action's values resolve against the INNER entity's own scope (its script-level let bindings and embedded files, materialized in runner order: paths, lets, contents); the hook script resolves against the wrap environment's own scope (its lets, evaluated by the runner) plus the WrappedAction.* overlay. Same-named lets on the two sides each resolve to their own value. - WrappedAction.Environment carries every session-defined variable: openjd_env definitions and entered environments' declarative variables: maps; host-inherited variables are excluded. - EXPR runtime: runner-evaluated script-level let bindings ordered around embedded-file materialization (paths before lets, contents after), typed symbol tables, enter_environment(extra_let_bindings=...) so a step's environments see the step-level lets. - Cancelation: WrappedAction.Cancelation.Mode/NotifyPeriodInSeconds resolved through the enforcement path, with Template Schemas 5.3.2 defaults (120s task onRun / 30s otherwise). (
df96902)
Bug Fixes
- Address review findings — let-binding crash paths, Step.Name, perf (
df96902) - RFC 0005/0008 typed-arg and null-vs-empty parity with openjd-rs (
df96902) - Close review findings on failure paths, timeout bounds and typing (
df96902) - Narrow Optional script before setattr in wrap cancelation test (
df96902) - Close wrap-hook scope gap, cancel races, and path-mapping parity (
df96902) - Make wrap and URI tests host-independent on Windows (
df96902) - Do not fail an action whose subprocess exits immediately (
df96902) - Serialize the pending-cancel handoff against action launch (
df96902) - concurrency: Close race windows in cancel and completion paths (
df96902) - concurrency: Close round-4 review findings (R4-1, R4-5, R4-6, R4-G7, R4-G8) (
df96902) - Close round-5 review findings R5-1 through R5-9 (
df96902) - Close defects introduced by the round-5 fix commit (
df96902) - wrap-actions: Isolate a wrap hook's scope from the wrapped entity's (
df96902) - subprocess: Own the child on every exit path from run() (
df96902) - Report chown and pgrep failures through the paths that handle them (
df96902) - Silence Windows mypy on POSIX-only os and signal attributes (
df96902) - Do not open a directory descriptor on Windows (
df96902) - Address the live CodeQL alerts on this PR (
df96902) - poll through CANCELING state to deliver terminal callback (#331) (
d57e477)