Skip to content

Commit 6f78aab

Browse files
committed
Add blog post for the Mandrel 25 release
1 parent a6c91dd commit 6f78aab

File tree

2 files changed

+104
-0
lines changed

2 files changed

+104
-0
lines changed

_data/authors.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -316,6 +316,12 @@ vsevel:
316316
mmusgrov:
317317
name: "Michael Musgrove"
318318
319+
sgehwolf:
320+
name: "Severin Gehwolf"
321+
322+
emailhash: "e739e2d699ec96cd985bae3b5271b6e5"
323+
job_title: "Engineer (Software)"
324+
bio: "Software Engineer at IBM working on OpenJDK and Mandrel."
319325
galderz:
320326
name: "Galder Zamarreño"
321327
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
---
2+
layout: post
3+
title: 'Mandrel 25 is Here!'
4+
date: 2025-10-02
5+
tags: release, mandrel, native, graalvm
6+
synopsis: 'Mandrel 25, based on GraalVM 25, has been released.'
7+
author: sgehwolf
8+
---
9+
10+
We are thrilled to announce the official release of Mandrel 25! The beginning
11+
of the next LTS version of the Quarkus native builder.
12+
13+
Mandrel 25 is a downstream distribution of the
14+
https://www.graalvm.org/release-notes/JDK_25[GraalVM 25] Community Edition.
15+
Mandrel's main goal is to provide a native-image release specifically tailored
16+
to support https://quarkus.io[Quarkus]. The aim is to align the native-image
17+
capabilities from GraalVM with OpenJDK and Red Hat Enterprise Linux libraries
18+
to improve maintainability for native Quarkus applications. As such, Mandrel 25
19+
is the same as GraalVM 25 native-image with some small differences. It's built
20+
from the same code-base!
21+
22+
[[what-is-new-25]]
23+
== What's New in GraalVM 25?
24+
25+
While there are too many new features added in GraalVM 25 to name them all it's
26+
worth highlighting a few. GraalVM 25 includes enhanced support for Foreign
27+
Function and Memory API in native-image. It enables FFM API support for MacOSX
28+
Aarch64 and Linux Aarch64 (in addition to Linux x86_64). GraalVM 25 also
29+
enhances metadata support in native-image. It now throws subclasses of
30+
LinkageError when missing metadata is being detected at native image runtime.
31+
This way it enables users to handle missing metadata registrations in a more
32+
efficient way.
33+
34+
[[based-on-openjdk-25]]
35+
=== Mandrel 25 is Based on OpenJDK 25
36+
37+
Mandrel 25 is based on the new vanilla Eclipse Temurin 25 LTS release. Temurin
38+
is an OpenJDK distribution produced at Eclipse. Based on the next LTS release
39+
of OpenJDK, Mandrel 25 will be the next LTS version supporting Quarkus' native
40+
compilation capabilities for the Quarkus releases to come.
41+
42+
[[new-monitoring-features]]
43+
=== New Monitoring Features
44+
45+
GraalVM 25 also introduces several new features in the monitoring area of
46+
native-image that have been contributed by Red Hat/IBM. Some highlights in JDK
47+
Flight Recorder support (https://www.graalvm.org/jdk25/reference-manual/native-image/debugging-and-diagnostics/JFR/[JFR]), and https://www.graalvm.org/jdk25/reference-manual/native-image/debugging-and-diagnostics/NMT/[native memory tracking] (NMT) are:
48+
49+
* **JCMD support:** GraalVM 25 adds support for the https://www.graalvm.org/jdk25/reference-manual/native-image/debugging-and-diagnostics/jcmd/[Java Diagnostic Command]
50+
(JCMD) to native-image. This is useful to asynchronously request specific
51+
actions on the running native image. For example a thread dump or a JFR
52+
recording can be requested after the application has been started.
53+
* **Added support for more JFR events:** Additional JFR events have been added,
54+
specifically tracking native memory when monitoring option NMT is enabled as
55+
well. Object allocation sampling with the jdk.ObjectAllocationSample event is
56+
now also supported. For a list of all supported JFR events see the https://www.graalvm.org/jdk25/reference-manual/native-image/debugging-and-diagnostics/JFR/#built-in-events[upstream
57+
documentation].
58+
* **Native Memory Tracking:** A new monitoring option for https://www.graalvm.org/jdk25/reference-manual/native-image/debugging-and-diagnostics/NMT/[tracking native
59+
memory], NMT, has been added to native-image. This is useful to diagnose
60+
memory leaks.
61+
62+
[[getting-started-25]]
63+
== Get Started with Mandrel 25 Today!
64+
65+
Ready to experience the power of Mandrel 25?
66+
67+
* **Download Mandrel 25:** You can download the latest version from the https://github.com/graalvm/mandrel/releases/tag/mandrel-25.0.0.1-Final[Mandrel
68+
release page] on Github or install it using https://sdkman.io/[sdkman] by running:
69+
[source,bash]
70+
----
71+
sdk install java 25.0.0.1.r25-mandrel
72+
----
73+
* **Builder Image with Quarkus:** Alternatively start using the Mandrel 25
74+
builder image for your quarkus application by specifying
75+
`-Dquarkus.native.builder-image=quay.io/quarkus/ubi9-quarkus-mandrel-builder-image:jdk-25`
76+
to your maven build.
77+
78+
[[quarkus-compatibility-mandrel-25]]
79+
== Quarkus Compatibility
80+
81+
It's recommended to use at least Quarkus release 3.27.0 when using the Mandrel 25
82+
native builder. For older versions of Quarkus use the Mandrel 23.1 native
83+
builder.
84+
85+
[[graalvm-community-gratitude]]
86+
== Shout Out to GraalVM Community
87+
88+
We are very grateful for the immense support from the upstream GraalVM
89+
community, especially the Oracle GraalVM team for stewarding and sponsoring the
90+
development of GraalVM as well as for accepting Mandrel under the GraalVM
91+
organization. Onward to more collaboration with the community as the next
92+
version of GraalVM unfolds!
93+
94+
We are incredibly excited about Mandrel 25 and will be making it the default
95+
native image generator in an upcoming Quarkus release. In the meantime, do let
96+
us know your experience of using Mandrel 25 with Quarkus!
97+
98+
You can share your feedback with us in Quarkus' https://quarkusio.zulipchat.com/[Zulip chat workspace] or on https://github.com/quarkusio/quarkus/[GitHub].

0 commit comments

Comments
 (0)