Features
- Toga images can now be created from (and converted to) PIL images. (#2142)
- A wider range of command shortcut keys are now supported on WinForms. (#2198)
- Most widgets with flexible sizes now default to a minimum size of 100 CSS pixels. An explicit size will still override this value. (#2200)
- OptionContainer content can now be constructed using
toga.OptionItem
objects. (#2259) - An OptionContainer widget was added for iOS. (#2259)
- Apps can now specify platform-specific icon resources by appending the platform name (e.g.,
-macOS
or-windows
) to the icon filename. (#2260) - Images can now be created from the native platform representation of an image, without needing to be transformed to bytes. (#2263)
Bugfixes
- TableViews on macOS will no longer crash if a drag operation is initiated from inside the table. (#1156)
- Separators before and after command sub-groups are now included in menus. (#2193)
- The web backend no longer generates a duplicate title bar. (#2194)
- The web backend is now able to display the About dialog on first page load. (#2195)
- The testbed is now able to run on macOS when the user running the tests has the macOS display setting "Prefer tabs when opening documents" set to "Always". (#2208)
- Compliance with Apple's HIG regarding the naming and shortcuts for the Close and Close All menu items was improved. (#2214)
- Font handling on older versions of iOS has been corrected. (#2265)
- ImageViews with
flex=1
will now shrink to fit if the image is larger than the available space. (#2275)
Backward Incompatible Changes
- The
toga.Image
constructor now takes a single argument (src
); thepath
anddata
arguments are deprecated. (#2142) - The use of Caps Lock as a keyboard modifier for commands was removed. (#2198)
- Support for macOS release prior to Big Sur (11) has been dropped. (#2228)
- When inserting or appending a tab to an OptionContainer, the
enabled
argument must now be provided as a keyword argument. The name of the first argument has been also been renamed (fromtext
totext_or_item
); it should generally be passed as a positional, rather than keyword argument. (#2259) - The use of synchronous
on_result
callbacks on dialogs andWebview.evaluate_javascript()
calls has been deprecated. These methods should be used in their asynchronous form. (#2264)
Documentation
- Documentation for
toga.Key
was added. (#2199) - Some limitations on App presentation imposed by Wayland have been documented. (#2255)