diff --git a/content/news/buzz/january-2024-status-update/contents.lr b/content/news/buzz/january-2024-status-update/contents.lr new file mode 100644 index 0000000000..7e8e02b303 --- /dev/null +++ b/content/news/buzz/january-2024-status-update/contents.lr @@ -0,0 +1,58 @@ +title: January 2024 Status Update +--- +author: Russell Keith-Magee +--- +body: + +January has seen some long awaited and high profile features added to BeeWare. + +What we've done +---------------- + +* `PEP 738 `__, formalizing the introduction of Android as a Tier 3 platform in CPython, has been formally accepted as a draft. We're now revising the draft following community feedback, in anticipation of submitting the PEP for formal approval in the near future. + +* We added a cross-platform Camera API to Toga. This API has been `implemented for iOS and macOS `__; the `implementation for Android `__ is in final review. + +* We added an `OptionContainer widget for Android `__. This now means that OptionContainer is available on every desktop and mobile platform. + +* We added the ability to `define a button with an Icon `__. In addition, we've added some `major clarifications to the documentation about the difference between an Icon and an Image `__. + +* We `reworked the way that widget IDs are handled `__. This change was required due to a bug caused by the interaction of Python's garbage collector and the widget registry that prevented the re-use of widget IDs in some situations. The new implementation means that the widget registry behaves a lot more like a browser's DOM - a widget can only be discovered by ID when it is actually part of a widget layout. + +* We added Briefcase support for `Python 3.12 on Android `__. + +* We added a mechanism for `defining app permissions `__ in your Briefcase project. + +* We added the ability for Android projects to `declare the native Android libraries that they depend on `__. + +* We've been polishing the CPython patches necessary to support iOS and Android, in anticipation of submitting these patches upstream. To follow progress on this work, subscribe to the CPython tickets for `iOS support `__ and `Android support `__. + +What's next? +-------------- + +In February, we'll be focusing on the iOS and Android patches to CPython, and the finalisation of `PEP 738 `__. While we're waiting for CPython patches to be reviewed, we'll be looking into geolocation and mapping functionality. + +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. `Print notarisation log failures when building macOS apps `__ +10. `Add an API to replace a child of a widget `__ +11. `Add an API to entirely replace the style of a widget `__ +12. `Add the ability to define content when creating a window `__ + +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-02-01