2.12.0 (2026-08-07)
Features
- auth: require signing in to reach the config page and its API (ea8983c)
- builder: collapse the advisory banners into one status bar (47ae36d)
- builder: give the builder a full-screen shell with a pinned footer (204fab9)
- builder: put folders in the rail and lift selection to the dialog (0f51ed2)
- builder: report which folders a rail query matched (f6581fb)
- collections: carry a catalog's own type through an export so an import can match it (0f96c15)
- collections: derive one save stage for the builder (b5d5993)
- collections: dock the preview beside the editor on wide screens (9f495c1)
- collections: give the entry rail room to read and a filter (1c62954)
- collections: label an excluded entry instead of only dimming it (7c595c8)
- collections: make deleting undoable and confirm a replacing import (dd7d833)
- collections: make the builder a full-height sheet on small screens (4045049)
- collections: merge an imported file into what it shares an id with (6b4adca)
- collections: name the addons an exported file needs installed (f7bcd94)
- collections: name the same thing the same way on both targets (519f3db)
- collections: number repeated copies instead of stacking the word (f26d870)
- collections: offer starter layouts instead of an empty rail (9ce58b7)
- collections: put the manifest source where it can be acted on (2ad390e)
- collections: rank builder problems by severity (82884a3)
- collections: rework the builder into panes with a ranked issue list (4308a7a)
- collections: save the builder in one step instead of three (ae3e281)
- collections: show one ranked issue list and put its verdict on save (32769bf)
- collections: warn on a classic row whose type Fusion will not import (bf8d979)
Bug Fixes
- anime: honour a zero delay instead of treating it as unset (638d5da)
- art proxy: answer 404 when the poster proxy has no fallback to redirect to (90dd65d)
- builder: act on the real folder index when the rail is filtered (3255983)
- builder: drop the breadcrumb when nothing is selected (e54a9d9)
- builder: drop the dialog padding above the small breakpoint (6b55b5d)
- builder: expand the selected entry when the dialog reopens (b1d5988)
- builder: focus the title of a folder you just added (3d92d2e)
- builder: give the footer and the editor a container to query (e9b2c68)
- builder: keep the preview reachable below the widest layout (45c492f)
- builder: let a folder drag land in another collection (ab0ee6c)
- builder: let folder rows reorder by drag again (acb6251)
- builder: restore preview section & un-truncate catalog names (fccb85e)
- builder: show the folders the rail filter matched (a7e1ac2)
- builder: show the row controls where nothing can hover (53f8c07)
- builder: stop source row meta overflowing the delete button (82a6414)
- builder: stop the header and footer crowding out the panes (01feef5)
- cache: pass the key to the classifier so a Jikan object is not read as empty (114ff36)
- catalogs: resolve a catalog whose display type suffix is _all (eaade76)
- collections: carry a source genre through the Fusion export and back (da2a388)
- collections: drop the resets for state the save mode replaced (598baac)
- collections: give an imported entry a free id when the file's is taken (d6165c5)
- collections: keep a personal PublicMetaDB list out of a shared catalog (0f02825)
- collections: keep a picker selection when the filters change (0211926)
- collections: keep Enter on a picker button doing that button's job (de1aae9)
- collections: keep ids joinable when a Fusion export prefixes them (3849fd2)
- collections: keep the entry filter reachable once it is set (4ecab06)
- collections: keep the export payload to the fields Fusion expects (3bf2fb0)
- collections: make the picker's filter chips reachable by keyboard (d99804b)
- collections: match a manifest catalog whose type differs only in case (0e01e96)
- collections: match a suffixed catalog on its original type, not its display type (f74f571)
- collections: name Fusion's word in every alias hint (fd691af)
- collections: only ask for a genre where the catalog needs one, and start it on the declared default (2cc967e)
- collections: point a source problem at the folder holding it (0c332bb)
- collections: point an imported source at the id this manifest serves (885a99b)
- collections: route apply and close through the save gates (c4e1376)
- collections: say when the save cannot reach the server (206ddf3)
- collections: stop a catalog waiting on an account reading as staged (ed63504)
- collections: stop an imported file rebuilding someone else's personal list (69d87a7)
- collections: stop export notes reading as a missing catalog (6f45940)
- collections: stop offering starters there are none of (e8c4ded)
- collections: stop the builder reselecting what you already typed (e45668b)
- collections: stop the pointer stealing the picker's keyboard selection (aafe970)
- collections: stop the save shortcut firing from a nested dialog (3fff28d)
- collections: undo only the delete it was offered for (f71ecbb)
- search: keep MDBList's ranking through the batch enrichment (cebecc8)