Fyne Versions Save

Cross platform GUI toolkit in Go inspired by Material Design

v2.4.4

2 months ago

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 :).

v2.4.3

4 months ago

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.

v2.4.1

6 months ago

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.

v2.4.0

7 months ago

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

10 months ago

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.

v2.3.4

11 months ago

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.

v2.3.3

1 year ago

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

v2.3.2

1 year ago

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.

v2.3.1

1 year ago

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!

v2.3.0

1 year ago

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!