-
v4.4.0
StableSome checks failedRelease / Test backend (push) Successful in 1m1sRelease / Check ui (push) Successful in 1m0sRelease / Docker (push) Successful in 11m19sRelease / Deploy to prod (push) Successful in 2m10sRelease / Deploy to homelab (push) Failing after 7sRelease / Gitea Release (push) Successful in 2m25sreleased this
2026-04-16 20:20:16 +05:00 | -550 commits to main since this releaseContent visibility:
- Add
visibilityfield to books ("public" | "admin_only"); new migration
backfills all existing scraped books to admin_only - Meilisearch: add visibility as filterable attribute; catalogue/search
endpoints filter to public-only for non-admin requests - Admin users identified by bearer token bypass the filter and see all books
- All PocketBase discovery queries (trending, recommended, recently-updated,
audio shelf, discover, subscription feed) now filter to visibility=public - New scraped books default to admin_only; WriteMetadata preserves existing
visibility on PATCH (never overwrites)
Author submission:
- POST /api/admin/books/submit — creates a public book with submitted_by
- PATCH /api/admin/books/{slug}/publish / unpublish — toggle visibility
- SvelteKit proxies: /api/admin/books/[slug]/publish|unpublish
- /api/books/[slug] endpoint for admin book lookup
Frontend:
- backendFetchAdmin() helper sends admin token on any path
- Catalogue server load uses admin fetch when user is admin
- /submit page: author submission form with genre picker and rights assertion
- "Publish" nav link shown to all logged-in users
- Admin catalogue-tools: visibility management panel (load book by slug, toggle)
Downloads
- Add