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
You can manually check at https://github.com/spring-projects/spring-session/milestones
Update the version number in gradle.properties
for the release, for example 3.0.0-M1
, 3.0.0-RC1
, 3.0.4
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/
Tag the release and then push the tag
git tag 3.0.0-RC1 git push origin 3.0.0-RC1
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.
Download the GitHub release notes generator
-
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.
-
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).