Release Notes for Spring Boot 2.1
For use with Spring Boot 2.1.15
Abstract
Preface
Date of release: 2020-07-27
End of Support for Spring Boot 2.1
Red Hat support for Spring Boot 2.1 ends on October 31, 2020.
Red Hat will no longer support the use of Spring Boot 2.1 versions in production environments starting on October 31, 2020. See the product life cycle page for details.
After October 31, 2020, new releases, support for existing releases, CVE fixes, and bug fixes for Spring Boot 2.1 will no longer be available. If your organization is using this version, upgrade your applications to a version of Spring Boot that is supported to avoid disruption and loss of support.
Chapter 1. Required Infrastructure Component Versions
Red Hat does not provide support for components listed below, with the exception of components explicitly designated as supported.
Component name | Version |
---|---|
Maven | 3.6.0 |
Fabric8 Maven Plugin | 4.4.1 |
OpenJDK 8, OpenJDK 11[c] | |
Red Hat Enterprise Linux 7[d] | 7.8 |
Red Hat Enterprise Linux 8[e] | 8.2 |
OpenShift Container Platform (OCP)[f] | 3.11 |
Minishift | 1.34.2 or later |
CDK[g] | 3.13.0 |
git | 2.0 or later |
oc command line tool | 3.11 or later[h] |
[a]
A full JDK installation is required, as JRE does not provide tools for compiling Java applications from source.
[b]
Red Hat OpenJDK is supported by Red Hat
[c]
OpenJDK 9 is not supported by Red Hat.
[d]
For deploying RHOAR-based applications on stand-alone RHEL in a production environment.
[e]
For deploying RHOAR-based applications on stand-alone RHEL in a production environment.
[f]
OCP is supported by Red Hat
[g]
CDK is supported by Red Hat
[h]
The version of the oc CLI tool should correspond to the version of OCP that you are using.
|
Chapter 2. Supported Spring Boot Runtime Component Configurations and Integrations
The following resource defines the supported configurations and integrations of Red Hat products with Spring Boot:
- For a list of technologies that are supported for integration with Spring Boot in production environments see the Supported Spring Boot configurations and integrations.
- For a list of Spring Boot 2.1.x runtime artifacts and their versions see the Spring Boot 2.1.15 component details page.
Chapter 3. Features
3.1. New and Changed features
No supported features or functionalities are introduced or upgraded in this release.
3.2. Deprecated features
No features or functionalities are marked as deprecated in this release.
3.3. Technology Preview
- Dekorate 1.0.0
- Dekorate is a collection of compile-time annotation parsers and configuration resource generators for OpenShift and Kubernetes that integrate with Spring Boot. With Dekorate you can automatically configure your application for deployment to an OpenShift cluster without the need to manually write application manifests. When you build your application, Dekorate extracts the configuration parameters from the source code of your Spring Boot application. It then generates a YAML, JSON, or XML-formatted application manifest and populates it with the extracted parameters. Dekorate works independently of the language and build tools you use, and integrates with multiple cloud-native application frameworks, including Spring Boot. Dekorate is distributed as a separate BOM that is include with Spring Boot 2.1.15. Red Hat provides Dekorate as a Technology Preview.
Chapter 4. Release components
For a complete list of release components included in this release, and for information about the current support status of these components, see the Spring Boot 2.1.15 component details page.
Chapter 5. Fixed issues
This Spring Boot release incorporates all bugfixes form the upstream release. Issues resolved in the community release are listed in the Spring Boot 2.1.15 Release Notes.
Chapter 6. Known Spring Boot Issues
6.1. Connection between a RHEL 8-based database application and a RHEL 7-based MySQL 5.7 database fails due to TLS protocol version mismatch
Description
Attempting to open a TLS-secured connection using OpenSSL between an application container built on a RHEL 8-based OpenJDK builder image and a database container built on a RHEL 7-based MySQL 5.7 container image results in a connection failure due to a javax.net.ssl.SSLHandshakeException
at runtime: For more detail, view the issue in JIRA.
... Caused by: javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate) ...
Cause
The issue occurs due to a difference in the latest supported TLS protocol version between RHEL 7 and RHEL 8. The TLS implementation on RHEL 7 supports TLS protocol versions 1.0 (deprecated), 1.1, and 1.2. The TLS implementation on RHEL 8 also supports TLS protocol version 1.3, which is also the default TLS version used in RHEL 8-based builder images. This discrepancy may cause a TLS protocol version mismatch between application components while negotiating a TLS handshake, which in turn causes the connection between the application and database containers to fail.
Workaround
To prevent the issue described above, manually specify a TLS protocol version that is supported on both operating system versions in your database connection string. For example:
jdbc:mysql://testdb-mysql:3306/testdb?enabledTLSProtocols=TLSv1.2
Chapter 7. Advisories related to this release
The following advisories have been issued to document enhancements, bugfixes, and CVE fixes included in this release.