This website requires JavaScript.
77389f88bc
feat: a release catalogue from MusicBrainz; request search asks it directly (M502 #5519 )
bvandeusen and Claude Opus 5.5
2026-10-09 21:08:22 -04:00
a2e1890d4c
feat: indexers and download clients you add and configure (M502 #5518 )
bvandeusen and Claude Opus 5.5
2026-10-09 20:34:51 -04:00
5306a261c1
feat: duplicates resolve themselves without Lidarr (M502 #5517 )
bvandeusen and Claude Opus 5.5
2026-10-09 20:12:49 -04:00
8bd48b4302
fix: a merge keeps the song link when the removed copy names the song (M498)
bvandeusen and Claude Opus 5.5
2026-10-08 22:53:35 -04:00
e1ad1c9ba2
fix: a release change Lidarr applied but did not answer is recorded (M498)
bvandeusen and Claude Opus 5.5
2026-10-08 22:42:50 -04:00
e17556dce9
feat: Lidarr searches for a better copy of a rip that has none (M498 #5447 )
bvandeusen and Claude Opus 5.5
2026-10-08 22:32:30 -04:00
165c87047e
Merge pull request 'Duplicates and video rips resolve themselves (M498)' (#155 ) from dev into main
main
bvandeusen
2026-10-08 22:30:10 -04:00
d59b7fdc2a
fix(test): the mix-writer test reaches oneCopyPerSong through export_test; suspect fixtures carry the verdict (M498 #5439 )
bvandeusen and Claude Opus 5.5
2026-10-08 22:17:17 -04:00
53eb954c86
feat: video rips and stray copies handle themselves (M498 #5439 )
bvandeusen and Claude Opus 5.5
2026-10-08 22:13:37 -04:00
5b372f61d7
feat: the same song on several releases counts as one song (M498 #5438 )
bvandeusen and Claude Opus 5.5
2026-10-08 22:07:55 -04:00
4ecff52f19
feat: duplicates resolve themselves where Lidarr says it is safe (M498)
bvandeusen and Claude Opus 5.5
2026-10-08 21:49:37 -04:00
01e2294471
ci: probe and relax the integration Postgres over TCP, with retries (#5426 )
bvandeusen and Claude Opus 5.5
2026-10-08 20:18:49 -04:00
05bc85f2b8
Merge dev: scroll-loaded lists, Liked tabs, missing files kept out of the queue (#5416 , #5417 , #5418 )
bvandeusen
2026-10-08 20:08:04 -04:00
bf0bc45c4b
fix(web): filter a refetched mix inside the self-heal step, not by wrapping the closure (#5418 )
bvandeusen and Claude Opus 5.5
2026-10-08 17:33:10 -04:00
8bd2f66416
fix(web): missing files show greyed in track lists and never enter the queue (#5418 )
bvandeusen and Claude Opus 5.5
2026-10-08 17:28:36 -04:00
015fe1d3b2
fix(web): admin error lines use text-error-fg, not the untokened text-oxblood (#5417 )
bvandeusen and Claude Opus 5.5
2026-10-08 17:17:34 -04:00
0f9ddbca97
feat(web): every paged list loads as you scroll; Liked becomes tabs (#5416 )
bvandeusen and Claude Opus 5.5
2026-10-08 16:55:33 -04:00
d1fe3758d5
Merge dev: Suspect sources report (#5410 )
bvandeusen
2026-10-08 16:03:53 -04:00
2205b2927b
test: fix the Suspect sources tests CI rejected (#5410 )
bvandeusen and Claude Opus 5.5
2026-10-08 15:56:18 -04:00
3f0540cb7a
feat: admin Suspect sources report, for files named like video rips (#5410 )
bvandeusen and Claude Opus 5.5
2026-10-08 15:51:01 -04:00
664b129947
Merge pull request 'One track-list shape across the web app, drag reorder that snaps (M494)' (#152 ) from dev into main
bvandeusen
2026-10-08 15:08:09 -04:00
918db27fec
feat(web): shared collection header, Play and Shuffle, and the centred page column (M494)
bvandeusen and Claude Opus 5.5
2026-10-08 14:18:44 -04:00
aaa6fa15d6
test(web): import history components after their mocks (M494)
bvandeusen and Claude Opus 5.5
2026-10-08 14:18:44 -04:00
b7f50c42a9
feat(web): one track-list row shape, and drag reorder that snaps (M494, #5393 )
bvandeusen and Claude Opus 5.5
2026-10-08 14:14:06 -04:00
e16d182417
fix(web): drop the shelf-header accent rule Tailwind 4 started drawing (#5021 )
bvandeusen and Claude Opus 5.5
2026-10-08 13:17:15 -04:00
c9fa18ecb7
Merge pull request 'Notifications inbox (M489), Discover taste-arm fix, web tooling majors' (#151 ) from dev into main
bvandeusen
2026-10-08 11:11:08 -04:00
ca9917d8cd
chore(web): clear kit 3's alias and Vite's config-loader deprecations (#5021 )
bvandeusen and Claude Opus 5.5
2026-10-08 11:03:38 -04:00
b1b10b0c77
fix(web): run Tailwind 4 through @tailwindcss/vite, not PostCSS (#5021 )
bvandeusen and Claude Opus 5.5
2026-10-08 10:55:48 -04:00
94a9c8cbe3
chore(deps): SvelteKit 3 with adapter-static 4 and TypeScript 6, full-tree npm audit (#5021 )
bvandeusen and Claude Opus 5.5
2026-10-08 10:50:39 -04:00
beba5b2082
Merge remote-tracking branch 'origin/renovate/sveltejs-kit-3.x' into dev
bvandeusen
2026-10-08 10:49:44 -04:00
fecd030b68
chore(deps): Tailwind 4 (#5021 )
bvandeusen and Claude Opus 5.5
2026-10-08 10:46:07 -04:00
0202c86338
chore(deps): update dependency tailwindcss to v4
Renovate Bot
2026-10-08 14:45:03 +00:00
0500f6aac5
chore(deps): update dependency @sveltejs/kit to v3
Renovate Bot
2026-10-08 14:45:01 +00:00
c83933b61a
chore(deps): update dependency @sveltejs/adapter-static to v4
Renovate Bot
2026-10-08 14:45:00 +00:00
308045d056
chore(deps): vite 8, vite-plugin-svelte 7 and vitest 5 together (#5021 )
bvandeusen and Claude Opus 5.5
2026-10-08 10:24:51 -04:00
5d5af359b6
Merge remote-tracking branch 'origin/renovate/vite-8.x' into dev
bvandeusen
2026-10-08 10:23:28 -04:00
67f1975f53
chore(deps): update dependency vitest to v5
Renovate Bot
2026-10-08 14:19:20 +00:00
5dfbe1361e
chore(deps): update dependency vite to v8
Renovate Bot
2026-10-08 14:19:18 +00:00
39c33e4306
chore(deps): update dependency @sveltejs/vite-plugin-svelte to v7
Renovate Bot
2026-10-08 14:19:16 +00:00
9be5bbae3c
fix(discover): cap the taste-matched arm per album and artist before its LIMIT (#5356 )
bvandeusen and Claude Opus 5.5
2026-10-08 09:24:20 -04:00
9940bc375d
feat(android): notifications when the app is closed, a specialUse delivery service (#5347 )
bvandeusen and Claude Opus 5.5
2026-10-08 07:59:11 -04:00
63709a433d
feat(notifications): grouped email digest, new music as a daily summary (#5346 )
bvandeusen and Claude Opus 5.5
2026-10-08 07:48:22 -04:00
62f76290fb
fix(android): split notification kinds out of the replayer's dispatch (detekt)
bvandeusen and Claude Opus 5.5
2026-10-08 07:38:43 -04:00
c416157a1b
feat(android): notifications bell, inbox screen and settings, offline-first (#5343 , #5345 )
bvandeusen and Claude Opus 5.5
2026-10-08 07:35:56 -04:00
f11dba2336
feat(api): read-all takes an optional up_to cutoff (M489)
bvandeusen and Claude Opus 5.5
2026-10-08 07:27:29 -04:00
87f8ed6147
feat(web): notification settings per kind and channel (#5345 , web half)
bvandeusen and Claude Opus 5.5
2026-10-08 07:25:31 -04:00
956058d4a0
feat(web): notifications bell, unread badge and inbox panel in the header (#5342 )
bvandeusen and Claude Opus 5.5
2026-10-08 07:23:32 -04:00
1e9408c835
feat(notifications): library health reaches admins, coalesced (#5341 )
bvandeusen and Claude Opus 5.5
2026-10-08 07:20:33 -04:00
069baeb14d
feat(notifications): requests and flags reach the people who act on them (#5340 )
bvandeusen and Claude Opus 5.5
2026-10-08 07:17:11 -04:00
94ef8c1887
feat(api): notifications inbox and per-user settings endpoints (#5339 )
bvandeusen and Claude Opus 5.5
2026-10-08 07:10:05 -04:00
8bf333e748
feat(notifications): the inbox store, one writer, coalescing and retention (#5338 )
bvandeusen and Claude Opus 5.5
2026-10-08 07:06:39 -04:00
5dffe51b95
feat(web): duplicates report flags identical audio under different titles (#3885 )
bvandeusen and Claude Opus 5.5
2026-10-08 06:33:37 -04:00
3077ed75fe
Merge pull request 'Readable accent text app-wide; Android queue drag math under test' (#144 ) from dev into main
bvandeusen
2026-10-08 06:29:48 -04:00
43c369f082
test(android): queue drag math is a pure function, held to web's cases (#2436 )
bvandeusen and Claude Opus 5.5
2026-10-08 00:18:43 -04:00
b46c080d19
fix(web): all accent text and icons use accent-fg (#5318 )
bvandeusen and Claude Opus 5.5
2026-10-08 00:17:19 -04:00
97e84a79eb
Merge pull request 'Multi-value genres for FLAC/Ogg/MP4, readable tinted and error text, no missing-track seeds' (#143 ) from dev into main
bvandeusen
2026-10-07 23:53:09 -04:00
37d3a5bcd3
fix(library): read every genre of FLAC, Ogg, Opus and MP4 files (#2500 )
bvandeusen and Claude Opus 5.5
2026-10-07 23:40:56 -04:00
efa3bf54ce
fix(playlists): a missing track never seeds For You or Songs-like (#2701 )
bvandeusen and Claude Opus 5.5
2026-10-07 23:10:17 -04:00
743b6f5eac
fix(web): error text uses error-fg on every surface, not only on tints (#3150 )
bvandeusen and Claude Opus 5.5
2026-10-07 23:00:28 -04:00
fdee77eaec
fix(web): text on a tint of its own hue uses the house -fg tokens (#3150 )
bvandeusen and Claude Opus 5.5
2026-10-07 22:51:52 -04:00
c17f4273c6
test(web): stub SvelteKit app modules suite-wide so no test loads the client runtime (#3943 )
bvandeusen and Claude Opus 5.5
2026-10-07 21:26:21 -04:00
a29ceaaeab
Merge pull request 'Similarity cache and round-robin artist arms (#5296 , #5297 )' (#142 ) from dev into main
bvandeusen
2026-10-07 20:02:59 -04:00
e5dac9ddf0
fix(similarity): keep ListenBrainz's whole answer and resolve it locally (#5296 )
bvandeusen and Claude Opus 5.5
2026-10-07 19:56:22 -04:00
aa390c711a
fix(recommendation): artist-level arms take one track per related artist in turn (#5297 )
bvandeusen and Claude Opus 5.5
2026-10-07 19:56:21 -04:00
54b2720d76
Merge pull request 'Fold stale missing tracks into their on-disk replacement (M485)' (#141 ) from dev into main
bvandeusen
2026-10-07 18:17:51 -04:00
865a3176c9
feat(library): fold a missing track into its on-disk replacement (M485 #5286 #5287 )
bvandeusen and Claude Opus 5.5
2026-10-07 17:23:32 -04:00
2df28345b4
refactor(library): the per-copy fold is a helper the duplicate merge calls (M485 #5285 )
bvandeusen and Claude Opus 5.5
2026-10-07 17:23:32 -04:00
fe142e3451
Merge dev: request completion fix, x/text bump, full-logo tab icon (#140 )
bvandeusen
2026-10-07 15:35:01 -04:00
0766349397
feat(brand): the browser tab icon is the full logo (#5267 )
bvandeusen and Claude Opus 5.5
2026-10-07 15:19:10 -04:00
fcbad3ad40
fix(deps): raise golang.org/x/text to v0.41.0 for GO-2026-6629
bvandeusen and Claude Opus 5.5
2026-10-07 15:13:09 -04:00
4e3ce4065c
fix(lidarr): complete a request only when the album actually came back (#5263 )
bvandeusen and Claude Opus 5.5
2026-10-07 14:55:32 -04:00
3bdfa94f39
Merge dev: M483 release-group ids for Lidarr (#139 )
bvandeusen
2026-10-07 12:29:12 -04:00
e509d7d5a9
feat(lidarr): ask Lidarr for release groups; repair stored release-id requests (M483 #5244 )
bvandeusen and Claude Opus 5.5
2026-10-07 11:38:45 -04:00
2b4e274b12
feat(tags): resolve a MusicBrainz release to its release group (M483 #5243 )
bvandeusen and Claude Opus 5.5
2026-10-07 11:34:04 -04:00
5c19a916ba
feat(library): store each album's MusicBrainz release-group id (M483 #5242 )
bvandeusen and Claude Opus 5.5
2026-10-07 11:33:26 -04:00
22ea27efff
Merge pull request 'Lidarr: album adds that Lidarr accepts, artist monitoring that sticks' (#138 ) from dev into main
bvandeusen
2026-10-07 11:08:18 -04:00
bf6364b709
fix(lidarr): send the artist add's monitor choice in addOptions (#5239 )
bvandeusen and Claude Opus 5.5
2026-10-07 10:58:55 -04:00
670b30c954
fix(lidarr): add an album as the looked-up resource with its artist nested (#5234 )
bvandeusen and Claude Opus 5.5
2026-10-07 10:55:41 -04:00
09bd71629a
Merge pull request 'M401: AcoustID recording-id lookup' (#137 ) from dev into main
bvandeusen
2026-10-07 09:50:11 -04:00
e8eee55325
fix(web): AcoustID card's loading line names itself (M401 #3922 )
bvandeusen and Claude Opus 5.5
2026-10-06 23:47:14 -04:00
03e07e7c66
fix(web): send the empty body api.post requires for AcoustID run-now (M401 #3922 )
bvandeusen and Claude Opus 5.5
2026-10-06 23:42:25 -04:00
0a7f788390
feat(web): AcoustID card on Integrations — key, threshold, coverage by source (M401 #3922 )
bvandeusen and Claude Opus 5.5
2026-10-06 23:29:34 -04:00
3c575b137c
feat(library): AcoustID lookup worker fills the MBIDs tags leave empty (M401 #3920 #3921 )
bvandeusen and Claude Opus 5.5
2026-10-06 23:26:03 -04:00
f13da62797
feat(library): AcoustID lookup client and the compressed fpcalc print (M401 #3919 )
bvandeusen and Claude Opus 5.5
2026-10-06 23:16:52 -04:00
c83670d216
Merge pull request 'M464 loudness leveling (steps 4–8), APK distribution and security baseline adoptions' (#136 ) from dev into main
bvandeusen
2026-10-06 23:11:35 -04:00
b28cbe0600
feat(android): refuse plain http:// to a public server address (#5111 )
bvandeusen and Claude Opus 5.5
2026-10-06 23:02:07 -04:00
40dd5bb52c
ci(android): pin the release certificate in the signer check (#5116 )
bvandeusen and Claude Opus 5.5
2026-10-06 22:51:33 -04:00
a1e9de2c84
ci(android): never ship a debug-signed APK; check the signer (#5116 )
bvandeusen and Claude Opus 5.5
2026-10-06 21:33:22 -04:00
13a7a3629a
fix(library): MBID backfills skip tracks whose files are missing (#5139 )
bvandeusen and Claude Opus 5.5
2026-10-06 21:22:05 -04:00
2e36e70268
feat(android): Sonos/UPnP queue plays leveled URLs, rendered a track ahead (M464 #5002 )
bvandeusen and Claude Opus 5.5
2026-10-06 19:38:21 -04:00
f34423a0e0
feat: leveled FLAC stream for Sonos/UPnP speakers (M464 #5001 )
bvandeusen and Claude Opus 5.5
2026-10-06 19:31:07 -04:00
92c3f9bdb8
fix(android): look gains up by key, not value (M464 #5000 )
bvandeusen and Claude Opus 5.5
2026-10-06 19:18:15 -04:00
1013c283da
feat(android): level playback with a gain processor in the audio sink (M464 #5000 )
bvandeusen and Claude Opus 5.5
2026-10-06 19:10:35 -04:00
38290bf8f9
feat(web): level playback by the user's normalization preference (M464 #4999 )
bvandeusen and Claude Opus 5.5
2026-10-06 18:21:41 -04:00
2a7eb3dd19
ci(integration): give the suite a 20m package timeout
bvandeusen and Claude Opus 5.5
2026-10-06 17:52:01 -04:00
d5dfcf5b7c
fix: boost control is a switch; MutationQueue keeps one enqueue per kind (M464 #4998 )
bvandeusen and Claude Opus 5.5
2026-10-06 14:34:28 -04:00
af36b2f24a
feat: per-user volume leveling preference, synced across devices (M464 #4998 )
bvandeusen and Claude Opus 5.5
2026-10-06 14:29:40 -04:00
1e9aed214b
Merge pull request 'M462 security hardening and M464 loudness analysis (steps 1–3)' (#135 ) from dev into main
bvandeusen
2026-10-06 14:19:58 -04:00
e3aa8629d3
feat(api): deliver loudness gains to every client (M464 #4997 )
bvandeusen and Claude Opus 5.5
2026-10-06 13:54:05 -04:00
c2f81bf8df
feat(library): album loudness from the tracks' summed block histograms (M464 #4996 )
bvandeusen and Claude Opus 5.5
2026-10-06 13:27:02 -04:00