Skip to content

feat: update Qt-Advanced-Docking-System to 5.1.1, drop py3.9, test on 3.14/3.15 - #25

Merged
tlambert03 merged 3 commits into
pyapp-kit:mainfrom
tlambert03:update-ads-5.1.1
Sep 21, 2026
Merged

tlambert03 merged 3 commits into
pyapp-kit:mainfrom
tlambert03:update-ads-5.1.1

Conversation

@tlambert03

@tlambert03 tlambert03 commented Sep 21, 2026 •

Copy link
Copy Markdown
Member

Closes #24

Qt-Advanced-Docking-System 5.1.1

  • Update submodule to the upstream v5.1.1 tag
  • Upstream ads_globals.h now #includes ads_version.h, which is generated by CMake (and src.pro was removed). project.py now generates it from cmake/modules/ads_version.h.in into the sip build dir, using the version in the top-level CMakeLists.txt.
  • Bind the new CAutoHideSideBar.wheelEvent override (the only public header API change between 5.0.0 and 5.1.1), with a test
  • Add %MinimumABIVersion "13": sip >= 6.16 errors without it (ABI v13 is being targeted but the PyQt6Ads._ads module doesn't support it). CI wasn't hitting this because the cp39 build env resolved sip 6.14 (sip >= 6.15 requires Python >= 3.10), but local builds on newer Python were broken. The directive is supported by sip 6.10+, and the targeted ABI is unchanged (pyqtbuild still picks 13.8).
  • Bump version to 5.1.1

Python support

  • Drop Python 3.9 (requires-python >= 3.10, ruff target py310)
  • Build the abi3 wheel on cp310 and test it on cp310, cp314 and cp315 (cibuildwheel reuses the abi3 wheel and runs the tests on each version)
  • Upgrade cibuildwheel from v2.22 to v4.2 (needed for 3.14/3.15). v4 also runs abi3audit --strict on abi3 wheels by default, and our wheels pass it.
  • Set repair-wheel-command = "" on Windows: cibuildwheel 4 made delvewheel the default there, which tries to bundle the Qt DLLs (Unable to find library: qt6widgets.dll). Qt comes from PyQt6-Qt6, so we keep the previous no-repair behavior.
  • Add Python version classifiers (3.10–3.15)
  • Fix a pytest deprecation warning (passing a generator to parametrize)

Testing

  • CI: all 15 tests pass on 3.10, 3.14 and 3.15 on Linux, Windows, macOS arm64 and macOS Intel
  • Locally (macOS arm64, Qt 6.5.3, sip 6.16.1): the wheel builds and all tests pass on 3.13, 3.14 and 3.15

🤖 Generated with Claude Code

tlambert03 and others added 2 commits September 21, 2026 13:43
Closes pyapp-kit#24

- Update submodule to the v5.1.1 tag
- Generate `ads_version.h` (now included by `ads_globals.h`, produced by
  CMake upstream) from `cmake/modules/ads_version.h.in` at build time
- Bind the new `CAutoHideSideBar.wheelEvent` override
- Declare `%MinimumABIVersion "13"`, required by sip >= 6.16 (used when
  building on Python >= 3.10)
- Add a test for the new binding

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- Require Python >= 3.10; build the abi3 wheel on cp310
- Test the abi3 wheel on cp314 and cp315 via cibuildwheel
- Upgrade cibuildwheel from v2.22 to v4.2 (needed for 3.14/3.15)
- Add Python version classifiers
- Fix pytest deprecation of passing a generator to parametrize

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@tlambert03 tlambert03 changed the title feat: update Qt-Advanced-Docking-System to 5.1.1 feat: update Qt-Advanced-Docking-System to 5.1.1, drop py3.9, test on 3.14/3.15 Sep 21, 2026
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@tlambert03
tlambert03 merged commit d4ff62d into pyapp-kit:main Sep 21, 2026
7 checks passed
@tlambert03
tlambert03 deleted the update-ads-5.1.1 branch September 21, 2026 13:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

QtAds 5.1.1 has released

1 participant