Deluan Quintão
2b59e62048
build: new pipeline, new way to cross-compile and build docker images locally. ( #3388 )
...
* build: new pipeline, new way to cross-compile and build docker images locally. (#3383 )
* build: use alternative repositories
* build: fix
* build: validate taglib downloads
* build: control concurrency
* build: validate xx version
* build: remove taglib download validation as the version can be changed as an argument.
2026-01-02 20:40:20 +00:00
Deluan
787577ac9e
Revert "build: new pipeline, new way to cross-compile and build docker images locally. ( #3383 )"
...
This reverts commit b14c7906411b896f507181ac9e53c57b6920152a.
2026-01-02 20:40:20 +00:00
Deluan Quintão
9bd383099e
build: new pipeline, new way to cross-compile and build docker images locally. ( #3383 )
...
* refactor(ci): faster pipeline, add support for darwin/arm64 (#26 )
* feat: WIP
* feat: WIP - all except windows
* fix: Bump crazymax/osxcross to 14.5
* feat: bundle UI
* fix: works on all 10!
* fix: WIP
* fix: add git sha and tag
* fix: download taglib from cross-taglib
* feat: add more dependabot coverage
* feat: build JS bundle using Docker
* refactor: pipeline
* fix: wip
* fix: wip
* fix: wip
* fix: wip
* fix: wip
* fix: wip
* fix: wip
* fix: wip
* fix: wip
* fix: real
* fix: no container
* fix: no container
* fix: pkg-config
* fix: pkg-config
* fix: pkg-config
* fix: pkg-config
* fix: pkg-config
* fix: add lint
* fix: add lint
* fix: add lint
* fix: add lint
* fix: add lint
* fix: add lint
* fix: add js
* fix: gittags
* fix: gittags
* test: is_release
* test: is_release
* test: is_release
* test: push image
* test: push image
* test: push image
* test: push image
* test: push image
* test: push image
* test: push image
* test: push image
* test: push image
* fix: extract download taglib action
* fix: extract prepare docker action
* fix: extract prepare docker action
* fix: extract prepare docker action
* fix: extract prepare docker action
* fix: extract prepare docker action
* fix: extract prepare docker action
* fix: extract prepare docker action
* fix: extract prepare docker action
* fix: extract prepare docker action
* fix: extract prepare docker action
* fix: extract prepare docker action
* fix: add msi
* fix: add msi
* fix: add msi
* fix: add msi
* fix: add msi
* test: full
* test: full
* test: disable some platforms to avoid hitting the rate limit
* test: disable some platforms to avoid hitting the rate limit
* fix: use ecr.aws for base images
* test: full release
* test: full release
* fix: clean-up
* refactor: pipeline clean-up (#32 )
* fix: clean-up
* fix: clean-up
* fix: clean-up
* fix: fetch all tags
* fix: version
* fix: version
* fix: no need to setup QEMU
* fix: don't try to push images in unauthorized branches
* fix: check push enabled
* fix: change layout?
2026-01-02 20:40:20 +00:00
Deluan
a5c3796e6e
fix(scanner): make activity panel update rate configurable
2026-01-02 20:40:19 +00:00
Deluan
44daaf6bbb
test(scanner): remove redundant fixture file
2026-01-02 20:40:18 +00:00
Deluan
fa5a0e1a3f
fix(server): throttle events sent to UI when scanning. Relates to #1511
...
See also: https://github.com/navidrome/navidrome/issues/1186#issuecomment-1554818537
2026-01-02 20:40:10 +00:00
Deluan Quintão
cb2ddfc33f
fix(scanner): update lib.LastScanAt on each rescan ( #3313 )
2026-01-02 20:39:44 +00:00
Deluan Quintão
f3f66da3da
refactor(server): replace RangeByChunks with Go 1.23 iterators ( #3292 )
...
* refactor(server): replace RangeByChunks with Go 1.23 iterators
* chore: fix comments re: SQLITE_MAX_VARIABLE_NUMBER
* test: improve playqueue test
* refactor(server): don't create a new iterator when it is not required
2026-01-02 20:39:44 +00:00
Deluan
be25753d37
fix(scanner): improve M3U playlist import times ( #2706 )
2026-01-02 20:39:42 +00:00
Deluan
85af9edc88
Ignore #snapshot folders when scanning. Fixes #3257
2026-01-02 20:39:41 +00:00
Deluan Quintão
e766adaa03
Upgrade TagLib 2.0.2, GoReleaser 2.2.0 ( #3217 )
...
* Upgrade ci-goreleaser
* Fix tests
* Fix taglib lib path in macOS
2026-01-02 20:39:13 +00:00
Deluan Quintão
819d0afd03
Upgrade Go to 1.23 ( #3190 )
...
* Upgrade to Golang 1.23rc1
* Fix imports
* Go 1.23 final version
* Fix lint compatibility with ci-goreleaser
2026-01-02 20:38:44 +00:00
Deluan
843d48f448
Upgrade to ttlcache/v3
2026-01-02 20:37:15 +00:00
Deluan
10ab9cfb55
Wrap ttlcache in our own SimpleCache implementation
2026-01-02 20:37:15 +00:00
kartikynwa
fc1a5cb908
Add R128_{TRACK,ALBUM}_GAIN support to the scanner ( #3072 )
...
* Add R128 gain tags support to the scanner
* Add R128 test to metadata_internal_test.go
* Pass explicit tag names to getGainValue function
2026-01-02 20:37:00 +00:00
Deluan
38a219648d
Refactor string utilities into its own package str
2026-01-02 20:36:59 +00:00
Rob Emery
ef14eb74f9
Fix memory leak in CachedGenreRepository ( #3031 )
...
that the scanner was run, the ttlcache was also created each time.
This caused (under testing with 166 genres in the database) the
memory consumed by navidrome to 101.18MB over approx 3 days; 96%
of which is in instances of this cache. Swapping to a singleton
has reduced this to down to ~ 2.6MB
Co-authored-by: Rob Emery <git@mintsoft.net>
2026-01-02 20:36:57 +00:00
Deluan
42812165a7
Fix race condition
2026-01-02 20:36:57 +00:00
Deluan
ffbc1cebd4
Associate main entities with library
2026-01-02 20:36:57 +00:00
Deluan
b0f6a395a8
Rename MediaFolder to Library
2026-01-02 20:36:57 +00:00
Deluan
4007dd0560
Add sampleRate to the DB
2026-01-02 20:36:56 +00:00
Deluan
caa2126677
Read sampleRate from audio files
2026-01-02 20:36:56 +00:00
Deluan
5be6dfc54b
Clean up runNavidrome function
2026-01-02 20:36:55 +00:00
Deluan Quintão
9e9f72ae8a
Make sorting lists by name/title case-insensitive ( #2993 )
...
* Make sort by order_* fields case-insensitive.
* Sort internet radios by name case-insensitive
2026-01-02 20:36:55 +00:00
Deluan
6640509044
Make dependency injection more consistent
2026-01-02 20:36:55 +00:00
Deluan
02604f0cfb
Allow comments in the NSP file.
...
See comment https://github.com/navidrome/navidrome/issues/1417#issuecomment-2064731407
2026-01-02 20:35:03 +00:00
Deluan
d642d6f60f
Move TempFileName to utils
2026-01-02 20:33:14 +00:00
Deluan
1effc6a378
Run Test job in ci-goreleaser container
2026-01-02 20:33:14 +00:00
Deluan
58fe792d0d
Show taglib and ffmpeg versions in the log
2026-01-02 20:33:14 +00:00
Deluan
116f5d02ff
Stop using deprecated TagLib method length
2026-01-02 20:33:14 +00:00
Deluan
a0bac6c068
Send Subsonic formatted response on marshalling errors
2026-01-02 20:33:14 +00:00
Deluan
a8a14370bd
Use new slices package from Go standard lib
2026-01-02 20:33:14 +00:00
Deluan
d7b7626488
Bump github.com/jellydator/ttlcache/v2 to v2.11.1
2026-01-02 20:33:14 +00:00
Deluan
89dadbfcb8
Bump golang.org/x/exp version
2026-01-02 20:33:00 +00:00
Deluan Quintão
cf3754e868
Upgrade to Go 1.22 and Node v20 ( #2861 )
...
* Remove workaround for missing `context.WithoutCancel` in Go 1.20
* Upgrade to Go 1.22
* Upgrade GitHub Actions
* Upgrade Node to v20
2026-01-02 20:33:00 +00:00
Deluan
9a54740bad
Handle "Infinity" values for ReplayGain. Fix #2862
2026-01-02 20:33:00 +00:00
Caio Cotts
b57ba9e232
Fix null values in DB ( #2840 )
...
* Fix album image_files being null.
* Fix small nitpick.
* Use ExecContext instead of Exec.
* Change more columns to not null and set default values.
* Remove columns that don't need to be changed from migration.
* Fix typo.
* Remove unnecessary select statements.
* Remove duplicate code.
* Do not apply changes to radio table.
* Do not apply changes full_text columns and respective indexes.
* Fix musicbrainz columns.
* Rename migration.
* Make ExternalInfoUpdatedAt nullable
* Make Share's timestamps nullable
---------
Co-authored-by: Deluan Quintão <deluan@navidrome.org>
2026-01-02 20:32:59 +00:00
Deluan
5e35aa6eb8
Don't add empty TIPL roles
2026-01-02 20:32:58 +00:00
Deluan
0d27160e22
Parse the ID3v2.4 TIPL frame
2026-01-02 20:32:58 +00:00
Deluan
27b9812e45
Import ID3 sort_* tags
2026-01-02 20:32:58 +00:00
Deluan
faed89622d
Fix ReplayGain values not being retrieved from DB
2026-01-02 20:32:37 +00:00
Kendall Garner
044c8c09ac
Add OS Lyrics extension ( #2656 )
...
* draft commit
* time to fight pipeline
* round 2 changes
* remove unnecessary line
* fight taglib. again
* make taglib work again???
* add id3 tags
* taglib 1.12 vs 1.13
* use int instead for windows
* store as json now
* add migration, more tests
* support repeated line, multiline
* fix ms and support .m, .mm, .mmm
* address some concerns, make cpp a bit safer
* separate responses from model
* remove [:]
* Add trace log
* Try to unblock pipeline
* Fix merge errors
* Fix SIGSEGV error (proper handling of empty frames)
* Add fallback artist/title to structured lyrics
* Rename conflicting named vars
* Fix tests
* Do we still need ffmpeg in the pipeline?
* Revert "Do we still need ffmpeg in the pipeline?"
Yes we do.
This reverts commit 87df7f6df79bccee83f48c4b7a8118a7636a5e66.
* Does this passes now, with a newer ffmpeg version?
* Revert "Does this passes now, with a newer ffmpeg version?"
No, it does not :(
This reverts commit 372eb4b0ae05d9ffe98078e9bc4e56a9b2921f32.
* My OCD made me do it :P
---------
Co-authored-by: Deluan Quintão <deluan@navidrome.org>
2026-01-02 20:32:37 +00:00
Deluan
5c36d42333
Add "inspect" command to CLI
2026-01-02 20:32:37 +00:00
Deluan
af32d79ffc
Discard duplicated tags
2026-01-02 20:32:37 +00:00
Andrew Katsikas
d562fce71b
Add TAK support ( #2745 )
...
* bug(consts/mime_types): tak-support - 2514
Add tak to mime_types audioFormats
Signed-off-by: apkatsikas <apkatsikas@gmail.com>
* bug(scanner): tak-support - 2514
Add tak test fixture file and add fixes for tag_scanner and walk_dir_tree tests
Signed-off-by: apkatsikas <apkatsikas@gmail.com>
* Remove comment
---------
Signed-off-by: apkatsikas <apkatsikas@gmail.com>
2026-01-02 20:32:37 +00:00
Deluan
0d18620030
Add log.IsGreaterOrEqualTo, that take into consideration path-scoped log levels
2026-01-02 20:32:37 +00:00
Deluan
309a8d39f4
Add more trace log to TagLib Wrapper
2026-01-02 20:32:37 +00:00
Deluan
88dcfd0f96
Name mapDates return values
2026-01-02 20:32:36 +00:00
Deluan
e307b0e96c
Better workaround for Go 1.20 missing context.WithoutCancel
2026-01-02 20:32:35 +00:00
Deluan
aca4ccbd0f
Temporary fix for scan context cancellation for Go 1.20
2026-01-02 20:32:35 +00:00