Use this checklist before creating a release tag (vX.Y.Z).
- Update
gradle.propertiesversionto the release version (remove-SNAPSHOT). - Prepare GitHub release notes draft that reflects all user-visible changes.
- Confirm README examples and configuration docs match the current code.
- Run full verification:
./gradlew clean check./gradlew test integrationTest e2eTest
- Run API compatibility check against latest released version:
./gradlew apiCompat -PapiBaselineVersion=<latest released version>
- Run benchmark smoke:
./gradlew :jsonrpc-core:jmhQuick
- Run consumer smoke verification:
./scripts/verify-consumer-smoke.sh
- Confirm Sonatype Central Portal user token credentials are available:
OSSRH_USERNAME,OSSRH_PASSWORD- These env var names are kept for workflow compatibility, but values must be Central Portal user token username/password.
- Confirm signing credentials are available:
SIGNING_KEY,SIGNING_PASSWORD
- Validate generated artifacts:
- jars, sources jar, javadoc jar, signatures, pom metadata
- Commit release changes.
- Create annotated git tag:
git tag -a vX.Y.Z -m "Release vX.Y.Z"
- Push branch and tag:
git pushgit push origin vX.Y.Z
- Verify GitHub Actions
Publishworkflow completed successfully.
- Bump
gradle.propertiesversion to next snapshot (for exampleX.Y.(Z+1)-SNAPSHOT). - Publish GitHub release notes.
- Smoke test the sample project with the published version.
- Verify Central Portal deployment visibility:
Publishworkflow should call themanual/upload/defaultRepository/<namespace>finalize API.Publishworkflow should poll deployment status and complete only when state reachesPUBLISHED.- Confirm
central.sonatype.com/publishing/deploymentsshows the component and reachesPublished.