chore: release - #357
Merged
Merged
Conversation
github-actions
Bot
force-pushed
the
release-plz-2026-09-01T22-09-27Z
branch
3 times, most recently
from
September 3, 2026 00:33
a7d200b to
26fe2e8
Compare
github-actions
Bot
force-pushed
the
release-plz-2026-09-01T22-09-27Z
branch
from
September 3, 2026 01:03
26fe2e8 to
598c73d
Compare
leongdl
approved these changes
Sep 3, 2026
leongdl
enabled auto-merge (squash)
September 3, 2026 01:45
AlexTranAmz
approved these changes
Sep 3, 2026
leongdl
added a commit
to OpenJobDescription/openjd-model-for-python
that referenced
this pull request
Sep 3, 2026
* chore(deps): Bump openjd-* Rust crates to the 0.6.0 release Move the bindings crate onto the openjd-rs release published by OpenJobDescription/openjd-rs#357: openjd-expr 0.5.0 -> 0.6.0 (breaking) openjd-model 0.5.4 -> 0.6.0 (breaking) openjd-sessions 0.5.4 -> 0.5.5 The breaking part of both minor bumps is openjd-rs#354, "Keep the decimal places of a floatstring range element", the Rust counterpart of #345 on this side. `TaskParameter::Float` now carries `Vec<Float64>` rather than `Vec<f64>`, because a `<floatstring>` range element has to keep the scale it was written with: '02.50' renders `2.50`, not `2.5` (Template Schemas §7.5). That reaches Python through `TaskParameterValue`, which renders the preserved spelling verbatim, so the per-task value a command line receives now matches the pure-Python reference. `FloatTaskParameter.range` stays `list[float]` -- it is the numeric introspection view of the resolved definition -- so the conversion takes `Float64::value()` there. openjd-model 0.6.0 also carries openjd-rs#355 (two chunking parity gaps) and openjd-rs#358 (the 512-character cap on a let binding identifier), and openjd-sessions 0.5.5 carries openjd-rs#361 (persist a resolved symbol table supplied by argument). Verified: cargo build --all-targets, cargo clippy --all-targets -D warnings, cargo test and cargo test --doc all pass. The Python suite is 5546 passed with 5 failures that are all gap markers this release closes; they are addressed in the following commit. Signed-off-by: David Leong <116610336+leongdl@users.noreply.github.com> * test: Promote the two chunking gaps openjd-model 0.6.0 closes openjd-rs#355 closed both divergences that `test/openjd/model_v1/test_known_gaps.py` recorded as strict xfails, so with `xfail_strict = true` they now fail as xpasses. That file's own rule is to promote a resolved gap to its proper home rather than drop the marker in place, so both move to `test_step_param_space_iter.py` beside the rest of `TestChunksTaskCountOverride`. - A CONTIGUOUS chunked space supports random access. `it[0]`, `it[1]` and `it[-1]` answer, indexing observes `chunks_task_count_override`, and one past the end is still an IndexError. This replaces `test_a_contiguous_space_refuses_indexing_with_or_without_the_override`, which asserted the refusal and named this exact swap as its counterpart. - `chunks_parameter_name` and `chunks_default_task_count` report for any chunked space, not only an adaptive one, which is what v0 has always done. Added `test_an_adaptive_space_still_refuses_indexing` as the negative control and the remaining limitation: an adaptive space has no knowable count, so `len()` raises ValueError and every index is out of range, while iteration still yields. Measured, along with everything asserted above, against openjd-model 0.6.0 before the assertions were written. Both promoted assertions are falsifiable by the version alone: they were strict xfails passing on mainline at openjd-model 0.5.4, so they failed there, and the CI run on 007f212 reports them xpassing at 0.6.0. `specs/python-model-interface.md` claimed both limitations and pointed at the xfails by name; it now states the random access that works and the one adaptive limitation that remains. The `Optional[str]`/`Optional[int]` signatures are unchanged -- both getters still answer None for a space that is not chunked. Verified: 5551 passed, 24 skipped, 3 xfailed with the 94% coverage gate enforced; ruff, black and mypy clean. `test_known_gaps.py` is now down to one test, which is a passing regression test rather than a gap. Left where it is rather than widen this change. Signed-off-by: David Leong <116610336+leongdl@users.noreply.github.com> * chore: Regenerate THIRD-PARTY-LICENSES for the openjd-* 0.6.0 bump `scripts/check_third_party_licenses.sh` fails on a Cargo.lock change alone, and the three crate bumps are exactly what the diff contains: openjd-expr 0.5.0 -> 0.6.0, openjd-model 0.5.4 -> 0.6.0, openjd-sessions 0.5.4 -> 0.5.5. No other line moves, and no transitive dependency changed. Regenerating it needed a portability fix first. `sed -i 's/\r//'` on the EOL normalization line is GNU-only: BSD sed reads the next argument as the backup suffix, so on macOS the script died with `sed: 1: "/var/folders/...": invalid command code f` before writing anything. Rewriting through a temp file behaves identically on both. The failure was not specific to this change -- the script could not be run on macOS at all -- and CI regenerates with the same script, so the committed file and the check stay in agreement. Verified: `scripts/check_third_party_licenses.sh --update` then `scripts/check_third_party_licenses.sh` reports the file up to date, with cargo-about 0.9.2, the version CI installs. Signed-off-by: David Leong <116610336+leongdl@users.noreply.github.com> --------- Signed-off-by: David Leong <116610336+leongdl@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🤖 New release
openjd-expr: 0.5.0 -> 0.6.0 (✓ API compatible changes)openjd-model: 0.5.4 -> 0.6.0 (✓ API compatible changes)openjd-sessions: 0.5.4 -> 0.5.5 (✓ API compatible changes)openjd-cli: 0.1.13 -> 0.1.14Changelog
openjd-expropenjd-modelopenjd-sessionsopenjd-cliThis PR was generated with release-plz.