Releases: fyne-io/fyne
Release list
v2.8.1: Big performance boosts and lots of fixes
It's a big release following our v2.8.0 last month, check out this bumper change log!
Changed
- File dialog content is now padded using container.NewPadded (#6451)
- The "large FyneDo" warning is now delayed unless hints are enabled
- Big performance boost in repainting, walking objects and building render lists (#6449, #6453, #6454)
Fixed
- MenuItem.Shortcut was missing from systray menus
- Fix file path handling for URIs on Windows, including paths without a file scheme
- Support query, fragment and URN forms in ParseURI, with stricter host validation
- Android: re-create the surface if the window has changed underneath us (#6408)
- Android: fix duplicated characters when using a hardware keyboard, and add missing delete key support (#6271)
- Android: fix typo when checking for NULL in native code (#6402)
- Mobile: multiline Entry ignored scroll position on TouchDown (#6307)
- Mobile: fix row selection and follow-up behaviour after double/triple tap in Entry
- Form: rebuild the render slot when a FormItem.Widget is replaced (#1966, #6459)
- Menu: sync menu item label text on Refresh (#6404)
- macOS: rebuild the native menu when switching windows (#6431)
- Fix popup menu immediately dismissing when opened over an existing overlay (#6426)
- Only skip unfocus on mouse click when the click is over the currently focused widget (#6432)
- RequestAlwaysOnTop had no effect when called after window creation (#6436, #6441)
- Prevent crashes from unknown GLFW scancodes, such as the Fn key on Wayland (#6445)
- Always check for a nil return from monitor.GetVideoMode() (#6472)
- Fix apps with systray showing a hidden "SystrayMonitor" window on KDE Wayland (#6428)
- Fix noisy Preferences API warnings for apps that don't use Preferences (#6429)
- Fix inconsistent vertical positioning of mixed-font text lines (#6448)
- Fix an issue with the emoji parser
- Report captured images as opaque so blended output is correct in captures
- Data binding: handle the edge case where parsing a string as a float fails
- Fix vendoring of apps using the Wayland build by keeping GLFW include headers
- Resolve issue where some touch screen Linux taps were missed
v2.8.0 is our biggest release since v2.0.0!
Our v2.8.0 release is huge! Lots of new canvas objects, Scheduled Notifications, Linux Wayland testing of Accessibility.
Also enhanced Form and RichText capabilities, more hardware acceleration and more APIs than we can count.
Added
- New canvas objects: ArbitraryPolygon, BezierCurve, Blur, Ellipse & Shader (and NewShaderAnimation)
- Hardware accelerated shadow support for various canvas elements
- Add scheduled notifications API
- Adding Required support to FormItem and Validation to Form
- New RichText types and Markdown support to load tables, checkboxes & strikethrough
- Adding accessibility support (currently off by default, use -tags accessibility to test)
- New support for working with secondary monitors (for fullscreen additional content)
- Add new Cache API for temporary resources, and new CacheResourceFromURLString helper
- Add more requests to desktop Window - Always on Top and Position
- Support for multi-touch drag reporting in mobile driver
- Added APIs for window stacking of internal windows
- Support for underline and strikethrough text
- Add HighlightItem API to collection widgets
- Secondary cut/copy/paste shortcuts for Unix systems
- New sizes and colors in theme to support features
- Added new diagonal resize cursors for desktop
Changed
- Fyne now requires Go 1.22 as a minimum version, as a result we no longer support windows 7 or 8 and macOS 10.14 or earlier.
- Wayland is now supported by default and will automatically be picked at runtime
- Circle canvas object is now always a circle filling centrally in the space
- Popups (modal and regular) no longer include padding by default
- Canvas Polygon renamed to RegularPolygon
- Follow macOS system setting for scroll bar visibility
- Handle nested lists and quotes in Markdown renderer
- AppTabs on mobile render with smaller icons and text, in-keeping with the platform
- Upgrades to RichText rendering and performance including clearer code blocks
- Apps that have not migrated to the fyne.Do thread handling will warn on app launch
Fixed
- Increase thread warnings for 2.8 release prep (#6255)
- Open tree branches when scrolling
- Fix the Android status bar theming (#1442)
- Android: Fix canListContentURI (#6119)
- Fix strange wrapping which results in one char per line (#4303)
- Android: Allow listContentURI to list content of a subfolder
- Fix issue with window placement and fullscreen for macOS 26
- Markdown: Support nested block quotes (#6311, #6297)
- Clarify the size / resize and position of popups. (#6290)
- show a static ellipsis on Activity when animations are disabled (#5252)
- Mobile: Don't let horizontally draggable block vertical dragging (#6158)
- Reset label selection on text change (#6277)
- lang: avoid resolving unrelated languages by script similarity (#6176)
- fix animation progress when duration changes mid-run (#5970
- Prevent multiline Entry long lines from rendering as black boxes (#678)
- And over 150 other fixes and performance improvements!
New Contributors
- @coolapso made their first contribution in #5961
- @marco-m made their first contribution in #6074
- @turtletowerz made their first contribution in #6064
- @benoitkugler made their first contribution in #6098
- @MaxGyver83 made their first contribution in #6115
- @typenoob made their first contribution in #6155
- @Scottcjn made their first contribution in #6267
- @Vinayak9769 made their first contribution in #6299
- @aynakeya made their first contribution in #6309
- @partyzanex made their first contribution in #6305
- @drunlade made their first contribution in #6320
- @GraysonTinker made their first contribution in #6332
- @laszukdawid made their first contribution in #6335
- @bilkoua made their first contribution in #6279
- @mohsenm4 made their first contribution in #6317
- @AJ0070 made their first contribution in #6363
Full Changelog: v2.7.4...v2.8.0
v2.7.4 is bug fixes and performance improvements aplenty
Fixed
- SIGSEGV in glfwPollEvents after SetMainMenu rebuild with separator items (macOS) (#6264)
- Rasters created from NewRasterFromImage unexpectedly stretches the image (#6242)
- Infinite Progress Bar widget will not automatically start until a Refresh() or Start() is called (#6221)
- TextGrid: MinSize do not work when line number is visible (#6218)
- InnerWindow drags past MultiWindows border (#6210)
- Layout issue with fyne.TextWordWrap (#6181)
- Hangul (Korean) text renders as U+FFFD (�) on Windows in v2.7 (#6146)
- Android: storage.List(uri) call results in crash when permission has expired (#6117)
- Fix strange wrapping which results in one char per line
- Unexpected fyne.Do errors on android (#5664)
- Local function is not call on the main Fyne runtime on mobile (#5868)
- Fix Wide Character's width calculation in TextGrid
- Various system tray fixes
- Speed improvement in rendering scrolled text
- Support OpenURL in mobile simulator
- When using local metadata for go run also check Icon.png
Thanks to all the contributors who helped us with this work - please do report any issues you find on GitHub,
v2.7.3 - Loads of fixes from around the community
A massive thanks to our community for contributing a lot of fixes for this latest release. The following highlights the main items:
Fixed
- systray not functional within snap sandbox (systray#64)
- A dialog with a table. Selecting a cell and closing the dialog produces a Fyne error (#5166)
- Fix JNI crash due to invalid global reference when accessing Android file streams (#6067)
- Low frame rate with animated rectangles on 2.7.x (#6040)
- Random panic when launching the app (#5981)
- Tree Widget constantly calls IsBranch and ChildrenUIs (#4339)
- Font scanning fails in Flatpak due to broken symlinks
- Correct system tray icon on Linux when using SVG
- Button press animation sometimes leaks outside the bounds of the button (#6096)
- SVG cannot be loaded if it has currentColor at root element (#6102)
- Wrapped text is rendered poorly (blurred) (#4390)
- Blurry text in mobile Linux (#2280)
- On 2.3.0 text is fuzzy (#3464)
- Correct presentation of HTML entities when using markdown in RichText
- Accordion kills CPU by inefficient MinSize implementation (#6108)
- Tree with no data (with Accordion?) - triggers endless layout loop (#6094)
- NewRichTextFromMarkdown can't handle nested lists (#6113)
As always please do let us know if you experience any issues. We are now focusing on features for 2.8, but there will probably be one more bugfix release on the 2.7.x branch in a Month.
New Year new Fyne release :) - lots of bug fixes
Changed
- Added Japanese translation
Fixed
- Crash in accordion (#3966)
- Extended list does not focus correctly when tapped (#5997)
- TextGrid: Ensure we are refreshing the correct row (#6023)
- Entry doesn't lose focus when clicking on button elsewhere (#5107)
- Mouse clicks missed (#4672)
- Possible crash when form is truncated when an Entry is focused
- Alt-Tab'ing should not open MainMenu (#2998)
- Wayland: ALT key steals focus to the menubar if it exists (#5960)
- Extending the build-In theme only works fully when theme is set after app has started (#6056)
- Multi-segment RichText not right aligning correctly (#6060)
Speedups and bug fixes since v2.7.0
Fixed
New canvas objects and rounded corners along with massive speed improvements in v2.7.0
Thanks everyone who made this exciting release possible - apps are faster than ever and we have great new Arc and Polygon features as well as new corner radius features!
Added
- Canvas types: Arc, Polygon, Square (and Rectangle.Aspect)
- "Cover" image fill
- Fully rounded corner radius ("pill" rectangle) & per-corner
- Image corner radius
- New containers: Navigation & Clip
- New Embedded driver (for running on non-standard drvices)
- RowWrap layout
- Add Generics to List and Tree for data binding
- Support for IPv6 addresses in URIs
- Add storage.RemoveAll to recursively delete from a repository
- Added Portuguese, Russian & Chinese (Simplified)
- Support left-tap systray to show window (SetSystemTrayWindow)
- Support JSON theme with fallback
- Add RichText bullet start number
- Option to always show Entry validation
Changed
- Massive performance increases on rendering
- optimisations galore in data handling, custom themes and TextGrid
- Smooth infinite progress by reversing animation not just looping
- Numerous memory leaks and potential race conditions addressed
Fixed
- Theme Override container cannot be used to override layout paddings (#5019)
- Tree widget: First selected node stays highlighted after switching selection (#5796)
- Brave browser: Web app via fyne serve blinks and closes , works correctly in Chrome (and Edge) (#5705)
- layout.formLayout render canvas.Text as labels and values outside/off minSize area (#5163)
- Android: EGL_BAD_SURFACE fails to redraw app after OpenFile dialog closes (#3541)
- Tab and Shift +Tab not behaving as expected on folder dialog (#5974)
New Contributors
Code in v2.7.0 contains work from the following first time contributors:
- @kruitbosdotdev
- @cognusion
- @r3quie
- @redawl
- @generikvault
- @cwarden
- @Vinci10
- @cpustejovsky
- @xfaris
- @rad756
- @ystepanoff
Thanks to everyone, in particular our brand new contributors and the amazing core team that make Fyne possible 🎁.
Fix compile issues with Go 1.25
This hot fix release resolves only the compile issue with Go v1.25.0 caused by golang.org/x/tools conflict
Long list of fixes improve your summer projects
This release was slightly delayed but that means a long list of fixes! Sorry to anyone that was waiting for a fix, but hopefully this update super-powers your holiday hacking.
As well as adding Czechoslovakia translations, the following list of issues were addressed:
- bounds check panic on undo after ctrl-deleting text on last line from MultiLineEntry (#5714)
- Entry OnChanged does not get triggered on undo and redo (#5710)
- SetText in TextGrid leaves trailing content (#5722)
- Desktop app with system tray hangs on app.Quit (#5724)
- CenterOnScreen Regression (#5733)
- TextGrid CursorLocationForPosition reports wrong location when scrolled (#5745)
- Language is always "en" on macOS (#5760)
- TextGrid is glitchy when calling SetText on a scrolled container. (#5762)
- When running for the second time in window.CenterOnScreen(), it will get stuck when running on the main thread (#5766)
- Text entry widget backspace deletes two characters on Android (#2774)
- Secondary windows is not refreshed correctly (#5782)
- Clicking a button rapidly causes the click animation to extend outside of the button (#5785)
- WASM cursor was ignored
- Corrected date format for Germany
- Hide() doesn't work at startup for widgets/containers (#5597)
- Android GBoard: first character typed into Entry is prefixed with "0" after focus (#5666)
- Use Scaled Monitor Size For Monitor Detection (#5802)
- Don't override user choice if a) xdg lookup fails or b) system updates (#5851)
- Entry with mobile.NumberKeyboard does not Type comma and separators (#5101)
- Padding value is ignored in ThemeOverride container
- Performance improvements in TextGrid and object positioning
- Improvements in WASM rendering performance
Bug fixes, remove races and some thread warning refinements
The first point release since v2.6.0 adds a new translation for Russian, removes some false alerts for thread usage and generally improves safety about previous concurrent usage internally.
Fixed
- Activity indicator is light and not visible when a light theme is active (#5661)
- Unsafe use of map in RichText on 2.6.0 (#5639)
- Image translucency causes blurriness on small icons (#5476)
- Infinite progress bar snapping and doesn't loop nicely (#5433)
- RichTextSegment SizeName is not SizeNameText by default (#5307)
- When there is an offline netdrive, the file dialog will freeze (#2411)
- Correctly reset image cache when Resource goes to nil
- Data race after migration to v2.6.0 (#5713)