Skip to content

chore(devdeps): update dependency verdaccio to v6.10.2 - #829

Closed
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/verdaccio-6.x
Closed

chore(devdeps): update dependency verdaccio to v6.10.2#829
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/verdaccio-6.x

Conversation

@renovate

@renovate renovate Bot commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
verdaccio (source) 6.5.26.10.2 age confidence

Release Notes

verdaccio/verdaccio (verdaccio)

v6.10.2

Compare Source

Patch Changes
  • 6d972d1: fix: resolve fast-uri and brace-expansion security advisories

    fast-uri 3.1.6. Bumps the ajv/fast-uri resolution from 3.1.5 to 3.1.6, which
    fixes four high-severity advisories in the URI parser used by ajv for schema
    format 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-expansion trees (1.1.11 → 1.1.18, 2.0.1 → 2.1.4) for
    GHSA-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 library

  • ca00ee0: fix: stop re-compressing tarballs for gzip-accepting clients

    mime-db marks application/octet-stream as compressible, so the compression
    middleware re-gzipped every (already gzipped) .tgz download for clients
    that accept gzip — npm and undici do by default — wasting CPU on every
    download and stripping the Content-Length header. Tarball responses are
    now 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 the latest npm dist-tag (@verdaccio/ui-theme tracks next-9):

    • @verdaccio/ui-theme: 9.0.0-next-9.289.0.0-next-9.30
  • d94ebff: fix: validate the scope segment on the web package endpoints

    The readme and sidebar web endpoints now validate the :scope route segment
    and return 404 for malformed requests.

v6.10.1

Compare Source

Patch Changes
  • 90d5c20: Import shared helpers from @verdaccio/core and drop the deprecated @verdaccio/utils dependency

    All internal usages of @verdaccio/utils now resolve the same helpers from
    @verdaccio/core (validation, auth, crypto, package and author utilities), and
    the @verdaccio/utils dependency has been removed.

  • 7805d50: Limit web UI search responses to 20 packages.

  • c84070b: Update verdaccio dependencies to the latest npm dist-tag (@verdaccio/ui-theme tracks next-9):

    • @verdaccio/ui-theme: 9.0.0-next-9.279.0.0-next-9.28

v6.10.0

Compare Source

Minor Changes
  • 51c2733: Expose the optional legacy authentication cache for Verdaccio 6.x through server.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:

    server:
      legacyAuthCache:
        enabled: true
        ttlMs: 15000
        maxEntries: 1000

    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.3

Compare Source

Patch Changes
  • 3c8f391: Reject wildcard characters in package and tarball path validation.

  • ebc08ba: Update verdaccio dependencies to the latest npm dist-tag (@verdaccio/ui-theme tracks next-9):

    This dependency refresh includes @verdaccio/package-filter 13.2.0 with excludeDeprecated support from #​6142 by @​jotadeveloper, based on the original work by @​davidus27. It also includes the @verdaccio/ui-theme update containing the homepage action hover fix from #​6135 by @​pranshuchittora.

    • @verdaccio/auth: 8.1.18.1.2
    • @verdaccio/config: 8.2.18.2.2
    • @verdaccio/core: 8.2.18.2.2
    • @verdaccio/hooks: 8.1.28.1.3
    • @verdaccio/loaders: 8.1.18.1.2
    • @verdaccio/local-storage-legacy: 11.4.111.4.2
    • @verdaccio/logger: 8.1.18.1.2
    • @verdaccio/middleware: 8.1.18.1.2
    • @verdaccio/package-filter: 13.1.113.2.0
    • @verdaccio/signature: 8.1.18.1.2
    • @verdaccio/tarball: 13.1.113.1.2
    • @verdaccio/ui-theme: 9.0.0-next-9.239.0.0-next-9.26
    • @verdaccio/url: 13.1.113.1.2
    • @verdaccio/utils: 8.2.18.2.2
    • verdaccio-audit: 13.1.113.1.2
    • verdaccio-htpasswd: 13.1.113.1.2

v6.9.2

Compare Source

Patch Changes
  • 297dc43: fix: apply package access controls to the starredByUser endpoint

    The GET /-/_view/starredByUser view did not enforce the configured package
    access policy when listing a user's starred packages. Results are now filtered
    through auth.allow_access, so the response only includes packages the
    requesting client is authorized to see.

  • 05917d5: Update verdaccio dependencies to the latest npm dist-tag (@verdaccio/ui-theme tracks next-9):

    • @verdaccio/ui-theme: 9.0.0-next-9.229.0.0-next-9.23

v6.9.1

Compare Source

Patch Changes
  • dfe3938: Update verdaccio dependencies to the latest npm dist-tag (@verdaccio/ui-theme tracks next-9):

    • @verdaccio/auth: 8.1.08.1.1
    • @verdaccio/config: 8.2.08.2.1
    • @verdaccio/core: 8.2.08.2.1
    • @verdaccio/hooks: 8.1.18.1.2
    • @verdaccio/loaders: 8.1.08.1.1
    • @verdaccio/local-storage-legacy: 11.4.011.4.1
    • @verdaccio/logger: 8.1.08.1.1
    • @verdaccio/middleware: 8.1.08.1.1
    • @verdaccio/package-filter: 13.1.013.1.1
    • @verdaccio/signature: 8.1.08.1.1
    • @verdaccio/tarball: 13.1.013.1.1
    • @verdaccio/ui-theme: 9.0.0-next-9.219.0.0-next-9.22
    • @verdaccio/url: 13.1.013.1.1
    • @verdaccio/utils: 8.2.08.2.1
    • verdaccio-audit: 13.1.013.1.1
    • verdaccio-htpasswd: 13.1.013.1.1

v6.9.0

Compare Source

Minor Changes
  • b67a665: feat: require Node.js 22 as the minimum supported version

    Node.js 22 or higher is now required (previously the CLI still accepted Node.js 18,
    while engines already demanded 20). The CLI refuses to start on older runtimes and
    engines is set to >=22; Node.js 24 is the recommended version. CI, e2e, and smoke
    test matrices now cover Node.js 22, 24, and 26. Registry operators on Node.js 18 or 20
    must upgrade the runtime before taking this release.

  • b67a665: feat: dual CJS + ESM build with exports field, migrate build from babel to vite 8

    Native ESM support. The package now ships both CommonJS (build/**/*.js) and ESM
    (build/**/*.mjs) outputs and declares an exports field, so
    import { runServer } from 'verdaccio' resolves a real ES module instead of the
    CommonJS interop. require('verdaccio') keeps working exactly as before. The
    verdaccio CLI now runs on the ESM build, which means ESM-only dependencies can be
    loaded at runtime on every supported Node.js version.

    Build toolchain. Babel has been replaced by vite 8 (rolldown) for transpilation;
    type declarations are still emitted by TypeScript. This is not observable in the
    registry behavior, but local workflows changed: yarn start and the debug/ bootstrap
    scripts now use tsx instead of babel-node/@babel/register.

Patch Changes
  • b67a665: fix(deps): update @​verdaccio/hooks to 8.1.1

    Restores publish/unpublish webhook notifications when running on the ESM build: hooks
    8.1.0 could not send them (the notify client failed silently on every call). The new
    version replaces the frozen got-cjs fork with got 15 loaded in a way that works
    from both the ESM and CommonJS builds, and reports delivery failures based on the real
    HTTP response status.

  • b67a665: fix(deps): update @​verdaccio/* packages to the 2026-07-25 release batch

    Updates all @verdaccio/* and verdaccio-* dependencies (config 8.1.4, core 8.1.4,
    auth 8.0.6, middleware 8.0.7, htpasswd/audit 13.0.5, among others). Notably
    @verdaccio/config 8.1.4 moves to js-yaml 4.3.0, resolving the high-severity
    advisory GHSA-52cp-r559-cp3m
    (YAML merge-key chains forcing quadratic CPU consumption).

  • 2969ec8: fix: migrate uplink/storage URL parsing to the WHATWG URL API

    Removes the [DEP0169] DeprecationWarning: url.parse() printed at startup on
    Node.js 22+. The proxy and local-storage layers no longer use the legacy url.parse()
    / url.format() helpers; uplink URL validation, distfile filename extraction, and the
    remote-protocol tarball rewrite now go through the standardized URL API. Behavior is
    unchanged for the absolute HTTP(S) URLs used in practice — the default HTTPS port :443
    still normalizes to a match, and invalid uplink URLs are treated as not-valid instead of
    being parsed leniently.

    Because the WHATWG URL constructor throws on malformed input (unlike the lenient legacy
    url.parse()), a misconfigured uplink url now fails fast at startup with a clear,
    credential-redacted error, and a malformed dist.tarball returned by an upstream registry
    is skipped (with a warning) instead of aborting the package update. Uplink URL validation
    also now compares the uplink's own port when deciding whether to ignore the default HTTPS
    port, so an HTTPS uplink on a non-default port no longer matches a default-port tarball.

v6.8.0

Compare Source

Minor Changes
  • 962fba8: feat: add unpublish notification hooks

    Port of #​5920 (ref #​5328). The notify webhook now also fires when a package is unpublished entirely and when a single version (tarball) is removed, not only on publish. Notification templates can distinguish the event through the new {{ publishType }} (publish | unpublish) and {{ publishedPackage }} variables, and the {{ publisher }} object exposes only name, groups and real_groups, so the remote user auth token can never leak to the notification endpoint (via @verdaccio/hooks 8.0.4).

Patch Changes
  • f0684dc: fix: return 403 to client when uplink responds with 403 for tarball requests

    Previously, any non-200/404 response from an uplink (e.g. a security proxy blocking a package download) would result in a generic 500 error being returned to the client. This change propagates 403 responses from the uplink through to the client, including any error detail from the response body, so callers can distinguish authorization failures from other upstream errors.

  • 3a84578: chore: refactor eslint

  • b7a5db1: fix: rate limit and bound the npm search v1 endpoint

    The /-/v1/search endpoint now applies the userRateLimit rate limiting middleware (matching the login, token and profile endpoints), clamps the size (max 250, like the public npm registry) and from (max 10000) pagination parameters, and stops evaluating package access as soon as the requested page is filled instead of running an auth check over the entire result set. The clamped values are also what gets forwarded to uplink registries (the raw request URL is no longer passed through), so the bounds hold end-to-end. This prevents cheap anonymous requests from triggering unbounded full-catalog scans. As part of this, pagination is fixed: results were sliced with slice(from, size) instead of slice(from, from + size), so pages beyond the first were wrong.

    Search results for local packages also emit npm-search-compatible maintainers ({ username, email }) — npm 11 on Node 24 crashes rendering entries without username (The "str" argument must be of type string. Received undefined) — and the publisher field is now populated from _npmUser when the publishing client provided it, falling back to the first maintainer, so the npm CLI shows the publishing user instead of by ???.

  • 808d916: fix: pick the right uplink for tarballs and heal missing distfile records

    Uplink selection. With several uplinks configured for a package, tarball downloads used the last uplink whose package pattern matched, even when the tarball url belongs to a different one, which could make downloads fail against registries that require authentication. The uplink is now selected by matching the tarball url: the registry recorded on the distfile wins, then the uplink whose url serves the file; when none matches, an autogenerated uplink with default settings is used. Single-uplink setups keep the previous behavior for tarballs hosted on another host (a CDN).

    Missing distfile records. Storages written by other verdaccio versions can carry cached versions without their _distfiles records, which made those tarballs permanently return 404 no such file available. The tarball location is now resolved from the version's dist.tarball metadata when the record is missing, and the record is restored when the tarball is cached.

  • a2de1d5: Update verdaccio dependencies to the latest npm dist-tag (@verdaccio/ui-theme tracks next-9):

    • @verdaccio/ui-theme: 9.0.0-next-9.209.0.0-next-9.21

v6.7.4

Compare Source

Patch Changes
  • 0205c78: fix: run jwt middleware before middleware plugins

    Register the JWT middleware before middleware plugins are loaded so that
    req.remote_user (anonymous by default) is available inside a plugin's
    register_middlewares. The API router keeps its own JWT middleware behind a
    guard so it is not executed twice.

    Backport of #​5697

    Closes #​5167

v6.7.3

Compare Source

Patch Changes
  • f8fdfc2: fix: enforce generated npm token metadata

    Generated npm tokens (POST /-/npm/v1/tokens) stored their readonly and
    cidr_whitelist restrictions but never enforced them, and deleting a token did
    not revoke it for the package APIs. A token marked read-only or pinned to a CIDR
    range could still publish packages and change dist-tags, and a deleted token
    remained usable.

    Generated tokens now embed a server-issued key (in the JWT claim, or in the
    encrypted legacy AES payload) and a new enforceGeneratedTokenMetadata
    middleware looks that key up on each request, rejecting the token when it is
    missing/revoked, used outside its CIDR whitelist, or used for a write while
    read-only. Enforcement applies to both AES and JWT API-token modes.

    Note: tokens issued before upgrading carry no key and are not retroactively
    constrained — regenerate them to apply the restrictions.

  • be80623: fix: allow npm token create without readonly/cidr_whitelist

    npm token create in npm >= 11 (and the npm 12 prereleases) rewrote the
    request body: it no longer sends readonly and only sends cidr_whitelist
    when --cidr is passed. The POST /-/npm/v1/tokens endpoint required both,
    so modern npm clients failed with 422 the parameters are not valid.

    The endpoint now defaults readonly to false and cidr_whitelist to []
    when they are absent, while still rejecting values of the wrong type.

  • 75c85d5: Update verdaccio dependencies to the latest npm dist-tag (@verdaccio/ui-theme tracks next-9):

    • @verdaccio/ui-theme: 9.0.0-next-9.199.0.0-next-9.20
  • d5e5332: chore: update dependencies

    Updates runtime dependencies @verdaccio/ui-theme (9.0.0-next-9.19) and
    semver (7.8.2), along with development dependencies: Babel 7.29.7,
    @changesets/cli 2.31.0, ESLint 10.4.1, Vitest 4.1.8, Cypress 15.16.0,
    Prettier 3.8.3, @verdaccio/test-helper 4.0.4, @verdaccio/eslint-config
    13.1.2, and assorted type definitions.

v6.7.2

Compare Source

Patch Changes

v6.7.1

Compare Source

Patch Changes
  • a75f9bb: chore: refactor docker publish pipeline

v6.7.0

Compare Source

⚠️ not available in docker (due pipeline issue)

Minor Changes
  • 9f1bcc5: feat: update Node.js to 24

    Bumps the project's Node.js baseline to 24 across runtime and container, and adds a startup warning for users still on an older (but supported) Node.

    • Node 24 bump: .nvmrc 2224; Dockerfile base image node:22.22.1-alpinenode:24.15.0-alpine (builder + runtime).
    • Soft-deprecation warning: new RECOMMENDED_NODE_VERSION = '22' and isVersionRecommended() in src/lib/cli/utils.ts; the init command logs a warn at startup when Node is below the recommendation. MIN_NODE_VERSION stays at '18' — no hard break.
    • Tests: unit tests for isVersionRecommended and the init warning path.

    Compatibility: minimum supported Node remains 18 (warning only); recommended is 22+; Docker images ship Node 24.

v6.6.2

Compare Source

6.6.2

Patch Changes
Screenshot 2026-05-14 at 20 21 17

v6.6.0

Compare Source

What's Changed

Full Changelog: verdaccio/verdaccio@v6.5.2...v6.6.0


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@changeset-bot

changeset-bot Bot commented Sep 10, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 81cede3

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@coderabbitai

coderabbitai Bot commented Sep 10, 2026

Copy link
Copy Markdown

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 54410041-0fbd-478d-ba33-a9fcaf92c7b5

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@nx-cloud

nx-cloud Bot commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

View your CI Pipeline Execution ↗ for commit 81cede3

Command Status Duration Result
nx run-many -t build --no-agents ✅ Succeeded <1s View ↗
nx affected -t build lint test typecheck e2e-ci ✅ Succeeded 3m 27s View ↗

💡 Verify your cache is correct by running tasks in a sandbox. Read docs ↗


☁️ Nx Cloud last updated this comment at 2026-09-10 19:07:37 UTC

@pkg-pr-new

pkg-pr-new Bot commented Sep 10, 2026

Copy link
Copy Markdown

Open in StackBlitz

@forgerock/davinci-client

pnpm add https://pkg.pr.new/@forgerock/davinci-client@829

@forgerock/device-client

pnpm add https://pkg.pr.new/@forgerock/device-client@829

@forgerock/journey-client

pnpm add https://pkg.pr.new/@forgerock/journey-client@829

@forgerock/oidc-client

pnpm add https://pkg.pr.new/@forgerock/oidc-client@829

@forgerock/protect

pnpm add https://pkg.pr.new/@forgerock/protect@829

@forgerock/sdk-types

pnpm add https://pkg.pr.new/@forgerock/sdk-types@829

@forgerock/sdk-utilities

pnpm add https://pkg.pr.new/@forgerock/sdk-utilities@829

@forgerock/iframe-manager

pnpm add https://pkg.pr.new/@forgerock/iframe-manager@829

@forgerock/sdk-logger

pnpm add https://pkg.pr.new/@forgerock/sdk-logger@829

@forgerock/sdk-oidc

pnpm add https://pkg.pr.new/@forgerock/sdk-oidc@829

@forgerock/sdk-request-middleware

pnpm add https://pkg.pr.new/@forgerock/sdk-request-middleware@829

@forgerock/storage

pnpm add https://pkg.pr.new/@forgerock/storage@829

commit: 81cede3

@github-actions

Copy link
Copy Markdown
Contributor

Deployed dae930e to https://ForgeRock.github.io/ping-javascript-sdk/pr-829/dae930e4234cfa26cd8b155c11b303cb64f2bd0e branch gh-pages in ForgeRock/ping-javascript-sdk

@codecov-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 24.35%. Comparing base (eafe277) to head (81cede3).
⚠️ Report is 137 commits behind head on main.

❌ Your project status has failed because the head coverage (24.35%) is below the target coverage (40.00%). You can increase the head coverage or adjust the target coverage.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #829      +/-   ##
==========================================
+ Coverage   18.07%   24.35%   +6.28%     
==========================================
  Files         155      164       +9     
  Lines       24398    25823    +1425     
  Branches     1203     1703     +500     
==========================================
+ Hits         4410     6290    +1880     
+ Misses      19988    19533     -455     

see 26 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@github-actions

Copy link
Copy Markdown
Contributor

📦 Bundle Size Analysis

📦 Bundle Size Analysis

🆕 New Packages

🆕 @forgerock/device-client - 0.0 KB (new)
🆕 @forgerock/device-client - 10.0 KB (new)
🆕 @forgerock/journey-client - 0.0 KB (new)
🆕 @forgerock/journey-client - 93.8 KB (new)

📊 Minor Changes

📈 @forgerock/sdk-types - 9.1 KB (+0.0 KB)

➖ No Changes

@forgerock/recognize - 4284.4 KB
@forgerock/oidc-client - 35.5 KB
@forgerock/storage - 1.5 KB
@forgerock/iframe-manager - 3.2 KB
@forgerock/sdk-logger - 1.6 KB
@forgerock/sdk-oidc - 5.7 KB
@forgerock/sdk-request-middleware - 4.6 KB
@forgerock/sdk-utilities - 18.8 KB
@forgerock/protect - 144.6 KB
@forgerock/davinci-client - 59.7 KB


15 packages analyzed • Baseline from latest main build

Legend

🆕 New package
🔺 Size increased
🔻 Size decreased
➖ No change

ℹ️ How bundle sizes are calculated
  • Current Size: Total gzipped size of all files in the package's dist directory
  • Baseline: Comparison against the latest build from the main branch
  • Files included: All build outputs except source maps and TypeScript build cache
  • Exclusions: .map, .tsbuildinfo, and .d.ts.map files

🔄 Updated automatically on each push to this PR

@ryanbas21 ryanbas21 closed this Sep 10, 2026
@renovate

renovate Bot commented Sep 10, 2026

Copy link
Copy Markdown
Contributor Author

Renovate Ignore Notification

Because you closed this PR without merging, Renovate will ignore this update (6.10.2). You will get a PR once a newer version is released. To ignore this dependency forever, add it to the ignoreDeps array of your Renovate config.

If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR.

@renovate
renovate Bot deleted the renovate/verdaccio-6.x branch September 10, 2026 19:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

2 participants