Release 2.1.0 - #95
Merged
Merged
Conversation
Back-merge main into development (sync)
…(their #523); S10 done Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
…l-resolved docs(register): D-01 residual resolved on views-pipeline-core's side; S10 done
…measured on both majors (#91) Reported by views-pipeline-core's 3.3.0 range review: the `<2` cap outlived views-frames 2.0.0 (2026-08-18) by a month and travelled through the extra into every environment that requests it. Widened after measuring: full suite green on views-frames 1.10.2, 1.11.0 and 2.0.0; a MetricFrame saved under either major loads under the other identically. Safe because the package's only runtime import from views-frames is the FrameMetadata dataclass. Guards (each seen red on an injected defect): - TestViewsFramesRange (hosted outside the import-skipped module): the declared range as a SpecifierSet under either pyproject layout; the CI floor step derives the floor from pyproject.toml, carries no version literal, and runs the whole suite; the one-name import surface by AST, aliased and dotted imports included. - TestViewsFramesSurface: FrameMetadata's behaviour on the installed major — six keyword fields, to_dict omitting None, from_dict ignoring the keys load() passes through, int timestamp preserved — and the installed version inside the range. - CI: the verify step prints the resolved views-frames and asserts it is not the floor major; the floor step runs `pytest tests/` on the floor with no trailing reinstall (nothing after it touches Python). The review of this change found the report's premise false — the consumer named also declares its own `<2.0.0` — so the CHANGELOG, register and CIC state only this repo's contract. C-38's trigger now fires when a capped dependency publishes outside the range; C-41 records the widened admitted set; ADR-022 §7 gains a checklist line for stale caps. Register header dated. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
build(deps): the frames extra admits views-frames 2.x (>=1.10.2,<3), measured on both majors (#91)
Version 2.0.0 → 2.1.0 (MINOR). CHANGELOG gains the `[2.1.0] — 2026-09-19` section with the six-item ADR-022 §7 checklist; the register gains the dated block. §3.2 notification to views-reporting posted before the tag (#289, comment 5738670537). The release review found fifteen defects in #91's guards and prose, fixed here and each seen red on an injected defect: - One specifier reader. `_views_frames_specifier` parses PEP 508 with `packaging` (poetry 2 writes `views-frames (>=1.10.2,<3)`), reads PEP 621 first, rejects environment markers; the CI floor step and the verify step both call it instead of carrying a second inline parser or a `!= '1'` literal. `packaging` is declared in the dev group rather than borrowed from pytest. - The floor step installs with `--no-deps`, runs `pip check`, proves the module importable on the floor (so importorskip cannot go dark), and runs the whole suite. Its guard asserts the helper call, the parser's own continue-on-error/if flag (the old check read a key that never existed), the full suppressed-exit list including an own-line `exit 0`, `--no-deps`, `pip check` and the import proof; the helper is exercised on fixtures for every layout it claims. - Honest checklist. Working the new stale-cap item found that numpy `<2.0.0` makes the wheel uninstallable from wheels on Python 3.13 and 3.14, both declared supported, and silently freezes scipy at 1.17.x (its 1.18 needs numpy ≥ 2): C-41's trigger, fired 2026-06-19 with a green build. C-41 re-tiered to 2 with the measurement; #93 filed; the checklist says so instead of "deliberate". The sixth item now names every capped entry including python and the dev group, not a fixed list. - Prose: consumer state in the frozen release notes is no longer asserted as present fact; C-36 records the checklist's six items; C-38's stale consumer line and C-41's description and location updated; the CIC points at pyproject and the guard rather than copying the range, and is dated. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
release: 2.1.0 — the frames extra admits views-frames 2.x (#91)
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.
#91. Brings
developmenttomainfor the 2.1.0 release (MINOR); thev2.1.0tag and the draft GitHub Release are cut onmainafter this merge. Contents sincev2.0.0: #92 (theframesextra admits views-frames 2.x, measured on both majors) and #94 (the release commit). Release notes: the[2.1.0] — 2026-09-19section ofCHANGELOG.md. §3.2 notification posted before the tag on views-reporting#289.🤖 Generated with Claude Code