Skip to content

chore(release): 0.7.6 - #233

Merged
epmog merged 1 commit into
mainlinefrom
bump/0.7.6
Aug 11, 2026
Merged

chore(release): 0.7.6#233
epmog merged 1 commit into
mainlinefrom
bump/0.7.6

Conversation

@client-software-ci

@client-software-ci client-software-ci commented Aug 11, 2026

Copy link
Copy Markdown
Collaborator

0.7.6 (2026-08-11)

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),
    so environment variables and actions can reference them; RFC 0008 wrap hooks now resolve
    WrappedStep.Name; only the extensions a template declares are enabled; and Job.Name is
    seeded into the symbol table. (962e359)
  • Support RFC extensions in environment templates (feat: Support RFC extensions in environment templates #213) (cc8d354)

Bug Fixes

  • Require openjd-sessions >= 0.10.11 (dfa118d)
  • openjd run printed 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 run reported a misleading "Must exit Environment X first" error when an environment failed partway through entering (e.g. a bad environment variables expression)
  • Step.Name was not available in a step's let bindings and step-environment actions (RFC 0007 EXPR)
  • Defer adaptive chunk adjustment without a measurable sample (fix: Defer adaptive chunk adjustment without a measurable sample #232) (7091007)

Comment thread CHANGELOG.md Outdated
Comment thread CHANGELOG.md Outdated
leongdl
leongdl previously approved these changes Aug 11, 2026
Comment thread CHANGELOG.md Outdated
Comment thread CHANGELOG.md Outdated
Comment thread CHANGELOG.md Outdated
Signed-off-by: client-software-ci <129794699+client-software-ci@users.noreply.github.com>
@epmog
epmog enabled auto-merge (squash) August 11, 2026 19:35
Comment thread CHANGELOG.md

### 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),

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@epmog
epmog merged commit 7c7ece4 into mainline Aug 11, 2026
26 of 30 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants