diff --git a/changes/1215.bugfix.rst b/changes/1215.bugfix.rst deleted file mode 100644 index e4bc5ad084..0000000000 --- a/changes/1215.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Widgets are now removed from windows when the window is closed, preventing a memory leak on window closure. diff --git a/changes/1235.bugfix.rst b/changes/1235.bugfix.rst deleted file mode 100644 index ec4c06a7d3..0000000000 --- a/changes/1235.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Android and iOS apps no longer crash if you invoke ``App.hide_cursor()`` or ``App.show_cursor()``. diff --git a/changes/1723.bugfix.rst b/changes/1723.bugfix.rst deleted file mode 100644 index a3ca28204a..0000000000 --- a/changes/1723.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -A Selection widget with no items now consistently returns a current value of ``None`` on all platforms. diff --git a/changes/1767.feature.txt b/changes/1767.feature.txt deleted file mode 100644 index f53e314286..0000000000 --- a/changes/1767.feature.txt +++ /dev/null @@ -1,2 +0,0 @@ -Headings are no longer mandatory for Tree widgets. -If headings are not provided, the widget will not display its header bar. diff --git a/changes/1779.bugfix.rst b/changes/1779.bugfix.rst deleted file mode 100644 index 7008e135e7..0000000000 --- a/changes/1779.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -macOS widget methods that return strings are now guaranteed to return strings, rather than native Objective C string objects. diff --git a/changes/1837.feature.rst b/changes/1837.feature.rst deleted file mode 100644 index e9b4941620..0000000000 --- a/changes/1837.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Support for custom font loading was added to the GTK, Cocoa and iOS backends. diff --git a/changes/1847.feature.rst b/changes/1847.feature.rst deleted file mode 100644 index 8cc68e68cf..0000000000 --- a/changes/1847.feature.rst +++ /dev/null @@ -1 +0,0 @@ -The testbed app has better diagnostic output when running in test mode. diff --git a/changes/1849.doc.rst b/changes/1849.doc.rst deleted file mode 100644 index 6b8dd7b08b..0000000000 --- a/changes/1849.doc.rst +++ /dev/null @@ -1 +0,0 @@ -Documentation for application paths was added. diff --git a/changes/1855.bugfix.rst b/changes/1855.bugfix.rst deleted file mode 100644 index 46db31d18b..0000000000 --- a/changes/1855.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Webviews on Windows no longer have a black background when they are resized. diff --git a/changes/1865.misc.rst b/changes/1865.misc.rst deleted file mode 100644 index a15dd7ff1a..0000000000 --- a/changes/1865.misc.rst +++ /dev/null @@ -1 +0,0 @@ -PyPI package names were removed as valid spelling words. diff --git a/changes/1866.bugfix.rst b/changes/1866.bugfix.rst deleted file mode 100644 index c3abc9d0dc..0000000000 --- a/changes/1866.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Ensure correct value is set for `MultilineTextInput.readonly` for iOS diff --git a/changes/1867.feature.rst b/changes/1867.feature.rst deleted file mode 100644 index 98c16c6c7f..0000000000 --- a/changes/1867.feature.rst +++ /dev/null @@ -1 +0,0 @@ -A new Textual backend was added to support terminal applications. diff --git a/changes/1868.doc.rst b/changes/1868.doc.rst deleted file mode 100644 index 469cd25ed5..0000000000 --- a/changes/1868.doc.rst +++ /dev/null @@ -1 +0,0 @@ -The contribution guide was expanded to include more suggestions for potential projects, and to explain how the backend tests work. diff --git a/changes/1872.bugfix.rst b/changes/1872.bugfix.rst deleted file mode 100644 index 5c00193447..0000000000 --- a/changes/1872.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -A window without an ``on_close`` handler can now be closed using the window frame close button. diff --git a/changes/1872.feature.rst b/changes/1872.feature.rst deleted file mode 100644 index cbdbd0eb5e..0000000000 --- a/changes/1872.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Support for determining the currently active window was added to Winforms. diff --git a/changes/1875.misc.rst b/changes/1875.misc.rst deleted file mode 100644 index 190c84554d..0000000000 --- a/changes/1875.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Updated actions/checkout from 3.5.0 to 3.5.2. diff --git a/changes/1876.feature.rst b/changes/1876.feature.rst deleted file mode 100644 index 5f567757f0..0000000000 --- a/changes/1876.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Programmatically scrolling to top and bottom in MultilineTextInput is now possible on iOS diff --git a/changes/1878.bugfix.rst b/changes/1878.bugfix.rst deleted file mode 100644 index f6a4d57117..0000000000 --- a/changes/1878.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fixed a startup crash on Android devices older than API level 29 (Android 10). diff --git a/changes/1879.bugfix.rst b/changes/1879.bugfix.rst deleted file mode 100644 index c47ecfff95..0000000000 --- a/changes/1879.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Missing value handling on Tables was fixed on Android and Linux. diff --git a/changes/1880.feature.rst b/changes/1880.feature.rst deleted file mode 100644 index 1bc205820a..0000000000 --- a/changes/1880.feature.rst +++ /dev/null @@ -1 +0,0 @@ -A handler has been added for users confirming the contents of a TextInput by pressing Enter/Return. diff --git a/changes/1881.bugfix.rst b/changes/1881.bugfix.rst deleted file mode 100644 index d0b1244e14..0000000000 --- a/changes/1881.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Changed spelling to prevent Sphinx spelling error. diff --git a/changes/1882.misc.rst b/changes/1882.misc.rst deleted file mode 100644 index 24dd6618eb..0000000000 --- a/changes/1882.misc.rst +++ /dev/null @@ -1 +0,0 @@ -The ``tox`` commands for building docs now use multi-processing for faster builds. diff --git a/changes/1886.misc.rst b/changes/1886.misc.rst deleted file mode 100644 index 98a4438747..0000000000 --- a/changes/1886.misc.rst +++ /dev/null @@ -1 +0,0 @@ -The latest version of ``docformatter``, i.e. v1.6.1, was run to lint all docstrings in Toga. diff --git a/changes/1887.feature.rst b/changes/1887.feature.rst deleted file mode 100644 index 9a6030b167..0000000000 --- a/changes/1887.feature.rst +++ /dev/null @@ -1 +0,0 @@ -An API for setting a window into active focus was added. diff --git a/changes/1889.misc.rst b/changes/1889.misc.rst deleted file mode 100644 index 71b65af880..0000000000 --- a/changes/1889.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Updated actions/setup-python from 4.5.0 to 4.6.0. diff --git a/changes/1892.bugfix.rst b/changes/1892.bugfix.rst deleted file mode 100644 index 14168889f6..0000000000 --- a/changes/1892.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -A bug in the gtk backend for `current_window` property was fixed. diff --git a/changes/1893.feature.rst b/changes/1893.feature.rst deleted file mode 100644 index a3d87b4ea9..0000000000 --- a/changes/1893.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Widgets now have a `.clear()` method to remove all child widgets. diff --git a/changes/1894.feature.rst b/changes/1894.feature.rst deleted file mode 100644 index 63eaef269a..0000000000 --- a/changes/1894.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Winforms now supports hiding and re-showing the app cursor. diff --git a/changes/1895.misc.rst b/changes/1895.misc.rst deleted file mode 100644 index 3785d48e9d..0000000000 --- a/changes/1895.misc.rst +++ /dev/null @@ -1 +0,0 @@ -The implementation of ``current_window`` on Winforms was corrected. diff --git a/changes/1897.doc.rst b/changes/1897.doc.rst deleted file mode 100644 index 5367252d9a..0000000000 --- a/changes/1897.doc.rst +++ /dev/null @@ -1 +0,0 @@ -All code blocks were updated to add a button to copy the relevant contents on to the user's clipboard. diff --git a/changes/1900.misc.rst b/changes/1900.misc.rst deleted file mode 100644 index d616e6fe32..0000000000 --- a/changes/1900.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Release processes were changed to use Trusted Publishing. diff --git a/changes/1901.feature.rst b/changes/1901.feature.rst deleted file mode 100644 index df25c72d92..0000000000 --- a/changes/1901.feature.rst +++ /dev/null @@ -1 +0,0 @@ -New ProgressBar and Switch widgets were added to the web platform implementation. diff --git a/changes/1902.misc.rst b/changes/1902.misc.rst deleted file mode 100644 index 5679e35d9c..0000000000 --- a/changes/1902.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Moved font measuring logic for GTK from Font class to Canvas widget diff --git a/changes/1903.feature.rst b/changes/1903.feature.rst deleted file mode 100644 index a448645944..0000000000 --- a/changes/1903.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Font APIs now have 100% test coverage. diff --git a/changes/1903.removal.rst b/changes/1903.removal.rst deleted file mode 100644 index 9deb0249da..0000000000 --- a/changes/1903.removal.rst +++ /dev/null @@ -1 +0,0 @@ -The ``weight``, ``style`` and ``variant`` arguments for ``Font`` and ``Font.register`` are now keyword-only. diff --git a/changes/1906.misc.rst b/changes/1906.misc.rst deleted file mode 100644 index 671ef25abf..0000000000 --- a/changes/1906.misc.rst +++ /dev/null @@ -1 +0,0 @@ -The root user prompt ``#`` has been removed as a prompt match for copying commands from code blocks. diff --git a/changes/1909.bugfix.rst b/changes/1909.bugfix.rst deleted file mode 100644 index f6a633067c..0000000000 --- a/changes/1909.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Error handling associated with the creation of creation of Android Intents has been improved. diff --git a/changes/1913.feature.rst b/changes/1913.feature.rst deleted file mode 100644 index 4c4ed18a0a..0000000000 --- a/changes/1913.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Missing value handling was added to Trees. diff --git a/changes/1916.misc.rst b/changes/1916.misc.rst deleted file mode 100644 index 6aa9d82606..0000000000 --- a/changes/1916.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Installation ordering in tox environment was altered to ensure correct resolution of dependencies. diff --git a/changes/1917.misc.rst b/changes/1917.misc.rst deleted file mode 100644 index 248da6ab25..0000000000 --- a/changes/1917.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Updated ``pre-commit`` hooks to the latest version. diff --git a/changes/1918.misc.rst b/changes/1918.misc.rst deleted file mode 100644 index bdedcccfa5..0000000000 --- a/changes/1918.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Updated dsaltares/fetch-gh-release-asset from 1.1.0 to 1.1.1. diff --git a/changes/1920.bugfix.rst b/changes/1920.bugfix.rst deleted file mode 100644 index 547ecc89ae..0000000000 --- a/changes/1920.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -The DetailedList widget on GTK now provides an accurate size hint during layout. diff --git a/changes/1921.bugfix.rst b/changes/1921.bugfix.rst deleted file mode 100644 index 52c86fb701..0000000000 --- a/changes/1921.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Apps on Linux no longer segfault if an X Windows display cannot be identified. diff --git a/changes/1926.misc.rst b/changes/1926.misc.rst deleted file mode 100644 index 75768c042d..0000000000 --- a/changes/1926.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Dependencies in attic projects were unpinned to avoid spurious dependabot security alerts. diff --git a/changes/1933.misc.rst b/changes/1933.misc.rst deleted file mode 100644 index 248da6ab25..0000000000 --- a/changes/1933.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Updated ``pre-commit`` hooks to the latest version. diff --git a/changes/1938.feature.rst b/changes/1938.feature.rst deleted file mode 100644 index 1b4b1de04d..0000000000 --- a/changes/1938.feature.rst +++ /dev/null @@ -1 +0,0 @@ -The MultilineTextInput widget now has 100% test coverage, and complete API documentation. diff --git a/changes/1938.removal.rst b/changes/1938.removal.rst deleted file mode 100644 index 6460bbbea3..0000000000 --- a/changes/1938.removal.rst +++ /dev/null @@ -1 +0,0 @@ -The ``clear()`` method for resetting the value of a MultilineTextInput, TextInput and PasswordInput has been removed. This method was an ambiguous override of the ``clear()`` method on Widget that removed all child nodes. To remove all content from a text input widget, use ``widget.value = ""``. diff --git a/changes/1944.feature.rst b/changes/1944.feature.rst deleted file mode 100644 index cedc7c9b58..0000000000 --- a/changes/1944.feature.rst +++ /dev/null @@ -1 +0,0 @@ -The TextInput and PasswordInput widgets now have 100% test coverage, and complete API documentation. diff --git a/changes/1944.removal.1.rst b/changes/1944.removal.1.rst deleted file mode 100644 index fd7f331eba..0000000000 --- a/changes/1944.removal.1.rst +++ /dev/null @@ -1 +0,0 @@ -The argument names used to construct validators have changed. Error message arguments now all end with ``_message``; ``compare_count`` has been renamed ``count``; and ``min_value`` and ``max_value`` have been renamed ``min_length`` and ``max_length``, respectively. diff --git a/changes/1944.removal.2.rst b/changes/1944.removal.2.rst deleted file mode 100644 index edb06c6a2e..0000000000 --- a/changes/1944.removal.2.rst +++ /dev/null @@ -1 +0,0 @@ -The ability to perform multiple substring matches in a ``Contains`` validator has been removed. diff --git a/changes/1944.removal.3.rst b/changes/1944.removal.3.rst deleted file mode 100644 index 4c5055fae3..0000000000 --- a/changes/1944.removal.3.rst +++ /dev/null @@ -1 +0,0 @@ -The ``TextInput.validate`` method has been removed. Validation now happens automatically whenever the ``value`` or ``validators`` properties are changed. diff --git a/changes/1946.feature.rst b/changes/1946.feature.rst deleted file mode 100644 index 0d19d9dd40..0000000000 --- a/changes/1946.feature.rst +++ /dev/null @@ -1 +0,0 @@ -The NumberInput widget now has 100% test coverage, and complete API documentation. diff --git a/changes/1947.bugfix.rst b/changes/1947.bugfix.rst deleted file mode 100644 index 3a7016b732..0000000000 --- a/changes/1947.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -The ``on_result`` handler is now used by Cocoa file dialogs. diff --git a/changes/1948.misc.rst b/changes/1948.misc.rst deleted file mode 100644 index f59c7571f8..0000000000 --- a/changes/1948.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Dialogs were refactored to provide reuse for asynchronous results, and provide full interface/impl separation. diff --git a/changes/1949.feature.rst b/changes/1949.feature.rst deleted file mode 100644 index e6f7f1134e..0000000000 --- a/changes/1949.feature.rst +++ /dev/null @@ -1 +0,0 @@ -The WebView widget now has 100% test coverage, and complete API documentation. diff --git a/changes/1949.removal.1.rst b/changes/1949.removal.1.rst deleted file mode 100644 index 70f1e709de..0000000000 --- a/changes/1949.removal.1.rst +++ /dev/null @@ -1 +0,0 @@ -The ``on_key_down`` handler has been removed from WebView. If you need to catch user input, either use a handler in the embedded Javascript, or create a ``Command`` with a key shortcut. diff --git a/changes/1949.removal.2.rst b/changes/1949.removal.2.rst deleted file mode 100644 index 607bdada1a..0000000000 --- a/changes/1949.removal.2.rst +++ /dev/null @@ -1 +0,0 @@ -The ``get_dom()`` method on WebView has been removed. This method wasn't implemented on most platforms, and wasn't working on any of the platforms where it *was* implemented, as modern web view implementations don't provide a synchronous API for accessing web content in this way. diff --git a/changes/1949.removal.3.rst b/changes/1949.removal.3.rst deleted file mode 100644 index 88ee8ad077..0000000000 --- a/changes/1949.removal.3.rst +++ /dev/null @@ -1 +0,0 @@ -The ``evaluate_javascript()`` method on WebView has been modified to work in both synchronous and asynchronous contexts. In a synchronous context you can invoke the method and use a functional ``on_result`` callback to be notified when evaluation is complete. In an asynchronous context, you can await the result. diff --git a/changes/1949.removal.4.rst b/changes/1949.removal.4.rst deleted file mode 100644 index 04b5c24a0d..0000000000 --- a/changes/1949.removal.4.rst +++ /dev/null @@ -1 +0,0 @@ -The ``invoke_javascript()`` method has been removed. All usage of ``invoke_javascript()`` can be replaced with ``evaluate_javascript()``. diff --git a/changes/1949.removal.5.rst b/changes/1949.removal.5.rst deleted file mode 100644 index 4840d9beb1..0000000000 --- a/changes/1949.removal.5.rst +++ /dev/null @@ -1 +0,0 @@ -The usage of local ``file://`` URLs has been explicitly prohibited. ``file://`` URLs have not been reliable for some time; their usage is now explicitly prohibited. diff --git a/changes/1950.misc.rst b/changes/1950.misc.rst deleted file mode 100644 index 9fa62a8b94..0000000000 --- a/changes/1950.misc.rst +++ /dev/null @@ -1 +0,0 @@ -The NavigationView was removed; it wasn't exposed in public API. diff --git a/changes/1951.feature.rst b/changes/1951.feature.rst deleted file mode 100644 index a9fe48f668..0000000000 --- a/changes/1951.feature.rst +++ /dev/null @@ -1 +0,0 @@ -The DateInput and TimeInput widgets now have 100% test coverage, and complete API documentation. diff --git a/changes/1951.removal.1.rst b/changes/1951.removal.1.rst deleted file mode 100644 index 1ae323e047..0000000000 --- a/changes/1951.removal.1.rst +++ /dev/null @@ -1 +0,0 @@ -``DatePicker`` has been renamed ``DateInput``. diff --git a/changes/1951.removal.2.rst b/changes/1951.removal.2.rst deleted file mode 100644 index 697d6e1f85..0000000000 --- a/changes/1951.removal.2.rst +++ /dev/null @@ -1 +0,0 @@ -``TimePicker`` has been renamed ``TimeInput``. diff --git a/changes/1952.misc.rst b/changes/1952.misc.rst deleted file mode 100644 index a6ba419dee..0000000000 --- a/changes/1952.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Type annotations were updated for all widgets that have been audited. diff --git a/changes/1954.misc.rst b/changes/1954.misc.rst deleted file mode 100644 index 13f8fc2a61..0000000000 --- a/changes/1954.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Updated actions/setup-python from 4.6.0 to 4.6.1. diff --git a/changes/1955.feature.rst b/changes/1955.feature.rst deleted file mode 100644 index cce0a75039..0000000000 --- a/changes/1955.feature.rst +++ /dev/null @@ -1 +0,0 @@ -The Selection widget now has 100% test coverage and complete API documentation. diff --git a/changes/1955.removal.1.rst b/changes/1955.removal.1.rst deleted file mode 100644 index 9064fdce96..0000000000 --- a/changes/1955.removal.1.rst +++ /dev/null @@ -1 +0,0 @@ -The ``on_select`` handler on the Selection widget has been renamed ``on_change`` for consistency with other widgets. diff --git a/changes/1955.removal.2.rst b/changes/1955.removal.2.rst deleted file mode 100644 index 37dc673205..0000000000 --- a/changes/1955.removal.2.rst +++ /dev/null @@ -1 +0,0 @@ -The ``_notify()`` method on data sources has been renamed ``notify()``, reflecting its status as a public API. diff --git a/changes/1955.removal.3.rst b/changes/1955.removal.3.rst deleted file mode 100644 index 862c0cdbca..0000000000 --- a/changes/1955.removal.3.rst +++ /dev/null @@ -1,2 +0,0 @@ -The ``prepend()`` method was removed from the ``ListSource`` and ``TreeSource`` APIs. -Calls to ``prepend(...)`` can be replaced with ``insert(0, ...)``. diff --git a/changes/1955.removal.4.rst b/changes/1955.removal.4.rst deleted file mode 100644 index ec2d1e50d0..0000000000 --- a/changes/1955.removal.4.rst +++ /dev/null @@ -1,5 +0,0 @@ -The ``insert`` and ``append`` APIs on ``ListSource`` and ``TreeSource`` have been -modified to provide an interface that is closer to that ``list`` API. These methods -previously accepted a variable list of positional and keyword arguments; these arguments -should be combined into a single tuple or dictionary. This matches the API provided by -``__setitem__()``. diff --git a/changes/1956.feature.rst b/changes/1956.feature.rst deleted file mode 100644 index 59de21d71f..0000000000 --- a/changes/1956.feature.rst +++ /dev/null @@ -1 +0,0 @@ -The ImageView widget now has 100% test coverage, and complete API documentation. diff --git a/changes/1956.removal.rst b/changes/1956.removal.rst deleted file mode 100644 index 49c9bce655..0000000000 --- a/changes/1956.removal.rst +++ /dev/null @@ -1 +0,0 @@ -Images and ImageViews no longer support loading images from URLs. If you need to display an image from a URL, use a background task to obtain the image data asynchronously, then create the Image and/or set the ImageView ``image`` property on the completion of the asynchronous load. diff --git a/changes/1958.bugfix.rst b/changes/1958.bugfix.rst deleted file mode 100644 index a50af370ca..0000000000 --- a/changes/1958.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Pack layout now honors an explicit width/height setting of 0. diff --git a/changes/1958.removal.1.rst b/changes/1958.removal.1.rst deleted file mode 100644 index 0a92873e23..0000000000 --- a/changes/1958.removal.1.rst +++ /dev/null @@ -1 +0,0 @@ -A row box contained inside a row box will now expand to the full height of its parent, rather than collapsing to the maximum height of the inner box's child content. diff --git a/changes/1958.removal.2.rst b/changes/1958.removal.2.rst deleted file mode 100644 index e37636b8ae..0000000000 --- a/changes/1958.removal.2.rst +++ /dev/null @@ -1 +0,0 @@ -A column box contained inside a column box will now expand to the full width of its parent, rather than collapsing to the maximum width of the inner box's child content. diff --git a/changes/1963.misc.rst b/changes/1963.misc.rst deleted file mode 100644 index f37035e948..0000000000 --- a/changes/1963.misc.rst +++ /dev/null @@ -1 +0,0 @@ -The iOS handler for focus changes was corrected to correctly resign focus. diff --git a/changes/1964.feature.1.rst b/changes/1964.feature.1.rst deleted file mode 100644 index ecdf5b3422..0000000000 --- a/changes/1964.feature.1.rst +++ /dev/null @@ -1 +0,0 @@ -The Paths property of apps now has 100% test coverage, and complete API documentation. diff --git a/changes/1964.feature.2.rst b/changes/1964.feature.2.rst deleted file mode 100644 index 1f4d50f228..0000000000 --- a/changes/1964.feature.2.rst +++ /dev/null @@ -1 +0,0 @@ -The app paths now include a ``config`` path for storing config files. diff --git a/changes/1964.removal.1.rst b/changes/1964.removal.1.rst deleted file mode 100644 index 2945eb7b2f..0000000000 --- a/changes/1964.removal.1.rst +++ /dev/null @@ -1 +0,0 @@ -The location returned by ``toga.App.paths.app`` is now the folder that contains the Python source file that defines the app class used by the app. If you are using a ``toga.App`` instance directly, this may alter the path that is returned. diff --git a/changes/1964.removal.2.rst b/changes/1964.removal.2.rst deleted file mode 100644 index 3dbe9045e2..0000000000 --- a/changes/1964.removal.2.rst +++ /dev/null @@ -1 +0,0 @@ -On Winforms, if an application doesn't define an author, an author of ``Unknown`` is now used in application data paths, rather than ``Toga``. diff --git a/changes/1964.removal.3.rst b/changes/1964.removal.3.rst deleted file mode 100644 index 22bcae6c19..0000000000 --- a/changes/1964.removal.3.rst +++ /dev/null @@ -1 +0,0 @@ -Winforms now returns ``AppData/Local///Data`` as the user data file location, rather than ``AppData/Local//``. diff --git a/changes/1964.removal.4.rst b/changes/1964.removal.4.rst deleted file mode 100644 index b22fe6ab97..0000000000 --- a/changes/1964.removal.4.rst +++ /dev/null @@ -1 +0,0 @@ -On Android, the user data folder is now a ``data`` subdirectory of the location returned by ``context.getFilesDir()``, rather than the bare ``context.getFilesDir()`` location. diff --git a/changes/1964.removal.5.rst b/changes/1964.removal.5.rst deleted file mode 100644 index debf6198aa..0000000000 --- a/changes/1964.removal.5.rst +++ /dev/null @@ -1 +0,0 @@ -GTK now returns ``~/.local/state/appname/log`` as the log file location, rather than ``~/.cache/appname/log``. diff --git a/changes/1969.feature.rst b/changes/1969.feature.rst deleted file mode 100644 index c0261629de..0000000000 --- a/changes/1969.feature.rst +++ /dev/null @@ -1 +0,0 @@ -The ScrollContainer widget now has 100% test coverage, and complete API documentation. diff --git a/changes/1972.misc.rst b/changes/1972.misc.rst deleted file mode 100644 index 05105d7c6e..0000000000 --- a/changes/1972.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Updated actions/checkout from 3.5.2 to 3.5.3. diff --git a/changes/1977.misc.rst b/changes/1977.misc.rst deleted file mode 100644 index 9eb46067a6..0000000000 --- a/changes/1977.misc.rst +++ /dev/null @@ -1 +0,0 @@ -The ``pre-commit`` hook for ``pyupgrade`` was updated to its latest version. diff --git a/changes/1980.misc.rst b/changes/1980.misc.rst deleted file mode 100644 index 36887818c7..0000000000 --- a/changes/1980.misc.rst +++ /dev/null @@ -1 +0,0 @@ -References to Android system libraries have been modified to use Chaquopy native syntax, rather than Rubicon Java. diff --git a/changes/1984.feature.rst b/changes/1984.feature.rst deleted file mode 100644 index caadeee2d1..0000000000 --- a/changes/1984.feature.rst +++ /dev/null @@ -1 +0,0 @@ -The SplitContainer widget now has 100% test coverage, and complete API documentation. diff --git a/changes/1984.removal.1.rst b/changes/1984.removal.1.rst deleted file mode 100644 index 8b3e8f37a9..0000000000 --- a/changes/1984.removal.1.rst +++ /dev/null @@ -1 +0,0 @@ -Support for SplitContainers with more than 2 panels of content has been removed. diff --git a/changes/1984.removal.2.rst b/changes/1984.removal.2.rst deleted file mode 100644 index 7d194c8aa1..0000000000 --- a/changes/1984.removal.2.rst +++ /dev/null @@ -1 +0,0 @@ -Support for 3-tuple form of specifying SplitContainer items, used to prevent panels from resizing, has been removed. diff --git a/changes/1988.misc.rst b/changes/1988.misc.rst deleted file mode 100644 index 0ac6a013de..0000000000 --- a/changes/1988.misc.rst +++ /dev/null @@ -1 +0,0 @@ -An error in path instantiation by the web backend was corrected. diff --git a/changes/1989.misc.rst b/changes/1989.misc.rst deleted file mode 100644 index 9480ad6111..0000000000 --- a/changes/1989.misc.rst +++ /dev/null @@ -1 +0,0 @@ -The on_webview_load signal when setting the URL to None was deferred to the event loop, rather than being invoked immediately. diff --git a/changes/1992.feature.rst b/changes/1992.feature.rst deleted file mode 100644 index 803d761478..0000000000 --- a/changes/1992.feature.rst +++ /dev/null @@ -1 +0,0 @@ -A more informative error message is returned when a platform backend doesn't support a widget. diff --git a/changes/1995.feature.rst b/changes/1995.feature.rst deleted file mode 100644 index 77d89cf247..0000000000 --- a/changes/1995.feature.rst +++ /dev/null @@ -1 +0,0 @@ -The example apps were updated to support being run with ``briefcase run`` on all platforms. diff --git a/changes/1996.feature.rst b/changes/1996.feature.rst deleted file mode 100644 index 405bb99826..0000000000 --- a/changes/1996.feature.rst +++ /dev/null @@ -1 +0,0 @@ -The OptionContainer widget now has 100% test coverage, and complete API documentation. diff --git a/changes/1996.removal.1.rst b/changes/1996.removal.1.rst deleted file mode 100644 index 119d0bd069..0000000000 --- a/changes/1996.removal.1.rst +++ /dev/null @@ -1 +0,0 @@ -The ability to increment and decrement the current OptionContainer tab was removed. Instead of `container.current_tab += 1`, use `container.current_tab = container.current_tab.index + 1` diff --git a/changes/1996.removal.2.rst b/changes/1996.removal.2.rst deleted file mode 100644 index 7b1b2a7c64..0000000000 --- a/changes/1996.removal.2.rst +++ /dev/null @@ -1 +0,0 @@ -``OptionContainer.add()``, ``OptionContainer.remove()`` and ``OptionContainer.insert()`` have been removed, due to being ambiguous with base widget methods of the same name. Use the ``OptionContainer.content.append()``, ``OptionContainer.content.remove()`` and ``OptionContainer.content.insert()`` APIs instead. diff --git a/changes/1996.removal.3.rst b/changes/1996.removal.3.rst deleted file mode 100644 index cd32b910ab..0000000000 --- a/changes/1996.removal.3.rst +++ /dev/null @@ -1 +0,0 @@ -The ``on_select`` handler for OptionContainer no longer receives the ``option`` argument providing the selected tab. Use ``current_tab`` to obtain the currently selected tab. diff --git a/changes/1998.misc.rst b/changes/1998.misc.rst deleted file mode 100644 index 977eddaf66..0000000000 --- a/changes/1998.misc.rst +++ /dev/null @@ -1 +0,0 @@ -The reference to ``toga.paths.Paths`` in API Reference was corrected to resolve correctly. diff --git a/changes/1999.removal.1.rst b/changes/1999.removal.1.rst deleted file mode 100644 index 8c5f27b7e7..0000000000 --- a/changes/1999.removal.1.rst +++ /dev/null @@ -1 +0,0 @@ -``Slider.range`` has been replaced by ``Slider.min`` and ``Slider.max``. diff --git a/changes/1999.removal.2.rst b/changes/1999.removal.2.rst deleted file mode 100644 index 3b102fe4ff..0000000000 --- a/changes/1999.removal.2.rst +++ /dev/null @@ -1 +0,0 @@ -``NumberInput.min_value`` and ``NumberInput.max_value`` have been renamed ``NumberInput.min`` and ``NumberInput.max``, respectively. diff --git a/changes/1999.removal.3.rst b/changes/1999.removal.3.rst deleted file mode 100644 index 8e47bd7180..0000000000 --- a/changes/1999.removal.3.rst +++ /dev/null @@ -1 +0,0 @@ -``DatePicker.min_date`` and ``DatePicker.max_date`` has been renamed ``DateInput.min`` and ``DateInput.max``, respectively. diff --git a/changes/1999.removal.4.rst b/changes/1999.removal.4.rst deleted file mode 100644 index 3b2264aa6b..0000000000 --- a/changes/1999.removal.4.rst +++ /dev/null @@ -1 +0,0 @@ -``TimePicker.min_time`` and ``TimePicker.max_time`` has been renamed ``TimeInput.min`` and ``TimeInput.max``, respectively. diff --git a/changes/2001.doc.rst b/changes/2001.doc.rst deleted file mode 100644 index a0b6cbcf3a..0000000000 --- a/changes/2001.doc.rst +++ /dev/null @@ -1 +0,0 @@ -Class references were updated to reflect their prefererred import location, rather than location where they are defined in code. diff --git a/changes/2008.misc.rst b/changes/2008.misc.rst deleted file mode 100644 index 59d9323c51..0000000000 --- a/changes/2008.misc.rst +++ /dev/null @@ -1 +0,0 @@ -The import for Pyodide's ``create_proxy`` function was updated to import from the ``ffi`` submodule. diff --git a/changes/2011.feature.1.rst b/changes/2011.feature.1.rst deleted file mode 100644 index 476813d4d7..0000000000 --- a/changes/2011.feature.1.rst +++ /dev/null @@ -1 +0,0 @@ -The Table widget now has 100% test coverage and complete API documentation. diff --git a/changes/2011.feature.2.rst b/changes/2011.feature.2.rst deleted file mode 100644 index e48283fa2b..0000000000 --- a/changes/2011.feature.2.rst +++ /dev/null @@ -1 +0,0 @@ -Tables can now omit the header row by specifying ``headings=None`` and providing accessors. diff --git a/changes/2011.removal.1.rst b/changes/2011.removal.1.rst deleted file mode 100644 index 28d434d518..0000000000 --- a/changes/2011.removal.1.rst +++ /dev/null @@ -1 +0,0 @@ -``Table.on_double_click`` has been renamed ``Table.on_activate``. diff --git a/changes/2011.removal.2.rst b/changes/2011.removal.2.rst deleted file mode 100644 index 950ee3c64c..0000000000 --- a/changes/2011.removal.2.rst +++ /dev/null @@ -1 +0,0 @@ -Tables now use an empty string for the default missing value, rather than warning about missing values. diff --git a/changes/2011.removal.3.rst b/changes/2011.removal.3.rst deleted file mode 100644 index 0f8d7c80be..0000000000 --- a/changes/2011.removal.3.rst +++ /dev/null @@ -1 +0,0 @@ -``Table.add_column()`` has been deprecated in favor of ``Table.append_column()`` and ``Table.insert_column()`` diff --git a/changes/2014.misc.rst b/changes/2014.misc.rst deleted file mode 100644 index 9eb46067a6..0000000000 --- a/changes/2014.misc.rst +++ /dev/null @@ -1 +0,0 @@ -The ``pre-commit`` hook for ``pyupgrade`` was updated to its latest version. diff --git a/changes/2017.feature.1.rst b/changes/2017.feature.1.rst deleted file mode 100644 index 9e581442ce..0000000000 --- a/changes/2017.feature.1.rst +++ /dev/null @@ -1 +0,0 @@ -The Tree widget now has 100% test coverage and complete API documentation. diff --git a/changes/2017.feature.2.rst b/changes/2017.feature.2.rst deleted file mode 100644 index 65351dd337..0000000000 --- a/changes/2017.feature.2.rst +++ /dev/null @@ -1 +0,0 @@ -Columns can now be added and removed from a Tree. diff --git a/changes/2017.removal.1.rst b/changes/2017.removal.1.rst deleted file mode 100644 index 882b3b9d01..0000000000 --- a/changes/2017.removal.1.rst +++ /dev/null @@ -1 +0,0 @@ -The ``parent`` argument has been removed from the ``insert`` and ``append`` calls on ``TreeSource``. This improves consistency between the API for ``TreeSource`` and the API for ``list``. To insert or append a row in to a descendent of a TreeSource root, use ``insert`` and ``append`` on the parent node itself - i.e., ``source.insert(parent, index, ...)`` becomes ``parent.insert(index, ...)``, and ``source.insert(None, index, ...)`` becomes ``source.insert(index, ...)``. diff --git a/changes/2017.removal.2.rst b/changes/2017.removal.2.rst deleted file mode 100644 index 150389a5c1..0000000000 --- a/changes/2017.removal.2.rst +++ /dev/null @@ -1 +0,0 @@ -Trees now use an empty string for the default missing value, rather than warning about missing values. diff --git a/changes/2017.removal.3.rst b/changes/2017.removal.3.rst deleted file mode 100644 index 28d434d518..0000000000 --- a/changes/2017.removal.3.rst +++ /dev/null @@ -1 +0,0 @@ -``Table.on_double_click`` has been renamed ``Table.on_activate``. diff --git a/changes/2018.feature.rst b/changes/2018.feature.rst deleted file mode 100644 index de95a2461a..0000000000 --- a/changes/2018.feature.rst +++ /dev/null @@ -1 +0,0 @@ -The default system notification sound can be played via app.beep() diff --git a/changes/2019.misc.rst b/changes/2019.misc.rst deleted file mode 100644 index 113d1d37c0..0000000000 --- a/changes/2019.misc.rst +++ /dev/null @@ -1 +0,0 @@ -The Toga repository checkout for Read the Docs builds is now made unshallow to ensure accurate SCM versioning. diff --git a/changes/2020.bugfix.rst b/changes/2020.bugfix.rst deleted file mode 100644 index 24040c2fd3..0000000000 --- a/changes/2020.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -The minimum window size is now correctly recomputed and enforced if window content changes. diff --git a/changes/2021.doc.rst b/changes/2021.doc.rst deleted file mode 100644 index f4462e2bcb..0000000000 --- a/changes/2021.doc.rst +++ /dev/null @@ -1 +0,0 @@ -The Linux system dependencies were updated to reflect current requirements for developing and using Toga. diff --git a/changes/2022.misc.rst b/changes/2022.misc.rst deleted file mode 100644 index 9eb46067a6..0000000000 --- a/changes/2022.misc.rst +++ /dev/null @@ -1 +0,0 @@ -The ``pre-commit`` hook for ``pyupgrade`` was updated to its latest version. diff --git a/changes/2025.feature.1.rst b/changes/2025.feature.1.rst deleted file mode 100644 index 1f27d4f773..0000000000 --- a/changes/2025.feature.1.rst +++ /dev/null @@ -1 +0,0 @@ -The DetailedList widget now has 100% test coverage and complete API documentation. diff --git a/changes/2025.feature.2.rst b/changes/2025.feature.2.rst deleted file mode 100644 index acfbf94e1a..0000000000 --- a/changes/2025.feature.2.rst +++ /dev/null @@ -1 +0,0 @@ -The accessors used to populate a DetailedList can now be customised. diff --git a/changes/2025.feature.3.rst b/changes/2025.feature.3.rst deleted file mode 100644 index c08ba6a011..0000000000 --- a/changes/2025.feature.3.rst +++ /dev/null @@ -1 +0,0 @@ -A DetailedList can now provide a value to use when a row doesn't provide the required data. diff --git a/changes/2025.feature.4.rst b/changes/2025.feature.4.rst deleted file mode 100644 index c20370c7b3..0000000000 --- a/changes/2025.feature.4.rst +++ /dev/null @@ -1 +0,0 @@ -DetailedList can now respond to "primary" and "secondary" user actions. These may be implemented as left and right swipe respectively, or using any other platform-appropriate mechanism. diff --git a/changes/2025.removal.1.rst b/changes/2025.removal.1.rst deleted file mode 100644 index 14d19c204e..0000000000 --- a/changes/2025.removal.1.rst +++ /dev/null @@ -1 +0,0 @@ -When constructing a DetailedList from a list of tuples, or a list of lists, the required order of values has changed from (icon, title, subtitle) to (title, subtitle, icon). diff --git a/changes/2025.removal.2.rst b/changes/2025.removal.2.rst deleted file mode 100644 index 7b3dc14033..0000000000 --- a/changes/2025.removal.2.rst +++ /dev/null @@ -1 +0,0 @@ -The ``on_select`` handler for DetailedList no longer receives the selected row as an argument. diff --git a/changes/2025.removal.3.rst b/changes/2025.removal.3.rst deleted file mode 100644 index 14e44ed1af..0000000000 --- a/changes/2025.removal.3.rst +++ /dev/null @@ -1 +0,0 @@ -The handling of row deletion in DetailedList widgets has been significantly altered. The ``on_delete`` event handler has been renamed ``on_primary_action``, and is now *only* a notification that a "swipe left" event (or platform equivalent) has been confirmed. This was previously inconsistent across platforms. Some platforms would update the data source to remove the row; some treated ``on_delete`` as a notification event and expected the application to handle the deletion. It is now the application's responsibility to perform the data deletion. diff --git a/changes/2027.removal.rst b/changes/2027.removal.rst deleted file mode 100644 index d591714633..0000000000 --- a/changes/2027.removal.rst +++ /dev/null @@ -1 +0,0 @@ -Support for Python 3.7 was removed. diff --git a/changes/2028.misc.rst b/changes/2028.misc.rst deleted file mode 100644 index 9eb46067a6..0000000000 --- a/changes/2028.misc.rst +++ /dev/null @@ -1 +0,0 @@ -The ``pre-commit`` hook for ``pyupgrade`` was updated to its latest version. diff --git a/changes/2029.feature.1.rst b/changes/2029.feature.1.rst deleted file mode 100644 index 7f58ef70cd..0000000000 --- a/changes/2029.feature.1.rst +++ /dev/null @@ -1 +0,0 @@ -Canvas now has 100% test coverage, and complete API documentation. diff --git a/changes/2029.feature.2.rst b/changes/2029.feature.2.rst deleted file mode 100644 index cdd27cda72..0000000000 --- a/changes/2029.feature.2.rst +++ /dev/null @@ -1 +0,0 @@ -Transformations can now be applied to *any* canvas context, not just the root context. diff --git a/changes/2029.feature.3.rst b/changes/2029.feature.3.rst deleted file mode 100644 index c6208565ae..0000000000 --- a/changes/2029.feature.3.rst +++ /dev/null @@ -1 +0,0 @@ -Canvas now provides more ``list``-like methods for manipulating drawing objects in a context. diff --git a/changes/2029.feature.4.rst b/changes/2029.feature.4.rst deleted file mode 100644 index 4021d671db..0000000000 --- a/changes/2029.feature.4.rst +++ /dev/null @@ -1 +0,0 @@ -On Windows, the default font now follows the system theme. On most devices, this means it has changed from Microsoft Sans Serif 8pt to Segoe UI 9pt. diff --git a/changes/2029.feature.5.rst b/changes/2029.feature.5.rst deleted file mode 100644 index c8c2e1146e..0000000000 --- a/changes/2029.feature.5.rst +++ /dev/null @@ -1 +0,0 @@ -Font sizes are now consistently interpreted as CSS points. On Android, iOS and macOS, this means any numeric font sizes will appear 33% larger than before. The default font size on these platforms is unchanged. diff --git a/changes/2029.removal.1.rst b/changes/2029.removal.1.rst deleted file mode 100644 index d1eb9f64ad..0000000000 --- a/changes/2029.removal.1.rst +++ /dev/null @@ -1 +0,0 @@ -A Canvas is no longer implicitly a context object. The ``Canvas.context`` property now returns the root context of the canvas. If you were previously using ``Canvas.context()`` to generate an empty context, it should be replaced with ``Canvas.Context()``. Any operations to ``remove()`` drawing objects from the canvas or ``clear()`` the canvas of drawing objects should be made on ``Canvas.context``. Invoking these methods on ``Canvas`` will now call the base ``Widget`` implementations, which will throw an exception because ``Canvas`` widgets cannot have children. diff --git a/changes/2029.removal.2.rst b/changes/2029.removal.2.rst deleted file mode 100644 index 3c46c50b0a..0000000000 --- a/changes/2029.removal.2.rst +++ /dev/null @@ -1 +0,0 @@ -Drawing operations (e.g., ``arc``, ``line_to``, etc) can no longer be invoked directly on a Canvas. Instead, they should be invoked on the root context of the canvas, retrieved with via the `canvas` property. Context creating operations (``Fill``, ``Stroke`` and ``ClosedPath``) are not affected. diff --git a/changes/2029.removal.3.rst b/changes/2029.removal.3.rst deleted file mode 100644 index f4ad827055..0000000000 --- a/changes/2029.removal.3.rst +++ /dev/null @@ -1 +0,0 @@ -The ``preserve`` option on ``Fill()`` operations has been deprecated. It was required for an internal optimization and can be safely removed without impact. diff --git a/changes/2029.removal.4.rst b/changes/2029.removal.4.rst deleted file mode 100644 index d72db3803d..0000000000 --- a/changes/2029.removal.4.rst +++ /dev/null @@ -1 +0,0 @@ -Methods that generate new contexts have been renamed: ``context()``, ``closed_path()``, ``fill()`` and ``stroke()`` have become ``Context()``, ``ClosedPath()``, ``Fill()`` and ``Stroke()`` respectively. This has been done to make it easier to differentiate between primitive drawing operations and context-generating operations. diff --git a/changes/2029.removal.5.rst b/changes/2029.removal.5.rst deleted file mode 100644 index ccf97a0fac..0000000000 --- a/changes/2029.removal.5.rst +++ /dev/null @@ -1 +0,0 @@ -The ``new_path`` operation has been renamed ``begin_path`` for consistency with the HTML5 Canvas API. diff --git a/changes/2029.removal.6.rst b/changes/2029.removal.6.rst deleted file mode 100644 index 556a37cf82..0000000000 --- a/changes/2029.removal.6.rst +++ /dev/null @@ -1 +0,0 @@ -``fill()`` and ``stroke()`` now return simple drawing operations, rather than context managers. If you attempt to use ``fill()`` or ``stroke()`` on a context as a context manager, an exception will be raised; using these methods on Canvas will raise a warning, but return the appropriate context manager. diff --git a/changes/2029.removal.7.rst b/changes/2029.removal.7.rst deleted file mode 100644 index 2508b97086..0000000000 --- a/changes/2029.removal.7.rst +++ /dev/null @@ -1 +0,0 @@ -The ``clicks`` argument to ``Canvas.on_press`` has been removed. Instead, to detect "double clicks", you should use ``Canvas.on_activate``. The ``clicks`` argument has also been removed from ``Canvas.on_release``, ``Canvas.on_drag``, ``Canvas.on_alt_press``, ``Canvas.on_alt_release``, and ``Canvas.on_alt_drag``. diff --git a/changes/2029.removal.8.rst b/changes/2029.removal.8.rst deleted file mode 100644 index c464565d38..0000000000 --- a/changes/2029.removal.8.rst +++ /dev/null @@ -1 +0,0 @@ -The ``tight`` argument to ``Canvas.measure_text()`` has been deprecated. It was a GTK implementation detail, and can be safely removed without impact. diff --git a/changes/2034.misc.rst b/changes/2034.misc.rst deleted file mode 100644 index 0be930004b..0000000000 --- a/changes/2034.misc.rst +++ /dev/null @@ -1 +0,0 @@ -The ``pre-commit`` hook for ``black`` was updated to its latest version. diff --git a/changes/2035.misc.rst b/changes/2035.misc.rst deleted file mode 100644 index 37b0513f6f..0000000000 --- a/changes/2035.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Updated actions/setup-python from 4.6.1 to 4.7.0. diff --git a/changes/2039.misc.rst b/changes/2039.misc.rst deleted file mode 100644 index 87b0c6d54d..0000000000 --- a/changes/2039.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Fixing a bug introduced in #1969 that clashes the dialog display on iOS diff --git a/changes/2044.feature.rst b/changes/2044.feature.rst deleted file mode 100644 index d0acf985ec..0000000000 --- a/changes/2044.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Toga now has significantly improved type annotations for its public API diff --git a/changes/2047.feature.rst b/changes/2047.feature.rst deleted file mode 100644 index c5bd725787..0000000000 --- a/changes/2047.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Applications now verify that a main window has been created as part of the ``startup()`` method. diff --git a/changes/2050.feature.rst b/changes/2050.feature.rst deleted file mode 100644 index e1632062c5..0000000000 --- a/changes/2050.feature.rst +++ /dev/null @@ -1 +0,0 @@ -An implementation of ActivityIndicator was added to the Web backend. diff --git a/changes/2051.feature.rst b/changes/2051.feature.rst deleted file mode 100644 index 49248b82c0..0000000000 --- a/changes/2051.feature.rst +++ /dev/null @@ -1 +0,0 @@ -An implementation of Divider was added to the Web backend. diff --git a/changes/2052.misc.rst b/changes/2052.misc.rst deleted file mode 100644 index a4ee91fe66..0000000000 --- a/changes/2052.misc.rst +++ /dev/null @@ -1 +0,0 @@ -The version pin for the prerelease pygobject has been updated, following the resolution of pygobject#119. diff --git a/changes/2053.misc.rst b/changes/2053.misc.rst deleted file mode 100644 index 44850f3029..0000000000 --- a/changes/2053.misc.rst +++ /dev/null @@ -1 +0,0 @@ -An edge case in SplitContainer having empty content was corrected on Cocoa. diff --git a/changes/2055.misc.rst b/changes/2055.misc.rst deleted file mode 100644 index c1a62a07d2..0000000000 --- a/changes/2055.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Full test coverage for handlers was added. diff --git a/changes/2056.misc.rst b/changes/2056.misc.rst deleted file mode 100644 index e1b6193e1c..0000000000 --- a/changes/2056.misc.rst +++ /dev/null @@ -1 +0,0 @@ -The ``pre-commit`` hook for ``flake8`` was updated to its latest version. diff --git a/changes/2057.misc.rst b/changes/2057.misc.rst deleted file mode 100644 index 2b29b4a1c2..0000000000 --- a/changes/2057.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Codespell was added to the pre-commit configuration. diff --git a/changes/2058.feature.rst b/changes/2058.feature.rst deleted file mode 100644 index e50fbe1a5f..0000000000 --- a/changes/2058.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Window and MainWindow now have 100% test coverage, and complete API documentation. diff --git a/changes/2058.removal.1.rst b/changes/2058.removal.1.rst deleted file mode 100644 index 402071ece3..0000000000 --- a/changes/2058.removal.1.rst +++ /dev/null @@ -1 +0,0 @@ -Windows no longer need to be explicitly added to the app's window list. When a window is created, it will be automatically added to the windows for the currently running app. diff --git a/changes/2058.removal.2.rst b/changes/2058.removal.2.rst deleted file mode 100644 index 3499758242..0000000000 --- a/changes/2058.removal.2.rst +++ /dev/null @@ -1 +0,0 @@ -The ``multiselect`` argument to Open File and Select Folder dialogs has been renamed ``multiple_select``, for consistency with other widgets that have multiple selection capability. diff --git a/changes/2058.removal.3.rst b/changes/2058.removal.3.rst deleted file mode 100644 index 4c6d52f106..0000000000 --- a/changes/2058.removal.3.rst +++ /dev/null @@ -1 +0,0 @@ -``Window.resizeable`` and ``Window.closeable`` have been renamed ``Window.resizable`` and ``Window.closable``, to adhere to US spelling conventions. diff --git a/changes/2059.misc.rst b/changes/2059.misc.rst deleted file mode 100644 index c3ec018f49..0000000000 --- a/changes/2059.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Changed spelling to prevent pre-commit(Codespell) error. diff --git a/changes/2063.feature.rst b/changes/2063.feature.rst deleted file mode 100644 index b776bfdfd8..0000000000 --- a/changes/2063.feature.rst +++ /dev/null @@ -1 +0,0 @@ -The ability to capture the contents of a window as an image has been added. diff --git a/changes/2067.misc.rst b/changes/2067.misc.rst deleted file mode 100644 index 9eb46067a6..0000000000 --- a/changes/2067.misc.rst +++ /dev/null @@ -1 +0,0 @@ -The ``pre-commit`` hook for ``pyupgrade`` was updated to its latest version. diff --git a/changes/2068.misc.rst b/changes/2068.misc.rst deleted file mode 100644 index 16e1a04a63..0000000000 --- a/changes/2068.misc.rst +++ /dev/null @@ -1 +0,0 @@ -App.beep() has been implemented for Android. diff --git a/changes/2069.misc.rst b/changes/2069.misc.rst deleted file mode 100644 index bb5a3c7699..0000000000 --- a/changes/2069.misc.rst +++ /dev/null @@ -1 +0,0 @@ -A backwards incompatibility issue in the date_and_time example was corrected. diff --git a/changes/2075.feature.1.rst b/changes/2075.feature.1.rst deleted file mode 100644 index 85a69bec32..0000000000 --- a/changes/2075.feature.1.rst +++ /dev/null @@ -1 +0,0 @@ -App, DocumentApp and Command now have 100% test coverage, and complete API documentation. diff --git a/changes/2075.removal.1.rst b/changes/2075.removal.1.rst deleted file mode 100644 index acf2ac736e..0000000000 --- a/changes/2075.removal.1.rst +++ /dev/null @@ -1 +0,0 @@ -The ``filename`` argument and property of ``toga.Document`` has been renamed ``path``, and is now guaranteed to be a ``pathlib.Path`` object. diff --git a/changes/2075.removal.2.rst b/changes/2075.removal.2.rst deleted file mode 100644 index f35a44b70e..0000000000 --- a/changes/2075.removal.2.rst +++ /dev/null @@ -1 +0,0 @@ -Documents must now provide a ``create()`` method to instantiate a ``main_window`` instance. diff --git a/changes/2075.removal.3.rst b/changes/2075.removal.3.rst deleted file mode 100644 index ec4a3d1aee..0000000000 --- a/changes/2075.removal.3.rst +++ /dev/null @@ -1 +0,0 @@ -``App.exit()`` now unconditionally exits the app, rather than confirming that the ``on_exit`` handler will permit the exit. diff --git a/changes/2075.removal.4.rst b/changes/2075.removal.4.rst deleted file mode 100644 index 288fd809a1..0000000000 --- a/changes/2075.removal.4.rst +++ /dev/null @@ -1 +0,0 @@ -``GROUP_BREAK``, ``SECTION_BREAK`` and ``CommandSet`` were removed from the ``toga`` namespace. End users generally shouldn't need to use these classes. If your code *does* need them for some reason, you can access them from the ``toga.command`` namespace. diff --git a/changes/2075.removal.5.rst b/changes/2075.removal.5.rst deleted file mode 100644 index 07917a49c3..0000000000 --- a/changes/2075.removal.5.rst +++ /dev/null @@ -1 +0,0 @@ -The ``windows`` constructor argument of ``toga.App`` has been removed. Windows are now automatically added to the current app. diff --git a/changes/2075.removal.6.rst b/changes/2075.removal.6.rst deleted file mode 100644 index e317cfa4d3..0000000000 --- a/changes/2075.removal.6.rst +++ /dev/null @@ -1 +0,0 @@ -In ``App``, the properties ``id`` and ``name`` have been deprecated in favor of ``app_id`` and ``formal_name`` respectively, and the property ``module_name`` has been removed. diff --git a/changes/2075.removal.8.rst b/changes/2075.removal.8.rst deleted file mode 100644 index 3e103e8f2c..0000000000 --- a/changes/2075.removal.8.rst +++ /dev/null @@ -1 +0,0 @@ -The optional arguments of ``Command`` and ``Group`` are now keyword-only. diff --git a/changes/2085.misc.rst b/changes/2085.misc.rst deleted file mode 100644 index fc40890351..0000000000 --- a/changes/2085.misc.rst +++ /dev/null @@ -1 +0,0 @@ -WebView no longer uses the deprecated ``run_javascript`` API on Gtk. diff --git a/changes/2089.feature.rst b/changes/2089.feature.rst deleted file mode 100644 index d8ec047366..0000000000 --- a/changes/2089.feature.rst +++ /dev/null @@ -1 +0,0 @@ -A PasswordInput widget was added to the Web backend. diff --git a/changes/2090.misc.rst b/changes/2090.misc.rst deleted file mode 100644 index 20cd09480d..0000000000 --- a/changes/2090.misc.rst +++ /dev/null @@ -1 +0,0 @@ -The use of indirect imports on Winforms has been replaced with direct imports. diff --git a/changes/2092.misc.rst b/changes/2092.misc.rst deleted file mode 100644 index 16b6a7f30a..0000000000 --- a/changes/2092.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Dialogs were added to the textual backend. diff --git a/changes/2093.misc.rst b/changes/2093.misc.rst deleted file mode 100644 index a8aa22d02b..0000000000 --- a/changes/2093.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Repeated autodoc options were refactored into the Sphinx configuration. diff --git a/changes/2094.bugfix.rst b/changes/2094.bugfix.rst deleted file mode 100644 index ee4d11b975..0000000000 --- a/changes/2094.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fixes `TypeError` when `toga.Window.title` is invoked on WinForms. diff --git a/changes/2095.bugfix.rst b/changes/2095.bugfix.rst deleted file mode 100644 index 9d741d8ac8..0000000000 --- a/changes/2095.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Modified WinForms backend to prevent error when window content is not set. diff --git a/changes/2101.misc.rst b/changes/2101.misc.rst deleted file mode 100644 index 13e36e26e1..0000000000 --- a/changes/2101.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Updated ncipollo/release-action from 1.12.0 to 1.13.0. diff --git a/changes/2102.misc.rst b/changes/2102.misc.rst deleted file mode 100644 index 53d6e44bab..0000000000 --- a/changes/2102.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Updated actions/checkout from 3.5.3 to 3.6.0. diff --git a/changes/2109.feature.rst b/changes/2109.feature.rst deleted file mode 100644 index 5d1a07e596..0000000000 --- a/changes/2109.feature.rst +++ /dev/null @@ -1 +0,0 @@ -The WebKit inspector is automatically enabled on all webviews, provided you're using macOS 13.3 (Ventura) or iOS 16.4, or later. diff --git a/changes/2113.misc.rst b/changes/2113.misc.rst deleted file mode 100644 index 5ba9f597d6..0000000000 --- a/changes/2113.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Updated actions/checkout from 3.6.0 to 4.0.0. diff --git a/changes/2114.misc.rst b/changes/2114.misc.rst deleted file mode 100644 index 75ff7bec3d..0000000000 --- a/changes/2114.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Updated actions/upload-artifact from 3.1.2 to 3.1.3. diff --git a/changes/2115.misc.rst b/changes/2115.misc.rst deleted file mode 100644 index 0be930004b..0000000000 --- a/changes/2115.misc.rst +++ /dev/null @@ -1 +0,0 @@ -The ``pre-commit`` hook for ``black`` was updated to its latest version. diff --git a/changes/2116.misc.rst b/changes/2116.misc.rst deleted file mode 100644 index 05179231dd..0000000000 --- a/changes/2116.misc.rst +++ /dev/null @@ -1 +0,0 @@ -An error raised when displaying a GTK About dialog was resolved. diff --git a/changes/2118.misc.rst b/changes/2118.misc.rst deleted file mode 100644 index e10be4a164..0000000000 --- a/changes/2118.misc.rst +++ /dev/null @@ -1 +0,0 @@ -A stray symlink in the tutorials folder was purged. diff --git a/changes/2119.misc.rst b/changes/2119.misc.rst deleted file mode 100644 index 941f7e555a..0000000000 --- a/changes/2119.misc.rst +++ /dev/null @@ -1 +0,0 @@ -An issue with imageview scaling on GTK was resolved. diff --git a/changes/2123.misc.rst b/changes/2123.misc.rst deleted file mode 100644 index 9eb46067a6..0000000000 --- a/changes/2123.misc.rst +++ /dev/null @@ -1 +0,0 @@ -The ``pre-commit`` hook for ``pyupgrade`` was updated to its latest version. diff --git a/changes/2124.misc.rst b/changes/2124.misc.rst deleted file mode 100644 index 0be930004b..0000000000 --- a/changes/2124.misc.rst +++ /dev/null @@ -1 +0,0 @@ -The ``pre-commit`` hook for ``black`` was updated to its latest version. diff --git a/changes/2127.misc.rst b/changes/2127.misc.rst deleted file mode 100644 index 96fd43c442..0000000000 --- a/changes/2127.misc.rst +++ /dev/null @@ -1 +0,0 @@ -A misspelled delegate assignment was removed from the iOS and Cocoa Webkit implementations. diff --git a/changes/2128.misc.rst b/changes/2128.misc.rst deleted file mode 100644 index 2ddf867e95..0000000000 --- a/changes/2128.misc.rst +++ /dev/null @@ -1 +0,0 @@ -The copyright year was removed from the documentation footer. diff --git a/changes/2131.misc.rst b/changes/2131.misc.rst deleted file mode 100644 index 9eb46067a6..0000000000 --- a/changes/2131.misc.rst +++ /dev/null @@ -1 +0,0 @@ -The ``pre-commit`` hook for ``pyupgrade`` was updated to its latest version. diff --git a/changes/2132.misc.rst b/changes/2132.misc.rst deleted file mode 100644 index 74ff099c31..0000000000 --- a/changes/2132.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Updated actions/checkout from 4.0.0 to 4.1.0. diff --git a/changes/2136.bugfix.rst b/changes/2136.bugfix.rst deleted file mode 100644 index 4357ea961d..0000000000 --- a/changes/2136.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Multiline text inputs no longer show spelling suggestions when in readonly mode. diff --git a/changes/2146.misc.rst b/changes/2146.misc.rst deleted file mode 100644 index 6375be371e..0000000000 --- a/changes/2146.misc.rst +++ /dev/null @@ -1 +0,0 @@ -The ``pre-commit`` hook for ``pre-commit-hooks`` was updated to its latest version. diff --git a/changes/2147.misc.rst b/changes/2147.misc.rst deleted file mode 100644 index 9eb46067a6..0000000000 --- a/changes/2147.misc.rst +++ /dev/null @@ -1 +0,0 @@ -The ``pre-commit`` hook for ``pyupgrade`` was updated to its latest version. diff --git a/changes/2148.misc.rst b/changes/2148.misc.rst deleted file mode 100644 index f2f6d8b238..0000000000 --- a/changes/2148.misc.rst +++ /dev/null @@ -1 +0,0 @@ -The ``pre-commit`` hook for ``codespell`` was updated to its latest version. diff --git a/changes/2149.misc.rst b/changes/2149.misc.rst deleted file mode 100644 index 8b779af0e5..0000000000 --- a/changes/2149.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Updated actions/setup-python from 4.7.0 to 4.7.1. diff --git a/changes/2150.misc.rst b/changes/2150.misc.rst deleted file mode 100644 index 75ff7bec3d..0000000000 --- a/changes/2150.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Updated actions/upload-artifact from 3.1.2 to 3.1.3. diff --git a/changes/2151.feature.rst b/changes/2151.feature.rst deleted file mode 100644 index 9ec4d2524c..0000000000 --- a/changes/2151.feature.rst +++ /dev/null @@ -1 +0,0 @@ -Text input widgets on macOS now support undo and redo. diff --git a/changes/2161.bugfix.rst b/changes/2161.bugfix.rst deleted file mode 100644 index 443b8aac2d..0000000000 --- a/changes/2161.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -iOS container views are now set to automatically resize with their parent view diff --git a/changes/2163.misc.rst b/changes/2163.misc.rst deleted file mode 100644 index 971a390ec9..0000000000 --- a/changes/2163.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Winforms command event handlers were made persistent objects, rather than on-demand closures. diff --git a/changes/2165.misc.rst b/changes/2165.misc.rst deleted file mode 100644 index 0be930004b..0000000000 --- a/changes/2165.misc.rst +++ /dev/null @@ -1 +0,0 @@ -The ``pre-commit`` hook for ``black`` was updated to its latest version. diff --git a/changes/2166.misc.rst b/changes/2166.misc.rst deleted file mode 100644 index 160e818feb..0000000000 --- a/changes/2166.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Updated actions/checkout from 4.1.0 to 4.1.1. diff --git a/changes/2171.misc.rst b/changes/2171.misc.rst deleted file mode 100644 index 366b284b74..0000000000 --- a/changes/2171.misc.rst +++ /dev/null @@ -1 +0,0 @@ -The use of ``pytest-freezegun`` was replaced with ``pytest-freezer``, due to lack of maintenance on the freezegun plugin. diff --git a/changes/2177.misc.rst b/changes/2177.misc.rst deleted file mode 100644 index 0be930004b..0000000000 --- a/changes/2177.misc.rst +++ /dev/null @@ -1 +0,0 @@ -The ``pre-commit`` hook for ``black`` was updated to its latest version. diff --git a/changes/2180.misc.rst b/changes/2180.misc.rst deleted file mode 100644 index ad8e04b0aa..0000000000 --- a/changes/2180.misc.rst +++ /dev/null @@ -1 +0,0 @@ -On WinForms, the ``Window.size`` property no longer includes the title bar and the invisible borders. diff --git a/changes/2181.feature.rst b/changes/2181.feature.rst deleted file mode 100644 index 3f73a2942c..0000000000 --- a/changes/2181.feature.rst +++ /dev/null @@ -1 +0,0 @@ -The Divider widget was implemented on Android. diff --git a/changes/2184.misc.rst b/changes/2184.misc.rst deleted file mode 100644 index 14eaa9459c..0000000000 --- a/changes/2184.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Fixed issues with elliptical arcs on WinForms and Android diff --git a/changes/2186.misc.rst b/changes/2186.misc.rst deleted file mode 100644 index aaf7d6cdf7..0000000000 --- a/changes/2186.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Correct scaling of MIN_WIDTH and MIN_HEIGHT on Android and WinForms diff --git a/changes/750.bugfix.rst b/changes/750.bugfix.rst deleted file mode 100644 index 15b2c1ae59..0000000000 --- a/changes/750.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -The WinForms event loop was decoupled from the main form, allowing background tasks to run without a main window being present. diff --git a/docs/background/project/releases.rst b/docs/background/project/releases.rst index 6727bbd250..4e62b06f00 100644 --- a/docs/background/project/releases.rst +++ b/docs/background/project/releases.rst @@ -6,6 +6,150 @@ Release History .. towncrier release notes start +0.4.0 (2023-11-03) +================== + +Features +-------- + +* The Toga API has been fully audited. All APIs now have 100% test coverage, complete API documentation (including type annotations), and are internally consistent. ( `#1903 `__, `#1938 `__, `#1944 `__, `#1946 `__, `#1949 `__, `#1951 `__, `#1955 `__, `#1956 `__, `#1964 `__, `#1969 `__, `#1984 `__, `#1996 `__, `#2011 `__, `#2017 `__, `#2025 `__, `#2029 `__, `#2044 `__, `#2058 `__, `#2075 `__) +* Headings are no longer mandatory for Tree widgets. If headings are not provided, the widget will not display its header bar. (`#1767 `__) +* Support for custom font loading was added to the GTK, Cocoa and iOS backends. (`#1837 `__) +* The testbed app has better diagnostic output when running in test mode. (`#1847 `__) +* A Textual backend was added to support terminal applications. (`#1867 `__) +* Support for determining the currently active window was added to Winforms. (`#1872 `__) +* Programmatically scrolling to top and bottom in MultilineTextInput is now possible on iOS. (`#1876 `__) +* A handler has been added for users confirming the contents of a TextInput by pressing Enter/Return. (`#1880 `__) +* An API for giving a window focus was added. (`#1887 `__) +* Widgets now have a ``.clear()`` method to remove all child widgets. (`#1893 `__) +* Winforms now supports hiding and re-showing the app cursor. (`#1894 `__) +* ProgressBar and Switch widgets were added to the Web backend. (`#1901 `__) +* Missing value handling was added to the Tree widget. (`#1913 `__) +* App paths now include a ``config`` path for storing configuration files. (`#1964 `__) +* A more informative error message is returned when a platform backend doesn't support a widget. (`#1992 `__) +* The example apps were updated to support being run with ``briefcase run`` on all platforms. (`#1995 `__) +* Headings are no longer mandatory Table widgets. (`#2011 `__) +* Columns can now be added and removed from a Tree. (`#2017 `__) +* The default system notification sound can be played via ``App.beep()``. (`#2018 `__) +* DetailedList can now respond to "primary" and "secondary" user actions. These may be implemented as left and right swipe respectively, or using any other platform-appropriate mechanism. (`#2025 `__) +* A DetailedList can now provide a value to use when a row doesn't provide the required data. (`#2025 `__) +* The accessors used to populate a DetailedList can now be customized. (`#2025 `__) +* Transformations can now be applied to *any* canvas context, not just the root context. (`#2029 `__) +* Canvas now provides more ``list``-like methods for manipulating drawing objects in a context. (`#2029 `__) +* On Windows, the default font now follows the system theme. On most devices, this means it has changed from Microsoft Sans Serif 8pt to Segoe UI 9pt. (`#2029 `__) +* Font sizes are now consistently interpreted as CSS points. On Android, iOS and macOS, this means any numeric font sizes will appear 33% larger than before. The default font size on these platforms is unchanged. (`#2029 `__) +* MultilineTextInputs no longer show spelling suggestions when in read-only mode. (`#2136 `__) +* Applications now verify that a main window has been created as part of the ``startup()`` method. (`#2047 `__) +* An implementation of ActivityIndicator was added to the Web backend. (`#2050 `__) +* An implementation of Divider was added to the Web backend. (`#2051 `__) +* The ability to capture the contents of a window as an image has been added. (`#2063 `__) +* A PasswordInput widget was added to the Web backend. (`#2089 `__) +* The WebKit inspector is automatically enabled on all macOS WebViews, provided you're using macOS 13.3 (Ventura) or iOS 16.4, or later. (`#2109 `__) +* Text input widgets on macOS now support undo and redo. (`#2151 `__) +* The Divider widget was implemented on Android. (`#2181 `__) + +Bugfixes +-------- + +* The WinForms event loop was decoupled from the main form, allowing background tasks to run without a main window being present. (`#750 `__) +* Widgets are now removed from windows when the window is closed, preventing a memory leak on window closure. (`#1215 `__) +* Android and iOS apps no longer crash if you invoke ``App.hide_cursor()`` or ``App.show_cursor()``. (`#1235 `__) +* A Selection widget with no items now consistently returns a selected value of ``None`` on all platforms. (`#1723 `__) +* macOS widget methods that return strings are now guaranteed to return strings, rather than native Objective C string objects. (`#1779 `__) +* WebViews on Windows no longer have a black background when they are resized. (`#1855 `__) +* The interpretation of ``MultilineTextInput.readonly`` was corrected iOS (`#1866 `__) +* A window without an ``on_close`` handler can now be closed using the window frame close button. (`#1872 `__) +* Android apps running on devices older than API level 29 (Android 10) no longer crash. (`#1878 `__) +* Missing value handling on Tables was fixed on Android and Linux. (`#1879 `__) +* The GTK backend is now able to correctly identify the currently active window. (`#1892 `__) +* Error handling associated with the creation of Intents on Android has been improved. (`#1909 `__) +* The DetailedList widget on GTK now provides an accurate size hint during layout. (`#1920 `__) +* Apps on Linux no longer segfault if an X Windows display cannot be identified. (`#1921 `__) +* The ``on_result`` handler is now used by Cocoa file dialogs. (`#1947 `__) +* Pack layout now honors an explicit width/height setting of 0. (`#1958 `__) +* The minimum window size is now correctly recomputed and enforced if window content changes. (`#2020 `__) +* The title of windows can now be modified on Winforms. (`#2094 `__) +* An error on Winforms when a window has no content has been resolved. (`#2095 `__) +* iOS container views are now set to automatically resize with their parent view (`#2161 `__) + +Backward Incompatible Changes +----------------------------- + +* The ``weight``, ``style`` and ``variant`` arguments for ``Font`` and ``Font.register`` are now keyword-only. (`#1903 `__) +* The ``clear()`` method for resetting the value of a MultilineTextInput, TextInput and PasswordInput has been removed. This method was an ambiguous override of the ``clear()`` method on Widget that removed all child nodes. To remove all content from a text input widget, use ``widget.value = ""``. (`#1938 `__) +* The ability to perform multiple substring matches in a ``Contains`` validator has been removed. (`#1944 `__) +* The ``TextInput.validate`` method has been removed. Validation now happens automatically whenever the ``value`` or ``validators`` properties are changed. (`#1944 `__) +* The argument names used to construct validators have changed. Error message arguments now all end with ``_message``; ``compare_count`` has been renamed ``count``; and ``min_value`` and ``max_value`` have been renamed ``min_length`` and ``max_length``, respectively. (`#1944 `__) +* The ``get_dom()`` method on WebView has been removed. This method wasn't implemented on most platforms, and wasn't working on any of the platforms where it *was* implemented, as modern web view implementations don't provide a synchronous API for accessing web content in this way. (`#1949 `__) +* The ``evaluate_javascript()`` method on WebView has been modified to work in both synchronous and asynchronous contexts. In a synchronous context you can invoke the method and use a functional ``on_result`` callback to be notified when evaluation is complete. In an asynchronous context, you can await the result. (`#1949 `__) +* The ``on_key_down`` handler has been removed from WebView. If you need to catch user input, either use a handler in the embedded JavaScript, or create a ``Command`` with a key shortcut. (`#1949 `__) +* The ``invoke_javascript()`` method has been removed. All usage of ``invoke_javascript()`` can be replaced with ``evaluate_javascript()``. (`#1949 `__) +* The usage of local ``file://`` URLs has been explicitly prohibited. ``file://`` URLs have not been reliable for some time; their usage is now explicitly prohibited. (`#1949 `__) +* ``DatePicker`` has been renamed ``DateInput``. (`#1951 `__) +* ``TimePicker`` has been renamed ``TimeInput``. (`#1951 `__) +* The ``on_select`` handler on the Selection widget has been renamed ``on_change`` for consistency with other widgets. (`#1955 `__) +* The ``_notify()`` method on data sources has been renamed ``notify()``, reflecting its status as a public API. (`#1955 `__) +* The ``prepend()`` method was removed from the ``ListSource`` and ``TreeSource`` APIs. Calls to ``prepend(...)`` can be replaced with ``insert(0, ...)``. (`#1955 `__) +* The ``insert()`` and ``append()`` APIs on ``ListSource`` and ``TreeSource`` have been modified to provide an interface that is closer to that ``list`` API. These methods previously accepted a variable list of positional and keyword arguments; these arguments should be combined into a single tuple or dictionary. This matches the API provided by ``__setitem__()``. (`#1955 `__) +* Images and ImageViews no longer support loading images from URLs. If you need to display an image from a URL, use a background task to obtain the image data asynchronously, then create the Image and/or set the ImageView ``image`` property on the completion of the asynchronous load. (`#1956 `__) +* A row box contained inside a row box will now expand to the full height of its parent, rather than collapsing to the maximum height of the inner box's child content. (`#1958 `__) +* A column box contained inside a column box will now expand to the full width of its parent, rather than collapsing to the maximum width of the inner box's child content. (`#1958 `__) +* On Android, the user data folder is now a ``data`` sub-directory of the location returned by ``context.getFilesDir()``, rather than the bare ``context.getFilesDir()`` location. (`#1964 `__) +* GTK now returns ``~/.local/state/appname/log`` as the log file location, rather than ``~/.cache/appname/log``. (`#1964 `__) +* The location returned by ``toga.App.paths.app`` is now the folder that contains the Python source file that defines the app class used by the app. If you are using a ``toga.App`` instance directly, this may alter the path that is returned. (`#1964 `__) +* On Winforms, if an application doesn't define an author, an author of ``Unknown`` is now used in application data paths, rather than ``Toga``. (`#1964 `__) +* Winforms now returns ``%USERPROFILE%/AppData/Local///Data`` as the user data file location, rather than ``%USERPROFILE%/AppData/Local//``. (`#1964 `__) +* Support for SplitContainers with more than 2 panels of content has been removed. (`#1984 `__) +* Support for 3-tuple form of specifying SplitContainer items, used to prevent panels from resizing, has been removed. (`#1984 `__) +* The ability to increment and decrement the current OptionContainer tab was removed. Instead of `container.current_tab += 1`, use `container.current_tab = container.current_tab.index + 1` (`#1996 `__) +* ``OptionContainer.add()``, ``OptionContainer.remove()`` and ``OptionContainer.insert()`` have been removed, due to being ambiguous with base widget methods of the same name. Use the ``OptionContainer.content.append()``, ``OptionContainer.content.remove()`` and ``OptionContainer.content.insert()`` APIs instead. (`#1996 `__) +* The ``on_select`` handler for OptionContainer no longer receives the ``option`` argument providing the selected tab. Use ``current_tab`` to obtain the currently selected tab. (`#1996 `__) +* ``TimePicker.min_time`` and ``TimePicker.max_time`` has been renamed ``TimeInput.min`` and ``TimeInput.max``, respectively. (`#1999 `__) +* ``DatePicker.min_date`` and ``DatePicker.max_date`` has been renamed ``DateInput.min`` and ``DateInput.max``, respectively. (`#1999 `__) +* ``NumberInput.min_value`` and ``NumberInput.max_value`` have been renamed ``NumberInput.min`` and ``NumberInput.max``, respectively. (`#1999 `__) +* ``Slider.range`` has been replaced by ``Slider.min`` and ``Slider.max``. (`#1999 `__) +* Tables now use an empty string for the default missing value, rather than warning about missing values. (`#2011 `__) +* ``Table.add_column()`` has been deprecated in favor of ``Table.append_column()`` and ``Table.insert_column()`` (`#2011 `__) +* ``Table.on_double_click`` has been renamed ``Table.on_activate``. (`#2011 `__, `#2017 `__) +* Trees now use an empty string for the default missing value, rather than warning about missing values. (`#2017 `__) +* The ``parent`` argument has been removed from the ``insert`` and ``append`` calls on ``TreeSource``. This improves consistency between the API for ``TreeSource`` and the API for ``list``. To insert or append a row in to a descendant of a TreeSource root, use ``insert`` and ``append`` on the parent node itself - i.e., ``source.insert(parent, index, ...)`` becomes ``parent.insert(index, ...)``, and ``source.insert(None, index, ...)`` becomes ``source.insert(index, ...)``. (`#2017 `__) +* When constructing a DetailedList from a list of tuples, or a list of lists, the required order of values has changed from (icon, title, subtitle) to (title, subtitle, icon). (`#2025 `__) +* The ``on_select`` handler for DetailedList no longer receives the selected row as an argument. (`#2025 `__) +* The handling of row deletion in DetailedList widgets has been significantly altered. The ``on_delete`` event handler has been renamed ``on_primary_action``, and is now *only* a notification that a "swipe left" event (or platform equivalent) has been confirmed. This was previously inconsistent across platforms. Some platforms would update the data source to remove the row; some treated ``on_delete`` as a notification event and expected the application to handle the deletion. It is now the application's responsibility to perform the data deletion. (`#2025 `__) +* Support for Python 3.7 was removed. (`#2027 `__) +* ``fill()`` and ``stroke()`` now return simple drawing operations, rather than context managers. If you attempt to use ``fill()`` or ``stroke()`` on a context as a context manager, an exception will be raised; using these methods on Canvas will raise a warning, but return the appropriate context manager. (`#2029 `__) +* The ``clicks`` argument to ``Canvas.on_press`` has been removed. Instead, to detect "double clicks", you should use ``Canvas.on_activate``. The ``clicks`` argument has also been removed from ``Canvas.on_release``, ``Canvas.on_drag``, ``Canvas.on_alt_press``, ``Canvas.on_alt_release``, and ``Canvas.on_alt_drag``. (`#2029 `__) +* The ``new_path`` operation has been renamed ``begin_path`` for consistency with the HTML5 Canvas API. (`#2029 `__) +* Methods that generate new contexts have been renamed: ``context()``, ``closed_path()``, ``fill()`` and ``stroke()`` have become ``Context()``, ``ClosedPath()``, ``Fill()`` and ``Stroke()`` respectively. This has been done to make it easier to differentiate between primitive drawing operations and context-generating operations. (`#2029 `__) +* A Canvas is no longer implicitly a context object. The ``Canvas.context`` property now returns the root context of the canvas. If you were previously using ``Canvas.context()`` to generate an empty context, it should be replaced with ``Canvas.Context()``. Any operations to ``remove()`` drawing objects from the canvas or ``clear()`` the canvas of drawing objects should be made on ``Canvas.context``. Invoking these methods on ``Canvas`` will now call the base ``Widget`` implementations, which will throw an exception because ``Canvas`` widgets cannot have children. (`#2029 `__) +* The ``preserve`` option on ``Fill()`` operations has been deprecated. It was required for an internal optimization and can be safely removed without impact. (`#2029 `__) +* Drawing operations (e.g., ``arc``, ``line_to``, etc) can no longer be invoked directly on a Canvas. Instead, they should be invoked on the root context of the canvas, retrieved with via the `canvas` property. Context creating operations (``Fill``, ``Stroke`` and ``ClosedPath``) are not affected. (`#2029 `__) +* The ``tight`` argument to ``Canvas.measure_text()`` has been deprecated. It was a GTK implementation detail, and can be safely removed without impact. (`#2029 `__) +* The ``multiselect`` argument to Open File and Select Folder dialogs has been renamed ``multiple_select``, for consistency with other widgets that have multiple selection capability. (`#2058 `__) +* ``Window.resizeable`` and ``Window.closeable`` have been renamed ``Window.resizable`` and ``Window.closable``, to adhere to US spelling conventions. (`#2058 `__) +* Windows no longer need to be explicitly added to the app's window list. When a window is created, it will be automatically added to the windows for the currently running app. (`#2058 `__) +* The optional arguments of ``Command`` and ``Group`` are now keyword-only. (`#2075 `__) +* In ``App``, the properties ``id`` and ``name`` have been deprecated in favor of ``app_id`` and ``formal_name`` respectively, and the property ``module_name`` has been removed. (`#2075 `__) +* ``GROUP_BREAK``, ``SECTION_BREAK`` and ``CommandSet`` were removed from the ``toga`` namespace. End users generally shouldn't need to use these classes. If your code *does* need them for some reason, you can access them from the ``toga.command`` namespace. (`#2075 `__) +* The ``windows`` constructor argument of ``toga.App`` has been removed. Windows are now automatically added to the current app. (`#2075 `__) +* The ``filename`` argument and property of ``toga.Document`` has been renamed ``path``, and is now guaranteed to be a ``pathlib.Path`` object. (`#2075 `__) +* Documents must now provide a ``create()`` method to instantiate a ``main_window`` instance. (`#2075 `__) +* ``App.exit()`` now unconditionally exits the app, rather than confirming that the ``on_exit`` handler will permit the exit. (`#2075 `__) + +Documentation +------------- + +* Documentation for application paths was added. (`#1849 `__) +* The contribution guide was expanded to include more suggestions for potential projects, and to explain how the backend tests work. (`#1868 `__) +* All code blocks were updated to add a button to copy the relevant contents on to the user's clipboard. (`#1897 `__) +* Class references were updated to reflect their preferred import location, rather than location where they are defined in code. (`#2001 `__) +* The Linux system dependencies were updated to reflect current requirements for developing and using Toga. (`#2021 `__) + +Misc +---- + +* `#1865 `__, `#1875 `__, `#1881 `__, `#1882 `__, `#1886 `__, `#1889 `__, `#1895 `__, `#1900 `__, `#1902 `__, `#1906 `__, `#1916 `__, `#1917 `__, `#1918 `__, `#1926 `__, `#1933 `__, `#1948 `__, `#1950 `__, `#1952 `__, `#1954 `__, `#1963 `__, `#1972 `__, `#1977 `__, `#1980 `__, `#1988 `__, `#1989 `__, `#1998 `__, `#2008 `__, `#2014 `__, `#2019 `__, `#2022 `__, `#2028 `__, `#2034 `__, `#2035 `__, `#2039 `__, `#2052 `__, `#2053 `__, `#2055 `__, `#2056 `__, `#2057 `__, `#2059 `__, `#2067 `__, `#2068 `__, `#2069 `__, `#2085 `__, `#2090 `__, `#2092 `__, `#2093 `__, `#2101 `__, `#2102 `__, `#2113 `__, `#2114 `__, `#2115 `__, `#2116 `__, `#2118 `__, `#2119 `__, `#2123 `__, `#2124 `__, `#2127 `__, `#2128 `__, `#2131 `__, `#2132 `__, `#2146 `__, `#2147 `__, `#2148 `__, `#2149 `__, `#2150 `__, `#2163 `__, `#2165 `__, `#2166 `__, `#2171 `__, `#2177 `__, `#2180 `__, `#2184 `__, `#2186 `__ + 0.3.1 (2023-04-12) ================== diff --git a/docs/conf.py b/docs/conf.py index e34fe23a6c..b2764bb273 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -150,8 +150,13 @@ def autodoc_process_signature( # -- Options for link checking ------------------------------------------------- -# GitHub generates anchors in javascript -linkcheck_ignore = [r"https://github.com/.*#"] +linkcheck_ignore = [ + # GitHub generates anchors in javascript + r"https://github.com/.*#", + # References to Github issues/pulls should all be safe. + r"^https://github.com/beeware/toga/issues/\d+$", + r"^https://github.com/beeware/toga/pull/\d+$", +] # -- Options for copy button --------------------------------------------------- diff --git a/docs/how-to/internal/release.rst b/docs/how-to/internal/release.rst index 77e0ba5294..634f381b48 100644 --- a/docs/how-to/internal/release.rst +++ b/docs/how-to/internal/release.rst @@ -37,7 +37,16 @@ The procedure for cutting a new release is as follows: $ tox -e towncrier - to generate the updated release notes. + to generate the updated release notes. After doing any edits that may be + required, run: + + .. code-block:: console + + $ tox -r -e docs-lint,docs + + to confirm that there are no spelling errors or formatting problems with the + new release notes, and the docs build using the current documentation + toolchain. #. Tag the release, and push the branch and tag upstream: diff --git a/docs/spelling_wordlist b/docs/spelling_wordlist index d6b0411f89..a24a19c47a 100644 --- a/docs/spelling_wordlist +++ b/docs/spelling_wordlist @@ -16,6 +16,7 @@ codepoint coroutine CSS Ctrl +dialogs Django draggable Flexbox @@ -58,6 +59,7 @@ reStructuredText runtime scrollable scrollers +Segoe selectable Stimpy stylesheet diff --git a/pyproject.toml b/pyproject.toml index cfd08b1383..da9145dc6a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -56,7 +56,7 @@ known_first_party = [ directory = "changes" package = "toga" package_dir = "core/src" -filename = "docs/background/releases.rst" +filename = "docs/background/project/releases.rst" title_format = "{version} ({project_date})" issue_format = "`#{issue} `__" template = "changes/template.rst"