Repository navigation
build: adopt Semantic Versioning, start 4.0.0-SNAPSHOT - #951
Merged
Merged
Conversation
- Bump pom.xml from 3.1.0-SNAPSHOT to 4.0.0-SNAPSHOT. The Jakarta migration (#861) is a breaking change, so the next release is 4.0.0. - release.yml also runs on plain X.Y.Z tag pushes and fails if the tag doesn't match the pom.xml version. Release tags publish Docker images X.Y.Z, X.Y, X and latest; branch pushes still publish dev/master. - Document the versioning scheme and release steps in docs/releasing.md, CONTRIBUTING.md and AGENTS.md. Refs #949 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
🔵 Needs a closer look
Existing workflow failures tracked in #950 prevent end-to-end validation of the new tag-triggered publishing path, so human review is needed.
No open issues 🎉
What changed in this PR
Adopts Semantic Versioning for Security Shepherd and starts 4.0.0-SNAPSHOT, reflecting the breaking Jakarta migration planned for the next major release.
Changes:
- Updates the Maven project version to
4.0.0-SNAPSHOT. - Adds release-tag triggers, tag-to-POM version validation, and versioned Docker image tags.
- Documents versioning rules and the release process.
| File | Description |
|---|---|
pom.xml |
Sets the development version to 4.0.0-SNAPSHOT. |
docs/releasing.md |
Documents version formats, tag restrictions, and release steps. |
CONTRIBUTING.md |
Summarizes versioning policy and links to release instructions. |
AGENTS.md |
Adds versioning and release guidance for coding agents. |
.github/workflows/release.yml |
Adds release-tag handling, version validation, and Docker tag generation. |
Review effort: Balanced
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #949
Changes
pom.xml:3.1.0-SNAPSHOT→4.0.0-SNAPSHOT. 3.1 shipped in 2018. The Jakarta migration (Migrate from javax.* (Java EE) to jakarta.* (Jakarta EE 9+) to enable Spring 6 / modern stack #861) needs Tomcat 10.1+ and changes the SAML configuration, so it's a major version bump.release.yml:X.Y.Ztag pushes ([0-9]+.[0-9]+.[0-9]+).pom.xmlversion (checked withmaven-help-plugin:3.5.1:evaluate).:dev/:master. A release tag such as4.1.0publishes:4.1.0,:4.1,:4and:latest.docs/releasing.mdcovering the version format, the tag rules and the release steps.CONTRIBUTING.mdlinks to it, andAGENTS.mdhas a short versioning section.Already in place (repo settings, not part of this diff)
Tag rulesets:
tags: semver format: new tags must match^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$tags: restrict creation: only admins can create tagstags: block deletion & moves: tags can't be deleted or movedThe legacy tags
2.3,2.4,v3.0andv3.1are left as they are.Known limitation
The release workflow itself is currently broken (#950). This PR doesn't fix that, so tag-triggered releases won't publish until #950 is resolved.
Testing
actionlintpasses onrelease.yml.4.0.0against pom4.0.0-SNAPSHOTfails with the error annotation, and tag4.0.0against pom4.0.0passes.mvn test -B: 169 tests, 0 failures, 2 skipped.4.0.0,4.0.1and4.1.0, and rejectsv4.0.0,4.0,04.0.0,4.0.0-rc.1and4.0.0+build.1.🤖 Generated with Claude Code