Release 2026.05.09#3321
Open
AndreMiras wants to merge 292 commits intomasterfrom
Open
Conversation
`ffpyplayer`: update to `4.5.1`
`archs.py`: remove backslash logic
`sqlalchemy`: update to `2.0.30`
Fixed wrong spelling of development
✨Fixed wrong spelling: depelopment -> development
recipes: add new `grpcio` recipe
libsodium-recipe-update to url libsodium-recipe-update to url libsodium-recipe-update to url libsodium-recipe-update to url libsodium-recipe-update to url
libsodium-recipe-update to url
Add ModernGL recipe
Fix broken quickstart link
Our public DockerHub Image was 3 years old as the automatic build became a pro feature. With this change we're now publishing to DockerHub from the CI on push to the develop branch. Authentication to DockerHub is done using personal access tokens configured using `andremiras` username, but this can be updated anytime with another token refs: - https://app.docker.com/settings/personal-access-tokens - https://github.com/kivy/python-for-android/settings/secrets/actions We use a dedicated docker.yml workflow file rather than building on top of the existing push.yml one to keep things clean and separated. In the future we may add multi architecture support. Updating the public image also fixes the issue where the sh logger was too verbose leading to huge and unreadable CI logs.
👷 Publish to DockerHub
When setuptools is not present and the root logger has no handlers, Wheels would configure the root logger with DEBUG level, refs: - https://github.com/pypa/wheel/blob/0.44.0/src/wheel/util.py - https://github.com/pypa/wheel/blob/0.44.0/src/wheel/_setuptools_logging.py Both of these conditions are met in our CI, leading to very verbose and unreadable `sh` logs. Patching it prevents that.
🔇 Fix sh logs too verbose
⬆️ Bump sh module to v2, refs #2746
Add tiktoken recipe
Run docker login on push to develop rather than during pull requests
👷 Fix docker login
The bug probably got introduced with #3049 Update the tiktoken to demonstrate the fix.
…pes_fix 🐛 Fix rebuild updated recipes
Reuse `project_has_setup_py()` when appropriate and make some constructions more concise. Also fix minor docstring typo.
* fix PYTHONPATH hacks * fix android recipe * fix numpy and matplotlib build * no shebang patching required now * fix kivy master build * fix numpy build * more wrappers for meson recipe * flake8 fix * add back pandas host preq * fix bug in logger * add back cython for pandas
Update SDL3_mixer recipe to version 3.2.0, remove libgme patch (not needed as SDL3_mixer disables it by default) and fix compilation crash
Fix SciPy pybind11 build dependency
Fix tflite-runtime numpy include path
Fix pyjnius linking with Qt bootstrap libmain
Add Vosk recipe
Add videonative Recipe
Keep GitHub Actions up to date with GitHub's Dependabot
Bumps the github-actions group with 8 updates: | Package | From | To | | --- | --- | --- | | [actions/checkout](https://github.com/actions/checkout) | `4` | `6` | | [actions/upload-artifact](https://github.com/actions/upload-artifact) | `4` | `7` | | [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) | `3` | `4` | | [actions/setup-python](https://github.com/actions/setup-python) | `5` | `6` | | [actions/setup-java](https://github.com/actions/setup-java) | `4` | `5` | | [gradle/actions](https://github.com/gradle/actions) | `4` | `6` | | [actions/download-artifact](https://github.com/actions/download-artifact) | `5` | `8` | | [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) | `1.13.0` | `1.14.0` | Updates `actions/checkout` from 4 to 6 - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v4...v6) Updates `actions/upload-artifact` from 4 to 7 - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](actions/upload-artifact@v4...v7) Updates `docker/setup-buildx-action` from 3 to 4 - [Release notes](https://github.com/docker/setup-buildx-action/releases) - [Commits](docker/setup-buildx-action@v3...v4) Updates `actions/setup-python` from 5 to 6 - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](actions/setup-python@v5...v6) Updates `actions/setup-java` from 4 to 5 - [Release notes](https://github.com/actions/setup-java/releases) - [Commits](actions/setup-java@v4...v5) Updates `gradle/actions` from 4 to 6 - [Release notes](https://github.com/gradle/actions/releases) - [Commits](gradle/actions@v4...v6) Updates `actions/download-artifact` from 5 to 8 - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](actions/download-artifact@v5...v8) Updates `pypa/gh-action-pypi-publish` from 1.13.0 to 1.14.0 - [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases) - [Commits](pypa/gh-action-pypi-publish@v1.13.0...v1.14.0) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/upload-artifact dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: docker/setup-buildx-action dependency-version: '4' dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/setup-python dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/setup-java dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: gradle/actions dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/download-artifact dependency-version: '8' dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: pypa/gh-action-pypi-publish dependency-version: 1.14.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions ... Signed-off-by: dependabot[bot] <support@github.com>
…ctions-a3924b47ca Bump the github-actions group with 8 updates
Added msgspec recipe
setuptools was added to setup.py install_reqs in #3007 (May 2024), so it now appears as a direct (non-recursive) dependency. The assertion at test_pythonpackage.py:46 ("setuptools not in deps_nonrecursive") has been wrong since then but went unnoticed because the file is skipped in CI (`make test` uses `--ignore tests/test_pythonpackage.py`). The remaining `include_build_requirements=True` assertion still exercises the build-deps code path. Note this test is skipped by the CI but was ran manually upon during pre-release checks. This can be reproduced via: ``` pytest tests/test_pythonpackage.py::test_get_package_dependencies ``` The error was: ```` > assert "setuptools" not in deps_nonrecursive E AssertionError: assert 'setuptools' not in {'appdirs', 'build', 'colorama>=0.3.3', 'jinja2', 'meson', 'ninja', ...} ```
The msgspec recipe added in #3316 uses PEP 585 generic syntax (dict[str, Any]) in function signatures. Python 3.8 raises "TypeError: 'type' object is not subscriptable" at import time because dict only became subscriptable at runtime in Python 3.9. Adding `from __future__ import annotations` defers annotation evaluation to strings (PEP 563), restoring 3.8 compatibility. This release still officially supports Python 3.8 / 3.9.
Fix numpy compilation when Python != 3.14
🐛 Fix msgspec recipe import on Python 3.8/3.9
…-setuptools ✅ tests: drop stale setuptools assertion
- Bump __version__ to 2026.05.09 and regenerate CHANGELOG.md. - Add Python 3.12 / 3.13 / 3.14 classifiers in setup.py to match the CI test matrix. Last release with 3.8 / 3.9 classifiers. - Replace the stale .travis.yml link in CONTRIBUTING.md with the actual release workflow at .github/workflows/pypi-release.yml.
e22dc5a to
0d1977c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release checklist
tox: this performs some long-running tests that are skipped on github-actions.armeabi-v7aandarm64-v8a:armeabi-v7a(cd testapps/on_device_unit_tests && PYTHONPATH=.:../../ python3 setup.py apk --ndk-dir=<your-ndk-dir> --sdk-dir=<your-sdk-dir> --arch=armeabi-v7a --debug)arm64-v8a(cd testapps/on_device_unit_tests && PYTHONPATH=.:../../ python3 setup.py apk --ndk-dir=<your-ndk-dir> --sdk-dir=<your-sdk-dir> --arch=arm64-v8a --debug)