Skip to main content
Track the evolution of the WAX SDK across versions.

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, main branches OR tag checkout
  • Unstable: Feature branches OR detached HEAD with distance > 0
  • CI: Uses CI_COMMIT_REF_NAME environment variable for branch detection

Version ordering

Newest last:
Feature branch versions are always lower than the tag, providing double protection:
  1. Pre-release filtering (default)
  2. Numerically lower version

Release process

Python releases

  1. Tag the commit with version:
  2. 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)
  3. Version is automatically determined by poetry-dynamic-versioning

TypeScript releases

  1. Update version in package.json:
  2. Commit and tag:
  3. 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: Example versions:
  • 0.0.3a2.dev131+bb99c4e: Development version from develop branch
  • 1.0.0rc1: Release candidate 1 for version 1.0.0
  • 1.0.0: Production release

TypeScript releases

Packages are published to:

Current versions

To check current versions:

Breaking changes

Major version bumps indicate breaking changes. Review the following before upgrading:
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.
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 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:
  1. Announcement: Deprecation is announced in the changelog
  2. Warning period: Feature remains available with deprecation warnings (minimum 1 major version)
  3. Removal: Feature is removed in the next major version
Example:
  • 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 from pyproject.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+ or 21.2+
  • TypeScript: Check package.json for current version
  • Emscripten: For WASM compilation

Submodule dependencies

  • hive: Hive blockchain source (git submodule)
    • Current ref: fc62add05d43865434390f9ee713d11364f70b8a
  • npm-common-config: CI configuration (git submodule)
    • Current ref: de95661b1be71e968f623945609dc384aefecfe2
When updating submodules, ensure the GitLab CI include refs match the submodule commits. This is verified by the verify_include_refs CI job.

Migration guides

When upgrading from a development version to a stable release:
Review the changelog for breaking changes between versions.
WAX provides wheels for multiple Python versions. To switch:
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