4013 Commits

Author SHA1 Message Date
Deluan
6b79fde90d
chore(deps): upgrade golang.org/x/net (CVE-2024-45338)
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:43:19 +00:00
Kendall Garner
8c5edea9db
fix(server): use cancellable context instead of Sleep for initial insights delay (#3593)
* bugfix(server): use cancellable contet instead of sleep for initial insights delay

* fix(server): initial delay time

Signed-off-by: Deluan <deluan@navidrome.org>

---------

Signed-off-by: Deluan <deluan@navidrome.org>
Co-authored-by: Deluan <deluan@navidrome.org>
2026-01-02 20:43:19 +00:00
Deluan Quintão
b3efc17669
fix(server): backup and restore issues from the cli (#3579)
* fix(server): backup not working from cli

Signed-off-by: Deluan <deluan@navidrome.org>

* fix(server): make backup-file required for restore

Signed-off-by: Deluan <deluan@navidrome.org>

---------

Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:43:19 +00:00
whorfin
b5e7731d11
fix(server): typo in backup prune message (#3582)
probably a copypasta oops
2026-01-02 20:43:19 +00:00
Deluan
0ca12a5e0c
build(ci): use the head commit sha in PR versions
Ref: https://stackoverflow.com/a/68068674
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:43:19 +00:00
Deluan
6888ea92ec
build(poeditor): change commit message for translation update PRs
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:43:19 +00:00
Deluan Quintão
17bf465b23
fix(ui): update Español, Français, Svenska translations from POEditor (#3576)
Co-authored-by: navidrome-bot <navidrome-bot@navidrome.org>
2026-01-02 20:43:19 +00:00
Deluan
90eacd3d66
fix(insights): get Windows version
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:43:19 +00:00
Deluan
9ba617e503
chore: add PikaPods to release notes
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:43:19 +00:00
ChekeredList71
efd81088c2
fix(ui): update Hungarian translation (#3574)
* Hungarian translation for v0.54.1 done

* Hungarian translation for v0.54.1 done

---------

Co-authored-by: ChekeredList71 <null@example.com>
2026-01-02 20:43:19 +00:00
Deluan
1a430d75e0
fix(server): change log level for some last.fm warnings
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:43:19 +00:00
Deluan Quintão
1cef36e2f2
build(ci): fix release version label and package names (#3573)
* fix(ci): fix snapshot label

Signed-off-by: Deluan <deluan@navidrome.org>

* fix(ci): fix package names

Signed-off-by: Deluan <deluan@navidrome.org>

---------

Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:43:18 +00:00
Deluan Quintão
610559eb9f
fix(ci): fix linux packages upload (#3569)
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:43:18 +00:00
Deluan Quintão
cb65d3f73e
fix(ui): update translations from POEditor (#3568)
Co-authored-by: navidrome-bot <navidrome-bot@navidrome.org>
2026-01-02 20:43:18 +00:00
Deluan Quintão
60a777808b
feat(ci): add updated language names to the POEditor PR title (#3566)
* refactor(ci): add updated languages to the POEditor PR title

Signed-off-by: Deluan <deluan@navidrome.org>

* refactor(ci): add an author to the PR

Signed-off-by: Deluan <deluan@navidrome.org>

---------

Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:43:18 +00:00
Deluan
19ca4d0e98
fix(server): reduce album placeholder image size by converting it to webp
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:43:18 +00:00
Deluan
4197da3613
fix(insights): check if running in a container
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:43:18 +00:00
Deluan
e970b3670c
fix(insights): better status
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:43:18 +00:00
Deluan
88e03b13cf
fix(ui): show last.fm api-key missing in a FormHelperText
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:43:18 +00:00
Dany Marcoux
c838eac6d7
docs: set org.opencontainers.image.source label in Dockerfile (#3564)
As documented in the OCI Image Format,
org.opencontainers.image.source[1] identifies an image's source
repository. This is purely for documentation purposes. It does however
help tools such as Renovate[2] to find the changelogs when a new
Navidrome version is released. The changelogs would then be included in
the PR Renovate creates.

[1]: 5325ec4885/annotations.md (L24)
[2]: https://docs.renovatebot.com/modules/datasource/docker/#description

Signed-off-by: Dany Marcoux <git@dmarcoux.com>
2026-01-02 20:43:18 +00:00
Deluan Quintão
4d1ed54ca9
fix(ui): don't hide Last.fm scrobble switch (#3561)
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:43:18 +00:00
Deluan Quintão
06a61c261f
fix(insights): fix issues and improve reports (#3558)
* fix(insights): show error whn reading library counts

Signed-off-by: Deluan <deluan@navidrome.org>

* fix(insights): wait 30 mins before send first report

Signed-off-by: Deluan <deluan@navidrome.org>

* fix(insights): send number of active players, grouped by client type

Signed-off-by: Deluan <deluan@navidrome.org>

* fix(insights): disable reports when running in dev mode

Signed-off-by: Deluan <deluan@navidrome.org>

* fix(insights): add Dockerfile to the docker build, to avoid `vcs.modified=true`

Signed-off-by: Deluan <deluan@navidrome.org>

* fix(insights): add more linux fs types

Signed-off-by: Deluan <deluan@navidrome.org>

* fix(insights): need admin permissions to retrieve library counts

Signed-off-by: Deluan <deluan@navidrome.org>

* fix(insights): dev flag to disable player insights

Signed-off-by: Deluan <deluan@navidrome.org>

---------

Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:43:18 +00:00
Caio Cotts
4592fd98a2
fix(ui): fix play queue for play button and context menus (#3559) 2026-01-02 20:43:18 +00:00
York
37464be5d7
fix(ui): completed the translation of zh-Hant and zh-Hans (#3450)
* Completed the translation of zh-Hant and zh-Hans

* Update translation terms in zh-Hans and zh-Hant files

---------

Co-authored-by: Deluan <deluan@navidrome.org>
2026-01-02 20:43:18 +00:00
Deluan Quintão
04cda742f3
fix(ui): update Turkish, Galician and Polish translations from POEditor (#3426)
Co-authored-by: deluan <331353+deluan@users.noreply.github.com>
2026-01-02 20:43:17 +00:00
qx100
36aee5b066
fix(ui): Update Chinese (simplified) Translation (#3490) 2026-01-02 20:43:17 +00:00
Xabi
506264155a
fix(ui): update Basque (#3542)
* fix(ui): update eu.json

Added:
- lastAccessAt

Updated:
- lastLoginAt

* fix(ui): update eu.json

Updated:
- logout
2026-01-02 20:43:17 +00:00
Deluan
accc5b6d6d
chore(deps): bump Go dependencies
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:43:15 +00:00
Deluan Quintão
ebde3d1655
feat(Insights): add anonymous usage data collection (#3543)
* feat(insights): initial code (WIP)

* feat(insights): add more info

* feat(insights): add fs info

* feat(insights): export insights.Data

Signed-off-by: Deluan <deluan@navidrome.org>

* feat(insights): more config info

Signed-off-by: Deluan <deluan@navidrome.org>

* refactor(insights): move data struct to its own package

Signed-off-by: Deluan <deluan@navidrome.org>

* refactor(insights): omit some attrs if empty

Signed-off-by: Deluan <deluan@navidrome.org>

* feat(insights): send insights to server, add option to disable

Signed-off-by: Deluan <deluan@navidrome.org>

* fix(insights): remove info about anonymous login

Signed-off-by: Deluan <deluan@navidrome.org>

* chore(insights): fix lint

Signed-off-by: Deluan <deluan@navidrome.org>

* fix(insights): disable collector if EnableExternalServices is false

Signed-off-by: Deluan <deluan@navidrome.org>

* fix(insights): fix type casting for 32bit platforms

Signed-off-by: Deluan <deluan@navidrome.org>

* fix(insights): remove EnableExternalServices from the collection (as it will always be false)

Signed-off-by: Deluan <deluan@navidrome.org>

* chore(insights): fix lint

Signed-off-by: Deluan <deluan@navidrome.org>

* refactor(insights): rename function for consistency

Signed-off-by: Deluan <deluan@navidrome.org>

* feat(insights): log the data sent to the collector server

Signed-off-by: Deluan <deluan@navidrome.org>

* feat(insights): add last collection timestamp to the "about" dialog.

Also add opt-out info to the SignUp form

Signed-off-by: Deluan <deluan@navidrome.org>

* feat(insights): only sends the initial data collection after an admin user is created

Signed-off-by: Deluan <deluan@navidrome.org>

* feat(insights): remove dangling comment

Signed-off-by: Deluan <deluan@navidrome.org>

* feat(insights): Translate insights messages

Signed-off-by: Deluan <deluan@navidrome.org>

* fix(insights): reporting empty library

Signed-off-by: Deluan <deluan@navidrome.org>

* refactor: move URL to consts.js

Signed-off-by: Deluan <deluan@navidrome.org>

---------

Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:41:57 +00:00
Deluan
88fa1a13e7
chore(deps): bump prettier
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:41:57 +00:00
Deluan
5589ecb3cf
chore(deps): bump JS dependencies
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:41:57 +00:00
Deluan
2fbd52584a
chore(deps): bump Alpine version
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:41:57 +00:00
Deluan
b7e51a9770
chore(deps): bump Go dependencies
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:41:57 +00:00
Kendall Garner
34f8d23066
fix(ui): service worker crashing on precacheAndRoute (#3528) 2026-01-02 20:41:57 +00:00
Deluan
1c869102e6
fix(server): don't try to save JWT if it fails to encrypt
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:41:57 +00:00
Deluan
05521781a8
fix(server): encrypt jwt secret at rest
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:41:57 +00:00
Deluan
03fa2920a2
fix(server): more race conditions when updating artist/album from external sources
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:41:57 +00:00
Deluan
cdcfc99db8
fix(server): add disc number to fake path.
Also revert "feat(server): enable "Report Real Path" by default"

Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:41:57 +00:00
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