Skip to content

chore(release): promote to [6.6.2] — fix shipped __version__ runtime drift#154

Merged
saurabhjain1592 merged 1 commit intomainfrom
chore/v6-6-2-release-prep
Apr 24, 2026
Merged

chore(release): promote to [6.6.2] — fix shipped __version__ runtime drift#154
saurabhjain1592 merged 1 commit intomainfrom
chore/v6-6-2-release-prep

Conversation

@saurabhjain1592
Copy link
Copy Markdown
Member

Summary

Patch release to fix a real bug in the shipped v6.6.1 wheel: axonflow.__version__ at runtime returns "6.6.0" even though pip show axonflow correctly reports 6.6.1.

Three changes:

  • CHANGELOG.md: new ## [6.6.2] - 2026-04-25 section
  • pyproject.toml: 6.6.1 → 6.6.2
  • axonflow/_version.py: 6.6.1 → 6.6.2

All three move together so the validate-version-alignment gate stays green through the transition.

Root cause (now fixed)

release.yml was running:

sed -i "s/^__version__ = .*/__version__ = \"${VERSION}\"/" axonflow/__init__.py

But axonflow/__init__.py only does from axonflow._version import __version__. The sed matched nothing and silently exited 0. The real __version__ constant lives in axonflow/_version.py which was never touched during release. Result: every published wheel had axonflow/_version.py frozen at whatever value was on main before the tag was pushed.

Fix landed in #153 (merged earlier today) — release.yml now seds _version.py and asserts-post-sed so silent no-ops fail loudly. v6.6.2 is the first release to benefit from that fix.

What v6.6.2 changes for users

Functional behavior: none. Same SDK as v6.6.1.

Observable: axonflow.__version__ now correctly returns "6.6.2". Affects:

  • Telemetry self-reporting (your adoption metrics show accurate numbers)
  • User code doing version-gated feature detection (if axonflow.__version__ >= "6.6.1") — was broken on v6.6.1, works on v6.6.2
  • Log output / bug reports that print SDK version

Impact assessment on other SDKs

Full audit done before this PR. The bug is Python-only — it was specific to the two-file _version.py + __init__.py setup where release.yml was targeting the wrong file:

SDK Latest Status
Python 6.6.1 → 6.6.2 (this PR) was broken, being fixed
Go v5.6.1 version.go = 5.6.1
TS 5.6.0 package.json + both dist/*/version.js all at 5.6.0 ✓
Java 5.7.0 pom.properties in JAR reads 5.7.0 (consumed at runtime via detectSdkVersion()) ✓

Release flow after merge

  1. Merge this PR
  2. Tag v6.6.2
  3. release.yml preflight validates CHANGELOG section matches tag
  4. Build + publish to PyPI via trusted publisher
  5. Verify: pip install axonflow==6.6.2 && python -c "import axonflow; print(axonflow.__version__)" returns "6.6.2"

Test plan

  • validate-version-alignment.sh passes locally
  • Release-workflow awk extracts [6.6.2] section cleanly
  • CI green on this PR
  • Post-publish: runtime __version__ matches tag

Patch release to fix the runtime __version__ drift in the shipped
v6.6.1 wheel. Installed wheels of v6.6.1 had axonflow.__version__
stuck at '6.6.0' because the release workflow's sed targeted
axonflow/__init__.py (which only re-exports from _version.py, so
the sed was a silent no-op) instead of axonflow/_version.py.

Package metadata (what pip show reads) was correct, so install/
upgrade worked fine. The drift only affected code reading
axonflow.__version__ at runtime — telemetry self-identification,
version-gated feature detection in user code, and log output.

No functional change from v6.6.1. The underlying bug in release.yml
was fixed in #153; v6.6.2 is the first release to benefit from it.

Both manifest files move together with the CHANGELOG rename so
the validate-version-alignment gate stays green through the
transition.
@saurabhjain1592 saurabhjain1592 merged commit 85734e1 into main Apr 24, 2026
13 checks passed
@saurabhjain1592 saurabhjain1592 deleted the chore/v6-6-2-release-prep branch April 24, 2026 23:06
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