Release Notes for Spring Boot 2.1

Red Hat support for Spring Boot 2.1

For use with Spring Boot 2.1.15

Red Hat Customer Content Services

Abstract

This Release Note contains important information related to Spring Boot 2.1.15

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 nameVersion

Maven

3.6.0

Fabric8 Maven Plugin

4.4.1

JDK[a][b]

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:

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

  • SB-379: Missing APR/native library in the openshift-openjdk image
  • SB-1165: Database application fails to run because org.apache.tomcat.jdbc.pool.DataSource can not be found

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

Legal Notice

Copyright © 2020 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.