← JavaFX

OpenJFX 23 Release Notes

Released versions

VersionRelease dateRelease notes
23.0.2January 21, 2025release notes
23.0.1October 15, 2024release notes
23September 17, 2024release notes

Release Notes for JavaFX 23.0.2

List of Fixed Bugs

Issue keySummarySubcomponent
JDK-8333374Cannot invoke “com.sun.prism.RTTexture.contentsUseful()” because “this.txt” is nullgraphics
JDK-8340208Additional WebKit 619.1 fixes from WebKitGTK 2.44.4web
JDK-8335469[XWayland] crash when an AWT ScreenCast session overlaps with an FX ScreenCast sessionwindow-toolkit

List of Security fixes

Issue keySummarySubcomponent
JDK-8335714 (not public)Enhance playing MP3smedia
JDK-8335715 (not public)Improve Direct Show supportmedia

Release Notes for JavaFX 23.0.1

List of Enhancements

Issue keySummarySubcomponent
JDK-8334874Horizontal scroll events from touch pads should scroll the TabPane tabscontrols

List of Fixed Bugs

Issue keySummarySubcomponent
JDK-8323787Mac System MenuBar throws IOB exceptiongraphics
JDK-8336277Colors are incorrect when playing H.265/HEVC on Windows 11media
JDK-8336938Update libFFI to 3.4.6media
JDK-8336939Update Glib to 2.80.4media
JDK-8336940Update GStreamer to 1.24.6media
JDK-8338701Provide media support for libavcodec version 61media
JDK-8328994Update WebKit to 619.1web
JDK-8334124Rendering issues with CSS “text-shadow” in WebViewweb
JDK-8336798DRT test cssrounding.html test for linear layout fails with WebKit 619.1web
JDK-8336941Update libxslt to 1.1.42web
JDK-8337481File API: file.name contains path instead of nameweb
JDK-8338306WebView Drag and Drop fails with WebKit 619.1web
JDK-8338307Additional WebKit 619.1 fixes from WebKitGTK 2.44.3web
JDK-8319779SystemMenu: memory leak due to listener never being removedwindow-toolkit

Release Notes for JavaFX 23

Introduction

The following notes describe important changes and information about this release. In some cases, the descriptions provide links to additional detailed information about an issue or a change.

These release notes cover the standalone JavaFX 23 release. JavaFX 23 requires JDK 21 or later.

Important Changes

JavaFX 23 Requires JDK 21 or Later

JavaFX 23 is compiled with --release 21 and thus requires JDK 21 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-8321603 for more information.

Clicking on the Scrollbar Track of Virtualized Controls Scrolls by Viewport Length

Clicking on the scrollbar track of virtualized controls, such as ListView, TreeView, TableView, and TreeTableView, now scrolls by the viewport length rather than the length of the empty cell. Furthermore, cells are no longer aligned to the top or bottom of the viewport after scrolling.

See JDK-8323511 for more information.

Keyboard Scrolling in Virtualized Controls

Keyboard scrolling key bindings, alt-ctrl-arrows (option-command-arrows on macOS), have been added to virtualized controls such as ListView, TreeView, TableView, and TreeTableView to improve accessibility.

See JDK-8313138 for more information.

List of New Features

Issue keySummarySubcomponent
JDK-8092102Labeled: textTruncated propertycontrols
JDK-8313138Scrollbar Keyboard enhancementcontrols
JDK-8267565Support “@3x” and greater high-density image naming conventiongraphics
JDK-8311895CSS Transitionsgraphics
JDK-8282999Add support for EXT-X-MEDIA tag in HTTP Live Streamingmedia

List of Other Enhancements

Issue keySummarySubcomponent
JDK-8321603Bump minimum JDK version for JavaFX to JDK 21build
JDK-8322748Caret blinking in JavaFX should only stop when caret movescontrols
JDK-8322964Optimize performance of CSS selector matchinggraphics
JDK-8324182Deprecate for removal SimpleSelector and CompoundSelector classesgraphics
JDK-8325900Emit a warning on macOS if AWT has set the NSAppearancegraphics

List of Fixed Bugs

Issue keySummarySubcomponent
JDK-8309374Accessibility Focus Rectangle on ListItem is not drawn when ListView is shown for first timeaccessibility
JDK-8329705Add missing Application thread checks to platform specific a11y methodsaccessibility
JDK-8330462StringIndexOutOfBoundException when typing anything into TextFieldaccessibility
JDK-8332748Grammatical errors in animation API docsanimation
JDK-8271865SortedList::getViewIndex behaves not correctly for some index valuesbase
JDK-8324797Code example in JavaDoc of ObservableValue#when doesn’t compilebase
JDK-8331616ChangeListener is not triggered when the InvalidationListener is removedbase
JDK-8088923IOOBE when adding duplicate categories to the BarChartcontrols
JDK-8186188TableColumHeader: initial auto-size broken if has graphiccontrols
JDK-8193286IntegerSpinnerFactory does not wrap value correctlycontrols
JDK-8198830BarChart: auto-range of CategoryAxis not working on dynamically setting datacontrols
JDK-8242553IntegerSpinner and DoubleSpinner do not wrap around values correctly in some casescontrols
JDK-8273349Check uses of Stream::peek in controls and replace as neededcontrols
JDK-8273657TextField: all text content must be selected initiallycontrols
JDK-8279140ComboBox can lose selected value on item change via setAllcontrols
JDK-8301900TextArea: Committing text with ENTER in an IME window inserts newlinecontrols
JDK-8307117TextArea: wrapText property ignored when changing fontcontrols
JDK-8314754Minor ticks are not getting updated both the axes in LineChartcontrols
JDK-8319844Text/TextFlow.hitTest() is incorrect in RTL orientationcontrols
JDK-8323511Scrollbar Click jumps inconsistent amount of pixelscontrols
JDK-8323615PopupControl.skin.setSkin(Skin) fails to call dispose() on discarded Skincontrols
JDK-8324327ColorPicker shows a white rectangle on clicking on pickercontrols
JDK-8324939Editable TableView loses focus after commitcontrols
JDK-8325154resizeColumnToFitContent is slower than it needs to becontrols
JDK-8325402TreeTableRow updateItem() does not check item with isItemChanged(..)controls
JDK-8325798Spinner throws uncatchable exception on tab out from garbled textcontrols
JDK-8327727Changing the row factory of a TableView does not recreate the rowscontrols
JDK-8328577Toolbar’s overflow button overlaps the itemscontrols
JDK-8330304MenuBar: Invisible Menu works incorrectly with keyboard arrowscontrols
JDK-8330590TextInputControl: previous word fails with Bhojpuri characterscontrols
JDK-8331214Doc: update spec for SpinnerFactory classescontrols
JDK-8334739XYChart and (Stacked)AreaChart properties return incorrect beanscontrols
JDK-8089373Translation from character to key code is not sufficientgraphics
JDK-8260013Snapshot does not work for nodes in a subscenegraphics
JDK-8289115Touch events is not dispatched after upgrade to JAVAFX17+graphics
JDK-8307980Rotate Transformation never invalidates inverseCachegraphics
JDK-8311124[Windows] User installed font 8281327 fix does not work for all casesgraphics
JDK-8311492FontSmoothingType LCD produces wrong color when transparency is usedgraphics
JDK-8312603ArrayIndexOutOfBoundsException in Marlin when scaleX is 0graphics
JDK-8314215Trailing Spaces before Line Breaks Affect the Center Alignment of Textgraphics
JDK-8322251[Linux] JavaFX is not displaying CJK on Ubuntu 23.10 and latergraphics
JDK-8322619Parts of SG no longer update during rendering – overlapping – culling – dirtygraphics
JDK-8324233Update JPEG Image Decoding Software to 9fgraphics
JDK-8331603Cleanup native AbstractSurface methods getRGBImpl, setRGBImplgraphics
JDK-8332251javadoc: incorrect method references in Region and PopupControlgraphics
JDK-8332863Crash in JPEG decoder if we enable MEM_STATSgraphics
JDK-8338478[macos] Crash in CoreText with certain strings using JDK 22 or latergraphics
JDK-8320912IME should commit on focus changelocalization
JDK-8146918ConcurrentModificationException in MediaPlayermedia
JDK-8308955MediaPlayer/AudioClip skip data on seek/loopmedia
JDK-8328603HLS video stream fails to render consistentlymedia
JDK-8270996javadoc: missing comments in serialized classesother
JDK-8325073javadoc warnings: missing @param tags and other issuesother
JDK-8087444CornerRadii with different horizontal and vertical values treated as uniformscenegraph
JDK-8090267JFXPanel Input Problemswing
JDK-8322784JFXPanel calls InputMethodRequests on wrong threadswing
JDK-8324239JFXPanelHiDPITest fails on Windows 11swing
JDK-8318614Update WebKit to 617.1web
JDK-8322703Intermittent crash in WebView in a JFXPanel from IME calls on macOSweb
JDK-8323879constructor Path(Path) which takes another Path object fail to draw on canvas htmlweb
JDK-8323880Caret rendered at wrong position in case of a click event on RTL textweb
JDK-8324326Update ICU4C to 74.2web
JDK-8324337Cherry-pick WebKit 617.1 stabilization fixesweb
JDK-8325258Additional WebKit 617.1 fixes from WebKitGTK 2.42.5web
JDK-8326989Text selection issues on WebView after WebKit 617.1web
JDK-8329011Update SQLite to 3.45.3web
JDK-8331748Update libxml2 to 2.12.6web
JDK-8331765Websocket callbacks are not executed after WebKit 617.1 updateweb
JDK-8332539Update libxml2 to 2.12.7web
JDK-8334713WebKit build failed on LoongArch64 because currentStackPointer is undefinedweb
JDK-8088172Mac: On German keyboard, pressing inserts two apostrophes instead of onewindow-toolkit
JDK-8089803[Mac, TextArea] Japanese IME, caret moves to the next line when pressing Return to select a candidatewindow-toolkit
JDK-8299738ISE if Platform::exit called with fullScreen Stage on macOS 13window-toolkit
JDK-8320965Scrolling on a touch enabled display fails on Waylandwindow-toolkit
JDK-8324232KeyEvent.getCode() is null inside JFXPanelwindow-toolkit
JDK-8325591[Mac] DRAG_DONE reports null transferMode when destination is externalwindow-toolkit
JDK-8326619Stage.sizeToScene() on maximized/fullscreen Stage breaks the Windowwindow-toolkit
JDK-8326712Robot tests fail on XWaylandwindow-toolkit
JDK-8327177macOS: wrong GlobalRef deleted in GlassMenuwindow-toolkit
JDK-8329821[Linux] When using i3 WM, menus are incorrectly sizedwindow-toolkit
JDK-8335216[windows] Missing error check for GetSystemDirectory in glasswindow-toolkit
JDK-8335630Crash if Platform::exit called with fullScreen Stage on macOS 14window-toolkit