Skip to content

Releases: fyne-io/fyne

Memory usage improvements and reducing CPU for item moves

03 May 09:19
Compare
Choose a tag to compare

Lots of memory reductions in this release, mostly around text and theme switching.
Also the internal implementation of a "repaint" when objects move which means we can redraw the canvas using existing caches, saving CPU time on many frames.

Thanks very much to the many contributors who helped to create this fix list:

  • Memory leak when switching theme (#3640)
  • Systray MenuItem separators not rendered in macOS root menu (#3759)
  • Systray leaks window handles on Windows (#3760)
  • RadioGroup miscalculates label widths in horizontal mode (#3386)
  • Start of selection in entry is shifted when moving too fast (#3804)
  • Performance issue in widget.List (#3816)
  • Moving canvas items (e.g. Images) does not cause canvas repaint (#2205)
  • Minor graphic glitch with checkbox (#3792)
  • VBox and HBox using heap memory that was not required
  • Menu hover is slow on long menus

As ever please do let us know if you find any issues. We are now focused on the v2.4.0 release which we will deliver around the middle of this year.

Resolving a possible compilation regression in v2.3.2

24 Mar 15:28
Compare
Choose a tag to compare

The v2.3.2 release accidentally compiles mobile source code during building desktop apps.
This release resolves that to avoid the possible compile time breakage for some operating systems.

Fixed

  • Linux, Windows and BSD builds could fail if gles was missing

Fyne 💙 Apple M2 and better performance

20 Mar 14:26
Compare
Choose a tag to compare

This release marks a great step forward for the Fyne toolkit - completing the work for Apple M2 issues and adding optimisations, and various many additional bug fixes.

Fixed

  • Fyne does not run perfectly on ARM-based MacOS platforms (#3639) *
  • Panic on closing window in form submit on Мac M2 (#3397) *
  • Wobbling slider effect for very small steps (#3648)
  • Fix memory leak in test canvas refresh
  • Optimise text texture memory by switching to single channel
  • Packaging an android fyne app that uses tags can fail (#3641)
  • NewAdaptiveGrid(0) blanks app window on start until first resize on Windows (#3669)
  • Unnecessary refresh when sliding Split container
  • Linux window resize refreshes all content
  • Themed and unthemed svg resources can cache collide
  • When packaging an ampersand in "Name" causes an error (#3195)
  • Svg in ThemedResource without viewBox does not match theme (#3714)
  • Missing menu icons in Windows system tray
  • Systray Menu Separators don't respect the submenu placement (#3642)
  • List row focus indicator disappears on scrolling (#3699)
  • List row focus not reset when row widget is reused to display a new item (#3700)
  • Avoid panic if accidental 5th nil is passed to Border container
  • Mobile simulator not compiling on Apple M1/2
  • Cropped letters in certain cases with the new v2.3.0 theme (#3500)

Many thanks indeed to Dymium for sponsoring an Apple
M2 device which allowed us to complete the marked (*) issues.

Share Fyne v2.3.1 with someone special this Valentine's day!

13 Feb 13:32
Compare
Choose a tag to compare

To help in celebrating this special day of the year our community have lovingly crafted this selection of bug fixes that bring increased stability and graphical enhancements.

Changed

  • Pad app version to ensure Windows packages correctly (#3638)

Fixed

  • Custom shortcuts with fyne.KeyTab is not working (#3087)
  • Running a systray app with root privileges resulted in panic (#3120)
  • Markdown image with no title is not parsed (#3577)
  • Systray app on macOS panic when started while machine sleeps (#3609)
  • Runtime error with VNC on RaspbianOS (#2972)
  • Hovered background in List widget isn't reset when scrolling reuses an existing list item (#3584)
  • cmd/fyne package can't find FyneApp.toml when -src option has given (#3459)
  • TextWrapWord will cause crash in RichText unverified (#3498)
  • crash in widget.(*RichText).lineSizeToColumn (#3292)
  • Crash in widget.(*Entry).SelectedText (#3290)
  • Crash in widget.(*RichText).updateRowBounds.func1 (#3291)
  • window is max size at all times (#3507)
  • systray.Quit() is not called consistently when the app is closing (#3597)
  • Software rendering would ignore scale for text
  • crash when minimize a window which contains a stroked rectangle (#3552)
  • Menu item would not appear disabled initially
  • Wrong icon colour for danger and warning buttons
  • Embedding Fyne apps in iFrame alignment issue
  • Generated metadata can be in wrong directory
  • Android RootURI may not exist when used for storage (#3207)

As always do let us know in the issues, discussions or social channels if you spot any issues or wish to request some features for our next release!

A fresh new look, richer text and cloud integration delivers Christmas cheer!

24 Dec 16:06
175017e
Compare
Choose a tag to compare

Whatever you celebrate at this time of year we hope you will enjoy this exciting, shiny new look release of the Fyne toolkit.
With a refined design, cloud integration, images in rich text and a new text handling engine there is a lot to love in Fyne v2.3.0.

Added

  • Shiny new theme that was designed for us
  • Improved text handling to support non-latin alphabets
  • Add cloud storage and preference support
  • Add menu icon and submenu support to system tray menus
  • More button importance levels ErrorImportance, WarningImportance
  • Support disabling of AppTabs and DocTabs items
  • Add image support to rich text (#2366)
  • Add CheckGroup.Remove (#3124)

Changed

  • The buttons on the default theme are no longer transparent, but we added more button importance types
  • Expose a storage.ErrNotExists for non existing documents (#3083)
  • Update go-gl/glfw to build against latest Glfw 3.3.8
  • List items in widget.List now implements the Focusable interface

Fixed

  • Displaying unicode or different language like Bengali doesn't work (#598)
  • Cannot disable container.TabItem (#1904)
  • Update Linux/XDG application theme to follow the FreeDesktop Dark Style Preference (#2657)
  • Running fyne package -os android needs NDK 16/19c (#3066)
  • Caret position lost when resizing a MultilineEntry (#3024)
  • Fix possible crash in table resize (#3369)
  • Memory usage surge when selecting/appending MultilineEntry text (#3426)
  • Fyne bundle does not support appending when parameter is a directory
  • Crash parsing invalid file URI (#3275)
  • Systray apps on macOS can only be terminated via the systray menu quit button (#3395)
  • Wayland Scaling support: sizes and distances are scaled wrong (#2850)
  • Google play console minimum API level 31 (#3375)
  • Data bound entry text replacing selection is ignored (#3340)
  • Split Container does not respect item's Visible status (#3232)
  • Android - Entry - OnSubmitted is not working (#3267)
  • Can't set custom CGO_CFLAGS and CGO_LDFLAGS with "fyne package" on darwin (#3276)
  • Text line not displayed in RichText (#3117)
  • Segfault when adding items directly in form struct (#3153)
  • Preferences RemoveValue does not save (#3229)
  • Create new folder directly from FolderDialog (#3174)
  • Slider drag handle is clipped off at minimum size (#2966)
  • Entry text "flickering" while typing (#3461)
  • Rendering of not changed canvas objects after an event (#3211)
  • Form dialog not displaying hint text and validation errors (#2781)

Have a very happy holiday and do let us know what you build with this new release. Head to GitHub to report issues or request new features, we will be hard at work after a few more mince pies!

v2.2.4 Maintenance and bug fixes

09 Nov 22:29
04b3427
Compare
Choose a tag to compare

This minor release cover bug fixes, especially addressing the area around mobile devices.

The complete list is as follow:

  • Iphone incorrect click coordinates in zoomed screen view (#3122)
  • CachedFontFace seems to be causing crash (#3134)
  • Fix possible compile error if "fyne build" is used without icon metadata
  • Detect and use recent Android NDK toolchain
  • Handle fyne package -release and fyne release properly for Android and iOS
  • Fix issue with mobile simulation when systray used
  • Fix incorrect size and position for radio focus indicator (#3137)

Improve default lifecycle for system tray apps and various fixes

30 Jun 22:02
Compare
Choose a tag to compare

In this release we updated applications so that if a system tray icon was visible the app would not exit when the last window closes.
You can still set a window to be master if you would like the app to exit on close.

We also have a great list of fixes to the command line and various widgets as follows:

  • Windows missing version metadata when packaged (#3046)
  • Fyne package would not build apps using old Fyne versions
  • System tray icon may not be removed on app exit in Windows
  • Emphasis in Markdown gives erroneous output in RichText (#2974)
  • When last visible window is closed, hidden window is set visible (#3059)
  • Do not close app when last window is closed but systrayMenu exists (#3092)
  • Image with ImageFillOriginal not showing (#3102)
  • Fix build issue with web target from macOS computers

v2.2.1 improves systray support and resolves a FYNE_FONT regression

12 Jun 20:09
Compare
Choose a tag to compare

Apologies to a couple of our users who found issues with the v2.2.0 release. These fixes resolve the reported problems plus some high severity bugs.

  • Fix various race conditions and compatibility issues with System tray menus
  • Resolve issue where macOS systray menu may not appear
  • Updated yaml dependency to fix CVE-2022-28948
  • Tab buttons stop working after removing a tab (#3050)
  • os.SetEnv("FYNE_FONT") doesn't work in v2.2.0 (#3056)

v2.2.0 - System tray, web driver and JSON themes :)

07 Jun 20:36
Compare
Choose a tag to compare

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!

Fixing possible container crash and fixed size window sizing

17 Mar 12:02
Compare
Choose a tag to compare

Just a few small fixes that improve stability of rapidly changing containers and fixes a sizing issue for some fixed size windows.

Fixed

  • SetTheme() is not fully effective for widget.Form (#2810)
  • FolderOpenDialog SetDismissText is ineffective (#2830)
  • window.Resize() does not work if SetFixedSize(true) is set after (#2819)
  • Container.Remove() race causes crash (#2826, #2775, #2481)
  • FixedSize Window improperly sized if contains image with ImageFillOriginal (#2800)