From 3de52d70c770c0222f282e25cc23d833d4aa5e2b Mon Sep 17 00:00:00 2001 From: Russell Keith-Magee Date: Sat, 1 Jun 2024 10:45:57 +0800 Subject: [PATCH] Add May 2024 status update blog post. --- .../buzz/may-2024-status-update/contents.lr | 67 +++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 content/news/buzz/may-2024-status-update/contents.lr diff --git a/content/news/buzz/may-2024-status-update/contents.lr b/content/news/buzz/may-2024-status-update/contents.lr new file mode 100644 index 0000000000..46d84f8f52 --- /dev/null +++ b/content/news/buzz/may-2024-status-update/contents.lr @@ -0,0 +1,67 @@ +title: May 2024 Status Update +--- +author: Russell Keith-Magee +--- +body: + +BeeWare activity in May was dominated by preparing for and attending PyCon US in Pittsburgh. That event generated a lot of activity in the BeeWare project - but we've also added some other significant improvements. + +What we've done +---------------- + +* We attended PyCon US. We presented on the `state of mobile support in CPython to the Language Summit `__; we `presented a tutorial `__ to over 30 attendees; we ran a booth in Community Row; we `presented a talk `__ on writing a data visualisation app with BeeWare tools; and we ran an extremely successful sprint. At the peak, we had over 30 people sprinting on BeeWare projects; and we handed out over 20 challenge coins to first time contributors. Many of the new features in this status update can be attributed to contributions from sprint participants. + +* We modified Toga's Window API to allow `setting the content of the window when the window is constructed `__, and `improved the APIs for replacing children in an existing window layout `__. + +* We modified how validation of TextInput widgets are handled so that `change handlers aren't invoked until validation has been performed `__. + +* We modified how the DetailedList is created on Android so that `the dependency on the native SwipeRefreshLayout widget only exists if your app actually uses a DetailedList widget `__. + +* We `improved the error handling around camera permissions on macOS `__, and ensured that `Briefcase will generate the right permissions for macOS Sonoma `__. + +* We diagnosed some issues associated with code signing on macOS `when running on iCloud-mirrored drives `__, and when `Git has been configured to preserve Windows newlines `__. We also `improved the error handling when notarisation fails `__. + +* We `formally documented the plugin extension points that Briefcase provides `__. With this formally documented interface, Pygame-CE and `PPB `__, have taken formal ownership of their Briefcase bootstraps. + +* We `formally adopted PEP 621 format for specifying license files in Briefcase `__. + +* We `loosened the restrictions on bundle identifiers `__, and `improved handling of applications with special characters in their formal names `__. + +* We developed a draft implementation of a change that will `allow Briefcase to package console applications `__. We expect this change will land in the next week or so, and be released soon after that. + +* We started work on `removing binary stubs from the macOS and Windows app templates `__. This was starting to become a significant performance issue for first-time Briefcase users. + +* We improved the mechanism for invoking methods in Rubicon ObjC, making it possible to `invoke methods with repeated argument names `__. + +What's next? +-------------- + +In June, we're expecting to see progress in three main areas. + +Firstly, we'll be finalising the work on packaging console applications. We expect to see a Briefcase release by mid month that will incorporate this, and all the other improvements that have landed over the last month. + +Secondly, we'll be working on the APIs for the Toga App and Window classes. We've already done `a lot of prototyping work in this area `__; once this work is complete, Toga should have support for apps without a menubar in their main window, support for status bar apps without a main window, vastly improved abilities to customise standard menu items, and a stable API for document-based apps. + +Thirdly, we'll start looking at the broader CPython binary packaging ecosystem. The work we've done so far this year has led to CPython 3.13 formally supporting iOS and Android as Tier 3 supported platforms; the next step is ensuring that the rest of the community can build iOS and Android packages. This will involve improvements to tools like ``pip``, ``cibuildwheel``, ``meson-python`` and more. We expect that this work will take much longer than a month to complete, but we hope to be able to share some progress in June. + +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. `Update the Toga testbed test suite to use Pixel 7 Pro device sizes `__ +2. `Filter out a message generated after Xcode updates `__ +3. `Add the ability to configure the ABIs built by an Android project `__ +4. `Rationalise the application of adhoc signing on macOS `__ +5. `Add support for custom PyPI repositories `__ +6. `Document how to debug an application in popular IDEs `__ +7. `Correctly handle incomplete project deletions `__ +8. `Add an option to select the Android base image when creating new emulators `__ +9. `Add an API to entirely replace the style of a widget `__ + +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 `__. + +--- +mastodon_handle: @freakboy3742@cloudisland.nz +--- +pub_date: 2024-06-03