Spring Cloud 2023.0.4 (aka Leyton) Has Been Released
On behalf of the Spring Cloud team, I am pleased to announce that the Spring Cloud 2023.0.4 - Leyton Release Train is available today. The release can be found in https://repo.maven.apache.org/maven2/org/springframework/cloud/
This release of Spring Cloud is based on Spring Boot 3.2.12 and 3.3.6.
The GitHub project for this release can be found here.
- Create truststore without keystore (#1394)
- Updated to use
HttpHeaders#headerSet
where appropriate. This change requires Spring Framework 6.1.15+, which is available in Spring Boot 3.2.12+ or 3.3.6+. (3596) …
Spring Cloud Stream Applications 2022.0.1 GA Release now available
On behalf of the team and everyone who has contributed, I’m happy to announce that Spring Cloud Stream Applications 2022.0.1
has been released.
This release is updates to Spring Boot 3.1.12
and Spring Cloud 2022.0.5
and contains some bug fixes - check out the release notes for more information.
Please continue to engage with us by creating bug reports and feature requests on Github and asking questions on StackOverflow using the spring-cloud-stream or spring-cloud-dataflow tags.
HTTP/3 support in Reactor 2024.0 Release Train
HTTP/3, the latest major version of the Hypertext Transfer Protocol
,
had its specification finalized in June 2022. This version is designed to enhance performance, reliability, and security.
Unlike its predecessors, HTTP/3
utilizes QUIC instead of TCP
as its transport layer.
QUIC
is a UDP
-based, multiplexed, and secure transport protocol that includes built-in TLS 1.3 encryption,
making QUIC
encrypted by default.
To learn more about the performance and benefits of HTTP/3
, check out What is HTTP/3.
For information on browser adoption, take a look at Examining HTTP/3 Usage,
which also provides raw data on HTTP
versions used by…
This Week in Spring - November 26th, 2024
Hi, Spring fans! Welcome to another installment of This Week in Spring!
Happy Spring Boot 3.4 release month to those who celebrate! And, also, Happy Thanksgiving to those who celebrate! Spring Boot 3.4 brings with it long-anticipated updates to the entire portfolio of Spring projects, and so a lot of the content in this roundup has to do with those releases!
- Starting with an interview with Spring Framework lead Juergen Hoeller and Spring Framework contributor Sébastien Deleuze over on InfoQ
- Reactor legend Violeta Georgieva has a nice post introducing HTTP/3 support in Reactor 2024.0
- I have thoughts on all the amazing new opportunities in Spring Boot 3.4! Like, 50 pages or so worth. So I wrote them all down and published them as a series of blogs looking at Spring Framework, Spring Data, Spring Batch, Spring Integration, Spring Security, Spring Modulith, and Spring AI. Here's the starting blog post, which serves as a sort of index for all the other posts.
- And here's the post on Spring Framework
- And here's the post on Spring Data
- And here's the post on Spring Batch
- And here's the post on Spring Integration
- And here's the post on Spring Security
- And here's the post on Spring Modulith
- And here's the post on Spring AI …
Bootiful Spring Boot 3.4: Start Here
Hi, Spring fans! And happy Spring Boot 3.4 release to those who celebrate!
I know, I know what you're thinking: Josh, Spring Boot 3.4 already shipped! I know it. Spring Boot 3.4 dropped a week earlier this year! In the last couple of years, we’ve released Spring Boot on the same day as Thanksgiving Day in the USA, which is tedious for us here in the United States because it requires more preparation. This year, it’s a week early! Why do I mention this? Well, I’ve had some time already - before Thanksgiving, even - to explore the fantastic possibilities unlocked by using Spring Boot 3.4. While…
Bootiful Spring Boot 3.4: Spring AI
I love Spring AI. It’s an amazing project designed to bring the patterns and practices of AI engineering to the Spring Boot developer. It’s got clean idiomatic abstractions that’ll make any Sring developer feel right at home, and it has a ton of integrations with all manner of different vector stores, embedding models, transcription models, image modes, and chat models.
The new release, m4, builds upon Spring Boot 3.4 and adds a ton of new features. As usual, I can’t hope to look at all the new features, but the release notes do an exquisite job.
- there’s new Amazon Bedrock Convertse support
- there’s been a ton of work done to support more expressive function calling, both in Java and Kotlin
- there’s the first cut of support for the ideas taking shape in the AI community around "advanced and modular RAG". RAG, of course, is retrieval augmented generation and refers to using data from a system or service to inform the response generated by a chat model. These ideas are articulated in this paepr and this one, and the building blocks are taking root in this new release. Amazing!
- …
Bootiful Spring Boot 3.4: Spring Batch
The new release of Spring Batch 5.2 has a ton of features! Spring Batch is a compelling way to handle large but finite sequential data access. Think: reading from an SQL database and writing to a CSV, or reading from an FTP server and writing out an analysis of a MongoDB - batch processing. You know what this is. Half the job (pardon the pun!) is the integration of various sources of data and multiple sinks of data. The other aspect, as you can imagine with workloads that take a long time and could fail, is maintaining durable and extensive metadata related to each batch job’s run. Again, I…
Bootiful Spring Boot 3.4: Spring Boot
And now we’re back where we started: Spring Boot 3.4! This release is what pulls everything together. When you look at Spring Boot, remember that it normalizes the integration of all the projects it assembles and tries, wherever possible, to smooth out whatever integration issues might arise from using those projects together. In addition, it provides facilities that benefit users of all those other frameworks.
Case in point: when we introduced GraalVM native image support in Spring Framework 6 and Spring Boot 3, it was delivered in three tranches. One: a component model, lifecycle, and core…
Bootiful Spring Boot 3.4: Spring Data
The release announcement blog does a good job highlighting some of the many features in Spring Data 2024.1. Remember: Spring Data is an umbrella project, aggregating modules supporting, among other things, Couchbase, Redis, MongoDB, JDBC, R2DBC, Neo4J, Apache Cassandra, and countless other data stores. It’s the easiest way to connect your data stores to your applications. And indeed, we could write a small book with all the new features here!
Here are some of the features that caught my eye.
- A new Repository fragments SPI lets any arbitrary
.jar
on the classpath, or indeed code in another package, contribute extensions to the Spring Data repository mechanism via theSpring.factories
service factory mechanism - much-reduced query parsing overhead in Spring Data JPA
- expiration for
@TimeSeries
in Spring Data MongoDB - keyspace qualification for tables and user-defined types in Spring Data for Apache Cassandra
- Refined CQL generation with
CqlGenerator
in Spring Data Cassandra - Jedis Lua scripting support in transaction and pipeline operations in Spring Data Redis
- Customize the
JedisClientConfig
with theJedisClientConfigBuilderCustomizer
…