The exciting v2.2.0 is finally here and it has a long list of improvements bundled in.
Top of the exciting features are sure to be the support for desktop system tray menus, the ability to run your Fyne apps through a web browser (technical preview - not feature complete) and also to specify themes more easily using JSON resources.
Highlighted additions
- Add SetIcon method on ToolbarAction (#2475)
- Access compiled app metadata using new
App.Metadata()
method - Add support for System tray icon and menu (#283)
- Support for Android Application Bundle (.aab) (#2663)
- Initial support for OpenBSD and NetBSD
- Add keyboard shortcuts to menu (#682)
- Add technical preview of web driver and
fyne serve
command - Added
iossimulator
build target (#1917) - Allow dynamic themes via JSON templates (#211)
- Custom hyperlink callback (#2979)
- Add support for
.ico
file when compiling for windows (#2412) - Add binding.NewStringWithFormat (#2890)
- Add Entry.SetMinRowsVisible
- Add Menu.Refresh() and MainMenu.Refresh() (#2853)
- Packages for Linux and BSD now support installing into the home directory
- Add
.RemoveAll()
to containers - Add an AllString validator for chaining together string validators
Changes
There are also a few changes that may be of note for some developers - there is a small chance you might need to update some code as a result, but none of them are breaking changes:
- Toolbar item constructors now return concrete types instead of ToolbarItem
- Low importance buttons no longer draw button color as a background
- ProgressBar widget height is now consistent with other widgets
- Include check in DocTabs menu to show current tab
- Don't call OnScrolled if offset did not change (#2646)
- Prefer ANDROID_NDK_HOME over the ANDROID_HOME ndk-bundle location (#2920)
- Support serialisation / deserialisation of the widget tree (#5)
- Better error reporting / handling when OpenGL is not available (#2689)
- Memory is now better reclaimed on Android when the OS requests it
- Notifications on Linux and BSD now show the application icon
- Change listeners for preferences no longer run when setting the same value
- The file dialog now shows extensions in the list view for better readability
- Many optimisations and widget performance enhancements
- Updated various dependencies to their latest versions
So there you go. There are many, many bug fixes as well but we didn't want to bore you with them - just check the bug tracker :).
Let us know how you get on and have a great time building even more awesome apps!