Skip to content

chore(release): prepare 1.3.0 - #117

Merged
abrichr merged 1 commit into
mainfrom
release/capture-1.3.0
Aug 28, 2026
Merged

chore(release): prepare 1.3.0#117
abrichr merged 1 commit into
mainfrom
release/capture-1.3.0

Conversation

@abrichr

@abrichr abrichr commented Aug 28, 2026

Copy link
Copy Markdown
Member

The number should be 1.3.0, not 1.2.3

You asked me to confirm 1.2.3 was right. It is not.

Six feat: commits landed since v1.2.2, and this repository's own parser policy decides the bump:

[tool.semantic_release.commit_parser_options]
minor_tags = ["feat"]
patch_tags = ["fix", "perf"]
commit
6109678 feat: add authenticated recorder control channel (#79)
b04e829 feat: qualify resilient native capture (#78)
fb4c36b feat: bind each action to its exact retained screen frame (#84)
08727ab feat(capture): seal native action geometry at capture time (#94)
ad1aaf1 feat: ship the two demo captures as loadable fixtures (#101)
7a96690 feat: capture native structural observations (#96)

Publishing that as a patch would put a false claim in the package metadata. No release gate would have caught it: release.yml only checks the version is newer than the latest tag, so 1.2.3 would have passed and shipped.

Nothing breaks downstream. I checked every repository in the workspace for a pin. There is no == pin anywhere, and openadapt-flow requires openadapt-capture>=1.2.0, which 1.3.0 satisfies. Every consumer expecting "capture >= 1.2.3" is satisfied by 1.3.0.

The founder's standing authorization covers patch and minor releases, so this stays inside it.

capture status and capture stop

Both have been documented for some time and are absent from the released 1.2.2 wheel. I confirmed that by grepping the wheel downloaded from PyPI. They arrived in 6109678 (#79) and ship here for the first time. The changelog now says so on that entry rather than leaving it implicit.

The changelog also needed refreshing

The earlier candidate was prepared when main was 0a15199. Four more commits landed after it, and none were in the section: #111, #114, #115, #116. All are covered now, including the Windows video_writer fix and the hosted-runner qualification move.

Verified

$ python3 scripts/check_changelog.py
verified CHANGELOG.md through v1.3.0

$ grep -Eq "^## v1.3.0 \(" CHANGELOG.md   # release.yml's gate
OK

uv.lock is re-locked so project and lock agree. The stale ## v1.2.3 section is gone, so no untagged version is left behind claiming to be a release.

Merging this moves main, so the qualification evidence has to be re-obtained on the merge commit before the release dispatch. I will do that next.

Six feat commits landed since v1.2.2, so the repository's own parser
policy (minor_tags = ["feat"]) makes this a minor release, not a patch.
Publishing it as 1.2.3 would claim a patch while shipping six features
and two new entry points.

Among them, `capture status` and `capture stop` have been documented for
some time but were absent from the 1.2.2 wheel. They arrived in #79 and
ship here for the first time.

Also refresh the section to cover the work that landed after the earlier
candidate was prepared: #111, #114, #115 and #116.

Nothing pins openadapt-capture by exact version. Flow requires
openadapt-capture>=1.2.0, which 1.3.0 satisfies.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@abrichr
abrichr merged commit 2a3ef96 into main Aug 28, 2026
12 checks passed
@abrichr
abrichr deleted the release/capture-1.3.0 branch August 28, 2026 17:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant