Skip to main content
Parallax releases follow Semantic Versioning: MAJOR.MINOR.PATCH, tagged as vX.Y.Z. The major digit tracks the library surface, so it matters most to developers embedding the Go packages. For someone who only runs parallaxd, a major release mostly means “read the release notes carefully.”

Which release to run

Run the latest patch release of the current stable series. Every release carries a metadata tag alongside the version numbers: Check what a node is running with:
Development and release-candidate builds also print the git commit and its date, so any binary can be traced back to the exact source it was built from. Binary downloads and Docker tags are described in Installing the client.

Release branches

Each minor series gets a long-lived branch, X.Y.x (for example 2.0.x). The series is cut when X.Y.0 ships; patch releases are tagged from that branch, while main moves on to the next minor’s development cycle. Documentation is versioned the same way — one folder per minor series — so the docs for the release you are running stay available after newer ones land. Use the version picker to switch.

Importing Parallax as a Go library

The major version is part of the Go module path:
The /vN suffix is what lets a 3.x release land without breaking code still on 2.x — Go treats the two as distinct modules that can coexist in one build. The suffix was introduced in v2.1.0; earlier 2.0.x tags are not resolvable under the /v2 path. See the Go API page for the packages most applications need.

Consensus is not versioned by releases

The version number describes the software, never the rules. Parallax treats consensus the way Bitcoin does: the rules are meant to stay fixed. There is no scheduled fork cadence, and a new release is not an occasion to change how blocks are validated. Client releases ship bug fixes, features, and refactors on top of rules that are expected to outlive every version number in this scheme. Consequently:
  • A major version bump means the Go API moved, not that the chain changed. Upgrading from 2.x to 3.x does not imply a fork.
  • On the rare occasion a consensus change is warranted, it activates at a block height rather than at a release boundary, and the release carrying it is mandatory for every node regardless of which digit moved.
  • The wire protocols carry their own version numbers — prl/66 for chain sync and parallax-disc/1 for peer discovery — and bump independently of the release version.
Release notes state explicitly when an upgrade is mandatory rather than optional.