From baa873e9c99670c9348042ed6124914b303f599f Mon Sep 17 00:00:00 2001 From: Pratyush Sharma <56130065+pratyush618@users.noreply.github.com> Date: Thu, 11 Jun 2026 10:04:19 +0530 Subject: [PATCH 1/2] chore(release): bump to 0.16.1 --- docs/content/docs/more/changelog.mdx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/content/docs/more/changelog.mdx b/docs/content/docs/more/changelog.mdx index dbae9878..24e4ff45 100644 --- a/docs/content/docs/more/changelog.mdx +++ b/docs/content/docs/more/changelog.mdx @@ -14,8 +14,10 @@ Patch release: publish workflow hardening. - **PyPI publish pre-check.** Publish job now queries PyPI before uploading, compares SHA-256 hashes per artifact, and skips upload when all wheels are already present. Prevents `400 File already exists` on workflow reruns. -- **PEP 639 compatibility.** Dropped `twine check --strict` which rejected the - `License-File` metadata emitted by maturin 1.13.3. Pinned `twine>=6.1`. +- **PEP 639 compatibility.** Replaced `twine check` with `check-wheel-contents` + for wheel validation. `twine check` broke on PEP 639 `License-File` metadata + emitted by maturin 1.13.3 (`packaging` library incompatibility). Structural + validation via `check-wheel-contents`; PyPI validates metadata on upload. - **Timeout guards.** Added `timeout=30` on PyPI API calls and `--connect-timeout 10 --max-time 30` on verification curl. - **Dashboard artifact download retry.** Extracted dashboard download into a From 336feabdb508b1b7d0a2871da4e13491d738c7c3 Mon Sep 17 00:00:00 2001 From: Pratyush Sharma <56130065+pratyush618@users.noreply.github.com> Date: Thu, 11 Jun 2026 11:15:01 +0530 Subject: [PATCH 2/2] fix(ci): replace twine check with check-wheel-contents twine check breaks on PEP 639 License-File metadata across multiple versions (6.1 needs packaging>=24.2, 6.2 regressed). check-wheel-contents validates wheel structure without parsing METADATA. PyPI validates metadata on upload. --- .github/workflows/publish.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 7e6445fb..761e9279 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -223,11 +223,11 @@ jobs: - name: Validate wheels run: | - pip install "twine>=6.1,<6.2" + pip install check-wheel-contents for whl in dist/*.whl; do unzip -qt "$whl" done - twine check dist/* + check-wheel-contents dist/*.whl - name: Check PyPI for existing version id: pypi-check