Null Safety in Spring applications with JSpecify and NullAway
The initial introduction of the null safety support in Spring dates back to 2017 and the release of Spring Framework 5.0. In 2025, we are evolving that story to bring more added value for Spring developers, either in Java or Kotlin. But before having a deeper look to the changes we are working on, let me explain why we do that and what are the expected benefits.
What problem do we try to solve?
Let's take a concrete example, and say we are using a library that provides a TokenExtractor
interface defined as follow:
interface TokenExtractor {
/**
* Extract a token from a {@link…
Spring gRPC 0.5.0 available now
On behalf of the team and everyone who has contributed, I'm happy to announce that Spring gRPC 0.5.0
has been released and is now available from Maven Central.
This release includes features, bug fixes, documentation improvements, and dependency upgrades. Thanks to all those who have contributed with issue reports and pull requests.
How can you help?
If you're interested in helping out, check out the open issues.
If you have general questions, please ask on Stack Overflow using the spring-grpc
tag.
A Bootiful Podcast: Johannes Bechberger, Java engineer at SAP
Hi, Spring fans! In this installment I talk to Johannes Bechberger, Java engineer working on profilers and their underlying technology in the SapMachine team at SAP. His work today comprises many open-source contributions and his blog, where he regularly writes on in-depth profiling and debugging topics. He also works on hello-ebpf, the first eBPF library for Java.
Spring gRPC 0.4.0 available now
On behalf of the team and everyone who has contributed, I'm happy to announce that Spring gRPC 0.4.0
has been released and is now available from Maven Central.
This release includes features, bug fixes, documentation improvements, and dependency upgrades. Thanks to all those who have contributed with issue reports and pull requests.
How can you help?
If you're interested in helping out, check out the open issues.
If you have general questions, please ask on Stack Overflow using the spring-grpc
tag.
Spring gRPC 0.4.0 for great good!
NB: you can find the working code for this blog here
There's a new release of the amazing—if experimental—Spring gRPC project: version 0.4.0. I won't get into the nitty-gritty of all that's new, but I just wanted to highlight how elated I am to use it and walk you through the step-by-step path to gRPC joy. A million little things fall into place to make it the smoothest experience I've ever had using gRPC!
I went to the Spring Initializr and selected GRPC
, GraalVM
, and Web
. I'm a Maven enjoyer, but you do you. I chose Java 23, 'natch, since Java 24 is coming in a week or two. I figured this…
This Week in Sprng - March 4th, 2025
Hi, Spring fans! Welcome to another installment of This Week in Spring, and Happy Devnexus 2025 to those who celebrate! That's right sports fans, I'm off to awesome Atlanta, Georgia later today for Devnexus, one of the world's largest annual gatherings of Java community and luminaries alike. I'll be doing a talk on the latest-and-greatest in Spring Boot as well as another talk looking at Spring AI with the legendary Dr. Mark Pollack, founder of Spring AI. And, of course, I'll be soaking up all the other talks by Spring luminaries like Glenn Renfro, Jonatan Ivanov, Ken Kousen, Ryan Baxter…
Spring Cloud 2025.0.0-M2 (aka Northfields) has been released
On behalf of the community, I am pleased to announce that the Milestone 2 (M2) of the Spring Cloud 2025.0.0 Release Train is available today. The release can be found in Spring Milestone repository. You can check out the 2025.0.0 release notes for more information.
Notable Changes in the 2025.0.0-M2 Release Train
This milestone is compatible with Spring Boot 3.5.0-M2. See all issues and pull requests that are part of the release here.
Spring Cloud Gateway
- Support rewriting request parameters in Server WebMVC #3669.
- Bug fixes for multipart data and retry in Server WebMVC.
Spring Cloud Config
…
Spring Modulith 1.4 M2, 1.3.3, and 1.2.9 released
I am happy to announce the availability of Spring Modulith 1.4 M2, 1.3.3, and 1.2.9. While the latter contain a few bug fixes and the usual dependency upgrades to the latest Spring Boot releases, the milestone release ships a couple of important new features.
- The observability module now automatically creates counters for application events published by modules. A new
ModulithEventMetrics
API has been introduced and can be used throughModulithEventMetricsCustomizer
beans registered in theApplicationContext
(GH-1068). - The runtime support has been revamped to avoid the dependency on an external library to topologically sort application modules, so that they can be traversed in dependency order (GH-1060). This allows assuming a stable module order in the application metadata file that – previously only created in AOT mode – is now also written when generating documentation (GH-1063). That in turn allows us to avoid the full bootstrap of an
ApplicationModules
instance at runtime, for example, to executeApplicationModuleListener
beans (GH-1062, GH-1065…
This Week in Spring - February 25th, 2025
Hi, Spring fans, and welcome to another rip-roarin' installment of This Week in Spring! Later today I'll board a plane for magnificent Montreal, Canada for the amazing Confoo conference! I'm super excited!
- Good news everybody! Spring Boot 3.5.0-M2 is now available!
- In last week's installment of the Bootiful Podcast, I talked to BellSoft's Catherine Edelveis
- Spring Boot 3.4.3 is available now
- Spring Boot 3.3.9 available now
- Spring AMQP 4.0 M1 available
- Spring for Apache Kafka 3.3.3 and 3.2.7 are now available
- Spring Integration 6.5 Milestone 2 available now
- Spring Authorization Server 1.5.0-M1, 1.4.2, and 1.3.5 are available now
- Using RAG and
VectorStore
in Spring AI - Accelerate Spring AI Development with effortless privacy from CodeGate
- …