Skip to content

Releases: scalafx/scalafx

Release v.20.0.0-R31

04 Apr 23:52
v.20.0.0-R31
2c2f830
Compare
Choose a tag to compare

This release supports JavaFX 20. It was tested with Java 17 and Java 20. It can be used with Scala 2.12, 2.13,
and Scala 3+.

Note that JavaFX 20 requires Java 17 or newer. If you need to run on Java earlier than 17, please use
previous releases of ScalaFX.

New Features

  • Update JavaFX to version 20 [#388].
  • ResizeFeaturesBase is now abstract [#389]
  • AccessibleRole has now field DIALOG [#390]
  • Add wrapper and a demo for new method ObservableValue.when [#391]

For downloads visit ScalaFX on Sonatype or ScalaFX Releases on GitHub. If you have ScalaFX related questions
please use ScalaFX Discussions, or ScalaFX Users Group, or ScalaFX on StackOverflow. Please report any
problems using ScalaFX Issue Tracker.

Release v.19.0.0-R30

03 Oct 02:20
423fbab
Compare
Choose a tag to compare

This release is intended for JavaFX 19. It was build to support Java 8 binary format, and was tested to work with Java
11 and Java 17. It can be used with Scala 2.12, 2.13, and Scala 3+.

New Features

  • Update JavaFX to version 19 [#385]. This adds two new read-only properties
    to Node: focusVisible and focusWithin.

For downloads visit ScalaFX on Sonatype or ScalaFX Releases on GitHub. If you have ScalaFX related questions
please use ScalaFX Discussions, or ScalaFX Users Group, or ScalaFX on StackOverflow. Please report any
problems using ScalaFX Issue Tracker.

Full Changelog: v.18.0.2-R29...v.19.0.0-R30

Release v.18.0.2-R29

22 Jul 17:50
ecc70f9
Compare
Choose a tag to compare

This release of ScalaFX removed need to explicitly add JavaFX dependencies.

The release is intended for JavaFX 18. It was build to support Java 8 binary format, and was tested to work with Java
11 and Java 17. It can be used with Scala 2.12, 2.13, and Scala 3+.

New Features

  • Bump JavaFX to 18.0.2 [#383]

For downloads visit ScalaFX on Sonatype or ScalaFX Releases on GitHub. If you have ScalaFX related questions
please use ScalaFX Discussions, or ScalaFX Users Group, or ScalaFX on StackOverflow. Please report any
problems using ScalaFX Issue Tracker.

Full Changelog: v.18.0.1-R28...v.18.0.2-R29

Release v.18.0.1-R28

16 Jul 03:38
v.18.0.1-R28
18b6d5c
Compare
Choose a tag to compare

This release of ScalaFX removed need to explicitly add JavaFX dependencies.

The release is intended for JavaFX 18. It was build to support Java 8 binary format, and was tested to work with Java
11 and Java 17. It can be used with Scala 2.12, 2.13, and Scala 3+.

New Features

  • Make ScalaFX dependent on JavaFX non-native binaries [#380]

For downloads visit ScalaFX on Sonatype or ScalaFX Releases on GitHub. If you have ScalaFX related questions
please use ScalaFX Discussions, or ScalaFX Users Group, or ScalaFX on StackOverflow. Please report any
problems using ScalaFX Issue Tracker.

Full Changelog: v.18.0.1-R27...v.18.0.1-R28

Release v.18.0.1-R27

10 May 01:50
v.18.0.1-R27
31072be
Compare
Choose a tag to compare

This release of ScalaFX adds support for JavaFX 18. The release was build to support Java 8 binary format, and was tested to work with Java 11 and Java 17. It can be used with Scala 2.12, 2.13, and Scala 3+.

New Features

Bug fixes:

  • Incorrect deprecation warning for cellFactory [#363]
  • NPE in TableColumn.cellValueFactory_= [#371], thanks to @s-bernard
  • Fix NPEs in TableColumn, TreeTableColumn & Stage [#372], thanks to @s-bernard

For downloads visit ScalaFX on Sonatype or ScalaFX Releases on GitHub. If you have ScalaFX related questions
please use ScalaFX Discussions, or ScalaFX Users Group, or ScalaFX on StackOverflow. Please report any
problems using ScalaFX Issue Tracker.

Release v.17.0.1-R26

04 Dec 15:58
427b517
Compare
Choose a tag to compare

This release of ScalaFX adds long awaited support for JavaFX 17. This release was tested to work with Java 11 and Java 17. It can be used with Scala 2.12, 2.13, and Scala 3+.

New Features

Bug fixes:

  • Issue #366 - NPE possible when getting a column from a TableView.ResizeFeatures #366, thanks to bug report from @s-bernard

For downloads visit ScalaFX on Sonatype or ScalaFX Releases on GitHub. If you have ScalaFX related questions
please use ScalaFX Discussions, or ScalaFX Users Group, or ScalaFX on StackOverflow. Please report any
problems using ScalaFX Issue Tracker.

Release v.16.0.0-R25

18 Sep 19:14
v.16.0.0-R25
1ab3460
Compare
Choose a tag to compare

ScalaFX 16.0.0-R25 supports JavaFX 16. This release was tested to work with Java 11 and Java 16. It can be used
with Scala 2.12, 2.13, and Scala 3.

The main new feature of this release is the simpler way to crate custom cellFactory (Issue #256). The JavaFX
boilerplate code generation was moved behind the scenes. A correct cellFactory can be defined with a simple lambda.
For instance, here we render a cell content as a Circle of a given color:

cellFactory = (cell, color) => {
  cell.graphic = Circle(fill = color, radius = 8)
}

Compare to the more verbose way that had to be done in previous versions to endure that empty cells are rendered
correctly:

cellFactory = { _ =>
  new TableCell[Person, Color] {
    item.onChange { (_, _, newColor) =>
      graphic =
        if (newColor != null)
          new Circle {
            fill = newColor
            radius = 8
          }
        else
          null
    }
  }
}

You can find a brief description here. There are several examples of how to
use cellFactory use with different controls in scalafx-demos.

Note that if you use the old way of assigning cellFactory you will need to be more explicit and provide type
annotations for lambda arguments. Without that some old code may not compile with 16.0.0-R25.

New Features

  • Issue #256 - Change custom cellFactory assignment methods to help in correct implementation that avoids
    artifacts

Bug fixes:

  • Issue #360 - Implicit should convert jfxa.Application.Parameters to JFXApp3.Parameters

Updates to documentation and demos:

  • Issue #352 - Update scaladoc demos to use JFXApp3. Big thanks to @rom1dep for converting the demos.
  • Issue #353 - Update scalafx.org documentation to use JFXApp3 instead of deprecated JFXApp.

For downloads visit ScalaFX on Sonatype or ScalaFX Releases on GitHub. If you have ScalaFX related questions
please use ScalaFX Discussions, or ScalaFX Users Group, or ScalaFX on StackOverflow. Please report any
problems using ScalaFX Issue Tracker.

Release v.16.0.0-R24

17 May 03:36
Compare
Choose a tag to compare

ScalaFX 16.0.0-R24 supports JavaFX 16. This release was tested to work with Java 11 and Java 16. It can be used with
Scala 2.12, 2.13, and Scala 3.

Main reason for this release is to correct issue in Scala 3 binaries dependency:

  • Issue #355 - Scala 3 build should not depend on scala-reflect 2.13

For downloads visit ScalaFX on Sonatype or ScalaFX Releases on GitHub. If you have ScalaFX related questions
please use ScalaFX Discussions, or ScalaFX Users Group, or ScalaFX on StackOverflow. Please report any
problems using ScalaFX Issue Tracker.

Release v.16.0.0-R23

16 May 21:34
Compare
Choose a tag to compare

ScalaFX 16.0.0-R23 supports JavaFX 16. This release was tested to work with Java 11 and Java 16. It can be used with
Scala 2.12, 2.13, and Scala 3.

Main reason for this release is to publish binaries for final release of Scala 3.0.0

Changes

  • Issue #349 - Update to Scala 3.0.0-RC3 to final release 3.0.0

  • Issue #345 - Deprecate JFXApp. It depends on DelayedInit that is deprecated since Scala 2.11.0, and no
    longer works in Scala 3.

  • Issue #137 - Creation of a TableView not possible. This issue is due to bug in Scala compiler 2.12, no longer
    present in Scala 2.13, nor Scala 3.

  • Issue #181 - Type Mismatch in adding Panes to children of a Pane. This issue is due to bug in Scala compiler
    2.12, no longer present in Scala 2.13, nor Scala 3.

For downloads visit ScalaFX on Sonatype or ScalaFX Releases on GitHub. If you have ScalaFX related questions
please use ScalaFX Discussions, or ScalaFX Users Group, or ScalaFX on StackOverflow. Please report any
problems using ScalaFX Issue Tracker.

Release v.16.0.0-R22

23 Apr 00:05
Compare
Choose a tag to compare

ScalaFX 16.0.0-R22 support JavaFX 16. This release was tested to work with Java 11 and Java 16. It can be used with Scala 2.12, 2.13, and Scala 3.0.0-RC3.

Braking changes

  • Issue #340 - make collections creation consistent with Scala collections 2.13 and Scala 3. The change impact
    cases when you create a ScalaFX collection from other collections. For instance, before ObservableBuffer(1,2,3)
    and ObservableBuffer(Seq(1,2,3)) created collection of type ObservableBuffer[Int], this lead to some ambiguities
    what the type of the collection should be. To make clear that you want to copy individual elements rather than the
    whole collection as a single element use from method. For instance, ObservableBuffer.from(Seq(1,2,3)) will create
    collection of type ObservableBuffer[Int]. Now ObservableBuffer(Seq(1,2,3)) will assume that you are passing only
    one element of type Seq[Int] so it will create collection of type ObservableBuffer[Seq[Int]]. This behaviour is
    consistent with the collection factory methods in Scala 2.13 and Scala 3.

    In other words, if you provide elements directly, use ObservableBuffer(1,2,3). If you have elements in some other
    collection, say mySeq of type Seq[Int] and you want to create ObservableBuffer from its individual elements,
    use ObservableBuffer.from(mySeq).

  • Issue #327 - Discontinue support for Scala 2.11 in new release

New Features

  • Issue #322 - support Scala 3 #322. ScalaFX now provides Scala 3.0.0-RC3 binaries. Initially, the code base is
    intentionally fully compatible with Scala 2.13 (most with Scala 2.12 too). Note that JFXApp compiles but does not
    run in Scala 3. You need to use JFXApp3 instead.
  • Issue #344 - update to JavaFX 16.
  • Issue #341 - change ObservableBuffer#sort() to take implicit ordering, like Scala collections.
  • Issue #339 - simpler use of DragEvent#acceptTransferModes(...)

Bug Fixes

  • Issue #336 Regression: compilation fails when using event.acceptTransferModes #336
  • Issue #342 ObservableBuffer#concat collides with Scala's concat #342

For downloads visit ScalaFX on Sonatype or ScalaFX Releases on GitHub. If you have ScalaFX related questions
please use ScalaFX Discussions, or ScalaFX Users Group, or ScalaFX on StackOverflow. Please report any
problems using ScalaFX Issue Tracker.