chore(release): 0.7.6 - #233
Conversation
Signed-off-by: client-software-ci <129794699+client-software-ci@users.noreply.github.com>
|
|
||
| ### Features | ||
| * RFC 0007/0008 support — step-level let bindings, wrap-hook step names, and template-declared | ||
| extensions. A step's environments are entered with its step-level EXPR let bindings (RFC 0007), |
There was a problem hiding this comment.
This release note states unconditionally that "A step's environments are entered with its step-level EXPR let bindings (RFC 0007)", but at the dependency floor declared in pyproject.toml that isn't true.
src/openjd/cli/_run/_local_session/_session_manager.py:443 reads the bindings defensively:
# getattr guard: requires an openjd-model with Step.let on the
# instantiated Job (openjd-model PR #318+); collapse to plain
# `step.let` once the version pin floor guarantees it.
step_let_bindings = getattr(step, "let", None)but pyproject.toml pins openjd-model >= 0.9,< 0.12. On any resolved openjd-model older than the release that added Step.let, getattr returns None, so extra_let_bindings is never forwarded and step-level let silently no-ops — environment variables and actions that reference those bindings will fail to resolve (or resolve to nothing) with no error explaining why. A user installing openjd-cli==0.7.6 with an older-but-permitted openjd-model gets a release that advertises the feature and doesn't have it.
Note the sibling openjd-sessions floor was raised to >= 0.10.11 in this same release precisely to remove an equivalent version-skew guard; the openjd-model floor appears to have been left behind. Suggest either raising the openjd-model lower bound to the first version with Step.let (and dropping the getattr for a plain step.let), or qualifying this changelog bullet so the requirement is visible to users.
0.7.6 (2026-08-11)
Features
extensions. A step's environments are entered with its step-level EXPR let bindings (RFC 0007),
so environment variables and actions can reference them; RFC 0008 wrap hooks now resolve
WrappedStep.Name; only the extensions a template declares are enabled; andJob.Nameisseeded into the symbol table. (
962e359)cc8d354)Bug Fixes
openjd-sessions >= 0.10.11(dfa118d)openjd runprinted a stack trace instead of a readable error message when an environment failed to enter (e.g. violating RFC 0008's "at most one wrap environment" rule)openjd runreported a misleading "Must exit Environment X first" error when an environment failed partway through entering (e.g. a bad environmentvariablesexpression)Step.Namewas not available in a step'sletbindings and step-environment actions (RFC 0007 EXPR)7091007)