Repository navigation
chore(deps): update dependency verdaccio to v7 - #109
Open
renovate[bot] wants to merge 1 commit into
Open
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^6.9.2→^7.0.2Release Notes
verdaccio/verdaccio (verdaccio)
v7.0.2Compare Source
Patch Changes
c017767: Remove theHEALTHCHECKfrom the Docker image.The probe used
localhost, which resolves to::1on Alpine, while the image listens on IPv4 only by default. The container was always reported asunhealthyeven though it served requests normally. The image no longer declares a health check, as in6.x.If you need one, add it yourself probing
127.0.0.1, for example indocker-compose.yaml:See Health check in the Docker documentation for the
docker runand HTTPS variants.v7.0.1Compare Source
Patch Changes
449ad6b: Restore the@verdaccio/package-filterplugin in theverdaccio7 package so the filter configuration works again.Verdaccio 7.0.0 shipped a default
config.yaml(also the one inside theverdaccio/verdaccio:7Docker image) with thefilters: '@verdaccio/package-filter'section enabled, but the package no longer declared the plugin as a dependency: it was dropped when the 7.x line moved to the published@verdaccio/*modules. On startup the plugin loader loggedpackage not found, try to install @verdaccio/package-filter with a package managerand continued without it, so anyminAgeDays,dateThresholdorblockrules configured underfilterswere silently not enforced.The plugin is a dependency of
verdaccioagain, as it is on the 6.x line, and the startup error is gone. No configuration change is needed; installations that worked around the problem by commenting out thefilterssection can enable it again. Affected:verdaccio@7.0.0and theverdaccio/verdaccio:7Docker image.14aaded: Show theverdacciopackage version in the web UI footer instead of the internal module version.verdaccio@7.0.0(and theverdaccio/verdaccio:7Docker image) displayed9.0.0-next-9.40in the bottom-right corner of the web UI. The 7 binary is a thin layer over the published@verdaccio/*9.x modules, and@verdaccio/serverfilled the version shown by the UI from its own package while the command line and the startup log already reported the right one.This release updates the
@verdaccio/*modules to9.0.0-next-9.41, whose@verdaccio/serverlets the embedding binary set that value, and passes theverdacciopackage version to it, so the UI now shows the same version asverdaccio --version. No configuration change is needed.v7.0.0Compare Source
Major Changes
d33944c: Verdaccio 7.0.0 is the first stable release of the 7.x line. It is published to npm aslatestand to Docker Hub asverdaccio/verdaccio:7,7.0andlatest; the 6.x line continues under thelatest-6npm dist-tag and the6image tag. The release post is at https://verdaccio.org/blog/2026/10/25/verdaccio-7-release, the migration guide at https://verdaccio.org/blog/2026/09/27/verdaccio-6-to-7-migration, and the complete tracker with every pull request and backport at #5680.Highlights
flags.stage, npm 11.17 or newer): a pipeline uploads a version, a maintainer reviews it, and only then it becomes installable (#6176).GET /-/package/{name}/version/{version}/statusreports whether a version ispublishedorstaged(#6365).flags.tfa): time-based one-time passwords for login, account operations and publishing (#6176).publish.check_ownersnow coversnpm deprecate, version unpublish and dist-tag changes (#6219); removing a version requires the unpublish permission on its own route (#6384); publish rejects invalid tarball attachment names before saving metadata and records an upload only after the tarball is fully written (#6367).web.assetFolder(#5653); home toolbar to filter, scope and sort, onboarding guide for empty registries,web.footer,web.poweredByandweb.help, package tabs in the URL andbunamong the package managers (#6400); per-language translation progress with a single translation source (#6395); password changes from the account menu (#6366).excludeDeprecated(#6028); notification hooks for publish and unpublish (#5920).ConfigBuildercovers web, listen, https, publish, flags, notify, middlewares, filters, maxBodySize, userRateLimit, urlPrefix and i18n (#5805); newserver.cors(#6255),server.dotfiles,server.hideStaticLogs,server.hidePingLogs(#6192) andserver.legacyAuthCache(#6133).verify_cache_mscaches successful password verifications for clients that send credentials on every request (#6351);npm login,yarn npm loginandpnpm loginkeep working through the Basic exception on the login routes (#6354).@verdaccio/proxyongot(#5646, #5746) with upstream errors mapped to registry errors (#6022);/-/v1/searchwith rate limits, bounded pagination and batched access checks, uplink results paginated before the client offset (#6235), configured uplink subpaths and headers preserved (#6209), ISO timestamps, version validation and original uplink errors preserved (#6263, #6264, #6265).@verdaccio/admin-cliships averdaccio-admin storagecommand group (#6231).Bug fixes
content-length(#6194, #6234); client-controlleddist.tarballURLs are not fetched off-uplink (#6225); the uplink cache is refreshed on304(#6276).401for invalid credentials onGET /-/user/(#5844); local storage no longer uses uncontrolled data in paths (#5847); the home directory resolves throughHOMEon Windows (#6247); missingHostheader handled (#5641).Breaking changes
/*splat,/{*splat}),res.sendFile(filename, { root })for absolute paths, andreq.bodyis already parsed when plugins run.config.self_pathwas replaced byconfig.configPath(#5850)._authentries in.npmrcmust move to_authToken;401responses advertise onlyBearer. The login routes accept Basic credentials whilesecurity.api.basicLoginis enabled (the default)./-/allsearch endpoint (use/-/v1/search),npm star/unstar(#5930), the deprecated AES encryption helpers (#5744), thesearchRemoteflag (#5801) and the debug-onlyPUT /:package/:version/-tag/:tagroute.runServer, which no longer accepts{ listenArg };await runServer(config)then call.listen(). ImportConfig,ConfigBuilder,getDefaultConfigandparseConfigFilefrom@verdaccio/core.@verdaccio/logger-commonsand@verdaccio/logger-prettifyare merged into@verdaccio/logger(#5657).exportschanged, so update deep imports.verdaccio-aws-s3-storage,verdaccio-google-cloudandverdaccio-active-directorymoved to their own repositories..sinopia-db.jsondatabases are no longer read.Also in 6.x
Dual ESM/CJS output, the package filter plugin, publish and unpublish notifications, the bounded
/-/v1/search, the@verdaccio/e2e-cliworkflow, the shared@verdaccio/ui-themeWeb UI, the htpasswd, name and search validation fixes and the new Web UI home were also backported to 6.x; the tracker lists the 6.x release that carries each one.Tooling and dependencies
pnpm 12 replaces Yarn for the workspace and CI (#5748, #6216); CI runs on Windows (#6248); end-to-end tests run through
@verdaccio/e2e-cli(#5678); the repository carriesAGENTS.mdand agent skills (#6252). Runtime dependencies move to Express 5.3,got15,js-yaml5, TypeScript 7 and Vite 8, with the published advisories inbody-parser,proxy-addr,compression,lodash-es,dompurifyandfast-uripatched (#6334, #6388).Upgrading
Back up the configuration, storage and
.verdaccio-db.json, update the runtime to Node.js 24, convert any JSON or JS configuration to YAML and test with a copy of the storage before switching. Do not run 6.x and 7.x against the same storage at the same time.Thanks to @juanpicado, @mbtools, @dianmorales, @jotadeveloper, @davidus27, @koliveira15, @moglerdev, @pranshuchittora, @ReemX, @RuneStone0, @tmota900 and @vsugrob for the work in this release line.
Minor Changes
ddf993c: Adopt@verdaccio/serverand drop the local api/web/storage forks. A thinStoragewrapper is kept to support legacy callback-based storage plugins, and the unused helpers insrc/lib/utils.tswere removed.Patch Changes
e404c82: Updates the runtime dependenciesexpressto 5.3.0 andsemverto 7.8.5, and movesbody-parser(used by Express to read request bodies) to 2.4.0.body-parser2.4.0 fixes a denial of service where trailing bytes after a compressed request body could keep the server busy (GHSA-27r3-jxmh-p828). Transitive dependencies with published advisories (fast-uri,qs,ip-address) are also moved to their patched releases. None of these change any API: no configuration or plugin changes are needed.The rest of the changes in this release only affect the development toolchain and the test suite (
@cypress/requestis no longer used by the tests).a307098: Migrate the 7.x release workflow to Changesets action v2 and CLI v3.256fd40: Disable dependency lifecycle scripts and require third-party dependencies to be at least three days old when installing Verdaccio in the final Docker image stage.The production installation now uses npm's
--ignore-scriptsand--min-release-age=3options. Verdaccio and packages matching@verdaccio/*orverdaccio-*are excluded from the age restriction so new Verdaccio releases can be built immediately. The final stage updates npm to support these exclusions and disables installation audit and funding output. Image builds still fail if another required dependency has no eligible version. No configuration changes are required for operators.The Docker base image uses Node.js 24.15.0 for compatibility with the updated npm.
f565393: Update the proxy address dependency to correctly match trusted proxy subnets when determining client IP addresses. Earlier 7.x prereleases using the affected dependency can misidentify clients with certain IPv6 trust configurations. No configuration migration is required.Update
@verdaccio/e2e-clito 4.0.0, which drops pnpm 10, and remove pnpm 10 from the CLI e2e matrix.6fd3e8a: Make/-/v1/searchwork for storage plugins that still use the callback API.Verdaccio 7 keeps callback-based storage plugins running through a compatibility
adapter. Its
searchcollected whatever the plugin streamed and handed the liststraight back, with two consequences for every such plugin.
The search query was dropped before it reached the plugin, and the adapter passed a
name predicate that always returned true, so the plugin emitted its whole catalogue and
nothing ever filtered it.
/-/v1/searchanswered with every package in the registryregardless of the text searched for, and paginated over that full list. It failed
silently: the endpoint returned 200 and the npm client still found what it asked for,
buried among everything else.
The adapter also passed the items through unchanged. The legacy contract emits the
package itself, while the store reads
item.package.name, so a plugin following thedocumented contract made the endpoint fail with a 500 instead.
The adapter now filters the collected results by the query text and wraps anything that
is not already in the store's shape. The filtering is done on the emitted name, never on
the name predicate a plugin is given: that one receives the basename, so rejecting there
would drop scoped packages whose full name does match. Operators running a callback-based
storage plugin get working search without touching the plugin; plugins already on the
promise-based API were never wrapped and are unaffected.
f1f5d34: chore: trigger releasea768d16: chore: replace eslint and prettier with oxlint and oxfmt594f438: Update verdaccio dependencies (@verdaccio/*,verdaccio,verdaccio-*) to thenext-9npm dist-tag.88bd996: Update verdaccio dependencies (@verdaccio/*,verdaccio,verdaccio-*) to thenext-9npm dist-tag.908ccbb: Update verdaccio dependencies (@verdaccio/*,verdaccio,verdaccio-*) to thenext-9npm dist-tag.e862a9a: Update verdaccio dependencies (@verdaccio/*,verdaccio,verdaccio-*) to thenext-9npm dist-tag.1aef95b: Update verdaccio dependencies (@verdaccio/*,verdaccio,verdaccio-*) to thenext-9npm dist-tag.304f155: Update verdaccio dependencies (@verdaccio/*,verdaccio,verdaccio-*) to thenext-9npm dist-tag.c461320: Update verdaccio dependencies (@verdaccio/*,verdaccio,verdaccio-*) to thenext-9npm dist-tag.a4ced54: Update verdaccio dependencies (@verdaccio/*,verdaccio,verdaccio-*) to thenext-9npm dist-tag.v6.11.1Compare Source
Patch Changes
62d8556: Update verdaccio dependencies to thelatestnpm dist-tag (@verdaccio/ui-themetracksnext-9):@verdaccio/ui-theme:9.0.0-next-9.39→9.0.0-next-9.40v6.11.0Compare Source
Minor Changes
93010b3:web.showSearch: falsenow also disables the web search endpoint.Until now the option only hid the search box in the header, while
/-/verdaccio/data/searchkept answering. WithshowSearch: falsethe endpoint is no longer registered and answers 404, the same wayweb.login: falseremoves the web login endpoints. The npm search API used bynpm search(/-/v1/search) is not affected, and nothing changes for registries that leaveshowSearchunset or set it totrue.Patch Changes
a3a664b: Releases are published with npm provenance again.verdaccio 6.10.5, 6.10.6 and 6.10.7 reached the npm registry without a provenance attestation, while every release from 6.9.0 to 6.10.4 had one. The release pipeline switched from
npm publishtoyarn npm publish, and yarn ignored the setting that requested provenance, so those versions were published through trusted publishing but without a signed SLSA statement. The package contents were not affected.Package managers that compare trust evidence between versions, such as pnpm with
trustPolicy: no-downgrade, refuse to install those three versions withERR_PNPM_TRUST_DOWNGRADE. This release carries provenance again, so upgrading to it, or pinning 6.10.4 or earlier, installs cleanly; nothing else needs to change on the operator side.90fde27: Update the bundled@verdaccio/*modules to their latest releases, which forward the new web UI options to the UI and fix a denial-of-service in request body parsing.The web UI options
web.footer,web.poweredBy,web.helpandweb.showPackageListToolbarnow reach the UI (@verdaccio/ui-theme9.0.0-next-9.39); before this update the server dropped them.showPackageListToolbardefaults tofalse, so the home page looks the same after upgrading unless you turn it on, andbunis now listed among the default package managers shown on a package page.body-parsermoves to1.20.9, fixing a denial of service where trailing bytes after a compressed request body could tie up the server (GHSA-27r3-jxmh-p828). All 6.x releases that useexpress4.22.3 are affected; no configuration change is needed.v6.10.7Compare Source
Patch Changes
7bd480a: The Docker image no longer trusts certificates issued through the compromised eMudhra (emSign) intermediate CAs.In October 2026, eMudhra disclosed that the private keys of several of its intermediate certificate authorities had been compromised. Anyone holding those keys can issue a TLS certificate that a client trusting the eMudhra chain accepts as valid, for any host. Verdaccio connects to its uplinks (such as registry.npmjs.org) over HTTPS, so an attacker able to intercept that traffic could impersonate an uplink and serve tampered metadata or tarballs, which Verdaccio would then cache.
The image is now built on
node:24.22.1-alpineinstead ofnode:24.15.0-alpine. Node.js 24.22.1 updates its bundled root certificates to NSS 3.131.1, which removesemSign ECC Root CA - G3, and rejects chains that contain the compromised public keys. Node.js uses that bundled store for outgoing HTTPS by default. The image also upgrades Alpine'sca-certificatespackage at build time. That package matters only if you make Node.js read the system store, for example withNODE_EXTRA_CA_CERTSor--use-system-ca.Every earlier
verdaccio/verdaccio6.x image is affected. To get the fix, pull the new image. If you install Verdaccio from npm instead of Docker, upgrade Node.js to 22.23.4, 24.22.1, 26.12.1 or later.v6.10.6Compare Source
Patch Changes
56b6a85: Disable dependency lifecycle scripts and require third-party dependencies to be at least three days old when installing Verdaccio in the final Docker image stage.The production installation now uses npm's
--ignore-scriptsand--min-release-age=3options. Verdaccio and packages matching@verdaccio/*orverdaccio-*are excluded from the age restriction so new Verdaccio releases can be built immediately. The final stage updates npm to support these exclusions and disables installation audit and funding output. Image builds still fail if another required dependency has no eligible version. No configuration changes are required for operators.db47d78: Update verdaccio dependencies to thelatestnpm dist-tag (@verdaccio/ui-themetracksnext-9):@verdaccio/ui-theme:9.0.0-next-9.34→9.0.0-next-9.36fdbfef9: Improve request validation when changing passwords and signing in through the web API.Password changes validate the supplied credential fields before invoking the authentication plugin. Existing passwords remain eligible for replacement even when they do not meet the current policy. The existing validation for new passwords and authentication plugin error handling remain unchanged. No configuration changes are required.
Web sign-in requests now validate the supplied credential fields the same way as password changes. Requests that omit the username or password, send either with a type other than a string, or send a
nullbody are rejected with HTTP 400 and the messageusername and password is required; anullbody previously failed with an internal server error (HTTP 500), and the other cases reached the authentication plugin. Empty strings are still passed to the authentication plugin, which rejects them as before. The web UI always sends both fields, so signing in from it is unaffected.This release also updates the internal
@verdaccio/*modules and the bundledverdaccio-htpasswdandverdaccio-auditplugins to their latest 6.x-compatible versions. The shared password validator now accepts input of any type and rejects anything that is not a string, and the webhook notification templates use Handlebars 4.7.10, which includes a security fix.proxy-addr, which Express uses to resolve client addresses whenserver.trustProxyis configured, is updated to 2.0.8, which includes a security fix for trusted-subnet matching of IPv4-mapped IPv6 addresses.abced78:npm whoamiand any other request to/-/whoaminow answer401 Unauthorizedwhen the request carries no credentials or a token Verdaccio does not recognise.Until now the endpoint answered
200with an empty body{}for anonymous requests, so clients that check the status code, rather than theusernamefield, treated an expired or wrong token as a valid login. The npm public registry and Verdaccio 7 answer401in that case, and this release aligns 6.x with them. Requests with a valid token are unchanged and still return{ "username": "<name>" }. No configuration change is required.This release also updates the internal
@verdaccio/*modules to their latest 8.x patches.@verdaccio/core8.3.3 corrects the input type of the shared password validator, without changing which passwords are accepted.@verdaccio/hooks8.1.7 bringshandlebars4.7.10, which fixes several template injection advisories in the library that renders notification templates.proxy-addr, used by Express to decide which proxies are trusted whenX-Forwarded-Foris read, is pinned to 2.0.8 to fix an IP spoofing issue with IPv4-mapped IPv6 trusted subnets (GHSA-jqcg-44mw-7w3h).v6.10.5Compare Source
Patch Changes
2ccbacf: Migrate the 6.x release workflow to Changesets action v2 and CLI v3.c159460: Improve validation of Search v1 query parameters.sizeandfromnow accept only plain string values; anything else falls back to the default page size and offset, as other non-numeric values already did. Only plain string parameters are forwarded to uplinks. An uplink search response that cannot be read now ends that uplink's results, and local results are still returned. Unexpected errors in the search endpoint are reported through the regular error handler. Registry configuration does not need to change.ec341ee: Validate Search v1 query text before starting a search.Search requests must provide a single, non-blank
textstring. Missing or invalid search text now receives HTTP 400 with the JSON error codeERR_TEXT_MISSING, before searching local packages or uplinks.Earlier 6.x releases could accept searches without text. Clients that call the search API directly must now supply a non-blank query. Valid query text is preserved, and searches with no matching packages continue to return HTTP 200 with an empty results array.
35e8373: Update verdaccio dependencies to thelatestnpm dist-tag (@verdaccio/ui-themetracksnext-9):@verdaccio/auth:8.1.4→8.1.5@verdaccio/config:8.3.1→8.3.2@verdaccio/core:8.3.1→8.3.2@verdaccio/hooks:8.1.5→8.1.6@verdaccio/loaders:8.1.4→8.1.5@verdaccio/local-storage-legacy:11.4.4→11.4.5@verdaccio/logger:8.1.4→8.1.5@verdaccio/middleware:8.1.5→8.1.6@verdaccio/package-filter:13.2.2→13.2.3@verdaccio/signature:8.1.4→8.1.5@verdaccio/tarball:13.1.4→13.1.5@verdaccio/ui-theme:9.0.0-next-9.31→9.0.0-next-9.33@verdaccio/url:13.1.4→13.1.5verdaccio-audit:13.1.5→13.1.6verdaccio-htpasswd:13.1.4→13.1.5Package name validation now follows the npm rules for existing packages: names that start with an underscore, use
@without a scope, or contain characters that are not URL-friendly are rejected with HTTP 400 instead of being looked up. Packages whose names cannot be stored as a directory of the same name on every platform (for examplenuloraux.js) are still served from uplinks, but are not cached locally and cannot be published to local storage; a warning is logged when one is requested. Rename any private package with such a name before upgrading. Registry configuration does not need to change.3d1ca06: Improve version validation inGET /<package>/<version>.The endpoint now resolves only versions and dist-tags that the package actually defines. A version or tag name that the package does not define now returns HTTP 404 (
version not found) in every case, instead of an internal server error for some names. Requests for existing versions, ranges and dist-tags behave as before, and registry configuration does not need to change.Update the internal
@verdaccio/*modules to their latest 8.x releases (@verdaccio/coreand@verdaccio/config8.3.1,@verdaccio/auth8.1.4,@verdaccio/middleware8.1.5,verdaccio-htpasswd13.1.4,@verdaccio/local-storage-legacy11.4.4,verdaccio-auth-memory13.1.4,verdaccio-memory10.5.4,verdaccio-audit13.1.5 and the rest of the set), which improve validation of user registration, authentication, API tokens and request parameters. When the htpasswd file is reloaded, users removed from it now stop authenticating without a restart.Update
brace-expansionand ignore two advisories without a published fix (braces,http-cache-semantics) that are not reachable from the registry code paths.v6.10.4Compare Source
Patch Changes
7730e60: Update express to 4.22.3 — directly and through@verdaccio/middleware8.1.4,verdaccio-audit13.1.4 and@verdaccio/test-helper4.1.4 — so the registry's entire HTTPstack resolves qs 6.16.0, which fixes several denial-of-service advisories in query-string
handling: a remotely triggerable crash in
qs.stringify(TypeError on crafted input), anarrayLimitbypass through bracket-key comma parsing that allows memory exhaustion, and aDoS via an attacker-controlled
isBuffercheck (GHSA-4mjr-xmp4-gh2g). Abody-parser/qsresolution covers the one remaining consumer that pins qs below the fix. Query-string
parsing behaviour is otherwise unchanged and no configuration change is needed.
The same update refreshes the development dependency tree, clearing every high-severity
yarn npm auditfinding (stale transitive resolutions of tar, minimatch, socks/ip, js-yaml,form-data, nanoid, postcss, picomatch, tmp and systeminformation, plus vitest 4.1.11 for the
@vitest/mockerpath-traversal advisory) — none of these ship in the published package.aabb0b4: Fixnpm publishfailing withrequest size did not match content lengthwhen authenticating with a token created bynpm token create.The JSON body parser was registered by the API router, which runs after
apiJWTmiddleware()and afterenforceGeneratedTokenMetadata(). The latter awaits a storage lookup for tokens that carry a server-issued key, so the request body was partially consumed before the parser attached. It is now registered before both, as it already is onmaster.e2602b3: Update verdaccio dependencies to thelatestnpm dist-tag (@verdaccio/ui-themetracksnext-9):@verdaccio/ui-theme:9.0.0-next-9.30→9.0.0-next-9.31v6.10.3Compare Source
Patch Changes
98b58ef: fix: do not fetch client-controlled dist.tarball urls off-uplink @cOmrade3267Only fetch a tarball url that a configured uplink actually serves. Off-uplink urls are
fetched without uplink credentials and only for uplink-synced packages (recorded in
_distfiles); a locally published package returns 404 instead of being fetched. Preventssending an uplink
Authorizationheader to an unrelated host.v6.10.2Compare Source
Patch Changes
6d972d1: fix: resolve fast-uri and brace-expansion security advisoriesfast-uri 3.1.6. Bumps the
ajv/fast-uriresolution from 3.1.5 to 3.1.6, whichfixes four high-severity advisories in the URI parser used by
ajvfor schemaformat validation: host confusion via skipped IDN canonicalization
(GHSA-5jgf-p345-68v8),
SSRF via malformed IPv6 normalization
(GHSA-f65p-4m7j-42xc),
SSRF via repeated hostname percent-decoding
(GHSA-fph4-wmhf-6fwf),
and host confusion via percent-encoded scheme normalization
(GHSA-jqff-g426-hqxp).
brace-expansion DoS cleanup. Updates the remaining vulnerable
brace-expansiontrees (1.1.11 → 1.1.18, 2.0.1 → 2.1.4) forGHSA-mh99-v99m-4gvg and
drops the temporary audit ignores that covered them while the patched
releases were still quarantined by the minimal-age gate.
6d972d1: chore: update e2e libraryca00ee0: fix: stop re-compressing tarballs for gzip-accepting clientsmime-db marks
application/octet-streamas compressible, so the compressionmiddleware re-gzipped every (already gzipped)
.tgzdownload for clientsthat accept gzip — npm and undici do by default — wasting CPU on every
download and stripping the
Content-Lengthheader. Tarball responses arenow excluded from compression; JSON metadata responses stay compressed.
Measured on a 30 MB tarball: ~18x less server CPU and ~20x faster downloads,
with slightly fewer bytes on the wire (gzip over gzip nets negative).
d4b8199: Update verdaccio dependencies to thelatestnpm dist-tag (@verdaccio/ui-themetracksnext-9):@verdaccio/ui-theme:9.0.0-next-9.28→9.0.0-next-9.30d94ebff: fix: validate the scope segment on the web package endpointsThe readme and sidebar web endpoints now validate the
:scoperoute segmentand return 404 for malformed requests.
v6.10.1Compare Source
Patch Changes
90d5c20: Import shared helpers from@verdaccio/coreand drop the deprecated@verdaccio/utilsdependencyAll internal usages of
@verdaccio/utilsnow resolve the same helpers from@verdaccio/core(validation, auth, crypto, package and author utilities), andthe
@verdaccio/utilsdependency has been removed.7805d50: Limit web UI search responses to 20 packages.c84070b: Update verdaccio dependencies to thelatestnpm dist-tag (@verdaccio/ui-themetracksnext-9):@verdaccio/ui-theme:9.0.0-next-9.27→9.0.0-next-9.28v6.10.0Compare Source
Minor Changes
51c2733: Expose the optional legacy authentication cache for Verdaccio 6.x throughserver.legacyAuthCache.This feature is intended for performance-sensitive installations that still use legacy bearer tokens. When enabled, Verdaccio caches successful legacy token authentication results for a short period of time, so repeated requests using the same token do not need to run password verification through the authentication plugin every time. Concurrent requests for the same legacy token can also share the same in-flight authentication result.
The cache is disabled by default, so existing installations keep their current authentication behavior unless they explicitly opt in. Basic authentication is not cached. If the cache is enabled, changed or revoked credentials may remain valid until the cached entry expires.
Enable it in
config.yaml:Options:
enabled: enables the legacy token authentication cache. Default:false.ttlMs: time in milliseconds before a cached validation expires. Default:15000.maxEntries: maximum number of cached legacy tokens. Default:1000.See #6147 and the original 8.x backport in #6143.
v6.9.3Compare Source
Patch Changes
3c8f391: Reject wildcard characters in package and tarball path validation.ebc08ba: Update verdaccio dependencies to thelatestnpm dist-tag (@verdaccio/ui-themetracksnext-9):This dependency refresh includes
@verdaccio/package-filter13.2.0withexcludeDeprecatedsupport from #6142 by @jotadeveloper, based on the original work by @davidus27. It also includes the@verdaccio/ui-themeupdate containing the homepage action hover fix from #6135 by @pranshuchittora.@verdaccio/auth:8.1.1→8.1.2@verdaccio/config:8.2.1→8.2.2@verdaccio/core:8.2.1→8.2.2@verdaccio/hooks:8.1.2→8.1.3@verdaccio/loaders:8.1.1→8.1.2@verdaccio/local-storage-legacy:11.4.1→11.4.2@verdaccio/logger:8.1.1→8.1.2@verdaccio/middleware:8.1.1→8.1.2@verdaccio/package-filter:13.1.1→13.2.0@verdaccio/signature:8.1.1→8.1.2@verdaccio/tarball:13.1.1→13.1.2@verdaccio/ui-theme:9.0.0-next-9.23→9.0.0-next-9.26@verdaccio/url:13.1.1→13.1.2@verdaccio/utils:8.2.1→8.2.2verdaccio-audit:13.1.1→13.1.2verdaccio-htpasswd:13.1.1→13.1.2Configuration
📅 Schedule: (UTC)
* 0-3 1 * *)🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.