Features
* Support for less common environments, such as Linux on ARM, has been improved. Error messages for unsupported platforms are now more accurate. (1360)
* Tool verification for Java, Android SDK, and WiX have been improved to provide more informative errors and debug logging. (1382)
* A super verbose logging mode was added (enabled using `-vv`). This turns on all Briefcase internal logging, but also enables verbose logging for all the third-party tools that Briefcase invokes. (1384)
* Briefcase now uses Android SDK Command-Line Tools v9.0. If an externally-managed Android SDK is being used, it must provide this version of Command-Line Tools. Use the SDK Manager in Android Studio to ensure it is installed. (1397)
* Support for OpenSuSE Linux distributions was added. (1416)
* iOS apps are no longer rejected by the iOS App Store for packaging reasons. (1439)
* The Java JDK version was upgraded to 17.0.8.1+1. (1462)
* macOS apps can now be configured to produce single platform binaries, or binaries that will work on both x86_64 and ARM64. (1482)
Bugfixes
* Build warnings caused by bugs in Xcode that can be safely ignored are now filtered out of visible output. (377)
* The run command now ensures Android logging is shown when the datetime on the device is different from the host machine. (1146)
* Briefcase will detect if you attempt to launch an Android app on a device whose OS doesn't meet minimum version requirements. (1157)
* macOS apps are now guaranteed to be universal binaries, even when dependencies only provide single-architecture binary wheels. (1217)
* The ability to build AppImages in Docker on macOS was restored. (1352)
* Error reporting has been improved when the target Docker image name is invalid. (1368)
* Creating Debian packages no longer fails due to a permission error for certain `umask` values (such as `0077`). (1369)
* Inside of Docker containers, the Briefcase data directory is now mounted at `/briefcase` instead of `/home/brutus/.cache/briefcase`. (1374)
* The console output from invoking Python via a subprocess call is now properly decoded as UTF-8. (1407)
* The command line arguments used to configure the Python environment for `briefcase dev` no longer leak into the runtime environment on macOS. (1413)
Backward Incompatible Changes
* AppImage packaging requires a recent release of LinuxDeploy to continue creating AppImages. Run `briefcase upgrade linuxdeploy` to install the latest version. (1361)
* The size of iOS splash images have changed. iOS apps should now provide 800px, 1600px and 2400px images (previously, this as 1024px, 2048px and 3072px). This is because iOS 14 added a hard limit on the size of image resources. (1371)
* Support for AppImage has been reduced to "best effort". We will maintain unit test coverage for the AppImage backend, but we no longer build AppImages as part of our release process. We will accept bug reports related to AppImage support, and we will merge PRs that address AppImage support, but the core team no longer considers addressing AppImage bugs a priority, and discourages the use of AppImage for new projects. (1449)
Documentation
* Documentation on the process of retrieving certificate identities on macOS and Windows was improved. (1473)
Misc
* 1136, 1290, 1363, 1364, 1365, 1372, 1375, 1376, 1379, 1388, 1394, 1395, 1396, 1398, 1400, 1401, 1402, 1403, 1408, 1409, 1410, 1411, 1412, 1418, 1419, 1420, 1421, 1427, 1429, 1431, 1433, 1435, 1436, 1437, 1438, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1454, 1455, 1456, 1457, 1464, 1465, 1466, 1470, 1474, 1476, 1477, 1478, 1481, 1485, 1486, 1487, 1488, 1489, 1490, 1492, 1494