Zmiany w JavaFX 10

W JavaFX 10 nie było żadnych zmian w stosunku do Java 9. JavaFX została jedynie przeniesiona z Oracle do OpenJFX.

Zmiany w JavaFX 11

JavaFX 11 stała się zestawem modułów oddzielonych od JDK 11, wymaga jednak obecności przynajmniej OpenJDK 10, a najlepiej JDK 11, które jest rekomendowane.
Od tej wersji autonomiczne (standalone) moduły javafx.* są ładowane przez ładowarkę klas aplikacji i domyślnie nie wymagają zezwoleń (permissions). Aplikacje, które mają być uruchamiane z menedżerem bezpieczeństwa muszą specyfikować plik polityki bezpieczeństwa używając -Djava.security.policy, a także udzielając pozwolenia na każdy moduł javafx.*.
Więcej informacji na ten temat znajdziesz na stronie JDK-8210617.
W tej wersji naprawiono też niektóre błędy i wprowadzono szereg rozszerzeń, ich listę znajdziesz tu: lista naprawionych błędów oraz lista rozszerzeń dla JavaFX 11.
Najważniejszą zmianą jest dodanie FX Robot API z klasą javax.scene.robot. Robot w module javafx.graphics.

Zmiany w JavaFX 12

W wersji JavaFX 12 brak przełomowych zmian. Listę rozszerzeń i naprawionych błędów znajdziesz tutaj: lista naprawionych błędów oraz lista rozszerzeń dla JavaFX 12.

Zmiany w JavaFX 13

Ta wersja nie wnosi nic szczególnie istotnego. Lista rozszerzeń i naprawionych błędów znajduje się tu: lista naprawionych błędów oraz lista rozszerzeń dla JavaFX 13.

Zmiany w JavaFX 14

W wersji JavaFX 14 nadal brak przełomowych zmian. Listę rozszerzeń i naprawionych błędów znajdziecie tutaj: lista naprawionych błędów oraz lista rozszerzeń dla JavaFX 14.
Warte zauważenia jest wprowadzenie obsługi HTTP/2 do WebView.

Zmiany w JavaFX 15

Również i w tej wersji nie pojawiło się nic szczególnie istotnego. Listę rozszerzeń i naprawionych błędów dla JavaFX 15 znajdziecie tu: lista naprawionych błędów oraz lista rozszerzeń dla JavaFX 15, a dla JavaFX 15.0.1 tu: lista naprawionych błędów oraz lista rozszerzeń dla JavaFX 15.0.1.

Zmiany w JavaFX 16

Listę rozszerzeń i naprawionych błędów dla JavaDX 16 znajdziecie tutaj: lista naprawionych błędów oraz lista rozszerzeń dla JavaFX 16.
W tej wersji pojawia się dość istotna zmiana: od teraz JavaFX musi być załadowana z modułów umieszczonych na ścieżce modułów (MODULEPATH). Nie może być ładowana ze ścieżki klas (CLASSPATH).
Oprócz tych zmian w JavaFX 16 pojawił się też odkryty przez nas błąd. Do wykonania kodu tworzenia migawek zawierajacych linię
BufferedImage bi = SwingFXUtils.fromFXImage(wi, null);
wymagane są moduły java.desktop i javafx.swing. Niestety, module-info.java wyrzuca komunikat pokazany poniżej:
Komunikat: Module 'rozdzial07c' reads package 'java.applet' from both 'java.desktop' and 'java.desktop'.
Usunięcie linii dotyczącej java.desktop niczego nie zmienia, ale kod mimo wszystko się wykonuje. Prawdopodobną przyczyną komunikatu jest błąd w module javafx.swing. Problem występuje tylko w JavaFX 16, we wcześniejszych wersjach JavaFX się nie pojawia.

Zmiany w JavaFX 17

W tej wersji nie pojawiło się nic istotnego. Pełną listę zmian znajdziecie tutaj: lista naprawionych błędów oraz lista rozszerzeń dla JavaFX 17.

Zmiany w JavaFX 18

W tej wersji brak istotnych zmian. Pełną listę nowości znajdziecie tutaj: lista naprawionych błędów oraz lista rozszerzeń dla JavaFX 18.

Zmiany w JavaFX 19

Nie ma istotnych zmian w tej wersji. Pełną listę nowości znajdziecie tutaj: lista naprawionych błędów oraz lista rozszerzeń dla JavaFX 19.

Zmiany w JavaFX 20

W FXML silnik JavaScript jest domyślnie wyłączony. Aby włączyć należy ustawić zmienną systemową -Djavafx.allowjs=true.
Pełną listę nowości znajdziecie tutaj: lista naprawionych błędów oraz lista rozszerzeń dla JavaFX 20