Skip to content

Commit

Permalink
Merge pull request #552 from freakboy3742/jan-2024-update
Browse files Browse the repository at this point in the history
Add Jan 2024 status update.
  • Loading branch information
freakboy3742 authored Jan 31, 2024
2 parents 3f9705c + d2c14ba commit de46b83
Showing 1 changed file with 58 additions and 0 deletions.
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

0 comments on commit de46b83

Please sign in to comment.