Overview
The Trezor Suite monorepo contains multiple projects with different versioning schemes and release schedules:- Connect: Public packages following SemVer
- Suite App: Calendar versioning (CalVer)
- Private Packages: Fixed at version 1.0.0
Versioning
Private Packages
Packages withprivate: true in their package.json that are not published to NPM:
Private packages are consumed by other packages in the monorepo via Yarn’s workspace resolution or distributed as bundled applications.
@trezor/suite-data@trezor/suite@trezor/suite-desktop
1.0.0 (not incremented)
Public Packages
Packages published to NPM and consumed by third parties: Versioning Scheme: Semantic Versioning (SemVer) Format:MAJOR.MINOR.PATCH
- MAJOR: Breaking changes
- MINOR: New features (backward compatible)
- PATCH: Bug fixes (backward compatible)
@trezor/connect: 10.0.0-alpha.1@trezor/connect-web: 10.0.0-alpha.1blockchain-link: SemVer on irregular schedule
Suite App
The Suite application itself uses calendar versioning: Versioning Scheme: Calendar Versioning (CalVer) Format:YY.MM.PATCH
- YY: Current year (e.g., 20 for 2020)
- MINOR: Current month (01-12)
- PATCH: Release number in that month (starts at 1)
20.10.1: First release in October 202020.10.3: Third release in October 202019.12.1: First release in December 2019
Beta Versions
Beta Versions
Beta versions use a similar format with special rules:Format: Note: Beta testers should report the commit hash, as the version number doesn’t distinguish between beta deployments.
YY.MM.0- PATCH is always 0 for beta
- MM is incremented (+1) compared to stable
Development Versions
Development Versions
Development versions follow the beta scheme:Format:
YY.MM.0developbranch always hasYY.MM.0for upcoming month- When forking to
release/20YY-MM, bump toYY.MM.1 - Increment
developtoYY.(MM+1).0for next release
suiteVersion field of suite package.json
Purpose: Communicate evolution of Suite app between product, marketing, support teams and users
Environments
Staging
URL: staging-suite.trezor.io Access: SatoshiLabs internal IP range only (office + VPN) Purpose:- Pre-release testing
- QA validation
- Should be 1:1 with production
Production
URL: suite.trezor.io Access: Public| Route | Source | AssetPrefix |
|---|---|---|
| /web | @trezor/suite-web | /web |
- Stable releases only
- After successful staging testing
- Monitored deployment process
Connect Deployment
URL: connect.trezor.io Versions:- Canary: Latest development builds
- Stable: Versioned releases
- Persistent link: connect.trezor.io/10 for latest v10
Release Process
Suite Release Workflow
Deploy to Staging
Deploy release branch to staging environment:
- QA team tests on staging-suite.trezor.io
- Bug fixes committed to release branch
- Critical fixes cherry-picked to develop
Desktop App Releases
Desktop Update Process
Desktop Update Process
Desktop applications require additional steps:Platform Builds:
- Windows: .exe installer
- macOS: .dmg installer
- Linux: .AppImage
- Windows: Sign binaries (see signing-binaries-win.md)
- macOS: Apple Developer signing
- Linux: GPG signatures
- Built-in update mechanism
- Download and verify updates
- User-initiated installation
Firmware Bundling
Firmware Bundling
New firmware versions must be bundled:Process:
- Firmware released in trezor-firmware repo
- Update firmware submodule in Suite
- Bundle firmware binaries
- Test with Suite
- Release Suite update
Connect Release Workflow
Deploy Explorer
Deploy to Connect Explorer:
- Build Explorer app
- Deploy to connect.trezor.io
- Update version links
Release Checklist
- Suite Release
- Connect Release
- Desktop Release
- All features merged to develop
- Create release branch
- Bump version (CalVer format)
- Deploy to staging
- QA testing completed
- All critical bugs fixed
- Deploy to production
- Create git tag
- Update documentation
- Merge back to main/develop
- Bump develop to next version
Version Support
Current Support Policy:
- Latest major version: Full support
- Previous major version: Security fixes only
- Older versions: No support
Connect Support
- Connect 10.x: Active development (current)
- Connect 9.x: Maintenance mode (security fixes)
- Connect 8.x and older: Not supported
Suite Support
- Latest release: Full support
- Previous 2 releases: Bug fixes
- Older releases: Upgrade recommended
Additional Resources
Changelog
See detailed version history
Migration Guide
Upgrade between versions
GitHub Releases
View all releases
NPM Packages
Published packages
For internal release process details, see: