Features
- Briefcase can now package command line apps. (#556)
- Templates that use pre-compiled stub binaries can now manage that artefact as an independent resource, rather than needing to include the binary in the template repository. This significantly reduces the size of the macOS and Windows app templates. (#933)
- Template repositories are now fetched as blobless partial Git clones, reducing the size of initial downloads. (#933)
- macOS now supports the generation of
.pkg
installers as a packaging format. (#1184) - Android SDK Command Line Tools 12.0 is now used to build Android apps. (#1778)
- The new project wizard now includes links to known third-party GUI bootstraps. (#1807)
- The name of the license file can now be specified using a PEP 621-compliant format for the
license
setting. (#1812) - The default Gradle dependencies for a Toga project no longer includes
SwipeRefreshLayout
. (#1845)
Bugfixes
- Validation rules for bundle identifiers have been loosened. App IDs that contain country codes or language reserved words are no longer flagged as invalid. (#1212)
- macOS code signing no longer uses the deprecated "deep signing" option. (#1221)
- If
run
is executed directly after acreate
when using anapp
template on macOS or Windows, the impliedbuild
step is now correctly identified. (#1729) - Escaping of quotation marks in TOML templates was corrected. (#1746)
- The Docker version on OpenSUSE Tumbleweed is now accepted and no longer triggers a warning message. (#1773)
- The formal name of an app is now validated. (#1810)
- macOS apps now generate
info.plist
entries for camera, photo library and microphone permissions. (#1820)
Backward Incompatible Changes
- Briefcase now uses a private cache of Cookiecutter templates, rather than the shared
~/.cookiecutters
directory. You can reclaim disk space by deleting~/.cookiecutters/briefcase-*
and~/.cookiecutter_replay/briefcase-*
(or the entire~/.cookiecutters
and~/.cookiecutter_replay
folders if you are not using Cookiecutter for any other purposes). (#933) - The macOS
app
packaging format has been renamedzip
for consistency with Windows, and to reflect the format of the output artefact. (#1781) - The format for the
license
field has been converted to PEP 621 format. Existing projects that specifylicense
as a string should update their configurations to point at the generated license file usinglicense.file = "LICENSE"
. (#1812) - The PursuedPyBear bootstrap has been migrated to be part of the PursuedPyBear project. (#1834)
Documentation
- Documentation describing manual signing requirement for Android packages has been added. (#1703)
- Documentation of Briefcase's support for document types has been improved. (#1771)
- Documentation on Briefcase's plug-in interfaces was added. (#1807)
- Documentation on the use of passwords in Android publication now encourages users to set non-default passwords. (#1816)