Skip to content
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 Jan 2024 status update. #552

Merged
merged 2 commits into from
Jan 31, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 58 additions & 0 deletions content/news/buzz/january-2024-status-update/contents.lr
Original file line number Diff line number Diff line change
@@ -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 <https://peps.python.org/pep-0738/>`__, 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 <https://github.com/beeware/toga/pull/2266>`__; the `implementation for Android <https://github.com/beeware/toga/pull/2353>`__ is in final review.

* We added an `OptionContainer widget for Android <https://github.com/beeware/toga/pull/2350>`__. This now means that OptionContainer is available on every desktop and mobile platform.

* We added the ability to `define a button with an Icon <https://github.com/beeware/toga/pull/2310>`__. In addition, we've added some `major clarifications to the documentation about the difference between an Icon and an Image <https://github.com/beeware/toga/pull/2348>`__.

* We `reworked the way that widget IDs are handled <https://github.com/beeware/toga/pull/2320>`__. 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 <https://github.com/beeware/briefcase/pull/1596>`__.

* We added a mechanism for `defining app permissions <https://github.com/beeware/briefcase/pull/1599>`__ in your Briefcase project.

* We added the ability for Android projects to `declare the native Android libraries that they depend on <https://github.com/beeware/briefcase/pull/1610>`__.

* 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 <https://github.com/python/cpython/issues/114099>`__ and `Android support <https://github.com/python/cpython/issues/71052>`__.

What's next?
--------------

In February, we'll be focusing on the iOS and Android patches to CPython, and the finalisation of `PEP 738 <https://peps.python.org/pep-0738/>`__. 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 <https://github.com/beeware/toga/issues/2251>`__
2. `Filter out a message generated after Xcode updates <https://github.com/beeware/briefcase/issues/780>`__
3. `Add the ability to configure the ABIs built by an Android project <https://github.com/beeware/briefcase/issues/808>`__
4. `Rationalise the application of adhoc signing on macOS <https://github.com/beeware/briefcase/issues/1099>`__
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>`__
9. `Print notarisation log failures when building macOS apps <https://github.com/beeware/briefcase/issues/1472>`__
10. `Add an API to replace a child of a widget <https://github.com/beeware/toga/issues/2301>`__
11. `Add an API to entirely replace the style of a widget <https://github.com/beeware/toga/issues/2305>`__
12. `Add the ability to define content when creating a window <https://github.com/beeware/toga/issues/2307>`__

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: 2024-02-01