Java
fromInfoQ
22 hours agoJava News Roundup: JDK 27 Release Schedule, Hibernate, LangChain4j, Keycloak, Helidon, Junie CLI
Java updates include JEP 532 for primitive types in patterns, JDK 27 release schedule, and Jakarta EE 12 discussions.
While the codebase is fresh and grows fast under the umbrella of the local environment, we tend to rely on debugging tools, which were created specifically for that purpose. The app is half-baked, and the code is split open. We observe it through the lens of our IDE and with the speed of our brain. Everything is possible; we may pause execution for minutes, and the whole system is a white box - an open book for us.
New overloads on TarFile.CreateFromDirectory accept a TarEntryFormat parameter, giving direct control over the archive format. Previously, CreateFromDirectory produced Pax archives. The new overloads support all four tar formats—Pax, Ustar, GNU, and V7—for compatibility with specific tools and environments.
JSR offers a modern, TypeScript-first and cross-platform-compatible registry, integrated into Deno, Deno's developers said. For Node.js and NPM compatibility, Deno 1.42 offers numerous improvements. The async_hooks module now supports the EventEmitterAsyncResource and AsyncLocalStorage.enterWith APIs. The crypto module adds getRandomValues(), subtle, getCipherInfo(), publicKey(), and createPublicKey() APIs, along with support for more curves in multiple APIs. The worker_threads module received a major overhaul.
With C# 14, now you can run a C# file directly from the command line without needing a project or solution file. Until C# 14, we've had to follow a multi-step process to run a minimal .cs file. Not only was this a multi-step process, but it incurred significant additional overhead because you had to create a solution file and a project file to run your application.
We're pleased to announce the release of Scala 3.8 - a significant release that modernizes the Scala ecosystem and paves the way for Scala 3.9 LTS. This release introduces a standard library compiled by Scala 3 itself, stabilizes highly-anticipated features like Better Fors (SIP-62) and runtimeChecked (SIP-57), and introduces experimental features including flexible varargs and strict equality pattern matching. A runtime regression was detected after publishing Scala 3.8.0 artifacts.
XAI just open sourced the X recommendation algorithm, and honestly, it felt like they massacred my boy. I scrolled down expecting to see language stats like the 2023 repo. You know the usual breakdown: Java, Scala, maybe some Python sprinkled in. Instead, there were only two languages listed. Rust and Python. That's it. Which immediately tells you this wasn't a refactor. This was a full rewrite.
In total I probably spent around 45 minutes actively with it. It worked for around 3 hours while I was watching, then another 7 hours alone. This post is a recollection of what happened and what I learned from it. All prompting was done by voice using pi, starting with Opus 4.5 and switching to GPT-5.2 Codex for the long tail of test fixing.
The headline runtime feature in this preview is Runtime Async, described as a major change to how asynchronous methods work in .NET. According to the release notes, since C# 5 introduced async/await, the compiler has been solely responsible for rewriting async methods into state machine structs that track progress across suspension points. With Runtime Async, the runtime itself now understands async methods as a first-class concept and takes over responsibility for suspending and resuming methods.
A study from Dimensional Research shows that 92 percent of the 2,000 respondents reported being concerned about Oracle Java pricing, up from 82 percent in the same survey last year. Those stating they were very concerned about the changes leapt from 19 percent in 2025 to 29 percent this year. In 2023, Oracle changed its Java SE subscription model, shifting from a per-user or per-processor basis to per-employee.
JEP 527, Post-Quantum Hybrid Key Exchange for TLS 1.3, has been elevated from Proposed to Target to Targeted for JDK 27. This JEP proposes to enhance the implementation of RFC 8446, Transport Layer Security (TLS) Protocol Version 1.3, using the Hybrid Key Exchange in TLS 1.3 specification, currently being drafted by the Internet Engineering Task Force (IETF) in conjunction with JEP 496, Quantum-Resistant Module-Lattice-Based Key Encapsulation Mechanism, delivered in JDK 24.
From the discussions in the Jakarta EE Platform call[s] the last couple of weeks, it looks like we won't see a release of Jakarta EE 12 on this side of summer (on the Northern Hemisphere at least). The reason is that since Jakarta EE 11 was delayed by a year, most of the vendors are currently working on their implementations.