git: 22cd6612f673 - main - multimedia/navidrome: Update to 0.53.1

From: Kevin Bowling <kbowling_at_FreeBSD.org>
Date: Fri, 20 Sep 2024 21:16:18 UTC
The branch main has been updated by kbowling:

URL: https://cgit.FreeBSD.org/ports/commit/?id=22cd6612f6738d04fb82c925240b729661b77d54

commit 22cd6612f6738d04fb82c925240b729661b77d54
Author:     Kevin Bowling <kbowling@FreeBSD.org>
AuthorDate: 2024-09-20 21:15:53 +0000
Commit:     Kevin Bowling <kbowling@FreeBSD.org>
CommitDate: 2024-09-20 21:16:13 +0000

    multimedia/navidrome: Update to 0.53.1
---
 multimedia/navidrome/Makefile          |  99 +++----
 multimedia/navidrome/distinfo          | 170 ++++++------
 multimedia/navidrome/files/modules.txt | 487 +++++++++++++++++++++++++++++++++
 3 files changed, 625 insertions(+), 131 deletions(-)

diff --git a/multimedia/navidrome/Makefile b/multimedia/navidrome/Makefile
index de5ec1abc420..67540a1ad11d 100644
--- a/multimedia/navidrome/Makefile
+++ b/multimedia/navidrome/Makefile
@@ -1,7 +1,6 @@
 PORTNAME=	navidrome
 DISTVERSIONPREFIX=	v
-DISTVERSION=	0.52.5
-PORTREVISION=	5
+DISTVERSION=	0.53.1
 CATEGORIES=	multimedia
 MASTER_SITES=	http://people.freebsd.org/~kbowling/distfiles/:npmcache
 DISTFILES=	${PORTNAME}-npm-cache-${DISTVERSION}${EXTRACT_SUFX}:npmcache
@@ -18,16 +17,15 @@ BUILD_DEPENDS+=	npm>0:www/npm
 LIB_DEPENDS+=	libtag.so:audio/taglib
 RUN_DEPENDS+=	ffmpeg:multimedia/ffmpeg
 
-USES=		cpe go:1.22,modules pkgconfig
+USES=		cpe go:1.23,modules pkgconfig
 USE_GITHUB=	yes
-USE_RC_SUBR=	${PORTNAME}
 GH_TUPLE=	\
 		Masterminds:squirrel:v1.5.4:masterminds_squirrel/vendor/github.com/Masterminds/squirrel \
 		RaveNoX:go-jsoncommentstrip:v1.0.0:ravenox_go_jsoncommentstrip/vendor/github.com/RaveNoX/go-jsoncommentstrip \
 		aymerick:douceur:v0.2.0:aymerick_douceur/vendor/github.com/aymerick/douceur \
 		beorn7:perks:v1.0.1:beorn7_perks/vendor/github.com/beorn7/perks \
 		bradleyjkemp:cupaloy:v2.8.0:bradleyjkemp_cupaloy_v2/vendor/github.com/bradleyjkemp/cupaloy/v2 \
-		cespare:xxhash:v2.2.0:cespare_xxhash_v2/vendor/github.com/cespare/xxhash/v2 \
+		cespare:xxhash:v2.3.0:cespare_xxhash_v2/vendor/github.com/cespare/xxhash/v2 \
 		davecgh:go-spew:d8f796af33cc:davecgh_go_spew/vendor/github.com/davecgh/go-spew \
 		deluan:rest:6260bc399cbf:deluan_rest/vendor/github.com/deluan/rest \
 		deluan:sanitize:6e18967d9fc1:deluan_sanitize/vendor/github.com/deluan/sanitize \
@@ -35,99 +33,103 @@ GH_TUPLE=	\
 		dhowden:tag:3d75831295e8:dhowden_tag/vendor/github.com/dhowden/tag \
 		disintegration:imaging:v1.6.2:disintegration_imaging/vendor/github.com/disintegration/imaging \
 		djherbis:atime:v1.1.0:djherbis_atime/vendor/github.com/djherbis/atime \
-		djherbis:fscache:2909c950912d:djherbis_fscache/vendor/github.com/djherbis/fscache \
+		djherbis:fscache:442a07e326c4:djherbis_fscache/vendor/github.com/djherbis/fscache \
 		djherbis:stream:v1.4.0:djherbis_stream/vendor/github.com/djherbis/stream \
 		djherbis:times:v1.6.0:djherbis_times/vendor/github.com/djherbis/times \
 		dustin:go-humanize:v1.0.1:dustin_go_humanize/vendor/github.com/dustin/go-humanize \
 		fatih:structs:v1.1.0:fatih_structs/vendor/github.com/fatih/structs \
 		fsnotify:fsnotify:v1.7.0:fsnotify_fsnotify/vendor/github.com/fsnotify/fsnotify \
-		go-chi:chi:v5.0.12:go_chi_chi_v5/vendor/github.com/go-chi/chi/v5 \
+		go-chi:chi:v5.1.0:go_chi_chi_v5/vendor/github.com/go-chi/chi/v5 \
 		go-chi:cors:v1.2.1:go_chi_cors/vendor/github.com/go-chi/cors \
-		go-chi:httprate:v0.9.0:go_chi_httprate/vendor/github.com/go-chi/httprate \
+		go-chi:httprate:v0.14.1:go_chi_httprate/vendor/github.com/go-chi/httprate \
 		go-chi:jwtauth:v5.3.1:go_chi_jwtauth_v5/vendor/github.com/go-chi/jwtauth/v5 \
 		go-ini:ini:v1.67.0:go_ini_ini/vendor/gopkg.in/ini.v1 \
-		go-logr:logr:v1.4.1:go_logr_logr/vendor/github.com/go-logr/logr \
+		go-logr:logr:v1.4.2:go_logr_logr/vendor/github.com/go-logr/logr \
 		go-task:slim-sprig:v3.0.0:go_task_slim_sprig_v3/vendor/github.com/go-task/slim-sprig/v3 \
 		go-yaml:yaml:v3.0.1:go_yaml_yaml/vendor/gopkg.in/yaml.v3 \
-		goccy:go-json:v0.10.2:goccy_go_json/vendor/github.com/goccy/go-json \
-		golang:crypto:v0.23.0:golang_crypto/vendor/golang.org/x/crypto \
-		golang:exp:9bf2ced13842:golang_exp/vendor/golang.org/x/exp \
-		golang:image:v0.16.0:golang_image/vendor/golang.org/x/image \
-		golang:net:v0.25.0:golang_net/vendor/golang.org/x/net \
-		golang:sync:v0.7.0:golang_sync/vendor/golang.org/x/sync \
-		golang:sys:v0.20.0:golang_sys/vendor/golang.org/x/sys \
-		golang:text:v0.15.0:golang_text/vendor/golang.org/x/text \
-		golang:tools:v0.21.0:golang_tools/vendor/golang.org/x/tools \
+		goccy:go-json:v0.10.3:goccy_go_json/vendor/github.com/goccy/go-json \
+		golang:crypto:v0.26.0:golang_crypto/vendor/golang.org/x/crypto \
+		golang:exp:9b4947da3948:golang_exp/vendor/golang.org/x/exp \
+		golang:image:v0.20.0:golang_image/vendor/golang.org/x/image \
+		golang:net:v0.28.0:golang_net/vendor/golang.org/x/net \
+		golang:sync:v0.8.0:golang_sync/vendor/golang.org/x/sync \
+		golang:sys:v0.24.0:golang_sys/vendor/golang.org/x/sys \
+		golang:text:v0.18.0:golang_text/vendor/golang.org/x/text \
+		golang:tools:v0.24.0:golang_tools/vendor/golang.org/x/tools \
 		google:go-cmp:v0.6.0:google_go_cmp/vendor/github.com/google/go-cmp \
-		google:pprof:a892ee059fd6:google_pprof/vendor/github.com/google/pprof \
+		google:pprof:fa2c70bbbfe5:google_pprof/vendor/github.com/google/pprof \
 		google:uuid:v1.6.0:google_uuid/vendor/github.com/google/uuid \
 		google:wire:v0.6.0:google_wire/vendor/github.com/google/wire \
-		gorilla:css:v1.0.0:gorilla_css/vendor/github.com/gorilla/css \
-		hashicorp:errwrap:v1.0.0:hashicorp_errwrap/vendor/github.com/hashicorp/errwrap \
+		gorilla:css:v1.0.1:gorilla_css/vendor/github.com/gorilla/css \
+		hashicorp:errwrap:v1.1.0:hashicorp_errwrap/vendor/github.com/hashicorp/errwrap \
 		hashicorp:go-multierror:v1.1.1:hashicorp_go_multierror/vendor/github.com/hashicorp/go-multierror \
 		hashicorp:hcl:v1.0.0:hashicorp_hcl/vendor/github.com/hashicorp/hcl \
 		inconshreveable:mousetrap:v1.1.0:inconshreveable_mousetrap/vendor/github.com/inconshreveable/mousetrap \
-		jellydator:ttlcache:v2.11.1:jellydator_ttlcache_v2/vendor/github.com/jellydator/ttlcache/v2 \
+		jellydator:ttlcache:v3.3.0:jellydator_ttlcache_v3/vendor/github.com/jellydator/ttlcache/v3 \
+		klauspost:compress:v1.17.9:klauspost_compress/vendor/github.com/klauspost/compress \
 		kr:pretty:v0.3.1:kr_pretty/vendor/github.com/kr/pretty \
 		kr:text:v0.2.0:kr_text/vendor/github.com/kr/text \
 		lann:builder:47ae307949d0:lann_builder/vendor/github.com/lann/builder \
 		lann:ps:62de8c46ede0:lann_ps/vendor/github.com/lann/ps \
 		lestrrat-go:blackmagic:v1.0.2:lestrrat_go_blackmagic/vendor/github.com/lestrrat-go/blackmagic \
 		lestrrat-go:httpcc:v1.0.1:lestrrat_go_httpcc/vendor/github.com/lestrrat-go/httpcc \
-		lestrrat-go:httprc:v1.0.5:lestrrat_go_httprc/vendor/github.com/lestrrat-go/httprc \
+		lestrrat-go:httprc:v1.0.6:lestrrat_go_httprc/vendor/github.com/lestrrat-go/httprc \
 		lestrrat-go:iter:v1.0.2:lestrrat_go_iter/vendor/github.com/lestrrat-go/iter \
-		lestrrat-go:jwx:v2.0.21:lestrrat_go_jwx_v2/vendor/github.com/lestrrat-go/jwx/v2 \
+		lestrrat-go:jwx:v2.1.1:lestrrat_go_jwx_v2/vendor/github.com/lestrrat-go/jwx/v2 \
 		lestrrat-go:option:v1.0.1:lestrrat_go_option/vendor/github.com/lestrrat-go/option \
 		magiconair:properties:v1.8.7:magiconair_properties/vendor/github.com/magiconair/properties \
-		matoous:go-nanoid:v2.0.0:matoous_go_nanoid_v2/vendor/github.com/matoous/go-nanoid/v2 \
-		mattn:go-sqlite3:v1.14.22:mattn_go_sqlite3/vendor/github.com/mattn/go-sqlite3 \
-		mattn:go-zglob:v0.0.4:mattn_go_zglob/vendor/github.com/mattn/go-zglob \
+		matoous:go-nanoid:v2.1.0:matoous_go_nanoid_v2/vendor/github.com/matoous/go-nanoid/v2 \
+		mattn:go-sqlite3:v1.14.23:mattn_go_sqlite3/vendor/github.com/mattn/go-sqlite3 \
+		mattn:go-zglob:v0.0.6:mattn_go_zglob/vendor/github.com/mattn/go-zglob \
 		mfridman:interpolate:v0.0.2:mfridman_interpolate/vendor/github.com/mfridman/interpolate \
-		microcosm-cc:bluemonday:v1.0.26:microcosm_cc_bluemonday/vendor/github.com/microcosm-cc/bluemonday \
-		mileusna:useragent:v1.3.4:mileusna_useragent/vendor/github.com/mileusna/useragent \
+		microcosm-cc:bluemonday:v1.0.27:microcosm_cc_bluemonday/vendor/github.com/microcosm-cc/bluemonday \
+		mileusna:useragent:v1.3.5:mileusna_useragent/vendor/github.com/mileusna/useragent \
 		mitchellh:mapstructure:v1.5.0:mitchellh_mapstructure/vendor/github.com/mitchellh/mapstructure \
+		munnerz:goautoneg:a7dc8b61c822:munnerz_goautoneg/vendor/github.com/munnerz/goautoneg \
 		natefinch:npipe:c1b8fa8bdcce:natefinch_npipe/vendor/gopkg.in/natefinch/npipe.v2 \
-		onsi:ginkgo:v2.17.3:onsi_ginkgo_v2/vendor/github.com/onsi/ginkgo/v2 \
-		onsi:gomega:v1.33.1:onsi_gomega/vendor/github.com/onsi/gomega \
-		pelletier:go-toml:v2.2.2:pelletier_go_toml_v2/vendor/github.com/pelletier/go-toml/v2 \
+		onsi:ginkgo:v2.20.2:onsi_ginkgo_v2/vendor/github.com/onsi/ginkgo/v2 \
+		onsi:gomega:v1.34.2:onsi_gomega/vendor/github.com/onsi/gomega \
+		pelletier:go-toml:v2.2.3:pelletier_go_toml_v2/vendor/github.com/pelletier/go-toml/v2 \
 		pmezard:go-difflib:5d4384ee4fb2:pmezard_go_difflib/vendor/github.com/pmezard/go-difflib \
 		pocketbase:dbx:v1.10.1:pocketbase_dbx/vendor/github.com/pocketbase/dbx \
-		pressly:goose:v3.20.0:pressly_goose_v3/vendor/github.com/pressly/goose/v3 \
-		prometheus:client_golang:v1.19.0:prometheus_client_golang/vendor/github.com/prometheus/client_golang \
-		prometheus:client_model:v0.5.0:prometheus_client_model/vendor/github.com/prometheus/client_model \
-		prometheus:common:v0.48.0:prometheus_common/vendor/github.com/prometheus/common \
-		prometheus:procfs:v0.12.0:prometheus_procfs/vendor/github.com/prometheus/procfs \
-		protocolbuffers:protobuf-go:v1.33.0:protocolbuffers_protobuf_go/vendor/google.golang.org/protobuf \
+		pressly:goose:v3.22.0:pressly_goose_v3/vendor/github.com/pressly/goose/v3 \
+		prometheus:client_golang:v1.20.3:prometheus_client_golang/vendor/github.com/prometheus/client_golang \
+		prometheus:client_model:v0.6.1:prometheus_client_model/vendor/github.com/prometheus/client_model \
+		prometheus:common:v0.55.0:prometheus_common/vendor/github.com/prometheus/common \
+		prometheus:procfs:v0.15.1:prometheus_procfs/vendor/github.com/prometheus/procfs \
+		protocolbuffers:protobuf-go:v1.34.2:protocolbuffers_protobuf_go/vendor/google.golang.org/protobuf \
 		robfig:cron:v3.0.1:robfig_cron_v3/vendor/github.com/robfig/cron/v3 \
 		rogpeppe:go-internal:v1.10.0:rogpeppe_go_internal/vendor/github.com/rogpeppe/go-internal \
 		sagikazarmark:locafero:v0.4.0:sagikazarmark_locafero/vendor/github.com/sagikazarmark/locafero \
 		sagikazarmark:slog-shim:v0.1.0:sagikazarmark_slog_shim/vendor/github.com/sagikazarmark/slog-shim \
 		segmentio:asm:v1.2.0:segmentio_asm/vendor/github.com/segmentio/asm \
-		sethvargo:go-retry:v0.2.4:sethvargo_go_retry/vendor/github.com/sethvargo/go-retry \
+		sethvargo:go-retry:v0.3.0:sethvargo_go_retry/vendor/github.com/sethvargo/go-retry \
 		sirupsen:logrus:v1.9.3:sirupsen_logrus/vendor/github.com/sirupsen/logrus \
 		sourcegraph:conc:v0.3.0:sourcegraph_conc/vendor/github.com/sourcegraph/conc \
 		spf13:afero:v1.11.0:spf13_afero/vendor/github.com/spf13/afero \
 		spf13:cast:v1.6.0:spf13_cast/vendor/github.com/spf13/cast \
-		spf13:cobra:v1.8.0:spf13_cobra/vendor/github.com/spf13/cobra \
+		spf13:cobra:v1.8.1:spf13_cobra/vendor/github.com/spf13/cobra \
 		spf13:pflag:v1.0.5:spf13_pflag/vendor/github.com/spf13/pflag \
-		spf13:viper:v1.18.2:spf13_viper/vendor/github.com/spf13/viper \
+		spf13:viper:v1.19.0:spf13_viper/vendor/github.com/spf13/viper \
 		stretchr:objx:v0.5.2:stretchr_objx/vendor/github.com/stretchr/objx \
 		stretchr:testify:v1.9.0:stretchr_testify/vendor/github.com/stretchr/testify \
 		subosito:gotenv:v1.6.0:subosito_gotenv/vendor/github.com/subosito/gotenv \
 		uber-go:multierr:v1.11.0:uber_go_multierr/vendor/go.uber.org/multierr \
-		unrolled:secure:v1.14.0:unrolled_secure/vendor/github.com/unrolled/secure \
-		xrash:smetrics:5f08fbb34913:xrash_smetrics/vendor/github.com/xrash/smetrics
+		unrolled:secure:v1.15.0:unrolled_secure/vendor/github.com/unrolled/secure \
+		xrash:smetrics:686a1a2994c1:xrash_smetrics/vendor/github.com/xrash/smetrics
+
+USE_RC_SUBR=	${PORTNAME}
 
-_BUILD_SHA=	c556088
+_BUILD_SHA=	1ba390a
 
 GO_BUILDFLAGS=	-ldflags="-X github.com/navidrome/navidrome/consts.gitSha=${_BUILD_SHA} -X github.com/navidrome/navidrome/consts.gitTag=${GH_TAGNAME}-FREEBSD" -tags=netgo
 
 MAKE_ENV+=	npm_config_offline=true
 
-SUB_FILES+=	pkg-message config.toml.sample
-SUB_LIST+=	PORTNAME=${PORTNAME} \
+SUB_FILES+=	config.toml.sample pkg-message
+SUB_LIST+=	NAVIDROMEGROUP=${GROUPS} \
 		NAVIDROMEUSER=${USERS} \
-		NAVIDROMEGROUP=${GROUPS}
+		PORTNAME=${PORTNAME}
 
 USERS=		www
 GROUPS=		www
@@ -143,6 +145,7 @@ MAKE_ENV+=	NODE_OPTIONS='--max-old-space-size=1492'
 pre-build:
 	cd ${WRKSRC}/ui && ${SETENV} ${MAKE_ENV} npm ci
 	cd ${WRKSRC}/ui && ${SETENV} ${MAKE_ENV} npm run build
+	cp ${FILESDIR}/modules.txt ${WRKSRC}/vendor/
 
 post-install:
 	@${MKDIR} ${STAGEDIR}${ETCDIR}
@@ -153,7 +156,7 @@ post-install:
 
 # Helper target to make the generation of node_modules easier
 make-npm-cache:
-	# Run "make extract" before executing this target
+# Run "make extract" before executing this target
 	@cd ${WRKDIR} && ${RM} -r .npm
 	@cd ${WRKSRC}/ui \
 		&& ${SETENV} HOME=${WRKDIR} npm ci
diff --git a/multimedia/navidrome/distinfo b/multimedia/navidrome/distinfo
index 3ae9cc6cf312..1cae3acf68fc 100644
--- a/multimedia/navidrome/distinfo
+++ b/multimedia/navidrome/distinfo
@@ -1,8 +1,8 @@
-TIMESTAMP = 1716437743
-SHA256 (navidrome/navidrome-npm-cache-0.52.5.tar.gz) = 568cf8f11426c5d04f52a37cac8a44e77c0921281822fc842a9ce999ac1090f8
-SIZE (navidrome/navidrome-npm-cache-0.52.5.tar.gz) = 92634016
-SHA256 (navidrome/navidrome-navidrome-v0.52.5_GH0.tar.gz) = 9e5a81589d3e0c04d8cd06dccc680942d082f3d02aa4f0fd2b67dedf9902063b
-SIZE (navidrome/navidrome-navidrome-v0.52.5_GH0.tar.gz) = 7474034
+TIMESTAMP = 1726863878
+SHA256 (navidrome/navidrome-npm-cache-0.53.1.tar.gz) = 62cc24435bedc5dfd001f43a6cb20f219bb82ca619c3fb19e7f1ef3a525146d2
+SIZE (navidrome/navidrome-npm-cache-0.53.1.tar.gz) = 93619605
+SHA256 (navidrome/navidrome-navidrome-v0.53.1_GH0.tar.gz) = 026be65faa4c7e8c02c8cfff4b1ca37fee531d6fbbb7d81a27cf70500775e1f2
+SIZE (navidrome/navidrome-navidrome-v0.53.1_GH0.tar.gz) = 7462180
 SHA256 (navidrome/Masterminds-squirrel-v1.5.4_GH0.tar.gz) = a2683a1ad3166987f6d67906d155ad53135e3c72f52ade0fc532397545092a3a
 SIZE (navidrome/Masterminds-squirrel-v1.5.4_GH0.tar.gz) = 31412
 SHA256 (navidrome/RaveNoX-go-jsoncommentstrip-v1.0.0_GH0.tar.gz) = d5f19ef91ff78f41f2c70c68051f1aa63d56344908a8334ce040d40157567d02
@@ -13,8 +13,8 @@ SHA256 (navidrome/beorn7-perks-v1.0.1_GH0.tar.gz) = 98db84bb0224a26094e6adba91b7
 SIZE (navidrome/beorn7-perks-v1.0.1_GH0.tar.gz) = 10867
 SHA256 (navidrome/bradleyjkemp-cupaloy-v2.8.0_GH0.tar.gz) = cdf76c32628d366798f4893e380f5903f874f93b1f6831cac9f67e8d54942aee
 SIZE (navidrome/bradleyjkemp-cupaloy-v2.8.0_GH0.tar.gz) = 276620
-SHA256 (navidrome/cespare-xxhash-v2.2.0_GH0.tar.gz) = b8c684b9e5e136510913727e6a845b28f8176e55db827b11f17769fba970fe13
-SIZE (navidrome/cespare-xxhash-v2.2.0_GH0.tar.gz) = 12334
+SHA256 (navidrome/cespare-xxhash-v2.3.0_GH0.tar.gz) = 0e3dda07b03a5f3733506218860ecb2d50c0f01f16299b5d60902ef5158cbde5
+SIZE (navidrome/cespare-xxhash-v2.3.0_GH0.tar.gz) = 12696
 SHA256 (navidrome/davecgh-go-spew-d8f796af33cc_GH0.tar.gz) = 21505c2cb5cb4e2b8ae3007f3f6db6edb9f1c28511f98975b6b0dedf0e3fa24e
 SIZE (navidrome/davecgh-go-spew-d8f796af33cc_GH0.tar.gz) = 42183
 SHA256 (navidrome/deluan-rest-6260bc399cbf_GH0.tar.gz) = 45d0934a62171086030a562b37cddd602a36f1935dcebc4607f2bf20bb30888b
@@ -29,8 +29,8 @@ SHA256 (navidrome/disintegration-imaging-v1.6.2_GH0.tar.gz) = ddc0cbbf306630d39e
 SIZE (navidrome/disintegration-imaging-v1.6.2_GH0.tar.gz) = 2212334
 SHA256 (navidrome/djherbis-atime-v1.1.0_GH0.tar.gz) = 30c7b31f47371a8f5af3d573d096200218cfcb39234306ce8ef999c7ba1fda2a
 SIZE (navidrome/djherbis-atime-v1.1.0_GH0.tar.gz) = 3140
-SHA256 (navidrome/djherbis-fscache-2909c950912d_GH0.tar.gz) = a76952a56e990d18eaadf5b545c8e886896eb8fc9826eb15936009b1cdfa68bc
-SIZE (navidrome/djherbis-fscache-2909c950912d_GH0.tar.gz) = 14463
+SHA256 (navidrome/djherbis-fscache-442a07e326c4_GH0.tar.gz) = 31f2a1a901f26036ad0ecc1e9b5a311ffe04c65711eabf8915815e7dd3c25e4c
+SIZE (navidrome/djherbis-fscache-442a07e326c4_GH0.tar.gz) = 15099
 SHA256 (navidrome/djherbis-stream-v1.4.0_GH0.tar.gz) = df7087141af84d194e4fe7d087746da366a882e0f69573359d18f936a5d9e9bd
 SIZE (navidrome/djherbis-stream-v1.4.0_GH0.tar.gz) = 11959
 SHA256 (navidrome/djherbis-times-v1.6.0_GH0.tar.gz) = 4f36c92caaa3b12f91cefb3d2c3d512f964b2d85f798bdc6d5b7dabffeaa6942
@@ -41,60 +41,62 @@ SHA256 (navidrome/fatih-structs-v1.1.0_GH0.tar.gz) = 7479adacd8172f74968da4e1e14
 SIZE (navidrome/fatih-structs-v1.1.0_GH0.tar.gz) = 14444
 SHA256 (navidrome/fsnotify-fsnotify-v1.7.0_GH0.tar.gz) = ca8175ba6bd3d0cc992200c2f44acabec05367575dc0478c5902971fe7453f35
 SIZE (navidrome/fsnotify-fsnotify-v1.7.0_GH0.tar.gz) = 57502
-SHA256 (navidrome/go-chi-chi-v5.0.12_GH0.tar.gz) = 289c6c9b6edee2da39d23c4bb806b2c2ab320d42985a46f9f5d9c7a4909a7d56
-SIZE (navidrome/go-chi-chi-v5.0.12_GH0.tar.gz) = 85024
+SHA256 (navidrome/go-chi-chi-v5.1.0_GH0.tar.gz) = dd18db378ff111bf8054c762b14890472fd6425bddff5265c2c180605faf382a
+SIZE (navidrome/go-chi-chi-v5.1.0_GH0.tar.gz) = 85550
 SHA256 (navidrome/go-chi-cors-v1.2.1_GH0.tar.gz) = d3fa42948b4b365db19c9a6639090c6869b968fa8c5ecb9635dce1a9bf4cf8d8
 SIZE (navidrome/go-chi-cors-v1.2.1_GH0.tar.gz) = 8827
-SHA256 (navidrome/go-chi-httprate-v0.9.0_GH0.tar.gz) = cea5f1b76631c2e3ad58b02b74f15c959ef991042dc0ffd71692310d5258f2ef
-SIZE (navidrome/go-chi-httprate-v0.9.0_GH0.tar.gz) = 6903
+SHA256 (navidrome/go-chi-httprate-v0.14.1_GH0.tar.gz) = d5caa495fb0f54512cdadcb1c03b91870f274718de6e9590b4b0617e309cb6ed
+SIZE (navidrome/go-chi-httprate-v0.14.1_GH0.tar.gz) = 10887
 SHA256 (navidrome/go-chi-jwtauth-v5.3.1_GH0.tar.gz) = b2359eb1a702227199cbeb90faf1e573fb39ebfe57cb470e6eae633b0f437902
 SIZE (navidrome/go-chi-jwtauth-v5.3.1_GH0.tar.gz) = 10155
 SHA256 (navidrome/go-ini-ini-v1.67.0_GH0.tar.gz) = 06ba51234140118d1b6064f1817aa89cc971c6e7ce04cb9d286e6660d89296c8
 SIZE (navidrome/go-ini-ini-v1.67.0_GH0.tar.gz) = 53531
-SHA256 (navidrome/go-logr-logr-v1.4.1_GH0.tar.gz) = 8eae286ca6e69e82f22cdde7464f4e5530e624b2da486b09cd0ec46b745c0d0e
-SIZE (navidrome/go-logr-logr-v1.4.1_GH0.tar.gz) = 56957
+SHA256 (navidrome/go-logr-logr-v1.4.2_GH0.tar.gz) = d06d6b9c3aa0cc42ba65ebcecd789addd149c859ca33a8878308f89590bf9fbd
+SIZE (navidrome/go-logr-logr-v1.4.2_GH0.tar.gz) = 57464
 SHA256 (navidrome/go-task-slim-sprig-v3.0.0_GH0.tar.gz) = 673b1acc819c60899e78b00f20da2b8270a0e370c01d3def9cda0a86167881fb
 SIZE (navidrome/go-task-slim-sprig-v3.0.0_GH0.tar.gz) = 40249
 SHA256 (navidrome/go-yaml-yaml-v3.0.1_GH0.tar.gz) = cf05411540d3e6ef8f1fd88434b34f94cedaceb540329031d80e23b74540c4e5
 SIZE (navidrome/go-yaml-yaml-v3.0.1_GH0.tar.gz) = 91173
-SHA256 (navidrome/goccy-go-json-v0.10.2_GH0.tar.gz) = f112774324c23218e7f7ea5b266fa0d5827147de36aecd7ab4529ee6a2f8208d
-SIZE (navidrome/goccy-go-json-v0.10.2_GH0.tar.gz) = 397330
-SHA256 (navidrome/golang-crypto-v0.23.0_GH0.tar.gz) = e6cfbf5f44d6b89b748c87fdbabd04c9634c5b825e39032a69854c300be9fb43
-SIZE (navidrome/golang-crypto-v0.23.0_GH0.tar.gz) = 1813872
-SHA256 (navidrome/golang-exp-9bf2ced13842_GH0.tar.gz) = 90fcc103b5927178af2d64b57d39de86d43a8bfa13cb71f4865a360cffe0f1b0
-SIZE (navidrome/golang-exp-9bf2ced13842_GH0.tar.gz) = 1744262
-SHA256 (navidrome/golang-image-v0.16.0_GH0.tar.gz) = dd76de01bff852f3fddf700d39992f74de4be80756d4d4a6a3923253dda4a903
-SIZE (navidrome/golang-image-v0.16.0_GH0.tar.gz) = 5093043
-SHA256 (navidrome/golang-net-v0.25.0_GH0.tar.gz) = aadaa826201391d12437e61b1680276ce4a270439f8f390af7f506fd0e499f64
-SIZE (navidrome/golang-net-v0.25.0_GH0.tar.gz) = 1510596
-SHA256 (navidrome/golang-sync-v0.7.0_GH0.tar.gz) = 39bf56d2dc04d16baabbf5eb5d847a2ad68762b5efde7ca3a8fdb24bdcdd9461
-SIZE (navidrome/golang-sync-v0.7.0_GH0.tar.gz) = 18181
-SHA256 (navidrome/golang-sys-v0.20.0_GH0.tar.gz) = eb2569cab8d7a92ce3afa9119538b61fc03d575c01f1548ec1e152c330ac591d
-SIZE (navidrome/golang-sys-v0.20.0_GH0.tar.gz) = 1494604
-SHA256 (navidrome/golang-text-v0.15.0_GH0.tar.gz) = 6b3893012ab61dacc64efc47574b2554e4cfbeb5e453a3b39e500713614cd63d
-SIZE (navidrome/golang-text-v0.15.0_GH0.tar.gz) = 8974475
-SHA256 (navidrome/golang-tools-v0.21.0_GH0.tar.gz) = 9dfd56edbc1cfd3883a716152b9189ab0403b57543a3b6d0346eaa92bb24f43a
-SIZE (navidrome/golang-tools-v0.21.0_GH0.tar.gz) = 3803531
+SHA256 (navidrome/goccy-go-json-v0.10.3_GH0.tar.gz) = f5686cf05cf9a4ade73955940486554465fca858c57d029c788b13ac624b74de
+SIZE (navidrome/goccy-go-json-v0.10.3_GH0.tar.gz) = 398899
+SHA256 (navidrome/golang-crypto-v0.26.0_GH0.tar.gz) = a67fabb33e4ea401e76968abe1ec6f7b86915d0cf1f15803cd0da72dd48fca14
+SIZE (navidrome/golang-crypto-v0.26.0_GH0.tar.gz) = 1799361
+SHA256 (navidrome/golang-exp-9b4947da3948_GH0.tar.gz) = e0f33ae5bccb95fca5ac3c8927a21ebd0171017aefc90b767fb49912c5ac11ff
+SIZE (navidrome/golang-exp-9b4947da3948_GH0.tar.gz) = 1749683
+SHA256 (navidrome/golang-image-v0.20.0_GH0.tar.gz) = 7d4b2eefea4bb94f823d570d2e841dc7c4485bbf61125bbe36863e0d6bca8038
+SIZE (navidrome/golang-image-v0.20.0_GH0.tar.gz) = 5104023
+SHA256 (navidrome/golang-net-v0.28.0_GH0.tar.gz) = 8008d97595302092019ef024c43212cc00deae8710db49876dd06af52310514f
+SIZE (navidrome/golang-net-v0.28.0_GH0.tar.gz) = 1454559
+SHA256 (navidrome/golang-sync-v0.8.0_GH0.tar.gz) = 1872b89e8bf234d4c65edca0bf7c7fd6c414cf74a5a9e10463eb2483cf7b361f
+SIZE (navidrome/golang-sync-v0.8.0_GH0.tar.gz) = 18181
+SHA256 (navidrome/golang-sys-v0.24.0_GH0.tar.gz) = 3402ba7b578406df222693bac2b4011b5c9ab9180b0c123db1ed92da8ba11052
+SIZE (navidrome/golang-sys-v0.24.0_GH0.tar.gz) = 1501680
+SHA256 (navidrome/golang-text-v0.18.0_GH0.tar.gz) = be96a814fcc6199a39647e79791663e1304706c26fe54a790a806f5fa8cc3b13
+SIZE (navidrome/golang-text-v0.18.0_GH0.tar.gz) = 8974630
+SHA256 (navidrome/golang-tools-v0.24.0_GH0.tar.gz) = 7ebfbdf31af28c4fd3a6cf1dec7bbfdd83e5292ae1ba5eb8825f8d90221a66fc
+SIZE (navidrome/golang-tools-v0.24.0_GH0.tar.gz) = 6977100
 SHA256 (navidrome/google-go-cmp-v0.6.0_GH0.tar.gz) = d14f7d57b0f6d25771bee3d7d5d038f532539e71bfc934772b1c0467ab90fa86
 SIZE (navidrome/google-go-cmp-v0.6.0_GH0.tar.gz) = 104784
-SHA256 (navidrome/google-pprof-a892ee059fd6_GH0.tar.gz) = 58d2f47fe85ee3fc9761ab9ea6ceac06683e70d25fe6f03213b307e701b917ff
-SIZE (navidrome/google-pprof-a892ee059fd6_GH0.tar.gz) = 4750333
+SHA256 (navidrome/google-pprof-fa2c70bbbfe5_GH0.tar.gz) = dfd7d920782e33a0e9f8b52806f88f3ea0c92aa836c50fe35718800c14076f25
+SIZE (navidrome/google-pprof-fa2c70bbbfe5_GH0.tar.gz) = 4755555
 SHA256 (navidrome/google-uuid-v1.6.0_GH0.tar.gz) = ee63376b5675376c60e055ed66e5f3651ccc703bd580c022b8ad00cea309252d
 SIZE (navidrome/google-uuid-v1.6.0_GH0.tar.gz) = 20896
 SHA256 (navidrome/google-wire-v0.6.0_GH0.tar.gz) = f80eaf41d540f19ecaaa8216be3c00d2850654f1d849f1820f9ee001b477931d
 SIZE (navidrome/google-wire-v0.6.0_GH0.tar.gz) = 89986
-SHA256 (navidrome/gorilla-css-v1.0.0_GH0.tar.gz) = 9decf83063b85bcd5392f645fac322e986b5fc596b3e44c3be02ee5939106f4c
-SIZE (navidrome/gorilla-css-v1.0.0_GH0.tar.gz) = 6443
-SHA256 (navidrome/hashicorp-errwrap-v1.0.0_GH0.tar.gz) = 26afc0e5895c6ce87c881c5c02c682ccc9a08174a9c27ca26d4a1e72dbf78128
-SIZE (navidrome/hashicorp-errwrap-v1.0.0_GH0.tar.gz) = 8346
+SHA256 (navidrome/gorilla-css-v1.0.1_GH0.tar.gz) = c56d3dd69a9922440c3a79246ff3b3fe8114128eac94605e3efcd9c465c57e4a
+SIZE (navidrome/gorilla-css-v1.0.1_GH0.tar.gz) = 7769
+SHA256 (navidrome/hashicorp-errwrap-v1.1.0_GH0.tar.gz) = 0d73891a7a179e50a142ac8832db97b17c792d29ae205b0e6aeedde4c43d51a4
+SIZE (navidrome/hashicorp-errwrap-v1.1.0_GH0.tar.gz) = 8581
 SHA256 (navidrome/hashicorp-go-multierror-v1.1.1_GH0.tar.gz) = 8d1bb3377310e8ffe4c7b5672c5de1eaed153402aebd15d6e5b9673c356a065f
 SIZE (navidrome/hashicorp-go-multierror-v1.1.1_GH0.tar.gz) = 13803
 SHA256 (navidrome/hashicorp-hcl-v1.0.0_GH0.tar.gz) = 50632428210503070fd2fde748c88b7414bf84a6a0eadebf9d8e596a033bead2
 SIZE (navidrome/hashicorp-hcl-v1.0.0_GH0.tar.gz) = 70658
 SHA256 (navidrome/inconshreveable-mousetrap-v1.1.0_GH0.tar.gz) = ab23e7c5cbf42564eb0190ee051b7217c04fd2599d2f26e9ebe205db75963141
 SIZE (navidrome/inconshreveable-mousetrap-v1.1.0_GH0.tar.gz) = 5338
-SHA256 (navidrome/jellydator-ttlcache-v2.11.1_GH0.tar.gz) = bd6ca68e0d5bc60bb7313e3b1c13124816ece15fd4a676d30752bd4b7dae08d6
-SIZE (navidrome/jellydator-ttlcache-v2.11.1_GH0.tar.gz) = 18738
+SHA256 (navidrome/jellydator-ttlcache-v3.3.0_GH0.tar.gz) = 1d074de8e6878407370b1406efc456c598921f72a89296c0aa1992690a96b817
+SIZE (navidrome/jellydator-ttlcache-v3.3.0_GH0.tar.gz) = 18152
+SHA256 (navidrome/klauspost-compress-v1.17.9_GH0.tar.gz) = 8130a8314f6f296bf43a0f07021fe51a994c2069390afd45e57496525312506c
+SIZE (navidrome/klauspost-compress-v1.17.9_GH0.tar.gz) = 38751164
 SHA256 (navidrome/kr-pretty-v0.3.1_GH0.tar.gz) = e6fa7db2708320e66a1645bf6b234e524e73f4163ca0519b8608616e48f5d206
 SIZE (navidrome/kr-pretty-v0.3.1_GH0.tar.gz) = 10227
 SHA256 (navidrome/kr-text-v0.2.0_GH0.tar.gz) = 59b5e4a7fd4097be87fad0edcaf342fdc971d0c8fdfb4f2d7424561471992e7c
@@ -107,54 +109,56 @@ SHA256 (navidrome/lestrrat-go-blackmagic-v1.0.2_GH0.tar.gz) = 213493da84c6728673
 SIZE (navidrome/lestrrat-go-blackmagic-v1.0.2_GH0.tar.gz) = 3934
 SHA256 (navidrome/lestrrat-go-httpcc-v1.0.1_GH0.tar.gz) = 40740483a7ff2070dd7957be7513498d7e4a080bea2128159fc3f160803dae41
 SIZE (navidrome/lestrrat-go-httpcc-v1.0.1_GH0.tar.gz) = 6153
-SHA256 (navidrome/lestrrat-go-httprc-v1.0.5_GH0.tar.gz) = f32278fd6ffd93b2e7229cb5adf602b4192f79347b5ea177c10dcbbbba095f6f
-SIZE (navidrome/lestrrat-go-httprc-v1.0.5_GH0.tar.gz) = 16630
+SHA256 (navidrome/lestrrat-go-httprc-v1.0.6_GH0.tar.gz) = d286ea4decdb9370bd4badc8fdc70ce71fe915966d956ddc77a14ab36f9f15aa
+SIZE (navidrome/lestrrat-go-httprc-v1.0.6_GH0.tar.gz) = 16611
 SHA256 (navidrome/lestrrat-go-iter-v1.0.2_GH0.tar.gz) = 7f9469449fb1f267f7284ca3e8da7b957153dd1963bf5b6def4a71aec1da0770
 SIZE (navidrome/lestrrat-go-iter-v1.0.2_GH0.tar.gz) = 6469
-SHA256 (navidrome/lestrrat-go-jwx-v2.0.21_GH0.tar.gz) = 6034003fc47e4eef82f6ca44b6c602a89e865c457524d86d6e34c6b984b8f369
-SIZE (navidrome/lestrrat-go-jwx-v2.0.21_GH0.tar.gz) = 440288
+SHA256 (navidrome/lestrrat-go-jwx-v2.1.1_GH0.tar.gz) = f5e88a94eb8a529ad9e77aecdecb41cf31ef8165173a141939e4b2d9af0f65de
+SIZE (navidrome/lestrrat-go-jwx-v2.1.1_GH0.tar.gz) = 461467
 SHA256 (navidrome/lestrrat-go-option-v1.0.1_GH0.tar.gz) = 2cd876f51cb7b721b184a26950ed6624c5e287fdb41ddad473284339aa0ee2cc
 SIZE (navidrome/lestrrat-go-option-v1.0.1_GH0.tar.gz) = 10576
 SHA256 (navidrome/magiconair-properties-v1.8.7_GH0.tar.gz) = 09e950df1970975400edc7f6c2f9e3edace4e1ea49f823006387d130fb0f4f03
 SIZE (navidrome/magiconair-properties-v1.8.7_GH0.tar.gz) = 31425
-SHA256 (navidrome/matoous-go-nanoid-v2.0.0_GH0.tar.gz) = 1098fa52a572b8e068afdc5659b5b9a54d81bbb7868be7ab8dd447ac50ca25da
-SIZE (navidrome/matoous-go-nanoid-v2.0.0_GH0.tar.gz) = 5485
-SHA256 (navidrome/mattn-go-sqlite3-v1.14.22_GH0.tar.gz) = 5b1d74ec4359b1ae0fe373fab37ae8a661ed128cf2f89b27875ecbb18bbe1078
-SIZE (navidrome/mattn-go-sqlite3-v1.14.22_GH0.tar.gz) = 2602367
-SHA256 (navidrome/mattn-go-zglob-v0.0.4_GH0.tar.gz) = b61c98fedef5d8248ef3cf18231796044c3731f8994cc103d5313539daae4e7d
-SIZE (navidrome/mattn-go-zglob-v0.0.4_GH0.tar.gz) = 8946
+SHA256 (navidrome/matoous-go-nanoid-v2.1.0_GH0.tar.gz) = 17179f88b18744245a6039f0b3e0854580e5dabcaaacae2744ec6b696cfdb483
+SIZE (navidrome/matoous-go-nanoid-v2.1.0_GH0.tar.gz) = 5708
+SHA256 (navidrome/mattn-go-sqlite3-v1.14.23_GH0.tar.gz) = a4c4db22554c97c41aacd20fdc6c76963d8cc38f2b3902d1f158cdb1ace0fb6e
+SIZE (navidrome/mattn-go-sqlite3-v1.14.23_GH0.tar.gz) = 2622940
+SHA256 (navidrome/mattn-go-zglob-v0.0.6_GH0.tar.gz) = d733295b942755ef0446c44cca0bcf5b55c75f22d120e29485e266d2df95f074
+SIZE (navidrome/mattn-go-zglob-v0.0.6_GH0.tar.gz) = 9273
 SHA256 (navidrome/mfridman-interpolate-v0.0.2_GH0.tar.gz) = 1dfc366132e82d3da7679b7051e76097d8d39dfbf91c495f1099570d99ee6ce5
 SIZE (navidrome/mfridman-interpolate-v0.0.2_GH0.tar.gz) = 8606
-SHA256 (navidrome/microcosm-cc-bluemonday-v1.0.26_GH0.tar.gz) = f267d586b4df8e09ad733b4b62476f044173a9eb480118f1036ed874f2a69dc1
-SIZE (navidrome/microcosm-cc-bluemonday-v1.0.26_GH0.tar.gz) = 174738
-SHA256 (navidrome/mileusna-useragent-v1.3.4_GH0.tar.gz) = 3411240a5874f42969f555a136646646975adb75e3d3023b9400a0a2e5516363
-SIZE (navidrome/mileusna-useragent-v1.3.4_GH0.tar.gz) = 12028
+SHA256 (navidrome/microcosm-cc-bluemonday-v1.0.27_GH0.tar.gz) = 02f57c2cc795a7ec9d74354d182fcff5cc69734c7a46f82b33b656f8bdb19703
+SIZE (navidrome/microcosm-cc-bluemonday-v1.0.27_GH0.tar.gz) = 169828
+SHA256 (navidrome/mileusna-useragent-v1.3.5_GH0.tar.gz) = 0e8eea868fb66be0150847e068eef44d7a5de3cd47ef059e1ce92c309d355c62
+SIZE (navidrome/mileusna-useragent-v1.3.5_GH0.tar.gz) = 12495
 SHA256 (navidrome/mitchellh-mapstructure-v1.5.0_GH0.tar.gz) = 81106cbac93000812c194b4a2069dd32913ec18819b1e99e8436595ce4939413
 SIZE (navidrome/mitchellh-mapstructure-v1.5.0_GH0.tar.gz) = 30123
+SHA256 (navidrome/munnerz-goautoneg-a7dc8b61c822_GH0.tar.gz) = 3a455e3bcf8237ecee0385f97223ca821ec2547284e827e90f94a4984801ca1c
+SIZE (navidrome/munnerz-goautoneg-a7dc8b61c822_GH0.tar.gz) = 2810
 SHA256 (navidrome/natefinch-npipe-c1b8fa8bdcce_GH0.tar.gz) = 6e3de30412671aba8f89008b2411126378a4dd2bddff095312d7a88a1670d3ab
 SIZE (navidrome/natefinch-npipe-c1b8fa8bdcce_GH0.tar.gz) = 12421
-SHA256 (navidrome/onsi-ginkgo-v2.17.3_GH0.tar.gz) = 08bbde67a937148c888249f43f32e26fe77619b9dec47603368556d8b70b0009
-SIZE (navidrome/onsi-ginkgo-v2.17.3_GH0.tar.gz) = 637266
-SHA256 (navidrome/onsi-gomega-v1.33.1_GH0.tar.gz) = 36c9db9eefafb76eca8cdf84fa5271fd243eb0ef7e656a8c108aa679250d5810
-SIZE (navidrome/onsi-gomega-v1.33.1_GH0.tar.gz) = 317281
-SHA256 (navidrome/pelletier-go-toml-v2.2.2_GH0.tar.gz) = 8c5c1107f764d5abc50cfa5721a1c5fd43a30ad09f84105c5c5bcbbd1290fb25
-SIZE (navidrome/pelletier-go-toml-v2.2.2_GH0.tar.gz) = 909040
+SHA256 (navidrome/onsi-ginkgo-v2.20.2_GH0.tar.gz) = 01a41b21488836c637e8f775b3aa4d067fba5bcc67885463db530fd5b517f687
+SIZE (navidrome/onsi-ginkgo-v2.20.2_GH0.tar.gz) = 643256
+SHA256 (navidrome/onsi-gomega-v1.34.2_GH0.tar.gz) = 35178dd3464111a170ddb2bd5517780baa6fb735376c3a1c503135bb7ba48400
+SIZE (navidrome/onsi-gomega-v1.34.2_GH0.tar.gz) = 318628
+SHA256 (navidrome/pelletier-go-toml-v2.2.3_GH0.tar.gz) = 3a5dfdc1e543efd6032813cb27a5b06d66bbefbbcc88bb664f69d605725c42af
+SIZE (navidrome/pelletier-go-toml-v2.2.3_GH0.tar.gz) = 909237
 SHA256 (navidrome/pmezard-go-difflib-5d4384ee4fb2_GH0.tar.gz) = 8574a5cbc435057352a17ff9e6ad40190f3b9d623cd9ab0cdfa6c1d8f0bea0b2
 SIZE (navidrome/pmezard-go-difflib-5d4384ee4fb2_GH0.tar.gz) = 11395
 SHA256 (navidrome/pocketbase-dbx-v1.10.1_GH0.tar.gz) = e9da4cb47430b8b75f2fbbc8df871fed40e48b6812f5816ccc093185d48e3326
 SIZE (navidrome/pocketbase-dbx-v1.10.1_GH0.tar.gz) = 48150
-SHA256 (navidrome/pressly-goose-v3.20.0_GH0.tar.gz) = a368adcca9d2767800b28e2f897cfed3df978479f449908d2977e8e47435c153
-SIZE (navidrome/pressly-goose-v3.20.0_GH0.tar.gz) = 302530
-SHA256 (navidrome/prometheus-client_golang-v1.19.0_GH0.tar.gz) = abe67780f953d9d84b955ca69ac460138e5326a4294e86bff908e3f46e648e2f
-SIZE (navidrome/prometheus-client_golang-v1.19.0_GH0.tar.gz) = 1083451
-SHA256 (navidrome/prometheus-client_model-v0.5.0_GH0.tar.gz) = 170873e0b91cab5da6634af1498b88876842ff3e01212e2dabf6b4e6512c948d
-SIZE (navidrome/prometheus-client_model-v0.5.0_GH0.tar.gz) = 17333
-SHA256 (navidrome/prometheus-common-v0.48.0_GH0.tar.gz) = d68229ce278dde316abd2aabb07fd34a2e364c25c0e55f9d11cfd73352d7dadf
-SIZE (navidrome/prometheus-common-v0.48.0_GH0.tar.gz) = 140880
-SHA256 (navidrome/prometheus-procfs-v0.12.0_GH0.tar.gz) = 2e10f60725a5905d6cfaeffd0bc1441171aa694236a6c7031aad5a87ff841495
-SIZE (navidrome/prometheus-procfs-v0.12.0_GH0.tar.gz) = 237430
-SHA256 (navidrome/protocolbuffers-protobuf-go-v1.33.0_GH0.tar.gz) = 21661d7634e3f783b015b93ceafc0261f2f02a270799bac871602c3a2172cfbe
-SIZE (navidrome/protocolbuffers-protobuf-go-v1.33.0_GH0.tar.gz) = 1482410
+SHA256 (navidrome/pressly-goose-v3.22.0_GH0.tar.gz) = c624faf209caa6d666059882904a4fc90be6e225aeede0cd063bb4b6aa365c90
+SIZE (navidrome/pressly-goose-v3.22.0_GH0.tar.gz) = 307443
+SHA256 (navidrome/prometheus-client_golang-v1.20.3_GH0.tar.gz) = cbef254fbe5de9fc32308f52a41b9f7af43fe82af551e6fbc31322417e1bf7d9
+SIZE (navidrome/prometheus-client_golang-v1.20.3_GH0.tar.gz) = 1102062
+SHA256 (navidrome/prometheus-client_model-v0.6.1_GH0.tar.gz) = b9b690bc35d80061f255faa7df7621eae39fe157179ccd78ff6409c3b004f05e
+SIZE (navidrome/prometheus-client_model-v0.6.1_GH0.tar.gz) = 17373
+SHA256 (navidrome/prometheus-common-v0.55.0_GH0.tar.gz) = b9cabec7dadf615ae8bf86414d916f6680bc9e641d7631deaad71422b104ab6b
+SIZE (navidrome/prometheus-common-v0.55.0_GH0.tar.gz) = 147527
+SHA256 (navidrome/prometheus-procfs-v0.15.1_GH0.tar.gz) = ba96bb6d45f1fcbff820c7d844e6acdef4416bb0ff2d9e24656f5cbacb8e46b5
+SIZE (navidrome/prometheus-procfs-v0.15.1_GH0.tar.gz) = 243687
+SHA256 (navidrome/protocolbuffers-protobuf-go-v1.34.2_GH0.tar.gz) = a91d3129e38945b612b7a377364dae324ed3a489c3a805a412805a0cee76e7a2
+SIZE (navidrome/protocolbuffers-protobuf-go-v1.34.2_GH0.tar.gz) = 1522818
 SHA256 (navidrome/robfig-cron-v3.0.1_GH0.tar.gz) = ef97328622b5eac7adfb1aa47ddab7b3f68271b9a9b76e5bc07bf2ad65bb051a
 SIZE (navidrome/robfig-cron-v3.0.1_GH0.tar.gz) = 25639
 SHA256 (navidrome/rogpeppe-go-internal-v1.10.0_GH0.tar.gz) = 9d464d9a1720ff3b805fe36e1a16be2d249c5d828b989f20b2e01a880341a802
@@ -165,8 +169,8 @@ SHA256 (navidrome/sagikazarmark-slog-shim-v0.1.0_GH0.tar.gz) = a594ec7e138265768
 SIZE (navidrome/sagikazarmark-slog-shim-v0.1.0_GH0.tar.gz) = 10872
 SHA256 (navidrome/segmentio-asm-v1.2.0_GH0.tar.gz) = e4b74487709aef00ff9df241e577d66ae97056ad20d602e5a6fc03b35039156d
 SIZE (navidrome/segmentio-asm-v1.2.0_GH0.tar.gz) = 92462
-SHA256 (navidrome/sethvargo-go-retry-v0.2.4_GH0.tar.gz) = 1594e9bf3632aa0f23d8ef17a1e72281e25852bfedba83a3e194b7f47c1802ad
-SIZE (navidrome/sethvargo-go-retry-v0.2.4_GH0.tar.gz) = 13719
+SHA256 (navidrome/sethvargo-go-retry-v0.3.0_GH0.tar.gz) = b8073e5d7a2529d610c90a1ee411d9ddcb5aba4eb6f0f99fc41cff42c8bc080c
+SIZE (navidrome/sethvargo-go-retry-v0.3.0_GH0.tar.gz) = 12330
 SHA256 (navidrome/sirupsen-logrus-v1.9.3_GH0.tar.gz) = cfa48a647a28c1f12fb6a9b672bc4d88b6407ff05aedcf23ce939d342646acce
 SIZE (navidrome/sirupsen-logrus-v1.9.3_GH0.tar.gz) = 50320
 SHA256 (navidrome/sourcegraph-conc-v0.3.0_GH0.tar.gz) = c20a36ef6e8cd4721b8824d3e0a590d78f56ce72ace53ec7fdd2f7a978e9240f
@@ -175,12 +179,12 @@ SHA256 (navidrome/spf13-afero-v1.11.0_GH0.tar.gz) = f83f67c4a03d8bba2b7fe1a496e8
 SIZE (navidrome/spf13-afero-v1.11.0_GH0.tar.gz) = 89257
 SHA256 (navidrome/spf13-cast-v1.6.0_GH0.tar.gz) = 8eef6bfd96458f061dd738f6e146b7687bdde18f996258c9bab0f574f8c36ae8
 SIZE (navidrome/spf13-cast-v1.6.0_GH0.tar.gz) = 15616
-SHA256 (navidrome/spf13-cobra-v1.8.0_GH0.tar.gz) = 66605a6a2297d819e3f92fa38fa6d7771fb8a4adb00e9aa7cb34021bd8389602
-SIZE (navidrome/spf13-cobra-v1.8.0_GH0.tar.gz) = 189706
+SHA256 (navidrome/spf13-cobra-v1.8.1_GH0.tar.gz) = 5d45f6fcce63f9f4dd12b34a15669335a35ca3f7bf297ba465c3fbf62308e5fe
+SIZE (navidrome/spf13-cobra-v1.8.1_GH0.tar.gz) = 192358
 SHA256 (navidrome/spf13-pflag-v1.0.5_GH0.tar.gz) = 9a2cae1f8e8ab0d2cc8ebe468e871af28d9ac0962cf0520999e3ba85f0c7b808
 SIZE (navidrome/spf13-pflag-v1.0.5_GH0.tar.gz) = 50796
-SHA256 (navidrome/spf13-viper-v1.18.2_GH0.tar.gz) = eb9223a46c6319b3add6cfe3e7986fde9919bd441d695169d6f1238d19a0d6d4
-SIZE (navidrome/spf13-viper-v1.18.2_GH0.tar.gz) = 118481
+SHA256 (navidrome/spf13-viper-v1.19.0_GH0.tar.gz) = bd754a586de7b8f6e54037b715765833f8120cb8bdbb4240a69c6537a0ccdfd5
+SIZE (navidrome/spf13-viper-v1.19.0_GH0.tar.gz) = 119990
 SHA256 (navidrome/stretchr-objx-v0.5.2_GH0.tar.gz) = c21c81a2e619fe8194c9cfafd577a72fe163df5a384d68799fbc54eef4b0e33f
 SIZE (navidrome/stretchr-objx-v0.5.2_GH0.tar.gz) = 33222
 SHA256 (navidrome/stretchr-testify-v1.9.0_GH0.tar.gz) = ee651d4d4427d55096007190398102383498e6b5cf97ea9e89ad6e72b4115fbb
@@ -189,7 +193,7 @@ SHA256 (navidrome/subosito-gotenv-v1.6.0_GH0.tar.gz) = 51a5a8e36f30ddd97866779e9
 SIZE (navidrome/subosito-gotenv-v1.6.0_GH0.tar.gz) = 11470
 SHA256 (navidrome/uber-go-multierr-v1.11.0_GH0.tar.gz) = 8aa599cf7de733306cf8770f854f8a38e6c819b1ae4296f15e44b1e7c6698f34
 SIZE (navidrome/uber-go-multierr-v1.11.0_GH0.tar.gz) = 16900
-SHA256 (navidrome/unrolled-secure-v1.14.0_GH0.tar.gz) = bbfb8009dd82a096a925b0d874e6cd77e17becab83c3aae19cc32510f6ff39c0
-SIZE (navidrome/unrolled-secure-v1.14.0_GH0.tar.gz) = 18450
-SHA256 (navidrome/xrash-smetrics-5f08fbb34913_GH0.tar.gz) = a5b91bf429991a528ecf8674bfb72a6d4719215858b10b2c0018b57a19e3ca7d
-SIZE (navidrome/xrash-smetrics-5f08fbb34913_GH0.tar.gz) = 1823559
+SHA256 (navidrome/unrolled-secure-v1.15.0_GH0.tar.gz) = bbb946aacc2cdae728874c7d9e9187ecc463c1f73e1226fe8e77da880e7a58c9
+SIZE (navidrome/unrolled-secure-v1.15.0_GH0.tar.gz) = 18714
+SHA256 (navidrome/xrash-smetrics-686a1a2994c1_GH0.tar.gz) = 8bc1fb90f87d0e470ca57181d642bbdea786916206cd482d0ab472a55e749bc2
+SIZE (navidrome/xrash-smetrics-686a1a2994c1_GH0.tar.gz) = 1823556
diff --git a/multimedia/navidrome/files/modules.txt b/multimedia/navidrome/files/modules.txt
new file mode 100644
index 000000000000..ca1fa97b481a
--- /dev/null
+++ b/multimedia/navidrome/files/modules.txt
@@ -0,0 +1,487 @@
+# github.com/Masterminds/squirrel v1.5.4
+## explicit; go 1.14
+github.com/Masterminds/squirrel
+# github.com/RaveNoX/go-jsoncommentstrip v1.0.0
+## explicit; go 1.12
+github.com/RaveNoX/go-jsoncommentstrip
+# github.com/aymerick/douceur v0.2.0
+## explicit
+github.com/aymerick/douceur/css
+github.com/aymerick/douceur/parser
+# github.com/beorn7/perks v1.0.1
+## explicit; go 1.11
+github.com/beorn7/perks/quantile
+# github.com/bradleyjkemp/cupaloy/v2 v2.8.0
+## explicit
+github.com/bradleyjkemp/cupaloy/v2
+github.com/bradleyjkemp/cupaloy/v2/internal
+# github.com/cespare/xxhash/v2 v2.3.0
+## explicit; go 1.11
+github.com/cespare/xxhash/v2
+# github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc
+## explicit
+github.com/davecgh/go-spew/spew
+# github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0
+## explicit; go 1.17
+github.com/decred/dcrd/dcrec/secp256k1/v4
+# github.com/deluan/rest v0.0.0-20211102003136-6260bc399cbf
+## explicit; go 1.13
+github.com/deluan/rest
+# github.com/deluan/sanitize v0.0.0-20230310221930-6e18967d9fc1
+## explicit; go 1.17
+github.com/deluan/sanitize
+# github.com/dexterlb/mpvipc v0.0.0-20230829142118-145d6eabdc37
+## explicit
+github.com/dexterlb/mpvipc
+# github.com/dhowden/tag v0.0.0-20240417053706-3d75831295e8
+## explicit; go 1.20
+github.com/dhowden/tag
+# github.com/disintegration/imaging v1.6.2
+## explicit
+github.com/disintegration/imaging
+# github.com/djherbis/atime v1.1.0
+## explicit; go 1.16
+github.com/djherbis/atime
+# github.com/djherbis/fscache v0.10.2-0.20231127215153-442a07e326c4
+## explicit; go 1.14
+github.com/djherbis/fscache
+# github.com/djherbis/stream v1.4.0
+## explicit; go 1.13
+github.com/djherbis/stream
+# github.com/djherbis/times v1.6.0
+## explicit; go 1.16
+github.com/djherbis/times
+# github.com/dustin/go-humanize v1.0.1
+## explicit; go 1.16
+github.com/dustin/go-humanize
+# github.com/fatih/structs v1.1.0
+## explicit
+github.com/fatih/structs
+# github.com/fsnotify/fsnotify v1.7.0
+## explicit; go 1.17
+github.com/fsnotify/fsnotify
+# github.com/go-chi/chi/v5 v5.1.0
+## explicit; go 1.14
+github.com/go-chi/chi/v5
+github.com/go-chi/chi/v5/middleware
+# github.com/go-chi/cors v1.2.1
+## explicit; go 1.14
+github.com/go-chi/cors
+# github.com/go-chi/httprate v0.14.1
+## explicit; go 1.17
+github.com/go-chi/httprate
+# github.com/go-chi/jwtauth/v5 v5.3.1
+## explicit; go 1.18
+github.com/go-chi/jwtauth/v5
+# github.com/go-logr/logr v1.4.2
+## explicit; go 1.18
+github.com/go-logr/logr
+github.com/go-logr/logr/funcr
+# github.com/go-task/slim-sprig/v3 v3.0.0
+## explicit; go 1.20
+github.com/go-task/slim-sprig/v3
+# github.com/goccy/go-json v0.10.3
+## explicit; go 1.19
+github.com/goccy/go-json
+github.com/goccy/go-json/internal/decoder
+github.com/goccy/go-json/internal/encoder
+github.com/goccy/go-json/internal/encoder/vm
+github.com/goccy/go-json/internal/encoder/vm_color
+github.com/goccy/go-json/internal/encoder/vm_color_indent
+github.com/goccy/go-json/internal/encoder/vm_indent
+github.com/goccy/go-json/internal/errors
+github.com/goccy/go-json/internal/runtime
+# github.com/google/go-cmp v0.6.0
+## explicit; go 1.13
+github.com/google/go-cmp/cmp
+github.com/google/go-cmp/cmp/internal/diff
+github.com/google/go-cmp/cmp/internal/flags
+github.com/google/go-cmp/cmp/internal/function
+github.com/google/go-cmp/cmp/internal/value
+# github.com/google/pprof v0.0.0-20240827171923-fa2c70bbbfe5
+## explicit; go 1.22
+github.com/google/pprof/profile
+# github.com/google/uuid v1.6.0
+## explicit
+github.com/google/uuid
+# github.com/google/wire v0.6.0
+## explicit; go 1.12
+github.com/google/wire
+# github.com/gorilla/css v1.0.1
+## explicit; go 1.20
+github.com/gorilla/css/scanner
+# github.com/hashicorp/errwrap v1.1.0
+## explicit
+github.com/hashicorp/errwrap
+# github.com/hashicorp/go-multierror v1.1.1
+## explicit; go 1.13
+github.com/hashicorp/go-multierror
+# github.com/hashicorp/hcl v1.0.0
+## explicit
+github.com/hashicorp/hcl
+github.com/hashicorp/hcl/hcl/ast
+github.com/hashicorp/hcl/hcl/parser
+github.com/hashicorp/hcl/hcl/printer
+github.com/hashicorp/hcl/hcl/scanner
+github.com/hashicorp/hcl/hcl/strconv
+github.com/hashicorp/hcl/hcl/token
+github.com/hashicorp/hcl/json/parser
+github.com/hashicorp/hcl/json/scanner
+github.com/hashicorp/hcl/json/token
+# github.com/inconshreveable/mousetrap v1.1.0
+## explicit; go 1.18
+github.com/inconshreveable/mousetrap
+# github.com/jellydator/ttlcache/v3 v3.3.0
+## explicit; go 1.18
+github.com/jellydator/ttlcache/v3
+# github.com/klauspost/compress v1.17.9
+## explicit; go 1.20
+github.com/klauspost/compress
+github.com/klauspost/compress/fse
+github.com/klauspost/compress/huff0
+github.com/klauspost/compress/internal/cpuinfo
+github.com/klauspost/compress/internal/snapref
+github.com/klauspost/compress/zstd
+github.com/klauspost/compress/zstd/internal/xxhash
+# github.com/kr/pretty v0.3.1
+## explicit; go 1.12
+github.com/kr/pretty
+# github.com/kr/text v0.2.0
+## explicit
+github.com/kr/text
+# github.com/lann/builder v0.0.0-20180802200727-47ae307949d0
+## explicit
+github.com/lann/builder
+# github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0
+## explicit
+github.com/lann/ps
+# github.com/lestrrat-go/blackmagic v1.0.2
+## explicit; go 1.16
+github.com/lestrrat-go/blackmagic
+# github.com/lestrrat-go/httpcc v1.0.1
+## explicit; go 1.16
+github.com/lestrrat-go/httpcc
+# github.com/lestrrat-go/httprc v1.0.6
+## explicit; go 1.17
+github.com/lestrrat-go/httprc
+# github.com/lestrrat-go/iter v1.0.2
+## explicit; go 1.13
+github.com/lestrrat-go/iter/arrayiter
+github.com/lestrrat-go/iter/mapiter
+# github.com/lestrrat-go/jwx/v2 v2.1.1
+## explicit; go 1.20
+github.com/lestrrat-go/jwx/v2
+github.com/lestrrat-go/jwx/v2/cert
+github.com/lestrrat-go/jwx/v2/internal/base64
+github.com/lestrrat-go/jwx/v2/internal/ecutil
+github.com/lestrrat-go/jwx/v2/internal/iter
+github.com/lestrrat-go/jwx/v2/internal/json
+github.com/lestrrat-go/jwx/v2/internal/keyconv
+github.com/lestrrat-go/jwx/v2/internal/pool
+github.com/lestrrat-go/jwx/v2/jwa
+github.com/lestrrat-go/jwx/v2/jwe
+github.com/lestrrat-go/jwx/v2/jwe/internal/aescbc
+github.com/lestrrat-go/jwx/v2/jwe/internal/cipher
+github.com/lestrrat-go/jwx/v2/jwe/internal/concatkdf
+github.com/lestrrat-go/jwx/v2/jwe/internal/content_crypt
+github.com/lestrrat-go/jwx/v2/jwe/internal/keyenc
+github.com/lestrrat-go/jwx/v2/jwe/internal/keygen
+github.com/lestrrat-go/jwx/v2/jwk
+github.com/lestrrat-go/jwx/v2/jwk/internal/x509
+github.com/lestrrat-go/jwx/v2/jws
+github.com/lestrrat-go/jwx/v2/jwt
+github.com/lestrrat-go/jwx/v2/jwt/internal/types
+github.com/lestrrat-go/jwx/v2/x25519
+# github.com/lestrrat-go/option v1.0.1
+## explicit; go 1.16
+github.com/lestrrat-go/option
+# github.com/magiconair/properties v1.8.7
+## explicit; go 1.19
+github.com/magiconair/properties
+# github.com/matoous/go-nanoid/v2 v2.1.0
+## explicit; go 1.20
+github.com/matoous/go-nanoid/v2
+# github.com/mattn/go-sqlite3 v1.14.23
+## explicit; go 1.19
+github.com/mattn/go-sqlite3
+# github.com/mattn/go-zglob v0.0.6
+## explicit; go 1.12
+github.com/mattn/go-zglob
+github.com/mattn/go-zglob/fastwalk
+# github.com/mfridman/interpolate v0.0.2
+## explicit; go 1.19
+github.com/mfridman/interpolate
+# github.com/microcosm-cc/bluemonday v1.0.27
+## explicit; go 1.19
+github.com/microcosm-cc/bluemonday
+github.com/microcosm-cc/bluemonday/css
+# github.com/mileusna/useragent v1.3.5
+## explicit; go 1.14
+github.com/mileusna/useragent
+# github.com/mitchellh/mapstructure v1.5.0
+## explicit; go 1.14
+github.com/mitchellh/mapstructure
+# github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822
+## explicit
+github.com/munnerz/goautoneg
+# github.com/onsi/ginkgo/v2 v2.20.2
+## explicit; go 1.22
+github.com/onsi/ginkgo/v2
+github.com/onsi/ginkgo/v2/config
+github.com/onsi/ginkgo/v2/formatter
+github.com/onsi/ginkgo/v2/ginkgo
+github.com/onsi/ginkgo/v2/ginkgo/build
+github.com/onsi/ginkgo/v2/ginkgo/command
+github.com/onsi/ginkgo/v2/ginkgo/generators
+github.com/onsi/ginkgo/v2/ginkgo/internal
+github.com/onsi/ginkgo/v2/ginkgo/labels
+github.com/onsi/ginkgo/v2/ginkgo/outline
+github.com/onsi/ginkgo/v2/ginkgo/run
+github.com/onsi/ginkgo/v2/ginkgo/unfocus
+github.com/onsi/ginkgo/v2/ginkgo/watch
+github.com/onsi/ginkgo/v2/internal
+github.com/onsi/ginkgo/v2/internal/global
+github.com/onsi/ginkgo/v2/internal/interrupt_handler
+github.com/onsi/ginkgo/v2/internal/parallel_support
+github.com/onsi/ginkgo/v2/internal/testingtproxy
+github.com/onsi/ginkgo/v2/reporters
+github.com/onsi/ginkgo/v2/types
+# github.com/onsi/gomega v1.34.2
+## explicit; go 1.22
+github.com/onsi/gomega
+github.com/onsi/gomega/format
+github.com/onsi/gomega/gstruct
+github.com/onsi/gomega/gstruct/errors
+github.com/onsi/gomega/internal
+github.com/onsi/gomega/internal/gutil
+github.com/onsi/gomega/matchers
+github.com/onsi/gomega/matchers/support/goraph/bipartitegraph
+github.com/onsi/gomega/matchers/support/goraph/edge
+github.com/onsi/gomega/matchers/support/goraph/node
+github.com/onsi/gomega/matchers/support/goraph/util
+github.com/onsi/gomega/types
+# github.com/pelletier/go-toml/v2 v2.2.3
+## explicit; go 1.21.0
+github.com/pelletier/go-toml/v2
+github.com/pelletier/go-toml/v2/internal/characters
+github.com/pelletier/go-toml/v2/internal/danger
+github.com/pelletier/go-toml/v2/internal/tracker
+github.com/pelletier/go-toml/v2/unstable
+# github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2
+## explicit
+github.com/pmezard/go-difflib/difflib
+# github.com/pocketbase/dbx v1.10.1
+## explicit; go 1.13
+github.com/pocketbase/dbx
+# github.com/pressly/goose/v3 v3.22.0
+## explicit; go 1.21.0
+github.com/pressly/goose/v3
+github.com/pressly/goose/v3/database
+github.com/pressly/goose/v3/internal/dialect
+github.com/pressly/goose/v3/internal/dialect/dialectquery
+github.com/pressly/goose/v3/internal/gooseutil
+github.com/pressly/goose/v3/internal/sqlparser
+github.com/pressly/goose/v3/lock
+# github.com/prometheus/client_golang v1.20.3
+## explicit; go 1.20
+github.com/prometheus/client_golang/internal/github.com/golang/gddo/httputil
+github.com/prometheus/client_golang/internal/github.com/golang/gddo/httputil/header
+github.com/prometheus/client_golang/prometheus
+github.com/prometheus/client_golang/prometheus/internal
+github.com/prometheus/client_golang/prometheus/promhttp
+# github.com/prometheus/client_model v0.6.1
+## explicit; go 1.19
+github.com/prometheus/client_model/go
+# github.com/prometheus/common v0.55.0
+## explicit; go 1.20
+github.com/prometheus/common/expfmt
+github.com/prometheus/common/model
+# github.com/prometheus/procfs v0.15.1
+## explicit; go 1.20
+github.com/prometheus/procfs
+github.com/prometheus/procfs/internal/fs
+github.com/prometheus/procfs/internal/util
+# github.com/robfig/cron/v3 v3.0.1
+## explicit; go 1.12
+github.com/robfig/cron/v3
+# github.com/rogpeppe/go-internal v1.10.0
+## explicit; go 1.19
+github.com/rogpeppe/go-internal/fmtsort
+# github.com/sagikazarmark/locafero v0.4.0
+## explicit; go 1.20
+github.com/sagikazarmark/locafero
+# github.com/sagikazarmark/slog-shim v0.1.0
+## explicit; go 1.20
+github.com/sagikazarmark/slog-shim
+# github.com/segmentio/asm v1.2.0
+## explicit; go 1.18
+github.com/segmentio/asm/base64
+github.com/segmentio/asm/cpu
+github.com/segmentio/asm/cpu/arm
+github.com/segmentio/asm/cpu/arm64
+github.com/segmentio/asm/cpu/cpuid
+github.com/segmentio/asm/cpu/x86
+github.com/segmentio/asm/internal/unsafebytes
+# github.com/sethvargo/go-retry v0.3.0
+## explicit; go 1.21
+github.com/sethvargo/go-retry
+# github.com/sirupsen/logrus v1.9.3
+## explicit; go 1.13
+github.com/sirupsen/logrus
+github.com/sirupsen/logrus/hooks/test
+# github.com/sourcegraph/conc v0.3.0
+## explicit; go 1.19
+github.com/sourcegraph/conc
+github.com/sourcegraph/conc/internal/multierror
+github.com/sourcegraph/conc/iter
+github.com/sourcegraph/conc/panics
+# github.com/spf13/afero v1.11.0
+## explicit; go 1.19
+github.com/spf13/afero
+github.com/spf13/afero/internal/common
+github.com/spf13/afero/mem
+# github.com/spf13/cast v1.6.0
+## explicit; go 1.19
+github.com/spf13/cast
+# github.com/spf13/cobra v1.8.1
+## explicit; go 1.15
+github.com/spf13/cobra
+# github.com/spf13/pflag v1.0.5
+## explicit; go 1.12
+github.com/spf13/pflag
+# github.com/spf13/viper v1.19.0
+## explicit; go 1.20
+github.com/spf13/viper
+github.com/spf13/viper/internal/encoding
+github.com/spf13/viper/internal/encoding/dotenv
+github.com/spf13/viper/internal/encoding/hcl
+github.com/spf13/viper/internal/encoding/ini
+github.com/spf13/viper/internal/encoding/javaproperties
+github.com/spf13/viper/internal/encoding/json
+github.com/spf13/viper/internal/encoding/toml
+github.com/spf13/viper/internal/encoding/yaml
+github.com/spf13/viper/internal/features
+# github.com/stretchr/objx v0.5.2
+## explicit; go 1.20
+github.com/stretchr/objx
+# github.com/stretchr/testify v1.9.0
+## explicit; go 1.17
+github.com/stretchr/testify/assert
+github.com/stretchr/testify/mock
+# github.com/subosito/gotenv v1.6.0
+## explicit; go 1.18
+github.com/subosito/gotenv
+# github.com/unrolled/secure v1.15.0
+## explicit; go 1.13
+github.com/unrolled/secure
+# github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1
+## explicit; go 1.15
+github.com/xrash/smetrics
+# go.uber.org/multierr v1.11.0
+## explicit; go 1.19
+go.uber.org/multierr
+# golang.org/x/crypto v0.26.0
+## explicit; go 1.20
+golang.org/x/crypto/cryptobyte
+golang.org/x/crypto/cryptobyte/asn1
+golang.org/x/crypto/curve25519
+golang.org/x/crypto/ed25519
+golang.org/x/crypto/pbkdf2
+# golang.org/x/exp v0.0.0-20240823005443-9b4947da3948
+## explicit; go 1.20
+golang.org/x/exp/constraints
+golang.org/x/exp/slices
+golang.org/x/exp/slog
+golang.org/x/exp/slog/internal
+golang.org/x/exp/slog/internal/buffer
+# golang.org/x/image v0.20.0
+## explicit; go 1.18
+golang.org/x/image/bmp
+golang.org/x/image/ccitt
+golang.org/x/image/riff
+golang.org/x/image/tiff
+golang.org/x/image/tiff/lzw
+golang.org/x/image/vp8
+golang.org/x/image/vp8l
+golang.org/x/image/webp
+# golang.org/x/net v0.28.0
+## explicit; go 1.18
+golang.org/x/net/context
+golang.org/x/net/html
+golang.org/x/net/html/atom
+golang.org/x/net/html/charset
+# golang.org/x/sync v0.8.0
+## explicit; go 1.18
+golang.org/x/sync/errgroup
+golang.org/x/sync/semaphore
+golang.org/x/sync/singleflight
+# golang.org/x/sys v0.24.0
+## explicit; go 1.18
+golang.org/x/sys/cpu
+golang.org/x/sys/unix
+golang.org/x/sys/windows
+# golang.org/x/text v0.18.0
+## explicit; go 1.18
+golang.org/x/text/cases
+golang.org/x/text/encoding
+golang.org/x/text/encoding/charmap
+golang.org/x/text/encoding/htmlindex
+golang.org/x/text/encoding/internal
+golang.org/x/text/encoding/internal/identifier
+golang.org/x/text/encoding/japanese
+golang.org/x/text/encoding/korean
+golang.org/x/text/encoding/simplifiedchinese
+golang.org/x/text/encoding/traditionalchinese
+golang.org/x/text/encoding/unicode
+golang.org/x/text/internal
+golang.org/x/text/internal/language
+golang.org/x/text/internal/language/compact
+golang.org/x/text/internal/tag
+golang.org/x/text/internal/utf8internal
+golang.org/x/text/language
+golang.org/x/text/runes
+golang.org/x/text/transform
+golang.org/x/text/unicode/norm
+# golang.org/x/tools v0.24.0
+## explicit; go 1.19
+golang.org/x/tools/cover
+golang.org/x/tools/go/ast/inspector
+# google.golang.org/protobuf v1.34.2
+## explicit; go 1.20
+google.golang.org/protobuf/encoding/protodelim
+google.golang.org/protobuf/encoding/prototext
+google.golang.org/protobuf/encoding/protowire
+google.golang.org/protobuf/internal/descfmt
+google.golang.org/protobuf/internal/descopts
+google.golang.org/protobuf/internal/detrand
+google.golang.org/protobuf/internal/editiondefaults
+google.golang.org/protobuf/internal/encoding/defval
+google.golang.org/protobuf/internal/encoding/messageset
+google.golang.org/protobuf/internal/encoding/tag
+google.golang.org/protobuf/internal/encoding/text
+google.golang.org/protobuf/internal/errors
+google.golang.org/protobuf/internal/filedesc
+google.golang.org/protobuf/internal/filetype
+google.golang.org/protobuf/internal/flags
+google.golang.org/protobuf/internal/genid
+google.golang.org/protobuf/internal/impl
+google.golang.org/protobuf/internal/order
+google.golang.org/protobuf/internal/pragma
+google.golang.org/protobuf/internal/set
+google.golang.org/protobuf/internal/strs
+google.golang.org/protobuf/internal/version
+google.golang.org/protobuf/proto
+google.golang.org/protobuf/reflect/protoreflect
+google.golang.org/protobuf/reflect/protoregistry
+google.golang.org/protobuf/runtime/protoiface
+google.golang.org/protobuf/runtime/protoimpl
+google.golang.org/protobuf/types/known/timestamppb
+# gopkg.in/ini.v1 v1.67.0
+## explicit
+gopkg.in/ini.v1
+# gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce
+## explicit
+gopkg.in/natefinch/npipe.v2
+# gopkg.in/yaml.v3 v3.0.1
+## explicit
+gopkg.in/yaml.v3