-
fenliu-3.0.1
StableAll checks were successfulreleased this
2026-09-08 08:19:32 +00:00 | 0 commits to main since this release[3.0.1] - 2026-09-08
- Fixed: AI vision now follows
media_proxyredirects, so posts with proxy-served attachments get classified instead of remaining pending. - Improved: AI replies that arrive empty or unparseable now leave the post pending with a clear log line and key response diagnostics instead of a
JSONDecodeErrortraceback. - Fixed: warnings and errors that carry an exception (a failed model API call, for example) now include the full traceback in the console log, instead of dropping it.
Commits
- 🔀 Merge branch 'fix/issue-106-handle-empty-ai-content'
ad0e9ed - 📝 (fenliu) precise release-note wording per review
118e1a6 - 🐛 (fenliu) keep exception tracebacks in the console log
eca12f1 - 📝 (fenliu) fix tense in empty-content release note
765733a - ✅ (fenliu) force logger level in diagnostics log-capture tests
152b710 - 🚨 (fenliu) harden malformed AI reply envelope handling
5ae0a76 - ✅ (fenliu) assert reasoning_content=present in diagnostics test
c64524c - 🚨 (fenliu) bound and repr-escape model reply diagnostics
6e62dc2 - ♻️ (fenliu) split classify_posts per stage to satisfy complexity limit
fdc7f70 - 🐛 (fenliu) leave post pending and log diagnostics when AI returns empty content
1a3c9a5 - 🔀 Merge branch 'fix/issue-105-follow-media-proxy-redirects'
4f96511 - 🐛 (fenliu) stop alembic fileConfig disabling existing loggers
ea42a15 - 📝 (fenliu) say the image type is inferred from the file extension
30fa687 - 📝 (fenliu) backtick image/jpeg and smooth release-note sentence
f25f2b3 - 📝 (fenliu) polish release-note wording and tighten redirect-test patch
5af9684 - 🔧 re-run CI: transient runner failures (pysentry segfault, known flaky test)
49634a1 - ⬆️ bump deps and pre-commit hooks, fix deprecated asyncio call
f10eac6 - 🐛 (fenliu) follow redirects when downloading media_proxy images
789dffa - 🔧 bump: version 2026.8.15 → 2026.8.30
df714c4 - docs(zhongli): update changelog for 2026.8.30
e6f9026 - ⬆️ bump deps and auto reformat by ruff
0959514
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Fixed: AI vision now follows
-
zhongli-2026.8.30
StableAll checks were successfulreleased this
2026-08-29 22:56:39 +00:00 | 20 commits to main since this release[2026.8.30] - 2026-08-30
Commits
- ⬆️ bump deps and auto reformat by ruff
0959514 - 🔧 bump: version 2.0.0 → 3.0.0
2cfe0c0 - docs(fenliu): update changelog for 3.0.0
a3e333d - 🔀 Merge branch 'feat/issue-100-generic-ai-classification'
53415d0 - 💄 show the text stage reason on AI reject badges
45eb47a - 📝 retitle fetch pipeline section, de-cat vision_category docs
bbfcbce - 🔒 instruct vision model to treat the image as untrusted data
9ff581f - 🔀 Merge branch 'feat/issue-100-badge-and-docs' into feat/issue-100-generic-ai-classification
513be5c - 📝 remove stale nightly AI batch docs, document inline classification
6a21023 - 💄 neutral AI badge fallback and docs sweep
40831d0 - 🔀 Merge branch 'feat/issue-100-rename-ai-verdict-columns' into feat/issue-100-generic-ai-classification
7ea648e - ✅ verify data survives the downgrade rename
d61db4c - 📝 clarify release-note wording for topic-specific flags
a0b7697 - ♻️ rename AI verdict columns to neutral semantics
229607a - 🔀 Merge branch 'feat/issue-100-ai-prompts' into feat/issue-100-generic-ai-classification
71d3bd6 - 🔒 fail vision verdict closed on non-boolean is_accepted
14490bf - 🔒 harden text classifier against prompt injection
8715284 - 📝 align release-note wording with the prompts terminology
0d99458 - ✅ call-site tests for AI prompt loading
491212f - ✅ reset settings cache in test teardown via try/finally
56b1a3f - ⬆️ bumped deps
44b1930 - 💄 AI prompt textareas on the settings page
be0c3e0 - ✨ read AI prompts from app settings per fetch batch
af2aa4c - ✅ exercise the empty-value fallback branch in get_str_setting tests
f0e31cd - ✨ add get_str_setting to the settings cache
e9c5fcb - ♻️ rename classifiers to neutral flag/accept semantics
746f9ed - ✨ add prompt assembly with pinned JSON output contracts
7b40f6c
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- ⬆️ bump deps and auto reformat by ruff
-
fenliu-3.0.0
StableAll checks were successfulreleased this
2026-08-22 21:52:25 +00:00 | 23 commits to main since this release[3.0.0] - 2026-08-23
- The AI verdict fields in the posts API are now
text_flaggedandvision_accepted(wastext_is_promotional/vision_is_real_cat) — topic-neutral names matching the configurable prompts. - The AI classification prompts are now editable on the settings page, so one Fenliu instance can curate any topic — not just cats.
- The AI reject badge now shows the actual reason when the text stage rejected a post (it previously just said "promotional"), and the vision category (e.g. comic) for vision-stage rejects.
Commits
- 🔀 Merge branch 'feat/issue-100-generic-ai-classification'
53415d0 - 💄 show the text stage reason on AI reject badges
45eb47a - 📝 retitle fetch pipeline section, de-cat vision_category docs
bbfcbce - 🔒 instruct vision model to treat the image as untrusted data
9ff581f - 🔀 Merge branch 'feat/issue-100-badge-and-docs' into feat/issue-100-generic-ai-classification
513be5c - 📝 remove stale nightly AI batch docs, document inline classification
6a21023 - 💄 neutral AI badge fallback and docs sweep
40831d0 - 🔀 Merge branch 'feat/issue-100-rename-ai-verdict-columns' into feat/issue-100-generic-ai-classification
7ea648e - ✅ verify data survives the downgrade rename
d61db4c - 📝 clarify release-note wording for topic-specific flags
a0b7697 - ♻️ rename AI verdict columns to neutral semantics
229607a - 🔀 Merge branch 'feat/issue-100-ai-prompts' into feat/issue-100-generic-ai-classification
71d3bd6 - 🔒 fail vision verdict closed on non-boolean is_accepted
14490bf - 🔒 harden text classifier against prompt injection
8715284 - 📝 align release-note wording with the prompts terminology
0d99458 - ✅ call-site tests for AI prompt loading
491212f - ✅ reset settings cache in test teardown via try/finally
56b1a3f - ⬆️ bumped deps
44b1930 - 💄 AI prompt textareas on the settings page
be0c3e0 - ✨ read AI prompts from app settings per fetch batch
af2aa4c - ✅ exercise the empty-value fallback branch in get_str_setting tests
f0e31cd - ✨ add get_str_setting to the settings cache
e9c5fcb - ♻️ rename classifiers to neutral flag/accept semantics
746f9ed - ✨ add prompt assembly with pinned JSON output contracts
7b40f6c - 🔧 bump: version 2026.8.4 → 2026.8.15
1798c56 - docs(zhongli): update changelog for 2026.8.15
c8fb293 - 📝 update fenliu .env.example
de98c9e
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- The AI verdict fields in the posts API are now
-
zhongli-2026.8.15
StableAll checks were successfulreleased this
2026-08-15 00:40:21 +00:00 | 49 commits to main since this release[2026.8.15] - 2026-08-15
Commits
- 📝 update fenliu .env.example
de98c9e - 🔧 bump: version 1.3.5 → 2.0.0
b965777 - docs(fenliu): update changelog for 2.0.0
87c2f11 - ⬆️ bump deps
98a09ba - 🔀 Merge branch 'feat/issue-80-collect'
645b52d - 🔀 Merge branch 'feat/issue-97-sqlite-locking' into feat/issue-80-collect
8128841 - 🐛 fix SQLite 'database is locked' under concurrent fetches
5e125af - 🔀 Merge branch 'feat/issue-96-classify-manual-fetch' into feat/issue-80-collect
c592953 - ⬆️ bump deps
10485ef - ✨ classify posts on manual fetch paths too
f2a8e14 - 🔀 Merge branch 'feat/issue-94-wire-ai-auto-reject' into feat/issue-80-collect
dca551f - ✨ wire AI auto-reject into the fetch flow
723a3e0 - 📝 add prose follow-up posts to Release-Notes
eae71f6 - 🔀 Merge branch 'feat/issue-91-remove-stale-review-template' into feat/issue-80-collect
c0b1eaf - 🔥 remove stale review.html template
545f0e5 - 🔀 Merge branch 'feat/issue-85-auto-reject-reason' into feat/issue-80-collect
ac71032 - ♻️ rename reviewer_notes to auto_reject_reason and drop duplicate
8ab5cc8 - 🔀 Merge branch 'feat/issue-83-alembic-drift' into feat/issue-80-collect
08ede21 - 🐛 fix flaky tests: per-request ContextVar overrides replace patch() isolation
b22895b - ✅ add schema-reconciliation metadata test
801124a - 🗃️ reconcile models with DB and drop legacy api_key
d87c940 - 🔀 Merge branch 'feat/issue-87-review-filter-fixes' into feat/issue-80-collect
f2ef56a - 🐛 fix checkbox filter value parsing and dropdown width
a56bd67 - 🐛 fix AI review filters applying and tidy filter bar
f06605d - 🔀 Merge branch 'feat/issue-84-inline-vision' into feat/issue-80-collect
fe01986 - 🐛 set SECRET_KEY in AI tests to fix flaky app startup
0bf8f26 - ♻️ classify images inline instead of via batch API
46ae38a - 🔀 Merge branch 'feat/issue-80-remove-ml-add-vision-ai' into feat/issue-80-collect
17bc44c - 📝 track stale review.html cleanup in TODO
fd7669a - 📝 document AI classification and update release notes
c7cb138 - ✨ add AI badge and filters to review UI
5246c44 - ✨ wire AI classification into scheduler
80d22ca - ✨ add overnight batch vision processor
2b3b504 - 🗃️ add AI classification columns
02a2897 - ✨ add AI text and vision classifiers
c65e1a6 - ✨ add AI classification settings
fdcec0f - 🔥 remove XGBoost ML and spam scorer
31c716b - 🔧 point source references at forge.marvin8.zone
2d481d3 - 🔧 bump: version 1.3.4 → 1.3.5
20b21ec - docs(fenliu): update changelog for 1.3.5
71ff15f - 🔀 Merge branch 'fix/issue-78-page-size-dropdown'
c3cffbd - 🐛 Wrap page size select in form so change event reaches server
34c9619 - 🐛 Handle parse_qs list values in handle_set_page_size
3ab7ac5 - ✅ Also assert posts unchanged on invalid page size
46cea58 - ✅ Add tests for handle_set_page_size
02ea11e - 🐛 Add missing name attribute to page size select
c903545
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- 📝 update fenliu .env.example
-
fenliu-2.0.0
StableAll checks were successfulreleased this
2026-08-15 00:34:56 +00:00 | 52 commits to main since this release[2.0.0] - 2026-08-15
- Replaced the XGBoost ML model and spam scorer with an AI image and text classifier that flags non-cat images and promotional posts for review.
- Renamed the posts API
reviewer_notesfield toauto_reject_reason(it was only ever written by the auto-reject system, never by a human reviewer).
Commits
- ⬆️ bump deps
98a09ba - 🔀 Merge branch 'feat/issue-80-collect'
645b52d - 🔀 Merge branch 'feat/issue-97-sqlite-locking' into feat/issue-80-collect
8128841 - 🐛 fix SQLite 'database is locked' under concurrent fetches
5e125af - 🔀 Merge branch 'feat/issue-96-classify-manual-fetch' into feat/issue-80-collect
c592953 - ⬆️ bump deps
10485ef - ✨ classify posts on manual fetch paths too
f2a8e14 - 🔀 Merge branch 'feat/issue-94-wire-ai-auto-reject' into feat/issue-80-collect
dca551f - ✨ wire AI auto-reject into the fetch flow
723a3e0 - 📝 add prose follow-up posts to Release-Notes
eae71f6 - 🔀 Merge branch 'feat/issue-91-remove-stale-review-template' into feat/issue-80-collect
c0b1eaf - 🔥 remove stale review.html template
545f0e5 - 🔀 Merge branch 'feat/issue-85-auto-reject-reason' into feat/issue-80-collect
ac71032 - ♻️ rename reviewer_notes to auto_reject_reason and drop duplicate
8ab5cc8 - 🔀 Merge branch 'feat/issue-83-alembic-drift' into feat/issue-80-collect
08ede21 - 🐛 fix flaky tests: per-request ContextVar overrides replace patch() isolation
b22895b - ✅ add schema-reconciliation metadata test
801124a - 🗃️ reconcile models with DB and drop legacy api_key
d87c940 - 🔀 Merge branch 'feat/issue-87-review-filter-fixes' into feat/issue-80-collect
f2ef56a - 🐛 fix checkbox filter value parsing and dropdown width
a56bd67 - 🐛 fix AI review filters applying and tidy filter bar
f06605d - 🔀 Merge branch 'feat/issue-84-inline-vision' into feat/issue-80-collect
fe01986 - 🐛 set SECRET_KEY in AI tests to fix flaky app startup
0bf8f26 - ♻️ classify images inline instead of via batch API
46ae38a - 🔀 Merge branch 'feat/issue-80-remove-ml-add-vision-ai' into feat/issue-80-collect
17bc44c - 📝 track stale review.html cleanup in TODO
fd7669a - 📝 document AI classification and update release notes
c7cb138 - ✨ add AI badge and filters to review UI
5246c44 - ✨ wire AI classification into scheduler
80d22ca - ✨ add overnight batch vision processor
2b3b504 - 🗃️ add AI classification columns
02a2897 - ✨ add AI text and vision classifiers
c65e1a6 - ✨ add AI classification settings
fdcec0f - 🔥 remove XGBoost ML and spam scorer
31c716b - 🔧 point source references at forge.marvin8.zone
2d481d3
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
fenliu-1.3.5
StableAll checks were successfulreleased this
2026-08-04 06:24:18 +00:00 | 89 commits to main since this release[1.3.5] - 2026-08-04
- Fixed: page size dropdown on the review page now correctly reloads with the selected number of posts.
Commits
- 🔀 Merge branch 'fix/issue-78-page-size-dropdown'
c3cffbd - 🐛 Wrap page size select in form so change event reaches server
34c9619 - 🐛 Handle parse_qs list values in handle_set_page_size
3ab7ac5 - ✅ Also assert posts unchanged on invalid page size
46cea58 - ✅ Add tests for handle_set_page_size
02ea11e - 🐛 Add missing name attribute to page size select
c903545 - 🔧 bump: version 2026.7.20 → 2026.8.4
3944ce9 - docs(zhongli): update changelog for 2026.8.4
388ce2d
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
zhongli-2026.8.4
StableAll checks were successfulreleased this
2026-08-03 20:56:19 +00:00 | 97 commits to main since this release[2026.8.4] - 2026-08-04
- Migrated repo to https://forge.marvin8.zone
Commits
- 🔧 bump: version 1.3.3 → 1.3.4
6476c6a - docs(fenliu): update changelog for 1.3.4
55db5df - 🔧 bump deps
eb1b8f8 - docs(fenliu): update changelog for 1.3.4
d39f582 - 🔀 Merge branch 'migrate/codeberg-to-forge-marvin8-zone'
b08c433 - 👷 Trigger CI re-run (zaojun segfault)
068d097 - 🐛 Fix docs links per review feedback
7273cbf - ⬆️ Bump dependencies
f18adda - 👷 Trigger CI re-run (transient Codeberg 504)
8d649c8 - 🚨 Fix ruff PLR0913/PLR0917 noqa directives for ruff v0.16.1
2011498 - 🚚 Update Codeberg references to forge.marvin8.zone
3c2b88f - 🔧 Switch weekly CI runner from codeberg-small-lazy to suanni
c4c7ef8 - 📝 reset Release-Notes.md for next release
440dff2 - 📝 reset Release-Notes.md for next release
f48cd95
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
1 download
-
fenliu-1.3.4
StableAll checks were successfulreleased this
2026-08-03 20:53:55 +00:00 | 99 commits to main since this release[1.3.4] - 2026-08-04
- Migrated repo to https://forge.marvin8.zone
Commits
- 🔧 bump deps
eb1b8f8 - 🔀 Merge branch 'migrate/codeberg-to-forge-marvin8-zone'
b08c433 - 👷 Trigger CI re-run (zaojun segfault)
068d097 - 🐛 Fix docs links per review feedback
7273cbf - ⬆️ Bump dependencies
f18adda - 👷 Trigger CI re-run (transient Codeberg 504)
8d649c8 - 🚨 Fix ruff PLR0913/PLR0917 noqa directives for ruff v0.16.1
2011498 - 🚚 Update Codeberg references to forge.marvin8.zone
3c2b88f - 🔧 Switch weekly CI runner from codeberg-small-lazy to suanni
c4c7ef8 - 📝 reset Release-Notes.md for next release
440dff2 - 📝 reset Release-Notes.md for next release
f48cd95 - 🔧 bump: version 2026.6.30 → 2026.7.20
bd45689 - docs(zhongli): update changelog for 2026.7.20
037af35 - 🏷️ add OCI manifest annotations to container builds
435537d
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
zhongli-2026.7.20 Stable
released this
2026-07-20 07:31:23 +00:00 | 113 commits to main since this release[2026.7.20] - 2026-07-20
- Container images now published to
registry.marvin8.zone/marvin8/zhonglion each release
Commits
- 🏷️ add OCI manifest annotations to container builds
435537d - 🔧 bump: version 1.3.2 → 1.3.3
2e3c394 - docs(fenliu): update changelog for 1.3.3
678077d - 🔀 Merge branch 'feat/container-publish-and-modernization'
5fe0731 - 📝 note container publishing in Release-Notes
29dab0f - 🚚 publish-container: switch to registry.marvin8.zone; add OCI build-args
9039389 - 🏷️ add OCI labels to fenliu and zhongli Containerfiles
f6dbaa3 - 👷 weekly-checks: use setup-uv action; remove ai-review.yml (merged into per-package CI)
75664c4 - 👷 zhongli CI: add pr-review, publish-container; release triggers; checksum-verified gitleaks
a6338c4 - 👷 fenliu CI: add pr-review, publish-container; release triggers; checksum-verified gitleaks
f56a1c2 - ⬆️ bump deps: ruff 0.15.22, ty 0.0.61, uv 0.11.29
fd3d7c9 - 🔧 add ruff-format, ruff-check, complexipy pre-commit hooks; align revs
61ad545 - ♻️ apply ruff autofixes: py312 upgrades, format both packages
d8ea83e - 🔧 align ruff.toml: TID252, py312 target, consistent ignores; enable zhongli format check
e42b6cd - 🎉 add AGENTS.md at all levels, LICENSE.md, .editorconfig; symlink CLAUDE.md
deccae9 - 🔀 Merge branch 'feat/issue-69-forgejo-actions-release-notes'
b29eeff - 📝 recombine Security-Audit detail into main file, comply with Yilan format
1fb5109 - 📝 remove spurious trailing em dash from Release-Notes version line
f98f575 - 🔧 fix: delete duplicate fenliu-docs.yml, correct grebedoc URL, update CLAUDE.md CI path
abf6674 - 📝 update CLAUDE.md files and RELEASE-COMMANDS.md for new CI and release workflow
65799a2 - 🔥 remove Woodpecker CI, cliff.toml, and git-cliff dependency
906b5f1 - 👷 add ai-review and weekly-checks Forgejo Actions workflows
28512f7 - 👷 add zhongli Forgejo Actions CI
2e3c7e8 - 👷 add fenliu Forgejo Actions CI
611dec0 - 🔧 refactor zhongli justfile: drop git-cliff, add fediverse recipes
71b1446 - 🔧 refactor fenliu justfile: drop git-cliff, add fediverse recipes
5c9b5b4 - 📝 add Release-Notes templates and bumpversion config
cb67b5f - ⬆️ bump deps
a4b8d10 - 📝 add ai-declaration.md
1b4ce73 - 🔧 bump: version 1.3.1 → 1.3.2
8cf7249 - docs(fenliu): update changelog for 1.3.2
1f21ff8 - 🔧 correct docs site url
90d7268 - 🔧 bump: version 1.3.0 → 1.3.1
b8df681 - docs(fenliu): update changelog for 1.3.1
ea8fc3c - Merge branch 'feat/issue-66-ml-integrity-and-docs-publish'
51f1958 - 📝 fix chmod 750 phrasing and mkdocs repo_url
54c3424 - 📝 fix ML model security docs: remove incorrect read-only volume advice
e97a04f - 📝 update fenliu mkdocs site_url to fenliu.marvin.zone
b4e2c29 - 👷 add Forgejo Action to publish fenliu docs to grebedoc
daf0da5 - 📝 document ML model volume security in container deployment
aa07882 - 🔒 add SHA-256 manifest to ML artifact save/load
82c73fe - ✅ add artifact integrity verification tests
ac79dcc - 🔧 bump: version 1.2.0 → 1.3.0
ecee33d - 🔧 bump version
3391aa0 - 🔧 bump: version 1.1.2 → 1.2.0
9597f2e - docs(fenliu): update changelog for 1.2.0
e9f8254 - Merge branch 'feat/phase-c-ml-integration'
fc6f420 - 📝 tick off completed Phase C checklist items
d09901a - 🔧 exclude any fenliu*db files from git
0199026 - ✅ fix liveview tests for ml_confidence_preset and dynamic default sort
8e9f234 - ✨ replace ML confidence range inputs with Likely Approve/Unsure/Likely Reject preset
eaee4d1 - ✨ add per-page selector to review queue (20 / 50 / 100)
f6a0456 - 🔧 revert postsTable id and remove dead CSS rules
9da9f31 - 🔧 add missing id=postsTable to activate dead CSS rules
e6f887d - 🔧 restore top-align on ml and engagement cells via td-scoped selectors
44c3680 - 🔧 fix ml header alignment, narrow and center engagement column
24f4e10 - 🔧 top-align ml-cell, stack engagement icons vertically
899ac7e - 📝 add ML confidence docs and update integration guide
e596d1c - 🔧 fix retraining job: offload to thread, reload service, prevent dir leak
bc7b2bf - ✨ add nightly ML retraining job to scheduler
ef02989 - ✨ add ML confidence range filter to review queue
4714810 - ✨ add uncertainty-first queue sort for ML confidence
8be5ef5 - 🔧 fix ML badge color thresholds and rename css variable
5ef2660 - ✨ add ML confidence badge and missing-model banner to review UI
e8cf8a8 - ✨ score posts with ML model at fetch time
d63b0ad - 🔧 rename single-letter vars in ml_inference test
f84127a - ✨ add MLInferenceService with graceful degradation
f2f76b8 - ✨ add ml_confidence_score column to Post and PostResponse
c872b72 - 📝 document restart on failed healthcheck
e540eb3 - 🔧 fix up healthchecks for zhongli container
891a162
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Container images now published to
-
fenliu-1.3.3 Stable
released this
2026-07-20 04:25:58 +00:00 | 116 commits to main since this release[1.3.3] - 2026-07-20
- 💥 Container images now published to
registry.marvin8.zone/marvin8/fenliuon each release
Commits
- 🔀 Merge branch 'feat/container-publish-and-modernization'
5fe0731 - 📝 note container publishing in Release-Notes
29dab0f - 🚚 publish-container: switch to registry.marvin8.zone; add OCI build-args
9039389 - 🏷️ add OCI labels to fenliu and zhongli Containerfiles
f6dbaa3 - 👷 weekly-checks: use setup-uv action; remove ai-review.yml (merged into per-package CI)
75664c4 - 👷 zhongli CI: add pr-review, publish-container; release triggers; checksum-verified gitleaks
a6338c4 - 👷 fenliu CI: add pr-review, publish-container; release triggers; checksum-verified gitleaks
f56a1c2 - ⬆️ bump deps: ruff 0.15.22, ty 0.0.61, uv 0.11.29
fd3d7c9 - 🔧 add ruff-format, ruff-check, complexipy pre-commit hooks; align revs
61ad545 - ♻️ apply ruff autofixes: py312 upgrades, format both packages
d8ea83e - 🔧 align ruff.toml: TID252, py312 target, consistent ignores; enable zhongli format check
e42b6cd - 🎉 add AGENTS.md at all levels, LICENSE.md, .editorconfig; symlink CLAUDE.md
deccae9 - 🔀 Merge branch 'feat/issue-69-forgejo-actions-release-notes'
b29eeff - 📝 recombine Security-Audit detail into main file, comply with Yilan format
1fb5109 - 📝 remove spurious trailing em dash from Release-Notes version line
f98f575 - 🔧 fix: delete duplicate fenliu-docs.yml, correct grebedoc URL, update CLAUDE.md CI path
abf6674 - 📝 update CLAUDE.md files and RELEASE-COMMANDS.md for new CI and release workflow
65799a2 - 🔥 remove Woodpecker CI, cliff.toml, and git-cliff dependency
906b5f1 - 👷 add ai-review and weekly-checks Forgejo Actions workflows
28512f7 - 👷 add zhongli Forgejo Actions CI
2e3c7e8 - 👷 add fenliu Forgejo Actions CI
611dec0 - 🔧 refactor zhongli justfile: drop git-cliff, add fediverse recipes
71b1446 - 🔧 refactor fenliu justfile: drop git-cliff, add fediverse recipes
5c9b5b4 - 📝 add Release-Notes templates and bumpversion config
cb67b5f - ⬆️ bump deps
a4b8d10 - 📝 add ai-declaration.md
1b4ce73
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- 💥 Container images now published to