Dependencies are declared in gradle/dependency-management.gradle
.
Update Spring Framework, Spring Security and Spring Data at a minimum.
Run all the checks:
$ ./gradlew check
Create separate issues for each dependency update, aside from test dependencies which can be combined into a single commit.
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
You will need to update the antora.yml version.
For milestone / release candidate releases you should follow this format:
version: '3.0.0-RC1' prerelease: 'true' display_version: '3.0.0-RC1'
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 gradle.properties
version to next SNAPSHOT
version, update antora.yml and then push
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).
-
Announce via Slack on #spring-session, and tag any downstream Spring Session projects (e.g Spring Session for Apache Geode).
Note: Do not post on #spring-release or create a blog post. Those steps happen after the Spring Session BOM is released.