-
1.7.3
StableAll checks were successful/ pr-review (push) Has been skipped/ pr-review (release) Has been skipped/ gitleaks (push) Successful in 24s/ gitleaks (release) Successful in 18s/ checks (push) Successful in 2m25s/ publish (push) Has been skipped/ checks (release) Successful in 2m19s/ deploy-docs (release) Has been skipped/ publish (release) Successful in 26s/ deploy-docs (push) Successful in 1m15sreleased this
2026-08-07 03:11:54 +00:00 | 0 commits to main since this release[1.7.3] - 2026-08-07
- Moved the project repository from Codeberg to our own Forgejo instance at forge.marvin8.zone, seeking a home that welcomes AI-assisted development.
Commits
- 🔀 Merge branch 'feat/issue-35-migrate-to-forge'
6396c20 - 🔧 normalize constraint-dependencies comment style
ea3edfa - 📝 update release notes
1376a8a - 📝 add forge migration note to Release-Notes.md
ec291d6 - 🔒 fix h2 and pymdown-extensions vulnerabilities
b75d476 - ⬆️ bump dependencies
e74590a - 🚚 migrate remotes and source refs to forge.marvin8.zone
ca1044c
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
1.7.2 Stable
released this
2026-07-19 06:35:02 +00:00 | 9 commits to main since this release[1.7.2] - 2026-07-19
- Pinned a minimum version of click in uv constraint-dependencies to close a HIGH-severity transitive vulnerability (PYSEC-2026-2132).
Commits
- 🔧 bump uv_build floor to 0.11
a1c208c - 🔧 use pytest-httpx2 in beta pytest session
337f32c - 🔧 raise ruff target-version to py311; apply UP017 and import-sort fixes
d4d5580 - 🔧 config hygiene: ruff-check hook id, gitleaks default config, editorconfig newline fix
4ad2308 - 🔧 add Release-Notes.md.template and fediverse justfile recipes
2170fd3 - 📝 consolidate agent instructions into AGENTS.md with CLAUDE.md symlink
4b10356 - 📝 replace Woodpecker CI badge with Forgejo Actions, drop CodeLimit badge, point docs links at zaojun.marvin8.zone
023e85c - 👷 move CI to zhuiri runner, setup-uv action, checksum-verified gitleaks
20a261c - 🔧 pin click floor; bump deps and align pre-commit revs
53307bb
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
1.7.1 Stable
released this
2026-07-07 03:23:15 +00:00 | 20 commits to main since this release[1.7.1] - 2026-07-07
- CI migrated from Woodpecker to Forgejo Actions; WuMing AI review broadened to six agents.
- Documentation is now at zaojun.marvin8.zone — old Codeberg Pages links redirect automatically.
- Release changelogs are now sourced from Release-Notes.md bullets; git-cliff removed.
- Woodpecker CI pipelines removed.
Commits
- Merge branch 'feat/issue-31-forgejo-actions-migration'
7788c1e - 👷 consolidate ai-review and checks into ci.yml
6c3ac39 - 📝 clean up Release-Notes.md — remove stale 1.7.0 prose
fc178e7 - 🔧 remove validating release notes
21eeef9 - 👷 guard deploy-docs against non-semver workflow_dispatch
3abe565 - 👷 remove Woodpecker CI pipelines
3f4b788 - 🔧 remove git-cliff; generate changelog from Release-Notes.md
80d9b60 - 📝 add grebedoc docs hosting and client-side redirect
58d1f09 - 👷 migrate CI from Woodpecker to Forgejo Actions
979f7c5 - 🔧 bump deps; fix ty errors and complexipy violation
8f767b6
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
1.7.0 Stable
released this
2026-06-24 09:08:34 +00:00 | 32 commits to main since this release[1.7.0] - 2026-06-24
Documentation
- 📝 reset and update Release-Notes for aged-version-fallback commits
- 📝 update Release-Notes for pre-release filtering
- 📝 document aged-version fallback and pre-release filtering
- 📝 update Release-Notes for init module split
Features
- ✨ add _spec_lower_bound helper
- ✨ surface aged update candidate when latest is quarantined
- ✨ show aged update candidate in text and json output
- ✨ filter pre-release versions unless spec pins to a pre-release
Refactoring
- ♻️ replace get_latest_pypi_version 4-tuple with PyPIPackageData
- ♻️ Moved publishing of release notes from CI to a just recipe
- ♻️ extract models.py
- ♻️ extract pypi.py
- ♻️ extract version.py
- ♻️ extract vulns.py
- ♻️ extract render.py
- ♻️ extract checker.py, thin init to CLI only
- ♻️ convert relative imports to absolute
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
1.6.1 Stable
released this
2026-06-21 04:35:04 +00:00 | 57 commits to main since this release[1.6.1] - 2026-06-21
Migrated from httpx to the actively maintained fork httpx2
Bug Fixes
- 🐛 address GHSA-4xgf-cpjx-pc3j and bump deps
Documentation
- 📝 update release notes for httpx2 migration
- 📝 update release notes: remove stale license blurb, add WuMing review note
Testing
- ✅ migrate tests from pytest-httpx to pytest-httpx2
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
1.6.0 Stable
released this
2026-06-07 06:25:42 +00:00 | 67 commits to main since this release[1.6.0] - 2026-06-07
Bug Fixes
- 🐛 parse SPDX OR/AND/WITH expressions in license compatibility check
- 🐛 fix installing zaojun from local dir, instead of from pypi.org
- 🐛 infer allowed dep set from compound project SPDX expressions
Documentation
- 📝 add license-checking docs page and update existing docs
- 📝 rewrite release notes with thematic narrative for license checking
- 📝 removed version number from first status
- 📝 document compound SPDX expressions for project and dep licenses
- 📝 link to SPDX license list in license-checking docs
Features
- ✨ add licenses module with SPDX extraction and tier inference
- ✨ add license config keys to config.py
- ✨ extract license from PyPI response and propagate to DependencyResult
- ✨ wire license compliance checking into dependency processing and CLI
- ✨ print detected project license and allowed set when using defaults
Testing
- ✅ add failing tests for license extraction and tier inference
- ✅ add failing tests for new license config keys
- ✅ add failing tests for license field in PyPI fetch and cache
- ✅ add failing tests for license violation detection and output
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
1.5.3 Stable
released this
2026-05-23 01:59:47 +00:00 | 90 commits to main since this release[1.5.3] - 2026-05-23
Documentation
- 🔧 address pysentry vulnerabilities: idna, pymdown-extensions, markdown
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
1.5.2 Stable
released this
2026-05-15 09:52:28 +00:00 | 96 commits to main since this release[1.5.2] - 2026-05-15
Bug Fixes
- 🐛 fix make docs
[1.5.1] - 2026-05-15
Bug Fixes
- 🐛 fix an error in the release config
[1.5.0] - 2026-05-15
CI
- 👷 move release-notes validate into checks pipeline; simplify fediverse pipeline
Documentation
- 📝 mark Advanced Version Analysis done in ROADMAP, remove from
- 📝 reformat IMPROVEMENTS.md and ROADMAP.md as yilan intent files
- 📝 update README Coming Next to New in v1.5.0
- 📝 update Release-Notes for v1.5.0 README change
- 📝 replace 'next' with version numbers in command-reference version history
Features
- ✨ add --index-url for private PyPI-compatible indexes
- ✨ add --flag-major / --major-ok for major-version bump
- ✨ add CVE/vulnerability scanning with vuln-ignore config
Performance
- ⚡ strip package_info from cache entries
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
1.4.0 Stable
released this
2026-04-26 01:55:13 +00:00 | 120 commits to main since this release[1.4.0] - 2026-04-26
CI
- 👷 add Fediverse release announcements via taibai
Features
- ✨ add [tool.zaojun] config file support for persistent CLI
- ✨ add --format json for structured output
Refactoring
- ♻️ inline PyPICache() constructor, remove get_default_cache()
- ♻️ remove dead is_expired method and its tests
- ♻️ warn when --cache-stats has no effect due to --short
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
1.3.0 Stable
released this
2026-04-21 23:30:40 +00:00 | 130 commits to main since this release[1.3.0] - 2026-04-21
Features
- Add --library mode for library constraint hygiene
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads