Features
* Existing projects with a `pyproject.toml` configuration can now be converted into Briefcase apps using the `briefcase convert` command. (1202)
* Apps packaged as AppImages are no longer dependent on `libcrypt.so.1`. (1383)
* The `briefcase run` command now supports the `--target` option to run Linux apps from within Docker for other distributions. (1603)
* The hints and recommendations that Docker prints in the console are now silenced. (1635)
* In non-interactive environments, such as CI, a message is now printed to signify a task has begun where an animated bar would be displayed in interactive console sessions. (1649)
* Additional options can now be passed to the `docker build` command for building native Linux packages and AppImages via the `--Xdocker-build` argument. (1661)
* The contents of `pyproject.toml` is now included in the log file. (1674)
* When an app runs on an Android device or emulator, the logging output is now colored. (1676)
* When deep debug is activated via `-vv`, `pip` now installs requirements for the app with verbose logging. (1708)
* The listing of filenames for updating permissions for building native Linux packages is now only shown when verbose logging is enabled via `-v`. (1720)
* When a platform supports a splash screen, that splash screen will be generated automatically based on the app icon, rather than requiring additional configuration. (1737)
* New projects for Toga on GTK3 now recommend using `gir1.2-webkit2-4.1` instead of `gir1.2-webkit2-4.0` for `WebView` support. (1748)
Bugfixes
* When Briefcase can't find `rpmbuild` on an RPM-based system, the message giving install instructions now uses the correct package name. (1638)
* Creating new projects is now compatible with cookiecutter v2.6.0. (1663)
* The minimum version of pip was bumped to 23.1.2 to ensure compatibility with Python 3.12. (1681)
* On Windows, the Android emulator will always open without needing to press CTRL-C. (1687)
* A spurious Android emulator named `INFO` will no longer be included in the list of available emulators. (1697)
* The configuration generated for iOS apps declaring geolocation permissions has been corrected. (1713)
* When using `-r/--update-requirements` for building for Android, the app's requirements are always reinstalled now. (1721)
* When creating a new project, the validation for App Name now rejects all non-ASCII values. (1762)
* Packages created for OpenSUSE now depend on `libcanberra-gtk3-module` instead of `libcanberra-gtk3-0`. (1774)
Backward Incompatible Changes
* WiX v3.14.1 is now used to package Windows apps. Run `briefcase upgrade wix` to start using this version. (1707)
* Java JDK 17.0.11+9 is now used to package Android apps. Use `briefcase upgrade java` to update your Briefcase-installed JDK instance to this version. (1736)
* The `splash` configuration option will no longer be honored. Splash screens are now generated based on the icon image. (1737)
* iOS apps now require 640px, 1280px and 1920px icon image. (1737)
* Android apps now require an `adaptive` variant for icons. This requires 108px, 162px, 216px, 324px and 432px images with a transparent background. The Android `square` icon variant requires additional 320px, 480px, 640px, 960px and 1280px images. (1737)
Documentation
* The documentation contribution guide was updated to use a more authoritative reStructuredText reference. (1695)
* The README badges were updated to display correctly on GitHub. (1763)
Misc
* 1428, 1495, 1637, 1639, 1642, 1643, 1644, 1645, 1646, 1652, 1653, 1656, 1657, 1658, 1659, 1660, 1666, 1671, 1672, 1679, 1683, 1684, 1686, 1689, 1690, 1691, 1692, 1694, 1699, 1700, 1701, 1702, 1710, 1711, 1712, 1716, 1717, 1722, 1723, 1725, 1730, 1731, 1732, 1741, 1742, 1743, 1744, 1745, 1752, 1753, 1754, 1756, 1757, 1758, 1759, 1760, 1761, 1766, 1769, 1775, 1776