01 December 2016

Griffon 2.9.0 Released

The Griffon team is happy to announce the release of Griffon 2.9.0!

The following list summarizes the changes brought by this release:

  • Action properties can react to application Locale changes.

  • Labeled, Tab and MenuItem nodes can react to application Locale changes.

  • JavaFXAction has the following updates:

    • style: used to set style on the bound widget.

    • graphic: used to set the graphic node on the bound widget.

    • graphicStyle: used to set style on the graphic node of the bound widget.

    • graphicStyleClass: used to set style classes on the graphic node of the bound widget.

  • Added an UI Thread proxy ObservableSet; all of its updates will be triggered inside the UI thread.

  • Added an UI Thread proxy ObservableMap; all of its updates will be triggered inside the UI thread.

  • New CollectionBindings class provides binding factories on ObservableList/ObservableSet/ObservableMap

    • Join source observable collection to StringBinding.

    • Calculate min, max, average, and sum on source observable collection.

  • New FilteringBindings class provides filtering capabilities on ObservableList/ObservableSet/ObservableMap

    • Filter ObservableList/ObservableSet/ObservableMap and find first match, creating a ObjectBinding.

    • Filter ObservableList/ObservableSet/ObservableMap then map and find first match to X; where X may be a wrapper type, String or a type R.

    • Map elements of ObservableList/ObservableSet/ObservableMap to X then filter and find first match; where X may be a wrapper type, String or a type R.

  • New ReducingBindings class provides reduce capabilities on ObservableList/ObservableSet/ObservableMap

    • Reduce ObservableList/ObservableSet/ObservableMap to ObjectBinding.

    • Reduce ObservableList/ObservableSet/ObservableMap then map to X; where X may be a wrapper type, String or a type R.

    • Map elements of ObservableList/ObservableSet/ObservableMap to X then reduce; where X may be a wrapper type, String or a type R.

  • New MappingBindings class provides lots of useful binding and property factories

    • Convert ObservableValue<X> to is corresponding XBinding.

    • Convert ObservableXValue to ObjectBinding<X>.

    • Create bindings that update their value and notify listeners inside the UI thread.

A more detailed description of the changes and compatibility issues can be found at the release notes.

We look forward to your feedback. Please report any problems you find to the Griffon User list, or better yet, file a bug at http://github.com/griffon/griffon/issues

Remember you can also contact the team on Twitter: @theaviary.

Many thanks to all who contributed to this release!

The Griffon Team