Commit graph

  • 0960ec3be3 fix(agents): parse the retry delay at a fixed width agent-retry-later Deluan 2026-08-24 20:11:52 -04:00
  • c1fb5b9246 fix(agents): keep the longer cooldown when parks overlap Deluan 2026-08-24 19:49:49 -04:00
  • 758f869703 refactor: share the retry-seconds parse and drop the backoff deadline arithmetic Deluan 2026-08-24 19:17:46 -04:00
  • 4ac8a8c79c test(artwork): assert the delay acquire reports, not just its downstream effect Deluan 2026-08-24 18:57:14 -04:00
  • f84c312675 fix(artwork): check the resolve error before reading its resolution Deluan 2026-08-24 18:52:47 -04:00
  • a1eda233a6 refactor(artwork): carry the external failure as an error, not a flag plus a trace field Deluan 2026-08-24 18:38:53 -04:00
  • 5d9f9ffd3f test: cover the two retry-later paths a mutation could break silently Deluan 2026-08-24 18:25:04 -04:00
  • a202dd60c9 refactor(agents): share one dispatch loop between the agent call helpers Deluan 2026-08-24 18:06:59 -04:00
  • 9f8bcdb55e refactor(agents): split the cooldown store from the per-dispatch tally Deluan 2026-08-24 17:51:40 -04:00
  • 2b5c7c41d9 refactor(agents): collapse the retry-later sentinel and error into one type Deluan 2026-08-24 16:43:12 -04:00
  • 15c10fad5d refactor(listenbrainz): keep rate-limit header parsing in the adapter Deluan 2026-08-24 15:47:01 -04:00
  • ad80cc00bb refactor: dedupe retry-later parsing and simplify error collection Deluan 2026-08-24 14:16:10 -04:00
  • 8fb054a330 fix: address whole-branch review findings for retry-later handling Deluan 2026-08-24 13:56:19 -04:00
  • 7c495d48c4
    chore(deps): bump golang from 1.26-trixie to 1.27-trixie dependabot/docker/golang-1.27-trixie dependabot[bot] 2026-08-24 17:43:21 +00:00
  • 4c9b689b86
    chore(deps): bump alpine from 3.20 to 3.24 dependabot/docker/alpine-3.24 dependabot[bot] 2026-08-24 17:43:14 +00:00
  • cc82fabf52
    chore(deps): bump github.com/sirupsen/logrus from 1.10.0 to 1.10.1 dependabot/go_modules/github.com/sirupsen/logrus-1.10.1 dependabot[bot] 2026-08-24 17:43:03 +00:00
  • 59a9378546
    chore(deps): bump github.com/go-chi/chi/v5 from 5.3.1 to 5.3.2 dependabot/go_modules/github.com/go-chi/chi/v5-5.3.2 dependabot[bot] 2026-08-24 17:43:00 +00:00
  • 804a2f7013
    chore(deps): bump github.com/stretchr/testify from 1.12.0 to 1.12.1 dependabot/go_modules/github.com/stretchr/testify-1.12.1 dependabot[bot] 2026-08-24 17:42:55 +00:00
  • b7cfbde1c8 feat(plugins): retry-later with optional delay for scrobbler and agent plugins Deluan 2026-08-24 13:27:30 -04:00
  • 7341af2f1f feat(artwork): honor server-requested retry delay when rescheduling Deluan 2026-08-24 13:22:29 -04:00
  • 5154165963 feat(agents): skip cooling-down agents in aggregate calls Deluan 2026-08-24 13:18:16 -04:00
  • 8317bec3ec fix(scrobbler): honor backoff window and server-requested retry delay Deluan 2026-08-24 13:11:50 -04:00
  • 8f0183e466 feat(agents): retry-later error type with optional server delay Deluan 2026-08-24 12:49:13 -04:00
  • 3da2b590e7
    fix: add Navidrome UserAgent in all outgoing requests (#6020) master Rob Emery 2026-08-24 16:22:32 +01:00
  • b25e8fb1cd fix(ui): update German, Finnish, Galician, Polish, Portuguese (BR), Thai, Ukrainian, Chinese (traditional) translations from POEditor update-translations navidrome-bot 2026-08-24 10:17:43 +00:00
  • 82b9a44a1f fix(log): redact sensitive auth headers from request logs Deluan 2026-08-23 15:24:44 -04:00
  • 3e55886195
    feat: add optional natural sort order for names and titles (#6015) Deluan Quintão 2026-08-23 14:31:37 -04:00
  • fc9d93d22a
    fix(plugins): read the loaded plugin from a local, not the shared map (#6014) Deluan Quintão 2026-08-22 22:02:25 -04:00
  • 3cb9850872 feat(artwork): extend stale absent age to 30 days and update test formatting Deluan 2026-08-22 21:38:54 -04:00
  • 59810c3d59
    feat(jellyfin): non-expiring, audience-scoped tokens revocable by password change (#6013) Deluan Quintão 2026-08-22 20:36:24 -04:00
  • 295886cb9a
    feat(artwork): report what a config-fingerprint backfill enqueued (#6010) Deluan Quintão 2026-08-21 20:27:42 -04:00
  • 07b6411c0b
    perf(artwork): cap the stale-absent recheck at 100 items per kind per hour (#6007) Deluan Quintão 2026-08-21 15:23:07 -04:00
  • ffc68e29db
    feat(cli): add artwork cancel to call off queued artwork work (#6006) Deluan Quintão 2026-08-21 14:03:59 -04:00
  • c26f6f9e98
    feat(artwork): store the resolution trace so artwork explain works offline (#5980) Deluan Quintão 2026-08-21 10:24:01 -04:00
  • 0a55cc8caf
    docs(plugins): document how a metadata agent signals "not found" (#6001) Deluan Quintão 2026-08-20 22:48:26 -04:00
  • 8abb1650ea Merge remote-tracking branch 'origin/master' into go-127 go-127 Deluan 2026-08-20 10:56:15 -04:00
  • 17db7d4077
    ci: pull base images through mirror.gcr.io instead of ECR Public (#5997) Deluan Quintão 2026-08-20 10:02:04 -04:00
  • fc1c1366dc
    fix(cli): write pls -p playlist output to stdout (#5996) Deluan Quintão 2026-08-20 09:04:09 -04:00
  • 55689a2606
    Merge branch 'master' into go-127 Deluan Quintão 2026-08-20 09:00:00 -04:00
  • e477d76bb3
    chore(deps): bump actions/stale from 10 to 11 in /.github/workflows dependabot/github_actions/dot-github/workflows/actions/stale-11 dependabot[bot] 2026-08-20 12:55:12 +00:00
  • 3d3c3ed601
    ci: lint with the golangci-lint version the Makefile declares (#5994) Daniel Barrientos Anariba 2026-08-20 06:53:11 -06:00
  • c814ddfed3 build: upgrade golangci-lint to v2.13.0 Deluan 2026-08-20 08:29:08 -04:00
  • 23ad7275a8
    Merge branch 'master' into go-127 Deluan Quintão 2026-08-19 16:39:07 -04:00
  • 8c6ee762bc build: upgrade to Go 1.27 Deluan 2026-08-19 16:35:54 -04:00
  • 881073c183
    feat(cli): let artwork explain/refresh accept an id without its kind (#5988) Deluan Quintão 2026-08-19 16:25:12 -04:00
  • fd4b3256e4
    perf(artwork): compute the blurhash DCT separably (#5989) Deluan Quintão 2026-08-19 16:20:38 -04:00
  • 097582ad46 fix(cmd): keep refreshing resolvable ids when others fail to resolve Deluan 2026-08-19 16:04:22 -04:00
  • 12da6f2acc feat(cmd): make artwork explain/refresh accept an id without its kind Deluan 2026-08-19 15:12:40 -04:00
  • dff9e47c2e
    fix(scanner): detect in-place playlist edits via the folder content hash (#5914) Junker der Provinz 2026-08-19 19:11:00 +02:00
  • c362519f76
    test: unskip path-separator tests on Windows (#5381) (#5916) Junker der Provinz 2026-08-19 17:50:32 +02:00
  • bd6b7a6686 test: increase timeout for cache availability checks to 10 seconds Deluan 2026-08-19 10:35:15 -04:00
  • 6d8a3e48ee refactor: replace md5 with xxh3 for faster and more efficient hashing Deluan 2026-08-19 09:19:47 -04:00
  • 2dab4b4048 chore: remove redundant comment Deluan 2026-08-19 08:49:15 -04:00
  • 1f3034f022
    fix(playlist): block track edits on synced playlists across all APIs (#5984) Deluan Quintão 2026-08-19 08:47:53 -04:00
  • 7a11ca69bb
    fix(jellyfin): honor the Filters, SortBy and MaxHeight params clients actually send (#5981) Deluan Quintão 2026-08-19 08:36:44 -04:00
  • 2e03766a9d
    fix(playlist): preserve smart playlist song count on re-import (#5907) (#5908) Deluan Quintão 2026-08-18 20:58:55 -04:00
  • 4b1218eec0
    feat(ui): show translation completion percentage in the language selector (#5979) Deluan Quintão 2026-08-18 09:32:26 -04:00
  • 4c0ab074a3 chore(deps): update module dependencies in go.mod and go.sum to latest versions Deluan 2026-08-17 20:36:13 -04:00
  • 65751d7665
    fix(playlists): chunk track deletes to stay under the SQLite variable limit (#5977) Deluan Quintão 2026-08-17 15:47:41 -04:00
  • ea1e2b95a7
    fix(db): keep album created_at in the driver's timestamp format when copying (#5867) hotorcelexo 2026-08-16 21:14:41 +03:00
  • 5b758fc20c
    fix(artwork): re-resolve artwork when image files change on disk (#5965) Deluan Quintão 2026-08-16 13:24:07 -04:00
  • 42dfdf49da
    feat(lyrics): support [bg:] tag and skip unknown tags in LRC files (#5966) Deluan Quintão 2026-08-16 10:18:10 -04:00
  • 82fde00ecc
    feat(scrobbler): add per-user scrobble filter (#5964) Deluan Quintão 2026-08-15 16:10:53 -04:00
  • 5b87a60b5d
    fix(plugins): load plugin agents in CLI commands (#5959) Deluan Quintão 2026-08-15 11:01:36 -04:00
  • 24311918c7
    fix(artwork): ramp the external circuit breaker back up instead of closing on one answer (#5961) Deluan Quintão 2026-08-15 10:36:14 -04:00
  • dc40bcaf80
    feat(cli): add an artwork command group for diagnosing and re-driving artwork (#5957) Deluan Quintão 2026-08-14 21:07:56 -04:00
  • b617a878b9
    feat(insights): report the app store or hosting platform via ND_PLATFORM (#5956) Deluan Quintão 2026-08-14 13:46:52 -04:00
  • 95615bcb18
    fix(artwork): serve images whose format has no registered decoder (#5952) Deluan Quintão 2026-08-14 09:43:13 -04:00
  • aa0824e03b
    feat(jellyfin): add System/Endpoint so Finamp's connection test passes (#5955) Deluan Quintão 2026-08-14 09:17:00 -04:00
  • 59a4ed8e79
    fix(plugins): stop reporting plugin call failures as not-found (#5953) Deluan Quintão 2026-08-13 22:56:09 -04:00
  • 757ca783d3
    fix(instant-mix): top short mixes up instead of returning what the first source found (#5951) Deluan Quintão 2026-08-13 18:50:34 -04:00
  • 6c3e7e268b
    feat(instant-mix): support album, playlist and genre sources (#5948) Deluan Quintão 2026-08-12 23:02:13 -04:00
  • c66ef04dd3
    refactor(jellyfin): emit real 128-bit GUIDs as item ids (#5942) Deluan Quintão 2026-08-12 19:02:34 -04:00
  • 5a4a3099f1
    fix(cli): accept absolute paths in selective scan --target (#5947) Deluan Quintão 2026-08-12 14:55:04 -04:00
  • 752b38609c
    feat(artist): add Share and Download actions to the Artist detail page (#5944) Deluan Quintão 2026-08-12 11:59:56 -04:00
  • 8978c7b9fa Revert "feat(jellyfin): send a synthetic placeholder blurhash for unresolved artwork (#5941)" Deluan 2026-08-12 11:46:23 -04:00
  • 036c9cab96
    feat(jellyfin): send a synthetic placeholder blurhash for unresolved artwork (#5941) Deluan Quintão 2026-08-11 18:34:27 -04:00
  • 9e95b19a4f
    feat(artwork): make the artwork image size cap configurable (#5931) Deluan Quintão 2026-08-11 10:42:39 -04:00
  • c4126fa674 fix(jellyfin): emit SortName for artists and albums, honoring PreferSortTags Deluan 2026-08-11 09:14:17 -04:00
  • 95b8d9dd04
    perf(genre): index genre filtering via join tables across all APIs (#5940) Deluan Quintão 2026-08-11 08:00:50 -04:00
  • 8e0ff1a235 fix(jellyfin): resolve genre id as a MusicGenre item Deluan 2026-08-10 21:30:14 -04:00
  • d080707060
    fix(jellyfin): return a mixed, globally-limited list for multi-type /Items requests (#5935) Deluan Quintão 2026-08-10 21:21:44 -04:00
  • 1c83f36ddf perf(persistence): make album list pages index-served album-list-count-perf Deluan 2026-08-10 15:41:22 -04:00
  • 7736bbb545
    fix(cache): write the completion marker before closing the cache writer (#5927) Deluan Quintão 2026-08-10 14:10:05 -04:00
  • 7993fb9158
    perf(persistence): use *_artists join tables for artist participant filters (#5930) Deluan Quintão 2026-08-10 11:42:27 -04:00
  • ba47403c84
    chore(deps): bump js-yaml, @jsonforms/core, @jsonforms/material-renderers and @jsonforms/react dependabot/npm_and_yarn/ui/multi-662fce0d3c dependabot[bot] 2026-08-09 19:05:47 +00:00
  • 7b08bdc67a
    chore(deps): bump postcss from 8.5.8 to 8.5.26 in /ui dependabot/npm_and_yarn/ui/postcss-8.5.26 dependabot[bot] 2026-08-09 19:05:31 +00:00
  • 944ca3100f
    feat(artwork): new artwork pipeline with background resolution and Low Quality Image Placeholders (#5847) Deluan Quintão 2026-08-09 15:03:27 -04:00
  • 5f7b5edc8a
    chore(deps): bump dompurify and react-admin in /ui dependabot/npm_and_yarn/ui/multi-13a87b32b3 dependabot[bot] 2026-08-09 09:34:37 +00:00
  • 62f4289553 Merge branch 'fix/plugin-id-discoverability' of https://github.com/navidrome/navidrome into fix/plugin-id-discoverability fix/plugin-id-discoverability Deluan 2026-08-08 22:37:21 -04:00
  • 5a06ee435f fix(agents): keep unknown-agent warning at Debug until plugins finish loading Deluan 2026-08-08 22:36:07 -04:00
  • 068ed10516
    Merge branch 'master' into fix/plugin-id-discoverability Deluan Quintão 2026-08-08 22:26:33 -04:00
  • 5c5b849a4e
    docs(plugins): sync plugins README with the implementation (#5912) Deluan Quintão 2026-08-08 22:25:48 -04:00
  • b0c6d2e444
    feat(plugins): add scrobbles access to PDK (#5795) Kendall Garner 2026-08-08 19:13:29 -07:00
  • 5a5311a9c0
    fix(plugins): make generated mock stubs nil-safe for nilable returns (#5909) Deluan Quintão 2026-08-08 21:57:44 -04:00
  • 529a8c7923 fix(ui): add Brazilian Portuguese translation for the plugin ID hint Deluan 2026-08-08 21:46:56 -04:00
  • 74e36dac1f refactor(agents): let the cache own its own lock Deluan 2026-08-08 21:31:37 -04:00
  • 567f4e4345 refactor(agents): group the agent cache and its inputs into one struct Deluan 2026-08-08 21:14:29 -04:00
  • e1a405797b refactor(agents): tidy up the agent-name caching and plugin ID hint Deluan 2026-08-08 21:06:29 -04:00
  • fde080e480 fix(agents): warn once about unknown agents instead of on every call Deluan 2026-08-08 20:36:03 -04:00