August has been a slow month due to some personal leave, and some unexpected road bumps from GitHub - but BeeWare has still made some notable progress.
What we've done
- Python 3.14.0rc2 has been released - including, for the first time, official Android binaries! You can now download official, pre-compiled Android binaries for CPython. This is a major milestone for Android support, as it means BeeWare is able to use official binaries when building Android apps.
- As part of the changes adding official Android binaries to the release process, Android was added to the CI checks that are performed as part of every CPython pull request on GitHub. This will significantly reduce the likelihood of bugs landing in main that will break the Android buildbots.
- We spent a significant amount of time dealing with an update to GitHub Actions. On August 11, GitHub rolled out an update to the disk image they use for macOS 15 machines - and in the process, broke the tools that BeeWare uses to test iOS applications. It took almost a week to identify the cause of this problem, and develop a fix. However, the good news is that the fix significantly simplifies the iOS testing process.
- We began the process of adding official Python binaries for iOS. The complexity of iOS multi-architecture builds makes official builds a little more complicated than Android, but we're hopeful this work will be able to land in the near future.
- We added a recipe for building iOS binaries for zstandard. These are needed to support the new zstandard compression library in Python 3.14.
- We released a website to track the status of binary wheel support for iOS and Android.
- We released Briefcase 0.3.25. This release was primarily required because of a change to Android Play Store target SDK requirements.
- We modified how Briefcase determines the minimum supported macOS/iOS version that Python requires. This change allows us to simplify the contents of the support packages.
- We made Briefcase more resilient to badly packaged binary wheels on macOS. Many packages publish
py3-none-any
wheels, which should be platform independent - but then include platform-specific binaries or dynamic library content in the wheels. Briefcase will now ignore these files. - Briefcase's unit tests have been made more resilient to temporary network outages - something that happens surprisingly often in the GitHub Actions environment.
- We dropped support for Python 3.9, and added support for Python 3.14 across BeeWare projects. For the first time, this includes the ability to release Windows support based on pre-releases of Python - previously, we had to wait until the
.0
release of a new Python version before we could add support. - We improved the checks (and error reporting) associated with using new versions of Travertino with old versions of Toga.
- We resolved a long standing bug on iOS where touch events wouldn't be triggered if content was "below the fold" on a scroll container.
- We started work on a new tool to consolidate the cross-platform building tools used on Android, iOS and Emscripten. This tool still needs a lot of work before it's production-ready, but it draws from our lessons learned on cibuildwheel, and should allow us to simplify and consolidate the approaches taken to implement cross-platform builds.
- We made significant progress on migrating BeeWare's documentation to use Markdown, instead of Restructured Text. We've got tools and themes in place, and the tutorial is almost ready to switch to new Markdown-based content.
What's next?
September will involve a lot of travel - we'll be attending PyCon AU, the CPython core team summit, and PyCon UK. We'll be speaking at PyCon AU and PyCon UK, and running a sprint at PyCon UK as well. Tickets are still on sale for both events - we hope to see you there!
When we're not travelling, we're going to continue working on getting iOS binary artefacts into Python's CI and release processes, and on improving the tools for packaging binary wheels for mobile platforms.
Lastly, we're planning to look at adding post-install scripts to Briefcase installers. We'll be focussing on Windows installers initially; but the intention is that any changes we implement could also be implemented on macOS or Linux.
Want to get involved?
Want to get involved? We curate issues that should be approachable for first-time contributors to BeeWare. They're all relatively minor changes, but would provide a big improvement to the lives of BeeWare users:
- If you're interested in the tooling for deploying applications to various platforms, take a look at Briefcase
- Or, if you're interested in GUI widgets, take a look at Toga
These lists can also be filtered by platform - so you can find issues that are specific to your preferred operating system. Pick one of these tickets, drop a comment on the ticket to let others know you're looking at it, and try your hand at a PR! We have a guide on setting up a Briefcase development environment; but if you need any additional assistance or guidance, you can ask on the ticket, or join us on the BeeWare Discord server.
- Previous entry
- July 2025 Status Update