Skip to content

Releases: fyne-io/fyne

Optimisations, storage enhancements and fixes arrive in v2.4.5

15 Apr 11:03
Compare
Choose a tag to compare

This bugfix release has a lot of great improvements, with a focus on mobile storage fixes and resolving some memory leaks.

  • iOS files write would fail when over 16KB
  • storage.Delete not supported on Android/iOS (#2120)
  • layout.formLayout do not handle canvas.Text well in second column (#4665)
  • Fix building with ios17.4 (#4741)
  • Support template icon for system tray menu icons
  • Fix recognition of missing XDG user directories (#4650)
  • FileDialog.SetOnClosed not always working (#4651)
  • Upgrade GLFW for performance improvements and bug fixes
  • Multiple select popups can crash during background operations (#4730)
  • Controlling a negative slider with the left arrow key blocks after 8 steps (#4736)
  • cmd/fyne: command "get" is broken with Go 1.22 (#4684)
  • Race condition during system tray menu refresh (#4697)
  • Fyne release on Linux does not set Metadata().Release to true (#4711)
  • RichText leaks memory when replacing segments (#4723)

As always do let us know how you get on, we are now pushing forward with v2.5.0.

Lots of bug fixes and speed improvements for 2.4

13 Feb 19:10
Compare
Choose a tag to compare

There is a lot packed into this release - your app will be faster and more robust than ever before!

  • Spaces could be appended to linux Exec command during packaging
  • Secondary mobile windows would not size correctly when padded
  • Setting Icon.Resource to nil will not clear rendering
  • Dismiss iOS keyboard if "Done" is tapped
  • Large speed improvement in Entry and GridWrap widgets
  • tests fail with macOS Assertion failure in NSMenu (#4572)
  • Fix image test failures on Apple Silicon
  • High CPU use when showing CustomDialogs (#4574)
  • Entry does not show the last (few) changes when updating a binding.String in a fast succession (#4082)
  • Calling Entry.SetText and then Entry.Bind immediately will ignore the bound value (#4235)
  • Changing theme while application is running doesn't change some parameters on some widgets (#4344)
  • Check widget: hovering/tapping to the right of the label area should not activate widget (#4527)
  • Calling entry.SetPlaceHolder inside of OnChanged callback freezes app (#4516)
  • Hyperlink enhancement: underline and tappable area shouldn't be wider than the text label (#3528)
  • Fix possible compile error from go-text/typesetting

Let us know if you have any feedback on this latest release :).

Happy holidays and enjoy a better Fyne for your coding projects :)

24 Dec 13:49
Compare
Choose a tag to compare

We have been working on fixes and optimisations in the Fyne project and are happy to list the following as resolved for v2.4.3.

Fixed

  • Fix OpenGL init for arm64 desktop devices
  • System tray icon on Mac is showing the app ID (#4416)
  • Failure with fyne release -os android/arm (#4174)
  • Android GoBack with forcefully close the app even if the keyboard is up (#4257)
  • *BSD systems using the wrong (and slow) window resize
  • Optimisations to reduce memory allocations in List, GridWrap, driver and mime type handling
  • Reduce calls to C and repeated size checks in painter and driver code

As always we hope this helps you make better software, faster - let us know if you have any feedback.

Lots of fixes and display improvements for v2.4.1

09 Oct 13:31
Compare
Choose a tag to compare

It's a long list of improvements to this point release, spread across the entire toolkit:

  • Left key on tree now collapses open branch
  • Avoid memory leak in Android driver code
  • Entry Field on Android in Landscape Mode Shows "0" (#4036)
  • DocTabs Indicator remains visible after last tab is removed (#4220)
  • Some SVG resources don't update appearance correctly with the theme (#3900)
  • Fix mobile simulation builds on OpenBSD
  • Fix alignment of menu button on mobile
  • Fix Compilation with Android NDK r26
  • Clicking table headers causes high CPU consumption (#4264)
  • Frequent clicking on table may cause the program to not respond (#4210)
  • Application stops responding when scrolling a table (#4263)
  • Possible crash parsing malformed JSON color (#4270)
  • NewFolderOpen: incomplete filenames (#2165)
  • Resolve issue where storage.List could crash with short URI (#4271)
  • Application crash when fast clicking the folders inside the file dialog (#4260)
  • TextTruncateEllipsis abnormally truncates strings with multi-byte UTF-8 characters (#4283)
  • Last character doesn't appear in Select when there is a special character (#4293)
  • Resolve random crash in DocTab (#3909)
  • Selecting items from a list caused the keyboard to popup on Android (#4236)

Thanks everyone for your help, enjoy this new release.

So many new features like rounded corners, emojis, table headers and a load more make v2.4.0!

01 Sep 20:21
Compare
Choose a tag to compare

2.4.0 - 1 September 2023

Added

  • Rounded corners in rectangle (#1090)
  • Support for emoji in text
  • Layout debugging (with -tags debug build flag) (#3314)
  • GridWrap collection widget
  • Add table headers (#1658, #3594)
  • Add mobile back button handling (#2910)
  • Add option to disable UI animations (#1813)
  • Text truncation ellipsis (#1659)
  • Add support for binding tree data, include new NewTreeWithData
  • Add support for OpenType fonts (#3245)
  • Add Window.SetOnDropped to handle window-wide item drop on desktop
  • Add lists to the types supported by preferences API
  • Keyboard focus handling for all collection widgets
  • Add APIs for refreshing individual items in collections (#3826)
  • Tapping slider moves it to that position (#3650)
  • Add OnChangeEnded callback to Slider (#3652)
  • Added keyboard controls to Slider
  • Add NewWarningThemedResource and NewSuccessThemedResource along with NewColoredResource (#4040)
  • Custom hyperlink callback for rich text hyperlinks (#3335)
  • Added dialog.NewCustomWithoutButtons, with a SetButtons method (#2127, #2782)
  • Added SetConfirmImportance to dialog.ConfirmDialog.
  • Added FormDialog.Submit() to close and submit the dialog if validation passes
  • Rich Text image alignment (#3810)
  • Bring back theme.HyperlinkColor (#3867)
  • Added Importance field on Label to color the text
  • Navigating in entry quickly with ctrl key (#2462)
  • Support .desktop file metadata in FyneApp.toml for Linux and BSD
  • Support mobile simulator on FreeBSD
  • Add data binding boolean operators Not, And and Or
  • Added Entry.Append, Select.SetOptions, Check.SetText, FormDialog.Submit
  • Add ShowPopUpAtRelativePosition and PopUp.ShowAtRelativePosition
  • Add desktop support to get key modifiers with CurrentKeyModifiers
  • Add geometry helpers NewSquareSize and NewSquareOffsetPos
  • Add --pprof option to fyne build commands to enable profiling
  • Support compiling from Android (termux)

Changed

  • Go 1.17 or later is now required.
  • Theme updated for rounded corners on buttons and input widgets
  • widget.ButtonImportance is now widget.Importance
  • The Max container and layout have been renamed Stack for clarity
  • Refreshing an image will now happen in app-thread not render process, apps may wish to add async image load
  • Icons for macOS bundles are now padded and rounded, disable with "-use-raw-icon" (#3752)
  • Update Android target SDK to 33 for Play Store releases
  • Focus handling for List/Tree/Table are now at the parent widget not child elements
  • Accordion widget now fills available space - put it inside a VBox container for old behavior (#4126)
  • Deprecated theme.FyneLogo() for later removal (#3296)
  • Improve look of menu shortcuts (#2722)
  • iOS and macOS packages now default to using "XCWildcard" provisioning profile
  • Improving performance of lookup for theme data
  • Improved application startup time

Fixed

  • Rendering performance enhancements
  • dialog.NewProgressInfinite is deprecated, but dialog.NewCustom isn't equivalent
  • Mouse cursor desync with Split handle when dragging (#3791)
  • Minor graphic glitch with checkbox (#3792)
  • binding.String===>Quick refresh *b.val will appear with new data reset by a call to OnChange (#3774)
  • Fyne window becomes unresponsive when in background for a while (#2791)
  • Hangs on repeated calls to Select.SetSelected in table. (#3684)
  • Select has wrong height, padding and border (#4142)
  • widget.ImageSegment can't be aligned. (#3505)
  • Memory leak in font metrics cache (#4108)
  • Don't panic when loading preferences with wrong type (#4039)
  • Button with icon has wrong padding on right (#4124)
  • Preferences don't all save when written in CloseIntercept (#3170)
  • Text size does not update in Refresh for TextGrid
  • DocTab selection underline not updated when deleting an Item (#3905)
  • Single line Entry throws away selected text on submission (#4026)
  • Significantly improve performance of large TextGrid and Tree widgets
  • List.ScrollToBottom not scrolling to show the totality of the last Item (#3829)
  • Setting Position1 of canvas.Circle higher than Position2 causes panic. (#3949)
  • Enhance scroll wheel/touchpad scroll speed on desktop (#3492)
  • Possible build issue on Windows with app metadata
  • Form hint text has confusing padding to next widget (#4137)
  • Entry Placeholder Style Only Applied On Click (#4035)
  • Backspace and Delete key Do not Fire OnChanged Event (#4117)
  • Fix ProgressBar text having the wrong color sometimes
  • Window doesn't render when called for the first time from system tray and the last window was closed (#4163)
  • Possible race condition in preference change listeners
  • Various vulnerabilities resolved through updating dependencies
  • Wrong background for color dialog (#4199)

We hope you have a lot of fun with this huge update :).

v2.3.5 - Lots of great fixes from the team and community - thanks!

06 Jun 14:33
Compare
Choose a tag to compare

Thanks so much to everyone that contributed to this release, we are grateful to all of the community and the hard work put in to make this project even better.

  • Panic with unsupported font (#3646)
  • Temporary manifest file not closed after building on Windows
  • Panic when using autogenerated quit menu and having unshown windows (#3870)
  • Using canvas.ImageScaleFastest not working on arm64 (#3891)
  • Disabled password Entry should also disable the ActionItem (#3908)
  • Disabled RadioGroup does not display status (#3882)
  • Negative TableCellID Row (#2857)
  • Make sure we have sufficient space for the bar as well if content is tiny (#3898)
  • Leak in image painter when replacing image.Image source regularly
  • Links in Markdown/Rich Text lists breaks formatting (#2911)
  • Crash when reducing window to taskbar with popup opened (#3877)
  • RichText vertical scroll will truncate long content with horizontal lines (#3929)
  • Custom metadata would not apply with fyne release command
  • Horizontal CheckGroup overlap when having long text (#3005)
  • Fix focused colour of coloured buttons (#3462)
  • Menu separator not visible with light theme (#3814)

That is probably all until v2.4.0 where we have lots of exciting new features.

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!