You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We're pleased to announce the release of Autobahn v25.10.2, now available on PyPI!
This release includes critical fixes for source distribution integrity and CPU architecture compatibility, plus comprehensive cryptographic verification throughout the CI/CD pipeline.
📦 Installation
pip install -U autobahn
Verify the release:
importautobahnprint(autobahn.__version__) # Should show: 25.10.2
🔧 Critical Fixes
1. Critical: Source Distribution Corruption (#1735, #1738)
Issue: Source distribution tarballs on PyPI were corrupted due GitHub Actions with cross-workflow artifacts behavior (#1735 (comment)) and CRLF line ending issues in Windows CI builds, causing installation failures with tools like uv.
Fix:
Implemented cryptographic chain-of-custody verification for all build artifacts
Added comprehensive integrity checks preventing corrupted packages from reaching PyPI
Added .gitattributes with * text=auto eol=lf to enforce LF line endings across all platforms
Impact: Users can now reliably install from source distribution without corruption errors.
# Now works correctly
pip install --no-binary autobahn autobahn==25.10.2
When users explicitly disable NVX acceleration via AUTOBAHN_USE_NVX=0, the message is now logged at info level instead of emitting a noisy RuntimeWarning.
Before:
RuntimeWarning: NVX native acceleration is available but explicitly disabled via AUTOBAHN_USE_NVX=0. Falling back to pure Python implementations.
After:
INFO: NVX native acceleration is available but explicitly disabled via AUTOBAHN_USE_NVX=0. Falling back to pure Python implementations.
Impact: Cleaner application logs when testing or benchmarking pure Python WebSocket performance.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
🎉 Autobahn v25.10.2 Released
We're pleased to announce the release of Autobahn v25.10.2, now available on PyPI!
This release includes critical fixes for source distribution integrity and CPU architecture compatibility, plus comprehensive cryptographic verification throughout the CI/CD pipeline.
📦 Installation
Verify the release:
🔧 Critical Fixes
1. Critical: Source Distribution Corruption (#1735, #1738)
Issue: Source distribution tarballs on PyPI were corrupted due GitHub Actions with cross-workflow artifacts behavior (#1735 (comment)) and CRLF line ending issues in Windows CI builds, causing installation failures with tools like
uv.Fix:
.gitattributeswith* text=auto eol=lfto enforce LF line endings across all platformsImpact: Users can now reliably install from source distribution without corruption errors.
# Now works correctly pip install --no-binary autobahn autobahn==25.10.2Related: #1735, #1738
2. Cryptographic Chain-of-Custody Verification
Feature: All build artifacts now use end-to-end cryptographic verification throughout the CI/CD pipeline to prevent corruption and ensure integrity.
How it works:
wheels-macos-arm64-{sha256})Technical implementation:
wamp-proto/wamp-cicd/actions/upload-artifact-verifiedExample verification output:
Impact: Guarantees bit-for-bit integrity from build to PyPI. The corruption issue (#1735) cannot happen again.
3. Critical: NVX Native Compilation CPU Architecture (#1717)
Issue: Pre-built wheels were compiled with
-march=native, causing SIGILL (Illegal Instruction) crashes on CPUs different from the build machine.Fix: All pre-built wheels now use safe portable baselines ensuring compatibility with 99%+ of systems:
x86-64 baseline:
-march=x86-64-v2ARM64 baseline:
-march=armv8-aBinary Wheels Available on PyPI:
PyPI now lists 16 binary wheels covering major platforms:
autobahn-25.10.2-cp311-cp311-manylinux*.whlautobahn-25.10.2-cp312-cp312-manylinux*.whlautobahn-25.10.2-cp313-cp313-manylinux*.whlautobahn-25.10.2-pp310-pypy310_pp73-manylinux*.whlautobahn-25.10.2-cp311-cp311-manylinux*_aarch64.whlautobahn-25.10.2-cp313-cp313-manylinux*_aarch64.whlautobahn-25.10.2-pp311-pypy311_pp73-manylinux*_aarch64.whl(2 variants)autobahn-25.10.2-cp311-cp311-linux_x86_64.whl(no NVX)autobahn-25.10.2-cp312-cp312-linux_x86_64.whl(no NVX)autobahn-25.10.2-cp311-cp311-macosx_11_0_arm64.whlautobahn-25.10.2-cp312-cp312-macosx_11_0_arm64.whlautobahn-25.10.2-cp313-cp313-macosx_11_0_arm64.whlautobahn-25.10.2-cp311-cp311-win_amd64.whlautobahn-25.10.2-cp312-cp312-win_amd64.whlautobahn-25.10.2.tar.gzNVX Performance: All wheels include NVX (Native Vector Extensions) for high-performance WebSocket operations using portable SIMD instructions.
Source Installations: When installing from source, NVX automatically optimizes for your specific CPU using
-march=nativefor maximum performance.# Install from source with native optimizations pip install --no-binary autobahn autobahn==25.10.2Impact: No more SIGILL crashes on incompatible CPUs. Pre-built wheels work reliably across diverse hardware.
Related: #1717
✨ Additional Improvements
Improved: NVX Runtime Logging (#1737)
When users explicitly disable NVX acceleration via
AUTOBAHN_USE_NVX=0, the message is now logged at info level instead of emitting a noisyRuntimeWarning.Before:
After:
Impact: Cleaner application logs when testing or benchmarking pure Python WebSocket performance.
Related: #1737
Automated Tag-Triggered Releases
CI/CD workflows now trigger automatically when version tags are pushed:
git tag -a v25.10.2 -m "Release v25.10.2" git push upstream v25.10.2This automatically:
📚 Documentation
🔍 Changelog
Critical Fixes:
autobahn==25.10.1#1738: Fixuvinstallation failures (same root cause as [ISSUE] 25.10.1 crc errors in .tar.gz #1735)Improvements:
RuntimeWarningtolog.info()Known Issues:
AUTOBAHN_USE_NVX=0)💬 Feedback
If you encounter any issues with this release:
🚀 What's Next
Upcoming improvements in future releases:
AUTOBAHN_SKIP_NVXenvironment variable for build-time NVX controlHappy WebSocketing! 🎈
Beta Was this translation helpful? Give feedback.
All reactions