<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Loic Mathieu on foojay.io - Friends of OpenJDK</title><link>https://foojayio.github.io/website/today/author/loic-mathieu/</link><description>Articles written by Loic Mathieu on foojay.io - Friends of OpenJDK</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Mon, 16 Mar 2026 06:58:00 +0000</lastBuildDate><atom:link href="https://foojayio.github.io/website/today/author/loic-mathieu/index.xml" rel="self" type="application/rss+xml"/><item><title>Foojay Podcast #92: Java 26 Is Here: What's New, What's Gone, and Why It Matters in 2026</title><link>https://foojayio.github.io/website/today/foojay-podcast-92/</link><pubDate>Mon, 16 Mar 2026 06:58:00 +0000</pubDate><guid>https://foojayio.github.io/website/today/foojay-podcast-92/</guid><description>&lt;p&gt;Welcome to another episode of the Foojay Podcast! In this episode, we&amp;rsquo;re talking about Java 26, released on March 17 in the year 26. Again, right on schedule with Java&amp;rsquo;s six-month release cadence.&lt;/p&gt;
&lt;p&gt;Now, Java 26 is not a Long Term Support (LTS) release; that was Java 25. But don&amp;rsquo;t let that fool you into thinking there&amp;rsquo;s nothing interesting here. This release brings ten JDK Enhancement Proposals (JEPs). They cover everything from performance improvements to long-overdue cleanups. Of those ten JEPS, five are new features, and we also get five preview/incubator features.&lt;/p&gt;</description></item><item><title>Java 26: What’s New?</title><link>https://foojayio.github.io/website/today/java-26-whats-new/</link><pubDate>Tue, 03 Mar 2026 10:00:28 +0000</pubDate><guid>https://foojayio.github.io/website/today/java-26-whats-new/</guid><description>&lt;p&gt;This article was first published in my personal blog: &lt;a href="https://www.loicmathieu.fr/wordpress/informatique/java-26-whats-new/" target="_blank" rel="noopener noreferrer"&gt;Java 26: What&amp;rsquo;s new?&lt;/a&gt;
 and is part of a serie on &lt;a href="https://www.loicmathieu.fr/wordpress/tag/whatsnew/" target="_blank" rel="noopener noreferrer"&gt;what&amp;rsquo;s new on the last versions of Java&lt;/a&gt;
).&lt;/p&gt;
&lt;p&gt;Now that Java 26 is features complete (Rampdown Phase Two at the day of writing), it&amp;rsquo;s time to walk through all the functionalities that bring to us, developers, this new version.&lt;/p&gt;
&lt;p&gt;After Java 25 and its 18 JEPs, Java 26 arrives with a small number of JEPs, 10, with very few new features.&lt;/p&gt;</description></item><item><title>Flaky Tests: a journey to beat them all</title><link>https://foojayio.github.io/website/today/flaky-tests-a-journey-to-beat-them-all/</link><pubDate>Tue, 13 Jan 2026 13:00:07 +0000</pubDate><guid>https://foojayio.github.io/website/today/flaky-tests-a-journey-to-beat-them-all/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Sleep is not a synchronization primitive.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Every test engineer, eventually&lt;/p&gt;
&lt;h2 id="h2-0-what-s-a-flaky-test"&gt;What&amp;rsquo;s a flaky test?&lt;/h2&gt;
&lt;p&gt;A &lt;strong&gt;flaky test&lt;/strong&gt; is a test that sometimes passes and sometimes fails without any code changes. They&amp;rsquo;re the by‑product of non‑determinism: timing, concurrency, eventual consistency, network hiccups, clock drift, resource contention, and (our favorite) &lt;strong&gt;tests leaking state across runs&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://kestra.io" target="_blank" rel="noopener noreferrer"&gt;Kestra&lt;/a&gt;
 is an open-source declarative orchestration platform designed to run, coordinate, and monitor large-scale, event-driven workflows. It is built to handle parallelism, asynchronous execution, and distributed systems at scale, exactly the kind of environment where determinism is hard and flaky tests tend to emerge.&lt;/p&gt;</description></item><item><title>Java 25: What's New?</title><link>https://foojayio.github.io/website/today/java-25-whats-new/</link><pubDate>Wed, 03 Dec 2025 09:02:49 +0000</pubDate><guid>https://foojayio.github.io/website/today/java-25-whats-new/</guid><description>&lt;p&gt;&lt;em&gt;This article was first published in my personal blog: &lt;a href="https://www.loicmathieu.fr/wordpress/informatique/java-25-whats-new/" target="_blank" rel="noopener noreferrer"&gt;Java 25: What&amp;rsquo;s new?&lt;/a&gt;
 and is part of a serie on &lt;a href="//www.loicmathieu.fr/wordpress/tag/whatsnew/" target="_blank" rel="noopener noreferrer"&gt;what&amp;rsquo;s new on the last versions of Java&lt;/a&gt;
.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Now that Java 25 is out, it&amp;rsquo;s time to walk through all the functionalities that bring to us, developers, this new version.&lt;/p&gt;
&lt;p&gt;Java 25 is the new Long-Term Support (LTS) version, containing no less than 18 JEPs. Even if this isn&amp;rsquo;t as good as the 24 JEPs in Java 24, it&amp;rsquo;s still a pretty significant number. No big news on the program, but a number of nice little ones anyway.&lt;/p&gt;</description></item><item><title>Java 24 : What's New?</title><link>https://foojayio.github.io/website/today/java-24-whats-new/</link><pubDate>Wed, 26 Feb 2025 09:58:53 +0000</pubDate><guid>https://foojayio.github.io/website/today/java-24-whats-new/</guid><description>&lt;p&gt;&lt;strong&gt;Java 24 will be available soon, on March 18th. What are all the functionalities that this version brings to us as developers?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Java 24 contains not less than 24 JEPs, a record and above all an eponymous figure!&lt;/p&gt;
&lt;h2 id="h2-0-jep-404-generational-shenandoah-experimental"&gt;JEP 404: Generational Shenandoah (Experimental)&lt;/h2&gt;
&lt;p&gt;Shenandoah is a Garbage Collector (GC) originally developed by RedHat and included in OpenJDK. It reduces GC pause times by performing evacuation work concurrently to application threads.&lt;/p&gt;</description></item><item><title>Java 23: What’s New? | Foojay.io today</title><link>https://foojayio.github.io/website/today/java-23-whats-new/</link><pubDate>Wed, 04 Sep 2024 09:19:35 +0000</pubDate><guid>https://foojayio.github.io/website/today/java-23-whats-new/</guid><description>&lt;p&gt;&lt;strong&gt;As soon as Java 23 is out, it&amp;rsquo;ll be time to walk through all the functionalities that this version bring to us as developers.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;First of all, something has happened that, to my knowledge, has never happened before in a Java release: a preview feature has been removed! The String Templates feature, which appeared as a preview feature in Java 21, has been removed. A global redesign of this feature will be carried out, as it had given rise to much debate and didn&amp;rsquo;t seem to meet the community&amp;rsquo;s expectations.&lt;/p&gt;</description></item><item><title>Writing a Data Orchestrator in Java</title><link>https://foojayio.github.io/website/today/writing-a-data-orchestrator-in-java/</link><pubDate>Thu, 02 May 2024 19:43:32 +0000</pubDate><guid>https://foojayio.github.io/website/today/writing-a-data-orchestrator-in-java/</guid><description>&lt;p&gt;&lt;strong&gt;A data orchestrator is a platform to schedule, organize, and monitor data-oriented workflows. A workflow is a set of tasks, most data orchestrators come with built-in tasks for a wide range of technologies and provide support for custom processing via a scripting language. A data orchestrator can have multiple types of triggers to start a workflow.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Most Data orchestrators are written in Python.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Most Data orchestrators mandate that &lt;strong&gt;you&lt;/strong&gt; write Python code.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Java 22: What’s New?</title><link>https://foojayio.github.io/website/today/java-22-whats-new/</link><pubDate>Mon, 18 Mar 2024 14:10:04 +0000</pubDate><guid>https://foojayio.github.io/website/today/java-22-whats-new/</guid><description>&lt;p&gt;As soon as Java 22 is out, it&amp;rsquo;ll be time to walk through all the functionalities that this version bring to us as developers.&lt;/p&gt;
&lt;h2 id="h2-0-jep-461-stream-gatherers-preview"&gt;JEP 461 - Stream Gatherers (Preview)&lt;/h2&gt;
&lt;p&gt;Enhances the Stream API with support for custom intermediate operations. This is a preview API.&lt;/p&gt;
&lt;p&gt;The Stream API provides a fixed set of intermediate and terminal operations. It allows terminal operations to be extended via the &lt;code&gt;Stream::collect(Collector)&lt;/code&gt; method, but does not allow intermediate operations to be extended. Some operations are missing or others are possible via a set of operations or via an operation that doesn&amp;rsquo;t fully match what&amp;rsquo;s needed.&lt;/p&gt;</description></item><item><title>Foojay Podcast #45: Welcome to Java 22</title><link>https://foojayio.github.io/website/today/foojay-podcast-45/</link><pubDate>Mon, 18 Mar 2024 10:31:53 +0000</pubDate><guid>https://foojayio.github.io/website/today/foojay-podcast-45/</guid><description>&lt;p&gt;Last September, we got Java 21, a Long Term Support (LTS) version with eight new big features and seven incubator or preview features.&lt;/p&gt;
&lt;p&gt;Does Java 22 also bring that much innovation, or is it just a bug-fix release?&lt;/p&gt;
&lt;p&gt;And what needs to be done to get such a release published on time? Let&amp;rsquo;s find out&amp;hellip;&lt;/p&gt;
&lt;h2 id="h2-0-video"&gt;Video&lt;/h2&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
			&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/_NYuuoCQgO8?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
		&lt;/div&gt;

&lt;h2 id="h2-1-podcast-apps"&gt;Podcast Apps&lt;/h2&gt;
&lt;p&gt;You can listen and subscribe to the Foojay Podcast on:&lt;/p&gt;</description></item></channel></rss>