Skip to content

Latest commit

 

History

History
94 lines (61 loc) · 2.62 KB

RELEASE.adoc

File metadata and controls

94 lines (61 loc) · 2.62 KB

1. Update Dependencies

Dependencies are declared in gradle/libs.versions.toml. They are updated by Dependabot, make sure that there is no Dependabot PR open, the versions are correct and that the build passes.

Run all the checks:

$ ./gradlew check

2. Check All Issues are Closed

3. Update Release Version

Update the version number in gradle.properties for the release, for example 3.0.0-M1, 3.0.0-RC1, 3.0.4

4. Build Locally

Run the build using

$ ./gradlew check

5. Push the Release Commit

Push the commit and GitHub actions will build and deploy the artifacts. Wait for the artifact to appear in https://repo1.maven.org/maven2/org/springframework/session/spring-session-core/

6. Tag the release

Tag the release and then push the tag

git tag 3.0.0-RC1
git push origin 3.0.0-RC1

7. Update to Next Development Version

Update gradle.properties version to next SNAPSHOT version.

8. Update version on project pages

Update the versions on https://spring.io/projects for Spring Session Core, Spring Session Data Redis, Spring Session JDBC, Spring Session Hazelcast, and Spring Session MongoDB.

9. Update Release Notes on GitHub

  • Generate the release notes

java -jar github-changelog-generator.jar \
    --changelog.repository=spring-projects/spring-session \
    $MILESTONE release-notes

Note 1: $MILESTONE is something like 3.0.4 or 3.0.0-M1.
Note 2: This will create a file on your filesystem called release-notes.

  • Copy the release notes to your clipboard (your mileage may vary with the following command)

cat release-notes | xclip -selection clipboard
  • Create the release on GitHub, associate it with the tag, and paste the generated notes.

10. Close / Create Milestone

  • In GitHub Milestones, create a new milestone for the next release version.

  • Move any open issues from the existing milestone you just released to the new milestone.

  • Close the milestone for the release.

Note: Spring Session typically releases only one milestone (M1) and one release candidate (RC1).

11. Announce the release

  • Announce via Slack on #spring-release, including the keyword spring-session-announcing in the message. Something like:

spring-session-announcing 3.2.0 is available.