OpenJFX 25 Release Notes
Planned versions
| Version | Planned release date |
|---|---|
| 25.0.6 | January 19, 2027 |
| 25.0.7 | April 20, 2027 |
| 25.0.8 | July 20, 2027 |
| 25.0.9 | October 19, 2027 |
| 25.0.10 | January 18, 2028 |
All planned release dates are informative. Contact us for a personalised quote for our JavaFX Long Term Support (LTS) service.
Released versions
| Version | Release date | Release notes |
|---|---|---|
| 25.0.5 | October 20, 2026 | release notes |
| 25.0.4 | July 21, 2026 | release notes |
| 25.0.3 | April 21, 2026 | release notes |
| 25.0.2 | January 20, 2026 | release notes |
| 25.0.1 | October 21, 2025 | release notes |
| 25 | September 15, 2025 | release notes |
Release Notes for JavaFX 25.0.5
List of Fixed Bugs
| Issue key | Summary | Subcomponent |
|---|---|---|
| JDK-8387337 | GlassClipboard: Replace deprecated hash_map and hash_set | graphics |
| JDK-8379561 | Remove UNICODE related code from GLib | media |
| JDK-8384809 | Update GStreamer to 1.28.3 | media |
| JDK-8389515 | Memory leak in dshowwrapper - decoded buffers delivered by CSink are never unmapped | media |
| JDK-8380556 | Update WebKit to 625.1 | web |
| JDK-8384522 | Update libxml2 to 2.15.3 | web |
| JDK-8386859 | WebView crashes when calling document.startViewTransition() | web |
| JDK-8388451 | Additional WebKit 625.1 fixes from WebKitGTK 2.52.5 | web |
| JDK-8390652 | Additional WebKit 625.1 fixes from WebKitGTK 2.52.6 | web |
| JDK-8389783 | Crash in JavaFX native glass toolkit during Timer shutdown | window-toolkit |
List of Security fixes
| Issue key | Summary | Subcomponent |
|---|---|---|
| 8383209 | Improve JavaFX Scripting Support | web |
| 8383219 | Enhance JavaFX Document Loading | fxml |
| 8383229 | Enhance JavaFX Image Loading | window-toolkit |
| 8383252 | Enhance JavaFX DnD | graphics |
| 8383312 | Enhance JavaFX CSS Handling | controls |
| 8383322 | Enhance JavaFX Clipboard | window-toolkit |
| 8383332 | Improve JavaFX Input Methods | controls |
| 8383333 | Improve JavaFX Drag and Drop | graphics |
| 8383356 | Improve JavaFX Rich Text Formatting | controls |
| 8385198 | Enhance JavaFX Resource Loading | web |
| 8386486 | Improve graphics rendering | graphics |
| 8388783 | Custom String data cannot be read from the clipboard | controls |
| 8389176 | Enhance JavaFX image handling | graphics |
| 8391652 | Snapshot test failures after JDK-8389176 | graphics |
Release Notes for JavaFX 25.0.4
List of Fixed Bugs
| Issue key | Summary | Subcomponent |
|---|---|---|
| JDK-8379209 | Uninitialised variable in pathApplierFunctionFast of coretext.c | graphics |
| JDK-8379211 | Uninitialised memory in Java_com_sun_javafx_font_freetype_OSFreetype_FT_1Outline_1Decompose | graphics |
| JDK-8379257 | Update JPEG Image Decoding Software to 10 | graphics |
| JDK-8379206 | 4 Null pointer dereference defect groups in 4 glib files | media |
| JDK-8381447 | Remove G_DISABLE_CHECKS compiler flag on Windows to align GLib/GStreamer compilation with macOS/Linux | media |
| JDK-8375084 | Update libxslt to 1.1.45 | web |
| JDK-8378226 | Animated GIFs do not animate after WebKit 620.1 update | web |
| JDK-8379336 | Update libxml2 to 2.15.2 | web |
| JDK-8381517 | GlassViewDelegate::convertNSStringToJString can return uninitialized value | window-toolkit |
List of Security fixes
| Issue key | Summary | Subcomponent |
|---|---|---|
| JDK-8373527 (not public) | Improve Graphics playback | graphics |
| JDK-8379207 (not public) | Improve audio conversion | media |
| JDK-8383129 (not public) | Better Handling of MP4 Files | media |
| JDK-8383143 (not public) | Enhance Playlist Loading | media |
| JDK-8378277 (not public) | Improve Editor selection | web |
| JDK-8383092 (not public) | Enhance WebView ResourceLoading | web |
Release Notes for JavaFX 25.0.3
List of Fixed Bugs
| Issue key | Summary | Subcomponent |
|---|---|---|
| JDK-8368572 | Update WebKit to 623.1 | web |
| JDK-8376282 | [linux, macos] JavaFX fails to build WebKit in DebugNative | web |
| JDK-8377099 | Additional WebKit 623.1 fixes from WebKitGTK 2.50.4 | web |
| JDK-8377930 | Additional WebKit 623.1 fixes from WebKitGTK 2.50.5 | web |
| JDK-8380557 | Additional WebKit 623.1 fixes from WebKitGTK 2.50.6 | web |
| JDK-8367045 | [Linux] Dead keys not working | window-toolkit |
Release Notes for JavaFX 25.0.2
List of Enhancements
| Issue key | Summary | Subcomponent |
|---|---|---|
| JDK-8271024 | Implement macOS Metal Rendering Pipeline | graphics |
List of Fixed Bugs
| Issue key | Summary | Subcomponent |
|---|---|---|
| JDK-8367602 | Regression: TabPane with wrapped label calculates wrong initial size | controls |
| JDK-8335748 | Rippling of frame on scrolling | graphics |
| JDK-8368166 | Media query should accept multiple rules | graphics |
| JDK-8368631 | Avoid updating disposed MTLTexture | graphics |
| JDK-8368879 | Intermittent crash on exit when disposing MTLRTTextureData | graphics |
| JDK-8366217 | Update GStreamer to 1.26.5 | media |
| JDK-8371052 | Update libFFI to 3.5.2 | media |
| JDK-8361644 | Update ICU4C to 77.1 | web |
| JDK-8366744 | Update SQLite to 3.50.4 | web |
| JDK-8367578 | Additional WebKit 622.1 fixes from WebKitGTK 2.48.7 | web |
| JDK-8368691 | Update libxml2 to 2.14.6 | web |
| JDK-8370235 | WebKit build fails on Windows 32-bit and Linux 32-bit after JDK-8367578 | web |
| JDK-8370632 | Additional libxslt 1.1.43 fixes | web |
| JDK-8252373 | [macOS] Stage with owner disappears when moved to another screen | window-toolkit |
| JDK-8350479 | SW pipeline should use default pipeline in Glass | window-toolkit |
| JDK-8367370 | Accent color platform preference not updating in macOS 26 (Tahoe) | window-toolkit |
| JDK-8368021 | Window buttons of extended RTL stage are on the wrong side | window-toolkit |
| JDK-8372453 | [macOS] Iconifying owner may not iconify owned window | window-toolkit |
List of Security Fixes
| Issue key | Summary | Subcomponent |
|---|---|---|
| JDK-8361719 (not public) | Enhance Handling of URIs | application-lifecycle |
| JDK-8362535 (not public) | Update libxslt support | web |
| JDK-8368704 (not public) | Better glyph handling | graphics |
Release Notes for JavaFX 25.0.1
List of Fixed Bugs
| Issue key | Summary | Subcomponent |
|---|---|---|
| JDK-8361648 | Update Glib to 2.84.3 | media |
| JDK-8328684 | HellowWebView demo crashes when a webpage is scrolled | web |
| JDK-8356982 | Update WebKit to 622.1 | web |
| JDK-8360270 | Websocket communication issues with Vaadin applications through webview | web |
Release Notes for JavaFX 25
List of Enhancements
| Issue key | Summary | Subcomponent |
|---|---|---|
| JDK-8313556 | Create implementation of NSAccessibilitySlider protocol | accessibility |
| JDK-8313558 | Create implementation of NSAccessibilityStepper protocol | accessibility |
| JDK-8350316 | Create implementation of NSAccessibilityProgressIndicator protocol | accessibility |
| JDK-8351773 | Create implementation of NSAccessibilityGroup protocol | accessibility |
| JDK-8356983 | Create implementation of NSAccessibilityImage protocol | accessibility |
| JDK-8359257 | Create accessibility protocol for TabGroup component | accessibility |
| JDK-8361379 | [macos] Refactor accessibility code to retrieve attribute by name | accessibility |
| JDK-8359387 | Bump minimum JDK version for JavaFX to JDK 23 | build |
| JDK-8335547 | Support multi-line prompt text for TextArea | controls |
| JDK-8355774 | RichTextArea: provide mechanism for CSS styling of highlights | controls |
| JDK-8357594 | Additional geometry-based Text/TextFlow APIs | controls |
| JDK-8313424 | JavaFX controls in the title bar (Preview) | graphics |
| JDK-8314482 | TextFlow: TabStopPolicy | graphics |
| JDK-8341670 | [Text,TextFlow] Public API for Text Layout Info | graphics |
| JDK-8345348 | CSS media feature queries | graphics |
| JDK-8353617 | Remove deprecated TransitionEvent constructor | graphics |
| JDK-8358255 | Factor out boilerplate code of EventHandler properties in Scene and Window | graphics |
| JDK-8337960 | Improve performance of mfwrapper by reusing GStreamer media buffers for decoded video | media |
| JDK-8349373 | Support JavaFX preview features | other |
| JDK-8359396 | [Linux] Require Gtk3 >= 3.20 for glass-gtk | window-toolkit |
List of Fixed Bugs
| Issue key | Summary | Subcomponent |
|---|---|---|
| JDK-8357157 | Exception thrown from AnimationTimer freezes application | animation |
| JDK-8170720 | VetoableListDecorator: Indexes to remove are not aggregated | base |
| JDK-8233179 | VetoableListDecorator#sort throws IllegalArgumentException “duplicate children” | base |
| JDK-8347753 | VetoableListDecorator doesn’t accept its own sublists for bulk operations | base |
| JDK-8351038 | ConcurrentModificationException in EventType constructor | base |
| JDK-8351276 | Prevent redundant computeValue calls when a chain of mappings becomes observed | base |
| JDK-8358770 | incubator.richtext pom missing dependency on incubator.input | build |
| JDK-8361713 | JavaFX API docs overview is missing an intro section | build |
| JDK-8089080 | [TextArea] Caret disappear after pressing backspace to clear the content | controls |
| JDK-8185887 | TableRowSkinBase fails to correctly virtualize cells in horizontal direction | controls |
| JDK-8207333 | [Linux, macOS] Column sorting is triggered always after context menu request on table header | controls |
| JDK-8252566 | TreeTableView: broken row layout for fixedCellSize | controls |
| JDK-8276326 | Empty Cells in TableView supposedly after using setFixedCellSize() | controls |
| JDK-8277000 | Tree-/TableRowSkin: replace listener to fixedCellSize by live lookup | controls |
| JDK-8299753 | Tree/TableView: Column Resizing With Fractional Scale | controls |
| JDK-8299755 | Tree/TableView: Cursor Decouples From Divider When Resizing With Fractional Scale | controls |
| JDK-8333275 | ComboBox: adding an item from editor changes editor text | controls |
| JDK-8335587 | TextInputControl: Binding prompt text that contains linebreak causes exception | controls |
| JDK-8340344 | The first item in TreeView is not aligned in the beginning | controls |
| JDK-8341281 | Root TreeItem with null value breaks TreeTableView | controls |
| JDK-8346824 | Collapsing tree view causes rendering issues | controls |
| JDK-8347392 | Thread-unsafe implementation of c.s.j.scene.control.skin.Utils | controls |
| JDK-8348100 | Tooltips cannot be instantiated on background thread | controls |
| JDK-8349091 | Charts: exception initializing in a background thread | controls |
| JDK-8349098 | TabPane: exception initializing in a background thread | controls |
| JDK-8349105 | Pagination: exception initializing in a background thread | controls |
| JDK-8349255 | TitledPane: exception initializing in a background thread | controls |
| JDK-8349756 | Memory leak in PaginationSkin when setting page count / index | controls |
| JDK-8349758 | Memory leak in TreeTableView | controls |
| JDK-8350976 | MenuBarSkin: exception initializing in a background thread | controls |
| JDK-8351047 | TitledPane should handle titles that are resizable | controls |
| JDK-8351368 | RichTextArea: exception pasting from Word | controls |
| JDK-8351878 | RichTextArea: copy/paste issues | controls |
| JDK-8355012 | JavaFX modena.css -fx-highlight-text-fill bug | controls |
| JDK-8355415 | RichTextArea: NPE in VFlow::scrollCaretToVisible | controls |
| JDK-8355615 | ConcurrentModificationException creating MenuBar on background thread | controls |
| JDK-8357393 | RichTextArea: fails to properly save text attributes | controls |
| JDK-8364049 | ToolBar shows overflow menu with fractional scale | controls |
| JDK-8364088 | ToolBarSkin: NPE in select() | controls |
| JDK-8281384 | Random chars on paste from Windows clipboard | graphics |
| JDK-8318985 | [macos] Incorrect 3D lighting on macOS 14 and later | graphics |
| JDK-8334137 | Marlin: replace sun.misc.Unsafe memory access methods with FFM | graphics |
| JDK-8342530 | Specifying “@Nx” scaling level in ImageStorage should only load that specific level | graphics |
| JDK-8349256 | Update PipeWire to 1.3.81 | graphics |
| JDK-8350149 | VBox ignores bias of child controls when fillWidth is set to false | graphics |
| JDK-8351067 | Enforce Platform threading use | graphics |
| JDK-8351867 | No UI changes while iconified | graphics |
| JDK-8353632 | [Linux] Undefined reference to PlatformSupport::OBSERVED_SETTINGS with C++14 | graphics |
| JDK-8353845 | com.sun.javafx.css.BitSet.equals(null) throws NPE | graphics |
| JDK-8354797 | Parent.needsLayoutProperty() should return read-only getter | graphics |
| JDK-8354813 | Parent.isNeedsLayout() may return wrong value in property listener | graphics |
| JDK-8357004 | Windows platform color changes are not picked up in some cases | graphics |
| JDK-8358454 | Wrong <br> tags in cssref.html | graphics |
| JDK-8362873 | Regression in BorderPane after JDK-8350149 | graphics |
| JDK-8329227 | Seek might hang with fMP4 H.265/HEVC or H.265/HEVC over HTTP/FILE | media |
| JDK-8357714 | AudioClip.play crash on macOS when loading resource from jar | media |
| JDK-8088343 | Race condition in javafx.concurrent.Task::cancel | other |
| JDK-8350048 | Enforce threading restrictions for show and hide methods in Window, Control, and Skin | other |
| JDK-8245602 | Ensemble8: HTMLEditor Toolbar gets scrolled out of view | samples |
| JDK-8146479 | Scene is black after stage is restored (content changed while minimized) | scenegraph |
| JDK-8340322 | Update WebKit to 620.1 | web |
| JDK-8347937 | Canvas pattern test fails and crashes on WebKit 620.1 | web |
| JDK-8349924 | Additional WebKit 620.1 fixes from WebKitGTK 2.46.6 | web |
| JDK-8350284 | WebKit 620.1 crashes on startup on Windows x86 32-bit | web |
| JDK-8351264 | Some images don’t load with WebKit 620.1 | web |
| JDK-8352162 | Update libxml2 to 2.13.8 | web |
| JDK-8352164 | Update libxslt to 1.1.43 | web |
| JDK-8353916 | Unexpected event type for DOM mutation events with WebKit 620.1 | web |
| JDK-8354876 | Update SQLite to 3.49.1 | web |
| JDK-8354940 | Fail to sign in to Microsoft sites with WebView | web |
| JDK-8176813 | Mac: Failure to exit full-screen programmatically in some cases | window-toolkit |
| JDK-8348095 | [Linux] Menu shows up in wrong position when using i3 windows manager in full screen mode | window-toolkit |
| JDK-8351733 | Crash when creating too many nested event loops | window-toolkit |
| JDK-8353314 | macOS: Inconsistent fullscreen behavior | window-toolkit |
| JDK-8353548 | [macOS] DragEvent.getScreenY() returns incorrect value in secondary monitor | window-toolkit |
| JDK-8354478 | Improve StageStyle documentation | window-toolkit |
| JDK-8354631 | [macos] OpenURIHandler events not received by AWT when JavaFX is primary toolkit | window-toolkit |
| JDK-8356652 | Input field ignores custom input source characters | window-toolkit |
| JDK-8357584 | [XWayland] [OL10] Robot.mousePress() is delivered to wrong place | window-toolkit |
| JDK-8359601 | Fix window button states of an extended stage | window-toolkit |
| JDK-8359763 | Close request handler is not called for an extended stage | window-toolkit |
| JDK-8362095 | HeaderButtonMetrics should not be used across toolkit boundary | window-toolkit |
| JDK-8363813 | Missing null check in GlassScreen | window-toolkit |