Skip to content

ADR: Adopt CalVer (YY.MINOR.PATCH) versioning format#1

Merged
vpetersson merged 5 commits intomasterfrom
adr/versioning-format
Mar 26, 2026
Merged

ADR: Adopt CalVer (YY.MINOR.PATCH) versioning format#1
vpetersson merged 5 commits intomasterfrom
adr/versioning-format

Conversation

@vpetersson
Copy link
Copy Markdown
Contributor

Summary

  • Proposes replacing SemVer with CalVer (YY.MINOR.PATCH) across all sbomify projects
  • Steelmans six versioning schemes (SemVer, YY.MM.MICRO, YYYY.MINOR.PATCH, YY.MINOR.PATCH, 0ver, build/hash-based) before recommending YY.MINOR.PATCH
  • Cites references: semver.org, calver.org, pip's CalVer adoption, PEP 440, Mahmoud Hashemi's essay

Test plan

  • Review ADR content for accuracy of versioning scheme descriptions
  • Verify references/links are valid
  • Confirm the recommendation aligns with sbomify's release practices
  • Circulate for team feedback before moving status from Proposed to Accepted

🤖 Generated with Claude Code

vpetersson and others added 2 commits March 23, 2026 19:37
Propose adopting CalVer with YY.MINOR.PATCH across all sbomify projects,
replacing SemVer. The ADR steelmans six versioning schemes and recommends
YY.MINOR.PATCH for its freshness signal, release cadence flexibility, and
seamless migration from SemVer.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new Architecture Decision Record (ADR) proposing a shift from SemVer to CalVer (YY.MINOR.PATCH) across sbomify projects, and documents repository guidance for managing ADRs with adr-tools.

Changes:

  • Add CLAUDE.md with guidance for working in this ADR repository and using adr-tools.
  • Add ADR 0002 proposing adoption of CalVer (YY.MINOR.PATCH) and explaining rationale/trade-offs.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

File Description
CLAUDE.md Documents ADR repo purpose, format, and adr-tools workflow conventions.
0002-adopt-calver-versioning.md New ADR proposing CalVer (YY.MINOR.PATCH) and outlining impacts and consequences.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

vpetersson and others added 2 commits March 23, 2026 19:51
- Nuance migration claims: distinguish syntax compatibility from constraint
  semantics, note that ^/caret ranges cap at next major (next calendar year)
- Clarify pre-release suffixes are ecosystem-specific (SemVer-style vs PEP 440)
- Reword "seamless migration" to scope it to internal tooling and flag that
  downstream consumers will need to revisit version constraints

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add markdownlint configuration, pre-commit hook, and CI workflow
to enforce consistent markdown style across all ADR files.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +9 to +14
- repo: local
hooks:
- id: markdownlint
name: markdownlint
entry: bun x markdownlint-cli --fix
language: system
Copy link

Copilot AI Mar 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This pre-commit hook relies on bun being installed on the developer machine (language: system + bun x ...). Without bun, pre-commit run will fail. If bun is not a guaranteed prerequisite for contributors, consider switching to a non-system hook (e.g., a Node-based markdownlint hook with managed dependencies) or documenting bun as a required tool for this repo.

Suggested change
- repo: local
hooks:
- id: markdownlint
name: markdownlint
entry: bun x markdownlint-cli --fix
language: system
- repo: https://github.com/igorshubovych/markdownlint-cli
rev: v0.41.0
hooks:
- id: markdownlint
args: [--fix]

Copilot uses AI. Check for mistakes.
@vpetersson vpetersson merged commit 924f24e into master Mar 26, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants