Versioning & Tagging
Papra uses different versioning strategies depending on the type of package in the monorepo.
Monorepo Structure
Section titled “Monorepo Structure”Papra is organized as a monorepo containing multiple packages, each with its own release lifecycle:
- Library packages (e.g.,
@papra/api-sdk,@papra/cli,@papra/webhooks) follow SemVer (Semantic Versioning) - Application (
@papra/app) follows CalVer (Calendar Versioning)
Semantic Versioning (SemVer)
Section titled “Semantic Versioning (SemVer)”Library packages follow the standard SemVer format MAJOR.MINOR.PATCH:
- MAJOR: Incompatible API changes
- MINOR: Backward-compatible functionality additions
- PATCH: Backward-compatible bug fixes
Examples:
@papra/[email protected]@papra/[email protected]@papra/[email protected]
Calendar Versioning (CalVer)
Section titled “Calendar Versioning (CalVer)”Since v0.9.6, the app uses CalVer with the format YY.M.N:
- YY: Last 2 digits of the year
- M: Month number (1-12, not zero-padded, where 1 = January, 12 = December)
- N: Release number for that month (starting at 0)
Examples:
26.1.0: First release of January 202626.1.1: Second release of January 202626.5.11: 12th release of May 2026
Git Tags
Section titled “Git Tags”All packages in the monorepo are tagged and GitHub-released using the format package-name@version:
@papra/[email protected]@papra/[email protected]@papra/[email protected]@papra/[email protected]Docker Images
Section titled “Docker Images”Docker images follow the application package versioning and use the same version numbers. Images are automatically built and pushed to the container registry via CI/CD pipeline when a git tag is pushed.
Docker image tags:
# Specific versiondocker pull ghcr.io/papra-hq/papra:26.0.0docker pull corentinth/papra:26.0.0
# Latest versionsdocker pull ghcr.io/papra-hq/papra:latestdocker pull corentinth/papra:latestSee Self-hosting documentation for more details on using the Docker images.
The Docker image version always matches the @papra/app package version, ensuring consistency across distribution methods.