From 300d96b31d2979eceb6344b77d0cddd7cd86a6b9 Mon Sep 17 00:00:00 2001 From: Abhinay Agarwal Date: Fri, 11 Sep 2026 19:46:04 +0530 Subject: [PATCH] JavaFX 27 release --- config.toml | 10 ++--- content/highlights/27/_index.md | 75 +++++++++++++++++++++++++++++++++ 2 files changed, 80 insertions(+), 5 deletions(-) create mode 100644 content/highlights/27/_index.md diff --git a/config.toml b/config.toml index dea3817..460ca04 100644 --- a/config.toml +++ b/config.toml @@ -33,7 +33,7 @@ theme = "hugo-elate-theme" # postpended links [[menu.postpend]] - url = "/highlights/26" + url = "/highlights/27" name = "Highlights" weight = 1 @@ -104,19 +104,19 @@ theme = "hugo-elate-theme" [[params.documentation.reference.item]] title = "API documentation" - url = "/javadoc/26/" + url = "/javadoc/27/" [[params.documentation.reference.item]] title = "Introduction to FXML" - url = "/javadoc/26/javafx.fxml/javafx/fxml/doc-files/introduction_to_fxml.html" + url = "/javadoc/27/javafx.fxml/javafx/fxml/doc-files/introduction_to_fxml.html" [[params.documentation.reference.item]] title = "JavaFX CSS Reference Guide" - url = "/javadoc/26/javafx.graphics/javafx/scene/doc-files/cssref.html" + url = "/javadoc/27/javafx.graphics/javafx/scene/doc-files/cssref.html" [[params.documentation.reference.item]] title = "Release Notes" - url = "https://github.com/openjdk/jfx/blob/jfx26/doc-files/release-notes-26.md" + url = "https://github.com/openjdk/jfx/blob/jfx27/doc-files/release-notes-27.md" [[params.documentation.community.item]] title = "FXDocs" diff --git a/content/highlights/27/_index.md b/content/highlights/27/_index.md new file mode 100644 index 0000000..33cbb39 --- /dev/null +++ b/content/highlights/27/_index.md @@ -0,0 +1,75 @@ +--- +title: "JavaFX 27 Highlights" +section: "highlights" +styleclass: "content" +--- +# JavaFX 27 Highlights + +JavaFX version 27 has been released. We've tailored down some of the most exciting parts of the release in this document. + +## Important Changes + +### JavaFX 27 Requires JDK 25 or Later + +JavaFX 27 is compiled with `--release 25` and thus requires JDK 25 or later in order to run. +If you attempt to run with an older JDK, the Java launcher will exit with an error message indicating that the `javafx.base` module cannot be read. + +See [JDK-8376601](https://bugs.openjdk.org/browse/JDK-8376601) for more information. + +### Metal Is the Default Rendering Pipeline on macOS + +Metal is now the default JavaFX rendering pipeline on macOS, replacing the OpenGL-based ES2 pipeline. +Applications can benefit from a modern, faster, and lower-power graphics API. +If needed, applications can still use the ES2 pipeline by setting the `-Dprism.order=es2` system property. + +See [JDK-8373091](https://bugs.openjdk.org/browse/JDK-8373091) for more information. + +Exciting features: +- New APIs: + - RichTextArea tab stop attributes + - RichTextArea embedded image, text background, and wavy underline attributes + - Conditional stylesheet imports + - ConditionalFeature media queries + - Platform media query + - JavaFX controls in the title bar + +- New Features: + - Metal is now the default JavaFX rendering pipeline on macOS + - Animations now respect the reduced motion preference + - RichTextArea includes new text APIs and accessibility improvements + - Improved accessibility support on macOS, including navigable static text and hyperlinks + - Better Flatpak integration through GtkFileChooserNative + - iOS support improvements, including UIWindowScene support + +The community came together to fix more than 60 bugs in this release. Following are some notable bug fixes that went into this release: + +- Fixes for multiple FilteredList and ListChangeBuilder index handling issues +- Fixes for slow selection and sorting in TableView, TreeView, TreeTableView, ChoiceBox, and ListView +- Fix for ComboBox popup positioning, string converter updates, null handling, and cell graphics +- Fix for prompt text visibility in empty focused text input controls +- Fixes for RichTextArea export and attribute handling +- Fixes for Metal rendering and render scale issues +- Fix for FlowPane layout wrapping of TextFlow nodes with max-width styling +- Fixes for macOS menu bar, trackpad scrolling, and system menu behavior +- Fixes for iOS Glass toolkit crashes and threading issues +- Fix for animated GIFs not animating after the WebKit update + +Finally, these are some dependency upgrades in this release: +- Update WebKit to 623.1 +- Update GStreamer to 1.28.3 +- Update libxml2 to 2.15.3 +- Update libxslt to 1.1.45 +- Update JPEG Image Decoding Software to 10 +- Provide media support for libavcodec version 62 + +Security fixes: +- Improve graphics playback +- Improve audio conversion +- Better handling of MP4 files +- Enhance playlist loading +- Improve editor selection +- Enhance WebView resource loading + +A more comprehensive list of all the changes for this release can be found on [Github](https://github.com/openjdk/jfx/blob/jfx27/doc-files/release-notes-27.md). + +Kudos go to the fine people at [Gluon](https://gluonhq.com) who took care of the bulk of the work on JavaFX 27. Do check their [JavaFX Long Term Support](https://gluonhq.com/services/javafx-support/) services.