4 September 2026

Jakarta EE components overview

Jakarta EE is the successor of Java Enterprise Edition. The name change follows the transition of the governance from Oracle to the Eclipse organisation. Jakarta EE9 is simply taking over from Java EE 8 without functional changes. It changes package namespaces to jakarta.* and  removes some obsolete API's. You can find the Java EE evolution up to Java EE8 in an earlier post. From Jakarta EE9 the components are evolving.

Jakarta EE release9 1011
year2020 2022 2025
Requires Java SE81117
Activation2.02.1
Annotations2.0.0 2.1 3.0
Authentication2.0.0 3.03.1
Authorization2.0.0 2.13.0
Jakarta Batch2.0.0 2.1.0
Concurrency2.0.0 3.02.1
Connectors2.0.0 2.1.0
Contexts and Dependency Injection3.04.04.1
Data

1.0
Enterprise Beans4.0
Expression Language4.0.05.0.0 6.0
Faces3.0.0 4.04.1
Interceptors2.0 2.12.2
JSON Binding2.0.0 3.0.0
JSON Processing2.0.02.1
Mail2.0.02.1
Messaging3.0.03.1.0
(Server) Pages3.03.1.0 4.0
Persistence3.0 3.1 3.2
RESTful Web Services3.0 3.14.0
Security2.03.04.0
Servlet5.06.06.1
Standard Tag Library2.0.0 3.0.0
Transactions2.0.0
(Bean) Validation3.0
3.1
WebSocket2.0 2.12.2
XML Binding3.0 4.0X
XML Web Services3.0 4.0 X
XML Web Services (SOAP with Attachments)2.0 3.0 X

If a cell is empty in the above table, the version is the same as in the previous release.

An X means a specification is removed.

 The transition to the AI era will be one of the most turbulent times in human history. Right now, we are not preparing adequately for that transition.

    Bill Gates

22 August 2026

11 August 2026

Java 25 quick wins

Here are some simple improvements that Java 25 brings to your everyday code.

Hello World simplified

Since the release of the C programming language, printing "Hello world!" is the first task a programmer does in a language. And Java did not shine at this:
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}
We tell our students it's magical incantation that they'll have to live with for a while and that all will become clear in due time.
At last Java 25 brings this down to the essentials:
void main() {
    IO.println("Hello, World!");
}
If I'm counting well, we go down from 89 characters to 40 characters,  That's less than half of the code. Additionally the code is more intuitive to understand.
 
This feature is called compact source files. The above improvement uses
  • a launchable main method. The method automatically resides in a top level class in the unnamed package
  • A new Input/Output class 

Less imports

void main() {
List<String> ducklings = List.of("Huey", "Dewey", "Louis");
IO.print("Hello " + ducklings);
}
We're all used to not having to import java.lang.String because Java automatically imports java.lang.*.
Java now automatically imports the java.base module.
Importing a module implies importing all public top level classes and interfaces in packages exported by that module.
The top level packages are defined in the module definitions, which exist since Java 9.
One of the packages exported by the java.base is java.util.*. Hence we do not need
import java.util.List;
for the code above to run anymore.
Additionally a program can now import modules without having to be a module itself, 
making modules more accessible to developers who never dabbled with them themselves.
You import modules (here java.util.desktop) using
import module java.util.desktop;

More flexible constructor bodies

You can now put safe statements before the first call to this(...) or super(...). Safe statements are anything that does not refer (implicitlyu or explicitly) to this.

 

7 August 2026

IntelliJ 2026.2 highlights

  • logpoints: extend logging breakpoints. They put your logging statements in the IDE (allowing you to put logging in code you do not own). And they allow you to navigate from an execution log to the code producing the log, even if the logging was done from a println in code!
  • better dependency completpion  for tools like gradle (finally!)
  • Spring Security Inlays for MVC endpoints allowing you to examine appliccable rules and thest them.
  • More git conflict resolution proposals
  • Better docker)compose.yml support, including the state of running containers 
  • typescript 7 support 

31 May 2026

Headroom optimizes your AI token use

Headroom is open source software that anaylises the tokens you send to AI and tries to reduce their verbosity before sending them to your AI provider.

Headroom claims to reduce your token consumption by 60-95%. 

26 April 2026

OpenAI claims it can decompile binaries

In a move to counter Anthrophic Mythos ApenAI claims it can generate the source code for binaries, with GPT-5.4-Cyber.

Of course, just like Mythos, it is only given to selected companies. 

So... from now on, all software is implicitly open source. 

more...