chore(deps): update karakeep app runtime patch/minor updates #182

Merged
isityael merged 1 commit from renovate/karakeep-app-runtime-patch-minor into main 2026-06-21 20:42:00 +00:00
Owner

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
@aws-sdk/client-s3 (source) 3.1068.03.1073.0 age adoption passing confidence
@hono/node-server 2.0.42.0.5 age adoption passing confidence
@radix-ui/react-avatar (source) 1.1.121.2.0 age adoption passing confidence
@radix-ui/react-collapsible (source) 1.1.131.1.14 age adoption passing confidence
@radix-ui/react-dropdown-menu (source) 2.1.172.1.18 age adoption passing confidence
@radix-ui/react-label (source) 2.1.92.1.10 age adoption passing confidence
@radix-ui/react-progress (source) 1.1.91.1.10 age adoption passing confidence
@radix-ui/react-radio-group (source) 1.4.01.4.1 age adoption passing confidence
@radix-ui/react-scroll-area (source) 1.2.111.2.12 age adoption passing confidence
@radix-ui/react-separator (source) 1.1.91.1.10 age adoption passing confidence
@radix-ui/react-slider (source) 1.4.01.4.1 age adoption passing confidence
@radix-ui/react-switch (source) 1.3.01.3.1 age adoption passing confidence
@radix-ui/react-tabs (source) 1.1.141.1.15 age adoption passing confidence
@radix-ui/react-toast (source) 1.2.161.2.17 age adoption passing confidence
@radix-ui/react-toggle (source) 1.1.111.1.12 age adoption passing confidence
@radix-ui/react-tooltip (source) 1.2.91.2.10 age adoption passing confidence
@radix-ui/react-visually-hidden (source) 1.2.51.2.6 age adoption passing confidence
@trpc/client (source) 11.17.011.18.0 age adoption passing confidence
@trpc/server (source) 11.17.011.18.0 age adoption passing confidence
@trpc/tanstack-react-query (source) 11.17.011.18.0 age adoption passing confidence
better-sqlite3 12.10.112.11.1 age adoption passing confidence
dompurify 3.4.103.4.11 age adoption passing confidence
hono (source) 4.12.254.12.26 age adoption passing confidence
lucide-react (source) 1.18.01.21.0 age adoption passing confidence
metascraper (source) 5.50.65.51.1 age adoption passing confidence
metascraper-amazon (source) 5.50.65.51.1 age adoption passing confidence
metascraper-author (source) 5.50.65.51.1 age adoption passing confidence
metascraper-date (source) 5.50.65.51.1 age adoption passing confidence
metascraper-description (source) 5.50.65.51.1 age adoption passing confidence
metascraper-image (source) 5.50.65.51.1 age adoption passing confidence
metascraper-logo (source) 5.50.65.51.1 age adoption passing confidence
metascraper-logo-favicon (source) 5.50.65.51.1 age adoption passing confidence
metascraper-publisher (source) 5.50.65.51.1 age adoption passing confidence
metascraper-readability (source) 5.50.65.51.1 age adoption passing confidence
metascraper-title (source) 5.50.65.51.1 age adoption passing confidence
metascraper-url (source) 5.50.65.51.1 age adoption passing confidence
metascraper-x (source) 5.50.65.51.1 age adoption passing confidence
metascraper-youtube (source) 5.50.65.51.1 age adoption passing confidence
node-cron (source) 4.2.14.5.0 age adoption passing confidence
nodemailer (source) 9.0.09.0.1 age adoption passing confidence
openai 6.42.06.44.0 age adoption passing confidence
playwright (source) 1.60.01.61.0 age adoption passing confidence
react-draggable 4.6.04.7.0 age adoption passing confidence
react-hook-form (source) 7.79.07.80.0 age adoption passing confidence
sharp (source, changelog) 0.35.10.35.2 age adoption passing confidence
stripe 22.2.122.2.2 age adoption passing confidence
tsdown (source) 0.22.20.22.3 age adoption passing confidence
undici (source) 8.4.18.5.0 age adoption passing confidence
vitest (source) 4.1.84.1.9 age adoption passing confidence

Release Notes

aws/aws-sdk-js-v3 (@​aws-sdk/client-s3)

v3.1073.0

Compare Source

Note: Version bump only for package @​aws-sdk/client-s3

v3.1072.0

Compare Source

Note: Version bump only for package @​aws-sdk/client-s3

v3.1071.0

Compare Source

Note: Version bump only for package @​aws-sdk/client-s3

v3.1070.0

Compare Source

Features
  • client-s3: Added support for annotations. You can now attach up to 1000 annotations (up to 1 MB each) directly to objects and create, retrieve, list, and delete them using new annotation APIs. Also added support for configuring an annotation table in S3 Metadata. (c555874)

v3.1069.0

Compare Source

Note: Version bump only for package @​aws-sdk/client-s3

honojs/node-server (@​hono/node-server)

v2.0.5

Compare Source

Security Fix

Fixed a security issue in Serve Static Middleware where prefix-mounted middleware could be bypassed on Windows. This only affects applications running on Windows that use Serve Static Middleware. Affected users are encouraged to upgrade to this version.

See GHSA-frvp-7c67-39w9 for details.

radix-ui/primitives (@​radix-ui/react-avatar)

v1.2.0

  • Fixed several edge cases with Avatar's loading state
    • An avatar's fallback would not be displayed again if its image component unmounted. This is now fixed.
    • Rendering multiple Avatar.Image components per Avatar.Root was never supported and results in buggy, unpredictable behavior. We now warn about this in development.
    • Zero-sized images were treated as loading, meaning that onLoadingStatusChange is never called once loaded. A zero-sized image now triggers an error status on load.
Other updates
  • Fixed console warnings to show in test environments.
  • Updated dependencies: @radix-ui/react-primitive@2.1.6
radix-ui/primitives (@​radix-ui/react-collapsible)

v1.1.14

  • Updated dependencies: @radix-ui/react-primitive@2.1.6
radix-ui/primitives (@​radix-ui/react-dropdown-menu)

v2.1.18

  • Fixed a bug where menus and submenus remained open after a window loses focus.
  • Updated dependencies: @radix-ui/react-menu@2.1.18, @radix-ui/react-primitive@2.1.6
radix-ui/primitives (@​radix-ui/react-label)

v2.1.10

  • Updated dependencies: @radix-ui/react-primitive@2.1.6
radix-ui/primitives (@​radix-ui/react-progress)

v1.1.10

  • Updated dependencies: @radix-ui/react-primitive@2.1.6
radix-ui/primitives (@​radix-ui/react-radio-group)

v1.4.1

  • Updated dependencies: @radix-ui/react-primitive@2.1.6, @radix-ui/react-roving-focus@1.1.13
radix-ui/primitives (@​radix-ui/react-scroll-area)

v1.2.12

  • Stabilized the viewport style tag unless the nonce changes.
  • Fixed Duplicate index signature errors that surfaced when consuming multiple packages together.
  • Updated dependencies: @radix-ui/react-primitive@2.1.6
radix-ui/primitives (@​radix-ui/react-separator)

v1.1.10

  • Updated dependencies: @radix-ui/react-primitive@2.1.6
radix-ui/primitives (@​radix-ui/react-slider)

v1.4.1

  • Fixed Duplicate index signature errors that surfaced when consuming multiple packages together.
  • Updated dependencies: @radix-ui/react-primitive@2.1.6, @radix-ui/react-collection@1.1.10
radix-ui/primitives (@​radix-ui/react-switch)

v1.3.1

  • Updated dependencies: @radix-ui/react-primitive@2.1.6
radix-ui/primitives (@​radix-ui/react-tabs)

v1.1.15

  • Updated dependencies: @radix-ui/react-primitive@2.1.6, @radix-ui/react-roving-focus@1.1.13
radix-ui/primitives (@​radix-ui/react-toast)

v1.2.17

  • Updated dependencies: @radix-ui/react-dismissable-layer@1.1.13, @radix-ui/react-primitive@2.1.6, @radix-ui/react-collection@1.1.10, @radix-ui/react-portal@1.1.12, @radix-ui/react-visually-hidden@1.2.6
radix-ui/primitives (@​radix-ui/react-toggle)

v1.1.12

  • Updated dependencies: @radix-ui/react-primitive@2.1.6
radix-ui/primitives (@​radix-ui/react-tooltip)

v1.2.10

  • Updated dependencies: @radix-ui/react-slot@1.3.0, @radix-ui/react-popper@1.3.1, @radix-ui/react-dismissable-layer@1.1.13, @radix-ui/react-primitive@2.1.6, @radix-ui/react-portal@1.1.12, @radix-ui/react-visually-hidden@1.2.6
radix-ui/primitives (@​radix-ui/react-visually-hidden)

v1.2.6

  • Updated dependencies: @radix-ui/react-primitive@2.1.6
trpc/trpc (@​trpc/client)

v11.18.0

Compare Source

What's Changed
New Contributors

Full Changelog: https://github.com/trpc/trpc/compare/v11.17.0...v11.18.0

WiseLibs/better-sqlite3 (better-sqlite3)

v12.11.1

Compare Source

What's Changed

Full Changelog: https://github.com/WiseLibs/better-sqlite3/compare/v12.11.0...v12.11.1

cure53/DOMPurify (dompurify)

v3.4.11: DOMPurify 3.4.11

Compare Source

  • Fixed an issue with a leaky config for hooks via setConfig, thanks @​trace37labs
  • Bumped vulnerable development dependencies to arrive at plain 0 with npm audit
  • Updated the osv-scanner suppression list as no vulnerable dependencies are left for now
  • Updated up the linting tool-chain and removed now-redundant lint directives
  • Updated the documentation is several spots, README, wiki, etc.
  • Bumped several dependencies where possible
honojs/hono (hono)

v4.12.26

Compare Source

What's Changed

Full Changelog: https://github.com/honojs/hono/compare/v4.12.25...v4.12.26

lucide-icons/lucide (lucide-react)

v1.21.0: Version 1.21.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/lucide-icons/lucide/compare/1.20.0...1.21.0

v1.20.0: Version 1.20.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/lucide-icons/lucide/compare/1.19.0...1.20.0

v1.19.0: Version 1.19.0

Compare Source

What's Changed

New Contributors

Full Changelog: https://github.com/lucide-icons/lucide/compare/1.18.0...1.19.0

microlinkhq/metascraper (metascraper)

v5.51.1

Compare Source

Note: Version bump only for package metascraper

microlinkhq/metascraper (metascraper-amazon)

v5.51.1

Compare Source

Note: Version bump only for package metascraper-amazon

microlinkhq/metascraper (metascraper-date)

v5.51.1

Compare Source

Note: Version bump only for package metascraper-date

microlinkhq/metascraper (metascraper-description)

v5.51.1

Compare Source

Note: Version bump only for package metascraper-description

microlinkhq/metascraper (metascraper-image)

v5.51.1

Compare Source

Note: Version bump only for package metascraper-image

microlinkhq/metascraper (metascraper-logo)

v5.51.1

Compare Source

Note: Version bump only for package metascraper-logo

microlinkhq/metascraper (metascraper-logo-favicon)

v5.51.1

Compare Source

Note: Version bump only for package metascraper-logo-favicon

microlinkhq/metascraper (metascraper-publisher)

v5.51.1

Compare Source

Note: Version bump only for package metascraper-publisher

microlinkhq/metascraper (metascraper-readability)

v5.51.1

Compare Source

Note: Version bump only for package metascraper-readability

microlinkhq/metascraper (metascraper-x)

v5.51.1

Compare Source

Note: Version bump only for package metascraper-x

microlinkhq/metascraper (metascraper-youtube)

v5.51.1

Compare Source

Note: Version bump only for package metascraper-youtube

node-cron/node-cron (node-cron)

v4.5.0

Compare Source

Added
  • lastRun() introspection getter on ScheduledTask: returns { date, result } after
    a successful execution, { date, error } after a failed one, or null before the first
    run. ([#​557])
  • Extended day-of-week tokens: <weekday>#<nth> (nth weekday of the month, e.g.
    1#1 for the first Monday) and <weekday>L (last weekday of the month, e.g. 5L
    for the last Friday). ([#​560])
Performance
  • Cache Intl.DateTimeFormat instances per timezone instead of rebuilding on every
    call. ([#​561])
  • Parse the cron expression once per TimeMatcher instead of re-parsing in
    MatcherWalker. ([#​562])
  • Compute the GMT offset lazily (only when formatting ISO strings, not during the
    next-run search). ([#​563])
  • Replace crypto.randomBytes with crypto.randomUUID for internal ID
    generation. ([#​564])
  • Skip setTimeout jitter wrapper when maxRandomDelay is zero. ([#​565])
  • Bundle dist into flat files instead of preserving the module tree (reduces import
    time). ([#​566])
Fixed
  • Flaky should schedule a task test: poll for the first execution instead of
    asserting an exact count after a fixed sleep.
Changed
  • Renamed internal functions interprete to interpret and
    appendSeccondExpression to appendSecondExpression. ([#​567])
  • Rewritten README and package metadata to surface scheduling capabilities
    (overlap prevention, distributed coordination, background tasks). ([#​568])

v4.4.1

Compare Source

Changed
  • Renamed the distributedTtl option to distributedLease (same meaning:
    the safety lease, in ms, for lease-based coordinators). The old name was the
    only abbreviation in the options API; the new one groups with distributed.
    distributedTtl was introduced in 4.4.0 and is removed without an alias.

v4.4.0

Compare Source

Added
  • Task introspection on ScheduledTask: getNextRuns(n) (preview the next N
    run times), match(date), msToNext(), isBusy(), runsLeft() and
    getPattern(). ([#​547])
  • cron.parse(expression) and cron.validateDetailed(expression):
    decompose an expression into its fields, or get every field-level problem
    (without throwing) for tooling and richer error messages. ([#​548])
  • Distributed run coordination — opt-in distributed: true runs a task on a
    single instance per fire across a fleet. Ships a built-in NODE_CRON_RUN
    env-var default (one designated runner, no dependencies) and a pluggable
    RunCoordinator (via setRunCoordinator, or the per-task runCoordinator
    option) for high-availability, per-fire coordination (e.g. a Redis lock).
    Adds the distributedTtl option and an execution:skipped event carrying a
    reason ('not-elected' | 'coordinator-error'). Works for inline and
    background tasks. ([#​549])
Fixed
  • getNextMatch no longer scans every time of day on a day that matches the
    day-of-month but not the weekday. A dense expression constrained by both
    (e.g. * * * 15 * 1) could take minutes to resolve; it is now instant.
Changed
  • Internal-only cleanups (no public API change): fixed the milisecond
    millisecond spelling and the convertion/conversion/ directory name.

v4.3.0

Compare Source

Added
  • L (last day of month) in the day-of-month field — e.g. 0 0 12 L * *,
    leap-year aware and combinable with explicit days (15,L). ([#​147])
  • missedExecutionTolerance option (ms, default 1000): a heartbeat that
    wakes a little late still runs its slot instead of being reported as missed.
    Always capped to the gap to the next slot, so it can never run a slot twice.
    ([#​485])
  • startTimeout option for background tasks (ms, default 5000). ([#​535])
Fixed
  • DST correctness in getNextMatch: no more ~1-year overshoot when a daily time
    falls in the spring-forward gap. ([#​518])
  • Background task start failures now reject with the real cause (e.g.
    unsupported TypeScript syntax, missing file) instead of an opaque timeout, and
    a failed or timed-out start no longer leaves an orphaned daemon running.
    ([#​484])
  • Long-timer drift no longer produces spurious "missed execution" warnings or
    skipped runs on daily/weekly schedules. ([#​485])
Changed
  • Minimum supported Node.js is now >= 20 (was >= 20.11); tested on Node
    20, 22 and 24.

Behavior note: missedExecutionTolerance defaults to 1000ms, so a
scheduled run that wakes up to ~1s late now executes instead of emitting
execution:missed. This is a bug-fix improvement, not an API break.

nodemailer/nodemailer (nodemailer)

v9.0.1

Compare Source

Bug Fixes
  • enforce disableFileAccess/disableUrlAccess for raw message option (a82e060)
openai/openai-node (openai)

v6.44.0

Compare Source

Full Changelog: v6.43.0...v6.44.0

Features
  • api: update OpenAPI spec or Stainless config (d05bdbc)

v6.43.0

Compare Source

Full Changelog: v6.43.0...v6.44.0

Features
  • api: update OpenAPI spec or Stainless config (d05bdbc)
microsoft/playwright (playwright)

v1.61.0

Compare Source

🔑 WebAuthn passkeys

New Credentials virtual authenticator, available via browserContext.credentials, lets tests register passkeys and answer navigator.credentials.create() / navigator.credentials.get() ceremonies in the page — no real hardware key required, works in all browsers:

const context = await browser.newContext();

// Seed a passkey your backend provisioned for a test user.
await context.credentials.create('example.com', {
  id: credentialId,
  userHandle,
  privateKey,
  publicKey,
});
await context.credentials.install();

const page = await context.newPage();
await page.goto('https://example.com/login');
// The page's navigator.credentials.get() is answered with the seeded passkey.

You can also let the app register a passkey once in a setup test, read it back with credentials.get(), and seed it into later tests — see Credentials for details.

🗃️ Web Storage

New WebStorage API, available via page.localStorage and page.sessionStorage, reads and writes the page's storage for the current origin:

await page.localStorage.setItem('token', 'abc');
const token = await page.localStorage.getItem('token');
const items = await page.sessionStorage.items();

New APIs

Network
Browser and Screencast
  • New option artifactsDir in browserType.connectOverCDP() controls where artifacts such as traces and downloads are stored when attached to an existing browser.
  • New option cursor in screencast.showActions() controls the cursor decoration rendered for pointer actions.
  • The onFrame callback in screencast.start() now receives a timestamp of when the frame was presented by the browser.
Test runner
  • The testOptions.video option now supports the same set of modes as trace: new 'on-all-retries', 'retain-on-first-failure' and 'retain-on-failure-and-retries' values. See the video modes table for which runs are recorded and kept in each mode.
  • Supported expect.soft.poll(...).
  • New fullConfig.argv — a snapshot of process.argv from the runner process, handy for reading custom arguments passed after the -- separator.
  • New fullConfig.failOnFlakyTests mirrors the config option, so reporters can explain why a flaky run failed.
  • testInfo.errors now lists each sub-error of an AggregateError as a separate entry.
  • New -G command line shorthand for --grep-invert.

🛠️ Other improvements

  • Playwright now supports Ubuntu 26.04.
  • HAR and trace recordings now include WebSocket requests.

Browser Versions

  • Chromium 149.0.7827.55
  • Mozilla Firefox 151.0
  • WebKit 26.5

This version was also tested against the following stable channels:

  • Google Chrome 149
  • Microsoft Edge 149
react-grid-layout/react-draggable (react-draggable)

v4.7.0

Compare Source

  • Feature: add a nonce prop to support a strict Content Security Policy. It's applied to the dynamically-injected user-select <style> element so a style-src policy without 'unsafe-inline' no longer blocks it. When omitted, webpack's __webpack_nonce__ global is used if available. enableUserSelectHack={false} remains a no-prop opt-out. (#​808, closes #​791)
  • Internal: de-duplicate redundant tsc compilation in the build/CI pipeline.
react-hook-form/react-hook-form (react-hook-form)

v7.80.0

Compare Source

Added
  • disabled prop support for individual fields within useFieldArray
Fixed
  • deepEqual incorrectly treating empty array [] and empty plain object {} as equal
Performance
  • Improve onChange, setValid, dirty checking, setValue, and setValues performance
lovell/sharp (sharp)

v0.35.2

Compare Source

stripe/stripe-node (stripe)

v22.2.2

Compare Source

  • #​2725 Fixes CJS type exports for stripe package (reported in #​2683)
  • #​2758 Fix Stripe.ErrorType.StripeError incorrectly being usable as a runtime class (reported in #​2661)
  • #​2753 handle shadowed namespaces (reported in #​2691)
rolldown/tsdown (tsdown)

v0.22.3

Compare Source

   🚨 Breaking Changes
   🐞 Bug Fixes
   🏎 Performance
    View changes on GitHub
nodejs/undici (undici)

v8.5.0

Compare Source

⚠️ Security Release

This release line addresses 8 security advisories. Most are fixed in
v8.5.0; the SOCKS5 pool-reuse issue was fixed earlier in v8.2.0.

Action required: Upgrade to undici 8.5.0 or later.

npm install undici@^8.5.0
Summary
Advisory CVE Severity (CVSS) Fixed in Fix commit
GHSA-vxpw-j846-p89q CVE-2026-12151 High (7.5) 8.5.0 32dbf0b3
GHSA-38rv-x7px-6hhq CVE-2026-9675 High (7.5) 8.5.0 b4c287b3
GHSA-vmh5-mc38-953g CVE-2026-9697 High (7.4) 8.5.0 42d49559
GHSA-hm92-r4w5-c3mj CVE-2026-6734 High (7.5) 8.2.0 a516f870
GHSA-pr7r-676h-xcf6 CVE-2026-9678 Moderate (5.9) 8.5.0 cb105d7c
GHSA-p88m-4jfj-68fv CVE-2026-9679 Moderate (5.9) 8.5.0 5655ea43
GHSA-g8m3-5g58-fq7m CVE-2026-11525 Low (3.7) 8.5.0 5655ea43
GHSA-35p6-xmwp-9g52 CVE-2026-6733 Low (3.7) 8.5.0 6ea54ef8

High severity
WebSocket DoS via fragment count bypass — CVE-2026-12151

GHSA-vxpw-j846-p89q · CWE-400, CWE-770
Fix: 32dbf0b3 websocket: limit the number of fragments in a message (also c5ed7875 handle empty fragments and stream limits)

A malicious WebSocket server can stream a large number of small or empty
continuation frames. Undici enforced a limit on cumulative payload size but did
not limit the number of fragments per message, leading to unbounded memory
growth and denial of service.

  • Affected: applications using new WebSocket(...) or WebSocketStream
    against untrusted endpoints.
  • Workaround: none — upgrade is required.
WebSocket DoS via cumulative fragment bypass — CVE-2026-9675

GHSA-38rv-x7px-6hhq · CWE-400, CWE-770
Fix: b4c287b3 fix(websocket): enforce max payload size across fragments

Undici validated the size of individual frames but did not track cumulative size
across a fragmented message. An attacker could send many small fragments that
each pass per-frame validation but collectively exceed the configured limit,
causing memory exhaustion. This is a regression introduced in 8.1.0 (the
6.x and 7.x lines are not affected).

  • Workaround: none — upgrade is required.
TLS certificate validation bypass in SOCKS5 ProxyAgent — CVE-2026-9697

GHSA-vmh5-mc38-953g · CWE-295
Fix: 42d49559 fix: honor requestTls when proxy is SOCKS5

The ProxyAgent silently discarded the requestTls option when configured with
a SOCKS5 proxy. TLS connections through the SOCKS5 tunnel ignored user-configured
parameters such as ca, cert, key, rejectUnauthorized, and servername,
falling back to the default Mozilla CA bundle. Applications relying on
certificate pinning to an internal CA were exposed to man-in-the-middle attacks.

  • Affected: ProxyAgent / Socks5ProxyAgent over SOCKS5 that rely on
    requestTls.
  • Workaround: route traffic through an HTTP-proxy ProxyAgent, where
    requestTls functions correctly.
Cross-origin request routing via SOCKS5 proxy pool reuse — CVE-2026-6734

GHSA-hm92-r4w5-c3mj · CWE-346 · Fixed in 8.2.0
Fix: a516f870 fix(socks5-proxy-agent): use per-origin pools to prevent cross-origin routing (#​5041)

Socks5ProxyAgent reused a single connection pool across different origins
without verifying the pool's origin matched the requested origin. This could
route credentials and request data to unintended destinations, cause responses
from the wrong origin to be trusted, and enable HTTPS→HTTP downgrade.

  • Affected: applications using Socks5ProxyAgent across multiple origins
    (introduced via #​4385).
  • Workaround: use a separate agent instance per origin.

Moderate severity
Cross-user information disclosure via shared cache whitespace bypass — CVE-2026-9678

GHSA-pr7r-676h-xcf6 · CWE-524
Fix: cb105d7c fix(cache): trim qualified field names

The cache interceptor mishandled responses with whitespace-padded
Cache-Control directives such as private=" authorization". In shared-cache
mode this could cause authenticated data to be cached and served to other users.

  • Affected: apps using the cache interceptor in shared mode that forward
    Authorization upstream and receive non-canonical qualified directives.
  • Workaround: disable shared-cache mode for authenticated traffic, avoid
    caching authenticated responses, or add Vary: Authorization upstream.

GHSA-p88m-4jfj-68fv · CWE-93
Fix: 5655ea43 fix(cookies): preserve values and parse SameSite strictly

parseSetCookie applied percent-decoding to cookie values, turning encoded
sequences like %0D%0A and %00 into literal bytes, contrary to RFC 6265 §5.4
and browser behavior. Applications forwarding parsed Set-Cookie values into
response headers were exposed to header injection, enabling session fixation,
open redirects, and cache poisoning. Introduced in 7.0.0 via
#​3789.

  • Workaround: sanitize values before forwarding — strip or reject CR, LF,
    NUL, ;, and =.

Low severity

GHSA-g8m3-5g58-fq7m · CWE-183
Fix: 5655ea43 fix(cookies): preserve values and parse SameSite strictly

The cookie parser accepted SameSite values containing Strict, Lax, or
None as substrings rather than requiring exact matches per RFC 6265. Values
like SameSite=NoneOfYourBusiness parsed as None, and SameSite=StrictLax
parsed as Lax, silently weakening cookie security policies for apps that
forward parsed attributes.

HTTP response queue poisoning via keep-alive socket reuse — CVE-2026-6733

GHSA-35p6-xmwp-9g52 · CWE-367 (TOCTOU race condition)
Fix: 6ea54ef8 fix: guard idle socket validation to skip fresh sockets, hardened by c9fbe9d2 keep idle validation on native timers (#​5397) and ac5394b8 keep idle validation on global timers (#​5407)

An attacker controlling an upstream HTTP/1.1 server could inject unsolicited
responses onto idle keep-alive sockets. On socket reuse, the injected response
was associated with a new request, delivering responses to the wrong requests.

  • Requirements: attacker-controlled/compromised upstream and active
    keep-alive reuse.
  • Workaround: disable keep-alive reuse with keepAliveTimeout: 0 on the
    Client or Pool.

Also in v8.5.0 (non-security)

v8.5.0 shipped the security fixes above alongside the following changes. These
are not security fixes
— they are listed for completeness of the release. (The
two queue-poisoning hardening PRs, #​5397
and #​5407, are covered under
CVE-2026-6733 above and are not repeated here.)

  • HTTP/2: #5408 don't rewind kPendingIdx past in-flight requests · #5391 allow h2 POST request multiplexing · #5406 reap idle HTTP/2 sessions · #5410 preserve h2 queue on out-of-order completion
  • Features: #5416 add bodyMixin.textStream() · #5418 align EventSource with spec
  • Docs / CI / tests: #5413 document request header validation · #5383 absorb h2 stream timeout resets (test) · #5420 remove stale repro + lint · #5426 extend Windows CI timeout · #5427 detect available python in WPT runner

Full changelog: v8.4.1...v8.5.0.


Credits

Per-advisory credits (as recorded in each GHSA):

vitest-dev/vitest (vitest)

v4.1.9

Compare Source

🐞 Bug Fixes
  • Fix importOriginal with optimizer and query import [backport to v4] - by Hiroshi Ogawa, David Harris, Codexand Vladimir in #​10546 (a5180)
  • browser:
    • Wait for orchestrator readiness before resolving browser sessions [backport to v4] - by Vladimir and Séamus O'Connor in #​10555 (7fb29)
    • Wait for iframe tester readiness before preparing [backport to v4] - by Vladimir and Séamus O'Connor in #​10497 and #​10556 (fbc62)
  • mocker:
    • Hoist vi.mock() for vite-plus/test imports [backport to v4] - by Hiroshi Ogawa, LongYinan, Claude Opus 4.8 and Vladimir in #​10548 (2c955)
  • pool:
    • Prevent test run hang on worker crash [backport to v4] - by Ari Perkkiö and Jattioui Ismail in #​10543 and #​10564 (934b0)
View changes on GitHub

Configuration

📅 Schedule: (in timezone Europe/Berlin)

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

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

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

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


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

This PR has been generated by Mend Renovate.

This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Adoption](https://docs.renovatebot.com/merge-confidence/) | [Passing](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---|---|---| | [@aws-sdk/client-s3](https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | [`3.1068.0` → `3.1073.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.1068.0/3.1073.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.1073.0?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.1073.0?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.1068.0/3.1073.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.1068.0/3.1073.0?slim=true) | | [@hono/node-server](https://github.com/honojs/node-server) | [`2.0.4` → `2.0.5`](https://renovatebot.com/diffs/npm/@hono%2fnode-server/2.0.4/2.0.5) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@hono%2fnode-server/2.0.5?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@hono%2fnode-server/2.0.5?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@hono%2fnode-server/2.0.4/2.0.5?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@hono%2fnode-server/2.0.4/2.0.5?slim=true) | | [@radix-ui/react-avatar](https://radix-ui.com/primitives) ([source](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/avatar)) | [`1.1.12` → `1.2.0`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-avatar/1.1.12/1.2.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-avatar/1.2.0?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-avatar/1.2.0?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-avatar/1.1.12/1.2.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-avatar/1.1.12/1.2.0?slim=true) | | [@radix-ui/react-collapsible](https://radix-ui.com/primitives) ([source](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/collapsible)) | [`1.1.13` → `1.1.14`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-collapsible/1.1.13/1.1.14) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-collapsible/1.1.14?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-collapsible/1.1.14?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-collapsible/1.1.13/1.1.14?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-collapsible/1.1.13/1.1.14?slim=true) | | [@radix-ui/react-dropdown-menu](https://radix-ui.com/primitives) ([source](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/dropdown-menu)) | [`2.1.17` → `2.1.18`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-dropdown-menu/2.1.17/2.1.18) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-dropdown-menu/2.1.18?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-dropdown-menu/2.1.18?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-dropdown-menu/2.1.17/2.1.18?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-dropdown-menu/2.1.17/2.1.18?slim=true) | | [@radix-ui/react-label](https://radix-ui.com/primitives) ([source](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/label)) | [`2.1.9` → `2.1.10`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-label/2.1.9/2.1.10) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-label/2.1.10?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-label/2.1.10?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-label/2.1.9/2.1.10?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-label/2.1.9/2.1.10?slim=true) | | [@radix-ui/react-progress](https://radix-ui.com/primitives) ([source](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/progress)) | [`1.1.9` → `1.1.10`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-progress/1.1.9/1.1.10) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-progress/1.1.10?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-progress/1.1.10?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-progress/1.1.9/1.1.10?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-progress/1.1.9/1.1.10?slim=true) | | [@radix-ui/react-radio-group](https://radix-ui.com/primitives) ([source](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/radio-group)) | [`1.4.0` → `1.4.1`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-radio-group/1.4.0/1.4.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-radio-group/1.4.1?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-radio-group/1.4.1?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-radio-group/1.4.0/1.4.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-radio-group/1.4.0/1.4.1?slim=true) | | [@radix-ui/react-scroll-area](https://radix-ui.com/primitives) ([source](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/scroll-area)) | [`1.2.11` → `1.2.12`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-scroll-area/1.2.11/1.2.12) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-scroll-area/1.2.12?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-scroll-area/1.2.12?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-scroll-area/1.2.11/1.2.12?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-scroll-area/1.2.11/1.2.12?slim=true) | | [@radix-ui/react-separator](https://radix-ui.com/primitives) ([source](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/separator)) | [`1.1.9` → `1.1.10`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-separator/1.1.9/1.1.10) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-separator/1.1.10?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-separator/1.1.10?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-separator/1.1.9/1.1.10?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-separator/1.1.9/1.1.10?slim=true) | | [@radix-ui/react-slider](https://radix-ui.com/primitives) ([source](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/slider)) | [`1.4.0` → `1.4.1`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-slider/1.4.0/1.4.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-slider/1.4.1?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-slider/1.4.1?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-slider/1.4.0/1.4.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-slider/1.4.0/1.4.1?slim=true) | | [@radix-ui/react-switch](https://radix-ui.com/primitives) ([source](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/switch)) | [`1.3.0` → `1.3.1`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-switch/1.3.0/1.3.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-switch/1.3.1?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-switch/1.3.1?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-switch/1.3.0/1.3.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-switch/1.3.0/1.3.1?slim=true) | | [@radix-ui/react-tabs](https://radix-ui.com/primitives) ([source](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/tabs)) | [`1.1.14` → `1.1.15`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-tabs/1.1.14/1.1.15) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-tabs/1.1.15?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-tabs/1.1.15?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-tabs/1.1.14/1.1.15?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-tabs/1.1.14/1.1.15?slim=true) | | [@radix-ui/react-toast](https://radix-ui.com/primitives) ([source](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/toast)) | [`1.2.16` → `1.2.17`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-toast/1.2.16/1.2.17) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-toast/1.2.17?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-toast/1.2.17?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-toast/1.2.16/1.2.17?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-toast/1.2.16/1.2.17?slim=true) | | [@radix-ui/react-toggle](https://radix-ui.com/primitives) ([source](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/toggle)) | [`1.1.11` → `1.1.12`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-toggle/1.1.11/1.1.12) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-toggle/1.1.12?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-toggle/1.1.12?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-toggle/1.1.11/1.1.12?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-toggle/1.1.11/1.1.12?slim=true) | | [@radix-ui/react-tooltip](https://radix-ui.com/primitives) ([source](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/tooltip)) | [`1.2.9` → `1.2.10`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-tooltip/1.2.9/1.2.10) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-tooltip/1.2.10?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-tooltip/1.2.10?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-tooltip/1.2.9/1.2.10?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-tooltip/1.2.9/1.2.10?slim=true) | | [@radix-ui/react-visually-hidden](https://radix-ui.com/primitives) ([source](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/visually-hidden)) | [`1.2.5` → `1.2.6`](https://renovatebot.com/diffs/npm/@radix-ui%2freact-visually-hidden/1.2.5/1.2.6) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@radix-ui%2freact-visually-hidden/1.2.6?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@radix-ui%2freact-visually-hidden/1.2.6?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@radix-ui%2freact-visually-hidden/1.2.5/1.2.6?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@radix-ui%2freact-visually-hidden/1.2.5/1.2.6?slim=true) | | [@trpc/client](https://trpc.io) ([source](https://github.com/trpc/trpc/tree/HEAD/packages/client)) | [`11.17.0` → `11.18.0`](https://renovatebot.com/diffs/npm/@trpc%2fclient/11.17.0/11.18.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@trpc%2fclient/11.18.0?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@trpc%2fclient/11.18.0?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@trpc%2fclient/11.17.0/11.18.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@trpc%2fclient/11.17.0/11.18.0?slim=true) | | [@trpc/server](https://trpc.io) ([source](https://github.com/trpc/trpc/tree/HEAD/packages/server)) | [`11.17.0` → `11.18.0`](https://renovatebot.com/diffs/npm/@trpc%2fserver/11.17.0/11.18.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@trpc%2fserver/11.18.0?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@trpc%2fserver/11.18.0?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@trpc%2fserver/11.17.0/11.18.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@trpc%2fserver/11.17.0/11.18.0?slim=true) | | [@trpc/tanstack-react-query](https://trpc.io/docs/client/tanstack-react-query/setup) ([source](https://github.com/trpc/trpc/tree/HEAD/packages/tanstack-react-query)) | [`11.17.0` → `11.18.0`](https://renovatebot.com/diffs/npm/@trpc%2ftanstack-react-query/11.17.0/11.18.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@trpc%2ftanstack-react-query/11.18.0?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@trpc%2ftanstack-react-query/11.18.0?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@trpc%2ftanstack-react-query/11.17.0/11.18.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@trpc%2ftanstack-react-query/11.17.0/11.18.0?slim=true) | | [better-sqlite3](https://github.com/WiseLibs/better-sqlite3) | [`12.10.1` → `12.11.1`](https://renovatebot.com/diffs/npm/better-sqlite3/12.10.1/12.11.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/better-sqlite3/12.11.1?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/better-sqlite3/12.11.1?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/better-sqlite3/12.10.1/12.11.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/better-sqlite3/12.10.1/12.11.1?slim=true) | | [dompurify](https://github.com/cure53/DOMPurify) | [`3.4.10` → `3.4.11`](https://renovatebot.com/diffs/npm/dompurify/3.4.10/3.4.11) | ![age](https://developer.mend.io/api/mc/badges/age/npm/dompurify/3.4.11?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/dompurify/3.4.11?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/dompurify/3.4.10/3.4.11?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/dompurify/3.4.10/3.4.11?slim=true) | | [hono](https://hono.dev) ([source](https://github.com/honojs/hono)) | [`4.12.25` → `4.12.26`](https://renovatebot.com/diffs/npm/hono/4.12.25/4.12.26) | ![age](https://developer.mend.io/api/mc/badges/age/npm/hono/4.12.26?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/hono/4.12.26?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/hono/4.12.25/4.12.26?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/hono/4.12.25/4.12.26?slim=true) | | [lucide-react](https://lucide.dev) ([source](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react)) | [`1.18.0` → `1.21.0`](https://renovatebot.com/diffs/npm/lucide-react/1.18.0/1.21.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/lucide-react/1.21.0?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lucide-react/1.21.0?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lucide-react/1.18.0/1.21.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lucide-react/1.18.0/1.21.0?slim=true) | | [metascraper](https://metascraper.js.org) ([source](https://github.com/microlinkhq/metascraper)) | [`5.50.6` → `5.51.1`](https://renovatebot.com/diffs/npm/metascraper/5.50.6/5.51.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/metascraper/5.51.1?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/metascraper/5.51.1?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/metascraper/5.50.6/5.51.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/metascraper/5.50.6/5.51.1?slim=true) | | [metascraper-amazon](https://github.com/microlinkhq/metascraper/packages/metascraper-amazon) ([source](https://github.com/microlinkhq/metascraper/tree/HEAD/packages/metascraper-amazon)) | [`5.50.6` → `5.51.1`](https://renovatebot.com/diffs/npm/metascraper-amazon/5.50.6/5.51.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/metascraper-amazon/5.51.1?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/metascraper-amazon/5.51.1?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/metascraper-amazon/5.50.6/5.51.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/metascraper-amazon/5.50.6/5.51.1?slim=true) | | [metascraper-author](https://metascraper.js.org) ([source](https://github.com/microlinkhq/metascraper)) | [`5.50.6` → `5.51.1`](https://renovatebot.com/diffs/npm/metascraper-author/5.50.6/5.51.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/metascraper-author/5.51.1?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/metascraper-author/5.51.1?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/metascraper-author/5.50.6/5.51.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/metascraper-author/5.50.6/5.51.1?slim=true) | | [metascraper-date](https://github.com/microlinkhq/metascraper/packages/metascraper-date) ([source](https://github.com/microlinkhq/metascraper/tree/HEAD/packages/metascraper-date)) | [`5.50.6` → `5.51.1`](https://renovatebot.com/diffs/npm/metascraper-date/5.50.6/5.51.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/metascraper-date/5.51.1?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/metascraper-date/5.51.1?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/metascraper-date/5.50.6/5.51.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/metascraper-date/5.50.6/5.51.1?slim=true) | | [metascraper-description](https://github.com/microlinkhq/metascraper/packages/metascraper-description) ([source](https://github.com/microlinkhq/metascraper/tree/HEAD/packages/metascraper-description)) | [`5.50.6` → `5.51.1`](https://renovatebot.com/diffs/npm/metascraper-description/5.50.6/5.51.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/metascraper-description/5.51.1?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/metascraper-description/5.51.1?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/metascraper-description/5.50.6/5.51.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/metascraper-description/5.50.6/5.51.1?slim=true) | | [metascraper-image](https://github.com/microlinkhq/metascraper/packages/metascraper-image) ([source](https://github.com/microlinkhq/metascraper/tree/HEAD/packages/metascraper-image)) | [`5.50.6` → `5.51.1`](https://renovatebot.com/diffs/npm/metascraper-image/5.50.6/5.51.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/metascraper-image/5.51.1?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/metascraper-image/5.51.1?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/metascraper-image/5.50.6/5.51.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/metascraper-image/5.50.6/5.51.1?slim=true) | | [metascraper-logo](https://github.com/microlinkhq/metascraper/packages/metascraper-logo) ([source](https://github.com/microlinkhq/metascraper/tree/HEAD/packages/metascraper-logo)) | [`5.50.6` → `5.51.1`](https://renovatebot.com/diffs/npm/metascraper-logo/5.50.6/5.51.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/metascraper-logo/5.51.1?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/metascraper-logo/5.51.1?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/metascraper-logo/5.50.6/5.51.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/metascraper-logo/5.50.6/5.51.1?slim=true) | | [metascraper-logo-favicon](https://github.com/microlinkhq/metascraper/packages/metascraper-logo-favicon) ([source](https://github.com/microlinkhq/metascraper/tree/HEAD/packages/metascraper-logo-favicon)) | [`5.50.6` → `5.51.1`](https://renovatebot.com/diffs/npm/metascraper-logo-favicon/5.50.6/5.51.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/metascraper-logo-favicon/5.51.1?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/metascraper-logo-favicon/5.51.1?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/metascraper-logo-favicon/5.50.6/5.51.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/metascraper-logo-favicon/5.50.6/5.51.1?slim=true) | | [metascraper-publisher](https://github.com/microlinkhq/metascraper/packages/metascraper-publisher) ([source](https://github.com/microlinkhq/metascraper/tree/HEAD/packages/metascraper-publisher)) | [`5.50.6` → `5.51.1`](https://renovatebot.com/diffs/npm/metascraper-publisher/5.50.6/5.51.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/metascraper-publisher/5.51.1?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/metascraper-publisher/5.51.1?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/metascraper-publisher/5.50.6/5.51.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/metascraper-publisher/5.50.6/5.51.1?slim=true) | | [metascraper-readability](https://github.com/microlinkhq/metascraper/packages/metascraper-readability) ([source](https://github.com/microlinkhq/metascraper/tree/HEAD/packages/metascraper-readability)) | [`5.50.6` → `5.51.1`](https://renovatebot.com/diffs/npm/metascraper-readability/5.50.6/5.51.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/metascraper-readability/5.51.1?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/metascraper-readability/5.51.1?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/metascraper-readability/5.50.6/5.51.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/metascraper-readability/5.50.6/5.51.1?slim=true) | | [metascraper-title](https://metascraper.js.org) ([source](https://github.com/microlinkhq/metascraper)) | [`5.50.6` → `5.51.1`](https://renovatebot.com/diffs/npm/metascraper-title/5.50.6/5.51.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/metascraper-title/5.51.1?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/metascraper-title/5.51.1?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/metascraper-title/5.50.6/5.51.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/metascraper-title/5.50.6/5.51.1?slim=true) | | [metascraper-url](https://metascraper.js.org) ([source](https://github.com/microlinkhq/metascraper)) | [`5.50.6` → `5.51.1`](https://renovatebot.com/diffs/npm/metascraper-url/5.50.6/5.51.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/metascraper-url/5.51.1?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/metascraper-url/5.51.1?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/metascraper-url/5.50.6/5.51.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/metascraper-url/5.50.6/5.51.1?slim=true) | | [metascraper-x](https://github.com/microlinkhq/metascraper/packages/metascraper-x) ([source](https://github.com/microlinkhq/metascraper/tree/HEAD/packages/metascraper-x)) | [`5.50.6` → `5.51.1`](https://renovatebot.com/diffs/npm/metascraper-x/5.50.6/5.51.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/metascraper-x/5.51.1?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/metascraper-x/5.51.1?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/metascraper-x/5.50.6/5.51.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/metascraper-x/5.50.6/5.51.1?slim=true) | | [metascraper-youtube](https://github.com/microlinkhq/metascraper/packages/metascraper-youtube) ([source](https://github.com/microlinkhq/metascraper/tree/HEAD/packages/metascraper-youtube)) | [`5.50.6` → `5.51.1`](https://renovatebot.com/diffs/npm/metascraper-youtube/5.50.6/5.51.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/metascraper-youtube/5.51.1?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/metascraper-youtube/5.51.1?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/metascraper-youtube/5.50.6/5.51.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/metascraper-youtube/5.50.6/5.51.1?slim=true) | | [node-cron](https://nodecron.com) ([source](https://github.com/node-cron/node-cron)) | [`4.2.1` → `4.5.0`](https://renovatebot.com/diffs/npm/node-cron/4.2.1/4.5.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/node-cron/4.5.0?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/node-cron/4.5.0?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/node-cron/4.2.1/4.5.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/node-cron/4.2.1/4.5.0?slim=true) | | [nodemailer](https://nodemailer.com/) ([source](https://github.com/nodemailer/nodemailer)) | [`9.0.0` → `9.0.1`](https://renovatebot.com/diffs/npm/nodemailer/9.0.0/9.0.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/nodemailer/9.0.1?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nodemailer/9.0.1?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nodemailer/9.0.0/9.0.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nodemailer/9.0.0/9.0.1?slim=true) | | [openai](https://github.com/openai/openai-node) | [`6.42.0` → `6.44.0`](https://renovatebot.com/diffs/npm/openai/6.42.0/6.44.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/openai/6.44.0?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/openai/6.44.0?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/openai/6.42.0/6.44.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/openai/6.42.0/6.44.0?slim=true) | | [playwright](https://playwright.dev) ([source](https://github.com/microsoft/playwright)) | [`1.60.0` → `1.61.0`](https://renovatebot.com/diffs/npm/playwright/1.60.0/1.61.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/playwright/1.61.0?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/playwright/1.61.0?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/playwright/1.60.0/1.61.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/playwright/1.60.0/1.61.0?slim=true) | | [react-draggable](https://github.com/react-grid-layout/react-draggable) | [`4.6.0` → `4.7.0`](https://renovatebot.com/diffs/npm/react-draggable/4.6.0/4.7.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/react-draggable/4.7.0?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-draggable/4.7.0?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-draggable/4.6.0/4.7.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-draggable/4.6.0/4.7.0?slim=true) | | [react-hook-form](https://react-hook-form.com) ([source](https://github.com/react-hook-form/react-hook-form)) | [`7.79.0` → `7.80.0`](https://renovatebot.com/diffs/npm/react-hook-form/7.79.0/7.80.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/react-hook-form/7.80.0?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-hook-form/7.80.0?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-hook-form/7.79.0/7.80.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-hook-form/7.79.0/7.80.0?slim=true) | | [sharp](https://sharp.pixelplumbing.com) ([source](https://github.com/lovell/sharp), [changelog](https://github.com/lovell/sharp/blob/main/docs/src/content/docs/changelog.md)) | [`0.35.1` → `0.35.2`](https://renovatebot.com/diffs/npm/sharp/0.35.1/0.35.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/sharp/0.35.2?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/sharp/0.35.2?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/sharp/0.35.1/0.35.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/sharp/0.35.1/0.35.2?slim=true) | | [stripe](https://github.com/stripe/stripe-node) | [`22.2.1` → `22.2.2`](https://renovatebot.com/diffs/npm/stripe/22.2.1/22.2.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/stripe/22.2.2?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/stripe/22.2.2?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/stripe/22.2.1/22.2.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/stripe/22.2.1/22.2.2?slim=true) | | [tsdown](http://tsdown.dev/) ([source](https://github.com/rolldown/tsdown)) | [`0.22.2` → `0.22.3`](https://renovatebot.com/diffs/npm/tsdown/0.22.2/0.22.3) | ![age](https://developer.mend.io/api/mc/badges/age/npm/tsdown/0.22.3?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tsdown/0.22.3?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tsdown/0.22.2/0.22.3?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tsdown/0.22.2/0.22.3?slim=true) | | [undici](https://undici.nodejs.org) ([source](https://github.com/nodejs/undici)) | [`8.4.1` → `8.5.0`](https://renovatebot.com/diffs/npm/undici/8.4.1/8.5.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/undici/8.5.0?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/undici/8.5.0?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/undici/8.4.1/8.5.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/undici/8.4.1/8.5.0?slim=true) | | [vitest](https://vitest.dev) ([source](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest)) | [`4.1.8` → `4.1.9`](https://renovatebot.com/diffs/npm/vitest/4.1.8/4.1.9) | ![age](https://developer.mend.io/api/mc/badges/age/npm/vitest/4.1.9?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vitest/4.1.9?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vitest/4.1.8/4.1.9?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vitest/4.1.8/4.1.9?slim=true) | --- ### Release Notes <details> <summary>aws/aws-sdk-js-v3 (@&#8203;aws-sdk/client-s3)</summary> ### [`v3.1073.0`](https://github.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#310730-2026-06-19) [Compare Source](https://github.com/aws/aws-sdk-js-v3/compare/v3.1072.0...v3.1073.0) **Note:** Version bump only for package [@&#8203;aws-sdk/client-s3](https://github.com/aws-sdk/client-s3) ### [`v3.1072.0`](https://github.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#310720-2026-06-18) [Compare Source](https://github.com/aws/aws-sdk-js-v3/compare/v3.1071.0...v3.1072.0) **Note:** Version bump only for package [@&#8203;aws-sdk/client-s3](https://github.com/aws-sdk/client-s3) ### [`v3.1071.0`](https://github.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#310710-2026-06-17) [Compare Source](https://github.com/aws/aws-sdk-js-v3/compare/v3.1070.0...v3.1071.0) **Note:** Version bump only for package [@&#8203;aws-sdk/client-s3](https://github.com/aws-sdk/client-s3) ### [`v3.1070.0`](https://github.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#310700-2026-06-16) [Compare Source](https://github.com/aws/aws-sdk-js-v3/compare/v3.1069.0...v3.1070.0) ##### Features - **client-s3:** Added support for annotations. You can now attach up to 1000 annotations (up to 1 MB each) directly to objects and create, retrieve, list, and delete them using new annotation APIs. Also added support for configuring an annotation table in S3 Metadata. ([c555874](https://github.com/aws/aws-sdk-js-v3/commit/c555874690846b81904a2c0c1e96130bd03bbeaa)) ### [`v3.1069.0`](https://github.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#310690-2026-06-15) [Compare Source](https://github.com/aws/aws-sdk-js-v3/compare/v3.1068.0...v3.1069.0) **Note:** Version bump only for package [@&#8203;aws-sdk/client-s3](https://github.com/aws-sdk/client-s3) </details> <details> <summary>honojs/node-server (@&#8203;hono/node-server)</summary> ### [`v2.0.5`](https://github.com/honojs/node-server/releases/tag/v2.0.5) [Compare Source](https://github.com/honojs/node-server/compare/v2.0.4...v2.0.5) #### Security Fix Fixed a security issue in Serve Static Middleware where prefix-mounted middleware could be bypassed on Windows. This only affects applications running on Windows that use Serve Static Middleware. Affected users are encouraged to upgrade to this version. See GHSA-frvp-7c67-39w9 for details. </details> <details> <summary>radix-ui/primitives (@&#8203;radix-ui/react-avatar)</summary> ### [`v1.2.0`](https://github.com/radix-ui/primitives/blob/HEAD/packages/react/avatar/CHANGELOG.md#120) - Fixed several edge cases with Avatar's loading state - An avatar's fallback would not be displayed again if its image component unmounted. This is now fixed. - Rendering multiple `Avatar.Image` components per `Avatar.Root` was never supported and results in buggy, unpredictable behavior. We now warn about this in development. - Zero-sized images were treated as `loading`, meaning that `onLoadingStatusChange` is never called once loaded. A zero-sized image now triggers an `error` status on load. ##### Other updates - Fixed console warnings to show in test environments. - Updated dependencies: `@radix-ui/react-primitive@2.1.6` </details> <details> <summary>radix-ui/primitives (@&#8203;radix-ui/react-collapsible)</summary> ### [`v1.1.14`](https://github.com/radix-ui/primitives/blob/HEAD/packages/react/collapsible/CHANGELOG.md#1114) - Updated dependencies: `@radix-ui/react-primitive@2.1.6` </details> <details> <summary>radix-ui/primitives (@&#8203;radix-ui/react-dropdown-menu)</summary> ### [`v2.1.18`](https://github.com/radix-ui/primitives/blob/HEAD/packages/react/dropdown-menu/CHANGELOG.md#2118) - Fixed a bug where menus and submenus remained open after a window loses focus. - Updated dependencies: `@radix-ui/react-menu@2.1.18`, `@radix-ui/react-primitive@2.1.6` </details> <details> <summary>radix-ui/primitives (@&#8203;radix-ui/react-label)</summary> ### [`v2.1.10`](https://github.com/radix-ui/primitives/blob/HEAD/packages/react/label/CHANGELOG.md#2110) - Updated dependencies: `@radix-ui/react-primitive@2.1.6` </details> <details> <summary>radix-ui/primitives (@&#8203;radix-ui/react-progress)</summary> ### [`v1.1.10`](https://github.com/radix-ui/primitives/blob/HEAD/packages/react/progress/CHANGELOG.md#1110) - Updated dependencies: `@radix-ui/react-primitive@2.1.6` </details> <details> <summary>radix-ui/primitives (@&#8203;radix-ui/react-radio-group)</summary> ### [`v1.4.1`](https://github.com/radix-ui/primitives/blob/HEAD/packages/react/radio-group/CHANGELOG.md#141) - Updated dependencies: `@radix-ui/react-primitive@2.1.6`, `@radix-ui/react-roving-focus@1.1.13` </details> <details> <summary>radix-ui/primitives (@&#8203;radix-ui/react-scroll-area)</summary> ### [`v1.2.12`](https://github.com/radix-ui/primitives/blob/HEAD/packages/react/scroll-area/CHANGELOG.md#1212) - Stabilized the viewport style tag unless the nonce changes. - Fixed `Duplicate index signature` errors that surfaced when consuming multiple packages together. - Updated dependencies: `@radix-ui/react-primitive@2.1.6` </details> <details> <summary>radix-ui/primitives (@&#8203;radix-ui/react-separator)</summary> ### [`v1.1.10`](https://github.com/radix-ui/primitives/blob/HEAD/packages/react/separator/CHANGELOG.md#1110) - Updated dependencies: `@radix-ui/react-primitive@2.1.6` </details> <details> <summary>radix-ui/primitives (@&#8203;radix-ui/react-slider)</summary> ### [`v1.4.1`](https://github.com/radix-ui/primitives/blob/HEAD/packages/react/slider/CHANGELOG.md#141) - Fixed `Duplicate index signature` errors that surfaced when consuming multiple packages together. - Updated dependencies: `@radix-ui/react-primitive@2.1.6`, `@radix-ui/react-collection@1.1.10` </details> <details> <summary>radix-ui/primitives (@&#8203;radix-ui/react-switch)</summary> ### [`v1.3.1`](https://github.com/radix-ui/primitives/blob/HEAD/packages/react/switch/CHANGELOG.md#131) - Updated dependencies: `@radix-ui/react-primitive@2.1.6` </details> <details> <summary>radix-ui/primitives (@&#8203;radix-ui/react-tabs)</summary> ### [`v1.1.15`](https://github.com/radix-ui/primitives/blob/HEAD/packages/react/tabs/CHANGELOG.md#1115) - Updated dependencies: `@radix-ui/react-primitive@2.1.6`, `@radix-ui/react-roving-focus@1.1.13` </details> <details> <summary>radix-ui/primitives (@&#8203;radix-ui/react-toast)</summary> ### [`v1.2.17`](https://github.com/radix-ui/primitives/blob/HEAD/packages/react/toast/CHANGELOG.md#1217) - Updated dependencies: `@radix-ui/react-dismissable-layer@1.1.13`, `@radix-ui/react-primitive@2.1.6`, `@radix-ui/react-collection@1.1.10`, `@radix-ui/react-portal@1.1.12`, `@radix-ui/react-visually-hidden@1.2.6` </details> <details> <summary>radix-ui/primitives (@&#8203;radix-ui/react-toggle)</summary> ### [`v1.1.12`](https://github.com/radix-ui/primitives/blob/HEAD/packages/react/toggle/CHANGELOG.md#1112) - Updated dependencies: `@radix-ui/react-primitive@2.1.6` </details> <details> <summary>radix-ui/primitives (@&#8203;radix-ui/react-tooltip)</summary> ### [`v1.2.10`](https://github.com/radix-ui/primitives/blob/HEAD/packages/react/tooltip/CHANGELOG.md#1210) - Updated dependencies: `@radix-ui/react-slot@1.3.0`, `@radix-ui/react-popper@1.3.1`, `@radix-ui/react-dismissable-layer@1.1.13`, `@radix-ui/react-primitive@2.1.6`, `@radix-ui/react-portal@1.1.12`, `@radix-ui/react-visually-hidden@1.2.6` </details> <details> <summary>radix-ui/primitives (@&#8203;radix-ui/react-visually-hidden)</summary> ### [`v1.2.6`](https://github.com/radix-ui/primitives/blob/HEAD/packages/react/visually-hidden/CHANGELOG.md#126) - Updated dependencies: `@radix-ui/react-primitive@2.1.6` </details> <details> <summary>trpc/trpc (@&#8203;trpc/client)</summary> ### [`v11.18.0`](https://github.com/trpc/trpc/releases/tag/v11.18.0) [Compare Source](https://github.com/trpc/trpc/compare/v11.17.0...v11.18.0) ##### What's Changed - fix(ci): restore tests package version and pin Bun by [@&#8203;KATT](https://github.com/KATT) in [#&#8203;7393](https://github.com/trpc/trpc/pull/7393) - fix(tanstack-react-query): add prefix support for mutation options by [@&#8203;tmkx](https://github.com/tmkx) in [#&#8203;7370](https://github.com/trpc/trpc/pull/7370) - chore: fix duplicate "the" in unstable-core JSDoc comment by [@&#8203;dfedoryshchev](https://github.com/dfedoryshchev) in [#&#8203;7366](https://github.com/trpc/trpc/pull/7366) - feat(openapi): Add server url support by [@&#8203;Nick-Lucas](https://github.com/Nick-Lucas) in [#&#8203;7411](https://github.com/trpc/trpc/pull/7411) ##### New Contributors - [@&#8203;dfedoryshchev](https://github.com/dfedoryshchev) made their first contribution in [#&#8203;7366](https://github.com/trpc/trpc/pull/7366) **Full Changelog**: <https://github.com/trpc/trpc/compare/v11.17.0...v11.18.0> </details> <details> <summary>WiseLibs/better-sqlite3 (better-sqlite3)</summary> ### [`v12.11.1`](https://github.com/WiseLibs/better-sqlite3/releases/tag/v12.11.1) [Compare Source](https://github.com/WiseLibs/better-sqlite3/compare/v12.10.1...v12.11.1) #### What's Changed - Fix Electron v42 build errors on Windows by [@&#8203;m4heshd](https://github.com/m4heshd) in [#&#8203;1488](https://github.com/WiseLibs/better-sqlite3/pull/1488) **Full Changelog**: <https://github.com/WiseLibs/better-sqlite3/compare/v12.11.0...v12.11.1> </details> <details> <summary>cure53/DOMPurify (dompurify)</summary> ### [`v3.4.11`](https://github.com/cure53/DOMPurify/releases/tag/3.4.11): DOMPurify 3.4.11 [Compare Source](https://github.com/cure53/DOMPurify/compare/3.4.10...3.4.11) - Fixed an issue with a leaky config for hooks via `setConfig`, thanks [@&#8203;trace37labs](https://github.com/trace37labs) - Bumped vulnerable development dependencies to arrive at plain 0 with `npm audit` - Updated the `osv-scanner` suppression list as no vulnerable dependencies are left for now - Updated up the linting tool-chain and removed now-redundant lint directives - Updated the documentation is several spots, README, wiki, etc. - Bumped several dependencies where possible </details> <details> <summary>honojs/hono (hono)</summary> ### [`v4.12.26`](https://github.com/honojs/hono/releases/tag/v4.12.26) [Compare Source](https://github.com/honojs/hono/compare/v4.12.25...v4.12.26) ##### What's Changed - fix(lambda-edge): satisfy Deno lib types for Content-Length body encoding by [@&#8203;yusukebe](https://github.com/yusukebe) in [#&#8203;5013](https://github.com/honojs/hono/pull/5013) - ci: publish to npm from CI with OIDC trusted publishing by [@&#8203;yusukebe](https://github.com/yusukebe) in [#&#8203;5028](https://github.com/honojs/hono/pull/5028) - chore: remove unused devcontainer and gitpod configs by [@&#8203;yusukebe](https://github.com/yusukebe) in [#&#8203;5029](https://github.com/honojs/hono/pull/5029) - chore: replace arg and glob with Bun native APIs in build script by [@&#8203;yusukebe](https://github.com/yusukebe) in [#&#8203;5030](https://github.com/honojs/hono/pull/5030) **Full Changelog**: <https://github.com/honojs/hono/compare/v4.12.25...v4.12.26> </details> <details> <summary>lucide-icons/lucide (lucide-react)</summary> ### [`v1.21.0`](https://github.com/lucide-icons/lucide/releases/tag/1.21.0): Version 1.21.0 [Compare Source](https://github.com/lucide-icons/lucide/compare/1.20.0...1.21.0) #### What's Changed - ci(release.yml): Remove new-version in release flow by [@&#8203;ericfennis](https://github.com/ericfennis) in [#&#8203;4478](https://github.com/lucide-icons/lucide/pull/4478) - ci(release.yml): Fix workflow and remove `version` scripts in package scripts by [@&#8203;ericfennis](https://github.com/ericfennis) in [#&#8203;4479](https://github.com/lucide-icons/lucide/pull/4479) - fix(docs): rename navigation category label by [@&#8203;Hsiii](https://github.com/Hsiii) in [#&#8203;4483](https://github.com/lucide-icons/lucide/pull/4483) - feat(icons): added `broken-bone` icon by [@&#8203;Patolord](https://github.com/Patolord) in [#&#8203;4131](https://github.com/lucide-icons/lucide/pull/4131) #### New Contributors - [@&#8203;Hsiii](https://github.com/Hsiii) made their first contribution in [#&#8203;4483](https://github.com/lucide-icons/lucide/pull/4483) - [@&#8203;Patolord](https://github.com/Patolord) made their first contribution in [#&#8203;4131](https://github.com/lucide-icons/lucide/pull/4131) **Full Changelog**: <https://github.com/lucide-icons/lucide/compare/1.20.0...1.21.0> ### [`v1.20.0`](https://github.com/lucide-icons/lucide/releases/tag/1.20.0): Version 1.20.0 [Compare Source](https://github.com/lucide-icons/lucide/compare/1.19.0...1.20.0) #### What's Changed - fix(icons): decreased size of arrows inside `square-arrow-*` icons by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;3926](https://github.com/lucide-icons/lucide/pull/3926) - chore(tags): Add tags to `search-` icons by [@&#8203;jamiemlaw](https://github.com/jamiemlaw) in [#&#8203;4099](https://github.com/lucide-icons/lucide/pull/4099) - feat(icons): added `save-check` icon by [@&#8203;Konixy](https://github.com/Konixy) in [#&#8203;3120](https://github.com/lucide-icons/lucide/pull/3120) - feat(icons): added `tag-plus` and `tag-x` icons by [@&#8203;adam-kov](https://github.com/adam-kov) in [#&#8203;3980](https://github.com/lucide-icons/lucide/pull/3980) - feat(icons): added `banknote-check` icon by [@&#8203;mfjramirezf](https://github.com/mfjramirezf) in [#&#8203;3956](https://github.com/lucide-icons/lucide/pull/3956) - feat(icons): added `clock-arrow-in` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;2403](https://github.com/lucide-icons/lucide/pull/2403) - feat(icons): added `summary` icon by [@&#8203;jpjacobpadilla](https://github.com/jpjacobpadilla) in [#&#8203;3114](https://github.com/lucide-icons/lucide/pull/3114) - feat(icons): added `user-round-arrow-in` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;2283](https://github.com/lucide-icons/lucide/pull/2283) - feat(icons): added `clock-arrow-out` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;2404](https://github.com/lucide-icons/lucide/pull/2404) - docs(docs): fix broken Svelte package source link in README by [@&#8203;SRKrukowski](https://github.com/SRKrukowski) in [#&#8203;4468](https://github.com/lucide-icons/lucide/pull/4468) - chore(deps-dev): bump [@&#8203;angular/compiler](https://github.com/angular/compiler) from 21.2.5 to 21.2.17 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;4474](https://github.com/lucide-icons/lucide/pull/4474) - chore(deps-dev): bump [@&#8203;angular/core](https://github.com/angular/core) from 21.2.5 to 21.2.17 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;4470](https://github.com/lucide-icons/lucide/pull/4470) - chore(deps-dev): bump vitest from 4.0.12 to 4.1.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;4429](https://github.com/lucide-icons/lucide/pull/4429) - chore(deps-dev): bump markdown-it from 14.1.1 to 14.2.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;4475](https://github.com/lucide-icons/lucide/pull/4475) - chore(deps-dev): bump [@&#8203;angular/common](https://github.com/angular/common) from 21.2.5 to 21.2.17 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;4471](https://github.com/lucide-icons/lucide/pull/4471) - feat(icons): added `pencil-sparkles` icon by [@&#8203;jennieboops](https://github.com/jennieboops) in [#&#8203;4445](https://github.com/lucide-icons/lucide/pull/4445) #### New Contributors - [@&#8203;Konixy](https://github.com/Konixy) made their first contribution in [#&#8203;3120](https://github.com/lucide-icons/lucide/pull/3120) - [@&#8203;adam-kov](https://github.com/adam-kov) made their first contribution in [#&#8203;3980](https://github.com/lucide-icons/lucide/pull/3980) - [@&#8203;mfjramirezf](https://github.com/mfjramirezf) made their first contribution in [#&#8203;3956](https://github.com/lucide-icons/lucide/pull/3956) - [@&#8203;SRKrukowski](https://github.com/SRKrukowski) made their first contribution in [#&#8203;4468](https://github.com/lucide-icons/lucide/pull/4468) - [@&#8203;jennieboops](https://github.com/jennieboops) made their first contribution in [#&#8203;4445](https://github.com/lucide-icons/lucide/pull/4445) **Full Changelog**: <https://github.com/lucide-icons/lucide/compare/1.19.0...1.20.0> ### [`v1.19.0`](https://github.com/lucide-icons/lucide/releases/tag/1.19.0): Version 1.19.0 [Compare Source](https://github.com/lucide-icons/lucide/compare/1.18.0...1.19.0) #### What's Changed - chore(deps): upgrade pnpm to version 11.6.0 by [@&#8203;ericfennis](https://github.com/ericfennis) in [#&#8203;4458](https://github.com/lucide-icons/lucide/pull/4458) - feat(icons): added `star-*` icons by [@&#8203;RajnishKMehta](https://github.com/RajnishKMehta) in [#&#8203;3918](https://github.com/lucide-icons/lucide/pull/3918) - chore(suggest-tags): Update metadata suggestion script by [@&#8203;ericfennis](https://github.com/ericfennis) in [#&#8203;4462](https://github.com/lucide-icons/lucide/pull/4462) - feat(icons): added `save-pen` icon by [@&#8203;vaporvee](https://github.com/vaporvee) in [#&#8203;4179](https://github.com/lucide-icons/lucide/pull/4179) - feat(icons): added `wrench-off` icon by [@&#8203;nilsjonsson](https://github.com/nilsjonsson) in [#&#8203;4434](https://github.com/lucide-icons/lucide/pull/4434) - feat(icons): added `ad` icon by [@&#8203;jamiemlaw](https://github.com/jamiemlaw) in [#&#8203;4323](https://github.com/lucide-icons/lucide/pull/4323) - feat(icons): added `eye-dashed` icon by [@&#8203;karsa-mistmere](https://github.com/karsa-mistmere) in [#&#8203;4415](https://github.com/lucide-icons/lucide/pull/4415) - feat(icons): added `save-plus` icon by [@&#8203;jwlinqx](https://github.com/jwlinqx) in [#&#8203;4448](https://github.com/lucide-icons/lucide/pull/4448) - feat(icons): added `list-sort-descending` icon by [@&#8203;ericfennis](https://github.com/ericfennis) in [#&#8203;4457](https://github.com/lucide-icons/lucide/pull/4457) - fix(lucide-react-native): Fix provider exports by [@&#8203;ericfennis](https://github.com/ericfennis) in [#&#8203;4463](https://github.com/lucide-icons/lucide/pull/4463) - fix(site): reserve space for icon detail drawer by [@&#8203;vyctorbrzezowski](https://github.com/vyctorbrzezowski) in [#&#8203;4344](https://github.com/lucide-icons/lucide/pull/4344) - fix(icons): changed `wallet-cards` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;3888](https://github.com/lucide-icons/lucide/pull/3888) - feat(site): Improve search and add sorting options by [@&#8203;ericfennis](https://github.com/ericfennis) in [#&#8203;4453](https://github.com/lucide-icons/lucide/pull/4453) - feat(icons): added `podium` icon by [@&#8203;jguddas](https://github.com/jguddas) in [#&#8203;2124](https://github.com/lucide-icons/lucide/pull/2124) #### New Contributors - [@&#8203;vaporvee](https://github.com/vaporvee) made their first contribution in [#&#8203;4179](https://github.com/lucide-icons/lucide/pull/4179) - [@&#8203;nilsjonsson](https://github.com/nilsjonsson) made their first contribution in [#&#8203;4434](https://github.com/lucide-icons/lucide/pull/4434) - [@&#8203;jwlinqx](https://github.com/jwlinqx) made their first contribution in [#&#8203;4448](https://github.com/lucide-icons/lucide/pull/4448) - [@&#8203;vyctorbrzezowski](https://github.com/vyctorbrzezowski) made their first contribution in [#&#8203;4344](https://github.com/lucide-icons/lucide/pull/4344) **Full Changelog**: <https://github.com/lucide-icons/lucide/compare/1.18.0...1.19.0> </details> <details> <summary>microlinkhq/metascraper (metascraper)</summary> ### [`v5.51.1`](https://github.com/microlinkhq/metascraper/blob/HEAD/CHANGELOG.md#5511-2026-06-19) [Compare Source](https://github.com/microlinkhq/metascraper/compare/v5.50.6...v5.51.1) **Note:** Version bump only for package metascraper </details> <details> <summary>microlinkhq/metascraper (metascraper-amazon)</summary> ### [`v5.51.1`](https://github.com/microlinkhq/metascraper/blob/HEAD/packages/metascraper-amazon/CHANGELOG.md#5511-2026-06-19) [Compare Source](https://github.com/microlinkhq/metascraper/compare/v5.50.6...v5.51.1) **Note:** Version bump only for package metascraper-amazon </details> <details> <summary>microlinkhq/metascraper (metascraper-date)</summary> ### [`v5.51.1`](https://github.com/microlinkhq/metascraper/blob/HEAD/packages/metascraper-date/CHANGELOG.md#5511-2026-06-19) [Compare Source](https://github.com/microlinkhq/metascraper/compare/v5.50.6...v5.51.1) **Note:** Version bump only for package metascraper-date </details> <details> <summary>microlinkhq/metascraper (metascraper-description)</summary> ### [`v5.51.1`](https://github.com/microlinkhq/metascraper/blob/HEAD/packages/metascraper-description/CHANGELOG.md#5511-2026-06-19) [Compare Source](https://github.com/microlinkhq/metascraper/compare/v5.50.6...v5.51.1) **Note:** Version bump only for package metascraper-description </details> <details> <summary>microlinkhq/metascraper (metascraper-image)</summary> ### [`v5.51.1`](https://github.com/microlinkhq/metascraper/blob/HEAD/packages/metascraper-image/CHANGELOG.md#5511-2026-06-19) [Compare Source](https://github.com/microlinkhq/metascraper/compare/v5.50.6...v5.51.1) **Note:** Version bump only for package metascraper-image </details> <details> <summary>microlinkhq/metascraper (metascraper-logo)</summary> ### [`v5.51.1`](https://github.com/microlinkhq/metascraper/blob/HEAD/packages/metascraper-logo/CHANGELOG.md#5511-2026-06-19) [Compare Source](https://github.com/microlinkhq/metascraper/compare/v5.50.6...v5.51.1) **Note:** Version bump only for package metascraper-logo </details> <details> <summary>microlinkhq/metascraper (metascraper-logo-favicon)</summary> ### [`v5.51.1`](https://github.com/microlinkhq/metascraper/blob/HEAD/packages/metascraper-logo-favicon/CHANGELOG.md#5511-2026-06-19) [Compare Source](https://github.com/microlinkhq/metascraper/compare/v5.50.6...v5.51.1) **Note:** Version bump only for package metascraper-logo-favicon </details> <details> <summary>microlinkhq/metascraper (metascraper-publisher)</summary> ### [`v5.51.1`](https://github.com/microlinkhq/metascraper/blob/HEAD/packages/metascraper-publisher/CHANGELOG.md#5511-2026-06-19) [Compare Source](https://github.com/microlinkhq/metascraper/compare/v5.50.6...v5.51.1) **Note:** Version bump only for package metascraper-publisher </details> <details> <summary>microlinkhq/metascraper (metascraper-readability)</summary> ### [`v5.51.1`](https://github.com/microlinkhq/metascraper/blob/HEAD/packages/metascraper-readability/CHANGELOG.md#5511-2026-06-19) [Compare Source](https://github.com/microlinkhq/metascraper/compare/v5.50.6...v5.51.1) **Note:** Version bump only for package metascraper-readability </details> <details> <summary>microlinkhq/metascraper (metascraper-x)</summary> ### [`v5.51.1`](https://github.com/microlinkhq/metascraper/blob/HEAD/packages/metascraper-x/CHANGELOG.md#5511-2026-06-19) [Compare Source](https://github.com/microlinkhq/metascraper/compare/v5.50.6...v5.51.1) **Note:** Version bump only for package metascraper-x </details> <details> <summary>microlinkhq/metascraper (metascraper-youtube)</summary> ### [`v5.51.1`](https://github.com/microlinkhq/metascraper/blob/HEAD/packages/metascraper-youtube/CHANGELOG.md#5511-2026-06-19) [Compare Source](https://github.com/microlinkhq/metascraper/compare/v5.50.6...v5.51.1) **Note:** Version bump only for package metascraper-youtube </details> <details> <summary>node-cron/node-cron (node-cron)</summary> ### [`v4.5.0`](https://github.com/node-cron/node-cron/blob/HEAD/CHANGELOG.md#450---2026-06-21) [Compare Source](https://github.com/node-cron/node-cron/compare/v4.4.1...v4.5.0) ##### Added - **`lastRun()`** introspection getter on `ScheduledTask`: returns `{ date, result }` after a successful execution, `{ date, error }` after a failed one, or `null` before the first run. (\[[#&#8203;557](https://github.com/node-cron/node-cron/issues/557)]) - **Extended day-of-week tokens**: `<weekday>#<nth>` (nth weekday of the month, e.g. `1#1` for the first Monday) and `<weekday>L` (last weekday of the month, e.g. `5L` for the last Friday). (\[[#&#8203;560](https://github.com/node-cron/node-cron/issues/560)]) ##### Performance - Cache `Intl.DateTimeFormat` instances per timezone instead of rebuilding on every call. (\[[#&#8203;561](https://github.com/node-cron/node-cron/issues/561)]) - Parse the cron expression once per `TimeMatcher` instead of re-parsing in `MatcherWalker`. (\[[#&#8203;562](https://github.com/node-cron/node-cron/issues/562)]) - Compute the GMT offset lazily (only when formatting ISO strings, not during the next-run search). (\[[#&#8203;563](https://github.com/node-cron/node-cron/issues/563)]) - Replace `crypto.randomBytes` with `crypto.randomUUID` for internal ID generation. (\[[#&#8203;564](https://github.com/node-cron/node-cron/issues/564)]) - Skip `setTimeout` jitter wrapper when `maxRandomDelay` is zero. (\[[#&#8203;565](https://github.com/node-cron/node-cron/issues/565)]) - Bundle dist into flat files instead of preserving the module tree (reduces import time). (\[[#&#8203;566](https://github.com/node-cron/node-cron/issues/566)]) ##### Fixed - Flaky `should schedule a task` test: poll for the first execution instead of asserting an exact count after a fixed sleep. ##### Changed - Renamed internal functions `interprete` to `interpret` and `appendSeccondExpression` to `appendSecondExpression`. (\[[#&#8203;567](https://github.com/node-cron/node-cron/issues/567)]) - Rewritten README and package metadata to surface scheduling capabilities (overlap prevention, distributed coordination, background tasks). (\[[#&#8203;568](https://github.com/node-cron/node-cron/issues/568)]) ### [`v4.4.1`](https://github.com/node-cron/node-cron/blob/HEAD/CHANGELOG.md#441---2026-06-18) [Compare Source](https://github.com/node-cron/node-cron/compare/v4.4.0...v4.4.1) ##### Changed - Renamed the `distributedTtl` option to **`distributedLease`** (same meaning: the safety lease, in ms, for lease-based coordinators). The old name was the only abbreviation in the options API; the new one groups with `distributed`. `distributedTtl` was introduced in 4.4.0 and is removed without an alias. ### [`v4.4.0`](https://github.com/node-cron/node-cron/blob/HEAD/CHANGELOG.md#440---2026-06-17) [Compare Source](https://github.com/node-cron/node-cron/compare/v4.3.0...v4.4.0) ##### Added - **Task introspection** on `ScheduledTask`: `getNextRuns(n)` (preview the next N run times), `match(date)`, `msToNext()`, `isBusy()`, `runsLeft()` and `getPattern()`. (\[[#&#8203;547](https://github.com/node-cron/node-cron/issues/547)]) - **`cron.parse(expression)`** and **`cron.validateDetailed(expression)`**: decompose an expression into its fields, or get every field-level problem (without throwing) for tooling and richer error messages. (\[[#&#8203;548](https://github.com/node-cron/node-cron/issues/548)]) - **Distributed run coordination** — opt-in `distributed: true` runs a task on a single instance per fire across a fleet. Ships a built-in `NODE_CRON_RUN` env-var default (one designated runner, no dependencies) and a pluggable `RunCoordinator` (via `setRunCoordinator`, or the per-task `runCoordinator` option) for high-availability, per-fire coordination (e.g. a Redis lock). Adds the `distributedTtl` option and an `execution:skipped` event carrying a `reason` (`'not-elected'` | `'coordinator-error'`). Works for inline and background tasks. (\[[#&#8203;549](https://github.com/node-cron/node-cron/issues/549)]) ##### Fixed - `getNextMatch` no longer scans every time of day on a day that matches the day-of-month but not the weekday. A dense expression constrained by both (e.g. `* * * 15 * 1`) could take minutes to resolve; it is now instant. ##### Changed - Internal-only cleanups (no public API change): fixed the `milisecond` → `millisecond` spelling and the `convertion/` → `conversion/` directory name. ### [`v4.3.0`](https://github.com/node-cron/node-cron/blob/HEAD/CHANGELOG.md#430---2026-06-17) [Compare Source](https://github.com/node-cron/node-cron/compare/v4.2.1...v4.3.0) ##### Added - **`L` (last day of month)** in the day-of-month field — e.g. `0 0 12 L * *`, leap-year aware and combinable with explicit days (`15,L`). (\[[#&#8203;147](https://github.com/node-cron/node-cron/issues/147)]) - **`missedExecutionTolerance`** option (ms, default `1000`): a heartbeat that wakes a little late still runs its slot instead of being reported as missed. Always capped to the gap to the next slot, so it can never run a slot twice. (\[[#&#8203;485](https://github.com/node-cron/node-cron/issues/485)]) - **`startTimeout`** option for background tasks (ms, default `5000`). (\[[#&#8203;535](https://github.com/node-cron/node-cron/issues/535)]) ##### Fixed - DST correctness in `getNextMatch`: no more \~1-year overshoot when a daily time falls in the spring-forward gap. (\[[#&#8203;518](https://github.com/node-cron/node-cron/issues/518)]) - Background task start failures now reject with the **real cause** (e.g. unsupported TypeScript syntax, missing file) instead of an opaque timeout, and a failed or timed-out start no longer leaves an **orphaned daemon** running. (\[[#&#8203;484](https://github.com/node-cron/node-cron/issues/484)]) - Long-timer drift no longer produces spurious "missed execution" warnings or skipped runs on daily/weekly schedules. (\[[#&#8203;485](https://github.com/node-cron/node-cron/issues/485)]) ##### Changed - Minimum supported Node.js is now **>= 20** (was `>= 20.11`); tested on Node 20, 22 and 24. > **Behavior note:** `missedExecutionTolerance` defaults to `1000`ms, so a > scheduled run that wakes up to \~1s late now **executes** instead of emitting > `execution:missed`. This is a bug-fix improvement, not an API break. </details> <details> <summary>nodemailer/nodemailer (nodemailer)</summary> ### [`v9.0.1`](https://github.com/nodemailer/nodemailer/blob/HEAD/CHANGELOG.md#901-2026-06-17) [Compare Source](https://github.com/nodemailer/nodemailer/compare/v9.0.0...v9.0.1) ##### Bug Fixes - enforce disableFileAccess/disableUrlAccess for raw message option ([a82e060](https://github.com/nodemailer/nodemailer/commit/a82e060d978f27e5f41369a9a9807b1e3dedc2e2)) </details> <details> <summary>openai/openai-node (openai)</summary> ### [`v6.44.0`](https://github.com/openai/openai-node/blob/HEAD/CHANGELOG.md#6440-2026-06-17) [Compare Source](https://github.com/openai/openai-node/compare/v6.43.0...v6.44.0) Full Changelog: [v6.43.0...v6.44.0](https://github.com/openai/openai-node/compare/v6.43.0...v6.44.0) ##### Features - **api:** update OpenAPI spec or Stainless config ([d05bdbc](https://github.com/openai/openai-node/commit/d05bdbc70b24c2970cf6b583d54529601e5442d8)) ### [`v6.43.0`](https://github.com/openai/openai-node/blob/HEAD/CHANGELOG.md#6440-2026-06-17) [Compare Source](https://github.com/openai/openai-node/compare/v6.42.0...v6.43.0) Full Changelog: [v6.43.0...v6.44.0](https://github.com/openai/openai-node/compare/v6.43.0...v6.44.0) ##### Features - **api:** update OpenAPI spec or Stainless config ([d05bdbc](https://github.com/openai/openai-node/commit/d05bdbc70b24c2970cf6b583d54529601e5442d8)) </details> <details> <summary>microsoft/playwright (playwright)</summary> ### [`v1.61.0`](https://github.com/microsoft/playwright/releases/tag/v1.61.0) [Compare Source](https://github.com/microsoft/playwright/compare/v1.60.0...v1.61.0) #### 🔑 WebAuthn passkeys New [Credentials](https://playwright.dev/docs/api/class-credentials) virtual authenticator, available via [browserContext.credentials](https://playwright.dev/docs/api/class-browsercontext#browser-context-credentials), lets tests register passkeys and answer `navigator.credentials.create()` / `navigator.credentials.get()` ceremonies in the page — no real hardware key required, works in all browsers: ```js const context = await browser.newContext(); // Seed a passkey your backend provisioned for a test user. await context.credentials.create('example.com', { id: credentialId, userHandle, privateKey, publicKey, }); await context.credentials.install(); const page = await context.newPage(); await page.goto('https://example.com/login'); // The page's navigator.credentials.get() is answered with the seeded passkey. ``` You can also let the app register a passkey once in a setup test, read it back with [credentials.get()](https://playwright.dev/docs/api/class-credentials#credentials-get), and seed it into later tests — see [Credentials](https://playwright.dev/docs/api/class-credentials) for details. #### 🗃️ Web Storage New [WebStorage](https://playwright.dev/docs/api/class-webstorage) API, available via [page.localStorage](https://playwright.dev/docs/api/class-page#page-local-storage) and [page.sessionStorage](https://playwright.dev/docs/api/class-page#page-session-storage), reads and writes the page's storage for the current origin: ```js await page.localStorage.setItem('token', 'abc'); const token = await page.localStorage.getItem('token'); const items = await page.sessionStorage.items(); ``` #### New APIs ##### Network - [apiResponse.securityDetails()](https://playwright.dev/docs/api/class-apiresponse#api-response-security-details) and [apiResponse.serverAddr()](https://playwright.dev/docs/api/class-apiresponse#api-response-server-addr) mirror the browser-side [response.securityDetails()](https://playwright.dev/docs/api/class-response#response-security-details) and [response.serverAddr()](https://playwright.dev/docs/api/class-response#response-server-addr). ##### Browser and Screencast - New option `artifactsDir` in [browserType.connectOverCDP()](https://playwright.dev/docs/api/class-browsertype#browser-type-connect-over-cdp) controls where artifacts such as traces and downloads are stored when attached to an existing browser. - New option `cursor` in [screencast.showActions()](https://playwright.dev/docs/api/class-screencast#screencast-show-actions) controls the cursor decoration rendered for pointer actions. - The `onFrame` callback in [screencast.start()](https://playwright.dev/docs/api/class-screencast#screencast-start) now receives a `timestamp` of when the frame was presented by the browser. ##### Test runner - The [testOptions.video](https://playwright.dev/docs/api/class-testoptions#test-options-video) option now supports the same set of modes as `trace`: new `'on-all-retries'`, `'retain-on-first-failure'` and `'retain-on-failure-and-retries'` values. See the [video modes table](https://playwright.dev/docs/test-use-options#video-modes) for which runs are recorded and kept in each mode. - Supported `expect.soft.poll(...)`. - New [fullConfig.argv](https://playwright.dev/docs/api/class-fullconfig#full-config-argv) — a snapshot of `process.argv` from the runner process, handy for reading custom arguments passed after the `--` separator. - New [fullConfig.failOnFlakyTests](https://playwright.dev/docs/api/class-fullconfig#full-config-fail-on-flaky-tests) mirrors the config option, so reporters can explain why a flaky run failed. - [testInfo.errors](https://playwright.dev/docs/api/class-testinfo#test-info-errors) now lists each sub-error of an `AggregateError` as a separate entry. - New `-G` command line shorthand for `--grep-invert`. #### 🛠️ Other improvements - Playwright now supports Ubuntu 26.04. - HAR and trace recordings now include WebSocket requests. #### Browser Versions - Chromium 149.0.7827.55 - Mozilla Firefox 151.0 - WebKit 26.5 This version was also tested against the following stable channels: - Google Chrome 149 - Microsoft Edge 149 </details> <details> <summary>react-grid-layout/react-draggable (react-draggable)</summary> ### [`v4.7.0`](https://github.com/react-grid-layout/react-draggable/blob/HEAD/CHANGELOG.md#470-Jun-18-2026) [Compare Source](https://github.com/react-grid-layout/react-draggable/compare/v4.6.0...v4.7.0) - Feature: add a `nonce` prop to support a strict Content Security Policy. It's applied to the dynamically-injected user-select `<style>` element so a `style-src` policy without `'unsafe-inline'` no longer blocks it. When omitted, webpack's `__webpack_nonce__` global is used if available. `enableUserSelectHack={false}` remains a no-prop opt-out. ([#&#8203;808](https://github.com/react-grid-layout/react-draggable/pull/808), closes [#&#8203;791](https://github.com/react-grid-layout/react-draggable/pull/791)) - Internal: de-duplicate redundant `tsc` compilation in the build/CI pipeline. </details> <details> <summary>react-hook-form/react-hook-form (react-hook-form)</summary> ### [`v7.80.0`](https://github.com/react-hook-form/react-hook-form/blob/HEAD/CHANGELOG.md#7800---2026-06-20) [Compare Source](https://github.com/react-hook-form/react-hook-form/compare/v7.79.0...v7.80.0) ##### Added - `disabled` prop support for individual fields within `useFieldArray` ##### Fixed - `deepEqual` incorrectly treating empty array `[]` and empty plain object `{}` as equal ##### Performance - Improve `onChange`, `setValid`, dirty checking, `setValue`, and `setValues` performance </details> <details> <summary>lovell/sharp (sharp)</summary> ### [`v0.35.2`](https://github.com/lovell/sharp/releases/tag/v0.35.2) [Compare Source](https://github.com/lovell/sharp/compare/v0.35.1...v0.35.2) - TypeScript: Add `mediaType` to metadata response. [#&#8203;4492](https://github.com/lovell/sharp/issues/4492) - Improve WebAssembly fallback detection. [#&#8203;4513](https://github.com/lovell/sharp/issues/4513) - Improve code bundler support with stub binaries. [#&#8203;4543](https://github.com/lovell/sharp/issues/4543) - Verify GIF `effort` option is an integer. [#&#8203;4544](https://github.com/lovell/sharp/pull/4544) [@&#8203;metsw24-max](https://github.com/metsw24-max) - Verify `recomb` matrix entries are numbers. [#&#8203;4545](https://github.com/lovell/sharp/pull/4545) [@&#8203;metsw24-max](https://github.com/metsw24-max) - TypeScript: Replace namespace with named exports for ESM. [#&#8203;4546](https://github.com/lovell/sharp/issues/4546) - Bound dilate and erode width to avoid mask-size overflow. [#&#8203;4548](https://github.com/lovell/sharp/pull/4548) [@&#8203;metsw24-max](https://github.com/metsw24-max) - Verify `convolve` kernel values are numbers. [#&#8203;4549](https://github.com/lovell/sharp/pull/4549) [@&#8203;metsw24-max](https://github.com/metsw24-max) </details> <details> <summary>stripe/stripe-node (stripe)</summary> ### [`v22.2.2`](https://github.com/stripe/stripe-node/blob/HEAD/CHANGELOG.md#2222---2026-06-18) [Compare Source](https://github.com/stripe/stripe-node/compare/v22.2.1...v22.2.2) - [#&#8203;2725](https://github.com/stripe/stripe-node/pull/2725) Fixes CJS type exports for stripe package (reported in [#&#8203;2683](https://github.com/stripe/stripe-node/issues/2683)) - [#&#8203;2758](https://github.com/stripe/stripe-node/pull/2758) Fix `Stripe.ErrorType.StripeError` incorrectly being usable as a runtime class (reported in [#&#8203;2661](https://github.com/stripe/stripe-node/issues/2661)) - [#&#8203;2753](https://github.com/stripe/stripe-node/pull/2753) handle shadowed namespaces (reported in [#&#8203;2691](https://github.com/stripe/stripe-node/issues/2691)) </details> <details> <summary>rolldown/tsdown (tsdown)</summary> ### [`v0.22.3`](https://github.com/rolldown/tsdown/releases/tag/v0.22.3) [Compare Source](https://github.com/rolldown/tsdown/compare/v0.22.2...v0.22.3) #####    🚨 Breaking Changes - Drop node 24.0 - 24.10 support  -  by [@&#8203;sxzz](https://github.com/sxzz) [<samp>(a2eac)</samp>](https://github.com/rolldown/tsdown/commit/a2eac3b) #####    🐞 Bug Fixes - Inline CI detection  -  by [@&#8203;sxzz](https://github.com/sxzz) [<samp>(bfc64)</samp>](https://github.com/rolldown/tsdown/commit/bfc649e) #####    🏎 Performance - **css**: Skip renderChunk when no CSS has been collected  -  by [@&#8203;ShMcK](https://github.com/ShMcK) in [#&#8203;967](https://github.com/rolldown/tsdown/issues/967) [<samp>(9f051)</samp>](https://github.com/rolldown/tsdown/commit/9f05179) #####     [View changes on GitHub](https://github.com/rolldown/tsdown/compare/v0.22.2...v0.22.3) </details> <details> <summary>nodejs/undici (undici)</summary> ### [`v8.5.0`](https://github.com/nodejs/undici/releases/tag/v8.5.0) [Compare Source](https://github.com/nodejs/undici/compare/v8.4.1...v8.5.0) ##### ⚠️ Security Release This release line addresses **8 security advisories**. Most are fixed in **v8.5.0**; the SOCKS5 pool-reuse issue was fixed earlier in **v8.2.0**. > **Action required:** Upgrade to **undici 8.5.0** or later. > > ```sh > npm install undici@^8.5.0 > ``` ##### Summary | Advisory | CVE | Severity (CVSS) | Fixed in | Fix commit | | ----------------------------------------------------------------------------------------------- | -------------- | --------------- | -------- | -------------------------------------------------------------- | | [GHSA-vxpw-j846-p89q](https://github.com/nodejs/undici/security/advisories/GHSA-vxpw-j846-p89q) | CVE-2026-12151 | High (7.5) | 8.5.0 | [`32dbf0b3`](https://github.com/nodejs/undici/commit/32dbf0b3) | | [GHSA-38rv-x7px-6hhq](https://github.com/nodejs/undici/security/advisories/GHSA-38rv-x7px-6hhq) | CVE-2026-9675 | High (7.5) | 8.5.0 | [`b4c287b3`](https://github.com/nodejs/undici/commit/b4c287b3) | | [GHSA-vmh5-mc38-953g](https://github.com/nodejs/undici/security/advisories/GHSA-vmh5-mc38-953g) | CVE-2026-9697 | High (7.4) | 8.5.0 | [`42d49559`](https://github.com/nodejs/undici/commit/42d49559) | | [GHSA-hm92-r4w5-c3mj](https://github.com/nodejs/undici/security/advisories/GHSA-hm92-r4w5-c3mj) | CVE-2026-6734 | High (7.5) | 8.2.0 | [`a516f870`](https://github.com/nodejs/undici/commit/a516f870) | | [GHSA-pr7r-676h-xcf6](https://github.com/nodejs/undici/security/advisories/GHSA-pr7r-676h-xcf6) | CVE-2026-9678 | Moderate (5.9) | 8.5.0 | [`cb105d7c`](https://github.com/nodejs/undici/commit/cb105d7c) | | [GHSA-p88m-4jfj-68fv](https://github.com/nodejs/undici/security/advisories/GHSA-p88m-4jfj-68fv) | CVE-2026-9679 | Moderate (5.9) | 8.5.0 | [`5655ea43`](https://github.com/nodejs/undici/commit/5655ea43) | | [GHSA-g8m3-5g58-fq7m](https://github.com/nodejs/undici/security/advisories/GHSA-g8m3-5g58-fq7m) | CVE-2026-11525 | Low (3.7) | 8.5.0 | [`5655ea43`](https://github.com/nodejs/undici/commit/5655ea43) | | [GHSA-35p6-xmwp-9g52](https://github.com/nodejs/undici/security/advisories/GHSA-35p6-xmwp-9g52) | CVE-2026-6733 | Low (3.7) | 8.5.0 | [`6ea54ef8`](https://github.com/nodejs/undici/commit/6ea54ef8) | *** ##### High severity ##### WebSocket DoS via fragment count bypass — CVE-2026-12151 **[GHSA-vxpw-j846-p89q](https://github.com/nodejs/undici/security/advisories/GHSA-vxpw-j846-p89q)** · CWE-400, CWE-770 **Fix:** [`32dbf0b3`](https://github.com/nodejs/undici/commit/32dbf0b3) *websocket: limit the number of fragments in a message* (also [`c5ed7875`](https://github.com/nodejs/undici/commit/c5ed7875) *handle empty fragments and stream limits*) A malicious WebSocket server can stream a large number of small or empty continuation frames. Undici enforced a limit on cumulative payload size but did not limit the *number* of fragments per message, leading to unbounded memory growth and denial of service. - **Affected:** applications using `new WebSocket(...)` or `WebSocketStream` against untrusted endpoints. - **Workaround:** none — upgrade is required. ##### WebSocket DoS via cumulative fragment bypass — CVE-2026-9675 **[GHSA-38rv-x7px-6hhq](https://github.com/nodejs/undici/security/advisories/GHSA-38rv-x7px-6hhq)** · CWE-400, CWE-770 **Fix:** [`b4c287b3`](https://github.com/nodejs/undici/commit/b4c287b3) *fix(websocket): enforce max payload size across fragments* Undici validated the size of individual frames but did not track cumulative size across a fragmented message. An attacker could send many small fragments that each pass per-frame validation but collectively exceed the configured limit, causing memory exhaustion. **This is a regression introduced in 8.1.0** (the 6.x and 7.x lines are not affected). - **Workaround:** none — upgrade is required. ##### TLS certificate validation bypass in SOCKS5 ProxyAgent — CVE-2026-9697 **[GHSA-vmh5-mc38-953g](https://github.com/nodejs/undici/security/advisories/GHSA-vmh5-mc38-953g)** · CWE-295 **Fix:** [`42d49559`](https://github.com/nodejs/undici/commit/42d49559) *fix: honor requestTls when proxy is SOCKS5* The `ProxyAgent` silently discarded the `requestTls` option when configured with a SOCKS5 proxy. TLS connections through the SOCKS5 tunnel ignored user-configured parameters such as `ca`, `cert`, `key`, `rejectUnauthorized`, and `servername`, falling back to the default Mozilla CA bundle. Applications relying on certificate pinning to an internal CA were exposed to man-in-the-middle attacks. - **Affected:** `ProxyAgent` / `Socks5ProxyAgent` over SOCKS5 that rely on `requestTls`. - **Workaround:** route traffic through an HTTP-proxy `ProxyAgent`, where `requestTls` functions correctly. ##### Cross-origin request routing via SOCKS5 proxy pool reuse — CVE-2026-6734 **[GHSA-hm92-r4w5-c3mj](https://github.com/nodejs/undici/security/advisories/GHSA-hm92-r4w5-c3mj)** · CWE-346 · **Fixed in 8.2.0** **Fix:** [`a516f870`](https://github.com/nodejs/undici/commit/a516f870) *fix(socks5-proxy-agent): use per-origin pools to prevent cross-origin routing* ([#&#8203;5041](https://github.com/nodejs/undici/pull/5041)) `Socks5ProxyAgent` reused a single connection pool across different origins without verifying the pool's origin matched the requested origin. This could route credentials and request data to unintended destinations, cause responses from the wrong origin to be trusted, and enable HTTPS→HTTP downgrade. - **Affected:** applications using `Socks5ProxyAgent` across multiple origins (introduced via [#&#8203;4385](https://github.com/nodejs/undici/pull/4385)). - **Workaround:** use a separate agent instance per origin. *** ##### Moderate severity ##### Cross-user information disclosure via shared cache whitespace bypass — CVE-2026-9678 **[GHSA-pr7r-676h-xcf6](https://github.com/nodejs/undici/security/advisories/GHSA-pr7r-676h-xcf6)** · CWE-524 **Fix:** [`cb105d7c`](https://github.com/nodejs/undici/commit/cb105d7c) *fix(cache): trim qualified field names* The cache interceptor mishandled responses with whitespace-padded `Cache-Control` directives such as `private=" authorization"`. In shared-cache mode this could cause authenticated data to be cached and served to other users. - **Affected:** apps using the cache interceptor in shared mode that forward `Authorization` upstream and receive non-canonical qualified directives. - **Workaround:** disable shared-cache mode for authenticated traffic, avoid caching authenticated responses, or add `Vary: Authorization` upstream. ##### HTTP header injection via Set-Cookie percent-decoding — CVE-2026-9679 **[GHSA-p88m-4jfj-68fv](https://github.com/nodejs/undici/security/advisories/GHSA-p88m-4jfj-68fv)** · CWE-93 **Fix:** [`5655ea43`](https://github.com/nodejs/undici/commit/5655ea43) *fix(cookies): preserve values and parse SameSite strictly* `parseSetCookie` applied percent-decoding to cookie values, turning encoded sequences like `%0D%0A` and `%00` into literal bytes, contrary to RFC 6265 §5.4 and browser behavior. Applications forwarding parsed Set-Cookie values into response headers were exposed to header injection, enabling session fixation, open redirects, and cache poisoning. Introduced in 7.0.0 via [#&#8203;3789](https://github.com/nodejs/undici/pull/3789). - **Workaround:** sanitize values before forwarding — strip or reject CR, LF, NUL, `;`, and `=`. *** ##### Low severity ##### Set-Cookie SameSite attribute downgrade — CVE-2026-11525 **[GHSA-g8m3-5g58-fq7m](https://github.com/nodejs/undici/security/advisories/GHSA-g8m3-5g58-fq7m)** · CWE-183 **Fix:** [`5655ea43`](https://github.com/nodejs/undici/commit/5655ea43) *fix(cookies): preserve values and parse SameSite strictly* The cookie parser accepted `SameSite` values containing `Strict`, `Lax`, or `None` as substrings rather than requiring exact matches per RFC 6265. Values like `SameSite=NoneOfYourBusiness` parsed as `None`, and `SameSite=StrictLax` parsed as `Lax`, silently weakening cookie security policies for apps that forward parsed attributes. ##### HTTP response queue poisoning via keep-alive socket reuse — CVE-2026-6733 **[GHSA-35p6-xmwp-9g52](https://github.com/nodejs/undici/security/advisories/GHSA-35p6-xmwp-9g52)** · CWE-367 (TOCTOU race condition) **Fix:** [`6ea54ef8`](https://github.com/nodejs/undici/commit/6ea54ef8) *fix: guard idle socket validation to skip fresh sockets*, hardened by [`c9fbe9d2`](https://github.com/nodejs/undici/commit/c9fbe9d2) *keep idle validation on native timers* ([#&#8203;5397](https://github.com/nodejs/undici/pull/5397)) and [`ac5394b8`](https://github.com/nodejs/undici/commit/ac5394b8) *keep idle validation on global timers* ([#&#8203;5407](https://github.com/nodejs/undici/pull/5407)) An attacker controlling an upstream HTTP/1.1 server could inject unsolicited responses onto idle keep-alive sockets. On socket reuse, the injected response was associated with a new request, delivering responses to the wrong requests. - **Requirements:** attacker-controlled/compromised upstream and active keep-alive reuse. - **Workaround:** disable keep-alive reuse with `keepAliveTimeout: 0` on the Client or Pool. *** ##### Also in v8.5.0 (non-security) v8.5.0 shipped the security fixes above alongside the following changes. **These are not security fixes** — they are listed for completeness of the release. (The two queue-poisoning hardening PRs, [#&#8203;5397](https://github.com/nodejs/undici/pull/5397) and [#&#8203;5407](https://github.com/nodejs/undici/pull/5407), are covered under CVE-2026-6733 above and are not repeated here.) - **HTTP/2:** [`#5408`](https://github.com/nodejs/undici/pull/5408) don't rewind `kPendingIdx` past in-flight requests · [`#5391`](https://github.com/nodejs/undici/pull/5391) allow h2 POST request multiplexing · [`#5406`](https://github.com/nodejs/undici/pull/5406) reap idle HTTP/2 sessions · [`#5410`](https://github.com/nodejs/undici/pull/5410) preserve h2 queue on out-of-order completion - **Features:** [`#5416`](https://github.com/nodejs/undici/pull/5416) add `bodyMixin.textStream()` · [`#5418`](https://github.com/nodejs/undici/pull/5418) align EventSource with spec - **Docs / CI / tests:** [`#5413`](https://github.com/nodejs/undici/pull/5413) document request header validation · [`#5383`](https://github.com/nodejs/undici/pull/5383) absorb h2 stream timeout resets (test) · [`#5420`](https://github.com/nodejs/undici/pull/5420) remove stale repro + lint · [`#5426`](https://github.com/nodejs/undici/pull/5426) extend Windows CI timeout · [`#5427`](https://github.com/nodejs/undici/pull/5427) detect available python in WPT runner Full changelog: [`v8.4.1...v8.5.0`](https://github.com/nodejs/undici/compare/v8.4.1...v8.5.0). *** ##### Credits Per-advisory credits (as recorded in each GHSA): - **CVE-2026-12151** — reported by [@&#8203;lpinca](https://github.com/lpinca) & [@&#8203;Nadav0077](https://github.com/Nadav0077); reviewed by [@&#8203;UlisesGascon](https://github.com/UlisesGascon). - **CVE-2026-9675** — reported by [@&#8203;mauriceng98](https://github.com/mauriceng98) & [@&#8203;Str1ckl4nd](https://github.com/Str1ckl4nd); fixed by [@&#8203;mcollina](https://github.com/mcollina) & [@&#8203;KhafraDev](https://github.com/KhafraDev); reviewed by [@&#8203;UlisesGascon](https://github.com/UlisesGascon). - **CVE-2026-9697** — reported by [@&#8203;tonghuaroot](https://github.com/tonghuaroot); reviewed by [@&#8203;UlisesGascon](https://github.com/UlisesGascon). - **CVE-2026-6734** — reported by [@&#8203;ChALkeR](https://github.com/ChALkeR); reviewed by [@&#8203;mcollina](https://github.com/mcollina); verified by [@&#8203;UlisesGascon](https://github.com/UlisesGascon). - **CVE-2026-9678** — fixed by [@&#8203;mcollina](https://github.com/mcollina); reviewed by [@&#8203;UlisesGascon](https://github.com/UlisesGascon). - **CVE-2026-9679** — reported by [@&#8203;tndud042713](https://github.com/tndud042713); fixed by [@&#8203;mcollina](https://github.com/mcollina); reviewed by [@&#8203;KhafraDev](https://github.com/KhafraDev) & [@&#8203;UlisesGascon](https://github.com/UlisesGascon). - **CVE-2026-11525** — fixed by [@&#8203;mcollina](https://github.com/mcollina); reviewed by [@&#8203;UlisesGascon](https://github.com/UlisesGascon). - **CVE-2026-6733** — fixed by [@&#8203;mcollina](https://github.com/mcollina); verified by [@&#8203;UlisesGascon](https://github.com/UlisesGascon). </details> <details> <summary>vitest-dev/vitest (vitest)</summary> ### [`v4.1.9`](https://github.com/vitest-dev/vitest/releases/tag/v4.1.9) [Compare Source](https://github.com/vitest-dev/vitest/compare/v4.1.8...v4.1.9) ##### 🐞 Bug Fixes - Fix `importOriginal` with optimizer and query import \[backport to v4] - by **Hiroshi Ogawa**, **David Harris**, **Codex**and **Vladimir** in [#&#8203;10546](https://github.com/vitest-dev/vitest/issues/10546) [<samp>(a5180)</samp>](https://github.com/vitest-dev/vitest/commit/a5180190c) - **browser**: - Wait for orchestrator readiness before resolving browser sessions \[backport to v4] - by **Vladimir** and **Séamus O'Connor** in [#&#8203;10555](https://github.com/vitest-dev/vitest/issues/10555) [<samp>(7fb29)</samp>](https://github.com/vitest-dev/vitest/commit/7fb29651a) - Wait for iframe tester readiness before preparing \[backport to v4] - by **Vladimir** and **Séamus O'Connor** in [#&#8203;10497](https://github.com/vitest-dev/vitest/issues/10497) and [#&#8203;10556](https://github.com/vitest-dev/vitest/issues/10556) [<samp>(fbc62)</samp>](https://github.com/vitest-dev/vitest/commit/fbc626c40) - **mocker**: - Hoist vi.mock() for vite-plus/test imports \[backport to v4] - by **Hiroshi Ogawa**, **LongYinan**, **Claude Opus 4.8** and **Vladimir** in [#&#8203;10548](https://github.com/vitest-dev/vitest/issues/10548) [<samp>(2c955)</samp>](https://github.com/vitest-dev/vitest/commit/2c9559c02) - **pool**: - Prevent test run hang on worker crash \[backport to v4] - by **Ari Perkkiö** and **Jattioui Ismail** in [#&#8203;10543](https://github.com/vitest-dev/vitest/issues/10543) and [#&#8203;10564](https://github.com/vitest-dev/vitest/issues/10564) [<samp>(934b0)</samp>](https://github.com/vitest-dev/vitest/commit/934b0f587) ##### [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.1.8...v4.1.9) </details> --- ### Configuration 📅 **Schedule**: (in timezone Europe/Berlin) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](undefined) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMjQuMCIsInVwZGF0ZWRJblZlciI6IjQzLjIzNC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
isityael force-pushed renovate/karakeep-app-runtime-patch-minor from ed7a8b7026
Some checks failed
renovate/artifacts Artifact file update failure
ci/woodpecker/pr/karakeep Pipeline failed
to b1a4f2d658
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
2026-06-17 09:27:16 +00:00
Compare
isityael force-pushed renovate/karakeep-app-runtime-patch-minor from b1a4f2d658
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
to 0eb020290f
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
2026-06-17 11:28:52 +00:00
Compare
isityael force-pushed renovate/karakeep-app-runtime-patch-minor from 0eb020290f
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
to 982cea39c3
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
2026-06-17 13:31:23 +00:00
Compare
isityael force-pushed renovate/karakeep-app-runtime-patch-minor from 982cea39c3
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
to 0305fe92a3
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
2026-06-17 17:18:07 +00:00
Compare
isityael force-pushed renovate/karakeep-app-runtime-patch-minor from 0305fe92a3
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
to a167ae163c
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
2026-06-17 19:31:09 +00:00
Compare
isityael force-pushed renovate/karakeep-app-runtime-patch-minor from a167ae163c
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
to a2dcf85b6f
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
2026-06-17 23:44:36 +00:00
Compare
isityael force-pushed renovate/karakeep-app-runtime-patch-minor from a2dcf85b6f
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
to f7a79509cd
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
2026-06-18 02:30:20 +00:00
Compare
isityael force-pushed renovate/karakeep-app-runtime-patch-minor from f7a79509cd
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
to 7c6fb13e52
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
2026-06-18 03:31:30 +00:00
Compare
isityael force-pushed renovate/karakeep-app-runtime-patch-minor from 7c6fb13e52
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
to 7bb58376cc
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
2026-06-18 07:27:53 +00:00
Compare
isityael force-pushed renovate/karakeep-app-runtime-patch-minor from 7bb58376cc
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
to a99db02dd8
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
2026-06-18 17:27:46 +00:00
Compare
isityael force-pushed renovate/karakeep-app-runtime-patch-minor from a99db02dd8
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
to 4cbf71d817
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
2026-06-18 19:29:22 +00:00
Compare
isityael force-pushed renovate/karakeep-app-runtime-patch-minor from 4cbf71d817
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
to 682b0fb3bc
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
2026-06-18 22:28:24 +00:00
Compare
isityael force-pushed renovate/karakeep-app-runtime-patch-minor from 682b0fb3bc
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
to 9fdfb7e975
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
2026-06-19 08:31:55 +00:00
Compare
isityael force-pushed renovate/karakeep-app-runtime-patch-minor from 9fdfb7e975
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
to 3863df8509
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
2026-06-19 10:30:45 +00:00
Compare
isityael force-pushed renovate/karakeep-app-runtime-patch-minor from 3863df8509
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
to 9c4b23d847
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
2026-06-19 14:27:05 +00:00
Compare
isityael force-pushed renovate/karakeep-app-runtime-patch-minor from 9c4b23d847
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
to 7696886b6c
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
2026-06-19 19:26:53 +00:00
Compare
isityael force-pushed renovate/karakeep-app-runtime-patch-minor from 7696886b6c
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
to 791fe16883
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
2026-06-20 01:27:06 +00:00
Compare
isityael force-pushed renovate/karakeep-app-runtime-patch-minor from 791fe16883
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
to b914551222
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
2026-06-20 07:27:07 +00:00
Compare
isityael force-pushed renovate/karakeep-app-runtime-patch-minor from b914551222
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
to 714be0d7b5
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
2026-06-20 19:27:50 +00:00
Compare
isityael force-pushed renovate/karakeep-app-runtime-patch-minor from 714be0d7b5
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
to 030f3cc574
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
2026-06-20 20:26:56 +00:00
Compare
isityael force-pushed renovate/karakeep-app-runtime-patch-minor from 030f3cc574
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
to 4b75f88d3b
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
2026-06-20 23:27:24 +00:00
Compare
isityael force-pushed renovate/karakeep-app-runtime-patch-minor from 4b75f88d3b
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
to 63252e68e6
Some checks failed
ci/woodpecker/pr/karakeep Pipeline was canceled
2026-06-21 01:28:33 +00:00
Compare
isityael force-pushed renovate/karakeep-app-runtime-patch-minor from 63252e68e6
Some checks failed
ci/woodpecker/pr/karakeep Pipeline was canceled
to 5586c57f60
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
2026-06-21 03:26:51 +00:00
Compare
isityael force-pushed renovate/karakeep-app-runtime-patch-minor from 5586c57f60
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
to f05ec189c4
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
2026-06-21 11:28:32 +00:00
Compare
isityael force-pushed renovate/karakeep-app-runtime-patch-minor from f05ec189c4
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
to a24d44849f
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
2026-06-21 12:27:05 +00:00
Compare
isityael force-pushed renovate/karakeep-app-runtime-patch-minor from a24d44849f
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
to 9913799300
Some checks failed
ci/woodpecker/pr/karakeep Pipeline was canceled
2026-06-21 13:28:01 +00:00
Compare
isityael force-pushed renovate/karakeep-app-runtime-patch-minor from 9913799300
Some checks failed
ci/woodpecker/pr/karakeep Pipeline was canceled
to 15c21f2029
Some checks failed
ci/woodpecker/pr/karakeep Pipeline was canceled
2026-06-21 18:13:50 +00:00
Compare
isityael force-pushed renovate/karakeep-app-runtime-patch-minor from 15c21f2029
Some checks failed
ci/woodpecker/pr/karakeep Pipeline was canceled
to 2bc2a87161
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
2026-06-21 19:23:09 +00:00
Compare
isityael force-pushed renovate/karakeep-app-runtime-patch-minor from 2bc2a87161
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
to ccc5afdcf5
Some checks failed
ci/woodpecker/pr/karakeep Pipeline failed
2026-06-21 19:55:54 +00:00
Compare
isityael deleted branch renovate/karakeep-app-runtime-patch-minor 2026-06-21 20:42:00 +00:00
Sign in to join this conversation.
No description provided.