Deluan
b7bb44cc7e
fix(server): race condition when updating artist/album from external sources
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:41:56 +00:00
Deluan
16f2f849e5
feat(server): get artist images from Last.fm
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:41:56 +00:00
Deluan
df0ba725c1
feat(server): enable "Report Real Path" by default
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:41:56 +00:00
Deluan Quintão
6959412840
fix(ui): PWA not updating properly in new Vite config ( #3493 )
...
* fix: pwa not updating. use the custom code we had before
Signed-off-by: Deluan <deluan@navidrome.org>
* fix: docker build
Signed-off-by: Deluan <deluan@navidrome.org>
---------
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:41:56 +00:00
Deluan
f6de01f5f1
chore(deps): bump JS dependencies
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:41:56 +00:00
Deluan
0a03b57d22
chore(deps): bump Go dependencies
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:41:56 +00:00
Kursat Aktas
89f7429f64
feat: add Navidrome Guru on Gurubase.io ( #3491 )
...
Signed-off-by: Kursat Aktas <kursat.ce@gmail.com>
2026-01-02 20:41:56 +00:00
Deluan
361e5736e6
chore: update sanitize with updated diacritics
...
See https://github.com/navidrome/navidrome/issues/255#issuecomment-2488595427
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:41:56 +00:00
Deluan
f7a0484874
fix: pre-cache square images, or else they are not useful for the Album Grid
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:41:56 +00:00
Deluan
0744038ead
refactor: when resizing, don't buffer the original image "just in case"
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:41:56 +00:00
Deluan
fd85b458ac
refactor: remove unnecessary intermediate buffer for ffmpeg image extraction
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:41:56 +00:00
Deluan
75263e5b8f
refactor: reduce GC pressure by pre-allocating slices
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:41:56 +00:00
Deluan
67d4982632
revert: separation of write and read DBs
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:41:56 +00:00
Deluan
17755b7676
refactor: better implementation of newRefreshQueue.
...
- use pointer references in channel
- actually exits when context is canceled
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:41:55 +00:00
Deluan
4825597116
refactor: change toSQL to use ReplaceAllStringFunc, to cause less static allocations
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:41:55 +00:00
Deluan
9e94cfcffc
refactor: load translations with sync.OnceValues
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:41:55 +00:00
Deluan
57854aab13
chore(deps): bump JS dependencies
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:41:55 +00:00
Deluan
83de77360d
chore(deps): bump Go dependencies
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:41:53 +00:00
Deluan Quintão
202b64ce9e
feat: cache login background images ( #3462 )
...
* feat: use direct links to unsplash for background images
Signed-off-by: Deluan <deluan@navidrome.org>
* feat: cache images from unsplash
Signed-off-by: Deluan <deluan@navidrome.org>
* refactor: use cache.HTTPClient to reduce complexity
Signed-off-by: Deluan <deluan@navidrome.org>
* refactor: remove magic numbers
Signed-off-by: Deluan <deluan@navidrome.org>
---------
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:41:22 +00:00
Deluan Quintão
54c3b8d14b
fix: forcing transcoding when client does not specify transcoding options ( #3455 )
...
* fix: wip
Signed-off-by: Deluan <deluan@navidrome.org>
* fix: revert #3227
It is not respecting the server configured transcoding for the player
Signed-off-by: Deluan <deluan@navidrome.org>
---------
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:41:22 +00:00
Deluan
53541a6d4a
chore(deps): bump JS dependencies
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:41:22 +00:00
Deluan
af86a590d8
chore(deps): bump Go dependencies
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:41:19 +00:00
Deluan
394e07bbd3
chore(deps): bump js dependencies
2026-01-02 20:41:04 +00:00
Deluan
de18d117a9
chore(deps): bump go dependencies
2026-01-02 20:41:04 +00:00
Deluan Quintão
dd94c6689b
fix(server): try to find proper embedded front cover - only for vorbis comments for now ( #3348 )
...
* fix(artwork): get the first image from vorbis comments, not the last. fixes #3254
This uses a fork for now.
* fix(artwork): prioritize getting embedded types that are listed as "front" covers
* fix: cleanup
2026-01-02 20:41:04 +00:00
Deluan Quintão
50ad8bb8e6
fix(server): fix case-insensitive sort order and add indexes to improve performance ( #3425 )
...
* refactor(server): better sort mappings
* refactor(server): simplify GetIndex
* fix: recreate tables and indexes using proper collation
Also add tests to ensure proper collation
* chore: remove unused method
* fix: sort expressions
* fix: lint errors
* fix: cleanup
2026-01-02 20:41:04 +00:00
Kendall Garner
a48bc207db
build: add packages for deb and rpm to release ( #3202 )
...
* support packing deb/rpm/archlinux
* .-.
* initial test
* fix postinstall, remove execstop
* bash -> sh, create toml manually if it doesn't exist (thanks debian)
* don't forget that newline
* postrm
* comments, contrib -> packaging/linux
* contrib > packaging in .goreleaser
* actually add toml
* openrc/sysv templates
* add apk. nothing else yet
* wait, we have a ntive uninstall
* fix: merge errors, move packaging to release
* chore: remove old goreleaser conf
* ci: remove `release` dependency on `docker push`
* ci: fix release version
* ci: upload packages
* ci: try to fix json file list
* ci: replace the json file list with a txt artifact
* postremove -> preremove, skip install/remove error
* actually do preremove
* better preremove
* ci: fix
* ci: fix?
* ci: clean-up
* ci: try to change labels and filenames
* ci: fix?
* ci: fix?
* ci: add `make package` target
* ci: make labels more readable
hope it doesn't break the pipeline again
* build: remove alpine and archlinux packages, for now.
---------
Co-authored-by: Deluan <deluan@navidrome.org>
2026-01-02 20:41:04 +00:00
Deluan Quintão
63b623a357
build(netgo): make sure the project is always compiled with netgo build tag ( #3428 )
...
* build(netgo): make sure the project is always compiled with `netgo` build tag
* docs(netgo): better comments
2026-01-02 20:41:04 +00:00
dependabot[bot]
e30b700d40
chore(deps-dev): bump eslint-plugin-jsx-a11y in /ui ( #3416 )
...
Bumps [eslint-plugin-jsx-a11y](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y ) from 6.10.0 to 6.10.1.
- [Release notes](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/releases )
- [Changelog](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/CHANGELOG.md )
- [Commits](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/compare/v6.10.0...v6.10.1 )
---
updated-dependencies:
- dependency-name: eslint-plugin-jsx-a11y
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-02 20:41:04 +00:00
dependabot[bot]
ecc5b54ef5
chore(deps-dev): bump eslint-plugin-react-refresh in /ui ( #3419 )
...
Bumps [eslint-plugin-react-refresh](https://github.com/ArnaudBarre/eslint-plugin-react-refresh ) from 0.4.12 to 0.4.13.
- [Release notes](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases )
- [Changelog](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/blob/main/CHANGELOG.md )
- [Commits](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/compare/v0.4.12...v0.4.13 )
---
updated-dependencies:
- dependency-name: eslint-plugin-react-refresh
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-02 20:41:04 +00:00
dependabot[bot]
c992a2df26
chore(deps-dev): bump @testing-library/jest-dom in /ui ( #3418 )
...
Bumps [@testing-library/jest-dom](https://github.com/testing-library/jest-dom ) from 6.6.1 to 6.6.2.
- [Release notes](https://github.com/testing-library/jest-dom/releases )
- [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md )
- [Commits](https://github.com/testing-library/jest-dom/compare/v6.6.1...v6.6.2 )
---
updated-dependencies:
- dependency-name: "@testing-library/jest-dom"
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-02 20:41:04 +00:00
dependabot[bot]
a71cad5081
chore(deps-dev): bump @types/node from 22.7.6 to 22.7.7 in /ui ( #3417 )
...
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ) from 22.7.6 to 22.7.7.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node )
---
updated-dependencies:
- dependency-name: "@types/node"
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-02 20:41:04 +00:00
dependabot[bot]
382d1fcf69
chore(deps-dev): bump @vitejs/plugin-react from 4.3.2 to 4.3.3 in /ui ( #3415 )
...
Bumps [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react ) from 4.3.2 to 4.3.3.
- [Release notes](https://github.com/vitejs/vite-plugin-react/releases )
- [Changelog](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/CHANGELOG.md )
- [Commits](https://github.com/vitejs/vite-plugin-react/commits/v4.3.3/packages/plugin-react )
---
updated-dependencies:
- dependency-name: "@vitejs/plugin-react"
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-02 20:41:04 +00:00
Deluan
2838d1552c
ci: ignore refactor commits in release notes
2026-01-02 20:41:04 +00:00
Deluan Quintão
e4c12c8739
refactor: small improvements and clean up ( #3423 )
...
* refactor: replace custom map functions with slice.Map
* refactor: extract StringerValue function
* refactor: removed unnecessary if
* chore: removed invalid comment
* refactor: replace more map functions
* chore: fix FFmpeg typo
2026-01-02 20:41:04 +00:00
Kendall Garner
8523c74d71
feat(subsonic): add MusicBrainz ID and Sort Name to getArtists
2026-01-02 20:41:03 +00:00
Rob Emery
56be97b9ce
feat(build): MSI installer improvements ( #3376 )
...
* feat(build): add a make target to build a msi installer locally
* Testing wrapping the executable in cmd
* build(ci): build msis in parallel
* feat(server): add LogFile config option
* Revert "Testing wrapping the executable in cmd"
This reverts commit be29592254cb903fd4904f2f50d4d1a860795d33.
* Adding --log-file for service executable
* feat(ini): wip
* feat(ini): parse nested ini section
* fix(conf): fix fatal error messages
* Now navidrome supports INI, we can use the built-in msi ini system
and not require the VBScript to convert it into toml
* File needs to be called .ini to be parsed as an INI and correct filename
needs to be passed to the service
* fix(msi): build msi locally
* fix(msi): pipeline
* fix(msi): pipeline
* fix(msi): pipeline
* fix(msi): pipeline
* fix(msi): pipeline
* fix(msi): Makefile
* fix(msi): more clean up
* fix(log): convert LF to CRLF on Windows
* fix(msi): config filename should be case-insensitive
* fix(msi): make it a little more idiomatic
* Including the latest windows release of ffmpeg into the msi
as built by https://www.gyan.dev/ffmpeg/builds/ (linked
to on the official ffmpeg source)
* This should version independent
* Need bash expansion for the * to work
* This will run twice, once for x86 and once for x64, I'll make it cache
the executable for now as it'll be quicker
* Silencing wget
* Add ffmpeg path to the config so Navidrome knows where to find it
* refactor: download ffmpeg from our repository
* When going back from the "Are you ready to install?" it should go back to the
Settings dialogue that you just came from
* fix: comments
---------
Co-authored-by: Deluan <deluan@navidrome.org>
2026-01-02 20:41:03 +00:00
Deluan
e758337896
feat(subsonic): getOpenSubsonicExtensions is now public
2026-01-02 20:41:03 +00:00
Deluan
be017614c5
fix(server): allow extra spaces in transcoding commands
2026-01-02 20:41:03 +00:00
Deluan
a581e3e0c5
refactor(server): remove ffmpeg unused code
2026-01-02 20:41:03 +00:00
Caio Cotts
0d00f29104
fix(playlists): make the m3u parser case-insensitive again #3410
2026-01-02 20:41:03 +00:00
Deluan
b1893ac7c6
fix(server): FFmpegPath can contain spaces
2026-01-02 20:41:03 +00:00
Deluan
44b2164659
perf(server): add index for sort tags.
...
Improves search performance when searching with PreferSortTags=true
2026-01-02 20:41:03 +00:00
Deluan
df8f13f593
fix: use docker buildx, as required by Linux
2026-01-02 20:41:03 +00:00
Deluan Quintão
39b668eb8e
fix(ui): update translations from POEditor ( #3349 )
...
Co-authored-by: deluan <331353+deluan@users.noreply.github.com>
2026-01-02 20:41:03 +00:00
Ivan Pešić
6dbcd35cf9
fix(ui): update Serbian translation ( #3361 )
2026-01-02 20:41:03 +00:00
jan666
a9657187ad
build: fix build on FreeBSD ( #3403 )
...
- vite: use rollup/wasm-node
- use vitejs/plugin-react instead of plugin-react-swc
2026-01-02 20:41:03 +00:00
Deluan Quintão
41d22e0aea
fix(ui): service worker does not load new version of ui ( #3402 )
...
* fix(pwa): wip
* fix(pwa): wip
2026-01-02 20:41:03 +00:00
Deluan
cc77274cf1
chore(deps): bump peter-evans/create-pull-request from 6 to 7
2026-01-02 20:41:03 +00:00
Deluan Quintão
7980ea6909
feat(subsonic): support OS clearing play queue ( #3399 )
2026-01-02 20:41:02 +00:00