-
Notifications
You must be signed in to change notification settings - Fork 186
Spring Vault 3.0 Release Notes
Since this is a major release of Spring Vault, upgrading existing applications can be a little more involved than usual. We’ve put together a dedicated migration guide to help you upgrade your existing Spring Vault 2.x applications.
Spring Vault 3.0 requires Java 17 as a minimum version. If you are currently using Java 8 or Java 11, you’ll need to upgrade your JDK before you can develop Spring Vault 3.0 applications.
Spring Vault 3.0 builds on and requires Spring Framework 6. You might like to read about the new features available in Spring Framework 6.0.
Other Spring projects upgraded in this release include:
-
Spring Data 2022.0.0
-
Spring Security 6.0.0
Numerous third-party dependencies have also been updated, some of the more noteworthy of which are the following:
-
Reactor 2022.0.0
-
Apache HTTP Client 5.1
-
AWS SDK 2.18.24
-
Jackson 2.14.1
-
Jetty Reactive Client 3.0.7
-
Netty 4.1.85
-
Kotlin 1.7.21
-
Google Cloud IAMcredential 2.6.0
-
Google OAuth2 Auth Library 1.13.0
A new parser for certificate data is now available to parse DER- and PEM-encoded certificates and keys. The encoding is detected from the certificate data. Elliptic Curve keys are now supported in addition to RSA keys and certificates without additional dependencies by using our own ASN.1 parser. Keys may be represented with their ASN.1 syntax or provided as PKCS#8 container (without encryption).
With the upgrade to Spring Framework, we upgraded the Apache HTTP Client support to version 5. With that, we also support the reactive usage of the asynchronous Apache HTTP 5 Client.
We also support the reactive JDK HTTP client for out-of-the-box support without the need of having the Jetty or Reactor Netty-based client on the class path. The reactive JDK HTTP client allows for SSL configuration so existing SSL configuration through Spring Vault’s SslConfiguration
is being applied.
Vault repositories can now store and retrieve their secrets within versioned Key/Value secrets engines (k/v version 2). The engine version is determined during runtime and the setup does not require any configuration.
Using versioned secrets allows participating in optimistic locking when defining a @Version
property in the domain model.
See the updated reference documentation for details.
Vault repositories can now store and retrieve their secrets within versioned Key/Value secrets engines (k/v version 2). The engine version is determined during runtime and the setup does not require any configuration.
See the updated reference documentation for details.
Apart from the changes listed above, there have also been lots of minor tweaks and improvements including:
-
Version bump of the Azure Instance Metadata API from
2017-08-01
to2017-12-01
-
Upgrade to newer Google Cloud IAMcredential versions. The default artifact now uses GSON for JSON serialization. You can add the Google Jackson adapter to continue using Jackson.
-
Enabled
AzureMsiAuthentication
for reactive usage viaAuthenticationSteps
-
Username-and-password authentication for
userpass
andldap
backends -
Exposure of the CA chain through
CertificateBundle
-
Internal locks using
synchronized
have been migrated toReentrantLock
improving the experience on Project Loom runtime arrangements to avoid kernel thread pinning -
Our documentation aligns now with the general Spring documentation style