• fenliu-2.0.0 b965777ddf

    fenliu-2.0.0
    All checks were successful
    / pr-review (release) Has been skipped
    / publish (release) Successful in 36s
    / gitleaks (release) Successful in 21s
    / checks (release) Successful in 2m32s
    / deploy-docs (release) Successful in 1m53s
    / publish-container (release) Successful in 2m40s
    Stable

    marvin8 released this 2026-08-15 00:34:56 +00:00 | 52 commits to main since this release

    Signed by marvin8
    SSH key fingerprint: SHA256:B4Q+9pbWSIqGYTl3Ub/FPrBSqAVd2OkCR13hYRG5wek

    [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_notes field to auto_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