Expected behavior

As a spring boot user * when receiving automated notifications of a new springboot release (in particular from dependabot) * I need to access the spring boot release announcement blog entry (which provides high value content complementary to release notes)

Observed behavior

Dependabot PRs, such as https://github.com/orange-cloudfoundry/osb-cmdb/pull/78 (reproduced below for convenience) include the content of springboot releases, e.g v2.4.0 and inline the release markdown. However, the release markdown, but misses the URL to the blog announcement (e.g. https://spring.io/blog/2020/11/12/spring-boot-2-4-0-available-now for this release)


Bumps spring-boot-gradle-plugin from 2.2.6.RELEASE to 2.4.0.

Release notes

Sourced from spring-boot-gradle-plugin's releases.

v2.4.0

:star: New Features

  • Provide a property or environment variable to enable DevTools' restarter irrespective of how the application was launched #21424

:beetle: Bug Fixes

  • Using last modified for static resources in reproducible archives and images causes unwanted browser caching #24099
  • BootJar's afterResolve action causes resolution failures with the Versions plugin due to configurations being copied and made resolvable #24072
  • Configuration metadata annotation processor may use the wrong accessor for boolean properties #24059
  • When using Tomcat, key and trust store passwords set via javax.net.ssl system properties are overwritten with null when Spring Boot's equivalent properties have not been set #24053
  • Config files no longer loaded if they contain a hidden path element #24043
  • @DataJpaTest using H2 with schema.sql and spring.datasource.schema-username fails #24024
  • "java.lang.IllegalStateException: zip file closed" when call JarFileWrapper.stream() of spring-boot-loader #24017
  • JdbcStoreTypeConfiguration picks transaction of primary data source when Quartz data source is not the primary data source #24015
  • TestTypeExcludeFilter does not implement hashCode and equals as required by its super-class #24013
  • Our auto-configuration should not use @PostConstruct as it's ignored on Java 11+ without a dependency on jakarta-annotation-api #24010
  • @MockBean fields are not reset for JUnit 5 @Nested tests using @WebMvcTest #23984
  • ClasspathLoggingApplicationListener logs the classpath as unknown on Java 11 and later #23138

:notebook_with_decorative_cover: Documentation

  • Fix link to Flyway callback docs #24122
  • Fix deprecation warnings in javadoc comments #24120
  • Provide more details about overriding SpringPhysicalNamingStrategy's case insensitive flag #24062
  • Clarify documentation regarding relaxed binding of environment variables #24033
  • Enhance spring.datasource.initialization-mode property description #24030
  • Recommend disabling context path redirects when using proxy-terminated SSL with Tomcat #24026
  • Improve Spring Session back off documentation #24019
  • Clarify the javadoc of AutoConfigureTestDatabase to make it clearer that it only replaces the main DataSource #24007
  • Recommend that bean definitions provide as much type information as possible #24005
  • logging.file.* properties flagged with error level while they are still honoured #23995
  • Add missing default value for enum-based configuration properties #23992
  • Configuration property replacement metadata for spring.resources.cache.cachecontrol.stale-while-revalidate is invalid #23980

:hammer: Dependency Upgrades

  • Upgrade to AppEngine SDK 1.9.83 #24082
  • Upgrade to AssertJ 3.18.1 #24126
  • Upgrade to Byte Buddy 1.10.18 #24083
  • Upgrade to Couchbase Client 3.0.10 #24084
  • Upgrade to Hibernate 5.4.23.Final #24085
  • Upgrade to Infinispan 11.0.5.Final #24127
  • Upgrade to Jetty 9.4.34.v20201102 #24047
  • Upgrade to jOOQ 3.14.3 #24128
  • Upgrade to Kotlin Coroutines 1.4.1 #24087
  • Upgrade to Micrometer 1.6.1 #24051
  • Upgrade to Netty 4.1.54.Final #24129
  • Upgrade to Nimbus JOSE JWT 9.1.2 #24088
  • Upgrade to Pooled JMS 1.2.1 #24089

... (truncated)

Commits
  • 72122c2 Release v2.4.0
  • 6df1084 Allow Devtools to be enabled irrespective of the launching ClassLoader
  • 30bc0ad Merge branch '2.3.x'
  • 5a5f5bc Next development version (v2.3.7.BUILD-SNAPSHOT)
  • bce2029 Merge branch '2.3.x'
  • 189046b Revert "Reduce scope of META-INF customizations to main, source, and javadoc ...
  • 5b311d8 Upgrade to Netty 4.1.54.Final
  • 62e5f2e Upgrade to jOOQ 3.14.3
  • 56ce2af Upgrade to Infinispan 11.0.5.Final
  • 20edba5 Upgrade to AssertJ 3.18.1
  • Additional commits viewable in compare view



Comment From: snicoll

There's a bit of a chicken and egg problem here as we want this to be automated. What I think you're really after is the release notes on the wiki, and that's already covered by https://github.com/spring-io/github-changelog-generator/issues/46.

Comment From: gberche-orange

thanks @snicoll for your prompt response.

I however see that the announcement blog seems to have high level overview, whereas the releaase notes wiki seem more detailed reference.

https://spring.io/blog/2020/11/12/spring-boot-2-4-0-available-now https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.4-Release-Notes

Having both Url in the github release note would be ideal to me.

There's a bit of a chicken and egg problem here as we want this to be automated.

I understand the github release markdown is mutable, so it could be [automatically?] edited to include the blog url once this has been generated. An alternative would be that the blob url gets a deterministic url that can be included in the github release markdown notes beforehand (this url would return a 404 until the announcement blog is published)

Comment From: snicoll

I understand that's what you'd like but we're investigating adding a reference to the release notes and we have no plan to link to the blog post at this time. While I agree that the blog post provides a high-level overview, the release notes seem more appropriate in the context of your particular need as they give more precise instructions related to the upgrade.

Thanks for the suggestion, in any case.