You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This issue serves as a checklist for the release event.
Secure the CI is green on git main
Check that dependencies ranges are ok, upgrade if needed (especially wombat.js in openzim.toml)
Ensure there is no new release on wabac.js and more specifically a change in fuzzymatcher.ts which has to be backported in rules/rules.yaml or a change in jsrewriter.ts which has to be backported in src/zimscraperlib/rewriting/js.py
Adjust version in src/zimscraperlib/__about__.py to x.x.x and in javascript/package.json to x.x.x
Update Github milestone to match the issues that will be released
Close Github milestone
Update the Changelog so that it is in line with the content of Github milestone
Push a tag on Github named vx.x.x
Create a Github release, pointing to the tag, with the Changelog of this release
Publish the Github release (this will trigger the CI, if the CI fails and you have to push a minor fix which does not justify to create a new version, you will have to delete the release and re-create it from scratch)
Adjust version to 5.5.0: __about__.py and javascript/package.json set to 5.5.0 (hatch version and package.json both print 5.5.0); not committed yet, part of the release commit
Push a tag on Github named v5.5.0: signed commit e0f9c24 "Release 5.5.0" (CHANGELOG, __about__.py, package.json), lightweight tag v5.5.0 pushed alone (main not pushed yet)
Create a Github release: draft release 5.5.0 created on existing tag v5.5.0 (e0f9c24), body identical to the [5.5.0] changelog section
Publish the Github release: 5.5.0 published at 2026-10-29T10:06:22Z, Build and publish to PyPI succeeded (generate-rules, build-js, publish-python)
Check Github release is Latest: releases/latest → v5.5.0 (not draft, not prerelease)
Check version is published on Pypi: zimscraperlib 5.5.0 is latest, wheel + sdist uploaded; wheel contains rules.py (with lesbases rule), wombat.js and wombatSetup.js (header Version: 5.5.0)
Create a new Github milestone: no-op, 5.6.0 already exists
Create a new Github issue attached to this milestone: Release 5.6.0 #371Release 5.6.0 created in milestone 5.6.0, assigned to benoit74, type Task, checklist reset with two additions (update wabac.js sync markers in item 3, new "push to main" item before the Slack one)
Create new ## [Unreleased] section in Changelog: added above [5.5.0]; part of the dev-bump commit
Adjust version to 5.5.1-dev0: signed commit 69713b3 "Prepare for 5.5.1" (__about__.py, package.json, Unreleased changelog section); hatch version and package.json print 5.5.1-dev0; not pushed yet
Push release and dev-bump commits to main (gate added, not in this checklist): fast-forward acce16f..69713b3 pushed (admin bypass of the PR rule); origin/main = 69713b3
Activity
benoit74 commentedon Oct 29, 2026
Release log
Secure the CI is green on git
main: all push workflows on2ff8d1egreen: QA, Tests, Publish dev wombat-setupCheck that dependencies ranges are ok (wombat.js): wombat pinned 3.11.0 = latest; all 43 Python requirements accept latest PyPI release; JS deps latest except rollup 4.65.1 (4.66.0 held by 24h age gate, minor leftover); deps upgraded in Upgrade Python, Node.JS and GitHub Actions dependencies #366 and Refresh JS lockfile to upgrade transitive dependencies #369; only open alert is deepmerge (low, no fix available)
Ensure there is no new release on wabac.js (fuzzymatcher.ts / jsrewriter.ts): wabac.js 2.27.0 → 2.27.4 released since last sync;
fuzzymatcher.tsunchanged;jsrewriter.tschanged by hoist top-level declared functions: webrecorder/wabac.js#380 (hoist top-level functions, classes aslet), backported in Hoist top-level function declarations out of the wombat block #370; sync markers injs.pyandrules/rules.yamlmoved to wabac.js 2.27.4 (f62b924)Secure the CI is green on git
main(re-check after Hoist top-level function declarations out of the wombat block #370): all push workflows onacce16fgreen: QA, Tests, Publish dev wombat-setupAdjust version to
5.5.0:__about__.pyandjavascript/package.jsonset to5.5.0(hatch versionandpackage.jsonboth print5.5.0); not committed yet, part of the release commitUpdate Github milestone: added issues save_large_file downloads are not robust to transient HTTP/host errors #348, URL normalisation: URL-encoded
#makes its way into the path, but is lost when obtaining the URI of that entry #341 and PRs Refresh JS lockfile to upgrade transitive dependencies #369, Add get_pdf_title/get_epub_title, cheaper than get_*_index_data #359, Record the original for every rewritten URL attribute #338, Keep a rewritten <script>'s original src for wombat #337 (no matching issue in this repo) to 5.5.0; milestone now holds 12 closed issues, 7 merged PRs and this open release issueClose Github milestone: 5.5.0 closed (19 closed items, only this release issue open)
Update the Changelog:
[Unreleased]→[5.5.0] - 2026-10-29; added PR refs Add get_pdf_title/get_epub_title, cheaper than get_*_index_data #359, Upgrade Python, Node.JS and GitHub Actions dependencies #366, Refresh JS lockfile to upgrade transitive dependencies #369, Hoist top-level function declarations out of the wombat block #370, Keep a rewritten <script>'s original src for wombat #337, Do not silently discard errors raised while finishing a ZIM #354 to entries without an in-repo issue; all 19 milestone items referenced, no reference outside the milestone (save_large_file downloads are not robust to transient HTTP/host errors #348 and Record the original for every rewritten URL attribute #338 intentionally have one entry in two categories each); not committed yet, part of the release commitPush a tag on Github named
v5.5.0: signed commite0f9c24"Release 5.5.0" (CHANGELOG,__about__.py,package.json), lightweight tagv5.5.0pushed alone (mainnot pushed yet)Create a Github release: draft release
5.5.0created on existing tagv5.5.0(e0f9c24), body identical to the[5.5.0]changelog sectionPublish the Github release: 5.5.0 published at 2026-10-29T10:06:22Z, Build and publish to PyPI succeeded (generate-rules, build-js, publish-python)
Check Github release is Latest:
releases/latest→v5.5.0(not draft, not prerelease)Check version is published on Pypi: zimscraperlib 5.5.0 is latest, wheel + sdist uploaded; wheel contains
rules.py(with lesbases rule),wombat.jsandwombatSetup.js(headerVersion: 5.5.0)Create a new Github milestone: no-op, 5.6.0 already exists
Create a new Github issue attached to this milestone: Release 5.6.0 #371
Release 5.6.0created in milestone 5.6.0, assigned to benoit74, type Task, checklist reset with two additions (update wabac.js sync markers in item 3, new "push tomain" item before the Slack one)Create new
## [Unreleased]section in Changelog: added above[5.5.0]; part of the dev-bump commitAdjust version to
5.5.1-dev0: signed commit69713b3"Prepare for 5.5.1" (__about__.py,package.json, Unreleased changelog section);hatch versionandpackage.jsonprint5.5.1-dev0; not pushed yetPush release and dev-bump commits to
main(gate added, not in this checklist): fast-forwardacce16f..69713b3pushed (admin bypass of the PR rule);origin/main=69713b3CI after push to
main: all push workflows on69713b3green: QA, Tests, Publish dev wombat-setupInform #scrapers channel on Slack: done by user
Release 5.5.0 done: GitHub release, PyPI; next: milestone 5.6.0, #371