Skip to content

Latest commit

 

History

History
110 lines (72 loc) · 3.07 KB

RELEASE.adoc

File metadata and controls

110 lines (72 loc) · 3.07 KB

1. Update Dependencies

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.

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. Update Antora Version

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'

5. Build Locally

Run the build using

$ ./gradlew check

6. 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/

7. Tag the release

Tag the release and then push the tag

git tag 3.0.0-RC1
git push origin 3.0.0-RC1

8. Update to Next Development Version

Update gradle.properties version to next SNAPSHOT version, update antora.yml and then push

9. 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.

10. 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.

11. 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).

12. Announce the release

  • 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.