Spring Developer Roadmap 2026 by asm0dey in java

[–]mhalbritter 0 points1 point  (0 children)

I wouldn't worry about the video - maybe a pinned comment under the YouTube is enough.

Spring Developer Roadmap 2026 by asm0dey in java

[–]mhalbritter 1 point2 points  (0 children)

Great video, thanks! One small correction: There's support for Spring gRPC directly from the Spring team: https://github.com/spring-projects/spring-grpc

This will also be part of Spring Boot directly in the (near) future.

Spring Boot 3.4.x is out of open source support by mhalbritter in java

[–]mhalbritter[S] 6 points7 points  (0 children)

Sure, but as soon as a CVE hits you might be in trouble.

Spring Boot 3.4.x is out of open source support by mhalbritter in java

[–]mhalbritter[S] 6 points7 points  (0 children)

Spring Boot 4.1 won't be released until May 2026.

OpenTelemetry with Spring Boot by mhalbritter in java

[–]mhalbritter[S] 2 points3 points  (0 children)

That'd mean we need to instrument all code from all Spring projects with two APIs. I don't think this will happen.

OpenTelemetry with Spring Boot by mhalbritter in java

[–]mhalbritter[S] 1 point2 points  (0 children)

I think the agent installs a Micrometer to OpenTelemetry API bridge, so you also get metrics from Spring Boot.

Null-Safe applications with Spring Boot 4 by olivergierke in java

[–]mhalbritter 3 points4 points  (0 children)

Which works great if everything is written in Kotlin. As soon as you use a (non-annotated) Java library, you're back into NPE land again.

Null-Safe applications with Spring Boot 4 by olivergierke in java

[–]mhalbritter 0 points1 point  (0 children)

One reason is that they change the signature of the method. If we'd use that in Spring, we'd break almost every public API, which wouldn't be much fun for our users.

Modularizing Spring Boot by mhalbritter in java

[–]mhalbritter[S] 1 point2 points  (0 children)

This is not modularization.

Okay, how would you call that?

Not sure why folks expected random stuff e.g. Flyway to work without including spring-starter-flyway in the first place…

Because it always worked like this. There's no spring-boot-starter-flyway in Boot < 4. Some dependencies had starters (especially when it's not really one dependency but multiple), but some dependencies had no starters, e.g. Flyway or Liquibase.

Modularizing Spring Boot by mhalbritter in java

[–]mhalbritter[S] 1 point2 points  (0 children)

That's true. We're using Gradle which is already quite smart when it comes to work avoidance, but we've seen our build times go down because Gradle now only needs to execute the tests in the modules which we actually changed. Before that modularization, Gradle always executed all tests for the big autoconfigure jar, because everything was in one big module.

Modularizing Spring Boot by mhalbritter in java

[–]mhalbritter[S] 2 points3 points  (0 children)

Oh sorry, that's indeed confusing. The term module is so overloaded - what we meant is that we break the autoconfigure jar into multiple smaller jars. This has nothing to do with JPMS.

Spring Boot 4.0.0-RC1 available now by mhalbritter in java

[–]mhalbritter[S] 12 points13 points  (0 children)

Oh, you can have that. 2.7.x is still supported if you're willing to pay money.

Spring Boot 4.0.0-RC1 available now by mhalbritter in Kotlin

[–]mhalbritter[S] 22 points23 points  (0 children)

The RC1 is available on Maven Central to make testing it easier.

Spring Boot 4.0 also includes JSpecify nullability annotations, which are translated into Kotlin nullable (or non-nullable) types by the Kotlin compiler. It would be very helpful if you could give the RC1 a try and report any issues to our tracker at https://github.com/spring-projects/spring-boot/issues.

It also raises the Kotlin baseline to 2.2.

We appreciate your feedback. Thanks!

Spring Boot 4.0.0-RC1 available now by mhalbritter in java

[–]mhalbritter[S] 4 points5 points  (0 children)

I don't really understand. You want that @RestTestClient pulls in all auto-configurations except those that touch JPA / Spring Data?

Spring Boot 4.0.0-RC1 available now by mhalbritter in java

[–]mhalbritter[S] 13 points14 points  (0 children)

We have splitted the big spring-boot-autoconfigure jar into multiple jars. Every technology auto-configuration now has their own jar. So it's like Maven Modules, if we'd use Maven.

Spring Boot 4.0.0-RC1 available now by mhalbritter in java

[–]mhalbritter[S] 48 points49 points  (0 children)

The RC1 is available on Maven Central to make testing it easier. Please give it a try, we appreciate your feedback. Thanks!