Releases: beeware/briefcase
Releases · beeware/briefcase
0.3.12
Features
- Briefcase is more resilient to file download failures by discarding partially downloaded files. (#753)
- All warnings from the App and its dependencies are now shown when running
briefcase dev
by invoking Python in development mode. (#806) - The Dockerfile used to build AppImages can now include user-provided container setup instructions. (#886)
- It is no longer necessary to specify a device when building an iOS project. (#953)
- Briefcase apps can now provide a test suite.
briefcase run
andbriefcase dev
both provide a--test
option to start the test suite. (#962) - Initial support for Python 3.12 was added. (#965)
- Frameworks contained added to a macOS app bundle are now automatically code signed. (#971)
- The
build.gradle
file used to build Android apps can now include arbitrary additional settings. (#973) - The run and build commands now have full control over the update of app requirements resources. (#983)
- Resources that require variants will now use the variant name as part of the filename by default. (#989)
briefcase open linux appimage
now starts a shell session in the Docker context, rather than opening the project folder. (#991)- Web project configuration has been updated to reflect recent changes to PyScript. (#1004)
Bugfixes
- Console output of Windows apps is now captured in the Briefcase log. (#787)
- Android emulators configured with
_no_skin
will no longer generate a warning. (#882) - Briefcase now exits normally when CTRL-C is sent while tailing logs for the App when using
briefcase run
. (#904) - Backslashes and double quotes are now safe to be used for formal name and description (#905)
- The console output for Windows batch scripts in now captured in the Briefcase log. (#917)
- When using the Windows Store version of Python, Briefcase now ensures the cache directory is created in
%LOCALAPPDATA%
instead of the sandboxed location enforced for Windows Store apps. (#922) - An Android application that successfully starts, but fails quickly, no longer stalls the launch process. (#936)
- The required Visual Studio Code components are now included in verification errors for Visual Studio Apps. (#939)
- It is now possible to specify app configurations for macOS Xcode and Windows VisualStudio projects. Previously, these sections of configuration files would be ignored due to a case discrepancy. (#952)
- Development mode now starts apps in PEP540 UTF-8 mode, for consistency with the stub apps. (#985)
- Local file references in requirements no longer break AppImage builds. (#992)
- On macOS, Rosetta is now installed automatically if needed. (#1000)
- The way dependency versions are specified has been modified to make Briefcase as accomodating as possible with end-user environments, but as stable as possible for development environments. (#1041)
- To prevent console corruption, dynamic console elements (such as the Wait Bar) are temporarily removed when output streaming is disabled for a command. (#1055)
Improved Documentation
- Release history now contains links to GitHub issues. (#1022)
Misc
- #906, #907, #918, #923, #924, #925, #926, #929, #931, #951, #959, #960, #964, #967, #969, #972, #981, #984, #987, #994, #995, #996, #997, #1001, #1002, #1003, #1012, #1013, #1020, #1021, #1023, #1028, #1038, #1042, #1043, #1044, #1045, #1046, #1047, #1048, #1049, #1051, #1052, #1057, #1059, #1061, #1068, #1069, #1071
0.3.11
Features
- Added support for deploying an app as a static web page using PyScript. (#3)
- Briefcase log files are now stored in the
logs
subdirectory and only when the current directory is a Briefcase project. (#883)
Bugfixes
- Output from spawned Python processes, such as when running
briefcase dev
, is no longer buffered and displays in the console immediately. (#891)
Misc
v0.3.10
Features
- iOS and Android now supports the installation of binary packages. (#471)
- Apps can now selectively remove files from the final app bundle using the
cleanup_paths
attribute. (#550) - The Docker image for AppImage builds is created or updated for all commands instead of just
create
. (#796) - The performance of Briefcase's tool verification process has been improved. (#801)
- Briefcase templates are now versioned by the Briefcase version, rather than the Python version. (#824)
- Android commands now start faster, as they only gather a list of SDK packages when needed to write a log file. (#832)
- Log messages can be captured on iOS if they originate from a dynamically loaded module. (#842)
- Added an "open" command that can be used to open projects in IDEs. (#846)
Bugfixes
- The Wait Bar is disabled for batch scripts on Windows to prevent hiding user prompts when CTRL+C is pressed. (#811)
- Android emulators that don't provide a model identifier can now be used to launch apps. (#820)
- All
linuxdeploy
plugins are made executable and ELF headers for AppImage plugins are patched for use inDocker
. (#829) - The RCEdit plugin can now be upgraded. (#837)
- When verifying the existence of the Android emulator, Briefcase now looks for the actual binary, not the folder
that contains the binary. This was causing false positives on some Android SDK setups. (#841) - When CTRL+C is entered while an external program is running,
briefcase
will properly abort and exit. (#851) - An issue with running
briefcase dev
on projects that put their application module in the project root has been resolved. (#863)
Improved Documentation
- Added FAQ entries on the state of binary package support on mobile. (#471)
Misc
v0.3.10rc8
Release candidate 8 for v0.3.10.
v0.3.10rc7
Release candidate 7 for v0.3.10.
v0.3.9
Features
- Linux apps can now be packaged in Flatpak format. (#359)
- SDKs, tools, and other downloads needed to support app builds are now stored in an OS-native user cache directory instead of
~/.briefcase
. (#374) - Windows MSI installers can now be configured to ask the user whether they want a per-user or per-machine install. (#382)
- The console output of Windows apps is now captured and displayed during
briefcase run
. (#620) - Windows apps are now packaged with a stub application. This ensures that Windows apps present with the name and icon of the app, rather than the
pythonw.exe
name and icon. It also allows for improvements in logging and error handling. (#629) - Temporary docker containers are now cleaned up after use. The wording of Docker progress messages has also been improved. (#774)
- Users can now define a
BRIEFCASE_HOME
environment variable. This allows you to specify the location of the Briefcase tool cache, allowing the user to avoid issues with spaces in paths or disk space limitations. (#789) - Android emulator output is now printed to the console if it fails to start properly. (#799)
briefcase android run
now shows logs from only the current process, and includes all log tags except some particularly noisy and useless ones. It also no longer clears the Logcat buffer. (#814)
Bugfixes
- Apps now have better isolation against the current working directory. This ensures that code in the current working directory isn't inadvertently included when an app runs. (#662)
- Windows MSI installers now install in
Program Files
, rather thanProgram Files (x86)
. (#688) - Linuxdeploy plugiuns can now be used when building Linux AppImages; this resolves many issues with GTK app deployment. (#756)
- Collision protection has been added to custom support packages that have the same name, but are served by different URLs. (#797)
- Python 3.7 and 3.8 on Windows will no longer deadlock when CTRL+C is sent during a subprocess command. (#809)
Misc
v0.3.8
Features
- macOS apps are now notarized as part of the packaging process. (#365)
- Console output now uses Rich to provide visual highlights and progress bars. (#740)
- The macOS log streamer now automatically exits using the run command when the app exits. (#742)
- A verbose log is written to file when a critical error occurs or --log is specified. (#760)
Bugfixes
- Updating an Android app now forces a re-install of the app. This corrects a problem (usually seen on physical devices) where app updates wouldn't be deployed if the app was already on the device. (#395)
- The iOS simulator is now able to correctly detect the iOS version when only a device name is provided. (#528)
- Windows MSI projects are now able to support files with non-ASCII filenames. (#749)
- The existence of an appropriate Android system image is now verified independently to the existence of the emulator. (#762)
- The error message presented when the Xcode Commandline Tools are installed, but Xcode is not, has been clarified. (#763)
- The METADATA file generated by Briefcase is now UTF-8 encoded, so it can handle non-Latin-1 characters. (#767)
- Output from subprocesses is correctly encoded, avoiding errors (especially on Windows) when tool output includes non-ASCII content. (#770)
Improved Documentation
- Documented a workaround for ELF load command address/offset errors seen when using manylinux wheels. (#718)
Misc
v0.3.7
Features
- Apps can be updated as part of a call to package. (#473)
- The Android emulator can now be used on Apple M1 hardware. (#616)
- Names that are reserved words in Python (or other common programming languages) are now prevented when creating apps. (#617)
- Names that are invalid on Windows as filenames (such as CON and LPT0) are now invalid as app names. (#685)
- Verbose logging via -v and -vv now includes the return code, output, and environment variables for shell commands (#704)
- When the output of a wrapped command cannot be parsed, full command output, and failure reason is now logged. (#728)
- The iOS emulator will now run apps natively on M1 hardware, rather than through Rosetta emulation. (#739)
Bugfixes
- Bundle identifiers are now validated to ensure they don't contain reserved words. (#460)
- The error reporting when the user is on an unsupported platform or Python version has been improved. (#541)
- When the formal name uses non-Latin characters, the suggested Class and App names are now valid. (#612)
- The code signing process for macOS apps has been made more robust. (#652)
- macOS app binaries are now adhoc signed by default, ensuring they can run on M1 hardware. (#664)
- Xcode version checks are now more robust. (#668)
- Android projects that have punctuation in their formal names can now build without error. (#696)
- Bundle name validation no longer excludes valid country identifiers (like
in.example
). (#709) - Application code and dist-info is now fully replaced during an update. (#720)
- Errors related to Java JDK detection now properly contain the value of JAVA_HOME instead of the word None (#727)
- All log entries will now be displayed for the run command on iOS and macOS; previously, initial log entries may have been omitted. (#731)
- Using CTRL+C to stop showing Android emulator logs while running the app will no longer cause the emulator to shutdown. (#733)
Misc
v0.3.6
Features
- On macOS, iOS, and Android,
briefcase run
now displays the application logs once the application has started. (#591) - Xcode detection code now allows for Xcode to be installed in locations other than
/Applications/Xcode.app
. (#622) - Deprecated support for Python 3.6. (#653)
Bugfixes
- Existing app packages are now cleared before reinstalling dependencies. (#644)
- Added binary patcher for linuxtools AppImage to increase compatibility. (#667)
Improved Documentation
- Documentation on creating macOS/iOS code signing identities has been added (#641)
Misc
v0.3.5
Features
- macOS projects can now be generated as an Xcode project. (#523)
Bugfixes
- macOS apps are now built as an embedded native binary, rather than a shell script invoking a Python script. This was necessary to provide better support for macOS app notarization and sandboxing. (#523)
- Fixed the registration of setuptools entry points caused by a change in case sensitivity handling in Setuptools 53.1.0. (#574)