Skip to content
Merged
Show file tree
Hide file tree
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
52 changes: 52 additions & 0 deletions docs/en/news/posts/2026/buzz/may-2026-status-update.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
---
title: May 2026 Status Update
date: 2026-06-01
authors:
- freakboy3742
categories:
- Buzz
---

May was dominated by [PyCon US](https://us.pycon.org/2026/), where the BeeWare team ran another successful sprint, resulting in a number of improvements - many from first time contributors.

<!-- more -->

## What we've done

- We presented 2 main track talks at PyCon US - one on [mechanisms for distributing Python code](https://us.pycon.org/2026/schedule/presentation/36/), and one on [switching your project documentation from Sphinx to Markdown](https://us.pycon.org/2026/schedule/presentation/6/). We also presented at the [Web Assembly Summit](https://us.pycon.org/2026/events/webassembly-summit/), and [Packaging Summit](https://us.pycon.org/2026/events/packaging-summit/).
- We rolled out a series of updates to our GitHub Action workflows, simplifying our use of Dependabot, and adding some improvements to help users [identify if they haven't filled out our PR template](https://github.com/beeware/.github/pull/357) or [provided a Towncrier change note](https://github.com/beeware/.github/pull/361).
- We adopted the use of our new warning banner helper [throughout the Briefcase repository](https://github.com/beeware/briefcase/pull/2842), replacing the existing banners.
- We [improved Briefcase's validation of bundle identifiers](https://github.com/beeware/briefcase/pull/2825), allowing single-dot bundle IDs while still rejecting invalid ones.
- Now that [Python.net supports Python 3.14](https://github.com/pythonnet/pythonnet/issues/2610), we have [removed the warning in the BeeWare tutorial that advised against using Python 3.14 on Windows](https://github.com/beeware/beeware-tutorial/pull/78).
- We modified [Toga's `Canvas` widget to expose drawing-context attributes (`fill_style`, `stroke_style`, `line_width`, `line_dash`) along with `save`/`restore` methods](https://github.com/beeware/toga/pull/4332), continuing the alignment with the HTML5 Canvas API, and completed a [comprehensive revamp of the documentation of the `Canvas` widget](https://github.com/beeware/toga/pull/4362).
- We implemented [dark mode detection in Toga for iOS, web, and Windows](https://github.com/beeware/toga/pull/4408).
- We addressed some [reliability problems with Toga's app-level dialogs on macOS 26](https://github.com/beeware/toga/pull/4363).
- We modified Toga's [`Window` initialization process to ensure event handlers exist before the underlying widget is constructed](https://github.com/beeware/toga/pull/4359).
- We added [keyboard toggling for nodes in the Toga's WinForms Tree widget](https://github.com/beeware/toga/pull/4360).
- We [modified the handling of static HTML content in the Android `WebView`](https://github.com/beeware/toga/pull/4410), fixing a rendering problem observed when content contained characters such as `#`.
- We [improved Toga's GTK `MapView` handling of null values](https://github.com/beeware/toga/pull/4379).
- We corrected an issue with the Toga testbed app that caused [tests to fail if the user had multiple monitors](https://github.com/beeware/toga/pull/4428).
- We [documented the limitations of `OptionContainer` on mobile platforms](https://github.com/beeware/toga/pull/4369).
- We ensured Toga's codebase [checks for default encoding warnings](https://github.com/beeware/toga/pull/4365), and corrected some examples where encoding wasn't being explicitly specified.
- We [improved the resilience of Toga's `WebView` tests under Qt](https://github.com/beeware/toga/pull/4424).
- We [migrated Briefcase's project template to include a Markdown README](https://github.com/beeware/briefcase-template/pull/258).
- We [improved the BeeWare overview page with details about the platforms that BeeWare supports](https://github.com/beeware/beeware.github.io/pull/783).
- We [corrected a configuration issue that broke compilation of Python for iOS on macOS 26](https://github.com/python/cpython/pull/150444).
- We landed [the `cibuildwheel` improvements needed for building NumPy and related packages on Android](https://github.com/pypa/cibuildwheel/pull/2695), and [added Android support to `auditwheel`](https://github.com/pypa/auditwheel/pull/643). Together, these are the foundation that will let `cibuildwheel` build a much wider range of scientific-Python wheels for Android.

Much of this work is due to the contributions of members of the BeeWare community, many of these users contributed at the PyCon US Sprints. Thanks to <nospell>Abdo ([@abdnh](https://github.com/abdnh)), Abdur-Rahmaan Janhangeer ([@Abdur-rahmaanJ](https://github.com/Abdur-rahmaanJ)), [@AJTheDataGuy](https://github.com/AJTheDataGuy), [@albertchae](https://github.com/albertchae), Aman Sachan ([@AmSach](https://github.com/AmSach)), Aqil Aziz ([@aqilaziz](https://github.com/aqilaziz)), [@atuseract](https://github.com/atuseract), Audrey Dang ([@audreydng](https://github.com/audreydng)), Campbell ([@ceggy91](https://github.com/ceggy91)), [@changquan](https://github.com/changquan), Andy P Fundinger ([@Ciemaar](https://github.com/Ciemaar)), [@drewRB](https://github.com/drewRB), Chris Patti ([@feoh](https://github.com/feoh)), Grant Wang ([@gwdio](https://github.com/gwdio)), Michael Wilson ([@hyperboloid](https://github.com/hyperboloid)), Ian Dolge ([@iandolge](https://github.com/iandolge)), Joel Peter ([@joelpeter-c](https://github.com/joelpeter-c)), John ([@johnzhou721](https://github.com/johnzhou721)), Jorge ([@jvigueras](https://github.com/jvigueras)), [@lihua-xinghun](https://github.com/lihua-xinghun), Matthew Wygal ([@matthew-wy](https://github.com/matthew-wy)), Miro ([@Mirochill](https://github.com/Mirochill)), [@mrds555](https://github.com/mrds555), Matt Van Horn ([@mvanhorn](https://github.com/mvanhorn)), [@Nando301](https://github.com/Nando301), Oliver Leigh ([@Oliver-Leigh](https://github.com/Oliver-Leigh)), Taiwo Osunrinde ([@osunrinde](https://github.com/osunrinde)), Puneet Dixit ([@puneetdixit200](https://github.com/puneetdixit200)), Robert J Spencer ([@Rjvs](https://github.com/Rjvs)), [@Rowlando13](https://github.com/Rowlando13), Shannon ([@shannonmcin](https://github.com/shannonmcin)), Darryl Wang ([@Tridwoxi](https://github.com/Tridwoxi)), [@tylerboutwell](https://github.com/tylerboutwell), Vinicius Gubiani Ferreira ([@vinigfer](https://github.com/vinigfer)), and David_C ([@YuDavidCao](https://github.com/YuDavidCao))</nospell> for their code and documentation contributions this month.

## What's next?

On the technical front, in the coming month, we'll also be looking into options for updating code in a running app; and continuing work on the "big picture" app navigation plan published earlier in the year. If time permits, we'll begin investigations into the use of Conda environments in Briefcase apps.

We're also planning to step up our efforts to build the BeeWare community. We've developed a reputation at PyCon US for running extremely effective sprints; but we need to do more of that outreach for people who can't make it to PyCon. We've already begun doing an audit of our outstanding issues in the hope of curating a more actionable list of work for contributors; and we're going to start being more active on social media, including reaching out to more social media channels. We're also going to host our first Community Call - a monthly live video event where members of the core team and community members can share what they've been working on. [Join us on Discord on June 11 at 11PM UTC (7PM EDT, 4PM PDT, 9AM AEST)](https://discord.gg/U6RfbGDN?event=1509015071890870443) (and yes - we're planning to add calls at other times more convenient for European and Asian audiences).

## Want to get involved?

Want to get involved? We curate issues that should be approachable for first-time contributors to BeeWare. They're all relatively minor changes, but would provide a big improvement to the lives of BeeWare users:

- If you're interested in the tooling for deploying applications to various platforms, take a look at [Briefcase](https://github.com/beeware/briefcase/issues?q=is%3Aissue%20state%3Aopen%20label%3A%22good%20first%20issue%22).
- Or, if you're interested in GUI widgets, take a look at [Toga](https://github.com/beeware/toga/issues?q=is%3Aissue%20state%3Aopen%20label%3A%22good%20first%20issue%22).
Comment on lines +49 to +50
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to have it on our radar to switch this to the GitHub Project once we have those issues well triaged.


These lists can also be filtered by platform - so you can find issues that are specific to your preferred operating system. 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 [contribution guide](https://beeware.org/contributing/guide/); 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/).
2 changes: 2 additions & 0 deletions docs/spelling_wordlist
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
AAB
ABI
ABIs
AEST
accelerometers
accessor
accessors
Expand Down Expand Up @@ -279,6 +280,7 @@ TLS
TODO
toolchains
toolkits
Towncrier
TradesCloud
TradesCloud's
transpilation
Expand Down
72 changes: 72 additions & 0 deletions skills/generate-monthly-status-update/skill.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
---
name: draft-monthly-status-update
description: Generate a draft blog post that describes the notable project updates from the past month.
---

# Generate monthly status update

Produce a blog post draft in a file named `docs/en/news/posts/<year>/<month>-<year>-status-update.md`, substituting the year and month as appropriate. If this skill is run after the 20th day of the month it will be a summary of the current month. At any other time, it will be a summary of the previous month.

## Steps

1. Generate a stub `docs/en/news/posts/<year>/<month>-<year>-status-update.md` that follows the following template:

```markdown
---
title: { month } { year } Status Update
date: { first day of the next month, in YYYY-MM-DD format }
authors:
- { username }
categories:
- Buzz
---

{ summary }

<!-- more -->

## What we've done

- { work item }
- { work item }

Much of this work is due to the contributions of members of the BeeWare community. Thanks to <nospell> { contributors } </nospell> for their code and documentation contributions this month.

## What's next?

A summary of coming activity.

## Want to get involved?

Want to get involved? We curate issues that should be approachable for first-time contributors to BeeWare. They're all relatively minor changes, but would provide a big improvement to the lives of BeeWare users:

- If you're interested in the tooling for deploying applications to various platforms, take a look at [Briefcase](https://github.com/beeware/briefcase/issues?q=is%3Aissue%20state%3Aopen%20label%3A%22good%20first%20issue%22).
- Or, if you're interested in GUI widgets, take a look at [Toga](https://github.com/beeware/toga/issues?q=is%3Aissue%20state%3Aopen%20label%3A%22good%20first%20issue%22).

These lists can also be filtered by platform - so you can find issues that are specific to your preferred operating system. 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.beeware.org/en/latest/how-to/contribute/how/dev-environment/); 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/).

```

2. Fill out the document Markdown preamble with appropriate values. Ask the user for their Github username.
3. Build a list of all GitHub pull requests that have been merged into a repository in the `beeware` or `dmgbuild` project, except for those whose primary author is `dependabot` or `brutusthebee`.
4. Add to that list any pull request merged into a project owned by the `python`, `pypa`, or `PyO3` organziations where the author is `freakboy3742` or `mhsmith`:
5. Replace the bullet points in the "What we've done" section of the template document with the pull requests that have been found. Each bullet point should be a 1 sentence summary of the pull request, including a Markdown hyperlink to the pull request that spans the key part of the description (i.e., don't link preamble at the start of the sentence as part of the Markdown link)
6. Build a list of authors who contributed to the full list of pull requests found. Exclude any user who is a member of the BeeWare core team.
7. Replace the `{contributors}` block of the Markdown template with a list of authors that was found, sorted alphabetically by GitHub username. If the user has a full name listed in their Github profile, include their name as `[John Smith ([@johnsmith](https://github.com/johnsmith))]`; if they don't have a full name in their profile, use `[@johnsmith](https://github.com/johnsmith)`. The full list should be comma separated, with `, and` for the last entry in the list.

## Content guidelines

* The initial summary should be as short as possible.
* The bullet points created in step 5 should generally be one issue per bullet point. Multiple PRs should not be merged into a single bullet point unless they are near identical in content across multiple repositories, or are *extremely* closely related changes in the same repository.
* The summaries should be functional summaries describing what has changed from the perspective of the user, not how the feature was implemented.
* Do not attempt to draft the "What's next" section. Leave this for human authors.

## Validation

The final document should be a valid Markdown document with no spelling errors, as validated by running `tox -m pre-commit,docs-lint`.

If any words are identified as spelling errors by the `docs-lint` step, the user should be prompted to approve those words for addition in the `docs/spelling_wordlist` file. If a word is approved, it should be added to the file in alphabetical order.

## Examples

Any existing post in the `docs/en/news/posts/<year>/buzz` folder with a `-status-update.md` suffix can be used as an example. Newer examples should be considered better than older ones.
10 changes: 8 additions & 2 deletions tox.ini
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
[tox]
envlist = docs-lint,docs-all
envlist = pre-commit,docs-lint,docs-all

[docs]
docs_dir = {tox_root}{/}docs{/}en

[testenv:pre-commit]
skip_install = true
dependency_groups = pre-commit
commands = pre-commit run --all-files --show-diff-on-failure --color=always

[testenv:docs{,-translate,-lint,-en,-ar,-cs,-da,-de,-es,-fa,-fr,-it,-ja,-ko,-pl,-pt,-ru,-tr,-zh_CN,-zh_TW,-all,-serve,-live}]
# Docs are always built on Python 3.13. See also the RTD config.
base_python = py313
Expand All @@ -23,7 +28,8 @@ commands:
# MaxCDN has been acquired and their blog no longer exists
# Play store has delisted Travel Tips for now.
# Github and wikipedia have an aggressive rate limiter
lint : markdown-checker --dir {[docs]docs_dir} --func check_broken_urls --skip-urls-containing=https://www.maxcdn.com/blog/beeware-be-sticky/,https://play.google.com/store/apps/details,https://github.com/python/cpython,https://github.com/beeware,https://github.com/freakboy3742,https://en.wikipedia.org/wiki/
# unital.dev is regularly flagged invalid due to response time
lint : markdown-checker --dir {[docs]docs_dir} --func check_broken_urls --skip-urls-containing=https://www.maxcdn.com/blog/beeware-be-sticky/,https://play.google.com/store/apps/details,https://github.com/python/cpython,https://github.com/beeware,https://github.com/freakboy3742,https://en.wikipedia.org/wiki/,https://unital.dev/
en : build_md_translations {posargs} en
ar : build_md_translations {posargs} ar
cs : build_md_translations {posargs} cs
Expand Down