Features
- Support for Python 3.13 has been added.
- When the available version of Git is older than v2.17.0, an error message now prompts the user to upgrade their install of Git to proceed. (#1915)
- Apps packaged for Flatpak and AppImage now use a stripped (and smaller) Python support package. (#1929)
- macOS app templates can now specify what part of the support package should be copied into the final application bundle. (#1933)
- The Flatpak runtimes for new projects were updated.
org.freedesktop.Platform
will now default to 24.08;org.gnome.Platform
will now default to 46; andorg.kde.Platform
will now default to 6.7. (#1987) - Briefcase will now validate that the running Python interpreter meets requirements specified by the PEP 621
requires-python
setting. Ifrequires-python
is not set, there is no change in behavior. Briefcase will also validate thatrequires-python
is a valid version specifier as laid out by PEP 621's requirements. (#2016)
Bugfixes
- Document type declarations are now fully validated. (#1846)
- The order in which nested frameworks and apps are signed on macOS has been corrected. (#1891)
- The spacing after the New Project wizard prompts are now consistent. (#1896)
- The documentation link provided when an app doesn't specify Gradle dependencies in its configuration has been corrected. (#1905)
- The log filter for iOS has been modified to capture logs generated when using PEP 730-style binary modules. (#1933)
- Briefcase is now able to remove symbolic links to directories as part of the template cleanup. (#1933)
- If a macOS support package contains symbolic links, those symbolic links will be preserved when the support package is copied into the app bundle. (#1933)
- Briefcase will no longer attempt to sign symbolic links in macOS apps. (#1933)
- Packages that include
.dist-info
content in vendored dependencies are now ignored as part of the binary widening process on macOS. If a binary package has vendored sub-packages, it is assumed that the top-level package includes the vendored packages' files in its wheel manifest. (#1970) - The types used by
AppContext
in GUI toolkit bootstraps for creating new projects have been corrected. (#1988) - The
--test
flag now works for console apps for macOS. (#1992) - Python 3.12.7 introduced an incompatibility with the handling of
-C
,-d
and other flags that accept values. This incompatibility has been corrected. (#2026)
Backward Incompatible Changes
- Java JDK 17.0.12+7 is now used to package Android apps. Use
briefcase upgrade java
to update your Briefcase-installed JDK instance to this version. (#1920) - Support for Python 3.8 has been dropped. (#1934)
- macOS and iOS templates have both had an epoch increase. macOS and iOS projects created with previous versions of Briefcase will need to be re-generated. (#1934)
- Any project using binary modules on iOS will need to be recompiled to use the binary linking format and wheel tag specified by
PEP 730 <https://peps.python.org/pep-0730/>
__ (#1934)
Documentation
- A how-to guide for building apps in GitHub Actions CI was added. (#400)
- Fixed error in example in briefcase run documentation. (#1928)
- Building Briefcase's documentation now requires the use of Python 3.12. (#1942)
Misc
- #1877, #1878, #1884, #1885, #1886, #1892, #1901, #1902, #1903, #1904, #1911, #1912, #1913, #1923, #1924, #1925, #1926, #1931, #1932, #1936, #1937, #1938, #1939, #1940, #1951, #1952, #1953, #1954, #1955, #1967, #1971, #1977, #1978, #1979, #1983, #1984, #1985, #1989, #1990, #1991, #1994, #1995, #2001, #2002, #2003, #2009, #2012, #2013, #2014, #2015, #2017, #2020, #2021, #2022, #2023, #2024, #2025, #2031