Versioning scheme
WAX uses PEP 440 compliant versioning for Python packages and Semantic Versioning for TypeScript packages.Python versioning
Version format:MAJOR.MINOR.PATCH[{rc|a|b}N][.{post|dev}TIMESTAMP][+LOCAL]
Examples (assuming last tag is 1.2.3rc1):
- Tag (distance=0, clean):
1.2.3rc1 - Tag (distance=0, dirty):
1.2.3rc1+dirty - Develop (distance>0):
1.2.3rc1.post20260129082556 - Develop (dirty):
1.2.3rc1.post20260129082556+dirty - Feature branch (distance>0):
1.2.3rc1.dev20260129082556+unstable - Feature branch (dirty):
1.2.3rc1.dev20260129082556+unstable.dirty
TypeScript versioning
Version format:MAJOR.MINOR.PATCH[-{alpha|beta|rc}.N]
Examples:
- Release:
1.2.3 - Release candidate:
1.2.3-rc.1 - Beta:
1.2.3-beta.1 - Alpha:
1.2.3-alpha.1
Stability detection
- Stable:
develop,master,mainbranches OR tag checkout - Unstable: Feature branches OR detached HEAD with distance > 0
- CI: Uses
CI_COMMIT_REF_NAMEenvironment variable for branch detection
Version ordering
Newest last:Feature branch versions are always lower than the tag, providing double protection:
- Pre-release filtering (default)
- Numerically lower version
Release process
Python releases
-
Tag the commit with version:
-
CI pipeline automatically:
- Builds wheels for Python 3.12 and 3.14
- Runs full test suite
- Deploys to GitLab package registry
- Deploys to PyPI (for production tags)
-
Version is automatically determined by
poetry-dynamic-versioning
TypeScript releases
-
Update version in
package.json: -
Commit and tag:
-
CI pipeline automatically:
- Builds WASM package
- Runs full test suite
- Deploys to GitLab npm registry
- Deploys to npmjs.org (for production tags)
Version history
For the complete version history, see the GitLab releases page or check the git tags.
Python releases
Packages are published to:- Development: GitLab Package Registry
- Production: PyPI
0.0.3a2.dev131+bb99c4e: Development version from develop branch1.0.0rc1: Release candidate 1 for version 1.0.01.0.0: Production release
TypeScript releases
Packages are published to:- Development: GitLab npm Registry
- Production: npmjs.org
Current versions
To check current versions:Breaking changes
Major version bumps indicate breaking changes. Review the following before upgrading:Python 3.12+ requirement
Python 3.12+ requirement
WAX now requires Python 3.12 or higher. Python 3.14 is also supported.Migration: Upgrade your Python version to 3.12 or 3.14.
hiveio-api dependency pinning
hiveio-api dependency pinning
WAX now pins the
hiveio-api package to a specific version that matches the hived submodule.Current pinned version: 1.28.6rc8.post20260227150305Migration: No action required - the correct version is automatically installed.Protocol buffer updates
Protocol buffer updates
Protocol buffer definitions are updated from the hive submodule. Generated code may change.Migration: Regenerate your protocol buffer bindings if you’re using custom protos.
Deprecation policy
Features are deprecated with the following process:- Announcement: Deprecation is announced in the changelog
- Warning period: Feature remains available with deprecation warnings (minimum 1 major version)
- Removal: Feature is removed in the next major version
- v1.0.0: Feature X is marked as deprecated
- v1.1.0 - v1.9.0: Feature X continues to work with warnings
- v2.0.0: Feature X is removed
Dependencies
Python dependencies
Key dependencies frompyproject.toml:
- Python:
>=3.12,<4 - protobuf:
^6.33.0 - httpx:
^0.28.0(with http2 extras) - loguru:
^0.7.2 - hiveio-api:
==1.28.6rc8.post20260227150305(pinned)
TypeScript dependencies
Key dependencies for TypeScript:- Node.js:
20.11+or21.2+ - TypeScript: Check
package.jsonfor current version - Emscripten: For WASM compilation
Submodule dependencies
- hive: Hive blockchain source (git submodule)
- Current ref:
fc62add05d43865434390f9ee713d11364f70b8a
- Current ref:
- npm-common-config: CI configuration (git submodule)
- Current ref:
de95661b1be71e968f623945609dc384aefecfe2
- Current ref:
Migration guides
Upgrading from development to stable
Upgrading from development to stable
When upgrading from a development version to a stable release:Review the changelog for breaking changes between versions.
Switching between Python versions
Switching between Python versions
WAX provides wheels for multiple Python versions. To switch:
Updating from GitLab registry
Updating from GitLab registry
To use development versions from GitLab:
Release notifications
Stay updated with new releases:GitLab releases
View all releases with detailed notes
npm registry
TypeScript package releases
PyPI
Python package releases
GitLab activity
Follow project activity
Next steps
Installation
Install the latest version
Contributing
Contribute to the next release