-
-
Notifications
You must be signed in to change notification settings - Fork 728
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add September 2023 status update blog post. #537
Merged
Merged
Changes from 1 commit
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
58 changes: 58 additions & 0 deletions
58
content/news/buzz/september-2023-status-update/contents.lr
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
title: September 2023 Status Update | ||
--- | ||
author: Russell Keith-Magee | ||
--- | ||
body: | ||
|
||
September has been a month of slow, but significant progress. | ||
|
||
What we've done | ||
---------------- | ||
|
||
* We've resolved the issues around the iOS App Store rejecting BeeWare apps - and, by way of proof, we've updated our demo app, `Travel Tips <https://apps.apple.com/au/app/travel-tips/id1336372310#?platform=iphone>`__. We've also updated the `Android version of the app <https://anaconda.zoom.us/j/97929175176?pwd=bDlycWoyNTROU2dyWVRwYkxXU3drZz09>`__. | ||
|
||
* We've completely reworked the tooling for building binary packages for iOS. `Mobile Forge <https://github.com/beeware/mobile-forge>`__ is our new project for maintaining iOS binary builds. It provides a much more robust environment for performing cross-compilation, making use of `crossenv <https://github.com/benfogle/crossenv>`__, rather than bespoke site package overrides. Getting crossenv working has also required us to do a deep audit of the various ways that Python reflects describes the platform it is running on, from the obvious ones like the ``platform`` and ``sys`` modules, down to ``sysconfig`` and the tags that are used by ``pip`` to determine wheel compatibility. | ||
|
||
* We've completed an `initial port of the iOS patches to Python 3.12.0rc3 <https://github.com/beeware/Python-Apple-support>`__. We're still hunting some edge cases, but initial signs are promising that we'll be in a position to do a near "zero day" release of Python 3.12 support for iOS. | ||
|
||
freakboy3742 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
* We were anticipating that would would complete the Toga Audit this month; however, that unfortunately hasn't happened. We've hit a bunch of complications with getting fonts and canvas support working on Windows and Android, and the process of getting those platforms working has revealed some inconsistencies in macOS, iOS and GTK font handling. However, we have completed the audit of `DetailedList <https://github.com/beeware/toga/pull/2019>`__ and `Font <https://github.com/beeware/toga/pull/1903>`__, and the audit of `Canvas <https://github.com/beeware/toga/pull/2029>`__ is *almost* complete. | ||
|
||
* We `decoupled the Winforms event loop from the main form in a Toga app <https://github.com/beeware/toga/pull/2112>`__. This doesn't have any immediate impact on existing Toga apps - but it means we're now in a position to have windowless apps, such as system tray apps. | ||
|
||
* We completed the `fixes needed to support Briefcase on Python 3.12 <https://github.com/beeware/briefcase/pull/1290>`__. | ||
|
||
* We made some `significant improvements to subprocess encoding handling <https://github.com/beeware/briefcase/pull/1425>`__. This should significantly improve the user experience of Windows users, and users from non-English speaking countries. | ||
|
||
* We `formally downgraded our support for AppImage to "Best effort" <https://github.com/beeware/briefcase/pull/1449>`__. AppImage has proven increasingly difficult to work with as a format; now that we have a native system packages and Flatpak as options, the effort needed to maintain AppImage support is better spent elsewhere. We'll still merge fixes to AppImage support if a PR is provided, but we're no longer actively fixing bugs, or running AppImage configurations in CI. | ||
freakboy3742 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
* We added `filters to Xcode output to hide ignorable warnings <https://github.com/beeware/briefcase/pull/1468>`__. Xcode builds have always been a little noisy; the new Xcode 15 release added even more noise. The filter means that these warnings will no longer distract from successful build output. | ||
|
||
What's next? | ||
-------------- | ||
|
||
Unfortunately, we didn't complete the Toga audit in September as we anticipated. As mentioned, we hit a number of compilations and inconsistencies in font handling, especially in the Canvas widget, which slowed progress. We'll keep working on this audit in October; and once we're done, we'll make a release a new version of Toga. This release will include a number of backwards-incompatible changes identified as part of the audit, so be prepared for a bumpier-than-usual upgrade process. | ||
freakboy3742 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
Once the audit is complete, we'll also be looking at a technical limitation that the widget audit has revealed on Android. A number of Toga's Android widgets aren't as fully featured as they could be, due to the fact that accessing the full API would require subclassing a Java base class. This is an area where Chaquopy has some limitations; so we're going to try and address these limitations. | ||
|
||
We'll also begin the work of upstreaming patches to CPython core. We've been invited to attend the CPython Core Team Sprint this month, which will be great opportunity to lay out the roadmap for formal iOS and Android support in CPython 3.13. This will also involve working on improving the CI infrastructure for building Android and iOS packages. | ||
|
||
Want to get involved? | ||
----------------------- | ||
|
||
Want to get involved? Here are some open issues that would be a great place to get started with contributing to a BeeWare project. They're all relatively minor changes, but would provide a big improvement to the lives of BeeWare users: | ||
|
||
1. `Filter out a message generated after Xcode updates <https://github.com/beeware/briefcase/issues/780>`__ | ||
2. `Add the ability to configure the ABIs built by an Android project <https://github.com/beeware/briefcase/issues/808>`__ | ||
3. `Rationalise the application of adhoc signing on macOS <https://github.com/beeware/briefcase/issues/1099>`__ | ||
4. `Provide an option to override app settings from the command line <https://github.com/beeware/briefcase/issues/1115>`__ | ||
5. `Add support for custom PyPI repositories <https://github.com/beeware/briefcase/issues/1270>`__ | ||
6. `Document how to debug an application in popular IDEs <https://github.com/beeware/briefcase/issues/1393>`__ | ||
7. `Correctly handle incomplete project deletions <https://github.com/beeware/briefcase/issues/394>`__ | ||
8. `Add an option to select the Android base image when creating new emulators <https://github.com/beeware/briefcase/issues/737>`__ | ||
|
||
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 <https://briefcase.readthedocs.io/en/latest/how-to/contribute-code.html>`__; but if you need any additional assistance or guidance, you can ask on the ticket, or join us on the `BeeWare Discord server <https://beeware.org/bee/chat/>`__. | ||
|
||
--- | ||
mastodon_handle: @freakboy3742@cloudisland.nz | ||
--- | ||
pub_date: 2023-09-30 |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
anaconda.zoom.us???
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
😳
Where did that come from?!