This website requires JavaScript.
24ba655dc3
refactor: simplify error handling in updateParticipants and toModels methods
Deluan
2026-03-03 08:14:54 -05:00
ed4c0ef432
fix(scanner): add nil guards to cursor wrapping (#5139 )
Deluan Quintão
2026-03-03 07:58:14 -05:00
c885766854
chore(deps): bump actions/download-artifact in /.github/workflows (#5133 )
dependabot[bot]
2026-03-02 20:48:36 -05:00
692f0f99f6
chore(deps): bump actions/upload-artifact in /.github/workflows (#5134 )
dependabot[bot]
2026-03-02 20:48:26 -05:00
157c917ca5
chore(deps): update golang.org/x/net to v0.51.0
Deluan
2026-03-02 17:01:12 -05:00
435fb0b076
feat(server): add EnableCoverArtUpload config option
Deluan
2026-03-02 16:59:05 -05:00
6fd044fb09
feat(plugins): change websockets Data field type to []byte for binary support
Deluan
2026-03-02 16:38:00 -05:00
30df004d4d
test(plugins): speed up integration tests (~45% improvement) (#5137 )
Deluan Quintão
2026-03-02 16:18:30 -05:00
82f9f88c0f
refactor(auth): replace untyped JWT claims with typed Claims struct
Deluan
2026-03-02 13:15:31 -05:00
3d86d44fd9
feat(server): add averageRating to smart playlists (#5092 )
Lokke
2026-03-02 17:51:32 +01:00
acd69f6a4f
feat(playlist): support #EXTALBUMARTURL directive and sidecar images (#5131 )
Deluan Quintão
2026-03-02 11:39:59 -05:00
c4fd8e3125
fix(plugins): resolve kvstore TTL flaky test due to second-boundary race
Deluan
2026-03-02 11:20:25 -05:00
27a83547f7
fix(plugins): clear plugin errors on startup to allow retrying
Deluan
2026-03-02 08:56:56 -05:00
d004f99f8f
feat(playlist): add custom playlist cover art upload (#5110 )
adrbn
2026-03-01 20:07:18 +01:00
4e34d3ac1f
feat(ui): conditionally display 'path' field in LibraryList for desktop view
Deluan
2026-03-01 10:50:37 -05:00
3476be01f7
fix(scanner): handle nil mainCtx in Watcher to prevent panic
Deluan
2026-03-01 10:50:24 -05:00
2471bb9cf6
feat(plugins): add TTL support, batch operations, and hardening to kvstore (#5127 )
Deluan Quintão
2026-02-28 23:12:17 -05:00
d9a215e1e3
feat(plugins): allow mounting library directories as read-write (#5122 )
Deluan Quintão
2026-02-28 10:59:13 -05:00
d134de1061
feat(server): add 'has_rating' filter to artist and mediafile repositories
Deluan
2026-02-28 10:55:19 -05:00
bd8032b327
fix(plugins): add base64 handling for []byte and remove raw=true (#5121 )
Deluan Quintão
2026-02-27 19:00:19 -05:00
582d1b3cd9
refactor(plugins): validate scheduler capability at load time
Deluan
2026-02-26 16:30:50 -05:00
cdd3432788
refactor(http): rename HTTP client files and update struct names for consistency
Deluan
2026-02-26 16:19:37 -05:00
5bc2bbb70e
feat(subsonic): append album version to names in Subsonic API (#5111 )
Deluan Quintão
2026-02-26 10:50:12 -05:00
14343d91b0
chore(deps): update goose to 3.27.0
Deluan
2026-02-24 21:44:04 -05:00
fc36f1daa6
chore(deps): update go-taglib dependency to latest version (mka fix)
Deluan
2026-02-24 20:45:58 -05:00
652c27690b
feat(plugins): add HTTP host service (#5095 )
Deluan Quintão
2026-02-24 14:28:36 -05:00
2bb13e5ff1
feat(server): add ExtAuth logout URL configuration (#5074 )
Deluan Quintão
2026-02-23 20:28:38 -05:00
d1c5e6a2f2
chore(deps): bump goreleaser/goreleaser-action in /.github/workflows (#5089 )
dependabot[bot]
2026-02-23 19:06:45 -05:00
0c3cc86535
fix(subsonic): restore public attribute for playlists in XML responses
Deluan
2026-02-23 18:16:50 -05:00
b59eb32961
feat(subsonic): sort search3 results by relevance (#5086 )
Deluan Quintão
2026-02-23 08:51:54 -05:00
23bf256a66
feat: make album and artist annotations available to smart playlists (#4927 )
Valeri Sokolov
2026-02-23 04:05:59 +01:00
d02bf9a53d
test(e2e): add MusicBrainz ID tests for song and album searches
Deluan
2026-02-22 00:32:14 -05:00
ec75808153
fix(subsonic): handle empty quoted phrases in FTS5 query and search expression
Deluan
2026-02-21 22:00:00 -05:00
7ad2907719
refactor: move playlist business logic from repositories to service layer (#5027 )
Deluan Quintão
2026-02-21 19:57:13 -05:00
76c01566a9
test(ui): change datagrid from table to div to fix warning
Deluan
2026-02-21 18:56:26 -05:00
1cf3fd9161
fix(scanner): prevent ScanOnStartup when scanner is disabled
Deluan
2026-02-21 18:51:16 -05:00
54de0dbc52
feat(server): implement FTS5-based full-text search (#5079 )
Deluan Quintão
2026-02-21 17:52:42 -05:00
6f5f58ae9d
chore(deps): update go-taglib to v0.0.0-20260221220301-2fab4903f48e
Deluan
2026-02-21 17:04:59 -05:00
821f22a86f
feat(scanner): upgrade TagLib to 2.2, with MKA/Matroska support (#5071 )
Deluan Quintão
2026-02-21 16:52:48 -05:00
74aa4d6fa5
fix(ui): Search focus after clear (#4932 )
Boris Rorsvort
2026-02-21 20:39:38 +01:00
dc4607c657
chore(deps): bump ajv from 6.12.6 to 6.14.0 in /ui (#5080 )
dependabot[bot]
2026-02-21 12:44:32 -05:00
ddab0da207
docs: update commit message format in CONTRIBUTING.md
Deluan
2026-02-20 11:00:34 -05:00
08a71320ea
fix(ui): make toggle switches visible in Gruvbox Dark theme (#5063 ) (#5064 )
Deluan Quintão
2026-02-18 15:38:20 -05:00
44a5482493
fix(ui): activity Indicator switching constantly between online/offline (#5054 )
Raphael Catolino
2026-02-17 20:47:20 +01:00
5fa8356b31
chore(deps): bump golangci-lint to v2.10.0 and suppress new gosec false positives
Deluan
2026-02-17 09:26:45 -05:00
cad9cdc53e
fix(scanner): preserve created_at when moving songs between libraries (#5055 )
Deluan Quintão
2026-02-17 08:37:05 -05:00
b774133cd1
chore(deps): update go-sqlite3 to v1.14.34 and pocketbase/dbx to v1.12.0
Deluan
2026-02-17 08:20:16 -05:00
a20d56c137
fix(ui): prevent "Play Next" restarting play at top of queue (#5049 )
Alanna
2026-02-17 08:34:24 -05:00
b64d8ad334
fix(server): return 404 instead of 500 for non-existent playlists
Deluan
2026-02-15 22:36:58 -05:00
f00af7f983
feat(ui): add Dracula theme (#5023 )
Paul Becker
2026-02-12 22:42:34 +01:00
875ffc2b78
fix(ui): update Danish, Portuguese (BR) translations from POEditor (#5039 )
Deluan Quintão
2026-02-12 16:38:57 -05:00
885334c819
fix(ui): update Hungarian translation (#5041 )
ChekeredList71
2026-02-12 21:36:05 +00:00
ff86b9f2b9
ci: add GitHub Actions workflow for pushing translations to POEditor
Deluan
2026-02-12 16:32:42 -05:00
13d3d510f5
fix(ui): update Basque localisation (#5038 )
Xabi
2026-02-12 21:52:37 +01:00
656009e5f8
fix(i18n) update Chinese Simplified translation (#5025 )
fxj368
2026-02-13 04:49:20 +08:00
06b3a1f33e
fix(insights): update HasCustomPID logic to use default constants
Deluan
2026-02-12 14:33:25 -05:00
0f4e8376cb
feat(ui): add download config toml link, disable copy when clipboard not available (#5035 )
Kendall Garner
2026-02-12 15:54:04 +00:00
199cde4109
fix: upgrade go-taglib to latest version
Deluan
2026-02-12 10:12:04 -05:00
897de02a84
docs: documents how subsonic e2e tests are structured
Deluan
2026-02-11 22:49:41 -05:00
7ee56fe3bf
chore: update golangci-lint version to v2.9.0 in Makefile
Deluan
2026-02-11 08:31:51 -05:00
34c6f12aee
feat(server): add explicit status support in smart playlists (#5031 )
Kendall Garner
2026-02-10 15:22:34 -08:00
eb9ebc3fba
fix(ui): add missing keys in Danish translation (#5011 )
Denisa Rissa
2026-02-10 20:05:14 +01:00
e05a7e230f
fix: prevent data race on conf.Server during cleanup in e2e tests
Deluan
2026-02-10 11:25:17 -05:00
62f9c3a458
fix: linux service should restart when upgrading (#5001 )
Rob Emery
2026-02-09 22:11:45 +00:00
fd09ca103f
fix(scanner): resolve data race on conf.Server access in getScanner
Deluan
2026-02-09 16:42:05 -05:00
ed79a8897b
fix(scanner): pass filename hint to gotaglib's OpenStream for format detection (#5012 )
Deluan Quintão
2026-02-09 16:16:28 -05:00
302d99aa8b
chore(deps): update dependencies in go.mod and go.sum
Deluan
2026-02-09 16:05:22 -05:00
bee0305831
fix: split reflex -R flags to preserve directory exclusion optimization
Deluan
2026-02-09 10:47:30 -05:00
c280dd67a4
refactor: run Go modernize
Deluan
2026-02-09 08:44:44 -05:00
8319905d2c
test(subsonic): add comprehensive e2e test suite for Subsonic API (#5003 )
Deluan Quintão
2026-02-09 08:24:37 -05:00
c80ef8ae41
chore: ignore _test.go files in reflex conf
Deluan
2026-02-08 20:06:19 -05:00
0a4722802a
fix(subsonic): validate JSONP callback parameter
Deluan
2026-02-08 10:33:46 -05:00
a704e86ac1
refactor: run Go modernize (#5002 )
Maximilian
2026-02-08 08:57:30 -06:00
408aa78ed5
fix(scanner): log warning when metadata extraction fails
Deluan
2026-02-07 21:36:39 -05:00
29f98b889b
chore(deps): update dependencies in go.mod and go.sum to latest versions
Deluan
2026-02-07 13:23:58 -05:00
1e37e680d7
feat(agents): Add artist url and top and similar songs to ListenBrainz agent (#4934 )
Kendall Garner
2026-02-07 18:19:43 +00:00
6fb4cd277e
feat(subsonic): add OS readonly and validUntil properties in playlists (#4993 )
Kendall Garner
2026-02-07 00:35:54 +00:00
e11206f0ee
fix(lastfm): clean up Last.fm content by removing "Read more" links from descriptions and bios
Deluan
2026-02-06 16:52:34 -05:00
b4e03673ba
fix(scanner): preserve parentheses in lyrics when processing alias tags (#4985 )
Deluan Quintão
2026-02-06 16:21:35 -05:00
01c839d9be
fix: add music.old to .dockerignore and .gitignore
Deluan
2026-02-06 07:40:05 -05:00
2731e25fd2
fix(ui): use div for fragment, check lastfm url for artist page (#4980 )
Kendall Garner
2026-02-04 22:34:26 +00:00
4f3845bbe3
fix(ui): Nautiline theme font path (#4983 )
Boris Rorsvort
2026-02-04 23:24:30 +01:00
e8863ed147
feat(plugins): add SubsonicAPI CallRaw, with support for raw=true binary response for host functions (#4982 )
Deluan Quintão
2026-02-04 15:48:08 -05:00
19ea338bed
chore(deps): bump @isaacs/brace-expansion from 5.0.0 to 5.0.1 in /ui (#4974 )
dependabot[bot]
2026-02-04 10:12:00 -05:00
338853468f
chore(deps): bump bytes in /plugins/pdk/rust/nd-pdk-host (#4973 )
dependabot[bot]
2026-02-04 10:11:37 -05:00
4e720ee931
fix: handle WASM runtime panics in gotaglib openFile function.
Deluan
2026-02-03 22:56:47 -05:00
0c8f2a559c
chore(deps): bump lodash from 4.17.21 to 4.17.23 in /ui (#4922 )
dependabot[bot]
2026-02-03 13:12:53 -05:00
a1036e75a9
fix(ui): update Catalan, German, Spanish, French, Indonesian, Polish translations from POEditor (#4960 )
Deluan Quintão
2026-02-03 18:50:16 +01:00
2829cec0ce
fix(subsonic): add SubMusic to default MinimalClients list
Deluan
2026-02-03 12:07:02 -05:00
ddff5db14a
chore: format JSX components
Deluan
2026-02-03 12:44:42 -05:00
d7ec7355c9
Merge commit from fork
Alex Gustafsson
2026-02-03 18:22:57 +01:00
c3a4585c83
chore(plugins): move Discord Rich Presence plugin to its own repository: https://github.com/navidrome/discord-rich-presence-plugin
Deluan
2026-02-03 11:41:49 -05:00
2068e7d413
fix(plugins): don't recording metrics for not implemented plugin calls
Deluan
2026-02-03 10:11:55 -05:00
15526b25e5
docs: fix gotaglib comment
Deluan
2026-02-02 20:56:58 +01:00
948f6507c1
fix(ui): update Traditional Chinese translation (#4961 )
York
2026-02-03 04:03:34 +08:00
9bce7677f5
fix(ui): update Bulgarian, Catalan, German, Greek, Spanish, Finnish, French, Galician, Dutch, Polish, Portuguese (BR), Russian, Slovenian, Swedish, Thai translations from POEditor (#4852 )
Deluan Quintão
2026-02-02 09:05:28 +01:00
7b709899a1
refactor(plugins): simplify websocket callback invocation by creating a generic helper function
Deluan
2026-02-02 08:59:40 +01:00
ebbc31f1ab
fix(scanner): store scan errors in the database and update UI error handling
Deluan
2026-02-01 16:16:58 +01:00
84ab652ca7
feat: add riscv64 builds (#4949 )
MichaIng
2026-01-31 07:24:19 +01:00
f13ca58c98
fix(plugins): allow using defaults in config form manifest (#4954 )
Kendall Garner
2026-01-30 14:26:17 +00:00