Holger Brands
banner
holgerbrands.bsky.social
Holger Brands
@holgerbrands.bsky.social
Software Architecture and Design | Java and JVM | Distributed Systems
Reposted by Holger Brands
#JUnit 6.0.0 is released!

✨ Java 17 and Kotlin 2.2 baseline
🌄 JSpecify nullability annotations
🛫 Integrated JFR support
🚟 Kotlin suspend function support
🛑 Support for cancelling test execution
⏭️ New `--fail-fast` mode for ConsoleLauncher
🧹 Removal of deprecated APIs

docs.junit.org/6.0.0/releas...
JUnit Release Notes
docs.junit.org
September 30, 2025 at 8:50 AM
Reposted by Holger Brands
Java 25 / JDK 25: General Availability
mail.openjdk.org
September 16, 2025 at 1:26 PM
Reposted by Holger Brands
Ever wonder which #Spring project versions map to the latest Spring Boot release? 🤔
There is no more guessing if you navigate to spring.io/projects/gen...
August 7, 2025 at 10:08 PM
Reposted by Holger Brands
✨ New blog post: "STF Milestone 4: Parameterized test classes"

JUnit 5.13 introduced parameterized test classes (in addition to methods). They are a powerful testing tool that has long been missing from JUnit Jupiter...

👉 marcphilipp.de/blog/2025/06...
June 7, 2025 at 11:52 AM
Reposted by Holger Brands
Java 25 enters Rampdown Phase One – and is packed with features:

✅ Scoped Values
✅ ​Compact Source Files + Instance Main Methods
✅ Flexible Constructor Bodies
✅ Stable Values (Preview)
✅ Structured Concurrency revamp

Full overview:
👉 www.happycoders.eu/java/java-25...

#Java #Java25
Java 25 Features (with Examples)
Java 25: Scoped Values, Module Import Declarations, Compact Source Files, Instant Main Methods, Flexible Constructor Bodies, Compact Object Headers and more...
www.happycoders.eu
June 5, 2025 at 8:25 AM
A lot of good #java stuff @devoxx.uk 😎

Here is the 2025 playlist:
youtube.com/playlist?lis...
May 20, 2025 at 8:28 PM
Excellent resources below: 😎
May 9, 2025 at 11:56 AM
Reposted by Holger Brands
Just published:

"Stable Values in Java 25: Finally Initialize Values Safely!"

Learn how this new preview feature solves common multi-threading initialization problems. No need to wait for Java 25 - get the details now!

www.happycoders.eu/java/stable-...

#Java #Java25 #StableValues
Stable Values in Java - Finally Initialize Values Safely!
What are Stable Values and how do you use them? What are Stable Lists, Stable Maps, and Stable Functions? How do Stable Values work internally?
www.happycoders.eu
April 9, 2025 at 10:09 AM
Reposted by Holger Brands
This is the moment you've all been waiting for... 🥁

#JUnit Jupiter support for @⁠ParameterizedClass as a companion to the existing @⁠ParameterizedTest support! 🚀

@marcphilipp.de has put a lot of work into this, and we're eager for you to try it out and provide feedback!!!
#JUnit 5.13.0-M1 is ready for testing!

🪄 Introduce ClassTemplate and ParameterizedClass support
🗒 Add stdout/stderr redirecting options to ConsoleLauncher
🔍 New test discovery support in EngineTestKit
🐞 Bug fixes and other minor improvements

junit.org/junit5/docs/...
JUnit 5 Release Notes
junit.org
March 21, 2025 at 2:46 PM
Does anyone know the implications for #Java Webstart apps?
If I'm not mistaken the JNLP spec explicitly mentions the SecurityManager. Will there be a spec revision or other measures?
Yup, the Security Manager is gone! JEP 486 describes what we did in JDK 24, and JEP 411 explains the rationale.

openjdk.org/jeps/411

openjdk.org/jeps/486
openjdk.org
January 25, 2025 at 8:40 PM
Reposted by Holger Brands
I have just merged into Spring Framework main branch the huge commit (3458 files changed) that migrates the codebase to JSpecify annotations. That will allow Spring Framework 7 and related portfolio projects to provide next-level null-safety support to avoid NullPointerException at runtime.
Null-safety :: Spring Framework
docs.spring.io
December 19, 2024 at 10:52 AM
Reposted by Holger Brands
Mapping ZonedDateTime and OffsetDateTime with Hibernate can be an issue. Not all databases support TIMESTAMP_WITH_TIMEZONE, and Hibernate has to convert it.

Starting with version 6, you can decide how to handle the timezone information by providing a TimeZoneStorageType.

These are your options:
December 4, 2024 at 3:11 PM
Reposted by Holger Brands
Improve how you architect webapps.
Patterns.dev
Learn JavaScript design and performance patterns for building more powerful web applications.
www.patterns.dev
December 14, 2024 at 12:53 PM
Reposted by Holger Brands
Interesting writeup from Stuart Marks @smarks.bsky.social:

"Permission checking and handling of privileged operations were a continuing maintenance burden on the JDK code. It’s good be rid of it." 🎉

stuartmarks.wordpress.com/2024/12/12/d...

#Java #JDK
Detoxifying the JDK Source Code
There’s been a fair amount of churn through the JDK source code recently, up until Rampdown Phase 1 of JDK 24, which was last week. (RDP1 is similar to what other projects might call “f…
stuartmarks.wordpress.com
December 14, 2024 at 2:46 AM
Reposted by Holger Brands
How is this real? Nanowar, Napalm Record... #java based song. #metal music. Unfortunatly no simpler main method 😂

www.youtube.com/watch?v=yup8...
NANOWAR OF STEEL - HelloWorld.java (Source Code Video) | Napalm Records
YouTube video by Napalm Records
www.youtube.com
December 3, 2024 at 3:31 PM
Reposted by Holger Brands
📝 "Revisiting the Outbox Pattern"

New blog post is out, taking a fresh look at the outbox pattern: how to implement it correctly, is it still relevant, which alternatives exist?

👉 www.decodable.co/blog/revisit...
October 31, 2024 at 3:02 PM
Reposted by Holger Brands
It is always worthwhile to read changelogs.
For example, #liquibase 4.30.0 and above will now collect statistics (#telemetry) with opt-out instead of opt-in. Thanks for nothing.

New #java projects will be using #flyway.

docs.liquibase.com/analytics/ho...
Anonymous Analytics
This page describes the anonymous analytics that Liquibase collects.
docs.liquibase.com
November 10, 2024 at 5:26 PM
Alive and kicking!

I think that deserves a 24 hour live stream and release party...no? @nipafx.dev 😃
There will be 24 JEPs in JDK 24.
openjdk.org/projects/jdk...
#OpenJDK #Java
November 30, 2024 at 5:13 PM
Reposted by Holger Brands
Spring Boot 3.4.0 available now
Level up your Java code and explore what Spring can do for you.
spring.io
November 21, 2024 at 8:25 PM
Reposted by Holger Brands
Apache Maven 4.0.0-rc-1 just dropped! I’ve been running 4.0.0 betas for a while now and definitely loved it so far.

Make sure to give the new features and major improvements a swing yourself: maven.apache.org/download.cgi

If you run into anything make sure to reach out!

#Java #Apache #Maven
Download Apache Maven – Maven
maven.apache.org
November 29, 2024 at 9:56 AM
Epic new #JEPCafe episode!
November 29, 2024 at 1:02 PM
Welcome everybody!
Finally landed on Bluesky as well.
Let's see how it goes.🙂
November 28, 2024 at 11:55 PM