-
released this
2026-10-21 15:08:01 -04:00 | 13 commits to main since this releaseDownloads
-
released this
2026-10-20 22:26:04 -04:00 | 17 commits to main since this releaseBug Fixes
- (tests) Repair stale pins surfaced by the Phase 6 full-suite run (
6152137) - (filters) Builder UX round one — incomplete rules, group removal, field menu (user report) (
04b36f0) - (filters) Group mode reads AND/OR, connective labels toggle it (user report) (
6f98ca4) - (filters) Value menu flash-on-click, empty state, sticky field filter (user report) (
4c03116) - (filters) Browse with no rules works, popup under the input, no sticky headers (user report) (
9c006a9) - (filters) Blank-typed browse 500 on id-valued fields (library/collection/added_by) (
ab713e2) - (filters) Live count follows the top library picker (user report) (
68701d6) - (filters) Operator table sent labels as wire values — every non-self-named operator was broken (user report) (
4398726) - (tests) Wire settings registry into the test auth handler — unstick TestAdminCreateUser (
19b9c7c)
Features
- (schema) Subtitle/explicit columns, authors+publishers arrays, float series numbers (
646477a) - (scanner) Fix ABS sidecar series parsing; three-way series mapping; smart genre; language codes; title-derived series (
7e4c97f) - (collections) Playlist auto-creation, position ordering, hide_finished, Up Next, dashboard eligibility (
1dbb0ce) - (filters+ui) Per-element author/publisher filters, playlist toggles, Up Next API, reorder UI, dashboard badges (
f94e747) - (filters+nav) Author navigation end-to-end — arrays on every media response, deep-linkable bookshelf filters, clickable authors (
7537063) - (facets) Facet registry, Batch A server params, genre model v2, facets endpoint (
7e586df) - (facets+ui) Clickable facet values everywhere, genre prettify, active-filter chips (
bbedbfb) - (scanner) Manifest-gated sidecar change detection + playlist sync on change path (
6750e9e) - (scanner) Quiet scans, enqueue coalescing, watcher probe, sibling cache (
5245f29) - (scanner) Multifile folder/zip sidecar detection (faceted plan Phase 6) (
2c5ad01) - (facets) All-facets panel with under-filter counts (faceted plan Phase 7) (
f52bb6f) - (filters) Panel removal + All-Books field-values fix (faceted plan Phase 8) (
ebb7f4a) - (filters) The rule builder — composed engines over the field registry (faceted plan Phase 9) (
4ee24e7) - (filters) Per-row AND/OR (Excel-style chips) + browse-on-click value menus (user report) (
c747f0a) - (scanner) Extractor-version (ev) mechanism — parser fixes reach old rows without a force rescan (faceted plan Phase 10) (
91b0c45) - (issues) The honest processing-issues ledger — row-less import failures, self-healing resolution, family lens (faceted plan Phase 11) (
9b5defc) - (scanner) Force rescan = original scan; feat(filters): the manually-edited filter (faceted plan Phase 13) (
a42c6d4)
Performance
- (scanner) Bulk scan-state load — one query per library scan (
693053a)
Tests
- Pin scan_extractor_version at the start of ev-sensitive tests (
dd4cf12)
Downloads
- (tests) Repair stale pins surfaced by the Phase 6 full-suite run (
-
released this
2026-10-19 12:46:39 -04:00 | 45 commits to main since this releaseBug Fixes
- (ui) Library restore no longer re-fires change on synced dropdowns (
202a090) - (db) Total ordering for series OFFSET pagination (
38efbff)
Documentation
- (agents) Record the dashboard sections rendering exception (
18f52d2)
Features
- (css) Cross-document view transitions (
f7dc818)
Miscellaneous Tasks
- (templ) Warn against change handlers on the bookshelf library select (
1ce66b2) - (ui) Bump the main.js cache-bust stamp to v6 (
a8641ab)
Other
- (series) Plain-text page indicator instead of the chip pill (
f4414aa)
Refactor
- (series) Drop the TS rendering twin; library switch navigates SSR (
3daa834)
Tests
- (series) Pin the SSR pagination contract under tied timestamps (
220d97c)
Downloads
- (ui) Library restore no longer re-fires change on synced dropdowns (
-
released this
2026-10-19 08:16:24 -04:00 | 54 commits to main since this releaseDocumentation
- (dev) Test-running policy + media-fixture rules; ignore testdata (
ee98c0f)
Features
- (worker) Real per-job cancellation for the background job pool (
b222075) - (scanner) ScanFolders honors its context; cancelling never archives (
30ecdd4) - (scanner) POST /api/scanner/cancel/:jobId (admin) (
5b81e19) - (admin) Cancel buttons for in-flight scans + cancelled state UI (
e1153b2) - (audiobooks) Multi-file books (folder-of-tracks + zip) + exhaustive metadata ingestion (
6216bd9) - (web) Multi-track audiobook player — per-track src switching, global-seconds position (
79ce5ab)
Tests
- (scan) Cancellation endpoint semantics and mid-run safety (
24228e7)
Downloads
- (dev) Test-running policy + media-fixture rules; ignore testdata (
-
released this
2026-10-18 16:50:51 -04:00 | 62 commits to main since this releaseBug Fixes
- (conflicts) The status filter, select-all, and bulk actions actually work (
4a68fe7) - (ui) Library-switch overlay was fully opaque — the 'new page' wipe (
a11b4a9) - (ui) Derive Library Type dropdowns from library_types — audiobooks was missing (
9e83108)
Documentation
- (agents) Rendering-ownership rule — templ renders, JS decides what shows (
1fdf306)
Features
- (web) Templ partials replace the last UI twins (collections grid, conflicts list) (
f184459) - (matching) Family-lens scoping for book matching and linking (
040c10a) - (ui) View Transitions crossfade for library switches (
a31da89) - (matching) Match results as a scoped templ partial + enriched matches (
327fc2c) - (sync) Unlinked-books queue — ingest, page route, dashboard banner (
d74db03)
Miscellaneous Tasks
- (web) Library-admin inline script moves to admin.ts; rendering guardrail (
506a04b)
Tests
- (templates) Pin the rendering partials — standalone render, OOB markers, empty state (
cb4e892)
Downloads
- (conflicts) The status filter, select-all, and bulk actions actually work (
-
released this
2026-10-18 12:12:37 -04:00 | 73 commits to main since this releaseBug Fixes
- (templ) Stop emitting literal { expr } text into attributes and body classes (
b89eac2)
Features
- (themes) Omarchy catalog, 12 light themes, Dark/Light Appearance picker (
d5bb874)
Downloads
- (templ) Stop emitting literal { expr } text into attributes and body classes (
-
released this
2026-10-17 22:55:43 -04:00 | 75 commits to main since this releaseBug Fixes
- (schema) Ship the two Batch-A upgrade ALTERs that 1.15.0 missed (
0799cca)
Miscellaneous Tasks
- (db) Schema.go searches three levels up — replaces the tests-dir symlink (
4f913da)
Downloads
- (schema) Ship the two Batch-A upgrade ALTERs that 1.15.0 missed (
-
released this
2026-10-17 22:13:00 -04:00 | 77 commits to main since this releaseBug Fixes
- (audio player + dashboard) Markdown bookmark notes, horizontal volume, transport glyphs, client-side badges (
2c714dc) - (media-items) Normalize NOT NULL narrators on every write path (
a222ef5) - (stats) Unambiguous chart x-labels + unit-carrying tooltips (
b4ae423) - (conflicts) Resolution writes funnel through SaveProgress — audio position survives (
8fc74c9) - (tests) Scope the sync_queue cleanup wipe to the test devices (
d16ca4a) - (sync) The offline queue flush never processed anything — fix the enumerator + the dropped payload (
6808c1b) - (bruno) Convert drifted body keys to body.data — CLI scenario runs now carry bodies (
09b6693) - (annotations) Note LWW re-save 500'd — UserID missing from the sync update params (
ff029f1) - (annotations) Bookmark and note PUTs land through the sync service (LWW by id) (
7d698ea) - (annotations) LWW applies coalesce omitted fields — partial payloads no longer erase stored locators (
edb4e60) - (sync) Offline detector wiped device name, auto_sync, and metadata on every transition (
082a3e0) - (css) Native select popups follow the theme — color-scheme per scheme + themed option entries (
8f05f11) - (api) Honor the request's origin as the writer label — app rows stop wearing "web" (
45b8542)
Documentation
- (agents) Test-failure triage discipline — suspect the test first, but test edits stay asymmetric (
de9e666)
Features
- (audiobooks) Batch A — foundation, m4b ingest, playback sync, web player (
902cbe5) - (audiobooks) A2 — narrator metadata, audio-aware UX, player polish, bookmarks (
86f0af6) - (audio player) Canonical audiobook transports + dropdown settings + volume panel (
5cf3410) - (annotations + player) Bookmark rows in the banner, stacked volume panel, badge parity for comics/manga (
89665fb) - (reader) Fullscreen mode; revert stacked volume; fix manga badges + ghost sidebar (
73ae178) - (stats) Library tab — per-library inventory stats + audio-aware Reading tab (
ce366b1) - (cards) Stamp active conflicts on collections, series, and preview JSON (
b2b89ba) - (db) SearchMediaItemsUnifiedRow carries abridged + audio_metadata (
c538efe)
Miscellaneous Tasks
- Delete dead progress handlers, no-op scar, split fused helper line (
721139d) - (db) Sqlc regen — querier interface comment for the flush-enumerator fix (
63a20dc) - (db) Retire the nine dead annotation plain queries + duplicate SQL line (
00305ff)
Refactor
- (progress) SaveProgressRequest becomes the canonical PUT payload; GET serializes from the row (
28bd323) - (progress) ProgressService required at construction; delete the 9 unreachable erase-fallbacks (
e83c00f) - (cards) H2 foundation — cards.go, the one BookInfo construction site (
1ce1b79) - (cards) Collections JSON detail + preview-adjacent ladder through the builder (
2376593) - (cards) Smart-collection preview through the builder (
c07dba4) - (cards) Series books JSON through the builder (
2f9d5b8) - (cards) BuildSections through the builder (
5adfb45) - (cards) Template search grid through the builder (
0971e7d) - (cards) SSR series and tag pages through the builder (
8c56c9d) - (cards) Bookshelf SSR through the builder — badges return to the bookshelf (
bdad40e) - (cards) SSR collection detail ladder through the builder (
a13b268) - (annotations) AnnotationService is a required constructor dependency (
c579179) - (annotations) One LWW decision core + one tombstone gate + typed queue decoders (
11609d1) - (utils) One PgTextString for the four pgtype.Text unwrappers (
188ae07) - (devices) One Devices->DeviceInfo mapper for the five hand-built copies (
58fbe37) - (conflicts) One ConflictDetail builder for the three row shapes (
b47a2b8) - (collections) Rule evaluators take the real row; both 45-field converter twins deleted (
18727fe) - (db) GetCollectionItemsForDashboard embeds the media row; excluded filter moves into SQL; third converter dies (
77cf0b8) - (router) One WeekStatsData mapper for the dashboard page and week-widget fragment (
87fc89a) - (hash-conflicts) One usage-counts reader for the API and SSR surfaces (
2ba1e09) - (reader) One comic-likeness predicate — panel detection was a byte-identical twin (
6b3bdef) - (opds) One acquisition-entry builder for the catalog and search feeds (
29a5462) - (vis) H4.5 step 1 — LibraryService.VisibleLibrarySet, the canonical resolver; media endpoints migrated (
1d12a64) - (vis) H4.5 step 2 — series endpoints on the canonical resolver (
d2d92ef) - (vis) H4.5 step 3 — collections endpoint and the SSR helper on the canonical resolver (
8dbaa8f) - (vis) H4.5 steps 4-5 — statistics and the three reader gates on the canonical resolver; core goes package-level (
454938c)
Tests
- (contracts) Pin wire shapes before the canonical-types migrations (
a2ea342) - (bruno) Sweep the collection against the actual route table (
a85bc8a) - (contracts) CFI/context winner must land intact through conflict resolution (
14cdbe7) - (contracts) Whitelist the unified row's two new keys on search rows (
010c0cb)
Downloads
- (audio player + dashboard) Markdown bookmark notes, horizontal volume, transport glyphs, client-side badges (
-
released this
2026-10-15 14:44:59 -04:00 | 132 commits to main since this releaseFeatures
- (web) Reader chrome UX — intent-based reveal, reading actions dismiss (handoff item 7) (
f2fd4db)
Miscellaneous Tasks
- (deps) Pin foliate-js f622841 — manual touch scrolling in scrolled layouts (
a093529)
Downloads
- (web) Reader chrome UX — intent-based reveal, reading actions dismiss (handoff item 7) (
-
released this
2026-10-15 12:11:50 -04:00 | 134 commits to main since this releaseBug Fixes
- (web) Scan progress — correct percentages, no layout shift, refresh-survivable (
fd6f0e3)
Features
Downloads
- (web) Scan progress — correct percentages, no layout shift, refresh-survivable (