Update all non-major dependencies #16

Open
andras wants to merge 1 commit from renovate/all into main
Owner

This PR contains the following updates:

Package Type Update Change
@plausible-analytics/tracker (source) dependencies patch 0.4.5 → 0.4.7
@playwright/test (source) devDependencies minor 1.60.0 → 1.64.1
@types/node (source) devDependencies minor 25.6.0 → 25.9.9
@vite-pwa/assets-generator devDependencies patch 1.0.2 → 1.0.4
@webgpu/types devDependencies patch 0.1.69 → 0.1.74
browserslist devDependencies minor 4.28.2 → 4.29.5
eslint (source) devDependencies minor 10.3.0 → 10.14.0
globals devDependencies minor 17.6.0 → 17.14.0
knip (source) devDependencies minor 6.14.1 → 6.44.1
lightningcss devDependencies minor 1.32.0 → 1.33.0
node (source) minor 22.13.0 → 22.23.4
prettier (source) devDependencies minor 3.8.3 → 3.9.10
sass devDependencies minor 1.99.0 → 1.107.1
typescript-eslint (source) devDependencies minor 8.59.1 → 8.72.1
vite (source) devDependencies minor 8.0.10 → 8.3.5
vite-plugin-singlefile (source) devDependencies patch 2.3.3 → 2.3.4
vitest (source) devDependencies patch 4.1.5 → 4.1.12

Release Notes

plausible/analytics (@​plausible-analytics/tracker)

v0.4.7

Compare Source

v0.4.6

Compare Source

microsoft/playwright (@​playwright/test)

v1.64.1

Compare Source

Bug Fixes
  • #​43247 [Bug]: _electron.launch intermittently loses a packaged app's first window since 1.64.0
  • #​43242 [Regression]: Chromium 155+ aborts a preflighted cross-origin redirect whenever any route is registered (net::ERR_ABORTED)

v1.64.0

Compare Source

🧰 WebMCP

New page.webmcp and frame.webmcp give access to the tools that a page registers through the experimental WebMCP browser API, so you can test them like any other part of your app:

const browser = await chromium.launch({ args: ['--enable-features=WebMCP'] });
const page = await browser.newPage();
await page.goto('https://example.com');

for (const tool of await page.webmcp.tools())
  console.log(tool.name, tool.description);

const result = await page.webmcp.callTool('add', { a: 2, b: 40 });
console.log(result.content[0].text); // "42"

Playwright MCP also supports WebMCP by default, with page-defined tools offered to the agent as webmcp_<tool>. Pass --no-webmcp to opt out.

playwright-cli exposes them as well:

playwright-cli webmcp-list
playwright-cli webmcp-call search_catalog --params '{"query":"cats"}'

🎬 Better videos

Videos can now be recorded at a custom frame rate, and the decorations for actions are styled with plain CSS:

// playwright.config.ts
import { defineConfig } from '@playwright/test';

export default defineConfig({
  use: {
    video: {
      mode: 'on',
      size: { width: 1920, height: 1080 },
      fps: 60,
      show: {
        actions: {
          style: {
            point: 'width: 20px; height: 20px; border-radius: 50%; background: red',
            highlight: 'outline: 2px solid #&#8203;333; background: rgba(0, 128, 255, .15)',
            title: 'font-size: 16px',
          },
        },
      },
    },
  },
});
  • New fps option in testOptions.video, recordVideo and
    screencast.start(). Firefox and WebKit currently capture up to 25 frames per second.
  • New style option takes CSS declarations for the point marker, the target
    highlight and the action title. It replaces the fontSize option, which is now deprecated.
  • The cursor stays visible at the last action point, survives navigations and travels along a natural, eased path.
  • Videos are encoded with VP9 instead of VP8, which takes less CPU and produces smaller files of the same or better
    quality.
  • All video options are also available in Playwright MCP and playwright-cli.

🎯 Test runner

  • New testProject.default option keeps a project in the config without running it by default. You can configure every browser you care about, and let a plain npx playwright test run just your favourite one:

    // playwright.config.ts
    import { defineConfig, devices } from '@playwright/test';
    
    export default defineConfig({
      projects: [
        { name: 'chromium', use: devices['Desktop Chrome'] },
        { name: 'firefox', use: devices['Desktop Firefox'], default: false },
        { name: 'webkit', use: devices['Desktop Safari'], default: false },
      ],
    });
    
    npx playwright test                     # runs chromium only
    npx playwright test --project=firefox   # runs firefox
    npx playwright test --project="*"       # runs all three, for example on CI
    
  • New --shuffle command line option schedules tests in a random order, which helps to find tests that accidentally depend on each other.

    npx playwright test --shuffle
    # Running 42 tests using 4 workers, shuffle seed 271828182
    # ...
    
    # Pass the seed to reproduce the same order.
    npx playwright test --shuffle 271828182
    
  • New lock option in test.describe.configure() adds test locks to all tests in a file or a group:

    test.describe.configure({ lock: 'user-settings' });
    
  • New type option of toHaveScreenshot in testConfig.expect stores all unnamed screenshots as WebP:

    // playwright.config.ts
    export default defineConfig({
      expect: {
        toHaveScreenshot: { type: 'webp' },
      },
    });
    

🪆 Locator.within()

New locator.within() combines two locators that you already have, reading in the natural order —
"this button, within that dialog":

const saveButton = page.getByRole('button', { name: 'Save' });
const dialog = page.getByTestId('settings-dialog');

await saveButton.within(dialog).click();

Relative locators such as locator.nth() or locator.first() are resolved inside each parent
separately, which makes column-like queries straightforward:

// The third cell of every row, not the third cell in the table.
const thirdColumn = page.getByRole('cell').nth(2).within(page.getByRole('row'));
await expect(thirdColumn).toHaveText(['Apple', 'Banana', 'Cherry']);

New APIs

Breaking changes ⚠️

  • screen property is now forwarded from the device descriptors. If you use ...devices['Desktop Chrome'] and alike, window.screen and media queries now see the emulated screen size. You can opt-out by explicitly setting screen to undefined:

    // playwright.config.ts
    export default defineConfig({
      use: {
        ...devices['Desktop Chrome'],
        screen: undefined,
      },
    });
    
  • JSX in your test files now follows your tsconfig.json. Playwright compiles JSX in test files according to the jsx, jsxFactory, jsxFragmentFactory and jsxImportSource tsconfig options, and defaults to the automatic runtime from react/jsx-runtime.

  • --update-snapshots=missing now passes the test run. Tests that only create missing snapshots now pass in the 'missing' mode of testConfig.updateSnapshots, so that CI can generate new snapshots and verify the existing ones in a single run. The mode used when the option is not specified is now called 'default' and behaves as before: missing snapshots are written and the test fails.

  • Elements inside hidden iframes are considered hidden. Elements inside an iframe that is not visible, for example with visibility: hidden, are now considered hidden by actions, locator.isVisible() and expect(locator).toBeVisible().

Browser Versions

  • Chromium 156.0.8078.4
  • Mozilla Firefox 157.0
  • WebKit 27.2

This version was also tested against the following stable channels:

  • Google Chrome 155
  • Microsoft Edge 155

v1.63.0

Compare Source

🔒 Test locks

Tests that access a shared resource — an external service, a global account setting — can now declare a named lock.
Tests that share a lock name never run concurrently, across files, workers and projects, while
everything else keeps running in parallel:

test('update user settings', { lock: 'user-settings' }, async ({ page }) => {
  // never runs at the same time as other tests holding 'user-settings'
});

A test can hold multiple locks, and test.describe() accepts a lock for the whole group.
Learn more about test locks.

🪟 Locate across frames

page.frameLocator() and frame.frameLocator() called without a selector search in any frame of the
subtree, so you no longer need to locate the iframe first:

// Finds the button in any frame on the page.
await page.frameLocator().getByRole('button').click();

The rest of the locator resolves inside a single frame, just like a regular locator, and an error is thrown when it
matches elements in several frames.

👁️ Visible-only locators

New locator.visible() returns a locator that matches only visible elements. It is the recommended
replacement for the :visible CSS pseudo-class:

await page.locator('button').visible().click();

🧾 Step params and subtitles

Steps now carry structured data for reporters. Playwright API steps report the target locator and call arguments,
and test.step() accepts subtitle and params options for your own steps:

await test.step('Login', async () => {
  // ...
}, { subtitle: 'as admin', params: { user: 'admin' } });

Reporters receive them via testStep.subtitle and testStep.params. For Playwright API
steps, the subtitle is the locator or the navigation url — for example, Click with subtitle getByRole('button').
Both are rendered next to the step title in the trace viewer and the HTML report.

🖼️ Aria and screen snapshots in traces

The snapshots option of tracing.start() and the testOptions.trace fixture option now accept an
object selecting what to capture on every action:

// playwright.config.ts
export default defineConfig({
  use: {
    trace: {
      mode: 'on',
      snapshots: { dom: true, aria: true, screen: true }
    },
  },
});

With aria and screen snapshots recorded, the new Display Aria mode in the trace viewer shows the action screenshot
side by side with the aria snapshot, and hovering an aria node highlights it on the screenshot.

New APIs

Browser and Context
Locators
const response = await request.get<User>('/api/users/42');
const user = await response.json(); // typed as User
Test runner
  • New standalone testOptions.reducedMotion, testOptions.forcedColors and testOptions.contrast options.
  • New --add-reporter command line option appends a reporter on top of the ones configured in playwright.config, instead of replacing them like --reporter does.
  • New omitTags option for the list, line, dot, github and junit reporters suppresses the tags that are automatically appended to test titles.
Command line
  • npx playwright install --no-remove keeps the browsers of other Playwright installations instead of removing them.
  • npx playwright codegen --http-credentials records against pages behind HTTP authentication.
Miscellaneous
  • New built-in perfetto reporter writes a Trace Event Format file for the Perfetto UI or chrome://tracing, rendering the test run as a timeline with a lane per worker.
  • The HTML report renders a duration waterfall next to test steps.

Announcements

  • ⚠️ The experimental @playwright/experimental-ct-react, @playwright/experimental-ct-react17 and @playwright/experimental-ct-vue packages will no longer be updated. Follow the migration guide to move to the stories model introduced in 1.62. Story ids passed to fixtures.mount() can now be typed through the generated Stories registry.
  • ⚠️ Ubuntu 20.04 is not supported anymore.
  • 🐧 On Linux arm64, Playwright now downloads the Chrome for Testing build of Chromium, the same build used on all other platforms.

Browser Versions

  • Chromium 153.0.8010.12
  • Mozilla Firefox 155.0
  • WebKit 26.6

This version was also tested against the following stable channels:

  • Google Chrome 153
  • Microsoft Edge 153

v1.62.1

Compare Source

Bug Fixes
  • #​41989 [Regression]: tsconfig "extends" bare specifier isn't resolved via node_modules walk-up like tsc (fatal since 1.62)
  • #​41998 [Regression]: directory-form tsconfig project references ("path": "../pkg") fail to resolve (fatal since 1.62)
  • #​41985 Accessibility snapshot drops button name when text is nested inside spans with aria-hidden SVG
  • #​42000 [Regression]: page.evaluate() arg of a branded primitive type (string & { brand }) no longer type-checks since 1.62
  • #​42013 [BUG]Image-type actionable elements are not presented in the snapshot.

v1.62.0

Compare Source

🧱 New component testing model

Component testing moves to a stories and galleries model.
A story wraps your component in one specific scenario — hard-coded props, mock data, providers — and a gallery page that you serve renders stories on demand.
The new fixtures.mount() fixture navigates to the gallery, mounts a story by id, and returns a Locator scoped to the story's root element:

test('click should expand', async ({ mount }) => {
  const component = await mount('components/Expandable/Stateful');
  await component.getByRole('button').click();
  await expect(component.getByTestId('expanded')).toHaveValue('true');
});

Pass a story type as a template argument to type-check its props, and use update(props) / unmount() on the returned locator to re-render or tear down within a test.

🛑 Cancel operations with AbortSignal

Most operations and web-first assertions now accept a signal option that takes an AbortSignal, letting you cancel long-running actions, navigations, waits, and assertions:

const controller = new AbortController();
setTimeout(() => controller.abort(), 1000);

await page.getByRole('button', { name: 'Submit' }).click({ signal: controller.signal });
await expect(page.getByText('Done')).toBeVisible({ signal: controller.signal });

Providing a signal does not disable the default timeout; pass timeout: 0 to disable it.

🖼️ WebP screenshots

expect(page).toHaveScreenshot() and expect(locator).toHaveScreenshot() can now store snapshots in the WebP format — just give the snapshot a .webp name:

// Visual comparisons store the golden snapshot as lossless WebP.
await expect(page).toHaveScreenshot('homepage.webp');

// Standalone screenshots can trade quality for size with lossy WebP.
await page.screenshot({ path: 'homepage.webp', quality: 50 });

page.screenshot() and [locator.screenshot() (https://playwright.dev/docs/api/class-locator#locator-screenshot) also accept webp as a type, where quality 100 (the default) is lossless and lower values use lossy compression.

🧩 Custom test filtering with Reporter.preprocess()

New reporter.preprocess() hook runs after the configuration is resolved and before reporter.onBegin(), letting a reporter mark individual tests as skipped, excluded, fixed, or failing through a TestRun object:

class MyReporter {
  async preprocess({ config, suite, testRun }) {
    for (const test of suite.allTests()) {
      if (shouldSkip(test))
        testRun.skip(test);
    }
  }
}

🔁 Isolated retries

New testConfig.retryStrategy controls when failed tests are retried.
The default 'immediate' retries as soon as a worker is free; 'isolated' runs all retries at the end, one by one in a single worker, to minimize interference with the rest of the suite:

// playwright.config.ts
export default defineConfig({
  retries: 2,
  retryStrategy: 'isolated',
});

New APIs

Browser and Context
  • New option credentials includes the context's virtual WebAuthn Credentials (passkeys) in the storage state, so they can be persisted and re-seeded into later contexts.
Actions
  • New scroll option ("auto" | "none") on actions to opt out of Playwright's automatic scroll-into-view.
Network
Evaluation
Command line & MCP
Reporters
  • The HTML report's Merge files grouping — previously only a UI toggle — can now be enabled from the config with the new mergeFiles reporter option:
// playwright.config.ts
export default defineConfig({
  reporter: [['html', { mergeFiles: true }]],
});

Announcements

  • ⚠️ Debian 11 is not supported anymore.

Browser Versions

  • Chromium 151.0.7922.34
  • Mozilla Firefox 153.0
  • WebKit 26.5

This version was also tested against the following stable channels:

  • Google Chrome 151
  • Microsoft Edge 151

v1.61.1

Compare Source

Bug Fixes
  • #​41365 [Bug]: Expect.Extend matcher with same name as default matcher in same expect instance overrides default matchers implementation to custom matcher
  • #​41351 [Bug]: Playwright UI mode: apiRequestContext._wrapApiCall reports unexpected number of bytes (same test passes in headed mode)
  • #​41360 [Bug]: Trace viewer: message times in websockets are downscaled by 1000
  • #​41311 [Bug]: [Regression]: Sync loader throws "context.conditions?.includes is not a function" on Node 22.15
  • #​41371 [Regression]: Sync ESM loader (registerHooks) fails to resolve extensionless .ts subpath imports across pnpm workspace symlinks

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
vite-pwa/assets-generator (@​vite-pwa/assets-generator)

v1.0.4

Compare Source

   🚀 Features
    View changes on GitHub

v1.0.3

Compare Source

   🐞 Bug Fixes
    View changes on GitHub
gpuweb/types (@​webgpu/types)

v0.1.74

Compare Source

v0.1.73

Compare Source

v0.1.72

Compare Source

v0.1.71

Compare Source

v0.1.70

Compare Source

browserslist/browserslist (browserslist)

v4.29.5

Compare Source

v4.29.4

Compare Source

  • Fixed joined version bounds in version ray and range queries (by @​ybai08).
  • Fixed whitespaces processing (by @​abhu85).

v4.29.3

Compare Source

  • Updated Firefox ESR.

v4.29.2

Compare Source

  • Fixed ignoring null usage in cover X in Y query (by @​wahidrizka).

v4.29.1

Compare Source

v4.29.0

Compare Source

  • Added query continuations across lines and array entries (by @​fzlzjerry).

v4.28.9

Compare Source

v4.28.8

Compare Source

  • Fixed including kaios in baseline queries (by @​Jaybhade).

v4.28.7

Compare Source

v4.28.6

Compare Source

v4.28.5

Compare Source

v4.28.4

Compare Source

  • Fixed SyntaxError regression of 4.28.3.

v4.28.3

Compare Source

  • Fixed baseline query case-insensitivity (by @​swwind).
eslint/eslint (eslint)

v10.14.0

Compare Source

Features

  • d23a7f9 feat: fix property descriptor handling in func-name-matching (#​21400) (xbinaryx)

Bug Fixes

Documentation

  • 0f94f47 docs: remove zh-hans from docs language switcher (#​21437) (lumir)
  • dab466e docs: Update README (GitHub Actions Bot)
  • 97431f8 docs: replace --rulesdir with a virtual plugin in custom rules docs (#​21452) (Pixel)
  • 7697550 docs: Update README (GitHub Actions Bot)
  • 0c699d5 docs: Remove Tidelift commercial support (#​21416) (Milos Djermanovic)
  • 0880666 docs: update loadESLint() documentation for v10 (#​21374) (Minseon Kim)
  • e06fe87 docs: Revise AI acknowledgment options in PR template (#​21414) (Nicholas C. Zakas)

Chores

  • 0e2ab70 ci: disable eslint-plugin-unicorn ecosystem test (#​21462) (Francesco Trotta)
  • 6e3f988 chore: update github/codeql-action action to v4.39.1 (#​21450) (renovate[bot])
  • a031c40 chore: update ecosystem plugins (#​21445) (ESLint Bot)
  • 67d2ca2 chore: add troubleshooting page URL to circular fixes warning message (#​21429) (Milos Djermanovic)
  • 276021d chore: update github/codeql-action action to v4.39.0 (#​21432) (renovate[bot])
  • 449724e chore: update ecosystem plugins (#​21420) (ESLint Bot)
  • 8ffeb8c chore: update dependency prettier to v3.9.10 (#​21417) (renovate[bot])

v10.13.0

Compare Source

Features

  • 48d5cc4 feat: report references inside IIFEs in no-use-before-define (#​21238) (Irfan fandi)
  • a39d9fb feat: add globalThis to no-obj-calls (#​21382) (synthex-byte)
  • 66ac583 feat: check yield* expressions in no-unsafe-optional-chaining (#​21399) (xbinaryx)

Bug Fixes

  • 87bd2ce fix: avoid redeclared let when no-var and one-var fix together (#​21389) (Daniel Pinto)

Documentation

  • 4783a68 docs: Update README (GitHub Actions Bot)
  • 43f0ac9 docs: clarify parameter description in getText (#​21287) (lumir)

Chores

v10.12.0

Compare Source

Features

  • 4618052 feat: handle astral letters in new-cap (#​21357) (sary)
  • 4ec5168 feat: allow SourceCode#getText() to accept tokens and comments (#​21340) (electrohyun)

Bug Fixes

  • bc51eee fix: prefer-arrow-callback false positive in conditional test (#​21373) (Daniel Pinto)
  • bbff86c fix: skip lines with multiple comments in max-lines-per-function (#​21332) (xbinaryx)
  • efc4d6b fix: astral letters in consistent-return, no-eval, no-invalid-this (#​21360) (lumir)
  • 93de066 fix: prefer-exponentiation-operator autofix for async function base (#​21322) (Vladimir Babin)
  • 02e34ff fix: add missing space after else in curly autofix (#​21355) (Pixel)
  • b14b8bc fix: correct id-length message for long private names (#​21348) (Pixel)
  • 69aac01 fix: support TSFunctionType in getFunctionHeadLoc (#​21335) (xbinaryx)
  • 686630e fix: no-loss-of-precision false positive with 0.e5 (#​21337) (sethamus)

Documentation

  • 67eb586 docs: Update README (GitHub Actions Bot)
  • 5370d7e docs: clarify one-var separateRequires matches any require() call (#​21192) (sethamus)
  • 8816c1d docs: Update README (GitHub Actions Bot)
  • 3d2e7ce docs: fix typo in no-unused-expressions documentation (#​21346) (bytedoe)

Chores

  • 152067f chore: update ecosystem plugins (#​21362) (ESLint Bot)
  • b56d58e chore: update github/codeql-action action to v4.38.2 (#​21376) (renovate[bot])
  • bfaea12 perf: cache normalized config globals per languageOptions (#​21364) (James Ross)
  • 322209e ci: avoid Nx cache in ecosystem tests and disable failing test (#​21369) (Francesco Trotta)
  • d166567 chore: update dependency prettier to v3.9.9 (#​21371) (renovate[bot])
  • 29585ce chore: update dependency eslint-plugin-expect-type to ^0.7.0 (#​21359) (renovate[bot])
  • 39d79ba chore: update github/codeql-action action to v4.38.1 (#​21354) (renovate[bot])
  • 182a6e9 chore: update dependency prettier to v3.9.8 (#​21352) (renovate[bot])
  • f995127 chore: remove CLAUDE.md in favor of AGENTS.md (#​21339) (Jarren)
  • b95fb6c chore: update dependency prettier to v3.9.7 (#​21347) (renovate[bot])
  • 3782dd4 chore: update ecosystem plugins (#​21342) (ESLint Bot)

v10.11.0

Compare Source

Features

  • d136fa4 feat: object-shorthand handle quoted properties for ignoreConstructors (#​21271) (Pavel)
  • 397b3b8 feat: report unsafe labeled continue in no-unsafe-finally rule (#​21316) (electrohyun)
  • d3dd47f feat: only exempt new-cap built-ins that reference the global (#​21290) (sethamus)

Bug Fixes

  • 22b09f5 fix: ignore __proto__ properties in prefer-object-spread (#​21311) (xbinaryx)
  • b684bb1 fix: make TimePass.parse optional in types and docs (#​21313) (ntnyq)
  • 26d11bc fix: don't report __proto__ properties in object-shorthand (#​21310) (xbinaryx)

Documentation

  • 9ecfdc5 docs: note that --cache can serve stale results for cross-file rules (#​21312) (bytedoe)
  • 6c789ff docs: Update README (GitHub Actions Bot)
  • 5997825 docs: clarify preserve-caught-error known limitation (#​21294) (Akinyemi Toluwalase)

Chores

  • 520dd77 perf: Implement fast paths in critical areas (#​21210) (Nicholas C. Zakas)
  • 92086c8 test: update EMFILE error generation for Node.js 26.9.0 compatibility (#​21330) (Francesco Trotta)
  • 9ac7eb6 chore: update github/codeql-action action to v4.38.0 (#​21331) (renovate[bot])
  • 24310e3 chore: update ecosystem plugins (#​21324) (ESLint Bot)
  • 45ad79e ci: bump pnpm/action-setup from 6.0.10 to 6.1.0 (#​21318) (dependabot[bot])
  • ac74e37 chore: Add AGENTS.md with AI disclosure requirements (#​21221) (Nicholas C. Zakas)
  • c832660 chore: Upgrade Stylelint to the latest version in docs (#​21245) (Jung Hyeon Jun)
  • f9f88fc chore: update ecosystem plugins (#​21308) (ESLint Bot)
  • fc81076 ci: add more types integration tests (#​20395) (Nitin Kumar)

v10.10.0

Compare Source

Features

  • 264b434 feat: add d and v flags to no-unexpected-multiline (#​21305) (Gihyeon Jeong / 정기현)
  • c6cc6c5 feat: check Object.prototype property names in new-cap (#​21269) (crimsonjay0)
  • 5661fa6 feat: no-extra-bind false negatives with class fields and static blocks (#​21260) (synthex-byte)

Bug Fixes

  • bb47dc6 fix: update dependency file-entry-cache to v11 (#​20801) (Milos Djermanovic)
  • 427ac0a fix: use format strings in debug calls (#​21247) (Francesco Trotta)
  • 9d81532 fix: support __proto__ in /* exported */ comments (#​21261) (sethamus)
  • 87e0a08 fix: prefer-object-has-own autofix breaks when Object is shadowed (#​21282) (김채영)
  • 8e2cb14 fix: new-cap false positive for UTC calls with properties: false (#​21275) (Pixel)
  • 9f4a364 fix: Ignore static imports in no-unreachable (#​21276) (Taha Kotil)

Documentation

  • 2417cad docs: Update README (GitHub Actions Bot)
  • 9cecb8a docs: document \c control letter escapes in no-control-regex (#​21286) (한국)
  • 8724829 docs: update compat table links (#​21263) (fnx)
  • 5634542 docs: Clarify eqeqeq suggestion behavior (#​21256) (Müslüm Yılmaz)

Chores

v10.9.1

Compare Source

Bug Fixes

  • 1e641c9 fix: no-loss-of-precision false positive with trailing decimal point (#​21251) (Aleksandr Shoronov)

Documentation

  • ad74a8d docs: add deprecation steps for EOL package versions (#​21248) (Francesco Trotta)

Chores

v10.9.0

Compare Source

Features

  • 08de88e feat: handle underflow in no-loss-of-precision (#​21218) (Rithish S)
  • 55db479 feat: add checkConditionalExpressions to no-unmodified-loop-condition (#​21175) (sethamus)

Bug Fixes

  • 2ba3025 fix: prevent unsafe no-var autofix with hoisted functions (#​21213) (sethamus)
  • 8e69622 fix: Prevent no-var autofix when var is shadowed by catch parameter (#​21204) (Yang Hyeonjong)
  • 684b579 fix: prefer-template invalid autofix creates a tagged template call (#​21207) (김채영)

Documentation

  • 9ef407a docs: use eslint.config.* wherever config file names are listed (#​21216) (Marry (Subin Yang))
  • 87f66f4 docs: Update README (GitHub Actions Bot)
  • 585ef37 docs: update architecture documentation (#​21112) (Francesco Trotta)
  • f3993b0 docs: Update README (GitHub Actions Bot)
  • ffc87d6 docs: fix broken links in Further Reading sections (#​21203) (Minsu)
  • 1a761e1 docs: update moved JSX specification links (#​21198) (Imran Mustafa)
  • 4d00ca4 docs: update ESLint peer dependency to ^10.0.0 in shareable configs (#​21202) (lumir)
  • 510d1a2 docs: Update README (GitHub Actions Bot)

Chores

v10.8.1

Compare Source

Bug Fixes

  • 18eb0a7 fix: prevent ASI hazard in no-unused-labels autofix (#​21173) (dongkyu lee)
  • 151ba3f fix: false positives in getter-return and accessor-pairs (#​21163) (Grit)
  • 6898df9 fix: ignore meta-property names in id-denylist (#​21166) (Pixel)
  • 4d7db66 fix: ignore meta-property names in id-match (#​21167) (Pixel)
  • 677214e fix: handle ASI hazards in no-unused-vars removeVar suggestion (#​20935) (kuldeep kumar)

Documentation

  • 7d0cbf8 docs: Update README (GitHub Actions Bot)
  • 0a05812 docs: add missing backticks to no-duplicate-imports.js (#​21183) (Lee Daeun)
  • 678c90b docs: Update README (GitHub Actions Bot)
  • 8a10424 docs: Update README (GitHub Actions Bot)
  • 69bb948 docs: Update README (GitHub Actions Bot)

Chores

v10.8.0

Compare Source

Features

Bug Fixes

  • 6b8d2f7 fix: escape reserved characters in rule id in html formatter (#​21129) (Francesco Trotta)
  • 9091071 fix: prevent no-unreachable-loop crash when all loop types are ignored (#​21116) (Pixel)
  • e23fafe fix: prefer-object-spread add semicolon when adding parenthesis (#​21081) (synthex-byte)
  • 20b5ad0 fix: quadratic-time regex in prefer-template (#​21096) (Milos Djermanovic)
  • 8b6f6c0 fix: apply ignore configs to computed methods in class-methods-use-this (#​21094) (Pixel)
  • b2c608c fix: NewExpression with parenthesized callee in preserve-caught-error (#​21083) (Francesco Trotta)

Documentation

  • 6ddf858 docs: fix broken Specify Parser Options anchor link (#​21106) (Minsu)
  • 784dfbe docs: Clarify no-eq-null description (#​21120) (Park Harin)
  • 7ec733a docs: Fix typos and grammar in glossary (#​21095) (Marry (Subin Yang))
  • 92bb13f docs: replace quake link (#​21108) (Jung Hyeon Jun)
  • 68eb4a5 docs: fix broken Specify Globals anchor links in rule pages (#​21103) (Minsu)
  • d28f697 docs: replace Code Climate CLI links with Qlty CLI links (#​21099) (Jung Hyeon Jun)
  • eccc68d docs: correct --suppressions-location option description (#​21093) (Ga eun Lee)
  • c5963f7 docs: Update README (GitHub Actions Bot)

Chores

  • 4fbf46d test: pin webpack version to 5.108.4 (#​21137) (Francesco Trotta)
  • 2d063e2 chore: update HTTP URLs to HTTPS in JSDoc and comments (#​21101) (Bo Hyun Kim)
  • eccbe7b test: add error locations to no-class-assign (#​21123) (devoil)
  • e7d1e43 ci: bump actions/setup-go from 6 to 7 (#​21118) (dependabot[bot])
  • e9d66d0 ci: bump actions/setup-node from 6 to 7 (#​21119) (dependabot[bot])
  • ee225b6 test: Add error location details to no-eq-null rule (#​21117) (Park Harin)
  • 044a627 chore: update minimatch to ^10.2.5 (#​21107) (김채영)
  • fb09aa8 chore: update ecosystem plugins (#​21115) (ESLint Bot)
  • 5abd878 test: add error locations to no-proto (#​21114) (Gihyeon Jeong / 정기현)
  • 9715887 test: Add error location details to no-div-regex (#​21110) (Park Harin)
  • a746ec6 test: add error locations to no-new-wrappers (#​21109) (Gihyeon Jeong / 정기현)
  • 8dde645 test: add error locations to no-ex-assign (#​21102) (devoil)
  • 13ab0ec test: add error locations to no-label-var (#​21098) (Gihyeon Jeong / 정기현)
  • a99906f test: Add error location details to no-delete-var rule (#​21105) (Park Harin)
  • c47e8dc chore: add missing backticks to languages/js/index.js (#​21104) (beeen)
  • 0174428 chore: add missing backticks to translate-cli-options.js (#​21097) (dongkyu lee)
  • 3d36589 chore: add missing backticks to serialization.js (#​21091) (이규환)
  • dcc9312 test: add error locations to eqeqeq (#​21090) (Ga eun Lee)
  • 2710b18 ci: Add explicit permissions to rebuild-docs-sites workflow (#​21089) (Marry (Subin Yang))
  • 5d2f866 chore: update dependency prettier to v3.9.5 (#​21086) (renovate[bot])
  • d584e31 chore: fix failing ecosystem test for eslint-plugin-unicorn (#​21084) (Francesco Trotta)
  • bf3eda0 chore: update ecosystem plugins (#​21079) (ESLint Bot)

v10.7.0

Compare Source

Features

  • cf2a9bf feat: add errorClassNames option to preserve-caught-error rule (#​21032) (sethamus)
  • f8b873a feat: max-nested-callbacks option for constructor callbacks (#​21063) (fnx)
  • 557fde8 feat: support computed Number.parseInt member access in radix rule (#​21041) (Pixel)
  • 0b4a73b feat: add suggestions to no-compare-neg-zero (#​21034) (den$)
  • 96cdd42 feat: report invalid signed numeric radix values in radix rule (#​21030) (Pixel)

Bug Fixes

  • 3e7bf15 fix: apply ignoreClassesWithImplements to class expressions (#​21069) (Pixel)
  • 0d7d70c fix: insert cause outside wrapping parens in preserve-caught-error (#​21062) (Mahin Anowar)
  • 75ec753 fix: handle static template literals in eqeqeq rule (#​21058) (Pixel)
  • b717a22 fix: prevent eqeqeq null option from reporting non-equality operators (#​21057) (Pixel)
  • e35b05f fix: avoid no-invalid-regexp false positive for shadowed RegExp (#​21051) (Pixel)
  • a3172b6 fix: avoid no-control-regex false positive for shadowed RegExp (#​21050) (Pixel)
  • d1f637e fix: parenthesize sequence expression operands in no-implicit-coercion (#​21045) (spokodev)
  • 8859baf fix: avoid prefer-numeric-literals false positive for shadowed globals (#​21047) (한국)
  • a9e5961 fix: use-isnan false positive on shadowed NaN/Number (#​20958) (sethamus)
  • 8a240a7 fix: avoid false positives in radix rule for spread arguments (#​21044) (Pixel)

Documentation

  • c30d808 docs: Update README (GitHub Actions Bot)
  • 5139800 docs: document ESLint migration codemods in v9 and v10 guides (#​20980) (Alex Bit)
  • 04174cb docs: Update README (GitHub Actions Bot)
  • 026e130 docs: update semver policy for bug fixes (#​21048) (Milos Djermanovic)
  • 9d42fef docs: Update README (GitHub Actions Bot)
  • b230159 docs: Update README (GitHub Actions Bot)
  • 0129972 docs: correct **/.js glob to **/*.js in config files guide (#​21036) (EduardF1)

Chores

v10.6.0

Compare Source

Features

  • b1f9106 feat: detect Symbol() and BigInt() in no-constant-binary-expression (#​20981) (Taejin Kim)
  • f291007 feat: add checkRelationalComparisons to no-constant-binary-expression (#​20948) (sethamus)

Bug Fixes

  • 6b05784 fix: prefer-exponentiation-operator invalid autofix at statement start (#​20997) (Milos Djermanovic)
  • bb9eb2a fix: account for shadowed Boolean in no-extra-boolean-cast (#​21013) (den$)
  • 8fd8741 fix: don't report shadowed undefined in radix rule (#​21011) (Pixel)
  • 5784980 fix: don't report shadowed undefined in no-throw-literal (#​21010) (Pixel)
  • 9cd1e6d fix: suppress invalid class suggestion in no-promise-executor-return (#​21008) (Pixel)
  • d4eb2dc fix: don't report shadowed undefined in prefer-promise-reject-errors (#​21006) (Pixel)
  • 2360464 fix: prefer-promise-reject-errors false positives for shadowed Promise (#​21003) (den$)
  • 63d52d2 fix: restore max-classes-per-file report range (#​21002) (Pixel)
  • 7feaff0 fix: callback detection logic for IIFEs in max-nested-callbacks (#​20979) (fnx)
  • 399a2ec fix: don't report inner non-callbacks in max-nested-callbacks (#​20995) (Milos Djermanovic)

Documentation

  • a83683d docs: Update README (GitHub Actions Bot)
  • f5449f9 docs: document userland patterns for global assertionOptions in RuleT… (#​20986) (playgirl)
  • bea49f7 docs: Update README (GitHub Actions Bot)
  • e5f70f9 docs: update code-path diagrams (#​20984) (Tanuj Kanti)
  • 8890c2d docs: add TypeScript config guidance for MCP server (#​20796) (Pierluigi Lenoci)
  • 3eb3d9b docs: Update README (GitHub Actions Bot)
  • c5bb59c docs: Update README (GitHub Actions Bot)
  • eb3c97c docs: fix grammar in prefer-const rule description (#​20983) (lumir)

Chores

v10.5.0

Compare Source

Features

  • 5ca8c52 feat: correct stack tracking in max-nested-callbacks (#​20973) (Pixel998)
  • b565783 feat: report no-with violations at the with keyword (#​20971) (Pixel998)
  • 2ce032f feat: report max-lines-per-function violations at function head (#​20966) (Pixel998)
  • 732cb3e feat: report max-nested-callbacks violations at function head (#​20967) (Pixel998)
  • f9c138a feat: report max-depth violations on keywords (#​20943) (Pixel998)
  • bdb496c feat: correct max-depth handling for else-if chains (#​20944) (Pixel998)
  • c296873 feat: update error loc in max-statements to function header (#​20907) (Taejin Kim)

Documentation

  • 8ae1b5b docs: Update README (GitHub Actions Bot)
  • ca7eb90 docs: update Node.js prerequisites to include ICU support (#​20962) (Francesco Trotta)
  • f99b47a docs: Update README (GitHub Actions Bot)
  • acf03d4 docs: clarify precedence of parserOptions over languageOptions (#​20926) (sethamus)

Chores

v10.4.1

Compare Source

Bug Fixes

  • e557467 fix: update @eslint/plugin-kit version to 0.7.2 (#​20930) (Francesco Trotta)
  • d4ce898 fix: propagate failures from delegated commands (#​20917) (Minh Vu)
  • f4f3507 fix: prefer-arrow-callback invalid autofix with newline after async (#​20916) (kuldeep kumar)
  • c5bc78b fix: false positive for reference in finally block (#​20655) (Tanuj Kanti)
  • 27538c0 fix: add missing CodePath and CodePathSegment types (#​20853) (Pixel998)

Documentation

  • 61b0add docs: remove deprecated rule from related rules of max-params (#​20921) (Tanuj Kanti)
  • 305d5b9 docs: remove deprecated rules from related rules section (#​20911) (Tanuj Kanti)
  • 49b0202 docs: fix display: none of ad (#​20901) (Tanuj Kanti)
  • 9067f94 docs: switch build to Node.js 24 (#​20893) (Milos Djermanovic)
  • c91b041 docs: Update README (GitHub Actions Bot)
  • e349265 docs: clarify semver strings in rule deprecation objects (#​20885) (Milos Djermanovic)

Chores

v10.4.0

Compare Source

Features

  • 1a45ec5 feat: check sequence expressions in for-direction (#​20701) (kuldeep kumar)
  • 450040b feat: add includeIgnoreFile() to eslint/config (#​20735) (Kirk Waiblinger)

Bug Fixes

Documentation

  • 7e52a71 docs: add mention of @eslint-react/eslint-plugin (#​20869) (Pavel)
  • db3468b docs: tweak wording around ambiguous CJS-vs-ESM config (#​20865) (Kirk Waiblinger)
  • 9084664 docs: Update README (GitHub Actions Bot)
  • 9cc7387 docs: Update README (GitHub Actions Bot)
  • 3d7b548 docs: Update README (GitHub Actions Bot)
  • 191ec3c docs: Update README (GitHub Actions Bot)

Chores

  • 6616856 chore: upgrade knip to v6 (#​20875) (Pixel998)
  • d13b084 ci: ensure auto-created PRs run CI (#​20860) (lumir)
  • e71c7af ci: bump pnpm/action-setup from 6.0.5 to 6.0.7 (#​20862) (dependabot[bot])
  • d84393d test: add unit tests for SuppressionsService.applySuppressions() (#​20863) (kuldeep kumar)
  • 24db8cb test: add tests for SuppressionsService.save() (#​20802) (kuldeep kumar)
  • 2ef0549 chore: update ecosystem plugins (#​20857) (github-actions[bot])
  • a429791 ci: remove eslint-webpack-plugin types integration test (#​20668) (Milos Djermanovic)
  • 9e37386 chore: replace recast with range approach in code-sample-minimizer (#​20682) (Copilot)
  • 0dd1f9f test: disable warning for vm.constants.USE_MAIN_CONTEXT_DEFAULT_LOADER (#​20845) (Francesco Trotta)
  • 9da3c7b refactor: remove deprecated meta.language and migrate meta.dialects (#​20716) (Pixel998)
  • 2099ed1 refactor: add meta.defaultOptions to more rules, enable linting (#​20800) (xbinaryx)
  • f1dfbc9 chore: update ecosystem plugins (#​20836) (github-actions[bot])
  • c759413 ci: bump pnpm/action-setup from 6.0.3 to 6.0.5 (#​20843) (dependabot[bot])
  • 5b817d6 test: add unit tests for lib/shared/ast-utils (#​20838) (kuldeep kumar)
  • 1c13ae3 test: add unit tests for lib/shared/severity (#​20835) (kuldeep kumar)
sindresorhus/globals (globals)

v17.14.0

Compare Source


v17.13.0

Compare Source


v17.12.0

Compare Source


v17.11.0

Compare Source


v17.10.0

Compare Source


v17.9.0

Compare Source


v17.8.0

Compare Source


v17.7.0

Compare Source


webpro-nl/knip (knip)

v6.44.1: Release 6.44.1

Compare Source

v6.44.0: Release 6.44.0

Compare Source

  • Clarify that custom entry still adds entry files from package.json (#​2206) (4099dde) - thanks @​MannXo!
  • Resolve expanded package scripts against the directory of their manifest (#​2209) (9d8464d) - thanks @​fixfon!
  • Track exports through namespace member chains of any depth (#​2210) (7569702) - thanks @​fixfon!
  • Do not treat Windows drive letters as package names (#​2217) (d412c5b) - thanks @​Cherry!
  • Generate built-in compilers list from source (#​2216) (d6f594c) - thanks @​abrahamguo!
  • Update to pnpm@^11 + pnpm dedupe (ef5b819)
  • Stop growing and rewriting the analysis cache on warm runs (close #​2213) (54b02dd)
  • Use entry in plugins that do not resolve their config files (0b0e328)
  • Reuse graph reachability for incremental sessions (#​2190) (38d926a) - thanks @​jakeleventhal!
  • fix: reload discovered configuration in watch sessions (#​2211) (cefef30) - thanks @​jakeleventhal!
  • Keep editor sessions and views current (#​2215) (cfe91ab) - thanks @​jakeleventhal!
  • Add Lingui plugin (#​2212) (611e7db) - thanks @​clean99!
  • Update dependency bun to v1.4.4 (#​2219) (3f35bbd) - thanks @​renovate[bot]!
  • Read CSpell configuration from package.json (#​2228) (86ab963) - thanks @​clean99!
  • Ignore file discovery order in session configuration test (51a8d33)
  • Fix strict mode for caught optional peer imports (#​2218) (e535f40) - thanks @​jay23606!
  • Add kysely-codegen plugin (#​2223) (a50e842) - thanks @​clean99!
  • Add PurgeCSS plugin (#​2224) (668aea6) - thanks @​clean99!
  • Document plugin args and path bases, issue key order and real-world fixes (8e48df6)
  • Add Mastra plugin (#​2227) (dd4e1f7) - thanks @​ashokram-si!
  • Count findPackageJSON() bare specifiers as dependencies (#​2235) (d4e387b) - thanks @​abrahamguo!
  • Add universal hooks file to SvelteKit entries (#​2237) (f286584) - thanks @​APX403!
  • Attribute extended tsconfig plugins correctly (#​2230) (8d1d1d1) - thanks @​gioboa!
  • Resolve reporter in the Mocha plugin (#​2232) (c413715) - thanks @​X-Guardian!
  • Read nyc.config.cjs and nyc.config.mjs in the nyc plugin (#​2240) (724c3c9) - thanks @​SwastikTripathi!
  • Read hidden .biome.json and .biome.jsonc in the Biome plugin (#​2239) (dde22a7) - thanks @​SwastikTripathi!
  • fix: narrow Remix plugin enabler to @​remix-run/dev (#​2242) (5e10c52) - thanks @​gioboa!
  • Document alsoReferenceOwner on Input (387e97f)
  • Document path bases and the dir option per input type (98180d3)
  • Emit the Gatsby production entries from resolveConfig (c224f16)
  • Emit the TanStack Router entry files from resolveConfig (c2598a3)
  • Discover Marko tag files when only marko-tag.json files exist (c264697)
  • Remove the static public/sw.js production entry from the vite-plugin-pwa plugin (b3f9a56)
  • Keep absolute build.lib.entry paths in the Vitest plugin (5d974fa)
  • Resolve Vite alias targets from the workspace without prefixing absolute paths (8f93e9d)
  • Keep absolute testDir paths in the Playwright plugin (4e3e6b3)
  • Keep absolute stories paths in the Storybook plugin (321decc)
  • Resolve an absolute basePath in the Karma plugin (64e8b1b)
  • Keep absolute local plugin paths in the Docusaurus plugin (058930d)
  • Keep absolute local plugin paths in the Serverless Framework plugin (0176d78)
  • Resolve Nx run-commands cwd from the workspace root (39c08aa)
  • Resolve package specifiers in Marko tag definitions (168ee52)
  • Keep absolute include paths in the Taskfile plugin (7945ec1)
  • Resolve Lefthook root from the repository root (f28fae6)
  • Pass specifiers with dir instead of absolutizing them in the webpack, Nx and textlint plugins (1ad804d)
  • Drop redundant relative calls on entry patterns in the rstest and Marko plugins (9096f25)
  • Use toAbsolute in the Jasmine, Lunaria and electron-vite plugins (b4266ef)
  • Mark inputs from the start script as production (2fb1024)
  • Mark inputs from scripts in production files as production (af469e9)
  • Apply directory gitignore patterns to static-only globs (efe514f)
  • Glob plugin config files once per workspace (b515677)
  • Resolve Mocha require and file from the working directory (c6850eb)
  • Cover the owning workspace of jsxImportSource in the tsconfig plugins test (0442096)
  • List nyc.config.{js,cjs,mjs} in the nyc plugin example (671e5fb)
  • Fold agent lessons into the tracked guides (e6cbfe3)
  • Ignore development script inputs that the start script repeats in production mode (15cd870)
  • Resolve Taskfile script entry patterns from the workspace directory (2730ffa)
  • Resolve plugin entry patterns from dir (6df9c4e)
  • Add GitHub Actions working-directory fixtures for mocha spec patterns (95efd3a)
  • Pin the scope of negations and workspace exclusions for plugin entry patterns with dir (2070464)
  • Parse GitHub Actions step scripts against their working directory (98d0b98)
  • Parse MCP server commands against their cwd (381e3e3)
  • Let core resolve script entries from dir in the Playwright, Railway and mise plugins (5d10668)
  • Add --output-file option to write reporter output to a file (#​2243) (1a58eb5) - thanks @​X-Guardian!
  • Treat packageExtensions peers as optional (#​2246) (e118ef4) - thanks @​gioboa!
  • Support pnpm workspace config includes (#​2238) (acbbbf5) - thanks @​gioboa!
  • Detect SWC plugins in options set directly on a webpack rule (#​2252) (624da93) - thanks @​fixfon!
  • Escape pipes in symbols in the markdown reporter (#​2254) (153ba1e) - thanks @​NgoQuocViet2001!
  • More than two hundred plugins (e68eaa5)
  • Update dependencies (8b06f9a)

v6.43.0: Release 6.43.0

Compare Source

v6.42.1: Release 6.42.1

Compare Source

v6.42.0: Release 6.42.0

Compare Source

v6.41.0: Release 6.41.0

Compare Source

v6.40.0: Release 6.40.0

Compare Source

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [@plausible-analytics/tracker](https://plausible.io) ([source](https://github.com/plausible/analytics)) | dependencies | patch | [`0.4.5` → `0.4.7`](https://renovatebot.com/diffs/npm/@plausible-analytics%2ftracker/0.4.5/0.4.7) | | [@playwright/test](https://playwright.dev) ([source](https://github.com/microsoft/playwright)) | devDependencies | minor | [`1.60.0` → `1.64.1`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.60.0/1.64.1) | | [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | devDependencies | minor | [`25.6.0` → `25.9.9`](https://renovatebot.com/diffs/npm/@types%2fnode/25.6.0/25.9.9) | | [@vite-pwa/assets-generator](https://github.com/vite-pwa/assets-generator) | devDependencies | patch | [`1.0.2` → `1.0.4`](https://renovatebot.com/diffs/npm/@vite-pwa%2fassets-generator/1.0.2/1.0.4) | | [@webgpu/types](https://github.com/gpuweb/types) | devDependencies | patch | [`0.1.69` → `0.1.74`](https://renovatebot.com/diffs/npm/@webgpu%2ftypes/0.1.69/0.1.74) | | [browserslist](https://github.com/browserslist/browserslist) | devDependencies | minor | [`4.28.2` → `4.29.5`](https://renovatebot.com/diffs/npm/browserslist/4.28.2/4.29.5) | | [eslint](https://eslint.org) ([source](https://github.com/eslint/eslint)) | devDependencies | minor | [`10.3.0` → `10.14.0`](https://renovatebot.com/diffs/npm/eslint/10.3.0/10.14.0) | | [globals](https://github.com/sindresorhus/globals) | devDependencies | minor | [`17.6.0` → `17.14.0`](https://renovatebot.com/diffs/npm/globals/17.6.0/17.14.0) | | [knip](https://knip.dev) ([source](https://github.com/webpro-nl/knip/tree/HEAD/packages/knip)) | devDependencies | minor | [`6.14.1` → `6.44.1`](https://renovatebot.com/diffs/npm/knip/6.14.1/6.44.1) | | [lightningcss](https://github.com/parcel-bundler/lightningcss) | devDependencies | minor | [`1.32.0` → `1.33.0`](https://renovatebot.com/diffs/npm/lightningcss/1.32.0/1.33.0) | | [node](https://nodejs.org) ([source](https://github.com/nodejs/node)) | | minor | `22.13.0` → `22.23.4` | | [prettier](https://prettier.io) ([source](https://github.com/prettier/prettier)) | devDependencies | minor | [`3.8.3` → `3.9.10`](https://renovatebot.com/diffs/npm/prettier/3.8.3/3.9.10) | | [sass](https://github.com/sass/dart-sass) | devDependencies | minor | [`1.99.0` → `1.107.1`](https://renovatebot.com/diffs/npm/sass/1.99.0/1.107.1) | | [typescript-eslint](https://typescript-eslint.io/packages/typescript-eslint) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint)) | devDependencies | minor | [`8.59.1` → `8.72.1`](https://renovatebot.com/diffs/npm/typescript-eslint/8.59.1/8.72.1) | | [vite](https://vite.dev) ([source](https://github.com/vitejs/vite/tree/HEAD/packages/vite)) | devDependencies | minor | [`8.0.10` → `8.3.5`](https://renovatebot.com/diffs/npm/vite/8.0.10/8.3.5) | | [vite-plugin-singlefile](https://github.com/richardtallent/vite-plugin-singlefile/tree/main/#readme) ([source](https://github.com/richardtallent/vite-plugin-singlefile)) | devDependencies | patch | [`2.3.3` → `2.3.4`](https://renovatebot.com/diffs/npm/vite-plugin-singlefile/2.3.3/2.3.4) | | [vitest](https://vitest.dev) ([source](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest)) | devDependencies | patch | [`4.1.5` → `4.1.12`](https://renovatebot.com/diffs/npm/vitest/4.1.5/4.1.12) | --- ### Release Notes <details> <summary>plausible/analytics (@&#8203;plausible-analytics/tracker)</summary> ### [`v0.4.7`](https://github.com/plausible/analytics/compare/607f3c733fd068ed58fc7bed3385a47c755adb06...6c062a1c6da21f85d2394568c043035a1723750f) [Compare Source](https://github.com/plausible/analytics/compare/607f3c733fd068ed58fc7bed3385a47c755adb06...6c062a1c6da21f85d2394568c043035a1723750f) ### [`v0.4.6`](https://github.com/plausible/analytics/compare/49448f5b16a5923ce06b200833a04de0e037b5e9...607f3c733fd068ed58fc7bed3385a47c755adb06) [Compare Source](https://github.com/plausible/analytics/compare/49448f5b16a5923ce06b200833a04de0e037b5e9...607f3c733fd068ed58fc7bed3385a47c755adb06) </details> <details> <summary>microsoft/playwright (@&#8203;playwright/test)</summary> ### [`v1.64.1`](https://github.com/microsoft/playwright/releases/tag/v1.64.1) [Compare Source](https://github.com/microsoft/playwright/compare/v1.64.0...v1.64.1) ##### Bug Fixes - [#&#8203;43247](https://github.com/microsoft/playwright/issues/43247) \[Bug]: \_electron.launch intermittently loses a packaged app's first window since 1.64.0 - [#&#8203;43242](https://github.com/microsoft/playwright/issues/43242) \[Regression]: Chromium 155+ aborts a preflighted cross-origin redirect whenever any route is registered (net::ERR_ABORTED) ### [`v1.64.0`](https://github.com/microsoft/playwright/releases/tag/v1.64.0) [Compare Source](https://github.com/microsoft/playwright/compare/v1.63.0...v1.64.0) #### 🧰 WebMCP New [page.webmcp](https://playwright.dev/docs/api/class-page#page-webmcp) and [frame.webmcp](https://playwright.dev/docs/api/class-frame#frame-webmcp) give access to the tools that a page registers through the experimental [WebMCP](https://playwright.dev/docs/api/class-webmcp) browser API, so you can test them like any other part of your app: ```js const browser = await chromium.launch({ args: ['--enable-features=WebMCP'] }); const page = await browser.newPage(); await page.goto('https://example.com'); for (const tool of await page.webmcp.tools()) console.log(tool.name, tool.description); const result = await page.webmcp.callTool('add', { a: 2, b: 40 }); console.log(result.content[0].text); // "42" ``` [Playwright MCP](https://playwright.dev/docs/getting-started-mcp) also supports WebMCP by default, with page-defined tools offered to the agent as `webmcp_<tool>`. Pass `--no-webmcp` to opt out. [`playwright-cli`](https://playwright.dev/docs/getting-started-cli) exposes them as well: ```bash playwright-cli webmcp-list playwright-cli webmcp-call search_catalog --params '{"query":"cats"}' ``` #### 🎬 Better videos Videos can now be recorded at a custom frame rate, and the decorations for actions are styled with plain CSS: ```js // playwright.config.ts import { defineConfig } from '@playwright/test'; export default defineConfig({ use: { video: { mode: 'on', size: { width: 1920, height: 1080 }, fps: 60, show: { actions: { style: { point: 'width: 20px; height: 20px; border-radius: 50%; background: red', highlight: 'outline: 2px solid #&#8203;333; background: rgba(0, 128, 255, .15)', title: 'font-size: 16px', }, }, }, }, }, }); ``` - New `fps` option in [testOptions.video](https://playwright.dev/docs/api/class-testoptions#test-options-video), [`recordVideo`](https://playwright.dev/docs/api/class-browser#browser-new-context-option-record-video) and [screencast.start()](https://playwright.dev/docs/api/class-screencast#screencast-start). Firefox and WebKit currently capture up to 25 frames per second. - New [`style`](https://playwright.dev/docs/api/class-screencast#screencast-show-actions-option-style) option takes CSS declarations for the `point` marker, the target `highlight` and the action `title`. It replaces the `fontSize` option, which is now deprecated. - The cursor stays visible at the last action point, survives navigations and travels along a natural, eased path. - Videos are encoded with VP9 instead of VP8, which takes less CPU and produces smaller files of the same or better quality. - All video options are also available in [Playwright MCP](https://playwright.dev/docs/getting-started-mcp) and [`playwright-cli`](https://playwright.dev/docs/getting-started-cli). #### 🎯 Test runner - New [testProject.default](https://playwright.dev/docs/api/class-testproject#test-project-default) option keeps a project in the config without running it by default. You can configure every browser you care about, and let a plain `npx playwright test` run just your favourite one: ```js // playwright.config.ts import { defineConfig, devices } from '@playwright/test'; export default defineConfig({ projects: [ { name: 'chromium', use: devices['Desktop Chrome'] }, { name: 'firefox', use: devices['Desktop Firefox'], default: false }, { name: 'webkit', use: devices['Desktop Safari'], default: false }, ], }); ``` ```bash npx playwright test # runs chromium only npx playwright test --project=firefox # runs firefox npx playwright test --project="*" # runs all three, for example on CI ``` - New `--shuffle` command line option schedules tests in a random order, which helps to find tests that accidentally depend on each other. ```bash npx playwright test --shuffle # Running 42 tests using 4 workers, shuffle seed 271828182 # ... # Pass the seed to reproduce the same order. npx playwright test --shuffle 271828182 ``` - New `lock` option in [test.describe.configure()](https://playwright.dev/docs/api/class-test#test-describe-configure) adds [test locks](https://playwright.dev/docs/test-parallel#test-locks) to all tests in a file or a group: ```js test.describe.configure({ lock: 'user-settings' }); ``` - New `type` option of `toHaveScreenshot` in [testConfig.expect](https://playwright.dev/docs/api/class-testconfig#test-config-expect) stores all unnamed screenshots as WebP: ```js // playwright.config.ts export default defineConfig({ expect: { toHaveScreenshot: { type: 'webp' }, }, }); ``` #### 🪆 Locator.within() New [locator.within()](https://playwright.dev/docs/api/class-locator#locator-within) combines two locators that you already have, reading in the natural order — "this button, within that dialog": ```js const saveButton = page.getByRole('button', { name: 'Save' }); const dialog = page.getByTestId('settings-dialog'); await saveButton.within(dialog).click(); ``` Relative locators such as [locator.nth()](https://playwright.dev/docs/api/class-locator#locator-nth) or [locator.first()](https://playwright.dev/docs/api/class-locator#locator-first) are resolved inside each parent separately, which makes column-like queries straightforward: ```js // The third cell of every row, not the third cell in the table. const thirdColumn = page.getByRole('cell').nth(2).within(page.getByRole('row')); await expect(thirdColumn).toHaveText(['Apple', 'Banana', 'Cherry']); ``` #### New APIs - New [page.getByRef()](https://playwright.dev/docs/api/class-page#page-get-by-ref) locates an element by its aria ref, such as `e2`, reported by [page.ariaSnapshot()](https://playwright.dev/docs/api/class-page#page-aria-snapshot) in the `'ai'` mode. - New option [`includeShadow`](https://playwright.dev/docs/api/class-page#page-content-option-include-shadow) in [page.content()](https://playwright.dev/docs/api/class-page#page-content) and [frame.content()](https://playwright.dev/docs/api/class-frame#frame-content) serializes open shadow roots as [declarative shadow DOM](https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_shadow_DOM#declaratively_with_html). - New option [`signCount`](https://playwright.dev/docs/api/class-credentials#credentials-create-option-sign-count) sets the initial signature counter of a virtual credential. [credentials.create()](https://playwright.dev/docs/api/class-credentials#credentials-create) and [credentials.get()](https://playwright.dev/docs/api/class-credentials#credentials-get) return the current `signCount`, and it is saved and restored together with the credentials in the storage state. - New [fullConfig.filteredProjects](https://playwright.dev/docs/api/class-fullconfig#full-config-filtered-projects) lists the projects that were selected to run after applying the `--project` filter. It is available in global setup and reporters. - New [apiRequestContext.addCookies()](https://playwright.dev/docs/api/class-apirequestcontext#api-request-context-add-cookies), [apiRequestContext.cookies()](https://playwright.dev/docs/api/class-apirequestcontext#api-request-context-cookies) and [apiRequestContext.clearCookies()](https://playwright.dev/docs/api/class-apirequestcontext#api-request-context-clear-cookies) manage cookies of a request context, mirroring the [BrowserContext](https://playwright.dev/docs/api/class-browsercontext) methods: ```js await request.addCookies([{ name: 'session-id', value: '42', url: 'https://example.com' }]); console.log(await request.cookies('https://example.com')); await request.clearCookies({ name: 'session-id' }); ``` #### Breaking changes ⚠️ - `screen` property is now forwarded from the [device descriptors](https://playwright.dev/docs/emulation#devices). If you use `...devices['Desktop Chrome']` and alike, `window.screen` and media queries now see the emulated screen size. You can opt-out by explicitly setting `screen` to `undefined`: ```js // playwright.config.ts export default defineConfig({ use: { ...devices['Desktop Chrome'], screen: undefined, }, }); ``` - JSX in your test files now follows your `tsconfig.json`. Playwright compiles JSX in test files according to the `jsx`, `jsxFactory`, `jsxFragmentFactory` and `jsxImportSource` [tsconfig options](https://playwright.dev/docs/test-typescript#tsconfig-jsx-options), and defaults to the automatic runtime from `react/jsx-runtime`. - `--update-snapshots=missing` now passes the test run. Tests that only create missing snapshots now pass in the `'missing'` mode of [testConfig.updateSnapshots](https://playwright.dev/docs/api/class-testconfig#test-config-update-snapshots), so that CI can generate new snapshots and verify the existing ones in a single run. The mode used when the option is not specified is now called `'default'` and behaves as before: missing snapshots are written and the test fails. - Elements inside hidden iframes are considered hidden. Elements inside an iframe that is not visible, for example with `visibility: hidden`, are now considered hidden by actions, [locator.isVisible()](https://playwright.dev/docs/api/class-locator#locator-is-visible) and [expect(locator).toBeVisible()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-be-visible). #### Browser Versions - Chromium 156.0.8078.4 - Mozilla Firefox 157.0 - WebKit 27.2 This version was also tested against the following stable channels: - Google Chrome 155 - Microsoft Edge 155 ### [`v1.63.0`](https://github.com/microsoft/playwright/releases/tag/v1.63.0) [Compare Source](https://github.com/microsoft/playwright/compare/v1.62.1...v1.63.0) #### 🔒 Test locks Tests that access a shared resource — an external service, a global account setting — can now declare a named `lock`. Tests that share a lock name never run concurrently, across files, workers and [projects](https://playwright.dev/docs/test-projects), while everything else keeps running in parallel: ```js test('update user settings', { lock: 'user-settings' }, async ({ page }) => { // never runs at the same time as other tests holding 'user-settings' }); ``` A test can hold multiple locks, and [test.describe()](https://playwright.dev/docs/api/class-test#test-describe) accepts a `lock` for the whole group. Learn more about [test locks](https://playwright.dev/docs/test-parallel#test-locks). #### 🪟 Locate across frames [page.frameLocator()](https://playwright.dev/docs/api/class-page#page-frame-locator) and [frame.frameLocator()](https://playwright.dev/docs/api/class-frame#frame-frame-locator) called without a selector search in any frame of the subtree, so you no longer need to locate the iframe first: ```js // Finds the button in any frame on the page. await page.frameLocator().getByRole('button').click(); ``` The rest of the locator resolves inside a single frame, just like a regular locator, and an error is thrown when it matches elements in several frames. #### 👁️ Visible-only locators New [locator.visible()](https://playwright.dev/docs/api/class-locator#locator-visible) returns a locator that matches only visible elements. It is the recommended replacement for the `:visible` CSS pseudo-class: ```js await page.locator('button').visible().click(); ``` #### 🧾 Step params and subtitles Steps now carry structured data for reporters. Playwright API steps report the target locator and call arguments, and [test.step()](https://playwright.dev/docs/api/class-test#test-step) accepts `subtitle` and `params` options for your own steps: ```js await test.step('Login', async () => { // ... }, { subtitle: 'as admin', params: { user: 'admin' } }); ``` Reporters receive them via [testStep.subtitle](https://playwright.dev/docs/api/class-teststep#test-step-subtitle) and [testStep.params](https://playwright.dev/docs/api/class-teststep#test-step-params). For Playwright API steps, the subtitle is the locator or the navigation url — for example, `Click` with subtitle `getByRole('button')`. Both are rendered next to the step title in the trace viewer and the HTML report. #### 🖼️ Aria and screen snapshots in traces The `snapshots` option of [tracing.start()](https://playwright.dev/docs/api/class-tracing#tracing-start) and the [testOptions.trace](https://playwright.dev/docs/api/class-testoptions#test-options-trace) fixture option now accept an object selecting what to capture on every action: ```js // playwright.config.ts export default defineConfig({ use: { trace: { mode: 'on', snapshots: { dom: true, aria: true, screen: true } }, }, }); ``` With aria and screen snapshots recorded, the new **Display Aria** mode in the trace viewer shows the action screenshot side by side with the aria snapshot, and hovering an aria node highlights it on the screenshot. #### New APIs ##### Browser and Context - [`httpCredentials`](https://playwright.dev/docs/api/class-browser#browser-new-context-option-http-credentials) now also accepts an array of credentials. The first entry matching the request origin is used, and entries without an origin match any request. - New option [`opfs`](https://playwright.dev/docs/api/class-browsercontext#browser-context-storage-state-option-opfs) includes the [origin private file system](https://developer.mozilla.org/en-US/docs/Web/API/File_System_API/Origin_private_file_system) in the storage state, so it can be persisted and restored into later contexts. - New events [page.on('dialogclosed')](https://playwright.dev/docs/api/class-page#page-event-dialog-closed) and [browserContext.on('dialogclosed')](https://playwright.dev/docs/api/class-browsercontext#browser-context-event-dialog-closed) are emitted when a JavaScript dialog is accepted, dismissed or closed by the user. ##### Locators - New [locator.ariaSnapshotJSON()](https://playwright.dev/docs/api/class-locator#locator-aria-snapshot-json) and [page.ariaSnapshotJSON()](https://playwright.dev/docs/api/class-page#page-aria-snapshot-json) return the aria snapshot as a JSON value instead of YAML markup, with `mode`, `depth` and `boxes` options. - [apiRequestContext.get()](https://playwright.dev/docs/api/class-apirequestcontext#api-request-context-get) and other request methods accept a type argument that types the response `json()`: ```js const response = await request.get<User>('/api/users/42'); const user = await response.json(); // typed as User ``` ##### Test runner - New standalone [testOptions.reducedMotion](https://playwright.dev/docs/api/class-testoptions#test-options-reduced-motion), [testOptions.forcedColors](https://playwright.dev/docs/api/class-testoptions#test-options-forced-colors) and [testOptions.contrast](https://playwright.dev/docs/api/class-testoptions#test-options-contrast) options. - New `--add-reporter` command line option appends a reporter on top of the ones configured in `playwright.config`, instead of replacing them like `--reporter` does. - New `omitTags` option for the `list`, `line`, `dot`, `github` and `junit` reporters suppresses the tags that are automatically appended to test titles. ##### Command line - `npx playwright install --no-remove` keeps the browsers of other Playwright installations instead of removing them. - `npx playwright codegen --http-credentials` records against pages behind HTTP authentication. ##### Miscellaneous - New built-in [`perfetto`](https://playwright.dev/docs/test-reporters#perfetto-reporter) reporter writes a Trace Event Format file for the [Perfetto UI](https://ui.perfetto.dev) or `chrome://tracing`, rendering the test run as a timeline with a lane per worker. - The HTML report renders a duration waterfall next to test steps. #### Announcements - ⚠️ The experimental `@playwright/experimental-ct-react`, `@playwright/experimental-ct-react17` and `@playwright/experimental-ct-vue` packages will no longer be updated. Follow the [migration guide](https://playwright.dev/docs/test-components#migration-from-the-experimental-packages) to move to the stories model introduced in 1.62. Story ids passed to [fixtures.mount()](https://playwright.dev/docs/api/class-fixtures#fixtures-mount) can now be typed through the generated `Stories` registry. - ⚠️ Ubuntu 20.04 is not supported anymore. - 🐧 On Linux arm64, Playwright now downloads the [Chrome for Testing](https://developer.chrome.com/blog/chrome-for-testing) build of Chromium, the same build used on all other platforms. #### Browser Versions - Chromium 153.0.8010.12 - Mozilla Firefox 155.0 - WebKit 26.6 This version was also tested against the following stable channels: - Google Chrome 153 - Microsoft Edge 153 ### [`v1.62.1`](https://github.com/microsoft/playwright/releases/tag/v1.62.1) [Compare Source](https://github.com/microsoft/playwright/compare/v1.62.0...v1.62.1) ##### Bug Fixes - [#&#8203;41989](https://github.com/microsoft/playwright/issues/41989) \[Regression]: tsconfig "extends" bare specifier isn't resolved via node_modules walk-up like tsc (fatal since 1.62) - [#&#8203;41998](https://github.com/microsoft/playwright/issues/41998) \[Regression]: directory-form tsconfig project references ("path": "../pkg") fail to resolve (fatal since 1.62) - [#&#8203;41985](https://github.com/microsoft/playwright/issues/41985) Accessibility snapshot drops button name when text is nested inside spans with aria-hidden SVG - [#&#8203;42000](https://github.com/microsoft/playwright/issues/42000) \[Regression]: page.evaluate() arg of a branded primitive type (string & { brand }) no longer type-checks since 1.62 - [#&#8203;42013](https://github.com/microsoft/playwright/issues/42013) \[BUG]Image-type actionable elements are not presented in the snapshot. ### [`v1.62.0`](https://github.com/microsoft/playwright/releases/tag/v1.62.0) [Compare Source](https://github.com/microsoft/playwright/compare/v1.61.1...v1.62.0) #### 🧱 New component testing model [Component testing](https://playwright.dev/docs/test-components) moves to a **stories and galleries** model. A **story** wraps your component in one specific scenario — hard-coded props, mock data, providers — and a **gallery** page that you serve renders stories on demand. The new [fixtures.mount()](https://playwright.dev/docs/api/class-fixtures#fixtures-mount) fixture navigates to the gallery, mounts a story by id, and returns a [Locator](https://playwright.dev/docs/api/class-locator) scoped to the story's root element: ```js test('click should expand', async ({ mount }) => { const component = await mount('components/Expandable/Stateful'); await component.getByRole('button').click(); await expect(component.getByTestId('expanded')).toHaveValue('true'); }); ``` Pass a story type as a template argument to type-check its props, and use `update(props)` / `unmount()` on the returned locator to re-render or tear down within a test. #### 🛑 Cancel operations with AbortSignal Most operations and web-first assertions now accept a `signal` option that takes an [`AbortSignal`](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal), letting you cancel long-running actions, navigations, waits, and assertions: ```js const controller = new AbortController(); setTimeout(() => controller.abort(), 1000); await page.getByRole('button', { name: 'Submit' }).click({ signal: controller.signal }); await expect(page.getByText('Done')).toBeVisible({ signal: controller.signal }); ``` Providing a signal does not disable the default timeout; pass `timeout: 0` to disable it. #### 🖼️ WebP screenshots [expect(page).toHaveScreenshot()](https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-have-screenshot-1) and [expect(locator).toHaveScreenshot()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-screenshot-1) can now store snapshots in the WebP format — just give the snapshot a `.webp` name: ```js // Visual comparisons store the golden snapshot as lossless WebP. await expect(page).toHaveScreenshot('homepage.webp'); // Standalone screenshots can trade quality for size with lossy WebP. await page.screenshot({ path: 'homepage.webp', quality: 50 }); ``` [page.screenshot()](https://playwright.dev/docs/api/class-page#page-screenshot) and \[locator.screenshot() (<https://playwright.dev/docs/api/class-locator#locator-screenshot>) also accept `webp` as a `type`, where quality `100` (the default) is lossless and lower values use lossy compression. #### 🧩 Custom test filtering with Reporter.preprocess() New [reporter.preprocess()](https://playwright.dev/docs/api/class-reporter#reporter-preprocess) hook runs after the configuration is resolved and before [reporter.onBegin()](https://playwright.dev/docs/api/class-reporter#reporter-on-begin), letting a reporter mark individual tests as skipped, excluded, fixed, or failing through a [TestRun](https://playwright.dev/docs/api/class-testrun) object: ```js class MyReporter { async preprocess({ config, suite, testRun }) { for (const test of suite.allTests()) { if (shouldSkip(test)) testRun.skip(test); } } } ``` #### 🔁 Isolated retries New [testConfig.retryStrategy](https://playwright.dev/docs/api/class-testconfig#test-config-retry-strategy) controls when failed tests are retried. The default `'immediate'` retries as soon as a worker is free; `'isolated'` runs all retries at the end, one by one in a single worker, to minimize interference with the rest of the suite: ```js // playwright.config.ts export default defineConfig({ retries: 2, retryStrategy: 'isolated', }); ``` #### New APIs ##### Browser and Context - New option [`credentials`](https://playwright.dev/docs/api/class-browsercontext#browser-context-storage-state-option-credentials) includes the context's virtual WebAuthn [Credentials](https://playwright.dev/docs/api/class-credentials) (passkeys) in the storage state, so they can be persisted and re-seeded into later contexts. ##### Actions - New `scroll` option (`"auto"` | `"none"`) on actions to opt out of Playwright's automatic scroll-into-view. ##### Network - New [apiResponse.timing()](https://playwright.dev/docs/api/class-apiresponse#api-response-timing) returns resource timing information for an API response. ##### Evaluation - New [locator.waitForFunction()](https://playwright.dev/docs/api/class-locator#locator-wait-for-function) waits until a function — called with the matching element — returns a truthy value. - [page.evaluate()](https://playwright.dev/docs/api/class-page#page-evaluate) and related methods now accept functions as evaluate arguments. - [page.addInitScript()](https://playwright.dev/docs/api/class-page#page-add-init-script) / [browserContext.addInitScript()](https://playwright.dev/docs/api/class-browsercontext#browser-context-add-init-script) now accept functions as init-script arguments. ##### Command line & MCP - Playwright now bundles the [Playwright MCP](https://playwright.dev/docs/getting-started-mcp) server and [`playwright-cli`](https://playwright.dev/docs/getting-started-cli), runnable via `npx playwright mcp` and `npx playwright cli`. ##### Reporters - The HTML report's **Merge files** grouping — previously only a UI toggle — can now be enabled from the config with the new `mergeFiles` reporter option: ```js // playwright.config.ts export default defineConfig({ reporter: [['html', { mergeFiles: true }]], }); ``` #### Announcements - ⚠️ Debian 11 is not supported anymore. #### Browser Versions - Chromium 151.0.7922.34 - Mozilla Firefox 153.0 - WebKit 26.5 This version was also tested against the following stable channels: - Google Chrome 151 - Microsoft Edge 151 ### [`v1.61.1`](https://github.com/microsoft/playwright/releases/tag/v1.61.1) [Compare Source](https://github.com/microsoft/playwright/compare/v1.61.0...v1.61.1) ##### Bug Fixes - [#&#8203;41365](https://github.com/microsoft/playwright/issues/41365) \[Bug]: Expect.Extend matcher with same name as default matcher in same expect instance overrides default matchers implementation to custom matcher - [#&#8203;41351](https://github.com/microsoft/playwright/issues/41351) \[Bug]: Playwright UI mode: apiRequestContext.\_wrapApiCall reports unexpected number of bytes (same test passes in headed mode) - [#&#8203;41360](https://github.com/microsoft/playwright/issues/41360) \[Bug]: Trace viewer: message times in websockets are downscaled by 1000 - [#&#8203;41311](https://github.com/microsoft/playwright/issues/41311) \[Bug]: \[Regression]: Sync loader throws "context.conditions?.includes is not a function" on Node 22.15 - [#&#8203;41371](https://github.com/microsoft/playwright/issues/41371) \[Regression]: Sync ESM loader (registerHooks) fails to resolve extensionless .ts subpath imports across pnpm workspace symlinks ### [`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>vite-pwa/assets-generator (@&#8203;vite-pwa/assets-generator)</summary> ### [`v1.0.4`](https://github.com/vite-pwa/assets-generator/releases/tag/v1.0.4) [Compare Source](https://github.com/vite-pwa/assets-generator/compare/v1.0.3...v1.0.4) #####    🚀 Features - **splash**: Add support for new iphone models  -  by [@&#8203;wiyco](https://github.com/wiyco) in [#&#8203;67](https://github.com/vite-pwa/assets-generator/issues/67) [<samp>(4c6e0)</samp>](https://github.com/vite-pwa/assets-generator/commit/4c6e048) #####     [View changes on GitHub](https://github.com/vite-pwa/assets-generator/compare/v1.0.3...v1.0.4) ### [`v1.0.3`](https://github.com/vite-pwa/assets-generator/releases/tag/v1.0.3) [Compare Source](https://github.com/vite-pwa/assets-generator/compare/v1.0.2...v1.0.3) #####    🐞 Bug Fixes - Update sharp to 0.35.4 to solve CVE problem  -  by [@&#8203;Super12138](https://github.com/Super12138) in [#&#8203;69](https://github.com/vite-pwa/assets-generator/issues/69) [<samp>(29cb7)</samp>](https://github.com/vite-pwa/assets-generator/commit/29cb7ed) #####     [View changes on GitHub](https://github.com/vite-pwa/assets-generator/compare/v1.0.2...v1.0.3) </details> <details> <summary>gpuweb/types (@&#8203;webgpu/types)</summary> ### [`v0.1.74`](https://github.com/gpuweb/types/compare/v0.1.73...v0.1.74) [Compare Source](https://github.com/gpuweb/types/compare/v0.1.73...v0.1.74) ### [`v0.1.73`](https://github.com/gpuweb/types/compare/v0.1.72...v0.1.73) [Compare Source](https://github.com/gpuweb/types/compare/v0.1.72...v0.1.73) ### [`v0.1.72`](https://github.com/gpuweb/types/compare/v0.1.71...v0.1.72) [Compare Source](https://github.com/gpuweb/types/compare/v0.1.71...v0.1.72) ### [`v0.1.71`](https://github.com/gpuweb/types/compare/v0.1.70...v0.1.71) [Compare Source](https://github.com/gpuweb/types/compare/v0.1.70...v0.1.71) ### [`v0.1.70`](https://github.com/gpuweb/types/compare/v0.1.69...v0.1.70) [Compare Source](https://github.com/gpuweb/types/compare/v0.1.69...v0.1.70) </details> <details> <summary>browserslist/browserslist (browserslist)</summary> ### [`v4.29.5`](https://github.com/browserslist/browserslist/blob/HEAD/CHANGELOG.md#4295) [Compare Source](https://github.com/browserslist/browserslist/compare/4.29.4...4.29.5) - Fixed `browserslist.coverage` for `my stats` (by [@&#8203;nk-batman21](https://github.com/nk-batman21)). ### [`v4.29.4`](https://github.com/browserslist/browserslist/blob/HEAD/CHANGELOG.md#4294) [Compare Source](https://github.com/browserslist/browserslist/compare/4.29.3...4.29.4) - Fixed joined version bounds in version ray and range queries (by [@&#8203;ybai08](https://github.com/ybai08)). - Fixed whitespaces processing (by [@&#8203;abhu85](https://github.com/abhu85)). ### [`v4.29.3`](https://github.com/browserslist/browserslist/blob/HEAD/CHANGELOG.md#4293) [Compare Source](https://github.com/browserslist/browserslist/compare/4.29.2...4.29.3) - Updated Firefox ESR. ### [`v4.29.2`](https://github.com/browserslist/browserslist/blob/HEAD/CHANGELOG.md#4292) [Compare Source](https://github.com/browserslist/browserslist/compare/4.29.1...4.29.2) - Fixed ignoring `null` usage in `cover X in Y` query (by [@&#8203;wahidrizka](https://github.com/wahidrizka)). ### [`v4.29.1`](https://github.com/browserslist/browserslist/blob/HEAD/CHANGELOG.md#4291) [Compare Source](https://github.com/browserslist/browserslist/compare/4.29.0...4.29.1) - Fixed config name loading protection on Windows (by [@&#8203;oss-security-shop](https://github.com/oss-security-shop)). - Fixed case-insensitive negation queries (by [@&#8203;jakezwang](https://github.com/jakezwang)). - Fixed percentage and supports queries case-insensitive (by [@&#8203;wahidrizka](https://github.com/wahidrizka)). - Fixed old Node.js tests (by [@&#8203;aaron-belenky](https://github.com/aaron-belenky)). - Reduced code (by [@&#8203;charmander](https://github.com/charmander)). ### [`v4.29.0`](https://github.com/browserslist/browserslist/blob/HEAD/CHANGELOG.md#4290) [Compare Source](https://github.com/browserslist/browserslist/compare/4.28.9...4.29.0) - Added query continuations across lines and array entries (by [@&#8203;fzlzjerry](https://github.com/fzlzjerry)). ### [`v4.28.9`](https://github.com/browserslist/browserslist/blob/HEAD/CHANGELOG.md#4289) [Compare Source](https://github.com/browserslist/browserslist/compare/4.28.8...4.28.9) - Improved `or` parsing performance (by [@&#8203;NotAFlightRisk](https://github.com/NotAFlightRisk)). ### [`v4.28.8`](https://github.com/browserslist/browserslist/blob/HEAD/CHANGELOG.md#4288) [Compare Source](https://github.com/browserslist/browserslist/compare/4.28.7...4.28.8) - Fixed `including kaios` in baseline queries (by [@&#8203;Jaybhade](https://github.com/Jaybhade)). ### [`v4.28.7`](https://github.com/browserslist/browserslist/blob/HEAD/CHANGELOG.md#4287) [Compare Source](https://github.com/browserslist/browserslist/compare/4.28.6...4.28.7) - Improved parsing performance. - Fixed unbounded memory growth (by [@&#8203;alanturing881](https://github.com/alanturing881)). - Fixed prototype write issue (by [@&#8203;alanturing881](https://github.com/alanturing881)). ### [`v4.28.6`](https://github.com/browserslist/browserslist/blob/HEAD/CHANGELOG.md#4286) [Compare Source](https://github.com/browserslist/browserslist/compare/4.28.5...4.28.6) - Fixed Electron version queries (by [@&#8203;spokodev](https://github.com/spokodev)). ### [`v4.28.5`](https://github.com/browserslist/browserslist/blob/HEAD/CHANGELOG.md#4285) [Compare Source](https://github.com/browserslist/browserslist/compare/4.28.4...4.28.5) - Fixed `>` and `>=` queries (by [@&#8203;spokodev](https://github.com/spokodev)). ### [`v4.28.4`](https://github.com/browserslist/browserslist/blob/HEAD/CHANGELOG.md#4284) [Compare Source](https://github.com/browserslist/browserslist/compare/4.28.3...4.28.4) - Fixed `SyntaxError` regression of 4.28.3. ### [`v4.28.3`](https://github.com/browserslist/browserslist/blob/HEAD/CHANGELOG.md#4283) [Compare Source](https://github.com/browserslist/browserslist/compare/4.28.2...4.28.3) - Fixed baseline query case-insensitivity (by [@&#8203;swwind](https://github.com/swwind)). </details> <details> <summary>eslint/eslint (eslint)</summary> ### [`v10.14.0`](https://github.com/eslint/eslint/releases/tag/v10.14.0) [Compare Source](https://github.com/eslint/eslint/compare/v10.13.0...v10.14.0) #### Features - [`d23a7f9`](https://github.com/eslint/eslint/commit/d23a7f9eed78e2733fa2d17d7d7dbb9891bbb692) feat: fix property descriptor handling in `func-name-matching` ([#&#8203;21400](https://github.com/eslint/eslint/issues/21400)) (xbinaryx) #### Bug Fixes - [`4a12580`](https://github.com/eslint/eslint/commit/4a12580eefdb240bd9b6ae83428638120e9a5f66) fix: require minimatch `10.2.6` to avoid vulnerable brace-expansion ([#&#8203;21460](https://github.com/eslint/eslint/issues/21460)) (lumir) - [`827a8f3`](https://github.com/eslint/eslint/commit/827a8f3cca710d3efd76c1d7088d894deff08434) fix: `no-restricted-globals` crash on global objects as property values ([#&#8203;21449](https://github.com/eslint/eslint/issues/21449)) (xbinaryx) - [`161558a`](https://github.com/eslint/eslint/commit/161558ae1391a8649a8d69a8b2c2e555b40121b9) fix: handle LS, PS and empty hashbang comments ([#&#8203;21419](https://github.com/eslint/eslint/issues/21419)) (lumir) - [`6194939`](https://github.com/eslint/eslint/commit/6194939873960e605b9df3892aa1f5acd648df34) fix: `no-invalid-this` crash on `accessor` fields without initializer ([#&#8203;21442](https://github.com/eslint/eslint/issues/21442)) (xbinaryx) - [`9155e14`](https://github.com/eslint/eslint/commit/9155e14781bf0a5549f9a747691f7d98c8c66dcd) fix: Update [@&#8203;humanfs/node](https://github.com/humanfs/node) dependency version ([#&#8203;21434](https://github.com/eslint/eslint/issues/21434)) (Nicholas C. Zakas) - [`cb2b9d4`](https://github.com/eslint/eslint/commit/cb2b9d47a1a14e287ffd473083e97370801ea21e) fix: avoid invalid object-shorthand fixes for super methods ([#&#8203;21323](https://github.com/eslint/eslint/issues/21323)) (dvd233) - [`5ee3915`](https://github.com/eslint/eslint/commit/5ee39156b5abb606170a289844cd25aebda6d302) fix: yoda invalid autofix at statement start ([#&#8203;21424](https://github.com/eslint/eslint/issues/21424)) (Daniel Pinto) #### Documentation - [`0f94f47`](https://github.com/eslint/eslint/commit/0f94f47b3cf188534d6ac24c0ef4108dd004492b) docs: remove `zh-hans` from docs language switcher ([#&#8203;21437](https://github.com/eslint/eslint/issues/21437)) (lumir) - [`dab466e`](https://github.com/eslint/eslint/commit/dab466e5cd43f4b9156a4d00b3423be2ed0088cc) docs: Update README (GitHub Actions Bot) - [`97431f8`](https://github.com/eslint/eslint/commit/97431f86d5dc7cd60ade6415393b906cf08fe46c) docs: replace `--rulesdir` with a virtual plugin in custom rules docs ([#&#8203;21452](https://github.com/eslint/eslint/issues/21452)) (Pixel) - [`7697550`](https://github.com/eslint/eslint/commit/76975502cb1370f2ae4d9427fa1daf7effabe909) docs: Update README (GitHub Actions Bot) - [`0c699d5`](https://github.com/eslint/eslint/commit/0c699d52d2c4596a56e8f8aa0c8f5732558cf552) docs: Remove Tidelift commercial support ([#&#8203;21416](https://github.com/eslint/eslint/issues/21416)) (Milos Djermanovic) - [`0880666`](https://github.com/eslint/eslint/commit/088066663aae84ad6edfa902a27a90c4c08785f3) docs: update loadESLint() documentation for v10 ([#&#8203;21374](https://github.com/eslint/eslint/issues/21374)) (Minseon Kim) - [`e06fe87`](https://github.com/eslint/eslint/commit/e06fe87c41cc6210269260a097c61cefb92f456a) docs: Revise AI acknowledgment options in PR template ([#&#8203;21414](https://github.com/eslint/eslint/issues/21414)) (Nicholas C. Zakas) #### Chores - [`0e2ab70`](https://github.com/eslint/eslint/commit/0e2ab702714a66829fe2798c77190b48a3a88645) ci: disable `eslint-plugin-unicorn` ecosystem test ([#&#8203;21462](https://github.com/eslint/eslint/issues/21462)) (Francesco Trotta) - [`6e3f988`](https://github.com/eslint/eslint/commit/6e3f9888cca518fbb9ba399e88b3033577d9f4ad) chore: update github/codeql-action action to v4.39.1 ([#&#8203;21450](https://github.com/eslint/eslint/issues/21450)) (renovate\[bot]) - [`a031c40`](https://github.com/eslint/eslint/commit/a031c40da3c2185279ca8f1f7961fff01fb7b8ff) chore: update ecosystem plugins ([#&#8203;21445](https://github.com/eslint/eslint/issues/21445)) (ESLint Bot) - [`67d2ca2`](https://github.com/eslint/eslint/commit/67d2ca2d246bf0311d4a60f58282a7b246c44cba) chore: add troubleshooting page URL to circular fixes warning message ([#&#8203;21429](https://github.com/eslint/eslint/issues/21429)) (Milos Djermanovic) - [`276021d`](https://github.com/eslint/eslint/commit/276021d5190f62c873002f7aa08cdcb345135bbe) chore: update github/codeql-action action to v4.39.0 ([#&#8203;21432](https://github.com/eslint/eslint/issues/21432)) (renovate\[bot]) - [`449724e`](https://github.com/eslint/eslint/commit/449724e95bfa013fa32c29375925b4111d3924e4) chore: update ecosystem plugins ([#&#8203;21420](https://github.com/eslint/eslint/issues/21420)) (ESLint Bot) - [`8ffeb8c`](https://github.com/eslint/eslint/commit/8ffeb8c023bea91a5cfa01b1413a52a83838a59a) chore: update dependency prettier to v3.9.10 ([#&#8203;21417](https://github.com/eslint/eslint/issues/21417)) (renovate\[bot]) ### [`v10.13.0`](https://github.com/eslint/eslint/releases/tag/v10.13.0) [Compare Source](https://github.com/eslint/eslint/compare/v10.12.0...v10.13.0) #### Features - [`48d5cc4`](https://github.com/eslint/eslint/commit/48d5cc47e43478670ccf95a74f7a73e8408152b5) feat: report references inside IIFEs in `no-use-before-define` ([#&#8203;21238](https://github.com/eslint/eslint/issues/21238)) (Irfan fandi) - [`a39d9fb`](https://github.com/eslint/eslint/commit/a39d9fb1fdb5db546f6407580cac531ba3370450) feat: add `globalThis` to `no-obj-calls` ([#&#8203;21382](https://github.com/eslint/eslint/issues/21382)) (synthex-byte) - [`66ac583`](https://github.com/eslint/eslint/commit/66ac58383e076940c11a5d7213ad079028d1140e) feat: check `yield*` expressions in `no-unsafe-optional-chaining` ([#&#8203;21399](https://github.com/eslint/eslint/issues/21399)) (xbinaryx) #### Bug Fixes - [`87bd2ce`](https://github.com/eslint/eslint/commit/87bd2cef7b2309739c29598fb2be335f4bed71a3) fix: avoid redeclared `let` when `no-var` and `one-var` fix together ([#&#8203;21389](https://github.com/eslint/eslint/issues/21389)) (Daniel Pinto) #### Documentation - [`4783a68`](https://github.com/eslint/eslint/commit/4783a6806fb73ea4843ac46c6ae3d8285f56c288) docs: Update README (GitHub Actions Bot) - [`43f0ac9`](https://github.com/eslint/eslint/commit/43f0ac90e7858a834a0e68309e6397fb4cfa72dd) docs: clarify parameter description in `getText` ([#&#8203;21287](https://github.com/eslint/eslint/issues/21287)) (lumir) #### Chores - [`b59d889`](https://github.com/eslint/eslint/commit/b59d889c7c18d8c73144e6ba46e9e7f3e7da0196) chore: update github/codeql-action action to v4.38.3 ([#&#8203;21412](https://github.com/eslint/eslint/issues/21412)) (renovate\[bot]) - [`95e51a0`](https://github.com/eslint/eslint/commit/95e51a0518b15015304eca9844b3f64c1fc167ca) ci: re-enable `@typescript-eslint/typescript-eslint` in ecosystem tests ([#&#8203;21410](https://github.com/eslint/eslint/issues/21410)) (Francesco Trotta) - [`317fcb3`](https://github.com/eslint/eslint/commit/317fcb365f19e912a60d171a9d5a8d1f16fe4660) chore: update ecosystem plugins ([#&#8203;21409](https://github.com/eslint/eslint/issues/21409)) (ESLint Bot) - [`b92decf`](https://github.com/eslint/eslint/commit/b92decf8ead7cc4082a18a4a0ab28f3c7c589887) perf: skip no-redeclare scan for single-declaration variables ([#&#8203;21365](https://github.com/eslint/eslint/issues/21365)) (James Ross) - [`47b7063`](https://github.com/eslint/eslint/commit/47b7063b3f3f7bc7a5bcb87c082577e4e8b96e24) chore: update dependency [@&#8203;eslint/json](https://github.com/eslint/json) to ^2.1.1 ([#&#8203;21398](https://github.com/eslint/eslint/issues/21398)) (renovate\[bot]) - [`e5aea41`](https://github.com/eslint/eslint/commit/e5aea414cc00555ecd43f6e608bf80e0f9a6d4d6) chore: update ecosystem plugins ([#&#8203;21390](https://github.com/eslint/eslint/issues/21390)) (ESLint Bot) ### [`v10.12.0`](https://github.com/eslint/eslint/releases/tag/v10.12.0) [Compare Source](https://github.com/eslint/eslint/compare/v10.11.0...v10.12.0) #### Features - [`4618052`](https://github.com/eslint/eslint/commit/4618052eed6bb3ef420cf0db0490bbda2fd835a5) feat: handle astral letters in `new-cap` ([#&#8203;21357](https://github.com/eslint/eslint/issues/21357)) (sary) - [`4ec5168`](https://github.com/eslint/eslint/commit/4ec5168d6d6888e3f7b163eb82963d40e45a75fa) feat: allow `SourceCode#getText()` to accept tokens and comments ([#&#8203;21340](https://github.com/eslint/eslint/issues/21340)) (electrohyun) #### Bug Fixes - [`bc51eee`](https://github.com/eslint/eslint/commit/bc51eee6e3e816622b2dd1bc08acb9cfb2d3a6a7) fix: `prefer-arrow-callback` false positive in conditional test ([#&#8203;21373](https://github.com/eslint/eslint/issues/21373)) (Daniel Pinto) - [`bbff86c`](https://github.com/eslint/eslint/commit/bbff86c41521cc435e20754e26007f657a843038) fix: skip lines with multiple comments in `max-lines-per-function` ([#&#8203;21332](https://github.com/eslint/eslint/issues/21332)) (xbinaryx) - [`efc4d6b`](https://github.com/eslint/eslint/commit/efc4d6bdc4c4d1dfba8bdab6a8f44f27a1b1d00a) fix: astral letters in `consistent-return`, `no-eval`, `no-invalid-this` ([#&#8203;21360](https://github.com/eslint/eslint/issues/21360)) (lumir) - [`93de066`](https://github.com/eslint/eslint/commit/93de066d4125f8df013d40305e8009f4634a5cba) fix: prefer-exponentiation-operator autofix for async function base ([#&#8203;21322](https://github.com/eslint/eslint/issues/21322)) (Vladimir Babin) - [`02e34ff`](https://github.com/eslint/eslint/commit/02e34ffba6adbed72365177c7caee71d950834e5) fix: add missing space after `else` in `curly` autofix ([#&#8203;21355](https://github.com/eslint/eslint/issues/21355)) (Pixel) - [`b14b8bc`](https://github.com/eslint/eslint/commit/b14b8bc213ccfc19d3edcfa9ce6af62622661160) fix: correct `id-length` message for long private names ([#&#8203;21348](https://github.com/eslint/eslint/issues/21348)) (Pixel) - [`69aac01`](https://github.com/eslint/eslint/commit/69aac01d898837a934c9e735e0b7881cc1df09e8) fix: support `TSFunctionType` in `getFunctionHeadLoc` ([#&#8203;21335](https://github.com/eslint/eslint/issues/21335)) (xbinaryx) - [`686630e`](https://github.com/eslint/eslint/commit/686630eb34ec1cddf399a4e6eaeebb080116a532) fix: `no-loss-of-precision` false positive with `0.e5` ([#&#8203;21337](https://github.com/eslint/eslint/issues/21337)) (sethamus) #### Documentation - [`67eb586`](https://github.com/eslint/eslint/commit/67eb586e2eda290813b329d4f40e605ad696bc4f) docs: Update README (GitHub Actions Bot) - [`5370d7e`](https://github.com/eslint/eslint/commit/5370d7ee35a6523873f798e87f3ccc73779d5d21) docs: clarify `one-var` `separateRequires` matches any `require()` call ([#&#8203;21192](https://github.com/eslint/eslint/issues/21192)) (sethamus) - [`8816c1d`](https://github.com/eslint/eslint/commit/8816c1ddfcfa31318ad17cddcfb68acffa30940f) docs: Update README (GitHub Actions Bot) - [`3d2e7ce`](https://github.com/eslint/eslint/commit/3d2e7cedb7409d8a2c5f2c2fafb14fa22790e40e) docs: fix typo in no-unused-expressions documentation ([#&#8203;21346](https://github.com/eslint/eslint/issues/21346)) (bytedoe) #### Chores - [`152067f`](https://github.com/eslint/eslint/commit/152067f0f81f08b6cce9cf8eeaddb8558731b4f6) chore: update ecosystem plugins ([#&#8203;21362](https://github.com/eslint/eslint/issues/21362)) (ESLint Bot) - [`b56d58e`](https://github.com/eslint/eslint/commit/b56d58e0b1f3c919a6b7661254af760cdd909d6e) chore: update github/codeql-action action to v4.38.2 ([#&#8203;21376](https://github.com/eslint/eslint/issues/21376)) (renovate\[bot]) - [`bfaea12`](https://github.com/eslint/eslint/commit/bfaea12ddc30b458fe4cfbb6c306a62b5299c177) perf: cache normalized config globals per languageOptions ([#&#8203;21364](https://github.com/eslint/eslint/issues/21364)) (James Ross) - [`322209e`](https://github.com/eslint/eslint/commit/322209ef164e8a00a25ec7ca166969ddc853355c) ci: avoid Nx cache in ecosystem tests and disable failing test ([#&#8203;21369](https://github.com/eslint/eslint/issues/21369)) (Francesco Trotta) - [`d166567`](https://github.com/eslint/eslint/commit/d166567901e09940c1de4ad0e95d572eeab5c927) chore: update dependency prettier to v3.9.9 ([#&#8203;21371](https://github.com/eslint/eslint/issues/21371)) (renovate\[bot]) - [`29585ce`](https://github.com/eslint/eslint/commit/29585ceba7ad35368d1b763bd1e80d899f28842c) chore: update dependency eslint-plugin-expect-type to ^0.7.0 ([#&#8203;21359](https://github.com/eslint/eslint/issues/21359)) (renovate\[bot]) - [`39d79ba`](https://github.com/eslint/eslint/commit/39d79ba9650542ac66d585d1899304abd630c07d) chore: update github/codeql-action action to v4.38.1 ([#&#8203;21354](https://github.com/eslint/eslint/issues/21354)) (renovate\[bot]) - [`182a6e9`](https://github.com/eslint/eslint/commit/182a6e993a8a5dbdad5a628b69ad7382d48bf24f) chore: update dependency prettier to v3.9.8 ([#&#8203;21352](https://github.com/eslint/eslint/issues/21352)) (renovate\[bot]) - [`f995127`](https://github.com/eslint/eslint/commit/f995127230dad258069c29b7f51971681bd53f00) chore: remove CLAUDE.md in favor of AGENTS.md ([#&#8203;21339](https://github.com/eslint/eslint/issues/21339)) (Jarren) - [`b95fb6c`](https://github.com/eslint/eslint/commit/b95fb6cb335f82a0ccabb0944ac3b89c703bd947) chore: update dependency prettier to v3.9.7 ([#&#8203;21347](https://github.com/eslint/eslint/issues/21347)) (renovate\[bot]) - [`3782dd4`](https://github.com/eslint/eslint/commit/3782dd458fdfbe492e600d9a54b295a9721ed815) chore: update ecosystem plugins ([#&#8203;21342](https://github.com/eslint/eslint/issues/21342)) (ESLint Bot) ### [`v10.11.0`](https://github.com/eslint/eslint/releases/tag/v10.11.0) [Compare Source](https://github.com/eslint/eslint/compare/v10.10.0...v10.11.0) #### Features - [`d136fa4`](https://github.com/eslint/eslint/commit/d136fa4b0d2dd4a9e738ca1c012cc674d1441127) feat: object-shorthand handle quoted properties for `ignoreConstructors` ([#&#8203;21271](https://github.com/eslint/eslint/issues/21271)) (Pavel) - [`397b3b8`](https://github.com/eslint/eslint/commit/397b3b8134b8ce1a61cbf414d4c29c945ba25690) feat: report unsafe labeled `continue` in `no-unsafe-finally` rule ([#&#8203;21316](https://github.com/eslint/eslint/issues/21316)) (electrohyun) - [`d3dd47f`](https://github.com/eslint/eslint/commit/d3dd47f42e4cb5f9da27e3a2e741aa21e02ea1a4) feat: only exempt `new-cap` built-ins that reference the global ([#&#8203;21290](https://github.com/eslint/eslint/issues/21290)) (sethamus) #### Bug Fixes - [`22b09f5`](https://github.com/eslint/eslint/commit/22b09f54f67a9512d4cea39ddbab9b6973d5c476) fix: ignore `__proto__` properties in `prefer-object-spread` ([#&#8203;21311](https://github.com/eslint/eslint/issues/21311)) (xbinaryx) - [`b684bb1`](https://github.com/eslint/eslint/commit/b684bb1cd7e6be03ad1b7a951baead936d9c2166) fix: make TimePass.parse optional in types and docs ([#&#8203;21313](https://github.com/eslint/eslint/issues/21313)) (ntnyq) - [`26d11bc`](https://github.com/eslint/eslint/commit/26d11bce3e0e21f223613d4bb4be3423839b229e) fix: don't report `__proto__` properties in `object-shorthand` ([#&#8203;21310](https://github.com/eslint/eslint/issues/21310)) (xbinaryx) #### Documentation - [`9ecfdc5`](https://github.com/eslint/eslint/commit/9ecfdc5319f83580cf3b81beab7e936015fef2fa) docs: note that --cache can serve stale results for cross-file rules ([#&#8203;21312](https://github.com/eslint/eslint/issues/21312)) (bytedoe) - [`6c789ff`](https://github.com/eslint/eslint/commit/6c789ff39bc5420e94e8dafeb328bf2b7e3d35ab) docs: Update README (GitHub Actions Bot) - [`5997825`](https://github.com/eslint/eslint/commit/5997825635dc9c4e81434894607ef2e3887e0ea3) docs: clarify preserve-caught-error known limitation ([#&#8203;21294](https://github.com/eslint/eslint/issues/21294)) (Akinyemi Toluwalase) #### Chores - [`520dd77`](https://github.com/eslint/eslint/commit/520dd77a35922fb537e2dbfb3c839d047acbdd68) perf: Implement fast paths in critical areas ([#&#8203;21210](https://github.com/eslint/eslint/issues/21210)) (Nicholas C. Zakas) - [`92086c8`](https://github.com/eslint/eslint/commit/92086c87e042413a3d0363d8fc3fbb11db98d06a) test: update `EMFILE` error generation for Node.js 26.9.0 compatibility ([#&#8203;21330](https://github.com/eslint/eslint/issues/21330)) (Francesco Trotta) - [`9ac7eb6`](https://github.com/eslint/eslint/commit/9ac7eb60525ec768c2fdc6699e5a292aa913ce9e) chore: update github/codeql-action action to v4.38.0 ([#&#8203;21331](https://github.com/eslint/eslint/issues/21331)) (renovate\[bot]) - [`24310e3`](https://github.com/eslint/eslint/commit/24310e3a0e22b3c086ca402f88448676f2e1cfcd) chore: update ecosystem plugins ([#&#8203;21324](https://github.com/eslint/eslint/issues/21324)) (ESLint Bot) - [`45ad79e`](https://github.com/eslint/eslint/commit/45ad79e54a39b54b4ce8eb47e612bd2f72a7a651) ci: bump pnpm/action-setup from 6.0.10 to 6.1.0 ([#&#8203;21318](https://github.com/eslint/eslint/issues/21318)) (dependabot\[bot]) - [`ac74e37`](https://github.com/eslint/eslint/commit/ac74e37322ebf122ada676f153dc55c81f3caab0) chore: Add AGENTS.md with AI disclosure requirements ([#&#8203;21221](https://github.com/eslint/eslint/issues/21221)) (Nicholas C. Zakas) - [`c832660`](https://github.com/eslint/eslint/commit/c8326608e710e670beaf982501aed80ea104919a) chore: Upgrade Stylelint to the latest version in docs ([#&#8203;21245](https://github.com/eslint/eslint/issues/21245)) (Jung Hyeon Jun) - [`f9f88fc`](https://github.com/eslint/eslint/commit/f9f88fcccd965fdc162b89c4615dd4018e3cabdf) chore: update ecosystem plugins ([#&#8203;21308](https://github.com/eslint/eslint/issues/21308)) (ESLint Bot) - [`fc81076`](https://github.com/eslint/eslint/commit/fc81076a5b8145360654d81cbc130cf7d25dca77) ci: add more types integration tests ([#&#8203;20395](https://github.com/eslint/eslint/issues/20395)) (Nitin Kumar) ### [`v10.10.0`](https://github.com/eslint/eslint/releases/tag/v10.10.0) [Compare Source](https://github.com/eslint/eslint/compare/v10.9.1...v10.10.0) #### Features - [`264b434`](https://github.com/eslint/eslint/commit/264b4346d1963701df0c398b4aeb2f6e8b2af93e) feat: add `d` and `v` flags to `no-unexpected-multiline` ([#&#8203;21305](https://github.com/eslint/eslint/issues/21305)) (Gihyeon Jeong / 정기현) - [`c6cc6c5`](https://github.com/eslint/eslint/commit/c6cc6c592f30901345d94ef75e0d42c1894fae6c) feat: check `Object.prototype` property names in `new-cap` ([#&#8203;21269](https://github.com/eslint/eslint/issues/21269)) (crimsonjay0) - [`5661fa6`](https://github.com/eslint/eslint/commit/5661fa65fde9fd4c14f0b730e3cee6a42fc657c1) feat: no-extra-bind false negatives with class fields and static blocks ([#&#8203;21260](https://github.com/eslint/eslint/issues/21260)) (synthex-byte) #### Bug Fixes - [`bb47dc6`](https://github.com/eslint/eslint/commit/bb47dc6da2399a8f76c0c0c3273e6bc314c480e5) fix: update dependency file-entry-cache to v11 ([#&#8203;20801](https://github.com/eslint/eslint/issues/20801)) (Milos Djermanovic) - [`427ac0a`](https://github.com/eslint/eslint/commit/427ac0a014066c36aa57fa8fa9af20fd9fb591e1) fix: use format strings in debug calls ([#&#8203;21247](https://github.com/eslint/eslint/issues/21247)) (Francesco Trotta) - [`9d81532`](https://github.com/eslint/eslint/commit/9d8153223dbf47b9aecdc1474202aaee4845f146) fix: support `__proto__` in `/* exported */` comments ([#&#8203;21261](https://github.com/eslint/eslint/issues/21261)) (sethamus) - [`87e0a08`](https://github.com/eslint/eslint/commit/87e0a082438264ad90b87fd74165ab4fd90f63ef) fix: prefer-object-has-own autofix breaks when Object is shadowed ([#&#8203;21282](https://github.com/eslint/eslint/issues/21282)) (김채영) - [`8e2cb14`](https://github.com/eslint/eslint/commit/8e2cb142217f2efee1d10dcc02bfb75145ae775d) fix: `new-cap` false positive for `UTC` calls with `properties: false` ([#&#8203;21275](https://github.com/eslint/eslint/issues/21275)) (Pixel) - [`9f4a364`](https://github.com/eslint/eslint/commit/9f4a364ab0ade048dfce1f37792b1d461d866e55) fix: Ignore static imports in no-unreachable ([#&#8203;21276](https://github.com/eslint/eslint/issues/21276)) (Taha Kotil) #### Documentation - [`2417cad`](https://github.com/eslint/eslint/commit/2417cad57d7d1bc4cf3ecf0f0575cfb10ff2011c) docs: Update README (GitHub Actions Bot) - [`9cecb8a`](https://github.com/eslint/eslint/commit/9cecb8a0a2348070abf72321965d41919c7cc626) docs: document `\c` control letter escapes in no-control-regex ([#&#8203;21286](https://github.com/eslint/eslint/issues/21286)) (한국) - [`8724829`](https://github.com/eslint/eslint/commit/8724829f69f8ed80c876e3a5a017da199ce78739) docs: update compat table links ([#&#8203;21263](https://github.com/eslint/eslint/issues/21263)) (fnx) - [`5634542`](https://github.com/eslint/eslint/commit/5634542be580750ffb1a5766470f9e9c72719696) docs: Clarify eqeqeq suggestion behavior ([#&#8203;21256](https://github.com/eslint/eslint/issues/21256)) (Müslüm Yılmaz) #### Chores - [`b3d876b`](https://github.com/eslint/eslint/commit/b3d876b46083d67899eb1d9613118c1c583632a2) chore: disable npm audit in ecosystem tests ([#&#8203;21306](https://github.com/eslint/eslint/issues/21306)) (Francesco Trotta) - [`1696682`](https://github.com/eslint/eslint/commit/1696682791661c13167eb905da2f38d1b8f4a3bf) ci: restore EMFILE test on Node.js 26 ([#&#8203;21297](https://github.com/eslint/eslint/issues/21297)) (Marry (Subin Yang)) - [`2c7f5d6`](https://github.com/eslint/eslint/commit/2c7f5d6f47a92e8c0847af103e40fdb2f4dc61ef) chore: update github/codeql-action action to v4.37.9 ([#&#8203;21296](https://github.com/eslint/eslint/issues/21296)) (renovate\[bot]) - [`3c753f1`](https://github.com/eslint/eslint/commit/3c753f18b461bfbf36d41a79a7863c093ef48489) chore: update eslint ([#&#8203;21289](https://github.com/eslint/eslint/issues/21289)) (renovate\[bot]) - [`1c73469`](https://github.com/eslint/eslint/commit/1c734690bf6f4f9c542bec428d5a1a5c6cc4a19b) chore: update ecosystem plugins ([#&#8203;21280](https://github.com/eslint/eslint/issues/21280)) (ESLint Bot) - [`08a02be`](https://github.com/eslint/eslint/commit/08a02be429e21fc93d86c8dd16cec6dc945ea2c1) test: add error locations to `no-extra-boolean-cast` ([#&#8203;21266](https://github.com/eslint/eslint/issues/21266)) (lumir) - [`77bb1db`](https://github.com/eslint/eslint/commit/77bb1db8e730b7da2347c647d60f215706aa349a) chore: update github/codeql-action action to v4.37.8 ([#&#8203;21270](https://github.com/eslint/eslint/issues/21270)) (renovate\[bot]) - [`007e81a`](https://github.com/eslint/eslint/commit/007e81ac0ad66bd0be4887d88a276df292ae0bed) ci: skip EMFILE test on Node.js 26 ([#&#8203;21265](https://github.com/eslint/eslint/issues/21265)) (lumir) - [`0430280`](https://github.com/eslint/eslint/commit/0430280e7cca9dc0fdbf0bc50464e98e84285c49) chore: improve ecosystem tests compatibility on Windows ([#&#8203;21178](https://github.com/eslint/eslint/issues/21178)) (crimsonjay0) ### [`v10.9.1`](https://github.com/eslint/eslint/releases/tag/v10.9.1) [Compare Source](https://github.com/eslint/eslint/compare/v10.9.0...v10.9.1) #### Bug Fixes - [`1e641c9`](https://github.com/eslint/eslint/commit/1e641c919fc1421493bf913feb607896982451a3) fix: no-loss-of-precision false positive with trailing decimal point ([#&#8203;21251](https://github.com/eslint/eslint/issues/21251)) (Aleksandr Shoronov) #### Documentation - [`ad74a8d`](https://github.com/eslint/eslint/commit/ad74a8dada2aaa17bfd0b8cc7b4119ff7a8ac04b) docs: add deprecation steps for EOL package versions ([#&#8203;21248](https://github.com/eslint/eslint/issues/21248)) (Francesco Trotta) #### Chores - [`3c3ae53`](https://github.com/eslint/eslint/commit/3c3ae53a43721162f0db76c69665ebd9d752ea52) chore: update ecosystem plugins ([#&#8203;21249](https://github.com/eslint/eslint/issues/21249)) (ESLint Bot) ### [`v10.9.0`](https://github.com/eslint/eslint/releases/tag/v10.9.0) [Compare Source](https://github.com/eslint/eslint/compare/v10.8.1...v10.9.0) #### Features - [`08de88e`](https://github.com/eslint/eslint/commit/08de88e50294c4e01f6cae97eceeb578da55792b) feat: handle underflow in no-loss-of-precision ([#&#8203;21218](https://github.com/eslint/eslint/issues/21218)) (Rithish S) - [`55db479`](https://github.com/eslint/eslint/commit/55db4791120ae591d88089c43127b7b0e16866d4) feat: add checkConditionalExpressions to `no-unmodified-loop-condition` ([#&#8203;21175](https://github.com/eslint/eslint/issues/21175)) (sethamus) #### Bug Fixes - [`2ba3025`](https://github.com/eslint/eslint/commit/2ba302554e7a24e9909bbdd026fd0c2d1d0d8638) fix: prevent unsafe `no-var` autofix with hoisted functions ([#&#8203;21213](https://github.com/eslint/eslint/issues/21213)) (sethamus) - [`8e69622`](https://github.com/eslint/eslint/commit/8e6962219a605c5f5add10953aa31027da839194) fix: Prevent no-var autofix when var is shadowed by catch parameter ([#&#8203;21204](https://github.com/eslint/eslint/issues/21204)) (Yang Hyeonjong) - [`684b579`](https://github.com/eslint/eslint/commit/684b57972e1ddf25e076fb36189c60bbcacee635) fix: prefer-template invalid autofix creates a tagged template call ([#&#8203;21207](https://github.com/eslint/eslint/issues/21207)) (김채영) #### Documentation - [`9ef407a`](https://github.com/eslint/eslint/commit/9ef407a3b051e74f50dc7fb8914e2bd89b3e5e53) docs: use eslint.config.\* wherever config file names are listed ([#&#8203;21216](https://github.com/eslint/eslint/issues/21216)) (Marry (Subin Yang)) - [`87f66f4`](https://github.com/eslint/eslint/commit/87f66f4435c4df7f4f6815c939d153196ec03e3c) docs: Update README (GitHub Actions Bot) - [`585ef37`](https://github.com/eslint/eslint/commit/585ef37516c0dc29ddb91ce2a2cdcc46fdbbd610) docs: update architecture documentation ([#&#8203;21112](https://github.com/eslint/eslint/issues/21112)) (Francesco Trotta) - [`f3993b0`](https://github.com/eslint/eslint/commit/f3993b0547bace7370e9728ee7408af49d367d76) docs: Update README (GitHub Actions Bot) - [`ffc87d6`](https://github.com/eslint/eslint/commit/ffc87d6234b2aa4335eec069e5c4d6ac04832b9e) docs: fix broken links in Further Reading sections ([#&#8203;21203](https://github.com/eslint/eslint/issues/21203)) (Minsu) - [`1a761e1`](https://github.com/eslint/eslint/commit/1a761e1d11b011fcb6bee181231a51010c500e4d) docs: update moved JSX specification links ([#&#8203;21198](https://github.com/eslint/eslint/issues/21198)) (Imran Mustafa) - [`4d00ca4`](https://github.com/eslint/eslint/commit/4d00ca4064ae0d1a75b604a16c68ab9f386ad388) docs: update ESLint peer dependency to `^10.0.0` in shareable configs ([#&#8203;21202](https://github.com/eslint/eslint/issues/21202)) (lumir) - [`510d1a2`](https://github.com/eslint/eslint/commit/510d1a2e87bc197219f42e195ddb638d2b183a5a) docs: Update README (GitHub Actions Bot) #### Chores - [`899dbf1`](https://github.com/eslint/eslint/commit/899dbf131ce12a194b394bb8d67307df23509d17) chore: update github/codeql-action action to v4.37.7 ([#&#8203;21243](https://github.com/eslint/eslint/issues/21243)) (renovate\[bot]) - [`9aa3873`](https://github.com/eslint/eslint/commit/9aa38732177935bd1d7f1493732c0b67666be28a) chore: update ecosystem plugins ([#&#8203;21235](https://github.com/eslint/eslint/issues/21235)) (ESLint Bot) - [`dc1e7a8`](https://github.com/eslint/eslint/commit/dc1e7a8416937edefe04cf836ee202a6fc03bedd) chore: update ecosystem plugins ([#&#8203;21208](https://github.com/eslint/eslint/issues/21208)) (ESLint Bot) - [`f878d21`](https://github.com/eslint/eslint/commit/f878d212e9622da9513bcd60d2aedb2e8bb4fc8b) ci: bump pnpm/action-setup from 6.0.9 to 6.0.10 ([#&#8203;21200](https://github.com/eslint/eslint/issues/21200)) (dependabot\[bot]) - [`4891e50`](https://github.com/eslint/eslint/commit/4891e50aceadb0e886ad7d8ab5ae2beab563de85) ci: bump github/codeql-action from 4.37.4 to 4.37.6 ([#&#8203;21199](https://github.com/eslint/eslint/issues/21199)) (dependabot\[bot]) ### [`v10.8.1`](https://github.com/eslint/eslint/releases/tag/v10.8.1) [Compare Source](https://github.com/eslint/eslint/compare/v10.8.0...v10.8.1) #### Bug Fixes - [`18eb0a7`](https://github.com/eslint/eslint/commit/18eb0a7e787b9fac3049ef3dad0e845d2bd940a4) fix: prevent ASI hazard in `no-unused-labels` autofix ([#&#8203;21173](https://github.com/eslint/eslint/issues/21173)) (dongkyu lee) - [`151ba3f`](https://github.com/eslint/eslint/commit/151ba3f5834a0909e8b9b1736f4889ac694c0104) fix: false positives in `getter-return` and `accessor-pairs` ([#&#8203;21163](https://github.com/eslint/eslint/issues/21163)) (Grit) - [`6898df9`](https://github.com/eslint/eslint/commit/6898df9364639ee64b9448a4cb6b08a30c16bd37) fix: ignore meta-property names in `id-denylist` ([#&#8203;21166](https://github.com/eslint/eslint/issues/21166)) (Pixel) - [`4d7db66`](https://github.com/eslint/eslint/commit/4d7db6628e2badf0857cb88734fe641c3874bce9) fix: ignore meta-property names in `id-match` ([#&#8203;21167](https://github.com/eslint/eslint/issues/21167)) (Pixel) - [`677214e`](https://github.com/eslint/eslint/commit/677214e7eea83d8bc6e4b79eea871577e1369d5f) fix: handle ASI hazards in no-unused-vars removeVar suggestion ([#&#8203;20935](https://github.com/eslint/eslint/issues/20935)) (kuldeep kumar) #### Documentation - [`7d0cbf8`](https://github.com/eslint/eslint/commit/7d0cbf81cfdb7526b5c4cb7b222ddc7f257db560) docs: Update README (GitHub Actions Bot) - [`0a05812`](https://github.com/eslint/eslint/commit/0a05812adb12598b32e85297b98df5ad14501d60) docs: add missing backticks to `no-duplicate-imports.js` ([#&#8203;21183](https://github.com/eslint/eslint/issues/21183)) (Lee Daeun) - [`678c90b`](https://github.com/eslint/eslint/commit/678c90b55da2889d4400cbf6e2584ab683faf202) docs: Update README (GitHub Actions Bot) - [`8a10424`](https://github.com/eslint/eslint/commit/8a104242e8e1c5614940fab7324346974cff7d26) docs: Update README (GitHub Actions Bot) - [`69bb948`](https://github.com/eslint/eslint/commit/69bb948061105426dbe6e3c931fcda783286e020) docs: Update README (GitHub Actions Bot) #### Chores - [`0a14800`](https://github.com/eslint/eslint/commit/0a148005051fded2ef1d14cc228ae505251b4b10) chore: update github/codeql-action action to v4.37.4 ([#&#8203;21196](https://github.com/eslint/eslint/issues/21196)) (renovate\[bot]) - [`05adcb1`](https://github.com/eslint/eslint/commit/05adcb13542061dc7fadde5cd58d23d405a96d93) test: fix failing ecosystem test for `eslint-plugin-unicorn` ([#&#8203;21191](https://github.com/eslint/eslint/issues/21191)) (Lazizbek Ergashev) - [`5611035`](https://github.com/eslint/eslint/commit/56110356652dd614b3cf0933538abb551fc6bd6f) test: add error locations info to `no-void` ([#&#8203;21185](https://github.com/eslint/eslint/issues/21185)) (Lee Daeun) - [`ee47333`](https://github.com/eslint/eslint/commit/ee47333aa681cfc3cb54df08c38f211ea219cc2a) ci: bump github/codeql-action from 4 to 4.37.3 ([#&#8203;21176](https://github.com/eslint/eslint/issues/21176)) (dependabot\[bot]) - [`f131c03`](https://github.com/eslint/eslint/commit/f131c034ad91bbf06bcbb6b5e931447a8e419a46) chore: improve ecosystem test failure reporting ([#&#8203;20937](https://github.com/eslint/eslint/issues/20937)) (crimsonjay0) - [`1f6edde`](https://github.com/eslint/eslint/commit/1f6eddee609b369b50993eab08d437dda4700991) chore: update ecosystem plugins ([#&#8203;21182](https://github.com/eslint/eslint/issues/21182)) (ESLint Bot) - [`d3266fb`](https://github.com/eslint/eslint/commit/d3266fb26c719c6b90a6cbe54bb120c9335ad19c) chore: unpin `webpack` dependency ([#&#8203;21172](https://github.com/eslint/eslint/issues/21172)) (Francesco Trotta) - [`65a6519`](https://github.com/eslint/eslint/commit/65a6519cc8733b4688558a8611397cf9d01dd55d) chore: add allowScripts field to package.json ([#&#8203;21092](https://github.com/eslint/eslint/issues/21092)) (GiHoon Noh) - [`22e5256`](https://github.com/eslint/eslint/commit/22e52568536e0009d4493dc888736bc163220c4b) ci: add `triage:no` label to Dependabot PRs ([#&#8203;21141](https://github.com/eslint/eslint/issues/21141)) (lumir) - [`55c9038`](https://github.com/eslint/eslint/commit/55c9038836c91b6bd5617f0c97bea2274c9cc0bf) ci: bump actions/labeler from 6 to 7 ([#&#8203;21159](https://github.com/eslint/eslint/issues/21159)) (dependabot\[bot]) - [`7280e78`](https://github.com/eslint/eslint/commit/7280e78183d4711a49916b6a49ba5efaa651a991) chore: update dependency prettier to v3.9.6 ([#&#8203;21162](https://github.com/eslint/eslint/issues/21162)) (renovate\[bot]) - [`eddbad6`](https://github.com/eslint/eslint/commit/eddbad60158d8cda86830fbe934a9d2282273b32) test: fix failing ecosystem test for `eslint-plugin-unicorn` ([#&#8203;21156](https://github.com/eslint/eslint/issues/21156)) (Francesco Trotta) - [`60a178d`](https://github.com/eslint/eslint/commit/60a178d5ef1b0c471be0831031ed7347f8f81dc2) chore: update ecosystem plugins ([#&#8203;21150](https://github.com/eslint/eslint/issues/21150)) (ESLint Bot) - [`f9f61dc`](https://github.com/eslint/eslint/commit/f9f61dc6112836f46a58a410c38b8c2faf10973f) test: add error locations to `no-unreachable` ([#&#8203;21151](https://github.com/eslint/eslint/issues/21151)) (JIYEON) - [`d086293`](https://github.com/eslint/eslint/commit/d08629382b0a6aaa042823b796e5100e60053b54) test: add error locations to `no-undef` ([#&#8203;21147](https://github.com/eslint/eslint/issues/21147)) (JIYEON) - [`cc01b67`](https://github.com/eslint/eslint/commit/cc01b67061bbf558aa25746883ea1cad847f7cf2) test: add error locations to `no-useless-catch` ([#&#8203;21144](https://github.com/eslint/eslint/issues/21144)) (devoil) - [`688e75e`](https://github.com/eslint/eslint/commit/688e75ede01b295d51f2f86c9d82da020a4c887e) chore: add missing backticks in JSDoc ([#&#8203;21143](https://github.com/eslint/eslint/issues/21143)) (Bo Hyun Kim) - [`7c1e175`](https://github.com/eslint/eslint/commit/7c1e17543ad396f50f65b003cf9142d43d3c63b0) test: add error locations to `require-await` ([#&#8203;21145](https://github.com/eslint/eslint/issues/21145)) (Grit) - [`588a26d`](https://github.com/eslint/eslint/commit/588a26ddce3c5a20f5b3f3d51ba1353cce7b4b0c) test: add error locations to `no-extra-label` ([#&#8203;21139](https://github.com/eslint/eslint/issues/21139)) (dongkyu lee) - [`059aa89`](https://github.com/eslint/eslint/commit/059aa895743639e3ab53d14f9d944ff4be042233) test: add error locations to `no-useless-concat` ([#&#8203;21140](https://github.com/eslint/eslint/issues/21140)) (dongkyu lee) - [`5a452a8`](https://github.com/eslint/eslint/commit/5a452a8ba53917d65c9d83c3959ed35c2f890613) test: add error locations to `no-const-assign` ([#&#8203;21138](https://github.com/eslint/eslint/issues/21138)) (dongkyu lee) ### [`v10.8.0`](https://github.com/eslint/eslint/releases/tag/v10.8.0) [Compare Source](https://github.com/eslint/eslint/compare/v10.7.0...v10.8.0) #### Features - [`2fee9bb`](https://github.com/eslint/eslint/commit/2fee9bb7416116cbed4d8c8100b1ae713b6356a1) feat: export `ConfigObject` from `eslint/config` ([#&#8203;21082](https://github.com/eslint/eslint/issues/21082)) (sethamus) #### Bug Fixes - [`6b8d2f7`](https://github.com/eslint/eslint/commit/6b8d2f7589b8a7c8b91b8ca2a2ef6d46178760d8) fix: escape reserved characters in rule id in `html` formatter ([#&#8203;21129](https://github.com/eslint/eslint/issues/21129)) (Francesco Trotta) - [`9091071`](https://github.com/eslint/eslint/commit/90910715011211a20d011d807d398a7005127f35) fix: prevent `no-unreachable-loop` crash when all loop types are ignored ([#&#8203;21116](https://github.com/eslint/eslint/issues/21116)) (Pixel) - [`e23fafe`](https://github.com/eslint/eslint/commit/e23fafe8d4b15355adef6cdebef414c3a2019454) fix: prefer-object-spread add semicolon when adding parenthesis ([#&#8203;21081](https://github.com/eslint/eslint/issues/21081)) (synthex-byte) - [`20b5ad0`](https://github.com/eslint/eslint/commit/20b5ad052360a443786a202e94624a3f81846511) fix: quadratic-time regex in `prefer-template` ([#&#8203;21096](https://github.com/eslint/eslint/issues/21096)) (Milos Djermanovic) - [`8b6f6c0`](https://github.com/eslint/eslint/commit/8b6f6c0b33411f34485512456d94f221daf7321f) fix: apply ignore configs to computed methods in class-methods-use-this ([#&#8203;21094](https://github.com/eslint/eslint/issues/21094)) (Pixel) - [`b2c608c`](https://github.com/eslint/eslint/commit/b2c608c014a396800a24a89343265d0616bee2d8) fix: NewExpression with parenthesized callee in `preserve-caught-error` ([#&#8203;21083](https://github.com/eslint/eslint/issues/21083)) (Francesco Trotta) #### Documentation - [`6ddf858`](https://github.com/eslint/eslint/commit/6ddf8587e5cfeeb7328332601bb76d98b8a198ea) docs: fix broken Specify Parser Options anchor link ([#&#8203;21106](https://github.com/eslint/eslint/issues/21106)) (Minsu) - [`784dfbe`](https://github.com/eslint/eslint/commit/784dfbe98f0222426fd200153a5ce2e5624151f0) docs: Clarify `no-eq-null` description ([#&#8203;21120](https://github.com/eslint/eslint/issues/21120)) (Park Harin) - [`7ec733a`](https://github.com/eslint/eslint/commit/7ec733a3ba5acb053a73ac656030a3879aa48fda) docs: Fix typos and grammar in glossary ([#&#8203;21095](https://github.com/eslint/eslint/issues/21095)) (Marry (Subin Yang)) - [`92bb13f`](https://github.com/eslint/eslint/commit/92bb13f13065db72d62454b9830d3ae52db15c76) docs: replace quake link ([#&#8203;21108](https://github.com/eslint/eslint/issues/21108)) (Jung Hyeon Jun) - [`68eb4a5`](https://github.com/eslint/eslint/commit/68eb4a57572409dbdcfeb3bc5c92ddbba46bc770) docs: fix broken Specify Globals anchor links in rule pages ([#&#8203;21103](https://github.com/eslint/eslint/issues/21103)) (Minsu) - [`d28f697`](https://github.com/eslint/eslint/commit/d28f697e0d32d7446c825fd89c362db028450134) docs: replace Code Climate CLI links with Qlty CLI links ([#&#8203;21099](https://github.com/eslint/eslint/issues/21099)) (Jung Hyeon Jun) - [`eccc68d`](https://github.com/eslint/eslint/commit/eccc68d42564e46bc9020d19ec52d2988f3b7bfa) docs: correct --suppressions-location option description ([#&#8203;21093](https://github.com/eslint/eslint/issues/21093)) (Ga eun Lee) - [`c5963f7`](https://github.com/eslint/eslint/commit/c5963f74bfa82a5b7ccc0607dcdcc695b8c97a31) docs: Update README (GitHub Actions Bot) #### Chores - [`4fbf46d`](https://github.com/eslint/eslint/commit/4fbf46d140120ae838db08cbe49544c985956490) test: pin `webpack` version to 5.108.4 ([#&#8203;21137](https://github.com/eslint/eslint/issues/21137)) (Francesco Trotta) - [`2d063e2`](https://github.com/eslint/eslint/commit/2d063e224e9bb0ccb0a28c120f7e380a8d62f320) chore: update HTTP URLs to HTTPS in JSDoc and comments ([#&#8203;21101](https://github.com/eslint/eslint/issues/21101)) (Bo Hyun Kim) - [`eccbe7b`](https://github.com/eslint/eslint/commit/eccbe7bc9257a6c99880468e452c8dfafbf47f74) test: add error locations to `no-class-assign` ([#&#8203;21123](https://github.com/eslint/eslint/issues/21123)) (devoil) - [`e7d1e43`](https://github.com/eslint/eslint/commit/e7d1e4373bf626f8da76d62ce024c28928bc99bc) ci: bump actions/setup-go from 6 to 7 ([#&#8203;21118](https://github.com/eslint/eslint/issues/21118)) (dependabot\[bot]) - [`e9d66d0`](https://github.com/eslint/eslint/commit/e9d66d0cde1a7752c29dee53ab7b62632835a87a) ci: bump actions/setup-node from 6 to 7 ([#&#8203;21119](https://github.com/eslint/eslint/issues/21119)) (dependabot\[bot]) - [`ee225b6`](https://github.com/eslint/eslint/commit/ee225b60c26f0cc5f4d71641888a5bd2ec5626d6) test: Add error location details to `no-eq-null` rule ([#&#8203;21117](https://github.com/eslint/eslint/issues/21117)) (Park Harin) - [`044a627`](https://github.com/eslint/eslint/commit/044a627fa3e28ee1410d515acc5378eb4b49f8ba) chore: update minimatch to ^10.2.5 ([#&#8203;21107](https://github.com/eslint/eslint/issues/21107)) (김채영) - [`fb09aa8`](https://github.com/eslint/eslint/commit/fb09aa8ff09730d3ccf68859e065f99666b52466) chore: update ecosystem plugins ([#&#8203;21115](https://github.com/eslint/eslint/issues/21115)) (ESLint Bot) - [`5abd878`](https://github.com/eslint/eslint/commit/5abd878740fe417fd8a910cac3741f2a0317b365) test: add error locations to `no-proto` ([#&#8203;21114](https://github.com/eslint/eslint/issues/21114)) (Gihyeon Jeong / 정기현) - [`9715887`](https://github.com/eslint/eslint/commit/9715887ec94a5ff936447d7b680d039fbe2f0541) test: Add error location details to `no-div-regex` ([#&#8203;21110](https://github.com/eslint/eslint/issues/21110)) (Park Harin) - [`a746ec6`](https://github.com/eslint/eslint/commit/a746ec6ea4a2249b1eb3f512264da5f4d5f7c886) test: add error locations to `no-new-wrappers` ([#&#8203;21109](https://github.com/eslint/eslint/issues/21109)) (Gihyeon Jeong / 정기현) - [`8dde645`](https://github.com/eslint/eslint/commit/8dde64570e240f3ef8af873d59a752db6d8519aa) test: add error locations to `no-ex-assign` ([#&#8203;21102](https://github.com/eslint/eslint/issues/21102)) (devoil) - [`13ab0ec`](https://github.com/eslint/eslint/commit/13ab0ec447650c079d8a5e5d67222f79e69c741e) test: add error locations to `no-label-var` ([#&#8203;21098](https://github.com/eslint/eslint/issues/21098)) (Gihyeon Jeong / 정기현) - [`a99906f`](https://github.com/eslint/eslint/commit/a99906ffb8342dde03336b5c6372b5658f21d5f2) test: Add error location details to `no-delete-var` rule ([#&#8203;21105](https://github.com/eslint/eslint/issues/21105)) (Park Harin) - [`c47e8dc`](https://github.com/eslint/eslint/commit/c47e8dc9bbfba797430db45ae08cb6f7392cfc9d) chore: add missing backticks to `languages/js/index.js` ([#&#8203;21104](https://github.com/eslint/eslint/issues/21104)) (beeen) - [`0174428`](https://github.com/eslint/eslint/commit/0174428dd7543d118cf67a823b98dd97032fe68c) chore: add missing backticks to `translate-cli-options.js` ([#&#8203;21097](https://github.com/eslint/eslint/issues/21097)) (dongkyu lee) - [`3d36589`](https://github.com/eslint/eslint/commit/3d36589a4917326500f0707bb41745160f387d00) chore: add missing backticks to `serialization.js` ([#&#8203;21091](https://github.com/eslint/eslint/issues/21091)) (이규환) - [`dcc9312`](https://github.com/eslint/eslint/commit/dcc9312c1081931de0fe1b555fbb6aa82fe696b9) test: add error locations to `eqeqeq` ([#&#8203;21090](https://github.com/eslint/eslint/issues/21090)) (Ga eun Lee) - [`2710b18`](https://github.com/eslint/eslint/commit/2710b182472cd1a95e4aff6186cb2c4fbadb4ee0) ci: Add explicit permissions to rebuild-docs-sites workflow ([#&#8203;21089](https://github.com/eslint/eslint/issues/21089)) (Marry (Subin Yang)) - [`5d2f866`](https://github.com/eslint/eslint/commit/5d2f8663ee60701e9036b0b0933a12efd9d93269) chore: update dependency prettier to v3.9.5 ([#&#8203;21086](https://github.com/eslint/eslint/issues/21086)) (renovate\[bot]) - [`d584e31`](https://github.com/eslint/eslint/commit/d584e31098f262563b97dc5d5f23a63a187879a0) chore: fix failing ecosystem test for `eslint-plugin-unicorn` ([#&#8203;21084](https://github.com/eslint/eslint/issues/21084)) (Francesco Trotta) - [`bf3eda0`](https://github.com/eslint/eslint/commit/bf3eda049bd690f1e9a5a0c4520a6329b3e4ec85) chore: update ecosystem plugins ([#&#8203;21079](https://github.com/eslint/eslint/issues/21079)) (ESLint Bot) ### [`v10.7.0`](https://github.com/eslint/eslint/releases/tag/v10.7.0) [Compare Source](https://github.com/eslint/eslint/compare/v10.6.0...v10.7.0) #### Features - [`cf2a9bf`](https://github.com/eslint/eslint/commit/cf2a9bf2d982642f760370c15f1196f4658f4e27) feat: add errorClassNames option to preserve-caught-error rule ([#&#8203;21032](https://github.com/eslint/eslint/issues/21032)) (sethamus) - [`f8b873a`](https://github.com/eslint/eslint/commit/f8b873aae53610b80b5c1005606716e05ed3b91f) feat: max-nested-callbacks option for constructor callbacks ([#&#8203;21063](https://github.com/eslint/eslint/issues/21063)) (fnx) - [`557fde8`](https://github.com/eslint/eslint/commit/557fde8bc633d26ea4fe287d4483f287e8e6080f) feat: support computed `Number.parseInt` member access in `radix` rule ([#&#8203;21041](https://github.com/eslint/eslint/issues/21041)) (Pixel) - [`0b4a73b`](https://github.com/eslint/eslint/commit/0b4a73b65808f5a8fd192f15db2bf5e47002b9f7) feat: add suggestions to no-compare-neg-zero ([#&#8203;21034](https://github.com/eslint/eslint/issues/21034)) (den$) - [`96cdd42`](https://github.com/eslint/eslint/commit/96cdd427db5f26c6403fba92b0f7ae4556c595ec) feat: report invalid signed numeric radix values in `radix` rule ([#&#8203;21030](https://github.com/eslint/eslint/issues/21030)) (Pixel) #### Bug Fixes - [`3e7bf15`](https://github.com/eslint/eslint/commit/3e7bf15e69e6d3a2c8832356bcc2e9903cc4eede) fix: apply `ignoreClassesWithImplements` to class expressions ([#&#8203;21069](https://github.com/eslint/eslint/issues/21069)) (Pixel) - [`0d7d70c`](https://github.com/eslint/eslint/commit/0d7d70cf013ec5bf1e4f5a0fcf7128bdf059b2d4) fix: insert cause outside wrapping parens in preserve-caught-error ([#&#8203;21062](https://github.com/eslint/eslint/issues/21062)) (Mahin Anowar) - [`75ec753`](https://github.com/eslint/eslint/commit/75ec753226010867270787b412f3dae412e421e6) fix: handle static template literals in `eqeqeq` rule ([#&#8203;21058](https://github.com/eslint/eslint/issues/21058)) (Pixel) - [`b717a22`](https://github.com/eslint/eslint/commit/b717a22e2408389a2ad40af66543e46390669eb6) fix: prevent `eqeqeq` null option from reporting non-equality operators ([#&#8203;21057](https://github.com/eslint/eslint/issues/21057)) (Pixel) - [`e35b05f`](https://github.com/eslint/eslint/commit/e35b05f1961dcd691611bd68b6ff8a87072d6f76) fix: avoid `no-invalid-regexp` false positive for shadowed RegExp ([#&#8203;21051](https://github.com/eslint/eslint/issues/21051)) (Pixel) - [`a3172b6`](https://github.com/eslint/eslint/commit/a3172b69c7db63ea0321355543e3f527c7d8b76a) fix: avoid `no-control-regex` false positive for shadowed RegExp ([#&#8203;21050](https://github.com/eslint/eslint/issues/21050)) (Pixel) - [`d1f637e`](https://github.com/eslint/eslint/commit/d1f637eca27e523d613991c6bea5b8726b810e4c) fix: parenthesize sequence expression operands in no-implicit-coercion ([#&#8203;21045](https://github.com/eslint/eslint/issues/21045)) (spokodev) - [`8859baf`](https://github.com/eslint/eslint/commit/8859bafb018e2b23b5110d52e491b69b94ad890a) fix: avoid prefer-numeric-literals false positive for shadowed globals ([#&#8203;21047](https://github.com/eslint/eslint/issues/21047)) (한국) - [`a9e5961`](https://github.com/eslint/eslint/commit/a9e5961050676ef29dba9649dfcd7233d21760c7) fix: use-isnan false positive on shadowed NaN/Number ([#&#8203;20958](https://github.com/eslint/eslint/issues/20958)) (sethamus) - [`8a240a7`](https://github.com/eslint/eslint/commit/8a240a76108f30f2476e61a925e4d32d378cce5e) fix: avoid false positives in `radix` rule for spread arguments ([#&#8203;21044](https://github.com/eslint/eslint/issues/21044)) (Pixel) #### Documentation - [`c30d808`](https://github.com/eslint/eslint/commit/c30d80801ca561bdf65c6c3eba4ee57dced278cf) docs: Update README (GitHub Actions Bot) - [`5139800`](https://github.com/eslint/eslint/commit/5139800b23e77fdd1a76664e1b36f478942eae55) docs: document ESLint migration codemods in v9 and v10 guides ([#&#8203;20980](https://github.com/eslint/eslint/issues/20980)) (Alex Bit) - [`04174cb`](https://github.com/eslint/eslint/commit/04174cbfaac1f9555400b5332d69056e6aab9cc6) docs: Update README (GitHub Actions Bot) - [`026e130`](https://github.com/eslint/eslint/commit/026e1304080512bcddfd2af3557fff86474ff949) docs: update semver policy for bug fixes ([#&#8203;21048](https://github.com/eslint/eslint/issues/21048)) (Milos Djermanovic) - [`9d42fef`](https://github.com/eslint/eslint/commit/9d42fefb0e05ecd0b256c2ebed479fc868862f0c) docs: Update README (GitHub Actions Bot) - [`b230159`](https://github.com/eslint/eslint/commit/b23015955c8d6e6516076190730f538c86927f26) docs: Update README (GitHub Actions Bot) - [`0129972`](https://github.com/eslint/eslint/commit/0129972ba122e95bece6040fda44d20f6799246a) docs: correct `**/.js` glob to `**/*.js` in config files guide ([#&#8203;21036](https://github.com/eslint/eslint/issues/21036)) (EduardF1) #### Chores - [`9489379`](https://github.com/eslint/eslint/commit/948937986f2aa3cccb27a4c80694a85e5b0a5f64) chore: update dependency [@&#8203;eslint/eslintrc](https://github.com/eslint/eslintrc) to ^3.3.6 ([#&#8203;21076](https://github.com/eslint/eslint/issues/21076)) (renovate\[bot]) - [`81a4774`](https://github.com/eslint/eslint/commit/81a4774a928211bd0c01a06a1517736ece594522) chore: updates for v9.39.5 release (Jenkins) - [`9835414`](https://github.com/eslint/eslint/commit/983541491393323d17717683f6a2e6dbef4bc3f4) chore: enable `$ExpectType` annotations in all TypeScript files ([#&#8203;21071](https://github.com/eslint/eslint/issues/21071)) (Francesco Trotta) - [`72adf6b`](https://github.com/eslint/eslint/commit/72adf6bd214c142b38aabb4b8f6f908079c5301a) chore: restrict `markdownlint-cli2` updates in renovate ([#&#8203;21067](https://github.com/eslint/eslint/issues/21067)) (lumir) - [`833ec10`](https://github.com/eslint/eslint/commit/833ec10fd702644e94334edd3cd2aa313174a958) chore: update dependency prettier to v3.9.4 ([#&#8203;21061](https://github.com/eslint/eslint/issues/21061)) (renovate\[bot]) - [`7ea106d`](https://github.com/eslint/eslint/commit/7ea106ddcb6af7db8f36d62a28dbaba94d33598e) chore: update ecosystem plugins ([#&#8203;21059](https://github.com/eslint/eslint/issues/21059)) (ESLint Bot) - [`8fb550e`](https://github.com/eslint/eslint/commit/8fb550e7c257fbdc4108fc8e63db43c1d914d472) chore: add prettier update commit to `.git-blame-ignore-revs` ([#&#8203;21056](https://github.com/eslint/eslint/issues/21056)) (lumir) - [`e4e1166`](https://github.com/eslint/eslint/commit/e4e11668ead6b950328c71e894563a13ef72bf84) chore: update dependency prettier to v3.9.1 ([#&#8203;21055](https://github.com/eslint/eslint/issues/21055)) (renovate\[bot]) - [`0493f53`](https://github.com/eslint/eslint/commit/0493f53f3fcec4ed69a1808dffa153dcff1380d3) chore: update prettier to v3.9.0 ([#&#8203;21054](https://github.com/eslint/eslint/issues/21054)) (Pixel) - [`1056a99`](https://github.com/eslint/eslint/commit/1056a996c657b377dc16a58c28890d2940394408) chore: update dependency prettier to v3.8.5 ([#&#8203;21049](https://github.com/eslint/eslint/issues/21049)) (renovate\[bot]) - [`4d4155d`](https://github.com/eslint/eslint/commit/4d4155df4a21d711e8dd21a467de085e770bad35) ci: run ecosystem tests on pull requests ([#&#8203;21027](https://github.com/eslint/eslint/issues/21027)) (sethamus) - [`993539f`](https://github.com/eslint/eslint/commit/993539fd45d3d01aad3fbc13963e2245fdf7ee0d) chore: update dependency [@&#8203;eslint/json](https://github.com/eslint/json) to ^2.0.1 ([#&#8203;21042](https://github.com/eslint/eslint/issues/21042)) (renovate\[bot]) - [`53f8b69`](https://github.com/eslint/eslint/commit/53f8b69c15af7398c989071ee4788b88edd48bdd) test: add error locations to `no-constant-binary-expression` ([#&#8203;21039](https://github.com/eslint/eslint/issues/21039)) (lumir) - [`5ab71d5`](https://github.com/eslint/eslint/commit/5ab71d52f9d860df04e626fcd819a36257f21f9e) refactor: clean up radix rule internals ([#&#8203;21015](https://github.com/eslint/eslint/issues/21015)) (Pixel) - [`a80a9a4`](https://github.com/eslint/eslint/commit/a80a9a461478838930c5545f840473840b26b0e6) chore: update ecosystem plugins ([#&#8203;21035](https://github.com/eslint/eslint/issues/21035)) (ESLint Bot) - [`7c9a029`](https://github.com/eslint/eslint/commit/7c9a02933cf1c231237babb8a7a32150ab72e263) ci: add Node.js 26 to CI ([#&#8203;20847](https://github.com/eslint/eslint/issues/20847)) (lumir) ### [`v10.6.0`](https://github.com/eslint/eslint/releases/tag/v10.6.0) [Compare Source](https://github.com/eslint/eslint/compare/v10.5.0...v10.6.0) #### Features - [`b1f9106`](https://github.com/eslint/eslint/commit/b1f910628e29a018c860e2352bc14cd07c853d67) feat: detect Symbol() and BigInt() in no-constant-binary-expression ([#&#8203;20981](https://github.com/eslint/eslint/issues/20981)) (Taejin Kim) - [`f291007`](https://github.com/eslint/eslint/commit/f291007cb73f55c09cf3c2aa3a405df379a5c594) feat: add checkRelationalComparisons to no-constant-binary-expression ([#&#8203;20948](https://github.com/eslint/eslint/issues/20948)) (sethamus) #### Bug Fixes - [`6b05784`](https://github.com/eslint/eslint/commit/6b05784eb271ac98ca3e1e2a48c4b14bb588c786) fix: prefer-exponentiation-operator invalid autofix at statement start ([#&#8203;20997](https://github.com/eslint/eslint/issues/20997)) (Milos Djermanovic) - [`bb9eb2a`](https://github.com/eslint/eslint/commit/bb9eb2ab28daf6e6dafc62daa6b5daf9c2b7046c) fix: account for shadowed `Boolean` in `no-extra-boolean-cast` ([#&#8203;21013](https://github.com/eslint/eslint/issues/21013)) (den$) - [`8fd8741`](https://github.com/eslint/eslint/commit/8fd8741009a3ed7845c89bfe2fb3eaa2119b2d15) fix: don't report shadowed undefined in `radix` rule ([#&#8203;21011](https://github.com/eslint/eslint/issues/21011)) (Pixel) - [`5784980`](https://github.com/eslint/eslint/commit/5784980ce8ba99556db98907895d82ef49cd0a27) fix: don't report shadowed undefined in no-throw-literal ([#&#8203;21010](https://github.com/eslint/eslint/issues/21010)) (Pixel) - [`9cd1e6d`](https://github.com/eslint/eslint/commit/9cd1e6de5bad487a9c713bdc9fda5af7ea0babcd) fix: suppress invalid class suggestion in no-promise-executor-return ([#&#8203;21008](https://github.com/eslint/eslint/issues/21008)) (Pixel) - [`d4eb2dc`](https://github.com/eslint/eslint/commit/d4eb2dc95f17cdf491edca91b7d9caf05b86253f) fix: don't report shadowed undefined in prefer-promise-reject-errors ([#&#8203;21006](https://github.com/eslint/eslint/issues/21006)) (Pixel) - [`2360464`](https://github.com/eslint/eslint/commit/23604646db6d987d01edb8aa5f4d2a88bd4c01d0) fix: prefer-promise-reject-errors false positives for shadowed Promise ([#&#8203;21003](https://github.com/eslint/eslint/issues/21003)) (den$) - [`63d52d2`](https://github.com/eslint/eslint/commit/63d52d28de705ec46f328d18166e8b7170b3f024) fix: restore max-classes-per-file report range ([#&#8203;21002](https://github.com/eslint/eslint/issues/21002)) (Pixel) - [`7feaff0`](https://github.com/eslint/eslint/commit/7feaff0cfb8d6a6260d3ea56887c9161daf8c700) fix: callback detection logic for IIFEs in max-nested-callbacks ([#&#8203;20979](https://github.com/eslint/eslint/issues/20979)) (fnx) - [`399a2ec`](https://github.com/eslint/eslint/commit/399a2ec81bcbcff2c67920db51d9276b20ac1025) fix: don't report inner non-callbacks in `max-nested-callbacks` ([#&#8203;20995](https://github.com/eslint/eslint/issues/20995)) (Milos Djermanovic) #### Documentation - [`a83683d`](https://github.com/eslint/eslint/commit/a83683db1c27193c2ad333fc5c0aedcc8a293db7) docs: Update README (GitHub Actions Bot) - [`f5449f9`](https://github.com/eslint/eslint/commit/f5449f96c2caabbc1a28b15211873e2f672f5ae5) docs: document userland patterns for global assertionOptions in RuleT… ([#&#8203;20986](https://github.com/eslint/eslint/issues/20986)) (playgirl) - [`bea49f7`](https://github.com/eslint/eslint/commit/bea49f7b2899ebf708482f977ef2ada41fd2c3f0) docs: Update README (GitHub Actions Bot) - [`e5f70f9`](https://github.com/eslint/eslint/commit/e5f70f9b06683a887dd0d6dc1cc91a9c9bea816d) docs: update code-path diagrams ([#&#8203;20984](https://github.com/eslint/eslint/issues/20984)) (Tanuj Kanti) - [`8890c2d`](https://github.com/eslint/eslint/commit/8890c2d40880b195b9167735c24ec0cc5de5eb96) docs: add TypeScript config guidance for MCP server ([#&#8203;20796](https://github.com/eslint/eslint/issues/20796)) (Pierluigi Lenoci) - [`3eb3d9b`](https://github.com/eslint/eslint/commit/3eb3d9b1b5edecc3fcae0519ddba0e3745e889e3) docs: Update README (GitHub Actions Bot) - [`c5bb59c`](https://github.com/eslint/eslint/commit/c5bb59cf613dabafd550227b6adaa9327b1095f5) docs: Update README (GitHub Actions Bot) - [`eb3c97c`](https://github.com/eslint/eslint/commit/eb3c97c776731ce11b28cc99f0271f41b9994701) docs: fix grammar in prefer-const rule description ([#&#8203;20983](https://github.com/eslint/eslint/issues/20983)) (lumir) #### Chores - [`6a42034`](https://github.com/eslint/eslint/commit/6a42034a57a816b0a313720b3b9df09455bd0b5e) ci: run ecosystem tests on main branch ([#&#8203;20891](https://github.com/eslint/eslint/issues/20891)) (sethamus) - [`3dbacdb`](https://github.com/eslint/eslint/commit/3dbacdbb31673c87ca86ecafbb18712d8d1daed8) ci: bump actions/checkout from 6 to 7 ([#&#8203;21014](https://github.com/eslint/eslint/issues/21014)) (dependabot\[bot]) - [`c3abfca`](https://github.com/eslint/eslint/commit/c3abfca7c96cc9a244f54eeb66e9971c59280354) chore: correct JSDoc param types in html formatter ([#&#8203;21018](https://github.com/eslint/eslint/issues/21018)) (Minseon Kim) - [`a832320`](https://github.com/eslint/eslint/commit/a8323209cdbefefd540c5beeaa51418d8ec40f9e) ci: split ecosystem tests into separate jobs ([#&#8203;21001](https://github.com/eslint/eslint/issues/21001)) (xbinaryx) - [`27166e7`](https://github.com/eslint/eslint/commit/27166e78511db526688afc34bbfab1a458405f3f) chore: update ecosystem plugins ([#&#8203;21005](https://github.com/eslint/eslint/issues/21005)) (ESLint Bot) - [`865d76e`](https://github.com/eslint/eslint/commit/865d76e40107d4fa10a17fc3203b303eb8a88dc3) ci: bump pnpm/action-setup from 6.0.8 to 6.0.9 ([#&#8203;20989](https://github.com/eslint/eslint/issues/20989)) (dependabot\[bot]) - [`27a88c9`](https://github.com/eslint/eslint/commit/27a88c9fa7c040f4cd39e5a5e6e2d02441c408ef) chore: update dependency markdown-it to v14 in root ([#&#8203;20994](https://github.com/eslint/eslint/issues/20994)) (Milos Djermanovic) - [`970cea6`](https://github.com/eslint/eslint/commit/970cea62b295d931a4109abedeb21ba192d3f2be) chore: update dependency markdown-it to v14 ([#&#8203;20993](https://github.com/eslint/eslint/issues/20993)) (Milos Djermanovic) - [`b482120`](https://github.com/eslint/eslint/commit/b482120bacb40204fbf16f3b20be7207057157a5) chore: update dependency prettier to v3.8.4 ([#&#8203;20990](https://github.com/eslint/eslint/issues/20990)) (renovate\[bot]) - [`6993fb3`](https://github.com/eslint/eslint/commit/6993fb3173da84999fc208507b93f523aa657448) chore: update ecosystem plugins ([#&#8203;20985](https://github.com/eslint/eslint/issues/20985)) (ESLint Bot) ### [`v10.5.0`](https://github.com/eslint/eslint/releases/tag/v10.5.0) [Compare Source](https://github.com/eslint/eslint/compare/v10.4.1...v10.5.0) #### Features - [`5ca8c52`](https://github.com/eslint/eslint/commit/5ca8c5278edea1fd84d3ba83d8ea3f52fb3831ad) feat: correct stack tracking in max-nested-callbacks ([#&#8203;20973](https://github.com/eslint/eslint/issues/20973)) (Pixel998) - [`b565783`](https://github.com/eslint/eslint/commit/b5657837604fa5e8cf1278074782025cadd34b6c) feat: report no-with violations at the with keyword ([#&#8203;20971](https://github.com/eslint/eslint/issues/20971)) (Pixel998) - [`2ce032f`](https://github.com/eslint/eslint/commit/2ce032fbc72a1a80c024c084a4f382fb6dece684) feat: report max-lines-per-function violations at function head ([#&#8203;20966](https://github.com/eslint/eslint/issues/20966)) (Pixel998) - [`732cb3e`](https://github.com/eslint/eslint/commit/732cb3e09d5b8b809b5f461d118a5d9fdcd6427f) feat: report max-nested-callbacks violations at function head ([#&#8203;20967](https://github.com/eslint/eslint/issues/20967)) (Pixel998) - [`f9c138a`](https://github.com/eslint/eslint/commit/f9c138a0ba7d8e37aed39aef4a3ff1cae8c669f7) feat: report max-depth violations on keywords ([#&#8203;20943](https://github.com/eslint/eslint/issues/20943)) (Pixel998) - [`bdb496c`](https://github.com/eslint/eslint/commit/bdb496cc0d54b6d0a023aef9abd5f040ccff2101) feat: correct max-depth handling for else-if chains ([#&#8203;20944](https://github.com/eslint/eslint/issues/20944)) (Pixel998) - [`c296873`](https://github.com/eslint/eslint/commit/c29687354a7f96093f57f7d73eecb866ad5e2953) feat: update error loc in `max-statements` to function header ([#&#8203;20907](https://github.com/eslint/eslint/issues/20907)) (Taejin Kim) #### Documentation - [`8ae1b5b`](https://github.com/eslint/eslint/commit/8ae1b5b856dc031cd6c701d89a4df7da4772cd56) docs: Update README (GitHub Actions Bot) - [`ca7eb90`](https://github.com/eslint/eslint/commit/ca7eb90127dcad917188bb1342623f02a272e781) docs: update Node.js prerequisites to include ICU support ([#&#8203;20962](https://github.com/eslint/eslint/issues/20962)) (Francesco Trotta) - [`f99b47a`](https://github.com/eslint/eslint/commit/f99b47a6799be25321552402a49303bb06a43fe4) docs: Update README (GitHub Actions Bot) - [`acf03d4`](https://github.com/eslint/eslint/commit/acf03d4eed31d259c7dc62af5b9640629784f7cc) docs: clarify precedence of parserOptions over languageOptions ([#&#8203;20926](https://github.com/eslint/eslint/issues/20926)) (sethamus) #### Chores - [`b18bf58`](https://github.com/eslint/eslint/commit/b18bf58c5ac748415ffffdff2d96980fbd6a57e8) chore: update ecosystem plugins ([#&#8203;20959](https://github.com/eslint/eslint/issues/20959)) (ESLint Bot) - [`c2d1444`](https://github.com/eslint/eslint/commit/c2d1444df77cb42e5a0b89ab70496879d180a54d) refactor: replace areAllSegmentsUnreachable with !isAnySegmentReachable ([#&#8203;20951](https://github.com/eslint/eslint/issues/20951)) (Taejin Kim) - [`243b8c5`](https://github.com/eslint/eslint/commit/243b8c56014bbbe63771185b0731d8dd4d1316e9) chore: enhance config-rule to support oneOf, anyOf, and nested schemas ([#&#8203;20788](https://github.com/eslint/eslint/issues/20788)) (kuldeep kumar) - [`217b2a9`](https://github.com/eslint/eslint/commit/217b2a91f46137c5ffd693965e71306c4c15ea6b) test: add unit tests for ParserService ([#&#8203;20949](https://github.com/eslint/eslint/issues/20949)) (Taejin Kim) - [`72003e7`](https://github.com/eslint/eslint/commit/72003e781d76bd4ee0d98a6601730d0b829070f9) test: add location information to error messages in `max-statements` ([#&#8203;20945](https://github.com/eslint/eslint/issues/20945)) (lumir) - [`7797c26`](https://github.com/eslint/eslint/commit/7797c266977b0bc4971aa79721813d480de72cd1) refactor: deduplicate isAnySegmentReachable across rules ([#&#8203;20890](https://github.com/eslint/eslint/issues/20890)) (Taejin Kim) - [`67c46fa`](https://github.com/eslint/eslint/commit/67c46fa6e4f34e88cc6bc82f8a0dcc917c65d257) chore: update ecosystem plugins ([#&#8203;20938](https://github.com/eslint/eslint/issues/20938)) (ESLint Bot) - [`95d8c7a`](https://github.com/eslint/eslint/commit/95d8c7a99f991abd8ab618d0ee2cbd4f58effc29) chore: update dependency [@&#8203;eslint/json](https://github.com/eslint/json) to v2 ([#&#8203;20934](https://github.com/eslint/eslint/issues/20934)) (renovate\[bot]) - [`cf9e496`](https://github.com/eslint/eslint/commit/cf9e496205142cd4971b9f98aed85866d1010b9c) chore: update [@&#8203;arethetypeswrong/cli](https://github.com/arethetypeswrong/cli) to 0.18.3 ([#&#8203;20933](https://github.com/eslint/eslint/issues/20933)) (Pixel998) - [`fb6d396`](https://github.com/eslint/eslint/commit/fb6d3960cacc51fc12383fa5ded2382adbf90c1c) test: run type tests with TypeScript 7 ([#&#8203;20868](https://github.com/eslint/eslint/issues/20868)) (sethamus) ### [`v10.4.1`](https://github.com/eslint/eslint/releases/tag/v10.4.1) [Compare Source](https://github.com/eslint/eslint/compare/v10.4.0...v10.4.1) #### Bug Fixes - [`e557467`](https://github.com/eslint/eslint/commit/e557467db7496220eebcbe2ac5ea6d38c12bb1ec) fix: update `@eslint/plugin-kit` version to 0.7.2 ([#&#8203;20930](https://github.com/eslint/eslint/issues/20930)) (Francesco Trotta) - [`d4ce898`](https://github.com/eslint/eslint/commit/d4ce898796ca22c3b96aa70d3014cb85f4bac1cd) fix: propagate failures from delegated commands ([#&#8203;20917](https://github.com/eslint/eslint/issues/20917)) (Minh Vu) - [`f4f3507`](https://github.com/eslint/eslint/commit/f4f3507460bc016b5be979c05d2969793f570cbf) fix: prefer-arrow-callback invalid autofix with newline after `async` ([#&#8203;20916](https://github.com/eslint/eslint/issues/20916)) (kuldeep kumar) - [`c5bc78b`](https://github.com/eslint/eslint/commit/c5bc78b37e08b9054a11f0cc2d81808bb24acb85) fix: false positive for reference in `finally` block ([#&#8203;20655](https://github.com/eslint/eslint/issues/20655)) (Tanuj Kanti) - [`27538c0`](https://github.com/eslint/eslint/commit/27538c01f5df4e9306f6f4ba867b2dd6307fae59) fix: add missing CodePath and CodePathSegment types ([#&#8203;20853](https://github.com/eslint/eslint/issues/20853)) (Pixel998) #### Documentation - [`61b0add`](https://github.com/eslint/eslint/commit/61b0add61ffc52665562be7bb96f526690a78b30) docs: remove deprecated rule from related rules of `max-params` ([#&#8203;20921](https://github.com/eslint/eslint/issues/20921)) (Tanuj Kanti) - [`305d5b9`](https://github.com/eslint/eslint/commit/305d5b91aeac24d36fde42f75625a8f183d4ce43) docs: remove deprecated rules from related rules section ([#&#8203;20911](https://github.com/eslint/eslint/issues/20911)) (Tanuj Kanti) - [`49b0202`](https://github.com/eslint/eslint/commit/49b0202d01918b8061720d586dffd7c68047090c) docs: fix `display: none` of ad ([#&#8203;20901](https://github.com/eslint/eslint/issues/20901)) (Tanuj Kanti) - [`9067f94`](https://github.com/eslint/eslint/commit/9067f9492ec998afc5b4f057a477ecf6ebd45e44) docs: switch build to Node.js 24 ([#&#8203;20893](https://github.com/eslint/eslint/issues/20893)) (Milos Djermanovic) - [`c91b041`](https://github.com/eslint/eslint/commit/c91b0417e3420c76807ce1fa2aea76e2de87ab86) docs: Update README (GitHub Actions Bot) - [`e349265`](https://github.com/eslint/eslint/commit/e349265cb37f3ebc837e178e48a725bb782bd870) docs: clarify semver strings in rule deprecation objects ([#&#8203;20885](https://github.com/eslint/eslint/issues/20885)) (Milos Djermanovic) #### Chores - [`b0e466b`](https://github.com/eslint/eslint/commit/b0e466b6ab47bfc7de43d8de0c315d8ee83aa584) test: add `data` property to invalid tests cases for rules ([#&#8203;20924](https://github.com/eslint/eslint/issues/20924)) (Tanuj Kanti) - [`f78838b`](https://github.com/eslint/eslint/commit/f78838bc4c86d487e1bcc7cede260c4467721c46) test: add CodePath type coverage ([#&#8203;20904](https://github.com/eslint/eslint/issues/20904)) (Pixel998) - [`1daa4bd`](https://github.com/eslint/eslint/commit/1daa4bd734b79a62e317d0394394a6b38cff49f9) chore: update `eslint-plugin-eslint-comments` test data to latest commit ([#&#8203;20922](https://github.com/eslint/eslint/issues/20922)) (Francesco Trotta) - [`002942c`](https://github.com/eslint/eslint/commit/002942ce988ea28b78e0a2f3b074081e638b552c) ci: declare contents:read on update-readme workflow ([#&#8203;20919](https://github.com/eslint/eslint/issues/20919)) (Arpit Jain) - [`64bca24`](https://github.com/eslint/eslint/commit/64bca24e7bed35bc3c864fc625cb2d89eca87d5b) chore: update ecosystem plugins ([#&#8203;20912](https://github.com/eslint/eslint/issues/20912)) (ESLint Bot) - [`6d7c832`](https://github.com/eslint/eslint/commit/6d7c832950d5e92499d88e504080661f888f8f56) chore: ignore fflate updates in renovate ([#&#8203;20908](https://github.com/eslint/eslint/issues/20908)) (Pixel998) - [`b2c8638`](https://github.com/eslint/eslint/commit/b2c86382164d87c6203b78d52068cd6a2a6ffe30) ci: bump pnpm/action-setup from 6.0.7 to 6.0.8 ([#&#8203;20889](https://github.com/eslint/eslint/issues/20889)) (dependabot\[bot]) - [`a9b8d7f`](https://github.com/eslint/eslint/commit/a9b8d7f74c50211701cfc49710fa541fd91b2aa5) chore: increase maxBuffer for ecosystem tests ([#&#8203;20881](https://github.com/eslint/eslint/issues/20881)) (sethamus) - [`b702ead`](https://github.com/eslint/eslint/commit/b702ead5e1ed7cb9f28238a454797662efb37396) chore: update ecosystem update PR settings ([#&#8203;20884](https://github.com/eslint/eslint/issues/20884)) (Pixel998) - [`507f60e`](https://github.com/eslint/eslint/commit/507f60e9a78c9a902bc8759f066ae17a1ea6cd81) chore: update ecosystem plugins ([#&#8203;20882](https://github.com/eslint/eslint/issues/20882)) (ESLint Bot) - [`92f5c5b`](https://github.com/eslint/eslint/commit/92f5c5bb6bf3a5d167c8ee53a430833410295c6d) test: add unit test for message-count ([#&#8203;20878](https://github.com/eslint/eslint/issues/20878)) (kuldeep kumar) - [`df32108`](https://github.com/eslint/eslint/commit/df321080af5758b1fa25e4b9a40e26135642dd6e) chore: add [@&#8203;eslint/markdown](https://github.com/eslint/markdown) and typescript-eslint ecosystem tests ([#&#8203;20837](https://github.com/eslint/eslint/issues/20837)) (sethamus) - [`327f91d`](https://github.com/eslint/eslint/commit/327f91d36aa49f2a50ded931d841a16374fd875f) chore: use includeIgnoreFile internally ([#&#8203;20876](https://github.com/eslint/eslint/issues/20876)) (Kirk Waiblinger) - [`f0dc4bd`](https://github.com/eslint/eslint/commit/f0dc4bd893fb3a9f44e4ddc3ad7063ffb0beacd3) chore: pin fflate\@&#8203;0.8.2 ([#&#8203;20877](https://github.com/eslint/eslint/issues/20877)) (Milos Djermanovic) - [`0f4bd25`](https://github.com/eslint/eslint/commit/0f4bd257a67a082b756de746d9e0c4842ab764ca) ci: run Discord alert for ecosystem test failures ([#&#8203;20873](https://github.com/eslint/eslint/issues/20873)) (Copilot) ### [`v10.4.0`](https://github.com/eslint/eslint/releases/tag/v10.4.0) [Compare Source](https://github.com/eslint/eslint/compare/v10.3.0...v10.4.0) #### Features - [`1a45ec5`](https://github.com/eslint/eslint/commit/1a45ec596af1dd5f880e6874cb8f24dafb6a7ecf) feat: check sequence expressions in `for-direction` ([#&#8203;20701](https://github.com/eslint/eslint/issues/20701)) (kuldeep kumar) - [`450040b`](https://github.com/eslint/eslint/commit/450040bd89b989b3531824c6be45feb5fe3d936b) feat: add `includeIgnoreFile()` to `eslint/config` ([#&#8203;20735](https://github.com/eslint/eslint/issues/20735)) (Kirk Waiblinger) #### Bug Fixes - [`544c0c3`](https://github.com/eslint/eslint/commit/544c0c3da589166ad8e5d634f35d3d06701c57be) fix: escape code path DOT labels in debug output ([#&#8203;20866](https://github.com/eslint/eslint/issues/20866)) (Pixel998) - [`6799431`](https://github.com/eslint/eslint/commit/6799431203f2579632d0870f98ba132067f4040c) fix: update dependency [@&#8203;eslint/config-helpers](https://github.com/eslint/config-helpers) to ^0.6.0 ([#&#8203;20850](https://github.com/eslint/eslint/issues/20850)) (renovate\[bot]) - [`f078fef`](https://github.com/eslint/eslint/commit/f078fef5005dceb14fc162aab7c7200e027688dd) fix: handle non-array deprecated rule replacements ([#&#8203;20825](https://github.com/eslint/eslint/issues/20825)) (xbinaryx) #### Documentation - [`7e52a71`](https://github.com/eslint/eslint/commit/7e52a7151fb92eec0e0f67fe4e5ddbd1ccce796f) docs: add mention of `@eslint-react/eslint-plugin` ([#&#8203;20869](https://github.com/eslint/eslint/issues/20869)) (Pavel) - [`db3468b`](https://github.com/eslint/eslint/commit/db3468ba746407d7f286f18f7ea9db6df0e3bc08) docs: tweak wording around ambiguous CJS-vs-ESM config ([#&#8203;20865](https://github.com/eslint/eslint/issues/20865)) (Kirk Waiblinger) - [`9084664`](https://github.com/eslint/eslint/commit/90846643ec6e97d447ae0d831fabe6d17b0a998a) docs: Update README (GitHub Actions Bot) - [`9cc7387`](https://github.com/eslint/eslint/commit/9cc73875046e3c4b8313644cbb1e99e26b36bd3f) docs: Update README (GitHub Actions Bot) - [`3d7b548`](https://github.com/eslint/eslint/commit/3d7b5484407403817aa9071a394d336d8ea96eb5) docs: Update README (GitHub Actions Bot) - [`191ec3c`](https://github.com/eslint/eslint/commit/191ec3c0a3f94ce0f110df761f0b2b8949011ccb) docs: Update README (GitHub Actions Bot) #### Chores - [`6616856`](https://github.com/eslint/eslint/commit/6616856f28fa514a30f87b5539fc100d739a94bf) chore: upgrade knip to v6 ([#&#8203;20875](https://github.com/eslint/eslint/issues/20875)) (Pixel998) - [`d13b084`](https://github.com/eslint/eslint/commit/d13b084a3ad02f926e9addaa35fc383759ea5554) ci: ensure auto-created PRs run CI ([#&#8203;20860](https://github.com/eslint/eslint/issues/20860)) (lumir) - [`e71c7af`](https://github.com/eslint/eslint/commit/e71c7af86dce9acc1d18cb12d2184309f6841594) ci: bump pnpm/action-setup from 6.0.5 to 6.0.7 ([#&#8203;20862](https://github.com/eslint/eslint/issues/20862)) (dependabot\[bot]) - [`d84393d`](https://github.com/eslint/eslint/commit/d84393dea170f54191fd20c8268b52c81c0ccd99) test: add unit tests for SuppressionsService.applySuppressions() ([#&#8203;20863](https://github.com/eslint/eslint/issues/20863)) (kuldeep kumar) - [`24db8cb`](https://github.com/eslint/eslint/commit/24db8cb8e6f07fba667121777a15b1785486be94) test: add tests for SuppressionsService.save() ([#&#8203;20802](https://github.com/eslint/eslint/issues/20802)) (kuldeep kumar) - [`2ef0549`](https://github.com/eslint/eslint/commit/2ef0549cac4a9537e4c3a26b9f3edd4c99476bf6) chore: update ecosystem plugins ([#&#8203;20857](https://github.com/eslint/eslint/issues/20857)) (github-actions\[bot]) - [`a429791`](https://github.com/eslint/eslint/commit/a4297918d264d229a06cd96051ef9b91c7b86732) ci: remove `eslint-webpack-plugin` types integration test ([#&#8203;20668](https://github.com/eslint/eslint/issues/20668)) (Milos Djermanovic) - [`9e37386`](https://github.com/eslint/eslint/commit/9e37386aa7f2ce220b2ef74a6afbac5f6b3527c5) chore: replace `recast` with range approach in code-sample-minimizer ([#&#8203;20682](https://github.com/eslint/eslint/issues/20682)) (Copilot) - [`0dd1f9f`](https://github.com/eslint/eslint/commit/0dd1f9ffc9a07704d46e2a4c8d4ccc0d0908b0c0) test: disable warning for `vm.constants.USE_MAIN_CONTEXT_DEFAULT_LOADER` ([#&#8203;20845](https://github.com/eslint/eslint/issues/20845)) (Francesco Trotta) - [`9da3c7b`](https://github.com/eslint/eslint/commit/9da3c7bc92d9579f8db19ecb56e718538d09db2b) refactor: remove deprecated `meta.language` and migrate `meta.dialects` ([#&#8203;20716](https://github.com/eslint/eslint/issues/20716)) (Pixel998) - [`2099ed1`](https://github.com/eslint/eslint/commit/2099ed12a0a74c3d7f0808514362af2499b4fe2b) refactor: add `meta.defaultOptions` to more rules, enable linting ([#&#8203;20800](https://github.com/eslint/eslint/issues/20800)) (xbinaryx) - [`f1dfbc9`](https://github.com/eslint/eslint/commit/f1dfbc9ca57196de7092e1888cc99427bd6fe06e) chore: update ecosystem plugins ([#&#8203;20836](https://github.com/eslint/eslint/issues/20836)) (github-actions\[bot]) - [`c759413`](https://github.com/eslint/eslint/commit/c75941390c14728806cd4baef4f6072f6de78318) ci: bump pnpm/action-setup from 6.0.3 to 6.0.5 ([#&#8203;20843](https://github.com/eslint/eslint/issues/20843)) (dependabot\[bot]) - [`5b817d6`](https://github.com/eslint/eslint/commit/5b817d6fdc9ae2c35b528dc662b2eca8f40f64aa) test: add unit tests for lib/shared/ast-utils ([#&#8203;20838](https://github.com/eslint/eslint/issues/20838)) (kuldeep kumar) - [`1c13ae3`](https://github.com/eslint/eslint/commit/1c13ae3934c198c494e5958fa3a68b33244ff06a) test: add unit tests for lib/shared/severity ([#&#8203;20835](https://github.com/eslint/eslint/issues/20835)) (kuldeep kumar) </details> <details> <summary>sindresorhus/globals (globals)</summary> ### [`v17.14.0`](https://github.com/sindresorhus/globals/releases/tag/v17.14.0) [Compare Source](https://github.com/sindresorhus/globals/compare/v17.13.0...v17.14.0) - Update globals (2026-11-01) ([#&#8203;355](https://github.com/sindresorhus/globals/issues/355)) [`7abfb5d`](https://github.com/sindresorhus/globals/commit/7abfb5d) *** ### [`v17.13.0`](https://github.com/sindresorhus/globals/releases/tag/v17.13.0) [Compare Source](https://github.com/sindresorhus/globals/compare/v17.12.0...v17.13.0) - Update globals (2026-10-01) ([#&#8203;354](https://github.com/sindresorhus/globals/issues/354)) [`b007369`](https://github.com/sindresorhus/globals/commit/b007369) *** ### [`v17.12.0`](https://github.com/sindresorhus/globals/releases/tag/v17.12.0) [Compare Source](https://github.com/sindresorhus/globals/compare/v17.11.0...v17.12.0) - Update globals (2026-09-01) ([#&#8203;353](https://github.com/sindresorhus/globals/issues/353)) [`50a2119`](https://github.com/sindresorhus/globals/commit/50a2119) - Add `__webpack_layer__` global ([#&#8203;351](https://github.com/sindresorhus/globals/issues/351)) [`779a11a`](https://github.com/sindresorhus/globals/commit/779a11a) *** ### [`v17.11.0`](https://github.com/sindresorhus/globals/releases/tag/v17.11.0) [Compare Source](https://github.com/sindresorhus/globals/compare/v17.10.0...v17.11.0) - Add `react-native` globals ([#&#8203;337](https://github.com/sindresorhus/globals/issues/337)) [`61eafbf`](https://github.com/sindresorhus/globals/commit/61eafbf) *** ### [`v17.10.0`](https://github.com/sindresorhus/globals/releases/tag/v17.10.0) [Compare Source](https://github.com/sindresorhus/globals/compare/v17.9.0...v17.10.0) - Add `GM_cookie` to Greasemonkey globals ([#&#8203;349](https://github.com/sindresorhus/globals/issues/349)) [`f468407`](https://github.com/sindresorhus/globals/commit/f468407) *** ### [`v17.9.0`](https://github.com/sindresorhus/globals/releases/tag/v17.9.0) [Compare Source](https://github.com/sindresorhus/globals/compare/v17.8.0...v17.9.0) - Update globals (2026-08-01) ([#&#8203;348](https://github.com/sindresorhus/globals/issues/348)) [`5a958ed`](https://github.com/sindresorhus/globals/commit/5a958ed) *** ### [`v17.8.0`](https://github.com/sindresorhus/globals/releases/tag/v17.8.0) [Compare Source](https://github.com/sindresorhus/globals/compare/v17.7.0...v17.8.0) - Update globals (2026-07-01) ([#&#8203;347](https://github.com/sindresorhus/globals/issues/347)) [`7394811`](https://github.com/sindresorhus/globals/commit/7394811) *** ### [`v17.7.0`](https://github.com/sindresorhus/globals/releases/tag/v17.7.0) [Compare Source](https://github.com/sindresorhus/globals/compare/v17.6.0...v17.7.0) - Update globals (2026-06-22) ([#&#8203;345](https://github.com/sindresorhus/globals/issues/345)) [`33b75f9`](https://github.com/sindresorhus/globals/commit/33b75f9) *** </details> <details> <summary>webpro-nl/knip (knip)</summary> ### [`v6.44.1`](https://github.com/webpro-nl/knip/releases/tag/knip%406.44.1): Release 6.44.1 [Compare Source](https://github.com/webpro-nl/knip/compare/knip@6.44.0...knip@6.44.1) - Narrow the docs package Node.js engine range to Astro's requirement ([`60589c4`](https://github.com/webpro-nl/knip/commit/60589c42a12b8f26c048318017700f56cbe9bbef)) - Follow resolve.alias in the Rsbuild plugin ([#&#8203;2251](https://github.com/webpro-nl/knip/issues/2251)) ([`4dc61d2`](https://github.com/webpro-nl/knip/commit/4dc61d2febaa15770f41d8a5af7d33f19de25fa3)) - thanks [@&#8203;fixfon](https://github.com/fixfon)! - Read SWC plugins from `tools.swc` in the Rsbuild plugin ([#&#8203;2253](https://github.com/webpro-nl/knip/issues/2253)) ([`ad2227a`](https://github.com/webpro-nl/knip/commit/ad2227a52970044d727e08a73b22e9ebea811dd1)) - thanks [@&#8203;fixfon](https://github.com/fixfon)! - Read .release-it.mjs and other c12 extensions in the Release It plugin ([#&#8203;2258](https://github.com/webpro-nl/knip/issues/2258)) ([`87816e6`](https://github.com/webpro-nl/knip/commit/87816e6f311510c139e998b2b956aed612239b1d)) - thanks [@&#8203;SwastikTripathi](https://github.com/SwastikTripathi)! - Read .mocharc.mjs in the Mocha plugin ([#&#8203;2259](https://github.com/webpro-nl/knip/issues/2259)) ([`16fee14`](https://github.com/webpro-nl/knip/commit/16fee14f4ec1bcd3244a1b4cb2ac15343a4e0999)) - thanks [@&#8203;SwastikTripathi](https://github.com/SwastikTripathi)! - Restart the language server on config changes after a failed start ([#&#8203;2257](https://github.com/webpro-nl/knip/issues/2257)) ([`f7db448`](https://github.com/webpro-nl/knip/commit/f7db448226066f61ee6ee7e938cdc683bbbf433f)) - thanks [@&#8203;fixfon](https://github.com/fixfon)! - Keep the command after boolean flags in the Bun resolver (resolve [#&#8203;2262](https://github.com/webpro-nl/knip/issues/2262)) ([`3c84caf`](https://github.com/webpro-nl/knip/commit/3c84cafb68b2fa3d419b03a3a5e564d60aaeef30)) - Read babel.config.mts in the Babel plugin ([#&#8203;2267](https://github.com/webpro-nl/knip/issues/2267)) ([`04abfd8`](https://github.com/webpro-nl/knip/commit/04abfd84887e57eeb5dd8e8a9044cd3aa405ad8c)) - thanks [@&#8203;clean99](https://github.com/clean99)! - Track import().then() callback member usage ([#&#8203;2264](https://github.com/webpro-nl/knip/issues/2264)) ([`14565eb`](https://github.com/webpro-nl/knip/commit/14565eb56ec16140d30708fa498c8b34f23c1f9f)) - thanks [@&#8203;gioboa](https://github.com/gioboa)! - Reload the knip config file when the language server restarts ([#&#8203;2261](https://github.com/webpro-nl/knip/issues/2261)) ([`fa9ca71`](https://github.com/webpro-nl/knip/commit/fa9ca71a9a67f017e2cf209725f4ab7aa726c220)) - thanks [@&#8203;fixfon](https://github.com/fixfon)! - Read all supported CSpell configuration locations ([#&#8203;2265](https://github.com/webpro-nl/knip/issues/2265)) ([`c6c5b2c`](https://github.com/webpro-nl/knip/commit/c6c5b2cbf6a96abef70f6f30301fc67a0f56a6cd)) - thanks [@&#8203;clean99](https://github.com/clean99)! - Read SVGR configs from cosmiconfig search locations ([#&#8203;2266](https://github.com/webpro-nl/knip/issues/2266)) ([`47082a8`](https://github.com/webpro-nl/knip/commit/47082a803eb776166cf39399c1e4e06a737c91e7)) - thanks [@&#8203;clean99](https://github.com/clean99)! - Handle extends arrays in the npm-package-json-lint plugin ([#&#8203;2269](https://github.com/webpro-nl/knip/issues/2269)) ([`83c8c80`](https://github.com/webpro-nl/knip/commit/83c8c80a50e0d77babc5422c059ef86c53a2e548)) - thanks [@&#8203;clean99](https://github.com/clean99)! - Read Relay configuration from package.json ([#&#8203;2270](https://github.com/webpro-nl/knip/issues/2270)) ([`6ce8b00`](https://github.com/webpro-nl/knip/commit/6ce8b0050006251148b3bbc42989bb430ed484ec)) - thanks [@&#8203;clean99](https://github.com/clean99)! - Read dependencies from SWC config arrays ([#&#8203;2271](https://github.com/webpro-nl/knip/issues/2271)) ([`5ffe927`](https://github.com/webpro-nl/knip/commit/5ffe9276e8a54ba00035976ad8dfe394535b9f50)) - thanks [@&#8203;clean99](https://github.com/clean99)! - Recognize CJS and ESM data files in the Eleventy plugin ([#&#8203;2272](https://github.com/webpro-nl/knip/issues/2272)) ([`d939417`](https://github.com/webpro-nl/knip/commit/d939417b0ea7660eae1a119d5e2ddd0aedeadca1)) - thanks [@&#8203;clean99](https://github.com/clean99)! - Unroll case iterations in the SolidJS Vite, Buf, Eve and Nx plugin tests ([`5f87aab`](https://github.com/webpro-nl/knip/commit/5f87aabe082b3dc0db5a77d7c37119caa9b31fb3)) - Hoist remark to the root for the VS Code remark extension ([`e777270`](https://github.com/webpro-nl/knip/commit/e7772700fb26260fc877e7d66b30005b1acdfef6)) - Format root Markdown and package READMEs with pnpm remark ([`58c7670`](https://github.com/webpro-nl/knip/commit/58c7670cfb255c395b6dfec0b70b1f25a0860d47)) - Write readable tests ([`393b348`](https://github.com/webpro-nl/knip/commit/393b34864396372bd9b90ab50de96c0628ad5d91)) - Format Markdown with remark ([`10c0133`](https://github.com/webpro-nl/knip/commit/10c0133f697bcaecb17833094749178fb5d5f594)) - Fix local links in Markdown ([`a3fd031`](https://github.com/webpro-nl/knip/commit/a3fd031d853f9ed55cd952a4211c75d43840c921)) - Treat cloudflare: specifiers as runtime built-ins ([#&#8203;2268](https://github.com/webpro-nl/knip/issues/2268)) ([`e7f261e`](https://github.com/webpro-nl/knip/commit/e7f261e82b0a310141aea03956d52d218929c518)) - thanks [@&#8203;SwastikTripathi](https://github.com/SwastikTripathi)! ### [`v6.44.0`](https://github.com/webpro-nl/knip/releases/tag/knip%406.44.0): Release 6.44.0 [Compare Source](https://github.com/webpro-nl/knip/compare/knip@6.43.0...knip@6.44.0) - Clarify that custom `entry` still adds entry files from package.json ([#&#8203;2206](https://github.com/webpro-nl/knip/issues/2206)) ([`4099dde`](https://github.com/webpro-nl/knip/commit/4099ddeef28406ed8c9b798cf5ce525241818642)) - thanks [@&#8203;MannXo](https://github.com/MannXo)! - Resolve expanded package scripts against the directory of their manifest ([#&#8203;2209](https://github.com/webpro-nl/knip/issues/2209)) ([`9d8464d`](https://github.com/webpro-nl/knip/commit/9d8464dd7335b9898a17a0db59c3c33a7ae460f4)) - thanks [@&#8203;fixfon](https://github.com/fixfon)! - Track exports through namespace member chains of any depth ([#&#8203;2210](https://github.com/webpro-nl/knip/issues/2210)) ([`7569702`](https://github.com/webpro-nl/knip/commit/75697027e89e176c16e3d567cff3d6e016d0e9f0)) - thanks [@&#8203;fixfon](https://github.com/fixfon)! - Do not treat Windows drive letters as package names ([#&#8203;2217](https://github.com/webpro-nl/knip/issues/2217)) ([`d412c5b`](https://github.com/webpro-nl/knip/commit/d412c5be3a5c2d69583ce54b32e033813c1d2972)) - thanks [@&#8203;Cherry](https://github.com/Cherry)! - Generate built-in compilers list from source ([#&#8203;2216](https://github.com/webpro-nl/knip/issues/2216)) ([`d6f594c`](https://github.com/webpro-nl/knip/commit/d6f594cc767fa41c6f94cf49bfa0302be4b9de40)) - thanks [@&#8203;abrahamguo](https://github.com/abrahamguo)! - Update to pnpm@^11 + pnpm dedupe ([`ef5b819`](https://github.com/webpro-nl/knip/commit/ef5b819eddbb0b4ff92804524aca590797a199fc)) - Stop growing and rewriting the analysis cache on warm runs (close [#&#8203;2213](https://github.com/webpro-nl/knip/issues/2213)) ([`54b02dd`](https://github.com/webpro-nl/knip/commit/54b02dd84181867f41f98a6c80209dad32fa3da6)) - Use `entry` in plugins that do not resolve their config files ([`0b0e328`](https://github.com/webpro-nl/knip/commit/0b0e3285e3a440650b86a776b5e2a1fc1816bca8)) - Reuse graph reachability for incremental sessions ([#&#8203;2190](https://github.com/webpro-nl/knip/issues/2190)) ([`38d926a`](https://github.com/webpro-nl/knip/commit/38d926a652e820a375fe59d04ba0980393882153)) - thanks [@&#8203;jakeleventhal](https://github.com/jakeleventhal)! - fix: reload discovered configuration in watch sessions ([#&#8203;2211](https://github.com/webpro-nl/knip/issues/2211)) ([`cefef30`](https://github.com/webpro-nl/knip/commit/cefef30891c4428635e5cfc7b147faa42857247d)) - thanks [@&#8203;jakeleventhal](https://github.com/jakeleventhal)! - Keep editor sessions and views current ([#&#8203;2215](https://github.com/webpro-nl/knip/issues/2215)) ([`cfe91ab`](https://github.com/webpro-nl/knip/commit/cfe91abb5e6064230a71926f0d7565fce94486c0)) - thanks [@&#8203;jakeleventhal](https://github.com/jakeleventhal)! - Add Lingui plugin ([#&#8203;2212](https://github.com/webpro-nl/knip/issues/2212)) ([`611e7db`](https://github.com/webpro-nl/knip/commit/611e7dbe1c6675612e457324aae411bf4cda5b11)) - thanks [@&#8203;clean99](https://github.com/clean99)! - Update dependency bun to v1.4.4 ([#&#8203;2219](https://github.com/webpro-nl/knip/issues/2219)) ([`3f35bbd`](https://github.com/webpro-nl/knip/commit/3f35bbdf863057f69f237ab507053271019fc315)) - thanks [@&#8203;renovate](https://github.com/renovate)\[bot]! - Read CSpell configuration from package.json ([#&#8203;2228](https://github.com/webpro-nl/knip/issues/2228)) ([`86ab963`](https://github.com/webpro-nl/knip/commit/86ab963cf3cd279a8b8af3a3f0098d24762c59cb)) - thanks [@&#8203;clean99](https://github.com/clean99)! - Ignore file discovery order in session configuration test ([`51a8d33`](https://github.com/webpro-nl/knip/commit/51a8d33dbe04e76da8f2e2ed24d8943d0e9e15fe)) - Fix strict mode for caught optional peer imports ([#&#8203;2218](https://github.com/webpro-nl/knip/issues/2218)) ([`e535f40`](https://github.com/webpro-nl/knip/commit/e535f40b8cacea80c830282544975f0be2191323)) - thanks [@&#8203;jay23606](https://github.com/jay23606)! - Add kysely-codegen plugin ([#&#8203;2223](https://github.com/webpro-nl/knip/issues/2223)) ([`a50e842`](https://github.com/webpro-nl/knip/commit/a50e8423d28406bd20c213334d3aac4857c1cce0)) - thanks [@&#8203;clean99](https://github.com/clean99)! - Add PurgeCSS plugin ([#&#8203;2224](https://github.com/webpro-nl/knip/issues/2224)) ([`668aea6`](https://github.com/webpro-nl/knip/commit/668aea696a217d7c537791771be6044fc5ae375b)) - thanks [@&#8203;clean99](https://github.com/clean99)! - Document plugin args and path bases, issue key order and real-world fixes ([`8e48df6`](https://github.com/webpro-nl/knip/commit/8e48df60c4502c66d9daba87d5f436898ae60116)) - Add Mastra plugin ([#&#8203;2227](https://github.com/webpro-nl/knip/issues/2227)) ([`dd4e1f7`](https://github.com/webpro-nl/knip/commit/dd4e1f72de127eb8328dd941fa4492034f29d69d)) - thanks [@&#8203;ashokram-si](https://github.com/ashokram-si)! - Count `findPackageJSON()` bare specifiers as dependencies ([#&#8203;2235](https://github.com/webpro-nl/knip/issues/2235)) ([`d4e387b`](https://github.com/webpro-nl/knip/commit/d4e387b31235d49fe755acb79553b385aa0de4c9)) - thanks [@&#8203;abrahamguo](https://github.com/abrahamguo)! - Add universal hooks file to SvelteKit entries ([#&#8203;2237](https://github.com/webpro-nl/knip/issues/2237)) ([`f286584`](https://github.com/webpro-nl/knip/commit/f286584f168d27255769bd9529b49a3518e4f788)) - thanks [@&#8203;APX403](https://github.com/APX403)! - Attribute extended tsconfig plugins correctly ([#&#8203;2230](https://github.com/webpro-nl/knip/issues/2230)) ([`8d1d1d1`](https://github.com/webpro-nl/knip/commit/8d1d1d1e54204287b8321a0a5d50cbfa4562759e)) - thanks [@&#8203;gioboa](https://github.com/gioboa)! - Resolve `reporter` in the Mocha plugin ([#&#8203;2232](https://github.com/webpro-nl/knip/issues/2232)) ([`c413715`](https://github.com/webpro-nl/knip/commit/c413715a334be72094a02af0dbb37e36e878e262)) - thanks [@&#8203;X-Guardian](https://github.com/X-Guardian)! - Read nyc.config.cjs and nyc.config.mjs in the nyc plugin ([#&#8203;2240](https://github.com/webpro-nl/knip/issues/2240)) ([`724c3c9`](https://github.com/webpro-nl/knip/commit/724c3c9bd44d9919f35fa5b5be955fa3b6c9339d)) - thanks [@&#8203;SwastikTripathi](https://github.com/SwastikTripathi)! - Read hidden .biome.json and .biome.jsonc in the Biome plugin ([#&#8203;2239](https://github.com/webpro-nl/knip/issues/2239)) ([`dde22a7`](https://github.com/webpro-nl/knip/commit/dde22a754d9cd7a4e98aaeef6b0ad8b22b14040d)) - thanks [@&#8203;SwastikTripathi](https://github.com/SwastikTripathi)! - fix: narrow Remix plugin enabler to [@&#8203;remix-run/dev](https://github.com/remix-run/dev) ([#&#8203;2242](https://github.com/webpro-nl/knip/issues/2242)) ([`5e10c52`](https://github.com/webpro-nl/knip/commit/5e10c52abfe21839dc9bd515fd900ff035fac170)) - thanks [@&#8203;gioboa](https://github.com/gioboa)! - Document alsoReferenceOwner on Input ([`387e97f`](https://github.com/webpro-nl/knip/commit/387e97f0988da93d74df53ad46a906db3d29dba8)) - Document path bases and the dir option per input type ([`98180d3`](https://github.com/webpro-nl/knip/commit/98180d375b154663d8c9b967c9b8b54c0de06927)) - Emit the Gatsby production entries from resolveConfig ([`c224f16`](https://github.com/webpro-nl/knip/commit/c224f16c629cec5ec56ce06b8bcf9207255ba69f)) - Emit the TanStack Router entry files from resolveConfig ([`c2598a3`](https://github.com/webpro-nl/knip/commit/c2598a3dae1e9616191d88d81eafcde6ab0f5b82)) - Discover Marko tag files when only marko-tag.json files exist ([`c264697`](https://github.com/webpro-nl/knip/commit/c264697fab8c0783f2e23c983aacb1d4178953fc)) - Remove the static public/sw\.js production entry from the vite-plugin-pwa plugin ([`b3f9a56`](https://github.com/webpro-nl/knip/commit/b3f9a56216195e279ec73935f0de1e6ff490230c)) - Keep absolute `build.lib.entry` paths in the Vitest plugin ([`5d974fa`](https://github.com/webpro-nl/knip/commit/5d974fa1bdfe3bbc696645139cc04bb963d5f9d9)) - Resolve Vite alias targets from the workspace without prefixing absolute paths ([`8f93e9d`](https://github.com/webpro-nl/knip/commit/8f93e9d3425e47d9933baec078d1cdf9ad8a49ca)) - Keep absolute `testDir` paths in the Playwright plugin ([`4e3e6b3`](https://github.com/webpro-nl/knip/commit/4e3e6b3d8b978a7f4a99438c661a86a93c73745d)) - Keep absolute `stories` paths in the Storybook plugin ([`321decc`](https://github.com/webpro-nl/knip/commit/321decc499e3ec15b75c4abace3a58a0cd8f6b50)) - Resolve an absolute `basePath` in the Karma plugin ([`64e8b1b`](https://github.com/webpro-nl/knip/commit/64e8b1bbe28e0c0f9f80112683b5c5f51f7d4512)) - Keep absolute local plugin paths in the Docusaurus plugin ([`058930d`](https://github.com/webpro-nl/knip/commit/058930d9eb30490c796af1ee8bab3682e852dae2)) - Keep absolute local plugin paths in the Serverless Framework plugin ([`0176d78`](https://github.com/webpro-nl/knip/commit/0176d78dec4cd8ba9204c61c3c0ec7385a02ae9c)) - Resolve Nx `run-commands` cwd from the workspace root ([`39c08aa`](https://github.com/webpro-nl/knip/commit/39c08aab2149cf11f74c60195b3fdf0bcadc29f2)) - Resolve package specifiers in Marko tag definitions ([`168ee52`](https://github.com/webpro-nl/knip/commit/168ee52857cf646ac0f1b18528bf6867fdd10c4f)) - Keep absolute include paths in the Taskfile plugin ([`7945ec1`](https://github.com/webpro-nl/knip/commit/7945ec15a327bd65ad6ed00809ba4f12b3f3d814)) - Resolve Lefthook `root` from the repository root ([`f28fae6`](https://github.com/webpro-nl/knip/commit/f28fae68d56c527f9c6388d983344e5694e5a906)) - Pass specifiers with `dir` instead of absolutizing them in the webpack, Nx and textlint plugins ([`1ad804d`](https://github.com/webpro-nl/knip/commit/1ad804d6f24f55c28ffd9d306b1bb43175064429)) - Drop redundant `relative` calls on entry patterns in the rstest and Marko plugins ([`9096f25`](https://github.com/webpro-nl/knip/commit/9096f254bade552cdd556255157dd440ee634b27)) - Use `toAbsolute` in the Jasmine, Lunaria and electron-vite plugins ([`b4266ef`](https://github.com/webpro-nl/knip/commit/b4266efef59359dcb2632b97a7c6335f9d47251d)) - Mark inputs from the start script as production ([`2fb1024`](https://github.com/webpro-nl/knip/commit/2fb10243bb1385060d8f94204081f750405460ec)) - Mark inputs from scripts in production files as production ([`af469e9`](https://github.com/webpro-nl/knip/commit/af469e9c88bd87e3b71b8d010abf069115cf2a19)) - Apply directory gitignore patterns to static-only globs ([`efe514f`](https://github.com/webpro-nl/knip/commit/efe514f18ce1080a313ffac0380152542d5a4dab)) - Glob plugin config files once per workspace ([`b515677`](https://github.com/webpro-nl/knip/commit/b515677ef833c5b43c1715ebc786eb495565229b)) - Resolve Mocha `require` and `file` from the working directory ([`c6850eb`](https://github.com/webpro-nl/knip/commit/c6850ebf12b469a7e67c68d79d4044f4ba2ee2eb)) - Cover the owning workspace of `jsxImportSource` in the tsconfig plugins test ([`0442096`](https://github.com/webpro-nl/knip/commit/0442096fd445f1de68116ce928676913fffc0d7d)) - List `nyc.config.{js,cjs,mjs}` in the nyc plugin example ([`671e5fb`](https://github.com/webpro-nl/knip/commit/671e5fbdd5dbcfc27cfde6774507c56641ce19d4)) - Fold agent lessons into the tracked guides ([`e6cbfe3`](https://github.com/webpro-nl/knip/commit/e6cbfe39c1f357fc1f0f083cf09bae28638c8e87)) - Ignore development script inputs that the start script repeats in production mode ([`15cd870`](https://github.com/webpro-nl/knip/commit/15cd8708f7822ee18efa783089bd1855f27f3d60)) - Resolve Taskfile script entry patterns from the workspace directory ([`2730ffa`](https://github.com/webpro-nl/knip/commit/2730ffadfa441aceca3552cd25cb06d0776b519a)) - Resolve plugin entry patterns from `dir` ([`6df9c4e`](https://github.com/webpro-nl/knip/commit/6df9c4e4ea9d40c465f3b55043e29a8e7e910a87)) - Add GitHub Actions `working-directory` fixtures for mocha spec patterns ([`95efd3a`](https://github.com/webpro-nl/knip/commit/95efd3acae0dfdbc0f92652e71d803db85bbe46b)) - Pin the scope of negations and workspace exclusions for plugin entry patterns with `dir` ([`2070464`](https://github.com/webpro-nl/knip/commit/20704642f2e212f5b1fce2bee10d35ba260b409d)) - Parse GitHub Actions step scripts against their working directory ([`98d0b98`](https://github.com/webpro-nl/knip/commit/98d0b982eef155272740793b570582f8bb17eaac)) - Parse MCP server commands against their `cwd` ([`381e3e3`](https://github.com/webpro-nl/knip/commit/381e3e31bd2ff75f8d64ddccc2fde9c81d24ba18)) - Let core resolve script entries from `dir` in the Playwright, Railway and mise plugins ([`5d10668`](https://github.com/webpro-nl/knip/commit/5d10668b1728c4e0de8c6e9d75a9d4da3ed77029)) - Add --output-file option to write reporter output to a file ([#&#8203;2243](https://github.com/webpro-nl/knip/issues/2243)) ([`1a58eb5`](https://github.com/webpro-nl/knip/commit/1a58eb5cc051b021c44de985a8654a82e8442ada)) - thanks [@&#8203;X-Guardian](https://github.com/X-Guardian)! - Treat packageExtensions peers as optional ([#&#8203;2246](https://github.com/webpro-nl/knip/issues/2246)) ([`e118ef4`](https://github.com/webpro-nl/knip/commit/e118ef43e4be0d0e91a156d9850dd4f9029ecb5e)) - thanks [@&#8203;gioboa](https://github.com/gioboa)! - Support pnpm workspace config includes ([#&#8203;2238](https://github.com/webpro-nl/knip/issues/2238)) ([`acbbbf5`](https://github.com/webpro-nl/knip/commit/acbbbf5a1120e26d5de736db68988fbac9fca723)) - thanks [@&#8203;gioboa](https://github.com/gioboa)! - Detect SWC plugins in options set directly on a webpack rule ([#&#8203;2252](https://github.com/webpro-nl/knip/issues/2252)) ([`624da93`](https://github.com/webpro-nl/knip/commit/624da9369bd4c1ba7e557c8f59b79069bffee7f9)) - thanks [@&#8203;fixfon](https://github.com/fixfon)! - Escape pipes in symbols in the markdown reporter ([#&#8203;2254](https://github.com/webpro-nl/knip/issues/2254)) ([`153ba1e`](https://github.com/webpro-nl/knip/commit/153ba1e4f6926b1bd3cf521e60428096d24bea97)) - thanks [@&#8203;NgoQuocViet2001](https://github.com/NgoQuocViet2001)! - More than two hundred plugins ([`e68eaa5`](https://github.com/webpro-nl/knip/commit/e68eaa5b5e4e6b4aef53ab630986ade276887ced)) - Update dependencies ([`8b06f9a`](https://github.com/webpro-nl/knip/commit/8b06f9a6fb7e62655c93fe9ea48ee176046236bf)) ### [`v6.43.0`](https://github.com/webpro-nl/knip/releases/tag/knip%406.43.0): Release 6.43.0 [Compare Source](https://github.com/webpro-nl/knip/compare/knip@6.42.1...knip@6.43.0) - Document and pin exports that only keep each other alive ([#&#8203;2160](https://github.com/webpro-nl/knip/issues/2160)) ([`39af70a`](https://github.com/webpro-nl/knip/commit/39af70abb32523a992a7d6152b8cd95ef317f237)) - Don't add config files without an extension as entry files (resolve [#&#8203;2168](https://github.com/webpro-nl/knip/issues/2168)) ([`46a825d`](https://github.com/webpro-nl/knip/commit/46a825ddf15d3073b899ed6ef34689e5da5508f2)) - Recognize unscoped \~name workspace packages (resolve [#&#8203;2172](https://github.com/webpro-nl/knip/issues/2172)) ([`ba527f7`](https://github.com/webpro-nl/knip/commit/ba527f7386e7741507f2f18d84864058e02ac907)) - Follow imports and re-exports in ambient modules (resolve [#&#8203;2174](https://github.com/webpro-nl/knip/issues/2174)) ([`dbd3a8b`](https://github.com/webpro-nl/knip/commit/dbd3a8b8b0429433e5385371c09e805b808a32c2)) - thanks [@&#8203;tlq5l](https://github.com/tlq5l)! - Follow `@reference` in Tailwind CSS compiler ([#&#8203;2177](https://github.com/webpro-nl/knip/issues/2177)) ([`219f16d`](https://github.com/webpro-nl/knip/commit/219f16de95e174cdcfd6a90782bcef13cf79bd64)) - thanks [@&#8203;mkantautas](https://github.com/mkantautas)! - Support `{ find, replacement }` array form of Vite `alias` ([#&#8203;2179](https://github.com/webpro-nl/knip/issues/2179)) ([`5d0779b`](https://github.com/webpro-nl/knip/commit/5d0779bc4cf8c0469c50d5b2cda1a6bd1f053d81)) - thanks [@&#8203;mkantautas](https://github.com/mkantautas)! - fix(expo): treat local config plugins as entry files ([#&#8203;2176](https://github.com/webpro-nl/knip/issues/2176)) ([`100ef49`](https://github.com/webpro-nl/knip/commit/100ef491509a88b00ea9956ba40dbc1b0ac0c205)) - thanks [@&#8203;Cayan](https://github.com/Cayan)! - fix(next): detect Turbopack loaders in shared config factories ([#&#8203;2161](https://github.com/webpro-nl/knip/issues/2161)) ([`9cf928b`](https://github.com/webpro-nl/knip/commit/9cf928be5022928a38c12fe8001cec7bf467040c)) - thanks [@&#8203;jakeleventhal](https://github.com/jakeleventhal)! - Ignore osascript as global binary ([#&#8203;2182](https://github.com/webpro-nl/knip/issues/2182)) ([`c301e44`](https://github.com/webpro-nl/knip/commit/c301e44c7975442d4d25595f084e6b853f07a434)) - thanks [@&#8203;abrahamguo](https://github.com/abrahamguo)! - Skip `--fix` for exports in multi-declarator variable statements ([#&#8203;2178](https://github.com/webpro-nl/knip/issues/2178)) ([`326afd9`](https://github.com/webpro-nl/knip/commit/326afd9c1e66eef04d986b83ed829b506f506c48)) - thanks [@&#8203;mkantautas](https://github.com/mkantautas)! - Watch the project directory instead of process.cwd() ([#&#8203;2183](https://github.com/webpro-nl/knip/issues/2183)) ([`16d9932`](https://github.com/webpro-nl/knip/commit/16d9932d0239f649cf2c1349cc7bc893850cd4f0)) - thanks [@&#8203;abrahamguo](https://github.com/abrahamguo)! - Follow directory paths in tsconfig `references` ([#&#8203;2186](https://github.com/webpro-nl/knip/issues/2186)) ([`d741c46`](https://github.com/webpro-nl/knip/commit/d741c46e3f2a9caaf6bf4e81e9d4c8cfca48623e)) - thanks [@&#8203;mkantautas](https://github.com/mkantautas)! - Handle `@plugin` options blocks in Tailwind CSS compiler ([#&#8203;2187](https://github.com/webpro-nl/knip/issues/2187)) ([`9fae773`](https://github.com/webpro-nl/knip/commit/9fae773eb75bcba03e62f44ce3e9aa0b889bf4ac)) - thanks [@&#8203;mkantautas](https://github.com/mkantautas)! - Remove anonymous default-exported functions and classes in `--fix` ([#&#8203;2188](https://github.com/webpro-nl/knip/issues/2188)) ([`6748259`](https://github.com/webpro-nl/knip/commit/6748259fbb2ea9a5940ea3861626f77677610a86)) - thanks [@&#8203;mkantautas](https://github.com/mkantautas)! - Recognize bun fmt as a built-in command ([#&#8203;2189](https://github.com/webpro-nl/knip/issues/2189)) ([`e971b09`](https://github.com/webpro-nl/knip/commit/e971b0924bcb7ff8dcab01a180d3016cc08b675d)) - thanks [@&#8203;TomasHubelbauer](https://github.com/TomasHubelbauer)! - Add plugin for [@&#8203;bufbuild/buf](https://github.com/bufbuild/buf) ([#&#8203;2142](https://github.com/webpro-nl/knip/issues/2142)) ([`90216c2`](https://github.com/webpro-nl/knip/commit/90216c261c2273967125669beb611bf763d762c7)) - thanks [@&#8203;ryanquinn3](https://github.com/ryanquinn3)! - Pass `isSsrBuild` to Vite config functions ([#&#8203;2191](https://github.com/webpro-nl/knip/issues/2191)) ([`d2aa101`](https://github.com/webpro-nl/knip/commit/d2aa101c55e5d7e8d26548808ce008b214622099)) - thanks [@&#8203;mkantautas](https://github.com/mkantautas)! - Follow `src` of `<script>` and `<style>` blocks in Vue SFCs ([#&#8203;2193](https://github.com/webpro-nl/knip/issues/2193)) ([`3d14839`](https://github.com/webpro-nl/knip/commit/3d148393d5129a096a182fab36a873b9f710f388)) - thanks [@&#8203;mkantautas](https://github.com/mkantautas)! - Remove import attributes with emptied re-exports in `--fix` ([#&#8203;2192](https://github.com/webpro-nl/knip/issues/2192)) ([`231026c`](https://github.com/webpro-nl/knip/commit/231026cf9c21cc7890f21d048f4af6ea7233d7b8)) - thanks [@&#8203;mkantautas](https://github.com/mkantautas)! - Update npmx.dev snapshot ([`b2cc439`](https://github.com/webpro-nl/knip/commit/b2cc439006ec98ff5bbc1c99b99bc1ac5203b6b2)) - Read string `parserOptions.parser` in ESLint flat configs ([#&#8203;2198](https://github.com/webpro-nl/knip/issues/2198)) ([`302f908`](https://github.com/webpro-nl/knip/commit/302f908aa135669d6fe96869ec6452b7570856a4)) - thanks [@&#8203;mkantautas](https://github.com/mkantautas)! - Resolve directory matches in Vitest `test.projects` to their config ([#&#8203;2195](https://github.com/webpro-nl/knip/issues/2195)) ([`4d38613`](https://github.com/webpro-nl/knip/commit/4d386138011c27e01e6e910be6d58266e07c9cf1)) - thanks [@&#8203;fixfon](https://github.com/fixfon)! - Ignore custom elements named `script-*` when extracting script blocks ([#&#8203;2199](https://github.com/webpro-nl/knip/issues/2199)) ([`23e6479`](https://github.com/webpro-nl/knip/commit/23e6479b233e1882ddaf29736390309d0f3f040f)) - thanks [@&#8203;mkantautas](https://github.com/mkantautas)! - feat(mcp): add MCP plugin ([#&#8203;2180](https://github.com/webpro-nl/knip/issues/2180)) ([`fc92470`](https://github.com/webpro-nl/knip/commit/fc92470a9f687e2f1da60b84612ebf3e59a8bbb9)) - thanks [@&#8203;jakeleventhal](https://github.com/jakeleventhal)! - Handle non-Error plugin config failures ([`8f21ea2`](https://github.com/webpro-nl/knip/commit/8f21ea2182fac5a96edd7d6d4280a0fa1051e434)) - Update articles list ([`6569cdc`](https://github.com/webpro-nl/knip/commit/6569cdcde1a79a6196a35a934b6c0d9d0e23faa4)) - Skip `--fix` export ranges inside a larger removal ([`204a809`](https://github.com/webpro-nl/knip/commit/204a8091baf91cb8cfb4e7a9aa70d461cc926baa)) - Detect `.travis.yml` with a stat instead of a glob ([`3601c6e`](https://github.com/webpro-nl/knip/commit/3601c6e32afef3d1d76a3944e540225da5190b9b)) - Mark YAML catalog entries fixed only when their line is removed ([#&#8203;2201](https://github.com/webpro-nl/knip/issues/2201)) ([`813fa30`](https://github.com/webpro-nl/knip/commit/813fa30e55ef3a8ed749d9d6d5a02a00810cfe72)) - thanks [@&#8203;mkantautas](https://github.com/mkantautas)! - Add Electron Forge plugin ([#&#8203;2158](https://github.com/webpro-nl/knip/issues/2158)) ([`12e4355`](https://github.com/webpro-nl/knip/commit/12e4355a43ea63c417d3b9ebfbbac1c8510b139e)) - thanks [@&#8203;mehdimirzafaruk](https://github.com/mehdimirzafaruk)! - Resolve function and promise entries in Vitest `test.projects` ([#&#8203;2197](https://github.com/webpro-nl/knip/issues/2197)) ([`ec293d1`](https://github.com/webpro-nl/knip/commit/ec293d1a33d30a8b0521725d1148e6e72c6e4220)) - thanks [@&#8203;mkantautas](https://github.com/mkantautas)! - Follow npm lifecycle scripts and run-script aliases ([#&#8203;2202](https://github.com/webpro-nl/knip/issues/2202)) ([`89dfdc8`](https://github.com/webpro-nl/knip/commit/89dfdc881e6865aef326c2b9dc700cf5c46b73b4)) - thanks [@&#8203;sushanta-neupane](https://github.com/sushanta-neupane)! - Follow pnpm `t`, `tst` and `run-script` aliases ([`ce91e23`](https://github.com/webpro-nl/knip/commit/ce91e230e0823433dfcc1ee4562335c34d2b73ef)) - Treat `vitest-environment-nuxt` as optional (it comes with `@nuxt/test-utils`) ([`db9aa74`](https://github.com/webpro-nl/knip/commit/db9aa7443c5b3839df5c0fe320d78ea42f0f3446)) - Ignore tool output before the first report section in ecosystem snapshots ([`9434bf6`](https://github.com/webpro-nl/knip/commit/9434bf678e60d16832f13e892d7c1ebc2b9e6ed1)) - Update dependencies ([`21c3b75`](https://github.com/webpro-nl/knip/commit/21c3b75fc4ae94208311abb630ff129fcd9fe820)) - Bump `engines.node` to follow Astro's ([`9d7a5e0`](https://github.com/webpro-nl/knip/commit/9d7a5e07212b093f9d422cab813fad5d01273fc6)) ### [`v6.42.1`](https://github.com/webpro-nl/knip/releases/tag/knip%406.42.1): Release 6.42.1 [Compare Source](https://github.com/webpro-nl/knip/compare/knip@6.42.0...knip@6.42.1) - fix(semantic-release): resolve shareable configs from extends ([#&#8203;2159](https://github.com/webpro-nl/knip/issues/2159)) ([`4c4a5ec`](https://github.com/webpro-nl/knip/commit/4c4a5ece9148cf621f3a6e091fd3550b18f6e19a)) - thanks [@&#8203;giaBaoJS](https://github.com/giaBaoJS)! - fix(jest): load projects entries as Jest configs ([#&#8203;2167](https://github.com/webpro-nl/knip/issues/2167)) ([`4c22593`](https://github.com/webpro-nl/knip/commit/4c22593724460890e4492ba86119d0188127f2ba)) - thanks [@&#8203;Cayan](https://github.com/Cayan)! - Update npmx.dev snapshot ([`4b19797`](https://github.com/webpro-nl/knip/commit/4b19797b77a559f7190e9119b3a156e1ac6aef9f)) - fix(tailwind): track packages referenced from CSS url() ([#&#8203;2166](https://github.com/webpro-nl/knip/issues/2166)) ([`949da00`](https://github.com/webpro-nl/knip/commit/949da00abf419c1eeabdab1541ce7e5c312371b9)) - thanks [@&#8203;agustincastaing](https://github.com/agustincastaing)! - Add .otf to foreign file extensions ([`fcff4db`](https://github.com/webpro-nl/knip/commit/fcff4db0b88d6282569743cd779aec5a5df99862)) - Match quoted SCSS url() values within a single line ([`2c5c2a2`](https://github.com/webpro-nl/knip/commit/2c5c2a2efab8f08be538bfe1f40982cb6f0fca3c)) - fix(bun): treat bun test arguments as path filters ([#&#8203;2165](https://github.com/webpro-nl/knip/issues/2165)) ([`5f3a7fb`](https://github.com/webpro-nl/knip/commit/5f3a7fb526d3eca7561aacfc9d0ac60056525206)) - thanks [@&#8203;jakeleventhal](https://github.com/jakeleventhal)! - fix(vitest): use default test entries when config has no test key ([#&#8203;2170](https://github.com/webpro-nl/knip/issues/2170)) ([`7ee576c`](https://github.com/webpro-nl/knip/commit/7ee576ccd461f719b533e3783a5b58391ce89e91)) - thanks [@&#8203;fixfon](https://github.com/fixfon)! ### [`v6.42.0`](https://github.com/webpro-nl/knip/releases/tag/knip%406.42.0): Release 6.42.0 [Compare Source](https://github.com/webpro-nl/knip/compare/knip@6.41.0...knip@6.42.0) - fix: add bun 1.4.3 check subcommand ([#&#8203;2131](https://github.com/webpro-nl/knip/issues/2131)) ([`09129b8`](https://github.com/webpro-nl/knip/commit/09129b8aaa554ffae2ff8f42a5ff4d6994eb7759)) - thanks [@&#8203;NimmLor](https://github.com/NimmLor)! - Detect pnpm workspaces correctly around `packages:` (resolve [#&#8203;2133](https://github.com/webpro-nl/knip/issues/2133), close [#&#8203;2134](https://github.com/webpro-nl/knip/issues/2134)) ([`d1cc092`](https://github.com/webpro-nl/knip/commit/d1cc0928be54e6cac9668460d9f6a21e3a94f818)) - fix(github-actions): resolve working-directory nested under checkout path ([#&#8203;2136](https://github.com/webpro-nl/knip/issues/2136)) ([`87e051e`](https://github.com/webpro-nl/knip/commit/87e051e45f12c107cc25ed08bba962b95bb23b51)) - thanks [@&#8203;kenny-ish](https://github.com/kenny-ish)! - fix(nx): track local generator and executor entry points ([#&#8203;2117](https://github.com/webpro-nl/knip/issues/2117)) ([#&#8203;2121](https://github.com/webpro-nl/knip/issues/2121)) ([`558407f`](https://github.com/webpro-nl/knip/commit/558407f51b5fdf4460275b69950676e7bace35d5)) - thanks [@&#8203;DreamLongYT](https://github.com/DreamLongYT)! - Update dependency bun to v1.4.3 ([#&#8203;2137](https://github.com/webpro-nl/knip/issues/2137)) ([`71f90bf`](https://github.com/webpro-nl/knip/commit/71f90bf6d5fb2675430f60416e403851f9cb2cfe)) - thanks [@&#8203;renovate](https://github.com/renovate)\[bot]! - docs(react-router): note to run react-router typegen before Knip ([#&#8203;2140](https://github.com/webpro-nl/knip/issues/2140)) ([`f21ce9a`](https://github.com/webpro-nl/knip/commit/f21ce9a9f1e3264cad1b763cf31ec2c177fb8656)) - thanks [@&#8203;MannXo](https://github.com/MannXo)! - fix: normalize scoped binary names (close [#&#8203;2143](https://github.com/webpro-nl/knip/issues/2143)) ([`c8509c4`](https://github.com/webpro-nl/knip/commit/c8509c4e45e1c343da707c26877a0a6584f6bc11)) - Clarify plugin implementation boundaries ([`c5a67f5`](https://github.com/webpro-nl/knip/commit/c5a67f59d351e8d26dc6ecbbd3c3193e313772a4)) - fix(jest): treat mocked and required dependencies as used ([#&#8203;2141](https://github.com/webpro-nl/knip/issues/2141)) ([`3eaf1ba`](https://github.com/webpro-nl/knip/commit/3eaf1ba16045a3ac22f0717c4f1252312298bb76)) - thanks [@&#8203;TkDodo](https://github.com/TkDodo)! - fix: preserve root-only plugins for trailing-slash cwd ([#&#8203;2139](https://github.com/webpro-nl/knip/issues/2139)) ([`7f0db0e`](https://github.com/webpro-nl/knip/commit/7f0db0e7670bfd18fab081b522a104f787829f7d)) - thanks [@&#8203;sean0407](https://github.com/sean0407)! - fix(nx): resolve run-commands script paths from the target cwd ([#&#8203;2151](https://github.com/webpro-nl/knip/issues/2151)) ([`516bd9a`](https://github.com/webpro-nl/knip/commit/516bd9a324303653978528f582287c857846fcc8)) - thanks [@&#8203;JeanBeaurepaire](https://github.com/JeanBeaurepaire)! - Resolve Nx run-commands loader paths from the target cwd ([`fa8ca13`](https://github.com/webpro-nl/knip/commit/fa8ca13e1345115d30122900ab68db7339487502)) - Add [@&#8203;solidjs/vite-plugin](https://github.com/solidjs/vite-plugin) plugin ([#&#8203;2144](https://github.com/webpro-nl/knip/issues/2144)) ([`579a88d`](https://github.com/webpro-nl/knip/commit/579a88d306429694be43590efb50cb72067551ba)) - thanks [@&#8203;everton-dgn](https://github.com/everton-dgn)! - feat: add filesystem-routing plugin ([#&#8203;2145](https://github.com/webpro-nl/knip/issues/2145)) ([`1abd9e1`](https://github.com/webpro-nl/knip/commit/1abd9e1875bae36b0baf77f5864aab849d1528a8)) - thanks [@&#8203;everton-dgn](https://github.com/everton-dgn)! - Support tags in line comments (resolve [#&#8203;1924](https://github.com/webpro-nl/knip/issues/1924)) ([`5abef48`](https://github.com/webpro-nl/knip/commit/5abef4846e20f09fd4d0ee8dc2513ce50b616cdb)) - Keep resolveFromAST to static values in plugin guide ([`4cd353f`](https://github.com/webpro-nl/knip/commit/4cd353fd9ecb780228a63069080586a46ba6a8f2)) - fix(solidjs-vite-plugin): keep entry overrides in production ([#&#8203;2155](https://github.com/webpro-nl/knip/issues/2155)) ([`e4b5f89`](https://github.com/webpro-nl/knip/commit/e4b5f890787da07824cc174cb624396f2133ff06)) - thanks [@&#8203;everton-dgn](https://github.com/everton-dgn)! - feat(angular): resolve styleUrl and styleUrls of [@&#8203;Component](https://github.com/Component) ([#&#8203;2157](https://github.com/webpro-nl/knip/issues/2157)) ([`c20d4d7`](https://github.com/webpro-nl/knip/commit/c20d4d720c586c9c5dc6e3d1a6ea60c557688bfa)) - thanks [@&#8203;Cayan](https://github.com/Cayan)! - Update npmx.dev snapshot ([`59eb873`](https://github.com/webpro-nl/knip/commit/59eb873f3beecf40b7aed9579bd29e1ab8b631f0)) - fix(next): recognize Turbopack alias targets ([#&#8203;2156](https://github.com/webpro-nl/knip/issues/2156)) ([`1d44f6a`](https://github.com/webpro-nl/knip/commit/1d44f6a1a39c5557c1e215c7cf9db17937967344)) - thanks [@&#8203;jakeleventhal](https://github.com/jakeleventhal)! - fix: preserve re-exports from framework entries ([#&#8203;2154](https://github.com/webpro-nl/knip/issues/2154)) ([`263ce20`](https://github.com/webpro-nl/knip/commit/263ce20408a77b2473c555f304ad3b55c696b6a6)) - thanks [@&#8203;jakeleventhal](https://github.com/jakeleventhal)! - feat(solidjs-vite-plugin): follow Solid's SSR and client mode entry rules ([#&#8203;2148](https://github.com/webpro-nl/knip/issues/2148)) ([`d711231`](https://github.com/webpro-nl/knip/commit/d711231eae14d8ecac562d73078125f3b30dc8fd)) - thanks [@&#8203;everton-dgn](https://github.com/everton-dgn)! - feat(filesystem-routing): read route options from Vite configs ([#&#8203;2149](https://github.com/webpro-nl/knip/issues/2149)) ([`585f206`](https://github.com/webpro-nl/knip/commit/585f206ca52d54e30f2068c818e1b33b50085459)) - thanks [@&#8203;everton-dgn](https://github.com/everton-dgn)! - feat(filesystem-routing): resolve routes from the Vite root ([#&#8203;2150](https://github.com/webpro-nl/knip/issues/2150)) ([`8cc0cb0`](https://github.com/webpro-nl/knip/commit/8cc0cb0c9ff09463cad30817c8cf78cbc48b7ed6)) - thanks [@&#8203;everton-dgn](https://github.com/everton-dgn)! - fix: track namespace members in Promise.all imports ([#&#8203;2162](https://github.com/webpro-nl/knip/issues/2162)) ([`3f17cdf`](https://github.com/webpro-nl/knip/commit/3f17cdfce7a0f90e2599a7074291c4c875fe8244)) - thanks [@&#8203;everton-dgn](https://github.com/everton-dgn)! - Update a few dependencies ([`161dbed`](https://github.com/webpro-nl/knip/commit/161dbed3ccffa574e3a9493ddb20842eefa26af8)) - Fix Solid setup fixture coverage ([`ebe4180`](https://github.com/webpro-nl/knip/commit/ebe4180785667f6ff85c1e6ce2a11226713b2d5a)) - Migrate shell script parsing to unbash v6 ([`f86044c`](https://github.com/webpro-nl/knip/commit/f86044c6760ac4f27e564f15feeae907cba3d297)) - Add sponsors: [@&#8203;pennylane-hq](https://github.com/pennylane-hq), [@&#8203;agentscore](https://github.com/agentscore), [@&#8203;oblique-security](https://github.com/oblique-security) (thank you!) ([`57ff23e`](https://github.com/webpro-nl/knip/commit/57ff23eb430aaece73e02574923cabc6016a920b)) - Stop pairing Promise.all imports and bindings after a spread ([`5bd2c64`](https://github.com/webpro-nl/knip/commit/5bd2c64eaf92f82a316d8fa6551acdb1d6c48c32)) - Update some stats ([`dd02dde`](https://github.com/webpro-nl/knip/commit/dd02ddeb235dd516cf93db99dda2180b0eb09a97)) - fix(nx): read karmaConfig from target options ([#&#8203;2164](https://github.com/webpro-nl/knip/issues/2164)) ([`4e1e4bc`](https://github.com/webpro-nl/knip/commit/4e1e4bc18f6d2f2705d729c375a20bd1679b8c0f)) - thanks [@&#8203;Cayan](https://github.com/Cayan)! - Add tsrs plugin ([#&#8203;2163](https://github.com/webpro-nl/knip/issues/2163)) ([`ba09126`](https://github.com/webpro-nl/knip/commit/ba09126c023a2c408de8d7dae3bf6ab97e420966)) - thanks [@&#8203;jakeleventhal](https://github.com/jakeleventhal)! - Drop redundant containingFilePath from plugin config inputs ([`ffb6caf`](https://github.com/webpro-nl/knip/commit/ffb6caf02891d29eee41c7a0ecf147312dbe7205)) - Resolve Nx target option configs from the workspace root ([`52c5233`](https://github.com/webpro-nl/knip/commit/52c5233aa905124c5b30c0bb7f9b0b25cd4260c6)) ### [`v6.41.0`](https://github.com/webpro-nl/knip/releases/tag/knip%406.41.0): Release 6.41.0 [Compare Source](https://github.com/webpro-nl/knip/compare/knip@6.40.0...knip@6.41.0) - Add Flue plugin ([#&#8203;2124](https://github.com/webpro-nl/knip/issues/2124)) ([`c52737d`](https://github.com/webpro-nl/knip/commit/c52737d45ff008d6d96d4c2d4182048a2aa64602)) - thanks [@&#8203;LuisFigueroaG](https://github.com/LuisFigueroaG)! - Match all React Native config file extensions ([#&#8203;2125](https://github.com/webpro-nl/knip/issues/2125)) ([`898fdff`](https://github.com/webpro-nl/knip/commit/898fdffb37ae0bdb3d2653038eb10c2e01edf983)) - thanks [@&#8203;LuisFigueroaG](https://github.com/LuisFigueroaG)! - Consolidate fixture guidance and extend plugin guidelines ([`37a4ca0`](https://github.com/webpro-nl/knip/commit/37a4ca04645f71f599e9b530676543f9893bd641)) - Add AI contribution policy ([`b15f0fb`](https://github.com/webpro-nl/knip/commit/b15f0fbb090ea0427240880da2bec602c11cea50)) - Use files from tsconfig references with --use-tsconfig-files ([#&#8203;2126](https://github.com/webpro-nl/knip/issues/2126)) ([`9618185`](https://github.com/webpro-nl/knip/commit/9618185eafb0c5cb365035f89e9d66718642338a)) - thanks [@&#8203;kaanisthatyou](https://github.com/kaanisthatyou)! - Compile gitignore walk patterns once (resolve [#&#8203;2127](https://github.com/webpro-nl/knip/issues/2127)) ([`09c8029`](https://github.com/webpro-nl/knip/commit/09c80299779fa5abe133ee8f82051c25870007b8)) - Drop readdir order dependent case from gitignore walk test ([`ab3da8f`](https://github.com/webpro-nl/knip/commit/ab3da8ff95a05a0fbfba6873b64559017d038aa7)) - fix: recognize binaries from absent optional dependencies ([#&#8203;2120](https://github.com/webpro-nl/knip/issues/2120)) ([`d908556`](https://github.com/webpro-nl/knip/commit/d908556eaa98bf9637a2744d2de089bab31b8dbc)) - thanks [@&#8203;DreamLongYT](https://github.com/DreamLongYT)! - Apply a directory's .gitignore before walking its subdirectories ([`9560c07`](https://github.com/webpro-nl/knip/commit/9560c07862d4c72dc956371b9a77e049d83ed4a9)) - Apply nested .gitignore files to workspace globs ([`23d3542`](https://github.com/webpro-nl/knip/commit/23d35421dd67c405254f2f8bcbc09b18d224e338)) - Update gitignore matcher and walk notes ([`499f85f`](https://github.com/webpro-nl/knip/commit/499f85f4544457dc7c51c4a7612fea69773ef3dd)) - Keep the cwd out of glob patterns and matchers ([#&#8203;2107](https://github.com/webpro-nl/knip/issues/2107)) ([`1e82fb8`](https://github.com/webpro-nl/knip/commit/1e82fb807c88cc46951f2028214569f9a2eb0061)) - thanks [@&#8203;kaanisthatyou](https://github.com/kaanisthatyou)! - Support function configs in Rsbuild plugin ([#&#8203;2122](https://github.com/webpro-nl/knip/issues/2122)) ([`38071db`](https://github.com/webpro-nl/knip/commit/38071db87e9023e5dd61173ce32f9020a1a5d7ff)) - thanks [@&#8203;bytedoe](https://github.com/bytedoe)! - Separate Expo Router plugin; remove expo-router entry points from Expo plugin ([#&#8203;2128](https://github.com/webpro-nl/knip/issues/2128)) ([`ad54176`](https://github.com/webpro-nl/knip/commit/ad541764ca7d3c062236661677d1d66d5275122f)) - thanks [@&#8203;jjjjonathan](https://github.com/jjjjonathan)! - Link Expo config discovery source and fold expo6 fixture into expo-router ([`2ddeca5`](https://github.com/webpro-nl/knip/commit/2ddeca50956790b10580e835df50bc980cce961d)) - Update dependencies ([`c9f7914`](https://github.com/webpro-nl/knip/commit/c9f79148f7165314a7b3c801eff926d1d0d6b060)) - Migrate shell script parsing to unbash v5 ([`4942cca`](https://github.com/webpro-nl/knip/commit/4942cca05303410120a007a5bb23b0c2da725da1)) - Handle updated Formatly result types ([`ca9e831`](https://github.com/webpro-nl/knip/commit/ca9e8315e003dae69646f7500fa98ab9ed403b92)) - Preserve TypeScript 5.0 compatibility in shell AST filters ([`957ac7b`](https://github.com/webpro-nl/knip/commit/957ac7bbd654f6d3d0c4dc4eab2f4aa133ff0b4b)) - Point timerify crashes to the Node.js version that fixes them ([`0c235de`](https://github.com/webpro-nl/knip/commit/0c235de096fd3361eb918d1290241fa32a62f089)) - Copy importer identifier sets into the reverse index ([`2860d67`](https://github.com/webpro-nl/knip/commit/2860d678a87dddb5ad56299119fb6e108ceffa12)) - Clear the resolver cache at the start of a run ([`10b5bb8`](https://github.com/webpro-nl/knip/commit/10b5bb82ecd03c88b68ace58a7aea23d188cc5f1)) ### [`v6.40.0`](https://github.com/webpro-nl/knip/releases/tag/knip%406.40.0): Release 6.40.0 [Compare Source](https://github.com/webpro-nl/knip/compare/knip@6.39.0...knip@6.40.0) - Resolve local and scope-only extends in commitlint plugin ([#&#8203;2079](https://github.com/webpro-nl/knip/issues/2079)) ([`e667552`](https://github.com/webpro-nl/knip/commit/e667552d4e7122094565d3ad9ae407acfc0ac684)) - thanks [@&#8203;giaBaoJS](https://github.com/giaBaoJS)! - Clarify worktree guides and plugin review preparation ([`dd02baf`](https://github.com/webpro-nl/knip/commit/dd02baf020d23af1d47c44c1a726a61014b270bd)) - Document stale cache results and workarounds ([#&#8203;2078](https://github.com/webpro-nl/knip/issues/2078)) ([`3573749`](https://github.com/webpro-nl/knip/commit/3573749a5d5bbee6305f207cc7d1b72c200c8c9b)) - Exclude test files from package entries in production mode (resolve [#&#8203;2082](https://github.com/webpro-nl/knip/issues/2082)) ([`b86f45f`](https://github.com/webpro-nl/knip/commit/b86f45f9d38d4b83baad98e43983e08910e00c78)) - thanks [@&#8203;jonathanong](https://github.com/jonathanong)! - Resolve Serverless file variables in plugins and functions (resolve [#&#8203;2074](https://github.com/webpro-nl/knip/issues/2074)) ([`99cac78`](https://github.com/webpro-nl/knip/commit/99cac789694ea8d76cd38184d2d7c95f34315224)) - thanks [@&#8203;SwastikTripathi](https://github.com/SwastikTripathi)! - Preserve locally referenced namespace members (resolve [#&#8203;2070](https://github.com/webpro-nl/knip/issues/2070)) ([`f0f36df`](https://github.com/webpro-nl/knip/commit/f0f36df766cd74ad7ae03fbf8940bdeb792439be)) - thanks [@&#8203;MFA-G](https://github.com/MFA-G)! - fix: add the commitlint-plugin prefix to Commitlint plugin names ([#&#8203;2096](https://github.com/webpro-nl/knip/issues/2096)) ([`3decd35`](https://github.com/webpro-nl/knip/commit/3decd35ff0a4220c7cd2c9142dc69c89794b3927)) - thanks [@&#8203;devYRPauli](https://github.com/devYRPauli)! - fix: match .mjs config files in the simple-git-hooks plugin ([#&#8203;2097](https://github.com/webpro-nl/knip/issues/2097)) ([`79a87d9`](https://github.com/webpro-nl/knip/commit/79a87d92396c2444ae4ef3c780c0d2e18cd73e4c)) - thanks [@&#8203;devYRPauli](https://github.com/devYRPauli)! - fix: match capacitor.config.js in the Capacitor plugin ([#&#8203;2098](https://github.com/webpro-nl/knip/issues/2098)) ([`4a5ec96`](https://github.com/webpro-nl/knip/commit/4a5ec96d818117a7f2eafa027e3b707bc97573a8)) - thanks [@&#8203;devYRPauli](https://github.com/devYRPauli)! - fix(typescript): ArrayExpression ([#&#8203;2099](https://github.com/webpro-nl/knip/issues/2099)) ([#&#8203;2100](https://github.com/webpro-nl/knip/issues/2100)) ([`87fea9f`](https://github.com/webpro-nl/knip/commit/87fea9f201c2fd864eafa31bdad68910a8a177ba)) - thanks [@&#8203;DreamLongYT](https://github.com/DreamLongYT)! - Preserve development entry pattern groups ([`7c229f4`](https://github.com/webpro-nl/knip/commit/7c229f4e1918075d801ed3b046fa022b1d3bcc41)) - Resolve null package exports to the files they hide (resolve [#&#8203;2084](https://github.com/webpro-nl/knip/issues/2084), close [#&#8203;2085](https://github.com/webpro-nl/knip/issues/2085)) ([`5bd4626`](https://github.com/webpro-nl/knip/commit/5bd46260feb60b957c2631bc72375ef192e441e0)) - Pin InvokeAI ecosystem test ([`4e0a343`](https://github.com/webpro-nl/knip/commit/4e0a3432eb35e3f628f6d3b7fcd14b942de343d0)) - fix(utils): add jsx extension to source mapping ([#&#8203;2087](https://github.com/webpro-nl/knip/issues/2087)) ([`eaa353b`](https://github.com/webpro-nl/knip/commit/eaa353b5fc30c2f12cdf2c29e6dd68e0d0950062)) - thanks [@&#8203;DreamLongYT](https://github.com/DreamLongYT)! - fix(serverless-framework): handle explicit extensions in handler paths ([#&#8203;2091](https://github.com/webpro-nl/knip/issues/2091)) ([`e939396`](https://github.com/webpro-nl/knip/commit/e9393965be7563640921e3f20c946fcb9132e1cb)) - thanks [@&#8203;DreamLongYT](https://github.com/DreamLongYT)! - Annotate published manifest return type ([`d95a831`](https://github.com/webpro-nl/knip/commit/d95a8310a0d0dca8f23d8dd3f83e7b0a1909d038)) - Add Jasmine plugin ([#&#8203;2105](https://github.com/webpro-nl/knip/issues/2105)) ([`9ed1491`](https://github.com/webpro-nl/knip/commit/9ed14911d5c5752aef36878ab3d515c35d1ac6bc)) - thanks [@&#8203;SulimanAbdulrazzaq](https://github.com/SulimanAbdulrazzaq)! - fix: resolve workspace exports with fallback arrays ([#&#8203;2088](https://github.com/webpro-nl/knip/issues/2088)) ([`49c2aae`](https://github.com/webpro-nl/knip/commit/49c2aaeaba4544f25cc02c19d5da5152a8ef68c3)) - thanks [@&#8203;DreamLongYT](https://github.com/DreamLongYT)! - fix(postcss): ignore disabled plugins in object configs ([#&#8203;2092](https://github.com/webpro-nl/knip/issues/2092)) ([`b84fdf8`](https://github.com/webpro-nl/knip/commit/b84fdf8a8ee676ee45f4313009ebfe969d034a88)) - thanks [@&#8203;DreamLongYT](https://github.com/DreamLongYT)! - Resolve webServer commands in Playwright plugin ([#&#8203;2110](https://github.com/webpro-nl/knip/issues/2110)) ([`1af96bc`](https://github.com/webpro-nl/knip/commit/1af96bce36b0d0d07791de100c7f2ea5672a478c)) - thanks [@&#8203;everton-dgn](https://github.com/everton-dgn)! - Cache config file inputs per plugin ([#&#8203;2109](https://github.com/webpro-nl/knip/issues/2109)) ([`01cb432`](https://github.com/webpro-nl/knip/commit/01cb43267ca5dc03a2cbcba0a19fd891d4ed1f37)) - thanks [@&#8203;everton-dgn](https://github.com/everton-dgn)! - fix: include custom compiler extensions in source path mapping ([#&#8203;2090](https://github.com/webpro-nl/knip/issues/2090)) ([`dc3a47e`](https://github.com/webpro-nl/knip/commit/dc3a47e2d810808314454b8f5c23070f136d15d3)) - thanks [@&#8203;DreamLongYT](https://github.com/DreamLongYT)! - Don't let a self-closing <script /> swallow the next <script> ([#&#8203;2113](https://github.com/webpro-nl/knip/issues/2113)) ([`989fdad`](https://github.com/webpro-nl/knip/commit/989fdadde0a068d1d1c52e26a8327b99c5de0668)) - thanks [@&#8203;maniflopi](https://github.com/maniflopi)! - fix(oxlint): resolve lint from loaded Vite config ([#&#8203;2108](https://github.com/webpro-nl/knip/issues/2108)) ([`6d44e53`](https://github.com/webpro-nl/knip/commit/6d44e532ed6320cdf4f4c3253b26e155c4d26ba7)) - thanks [@&#8203;everton-dgn](https://github.com/everton-dgn)! - fix: resolve Jest module names without the jest-\* prefix ([#&#8203;2095](https://github.com/webpro-nl/knip/issues/2095)) ([`a5f4cfb`](https://github.com/webpro-nl/knip/commit/a5f4cfbff7f263a0ea8d5461a3f9216cbef38602)) - thanks [@&#8203;devYRPauli](https://github.com/devYRPauli)! - Resolve Vitest paths from the top-level root (resolve [#&#8203;2114](https://github.com/webpro-nl/knip/issues/2114)) ([#&#8203;2119](https://github.com/webpro-nl/knip/issues/2119)) ([`8a495d4`](https://github.com/webpro-nl/knip/commit/8a495d424cf60cab502c5c5ea476a3c761a9da6d)) - thanks [@&#8203;SwastikTripathi](https://github.com/SwastikTripathi)! - fix(rsbuild): detect config from tools.rspack inside rsbuild config ([#&#8203;2077](https://github.com/webpro-nl/knip/issues/2077)) ([`c4ed619`](https://github.com/webpro-nl/knip/commit/c4ed619d5352b1d7b9ffaacc8c75d247eef39517)) - thanks [@&#8203;TkDodo](https://github.com/TkDodo)! - Add osls plugin ([#&#8203;2104](https://github.com/webpro-nl/knip/issues/2104)) ([`a8bf4bf`](https://github.com/webpro-nl/knip/commit/a8bf4bfaeba2ee0aaf756b343789de9fff75a1fa)) - thanks [@&#8203;bytedoe](https://github.com/bytedoe)! - Explain why types in signatures of used exports are not reported ([`61f5cc0`](https://github.com/webpro-nl/knip/commit/61f5cc02e6b4e895dbd8507ab845ae30f073211b)) - Update sponsors page ([`7ea33fa`](https://github.com/webpro-nl/knip/commit/7ea33fa2c116c29e2c131bda900aaf7b9073a3ff)) - Edit docs ([`b459d7c`](https://github.com/webpro-nl/knip/commit/b459d7c3ad6d5535fd7646d93022a2974641ccd9)) ### [`v6.39.0`](https://github.com/webpro-nl/knip/releases/tag/knip%406.39.0): Release 6.39.0 [Compare Source](https://github.com/webpro-nl/knip/compare/knip@6.38.0...knip@6.39.0) - Add Railway plugin ([#&#8203;2026](https://github.com/webpro-nl/knip/issues/2026)) ([`6da5576`](https://github.com/webpro-nl/knip/commit/6da55767eb419701dd32f93789a00e8bdc915276)) - thanks [@&#8203;jonahsnider](https://github.com/jonahsnider)! - Update query snapshot ([`8877d3c`](https://github.com/webpro-nl/knip/commit/8877d3cf35943e17a617e1197fa46c5a43342479)) - Fix excluded tags on entry re-exports ([#&#8203;2062](https://github.com/webpro-nl/knip/issues/2062)) ([`b22e275`](https://github.com/webpro-nl/knip/commit/b22e27543cb8dd4ba7ec97c70ccfd06bc8f16614)) - thanks [@&#8203;devYRPauli](https://github.com/devYRPauli)! - Update rolldown snapshot ([`3a45c80`](https://github.com/webpro-nl/knip/commit/3a45c806e1c1b7ceb078903652c8631566400096)) - Skip synthetic self-imports in Vue and Nuxt auto-import compilers ([#&#8203;2067](https://github.com/webpro-nl/knip/issues/2067)) ([`d912d80`](https://github.com/webpro-nl/knip/commit/d912d807e41f140bbc79bafce6882b3c05dec6ff)) - thanks [@&#8203;bytedoe](https://github.com/bytedoe)! - fix(angular): keep other projects' inputs when one has no architect ([#&#8203;2064](https://github.com/webpro-nl/knip/issues/2064)) ([`af3f42e`](https://github.com/webpro-nl/knip/commit/af3f42e9772e9937fd71b7557d3b54aee1db339a)) - thanks [@&#8203;Cayan](https://github.com/Cayan)! - fix(vite): resolve nested HTML entry points in multi-page apps ([#&#8203;1988](https://github.com/webpro-nl/knip/issues/1988)) ([`4648aef`](https://github.com/webpro-nl/knip/commit/4648aefe56e7bac521bb6f17189473b46f8ff00f)) - thanks [@&#8203;DreamLongYT](https://github.com/DreamLongYT)! - Improve Rstest plugin support ([#&#8203;2068](https://github.com/webpro-nl/knip/issues/2068)) ([`add8799`](https://github.com/webpro-nl/knip/commit/add87992e9dfe2f3c22e4c6ba7fa257d7f0151cf)) - thanks [@&#8203;fi3ework](https://github.com/fi3ework)! - Handle profiles, formatters and require paths in Cucumber plugin ([#&#8203;2065](https://github.com/webpro-nl/knip/issues/2065)) ([`2ad39fc`](https://github.com/webpro-nl/knip/commit/2ad39fcf02e067b4bdfc06a658bf4bf5abeea764)) - thanks [@&#8203;giaBaoJS](https://github.com/giaBaoJS)! - fix(playwright): resolve globalSetup/globalTeardown from config dir ([#&#8203;2076](https://github.com/webpro-nl/knip/issues/2076)) ([`7060bb9`](https://github.com/webpro-nl/knip/commit/7060bb968339680d694275413aba2833e4521ed9)) - thanks [@&#8203;alokn](https://github.com/alokn)! - fix: read entry export tags under the re-exported names ([#&#8203;2069](https://github.com/webpro-nl/knip/issues/2069)) ([`1698683`](https://github.com/webpro-nl/knip/commit/1698683df95a96b3515795eb664aacf030042d7b)) - thanks [@&#8203;devYRPauli](https://github.com/devYRPauli)! ### [`v6.38.0`](https://github.com/webpro-nl/knip/releases/tag/knip%406.38.0): Release 6.38.0 [Compare Source](https://github.com/webpro-nl/knip/compare/knip@6.37.0...knip@6.38.0) - Include co-authors in docs contributor list ([`0c33410`](https://github.com/webpro-nl/knip/commit/0c334100df59d89a512ad598ec50e7f62f6da0c3)) - Filter bots and agents from docs contributors ([`617f70d`](https://github.com/webpro-nl/knip/commit/617f70d8179c6b8668ca41fe5df77ced5e2b37c0)) - Update Eve plugin conventions ([#&#8203;2049](https://github.com/webpro-nl/knip/issues/2049)) ([`260dbb9`](https://github.com/webpro-nl/knip/commit/260dbb91a85f3a3bc2727e8f255d73df3737552c)) - thanks [@&#8203;matchai](https://github.com/matchai)! - Add `args` example to that doc page ([`50b271b`](https://github.com/webpro-nl/knip/commit/50b271b98fc930a05a3b045a2f691486f9f06528)) - Add Turborepo plugin ([#&#8203;2055](https://github.com/webpro-nl/knip/issues/2055)) ([`e49d3db`](https://github.com/webpro-nl/knip/commit/e49d3db05f1d69ce7db3efcb8467a4af63c27379)) - thanks [@&#8203;changbaebang](https://github.com/changbaebang)! - Support `import-x/*` settings in ESLint plugin ([#&#8203;2050](https://github.com/webpro-nl/knip/issues/2050)) ([`1a34cf8`](https://github.com/webpro-nl/knip/commit/1a34cf82a3d6a1202717ef910bedba55838e9dd9)) - thanks [@&#8203;bytedoe](https://github.com/bytedoe)! - Resolve file option in Mocha configuration files ([#&#8203;2051](https://github.com/webpro-nl/knip/issues/2051)) ([`9b5c5f6`](https://github.com/webpro-nl/knip/commit/9b5c5f60468c8a92a3e74adca5c0931f008677af)) - thanks [@&#8203;giaBaoJS](https://github.com/giaBaoJS)! - Support oxlint extends ([#&#8203;2054](https://github.com/webpro-nl/knip/issues/2054)) ([`a149a98`](https://github.com/webpro-nl/knip/commit/a149a98219bb14b15f446fc5f8c4f815e28b2183)) - thanks [@&#8203;matthewnitschke-wk](https://github.com/matthewnitschke-wk)! - Fix import.meta handling in built-in compilers ([#&#8203;2059](https://github.com/webpro-nl/knip/issues/2059)) ([`8b0c850`](https://github.com/webpro-nl/knip/commit/8b0c85076bf3dce15ef5f3c0c4e58bfefdf59ded)) - thanks [@&#8203;vdavid](https://github.com/vdavid)! - Fix tag hints for enum and namespace members ([#&#8203;2061](https://github.com/webpro-nl/knip/issues/2061)) ([`8a8805e`](https://github.com/webpro-nl/knip/commit/8a8805e48945863248429d18b7f6c4e4b7dc9ebd)) - thanks [@&#8203;devYRPauli](https://github.com/devYRPauli)! - Flag unused member tags in tagged enums and namespaces ([`584e53f`](https://github.com/webpro-nl/knip/commit/584e53ff3e0846fbfe04fa5b5bfefe2420576a34)) - feat: resolve MDX content mapper remarkPlugins ([#&#8203;2060](https://github.com/webpro-nl/knip/issues/2060)) ([`34dbccf`](https://github.com/webpro-nl/knip/commit/34dbccf25359f9e9fefe9d0be6ef2ec0252223cc)) - thanks [@&#8203;gioboa](https://github.com/gioboa)! - Refactor and separate concerns w/ new typescript-content-mapper plugin ([`11e9450`](https://github.com/webpro-nl/knip/commit/11e94509bd0f350d747facf4003fc5b248d1b02d)) - Resolve mdx content mapper providerImportSource ([`7b58251`](https://github.com/webpro-nl/knip/commit/7b5825117f97f2f87b7141509a254f88d0957cf7)) - Fix config → entry in plop plugin ([`25a380c`](https://github.com/webpro-nl/knip/commit/25a380c9e1165b76583d69b48b5fa7cdf5db0ae2)) ### [`v6.37.0`](https://github.com/webpro-nl/knip/releases/tag/knip%406.37.0): Release 6.37.0 [Compare Source](https://github.com/webpro-nl/knip/compare/knip@6.36.0...knip@6.37.0) - fix(graphql-codegen): mark near-operation-file outputs as entries, not the documents directory ([#&#8203;2048](https://github.com/webpro-nl/knip/issues/2048)) ([`06a68fc`](https://github.com/webpro-nl/knip/commit/06a68fcf99a90e559daeb0b8fb2d24e173124774)) - thanks [@&#8203;RobHannay](https://github.com/RobHannay)! - fix: enable JSX in the config loader ([#&#8203;1959](https://github.com/webpro-nl/knip/issues/1959)) ([`5b21dc9`](https://github.com/webpro-nl/knip/commit/5b21dc9192f773613d1c5db8edf35f0a68820268)) - thanks [@&#8203;addielaruee](https://github.com/addielaruee)! - Match binaries only to their actual dependency providers ([`c5bdb69`](https://github.com/webpro-nl/knip/commit/c5bdb69ccbcb7e1056233f346d0ada3495d1013d)) - Preserve executable references across package manager commands ([`54af171`](https://github.com/webpro-nl/knip/commit/54af171638db22f5d903faae05c37c2ea6adc869)) - Correct binary provider metadata in Relay fixtures ([`e67dfcb`](https://github.com/webpro-nl/knip/commit/e67dfcb96d055c27be9c8601e077656855bb632b)) - Separate shell binary expectations from reporting exemptions (resolve [#&#8203;2022](https://github.com/webpro-nl/knip/issues/2022)) ([`c1d7d75`](https://github.com/webpro-nl/knip/commit/c1d7d75a3529d9faff7f4c0df11dd0ca1bdfb149)) - Respect npx no-install flags before the executable ([`4237010`](https://github.com/webpro-nl/knip/commit/4237010c9a834eb8b04f4a528c76d10a5c38ee98)) - Update dependencies ([`038ea17`](https://github.com/webpro-nl/knip/commit/038ea179f7d6bf7ca43bc5daf553a68b13a9067c)) - Remove npm auth check now that's in release-it ([`4aaf77c`](https://github.com/webpro-nl/knip/commit/4aaf77c58004ac64063a1982b98e53107c2ebe93)) - Fix --format name resolution in the ESLint plugin ([#&#8203;2046](https://github.com/webpro-nl/knip/issues/2046)) ([`1269e98`](https://github.com/webpro-nl/knip/commit/1269e98bb700384811fadc124d69ea720832037e)) - thanks [@&#8203;bytedoe](https://github.com/bytedoe)! ### [`v6.36.0`](https://github.com/webpro-nl/knip/releases/tag/knip%406.36.0): Release 6.36.0 [Compare Source](https://github.com/webpro-nl/knip/compare/knip@6.35.1...knip@6.36.0) - Add [@&#8203;tailwindcss/webpack](https://github.com/tailwindcss/webpack) as Tailwind plugin enabler ([#&#8203;2027](https://github.com/webpro-nl/knip/issues/2027)) ([`b5ac0cf`](https://github.com/webpro-nl/knip/commit/b5ac0cf734dda3c6c6c51c817981dfc558b7c582)) - thanks [@&#8203;igas](https://github.com/igas)! - Fix Next.js Turbopack loader dependencies ([`23419b4`](https://github.com/webpro-nl/knip/commit/23419b4edfd48796dd484fa880e1bad49a043d2e)) - Explain ambiguous star exports in traces ([#&#8203;2025](https://github.com/webpro-nl/knip/issues/2025)) ([`3c2c1a5`](https://github.com/webpro-nl/knip/commit/3c2c1a53f9c2b7ff3057a4e46761791979e0b09c)) - thanks [@&#8203;gioboa](https://github.com/gioboa)! - Fix eslintrc `parserOptions.parser` handling in ESLint plugin ([#&#8203;2028](https://github.com/webpro-nl/knip/issues/2028)) ([`c79463c`](https://github.com/webpro-nl/knip/commit/c79463cec81d09518eda325ec00e6f12327dea8d)) - thanks [@&#8203;bytedoe](https://github.com/bytedoe)! - fix(compilers): require word boundary around import keyword ([#&#8203;2029](https://github.com/webpro-nl/knip/issues/2029)) ([`68bbe51`](https://github.com/webpro-nl/knip/commit/68bbe51c39b564022b63942bc83cb570778cca00)) - thanks [@&#8203;thanadolps](https://github.com/thanadolps)! - fix: recover from corrupt cache file ([#&#8203;2034](https://github.com/webpro-nl/knip/issues/2034)) ([`30ff756`](https://github.com/webpro-nl/knip/commit/30ff7568c84e0a6731ca634a52314228d23d1a2b)) - thanks [@&#8203;gioboa](https://github.com/gioboa)! - fix: fix trailing comma on dependency removal ([#&#8203;2033](https://github.com/webpro-nl/knip/issues/2033)) ([`adfaf4f`](https://github.com/webpro-nl/knip/commit/adfaf4f78878b6d55b0939a92d70a1fbb0ae1240)) - thanks [@&#8203;gioboa](https://github.com/gioboa)! - Document built-in compiler scope ([`a05e155`](https://github.com/webpro-nl/knip/commit/a05e155276dad4ead16992580d17572cebf045e7)) - Add babel, khan and oxc to projects and optimize svgs ([`1c26560`](https://github.com/webpro-nl/knip/commit/1c26560b98bc3109e93d15761d02f089213bfb6c)) - Add section to test preview packages & extension ([`d911c18`](https://github.com/webpro-nl/knip/commit/d911c18385f0aa41f53653a2a15cc90a1e0251b8)) - Fix shared info/exclude handling in linked Git worktrees ([#&#8203;2037](https://github.com/webpro-nl/knip/issues/2037)) ([`c1f18d5`](https://github.com/webpro-nl/knip/commit/c1f18d5a7d25fc5a614747bbcbd62d043457eb48)) - thanks [@&#8203;kenfdev](https://github.com/kenfdev)! - Shard Node specs on Windows and enable Bun test parallelism ([`66e966b`](https://github.com/webpro-nl/knip/commit/66e966b6edec4460b40b05847fefa9f90ee69068)) - Add Varlock plugin support ([#&#8203;2000](https://github.com/webpro-nl/knip/issues/2000)) ([`e4fbf46`](https://github.com/webpro-nl/knip/commit/e4fbf46acff08e78370e72b142e795bd81f28561)) - thanks [@&#8203;Joehoel](https://github.com/Joehoel)! - Apply NODE_OPTIONS inputs to package manager binaries ([#&#8203;2038](https://github.com/webpro-nl/knip/issues/2038)) ([`c8df8a2`](https://github.com/webpro-nl/knip/commit/c8df8a28e9a19484efe7097f984abc0c6556aff5)) - thanks [@&#8203;giaBaoJS](https://github.com/giaBaoJS)! - Handle array form of `import/resolver` setting in ESLint plugin ([#&#8203;2041](https://github.com/webpro-nl/knip/issues/2041)) ([`a80d386`](https://github.com/webpro-nl/knip/commit/a80d386a80fdafc89c610d4887ec82184ac178db)) - thanks [@&#8203;bytedoe](https://github.com/bytedoe)! - fix(node): add valueless Node CLI flags to boolean options ([#&#8203;2042](https://github.com/webpro-nl/knip/issues/2042)) ([`4c67685`](https://github.com/webpro-nl/knip/commit/4c6768501f7115a894d7ece9e5c32090b684cc6f)) - thanks [@&#8203;shoutoutuoadi325](https://github.com/shoutoutuoadi325)! - fix(typedoc): accept string form of plugin and theme options ([#&#8203;2043](https://github.com/webpro-nl/knip/issues/2043)) ([`ce387b0`](https://github.com/webpro-nl/knip/commit/ce387b05c8f136546e860ec73e29557563c63afa)) - thanks [@&#8203;giaBaoJS](https://github.com/giaBaoJS)! - Add textlint plugin ([#&#8203;2039](https://github.com/webpro-nl/knip/issues/2039)) ([`532dab5`](https://github.com/webpro-nl/knip/commit/532dab595fc9a910e320418dc0390222fb2d7478)) - thanks [@&#8203;anandghegde](https://github.com/anandghegde)! - fix: Correctly resolve Vitest setupFiles from nested configs ([#&#8203;2040](https://github.com/webpro-nl/knip/issues/2040)) ([`84a4943`](https://github.com/webpro-nl/knip/commit/84a494334e125d229dc865893b21d69d0d201e85)) - thanks [@&#8203;CruseCtrl](https://github.com/CruseCtrl)! - Add n8n to projects ([`3f756a7`](https://github.com/webpro-nl/knip/commit/3f756a7e70c4164d57a7dbbd58f3604afe4043e2)) - Resolve re-export traces to their defining bindings ([`43b3f9b`](https://github.com/webpro-nl/knip/commit/43b3f9bbd7701ab44fca0554908f7550fbe84649)) - Show ambiguous, shadowed and converged exports ([`f1e97b9`](https://github.com/webpro-nl/knip/commit/f1e97b998d80906f0cef3f5e3946833b7166cbdc)) - Document export tracing and editor contention ([`0188e7d`](https://github.com/webpro-nl/knip/commit/0188e7da1a481c7f6493d50580dfa8a7ecdf8c72)) - Resolve local `extends` files in eslintrc configs ([#&#8203;2044](https://github.com/webpro-nl/knip/issues/2044)) ([`62b5bf5`](https://github.com/webpro-nl/knip/commit/62b5bf5aef5e6d3fc4784a1b5ef9933d383609ea)) - thanks [@&#8203;bytedoe](https://github.com/bytedoe)! - docs: link each page to its own OG image ([#&#8203;2045](https://github.com/webpro-nl/knip/issues/2045)) ([`a85eb4e`](https://github.com/webpro-nl/knip/commit/a85eb4e2aab46c3fa0813b1f1e13e93e134b8be7)) - thanks [@&#8203;bytedoe](https://github.com/bytedoe)! - fix: fix language server bundled knip fallback ([#&#8203;2035](https://github.com/webpro-nl/knip/issues/2035)) ([`882ba3a`](https://github.com/webpro-nl/knip/commit/882ba3abb0b99c2bfe3e13a241d889376fe87c4c)) - thanks [@&#8203;gioboa](https://github.com/gioboa)! ### [`v6.35.1`](https://github.com/webpro-nl/knip/releases/tag/knip%406.35.1): Release 6.35.1 [Compare Source](https://github.com/webpro-nl/knip/compare/knip@6.35.0...knip@6.35.1) - Exit with code 2 when a plugin config file fails to load ([#&#8203;1947](https://github.com/webpro-nl/knip/issues/1947)) ([`37b2642`](https://github.com/webpro-nl/knip/commit/37b26426694380ef70ee45f63358faf63355a58d)) - thanks [@&#8203;WooWan](https://github.com/WooWan)! - Fix sponsorship income calculations ([`0d9cf34`](https://github.com/webpro-nl/knip/commit/0d9cf344b8cc0104c06d11e2c78f3f01b1df548b)) - Update sponsors page ([`2659063`](https://github.com/webpro-nl/knip/commit/2659063d87f558b4fc18369a4b143849eaa7543e)) - Fix npm alias attribution under Yarn PnP (resolve [#&#8203;2024](https://github.com/webpro-nl/knip/issues/2024)) ([`7be11aa`](https://github.com/webpro-nl/knip/commit/7be11aa4fd50b8a3d6e276f03efb450d6d142c26)) ### [`v6.35.0`](https://github.com/webpro-nl/knip/releases/tag/knip%406.35.0): Release 6.35.0 [Compare Source](https://github.com/webpro-nl/knip/compare/knip@6.34.0...knip@6.35.0) - fix: track pnpm workspace override catalogs ([#&#8203;1999](https://github.com/webpro-nl/knip/issues/1999)) ([`c6497a1`](https://github.com/webpro-nl/knip/commit/c6497a18c6534ee914b27bb459d7778a7b93a914)) - thanks [@&#8203;gioboa](https://github.com/gioboa)! - fix: track spreads under string-literal keys ([#&#8203;2003](https://github.com/webpro-nl/knip/issues/2003)) ([`9ce68ed`](https://github.com/webpro-nl/knip/commit/9ce68ed42a3c22fa4f4711b06d6d80a0e7f2ba13)) - thanks [@&#8203;gioboa](https://github.com/gioboa)! - fix: don't flag a tag that suppresses member issues ([#&#8203;2004](https://github.com/webpro-nl/knip/issues/2004)) ([`2e7d498`](https://github.com/webpro-nl/knip/commit/2e7d498cf1e53f0bbad5e16c335c5e1417432ffd)) - thanks [@&#8203;devYRPauli](https://github.com/devYRPauli)! - fix: resolve Nuxt Virtual Component Imports ([#&#8203;2006](https://github.com/webpro-nl/knip/issues/2006)) ([`a21f972`](https://github.com/webpro-nl/knip/commit/a21f972ed68aaa6d145dd883b4ce4d68c71e6afb)) - thanks [@&#8203;gioboa](https://github.com/gioboa)! - Update raw transfer problems doc with low RAM machines ([#&#8203;2014](https://github.com/webpro-nl/knip/issues/2014)) ([`3178940`](https://github.com/webpro-nl/knip/commit/31789404cca5a8ba119b4ae97b959b7e2c595345)) - thanks [@&#8203;s-h-a-d-o-w](https://github.com/s-h-a-d-o-w)! - fix: recognize pnpm stage as built-in ([#&#8203;2015](https://github.com/webpro-nl/knip/issues/2015)) ([`aaab35a`](https://github.com/webpro-nl/knip/commit/aaab35a948b458e3031989c13c13d099fdd6f229)) - thanks [@&#8203;gioboa](https://github.com/gioboa)! - fix: support object-form Rstest test environments ([#&#8203;2010](https://github.com/webpro-nl/knip/issues/2010)) ([`6c27aab`](https://github.com/webpro-nl/knip/commit/6c27aab20de5b6d31d71513b016548e74fc494ba)) - thanks [@&#8203;gioboa](https://github.com/gioboa)! - fix: honor explicit entry export analysis ([#&#8203;2012](https://github.com/webpro-nl/knip/issues/2012)) ([`a092e40`](https://github.com/webpro-nl/knip/commit/a092e4075a6a37107c0da05c8e59343d5a7c8fab)) - thanks [@&#8203;gioboa](https://github.com/gioboa)! - Document that `pnpm.overrides` is read from the root manifest only ([`f69a7f6`](https://github.com/webpro-nl/knip/commit/f69a7f6d4fa2c68f76a9ba91fb876c5963a9e978)) - Compile source on demand (resolve [#&#8203;1906](https://github.com/webpro-nl/knip/issues/1906)) ([`3662c95`](https://github.com/webpro-nl/knip/commit/3662c9545e8bb980a5503fdea48ecc6f7e2ad3b3)) - Update dependency bun to v1.4.2 ([#&#8203;2019](https://github.com/webpro-nl/knip/issues/2019)) ([`90b384d`](https://github.com/webpro-nl/knip/commit/90b384da25203c07acb9303336622f794d77b575)) - thanks [@&#8203;renovate](https://github.com/renovate)\[bot]! - feat: support configuring preprocessors in knip.json ([#&#8203;1920](https://github.com/webpro-nl/knip/issues/1920)) ([`16d03f7`](https://github.com/webpro-nl/knip/commit/16d03f75ae752cb419684868ff14d89b01e84e62)) - thanks [@&#8203;bytedoe](https://github.com/bytedoe)! - Fix Windows paths in cache persistence and test fixtures ([`a4c7a93`](https://github.com/webpro-nl/knip/commit/a4c7a93a81e04afde09d7977298b397cee9a68c2)) - fix: add a fallback to seach for lock file at `cwd` if its missing at the `root` level ([#&#8203;2020](https://github.com/webpro-nl/knip/issues/2020)) ([`f66c9f1`](https://github.com/webpro-nl/knip/commit/f66c9f1631347f0256f2276748de89b0d8448017)) - thanks [@&#8203;JayaKrishnaNamburu](https://github.com/JayaKrishnaNamburu)! - fix: ignore raw Vite import globs ([#&#8203;2017](https://github.com/webpro-nl/knip/issues/2017)) ([`75d5628`](https://github.com/webpro-nl/knip/commit/75d56286b41ba3e3b4aad53b603736ec357fac75)) - thanks [@&#8203;gioboa](https://github.com/gioboa)! - Edit docs re. `cycles` issue type/reporter (resolve [#&#8203;2021](https://github.com/webpro-nl/knip/issues/2021)) ([`f1e690b`](https://github.com/webpro-nl/knip/commit/f1e690b5a4d8f2b3d13388aa3a95216b9691becb)) - Update dependencies ([`e2bd3fc`](https://github.com/webpro-nl/knip/commit/e2bd3fcc2274b52d35adf0eaec2c555d74873433)) - Resolve Vite public script entries (resolve [#&#8203;2023](https://github.com/webpro-nl/knip/issues/2023)) ([`1cc979b`](https://github.com/webpro-nl/knip/commit/1cc979b7e37a4dcde5e8e9e75a8d79cf663c606e)) - Add mise plugin (resolve [#&#8203;2001](https://github.com/webpro-nl/knip/issues/2001)) ([`db6d891`](https://github.com/webpro-nl/knip/commit/db6d8919af4e870432cdda205e6271a166c84645)) - Add editor severity setting for diagnostics (resolve [#&#8203;1955](https://github.com/webpro-nl/knip/issues/1955)) ([`4afbbcf`](https://github.com/webpro-nl/knip/commit/4afbbcf8b16454a1d1c201d50cf8e8bd28d2cb91)) ### [`v6.34.0`](https://github.com/webpro-nl/knip/releases/tag/knip%406.34.0): Release 6.34.0 [Compare Source](https://github.com/webpro-nl/knip/compare/knip@6.33.0...knip@6.34.0) - fix: report types used only in private parameters (resolve [#&#8203;1950](https://github.com/webpro-nl/knip/issues/1950)) ([`3c785f5`](https://github.com/webpro-nl/knip/commit/3c785f55ce608d7921e37e41dd5fc61b623e5da2)) - 💡 Add support for `node:fs/promises` `glob` ([#&#8203;1977](https://github.com/webpro-nl/knip/issues/1977)) ([`44faf08`](https://github.com/webpro-nl/knip/commit/44faf08e7f56ce695d1541a6c337b76bea0328d1)) - thanks [@&#8203;DreamLongYT](https://github.com/DreamLongYT)! - Respect JSDoc tags on URL dependencies (resolve [#&#8203;1943](https://github.com/webpro-nl/knip/issues/1943)) ([`f93ad09`](https://github.com/webpro-nl/knip/commit/f93ad0997e1b8fc644f6487df52803cba6f7a9ad)) - Make prop access consistent while at it ([`1c90b49`](https://github.com/webpro-nl/knip/commit/1c90b49b1b196795df6dcf9d7e85bc1b1399667a)) - Set an explicit Bun test timeout ([`964085d`](https://github.com/webpro-nl/knip/commit/964085dfab0165db2658e51cb787e2301886f9ce)) - Add note re. one scoped PRs ([`8f9490a`](https://github.com/webpro-nl/knip/commit/8f9490a581874e0fd7246e60223b20938bf4ebb1)) - fix(cli): validate numeric options instead of passing NaN through ([#&#8203;1975](https://github.com/webpro-nl/knip/issues/1975)) ([`ab90e24`](https://github.com/webpro-nl/knip/commit/ab90e2428a16ff50fe5323ce73172f6f1efb9730)) - thanks [@&#8203;devYRPauli](https://github.com/devYRPauli)! - fix: compile files with workspace-scoped compilers ([#&#8203;1997](https://github.com/webpro-nl/knip/issues/1997)) ([`462ae45`](https://github.com/webpro-nl/knip/commit/462ae45df33a5ee2e2185f3b2db756b13dfbadd3)) - thanks [@&#8203;gioboa](https://github.com/gioboa)! - Resolve Nuxt `#shared` imports from the shared directory ([#&#8203;1991](https://github.com/webpro-nl/knip/issues/1991)) ([`cc47061`](https://github.com/webpro-nl/knip/commit/cc470611042b01761491c21f6987549db4c11df8)) - thanks [@&#8203;DreamLongYT](https://github.com/DreamLongYT)! - Update dependencies ([`c4e0f08`](https://github.com/webpro-nl/knip/commit/c4e0f082fbd7fb508a411c7dd0a782ea4556527c)) - Declare webpack directly instead of through `@types/webpack` ([`96ff2df`](https://github.com/webpro-nl/knip/commit/96ff2df58dd1d229d077212e1cd80f10889650ca)) - Assert counters in targeted regression tests ([`f0cf11d`](https://github.com/webpro-nl/knip/commit/f0cf11dfcfbdeac053bba0dd12212356a67f6464)) ### [`v6.33.0`](https://github.com/webpro-nl/knip/releases/tag/knip%406.33.0): Release 6.33.0 [Compare Source](https://github.com/webpro-nl/knip/compare/knip@6.32.3...knip@6.33.0) - Support package manifest resolution under Yarn PnP ([#&#8203;1946](https://github.com/webpro-nl/knip/issues/1946)) ([`a82efb6`](https://github.com/webpro-nl/knip/commit/a82efb62b290e004bdabee40bcb337baf3701a1b)) - thanks [@&#8203;WooWan](https://github.com/WooWan)! - Resolve oxlint jsPlugins from .oxlintrc.jsonc ([#&#8203;1973](https://github.com/webpro-nl/knip/issues/1973)) ([`d055023`](https://github.com/webpro-nl/knip/commit/d055023182789555a574eaefde80dac997190437)) - thanks [@&#8203;DreierF](https://github.com/DreierF)! - Update dependency bun to v1.4.0 ([#&#8203;1964](https://github.com/webpro-nl/knip/issues/1964)) ([`937ab38`](https://github.com/webpro-nl/knip/commit/937ab38ad514a00edafecff4ca04603b015bf921)) - thanks [@&#8203;renovate](https://github.com/renovate)\[bot]! - Expose `defineConfig` on a `./config` entrypoint ([#&#8203;1960](https://github.com/webpro-nl/knip/issues/1960)) ([`17f7a60`](https://github.com/webpro-nl/knip/commit/17f7a6051d9781860f248cc2a745dbe837713cd9)) - thanks [@&#8203;theRizwan](https://github.com/theRizwan)! - Preserve all environment variables in exec.ts ([#&#8203;1979](https://github.com/webpro-nl/knip/issues/1979)) ([`c0a9ecf`](https://github.com/webpro-nl/knip/commit/c0a9ecf8d1c0cdd7789c1e1bea893706c060239d)) - thanks [@&#8203;DreamLongYT](https://github.com/DreamLongYT)! - Add support for TypeScript content mappers ([#&#8203;1978](https://github.com/webpro-nl/knip/issues/1978)) ([`db67f9b`](https://github.com/webpro-nl/knip/commit/db67f9bd8cebf0ea3c298690d462c154827aa462)) - thanks [@&#8203;remcohaszing](https://github.com/remcohaszing)! - fix(vitest): resolve array entries and root-relative setup dependencies ([#&#8203;1982](https://github.com/webpro-nl/knip/issues/1982)) ([`0ecf485`](https://github.com/webpro-nl/knip/commit/0ecf48538c339437e6f9dfe9a6013d307783cbd3)) - thanks [@&#8203;DreamLongYT](https://github.com/DreamLongYT)! - Fix type annotation in dynamic configuration function example ([`ada88c7`](https://github.com/webpro-nl/knip/commit/ada88c7f01563b73643af34a147a71fd9ab9d2dc)) - Format docs with remark ([`7764c2a`](https://github.com/webpro-nl/knip/commit/7764c2a4ebecdbf226c19494d255d9cb14550822)) - Throw on configuration that is not an object ([`d7ac0cf`](https://github.com/webpro-nl/knip/commit/d7ac0cf1de8f79be6ec53412cac9f7edf8f35ba7)) - Clarify dependency inputs, isTypeOnly and toConfig in plugin docs ([`2bd3679`](https://github.com/webpro-nl/knip/commit/2bd367961554ad1addb520bdfad5e31125885969)) - Resolve content mapper process from package.json#typescript.contentMapper.exec ([`74640c0`](https://github.com/webpro-nl/knip/commit/74640c03e450624409692f4cc17699775108fd7e)) - Encode argv arrays before parsing them as shell commands ([`b79234c`](https://github.com/webpro-nl/knip/commit/b79234c15153fbf592e82c94e4e4e9f41b4479e0)) - Update dependencies ([`2851014`](https://github.com/webpro-nl/knip/commit/28510146c2b97d88f7188f1239b9307aac7dbf0c)) - Replace non-breaking space in module graph comment ([`4e22bfc`](https://github.com/webpro-nl/knip/commit/4e22bfcd09deccc92ed158f5554fe3e03f3a2c51)) - Update fix format test for oxfmt package.json key sorting ([`65011bf`](https://github.com/webpro-nl/knip/commit/65011bf6054d03fb5580f3381867b07d1b8a9a0c)) - fix(webpack): resolve entry descriptors using import field ([#&#8203;1981](https://github.com/webpro-nl/knip/issues/1981)) ([`cad8910`](https://github.com/webpro-nl/knip/commit/cad8910e7fb89c2510fc9f5885289335dd4e60da)) - thanks [@&#8203;DreamLongYT](https://github.com/DreamLongYT)! - fix: count enum element access as a whole-object read ([#&#8203;1958](https://github.com/webpro-nl/knip/issues/1958)) ([`5a47d60`](https://github.com/webpro-nl/knip/commit/5a47d603aa23b388ae7ce4fe301656f1abc43b14)) - thanks [@&#8203;addielaruee](https://github.com/addielaruee)! - Resolve oxlint/vite-plus import resolvers from `settings` ([#&#8203;1983](https://github.com/webpro-nl/knip/issues/1983)) ([`c1165b7`](https://github.com/webpro-nl/knip/commit/c1165b70efe27398b86fa50bcea7d85c253d3ee7)) - thanks [@&#8203;DreierF](https://github.com/DreierF)! - fix(nuxt): resolve string extends configs ([#&#8203;1984](https://github.com/webpro-nl/knip/issues/1984)) ([`4a5d706`](https://github.com/webpro-nl/knip/commit/4a5d7068d6264ea45c78c832abe7ba052763517e)) - thanks [@&#8203;DreamLongYT](https://github.com/DreamLongYT)! - Wrap up webpack entry resolution ([`505decd`](https://github.com/webpro-nl/knip/commit/505decdb821f9b76d194742cee7e98c75ef7d8e9)) - Keep element access precise for number-like enum member names ([`bcbac3a`](https://github.com/webpro-nl/knip/commit/bcbac3a8b8283da3b32256584b3cc6569ae5c02f)) - Resolve `Object.*` enum enumeration through import aliases ([`347967d`](https://github.com/webpro-nl/knip/commit/347967daaed817ca20e1ad6148388a66ec8b421b)) - Resolve named string-key access on namespace-qualified enums ([`2ac1fbc`](https://github.com/webpro-nl/knip/commit/2ac1fbc1e92f3dae662ca4d4701cf010346be49a)) - Normalize line endings in nuxt-config-string fixture ([`9fe2b2b`](https://github.com/webpro-nl/knip/commit/9fe2b2b2db8690685ec7c6cf8b3d39b9ed7b3fdc)) - Resolve nuxt layer sources from all `extends` entry shapes ([`db13615`](https://github.com/webpro-nl/knip/commit/db136151d9f98801837b33646ef7b02ae7b5a86d)) - Report unused exports behind Vitest module promise mocks (resolve [#&#8203;1966](https://github.com/webpro-nl/knip/issues/1966)) ([`74954c2`](https://github.com/webpro-nl/knip/commit/74954c219367ca1577184cca08c30dbb3fb6222e)) - Check line endings against `.gitattributes` in `pnpm run ci` ([`ddc9fd0`](https://github.com/webpro-nl/knip/commit/ddc9fd0cc3328260665203c8573702bb6c9d0dd6)) ### [`v6.32.3`](https://github.com/webpro-nl/knip/releases/tag/knip%406.32.3): Release 6.32.3 [Compare Source](https://github.com/webpro-nl/knip/compare/knip@6.32.2...knip@6.32.3) - Update sentry production snapshot ([`9f18cba`](https://github.com/webpro-nl/knip/commit/9f18cba93c91de8554636b13692d6e7a937b7697)) - Pin TypeScript ecosystem test ([`de51629`](https://github.com/webpro-nl/knip/commit/de5162952d223050f3135afb02d4e8de6d46f381)) - Update query snapshot ([`f6964dd`](https://github.com/webpro-nl/knip/commit/f6964dd577d8f7967f9be6778f5c3953632e3c96)) - fix(tsup): match config files with .cts and .mts extensions ([#&#8203;1938](https://github.com/webpro-nl/knip/issues/1938)) ([`68d6f52`](https://github.com/webpro-nl/knip/commit/68d6f52f7913cfa1e36618e6b03f90734da34149)) - thanks [@&#8203;codeAnqiang-ma](https://github.com/codeAnqiang-ma)! - fix(lefthook): match all config file names and extensions ([#&#8203;1940](https://github.com/webpro-nl/knip/issues/1940)) ([`4015ae0`](https://github.com/webpro-nl/knip/commit/4015ae0330c78e97360a2c8f697d17f82c5c24ae)) - thanks [@&#8203;codeAnqiang-ma](https://github.com/codeAnqiang-ma)! - fix(binaries): resolve missing pnpm subcommands ([#&#8203;1945](https://github.com/webpro-nl/knip/issues/1945)) ([`deedbf6`](https://github.com/webpro-nl/knip/commit/deedbf69dcbd6a59d6705a72cadb4e40ad9c8029)) - thanks [@&#8203;marcalexiei](https://github.com/marcalexiei)! - Fix nested gitignore negation inside ignored dot-directories ([#&#8203;1913](https://github.com/webpro-nl/knip/issues/1913)) ([#&#8203;1942](https://github.com/webpro-nl/knip/issues/1942)) ([`0201641`](https://github.com/webpro-nl/knip/commit/0201641af48f52edfbe72076118944ee6273718e)) - thanks [@&#8203;DSeaStar](https://github.com/DSeaStar)! - fix(webdriver-io): match all supported config file extensions ([#&#8203;1948](https://github.com/webpro-nl/knip/issues/1948)) ([`dc7aca5`](https://github.com/webpro-nl/knip/commit/dc7aca5a865d1762a41dd97493b73398ec3abc19)) - thanks [@&#8203;solomonaustin](https://github.com/solomonaustin)! - Resolve vitest include patterns relative to test.dir ([#&#8203;1929](https://github.com/webpro-nl/knip/issues/1929)) ([`ee555d2`](https://github.com/webpro-nl/knip/commit/ee555d227208dd6a34e002318bd6710dedb4d5ca)) - thanks [@&#8203;kirthi-b](https://github.com/kirthi-b)! - Change GitHub stars badge style to flat ([#&#8203;1967](https://github.com/webpro-nl/knip/issues/1967)) ([`ff0d791`](https://github.com/webpro-nl/knip/commit/ff0d791e8130430524dc88c4df73ad87f82879f7)) - thanks [@&#8203;DreamLongYT](https://github.com/DreamLongYT)! - Ignore printf as global binary ([#&#8203;1972](https://github.com/webpro-nl/knip/issues/1972)) ([`a0c0b08`](https://github.com/webpro-nl/knip/commit/a0c0b0805a8a26a6efdedfe2561b168da2a22b68)) - thanks [@&#8203;taracutie](https://github.com/taracutie)! - fix: add bun 1.4 dedupe subcommand ([#&#8203;1969](https://github.com/webpro-nl/knip/issues/1969)) ([`d1d5d42`](https://github.com/webpro-nl/knip/commit/d1d5d4276ece6daf2215f5ff3f4224b5b50dcac3)) - thanks [@&#8203;NimmLor](https://github.com/NimmLor)! - Resolve Vitest mocks from test root ([`e655b0b`](https://github.com/webpro-nl/knip/commit/e655b0ba0192546a2688d702323c8e7c58fecde1)) - Resolve local Vitest reporters from test root (resolve [#&#8203;1953](https://github.com/webpro-nl/knip/issues/1953)) ([`f4ff31a`](https://github.com/webpro-nl/knip/commit/f4ff31ad0385c5955627ec1b3bed2bc0000b14fe)) ### [`v6.32.2`](https://github.com/webpro-nl/knip/releases/tag/knip%406.32.2): Release 6.32.2 [Compare Source](https://github.com/webpro-nl/knip/compare/knip@6.32.1...knip@6.32.2) - Support `oxfmt.config.mts` ([#&#8203;1933](https://github.com/webpro-nl/knip/issues/1933)) ([`7959001`](https://github.com/webpro-nl/knip/commit/795900191dc75eec8d1e717b866bf57e1e2912cc)) - thanks [@&#8203;joealden](https://github.com/joealden)! - Support `oxlint.config.mts` ([#&#8203;1934](https://github.com/webpro-nl/knip/issues/1934)) ([`531e2dc`](https://github.com/webpro-nl/knip/commit/531e2dc7c1d8bf31babea0068c34391182ec2d50)) - thanks [@&#8203;joealden](https://github.com/joealden)! - Fix Supported `lint-staged` Configs ([#&#8203;1935](https://github.com/webpro-nl/knip/issues/1935)) ([`f9c755e`](https://github.com/webpro-nl/knip/commit/f9c755e414ed10baa4d01af8ddac6d04cb8d5617)) - thanks [@&#8203;joealden](https://github.com/joealden)! - Update dependencies ([`95f7c52`](https://github.com/webpro-nl/knip/commit/95f7c529f918dd9e1a84f92c68d064738977b825)) - Update sentry snapshot ([`ea7929f`](https://github.com/webpro-nl/knip/commit/ea7929fcbd6b323c8bdd9252ac57017feeb29ecf)) ### [`v6.32.1`](https://github.com/webpro-nl/knip/releases/tag/knip%406.32.1): Release 6.32.1 [Compare Source](https://github.com/webpro-nl/knip/compare/knip@6.32.0...knip@6.32.1) - Handle referenced config files in their own plugin (resolve [#&#8203;1931](https://github.com/webpro-nl/knip/issues/1931), close [#&#8203;1932](https://github.com/webpro-nl/knip/issues/1932)) ([`982c1d8`](https://github.com/webpro-nl/knip/commit/982c1d8e28cc62d3cba5ecde6dd8df2740c7c329)) - Fix type-check against typescript\@&#8203;5.0.4 ([`2febefe`](https://github.com/webpro-nl/knip/commit/2febefe44a8b39f74158916a2bc73933b4c281ae)) - Update sentry snapshot ([`0397bdd`](https://github.com/webpro-nl/knip/commit/0397bddbf809e2b24fe59a4bea8c0258526bb565)) ### [`v6.32.0`](https://github.com/webpro-nl/knip/releases/tag/knip%406.32.0): Release 6.32.0 [Compare Source](https://github.com/webpro-nl/knip/compare/knip@6.31.0...knip@6.32.0) - fix: attribute wildcard subpath-import aliases as dependency usage ([#&#8203;1918](https://github.com/webpro-nl/knip/issues/1918)) ([`4890a2a`](https://github.com/webpro-nl/knip/commit/4890a2ad5317b9e3f0ab844631ad0f0592802c3e)) - thanks [@&#8203;jsmecham](https://github.com/jsmecham)! - Add Borp plugin ([`5eb9ad4`](https://github.com/webpro-nl/knip/commit/5eb9ad4cfb2ccb7770eac49f6109459d30590211)) - Add tsd plugin ([`bd4ae70`](https://github.com/webpro-nl/knip/commit/bd4ae7041f3fc6aef27b027644f80daefc432aca)) - Resolve Rollup --config argument as plugin configuration ([`8111f97`](https://github.com/webpro-nl/knip/commit/8111f97981406f4327d5e6a655c13308a9dc4426)) - Resolve babel-jest configFile from Jest transform options ([`24794cc`](https://github.com/webpro-nl/knip/commit/24794ccecb80fdaecfe4d46a26faff46c30d9015)) - Add pre-commit plugin ([`ac726b0`](https://github.com/webpro-nl/knip/commit/ac726b0918cb931a6d538797e342484812a6752e)) - Thread script words through resolvers to preserve quoting ([`89f9ada`](https://github.com/webpro-nl/knip/commit/89f9ada6ca81229bf8f7293439998acc5f87d457)) - Resolve entries from Mocha script arguments ([`353f860`](https://github.com/webpro-nl/knip/commit/353f860f8e32f05f7c87dc5501071befc0e5a293)) - Detect Node test runner through c8 ([`fa44be7`](https://github.com/webpro-nl/knip/commit/fa44be722aa35c6e8b441cd8cd0f4cf644027c22)) - Update dependencies (non-major) ([#&#8203;1922](https://github.com/webpro-nl/knip/issues/1922)) ([`6b1e6f3`](https://github.com/webpro-nl/knip/commit/6b1e6f3cbb1749776e3798f46eb2b99cd95ed56a)) - thanks [@&#8203;renovate](https://github.com/renovate)\[bot]! - fix(playwright): match config files with .cjs, .cts and .mts extensions ([#&#8203;1919](https://github.com/webpro-nl/knip/issues/1919)) ([`1c1073a`](https://github.com/webpro-nl/knip/commit/1c1073a1817fdb3bcd3dc00eda2b1d858e444156)) - thanks [@&#8203;davidpavlovschi](https://github.com/davidpavlovschi)! - Restart VS Code language server process (resolve [#&#8203;1923](https://github.com/webpro-nl/knip/issues/1923)) ([`d48eac5`](https://github.com/webpro-nl/knip/commit/d48eac5a2447567a33e835ce3e1648bf3f4ffb2b)) - Classify built-ins from module specifiers (resolve [#&#8203;1925](https://github.com/webpro-nl/knip/issues/1925)) ([`3528c5d`](https://github.com/webpro-nl/knip/commit/3528c5d0f808b7b2155f69a1f98493ee0e3e06c1)) - Don't turn absolute-path script tokens into entries (resolve [#&#8203;1928](https://github.com/webpro-nl/knip/issues/1928)) ([`e5608e7`](https://github.com/webpro-nl/knip/commit/e5608e77b434145c8dd5c2c2872bfb90ae622ce7)) - Update sponsors data ([`025884b`](https://github.com/webpro-nl/knip/commit/025884bb53eede041732723197ac0415a1a50f71)) - Update dependencies ([`d2c0a07`](https://github.com/webpro-nl/knip/commit/d2c0a07c09cea70ab2cae5f97d12da272a6e43e6)) ### [`v6.31.0`](https://github.com/webpro-nl/knip/releases/tag/knip%406.31.0): Release 6.31.0 [Compare Source](https://github.com/webpro-nl/knip/compare/knip@6.30.0...knip@6.31.0) - feat: Add basic support for Marko 6 and 5 ([#&#8203;1914](https://github.com/webpro-nl/knip/issues/1914)) ([`c6b1516`](https://github.com/webpro-nl/knip/commit/c6b151642701f9b4864ddb5ea8e40580623f59d1)) - thanks [@&#8203;caseycarroll](https://github.com/caseycarroll)! - Use Array.from in Marko compiler ([`5aadf47`](https://github.com/webpro-nl/knip/commit/5aadf47a22bdfd43bb8ad4082768e07fe37fc5ca)) - Update release-it and fix release script flags ([`6fa9c26`](https://github.com/webpro-nl/knip/commit/6fa9c269c65c0923965924226a5ccf0778842967)) - Downgrade [@&#8203;types/vscode](https://github.com/types/vscode) to match extension engines range ([`6d8e9bf`](https://github.com/webpro-nl/knip/commit/6d8e9bf5200cf982d0bc801469c4e2be5627e5b8)) ### [`v6.30.0`](https://github.com/webpro-nl/knip/releases/tag/knip%406.30.0): Release 6.30.0 [Compare Source](https://github.com/webpro-nl/knip/compare/knip@6.29.0...knip@6.30.0) - docs: migrate to Starlight Blog plugin ([#&#8203;1854](https://github.com/webpro-nl/knip/issues/1854)) ([`c89e3e3`](https://github.com/webpro-nl/knip/commit/c89e3e3c9)) - thanks [@&#8203;trueberryless](https://github.com/trueberryless)! - Include workspace dependencies in scoped runs (resolve [#&#8203;1901](https://github.com/webpro-nl/knip/issues/1901)) ([`a75309e`](https://github.com/webpro-nl/knip/commit/a75309eda)) - Simplify workspace assembly ([`b3ac164`](https://github.com/webpro-nl/knip/commit/b3ac16411)) - Document export declaration safety ([`ef98a76`](https://github.com/webpro-nl/knip/commit/ef98a7682)) - Read object jsPlugin specifiers from Vite+ config ([#&#8203;1879](https://github.com/webpro-nl/knip/issues/1879)) ([`3ea6a92`](https://github.com/webpro-nl/knip/commit/3ea6a92d4)) - thanks [@&#8203;matchai](https://github.com/matchai)! - Compile gitignore negations once ([`6884cdb`](https://github.com/webpro-nl/knip/commit/6884cdb20)) - Cache Node test script detection ([`d970f67`](https://github.com/webpro-nl/knip/commit/d970f67d8)) - Track only enabled workspace plugins ([`67d4826`](https://github.com/webpro-nl/knip/commit/67d48268a)) - Skip unsupported Vite config command ([`545bb2d`](https://github.com/webpro-nl/knip/commit/545bb2d36)) - Add SARIF reporter ([`ce11cf5`](https://github.com/webpro-nl/knip/commit/ce11cf5d4)) - Track catalog refs in pnpm dlx scripts (resolve [#&#8203;1885](https://github.com/webpro-nl/knip/issues/1885), close [#&#8203;1886](https://github.com/webpro-nl/knip/issues/1886)) ([`102189a`](https://github.com/webpro-nl/knip/commit/102189a1a)) - Report unresolved catalog references ([`b2b86c3`](https://github.com/webpro-nl/knip/commit/b2b86c3e5)) - Track catalog references across scoped runs (resolve [#&#8203;1905](https://github.com/webpro-nl/knip/issues/1905)) ([`f0365ba`](https://github.com/webpro-nl/knip/commit/f0365bae0)) - Track script catalog references across scoped runs ([`9b3ab37`](https://github.com/webpro-nl/knip/commit/9b3ab3778)) - Remove tsc from ignoreBinaries ([`a0a2830`](https://github.com/webpro-nl/knip/commit/a0a283040)) - fix: detect dynamic imports in Svelte component templates ([#&#8203;1908](https://github.com/webpro-nl/knip/issues/1908)) ([`aa303fb`](https://github.com/webpro-nl/knip/commit/aa303fb04)) - thanks [@&#8203;firatciftci](https://github.com/firatciftci)! - fix(remark): support all types of dependency names ([#&#8203;1911](https://github.com/webpro-nl/knip/issues/1911)) ([`3441bea`](https://github.com/webpro-nl/knip/commit/3441bea3a)) - thanks [@&#8203;voxpelli](https://github.com/voxpelli)! - Update sanity snapshot ([`d04aa04`](https://github.com/webpro-nl/knip/commit/d04aa04e5)) - feat(stryker): add ts extensions ([#&#8203;1910](https://github.com/webpro-nl/knip/issues/1910)) ([`cfc5088`](https://github.com/webpro-nl/knip/commit/cfc50886e)) - thanks [@&#8203;christopher-buss](https://github.com/christopher-buss)! - Adopt [@&#8203;e18e/eslint-plugin](https://github.com/e18e/eslint-plugin) ([`adf2511`](https://github.com/webpro-nl/knip/commit/adf2511ab)) - Remove Workleap from sponsors ([`d4f6af9`](https://github.com/webpro-nl/knip/commit/d4f6af9ff)) - Update dependencies ([`3f61542`](https://github.com/webpro-nl/knip/commit/3f61542f6)) - Add ES2023 array types to TypeScript 5 CI ([`360a471`](https://github.com/webpro-nl/knip/commit/360a47157)) - Update sentry snapshot ([`7defc18`](https://github.com/webpro-nl/knip/commit/7defc1853)) - Analyze published type dependencies (resolve [#&#8203;1909](https://github.com/webpro-nl/knip/issues/1909)) ([#&#8203;1912](https://github.com/webpro-nl/knip/issues/1912)) ([`87d713e`](https://github.com/webpro-nl/knip/commit/87d713e52)) - Update TanStack and Code Forge logos ([`39ed8c8`](https://github.com/webpro-nl/knip/commit/39ed8c82b)) - Track assets referenced from SCSS URLs (resolve [#&#8203;1916](https://github.com/webpro-nl/knip/issues/1916)) ([`cbe13bf`](https://github.com/webpro-nl/knip/commit/cbe13bf87)) - Consume only the default export of inline dynamic import loaders (resolve [#&#8203;1915](https://github.com/webpro-nl/knip/issues/1915)) ([`b90a299`](https://github.com/webpro-nl/knip/commit/b90a299e2)) - Update ecosystem snapshots ([`3f6cdee`](https://github.com/webpro-nl/knip/commit/3f6cdee15)) - Update dependencies ([`6cdb3a6`](https://github.com/webpro-nl/knip/commit/6cdb3a6ac)) ### [`v6.29.0`](https://github.com/webpro-nl/knip/releases/tag/knip%406.29.0): Release 6.29.0 [Compare Source](https://github.com/webpro-nl/knip/compare/knip@6.28.0...knip@6.29.0) - fix(glob): do not follow symbolic links in async glob ([#&#8203;1900](https://github.com/webpro-nl/knip/issues/1900)) ([`b7d5ce2`](https://github.com/webpro-nl/knip/commit/b7d5ce2f545d91953a97733aa1567e8728b20644)) - thanks [@&#8203;mogelbrod](https://github.com/mogelbrod)! - Add built-in compiler for tsrx ([`db05e01`](https://github.com/webpro-nl/knip/commit/db05e0142a41fad2ad45d62ba5106e0d97c92b45)) - Fix -u shortcut for --duration ([`932b926`](https://github.com/webpro-nl/knip/commit/932b9262af275d209923a5efab1b6f23067bb006)) ### [`v6.28.0`](https://github.com/webpro-nl/knip/releases/tag/knip%406.28.0): Release 6.28.0 [Compare Source](https://github.com/webpro-nl/knip/compare/knip@6.27.0...knip@6.28.0) - Update oxc-resolver (resolve [#&#8203;1889](https://github.com/webpro-nl/knip/issues/1889)) ([`1444f6a`](https://github.com/webpro-nl/knip/commit/1444f6aaf04d42ad07ee0b88da4dfae0e116043a)) - Keep entry-exported members public (resolve [#&#8203;1890](https://github.com/webpro-nl/knip/issues/1890)) ([`94967c1`](https://github.com/webpro-nl/knip/commit/94967c13a589a7e83408b1495c31323ac126fcab)) - Don't un-ignore sibling paths on unrelated gitignore negations (resolve [#&#8203;1891](https://github.com/webpro-nl/knip/issues/1891)) ([`5c026ba`](https://github.com/webpro-nl/knip/commit/5c026ba50c1e89804fc5094a52dc4c4c37d92bc2)) - Memoize the gitignore shadowed-pattern check ([`a5fa3b0`](https://github.com/webpro-nl/knip/commit/a5fa3b0ebb7f84c107dba1c1ca9a9b73995f668f)) - Ignore nested files under a gitignore dir/\* pattern ([`404a53e`](https://github.com/webpro-nl/knip/commit/404a53e3e49fa7c1f51b60bcb30ea50450f75aab)) - Track types referenced by JSDoc imports (resolve [#&#8203;1888](https://github.com/webpro-nl/knip/issues/1888)) ([`6ae48aa`](https://github.com/webpro-nl/knip/commit/6ae48aadbe03952690c8608e6df42bd039cf6624)) - Update oxc-parser ([`02ca17a`](https://github.com/webpro-nl/knip/commit/02ca17a72c3f0afa7df32297d2dd2f5463ac6e00)) - feat: markdownlint-cli2 ([#&#8203;1887](https://github.com/webpro-nl/knip/issues/1887)) ([`323b96f`](https://github.com/webpro-nl/knip/commit/323b96f55b38b53f5e4648d72fecd968fae35147)) - thanks [@&#8203;Zamiell](https://github.com/Zamiell)! - Update rolldown snapshot ([`009e509`](https://github.com/webpro-nl/knip/commit/009e509dee6a5013fd3937abb4ec81684601b023)) - Resolve $GITHUB_ACTION_PATH in GHA composite actions ([`ead489f`](https://github.com/webpro-nl/knip/commit/ead489f066733f701acfe5b81eac0a6c813fb5c5)) - Don't report `node:` specifiers as unlisted dependencies ([`1a7114f`](https://github.com/webpro-nl/knip/commit/1a7114f0a159fe82328041e11fc61c5c1730cc01)) - Discover tsdown CLI entries ([`0d47a45`](https://github.com/webpro-nl/knip/commit/0d47a45bfc518a7bf73a4b4878aeab236d6f9791)) - Discover Convex function modules ([`e01f21c`](https://github.com/webpro-nl/knip/commit/e01f21c44773186e7ad74e7badf9fc81b82edfb5)) - Ignore common system binaries ([`cd00306`](https://github.com/webpro-nl/knip/commit/cd003065fda5422550a412bba07ebbb1f9bae126)) - Add OpenClaw plugin ([`73a2d7d`](https://github.com/webpro-nl/knip/commit/73a2d7dd45f65ea312fde38cb4fa4f5a4fc34bf2)) - Discover Tailwind CLI input stylesheet (resolve [#&#8203;1551](https://github.com/webpro-nl/knip/issues/1551)) ([`9ae5fee`](https://github.com/webpro-nl/knip/commit/9ae5feed922ecb7e8c436545e9b45125bd73b457)) - Discover Angular global stylesheets from angular.json ([`fb9e048`](https://github.com/webpro-nl/knip/commit/fb9e0488f6f21284714d0651fcf1dd2de02d425a)) - Hint when project patterns exclude a compiled extension ([`74de516`](https://github.com/webpro-nl/knip/commit/74de516d3d73839536fc2a43c2c0ec38a6299631)) - Ignore common global binaries ([`a99a206`](https://github.com/webpro-nl/knip/commit/a99a206015fe414a4de12016cc62499910afaf6f)) - Run multiple preprocessors in sequence ([`8443583`](https://github.com/webpro-nl/knip/commit/844358367e9d1939bbf47f8dcb97d810741f56c1)) - fix(nuxt): resolve nuxt module paths ([#&#8203;1896](https://github.com/webpro-nl/knip/issues/1896)) ([`3c8594f`](https://github.com/webpro-nl/knip/commit/3c8594f5ffc641b00575b6d7455990db1277ac75)) - thanks [@&#8203;danielroe](https://github.com/danielroe)! - Report unused re-exports when ignoreExportsUsedInFile is set ([#&#8203;1895](https://github.com/webpro-nl/knip/issues/1895)) ([`a113a5f`](https://github.com/webpro-nl/knip/commit/a113a5f4eedc81ef56b00a3e488cc94febefede5)) - thanks [@&#8203;mlm20](https://github.com/mlm20)! - Pass -w to pnpm add in sentry ecosystem test ([`ea8c8ac`](https://github.com/webpro-nl/knip/commit/ea8c8ac6fe9519f00ca6a61131b345f5de521704)) - Update sentry snapshot ([`b75768d`](https://github.com/webpro-nl/knip/commit/b75768d544d9f869ebce8f8c6dd8490f3db87023)) - Record all traversed dirs in glob cache (resolve [#&#8203;1897](https://github.com/webpro-nl/knip/issues/1897)) ([`81be1d4`](https://github.com/webpro-nl/knip/commit/81be1d436eae15518df764cbcb443899e11a9569)) - Invalidate glob cache when .gitignore changes ([`baff301`](https://github.com/webpro-nl/knip/commit/baff301f2dceda97bf8bf73809d811cc44c72c8c)) - Improve Nuxt and Nitro plugin resolution ([`86ffab7`](https://github.com/webpro-nl/knip/commit/86ffab7bcdd095631d6b0b17254e8acd6b5022bc)) - fix: don't treat \[-]-c\[heck] as config flag for prettier ([#&#8203;1902](https://github.com/webpro-nl/knip/issues/1902)) ([`b7266ee`](https://github.com/webpro-nl/knip/commit/b7266ee8240a9b8686e91a44a4706d3605d094c4)) - thanks [@&#8203;davidkna-sap](https://github.com/davidkna-sap)! - Use Entra ID to publish VS Code extension ([`4236253`](https://github.com/webpro-nl/knip/commit/4236253482f884d92cfde2ccf85c7fb9aca17f7e)) - Remove obsolete trust policy exclusions ([`630d5f9`](https://github.com/webpro-nl/knip/commit/630d5f9835f4303ec9aa7d090ad40a177808c4fb)) - Update dependencies ([`810147b`](https://github.com/webpro-nl/knip/commit/810147b5aa21bb57ad103fd19ba92844e42cd84c)) - Migrate from typescript/native-preview to typescript ([`140a25a`](https://github.com/webpro-nl/knip/commit/140a25a577a64273a7a77f2ff2c8f224118ac298)) ### [`v6.27.0`](https://github.com/webpro-nl/knip/releases/tag/knip%406.27.0): Release 6.27.0 [Compare Source](https://github.com/webpro-nl/knip/compare/knip@6.26.0...knip@6.27.0) - Add Temporal plugin ([`98191a0`](https://github.com/webpro-nl/knip/commit/98191a04aad0572bead191b101bfecef75067b0c)) - Handle -d alias for react-email dir argument ([`53d1fec`](https://github.com/webpro-nl/knip/commit/53d1fec3213db8d6a84dfa7a82050b122782e065)) - Expand pnpm script references with forwarded arguments ([`33e9799`](https://github.com/webpro-nl/knip/commit/33e9799df39450033061b9c4c07daf22f5d15721)) - Treat path-shaped script tokens as file references, extend known global binaries ([`d9508c2`](https://github.com/webpro-nl/knip/commit/d9508c282ab81351beda4b2f859435b49f142c51)) - Mark tsdown neverBundle dependencies as referenced ([`5fd863b`](https://github.com/webpro-nl/knip/commit/5fd863ba12e68842f91ab1a94e7e30d1e571da92)) - Support TanStack Start in tanstack-router plugin ([`bd63cd8`](https://github.com/webpro-nl/knip/commit/bd63cd8af88dac03a98aa17f1add322f7bdf4a94)) - Mark vite ssr.external dependencies as referenced ([`91de938`](https://github.com/webpro-nl/knip/commit/91de938032062cb667bced0eadef9e67d1e20b1f)) - Expand bun, npm, and yarn script references with forwarded arguments ([`b5a3176`](https://github.com/webpro-nl/knip/commit/b5a31767a83e2cec3fb20c3b146d94c0412a4fd6)) - Add Latitude as sponsor ([`4267675`](https://github.com/webpro-nl/knip/commit/42676759cad5fb10ac96fd7c0457037e906f4b68)) - Regenerate plugin list in docs ([`1d2cdff`](https://github.com/webpro-nl/knip/commit/1d2cdffb4d4151f848c44e066eff43e9efbf44fe)) - Support Vue 2 template auto-imports (close [#&#8203;1881](https://github.com/webpro-nl/knip/issues/1881)) ([`2157f39`](https://github.com/webpro-nl/knip/commit/2157f3913f77216d268b2255899b6fc58609f9bb)) - Ignore block-commented stylesheet imports (resolve [#&#8203;1880](https://github.com/webpro-nl/knip/issues/1880), close [#&#8203;1882](https://github.com/webpro-nl/knip/issues/1882)) ([`a627f53`](https://github.com/webpro-nl/knip/commit/a627f53221547d5397d70722fcc2fd723889e579)) - Support TypeScript 5.0 narrowing for ssr.external ([`989292f`](https://github.com/webpro-nl/knip/commit/989292f79b9d19028bfc7ba988b74ba691041a45)) - Resolve local binaries from bun run ([`5e9a7f0`](https://github.com/webpro-nl/knip/commit/5e9a7f0286e2c2175bb299c514cc7b67a7cf24f1)) - Support Vitest inline project config extensions ([`f682327`](https://github.com/webpro-nl/knip/commit/f682327f6181f44e3924715efa7404aa39e532f0)) - Resolve package names from aliased node_modules paths ([`c273d5f`](https://github.com/webpro-nl/knip/commit/c273d5fbc1b0d3eaf27b38c3f31d3a2a4b6b184a)) - Support Tailwind CSS URL imports ([`57a4770`](https://github.com/webpro-nl/knip/commit/57a4770447cc4c8f9ea4ffb9171c0c92eed4f255)) - Resolve unbuilt workspace package exports (close [#&#8203;1877](https://github.com/webpro-nl/knip/issues/1877)) ([`1b0a2c0`](https://github.com/webpro-nl/knip/commit/1b0a2c0ee784db165c7f92fe10397a6cb513c1cf)) - Skip unresolved imports of gitignored generated files ([`605c904`](https://github.com/webpro-nl/knip/commit/605c9049f73838beb1c6fee83c6a5421ae1a6d07)) - Attribute imports of aliased packages to the declared dependency ([`d05e775`](https://github.com/webpro-nl/knip/commit/d05e775c9a3a5676dc9eadcc1093f7d9983efd06)) - Flag unresolvable imports of transitive peer deps as unlisted (resolve [#&#8203;1883](https://github.com/webpro-nl/knip/issues/1883)) ([`18f0bff`](https://github.com/webpro-nl/knip/commit/18f0bff4ea683837f75ca744d3fbde52df49b297)) - Don't count ambient module declarations in script files as imports ([`e52aecf`](https://github.com/webpro-nl/knip/commit/e52aecfd7c022cbe72b1c11dde3f4968579ac409)) - Update rolldown snapshot ([`a63e927`](https://github.com/webpro-nl/knip/commit/a63e92788239062682603a5727ede371db7845c8)) - Remove obsolete workarounds from ecosystem tests ([`a521cf7`](https://github.com/webpro-nl/knip/commit/a521cf790d726c18e644e2e316cdc09eb654f607)) - Handle snapshotSerializers in Vitest plugin (resolve [#&#8203;1884](https://github.com/webpro-nl/knip/issues/1884)) ([`b597de9`](https://github.com/webpro-nl/knip/commit/b597de951f6f0e897afdbbbb8a7d0c06c8d2437d)) - Set the stage ([`c059c2b`](https://github.com/webpro-nl/knip/commit/c059c2be5803609924b852c2bf0cd90906a6a831)) ### [`v6.26.0`](https://github.com/webpro-nl/knip/releases/tag/knip%406.26.0): Release 6.26.0 [Compare Source](https://github.com/webpro-nl/knip/compare/knip@6.25.0...knip@6.26.0) - ci: add path filters ([#&#8203;1871](https://github.com/webpro-nl/knip/issues/1871)) ([`4249935`](https://github.com/webpro-nl/knip/commit/4249935adffe1b8eca9570fb325fa19cc8010584)) - thanks [@&#8203;trueberryless](https://github.com/trueberryless)! - Add CodeRabbit as gold sponsor ([`1da09fd`](https://github.com/webpro-nl/knip/commit/1da09fdc8f4d851f3cad30659200018bfb47a5e0)) - Fix up docs a bit more ([`39125a7`](https://github.com/webpro-nl/knip/commit/39125a7f473e006f61629781bff1ac4a050ca460)) - Don't report ambient declaration files as unused ([`aed361c`](https://github.com/webpro-nl/knip/commit/aed361c00a82829c2fc80a65a2f7af174316782e)) - Register oclif command files as entries ([`3b4d58c`](https://github.com/webpro-nl/knip/commit/3b4d58c9da83d93b6821a2b24f57b919ba886756)) - Add electron-vite plugin ([`d92107e`](https://github.com/webpro-nl/knip/commit/d92107ea504833b3ee7ad2b695e22d40528b24c3)) - Add esbuild plugin ([`ef3b601`](https://github.com/webpro-nl/knip/commit/ef3b601d957546554de2cb1fbff859f5bdafb741)) - Ignore more globally available binaries ([`8292981`](https://github.com/webpro-nl/knip/commit/829298129fdfd1b41a1f8dff5022b9fbbe25f454)) - Resolve `#`-imports to source when node condition is unbuilt (resolve [#&#8203;1873](https://github.com/webpro-nl/knip/issues/1873)) ([`f2713ed`](https://github.com/webpro-nl/knip/commit/f2713ed1e499ab286b86615d4b8ec34f711d1bd2)) - Ignore gh as a globally available binary ([`a6f0772`](https://github.com/webpro-nl/knip/commit/a6f0772e5db03a8412a3ac036756779f22d1a27d)) - Resolve Vitest benchmark files as entries ([`5742913`](https://github.com/webpro-nl/knip/commit/57429139f7e93f2a4bee35a53d450c4f45dea9ff)) - Extract shared Vue auto-import machinery into plugins/\_vue ([`7301075`](https://github.com/webpro-nl/knip/commit/73010753d432ae58eb12c7eec9c5723036009749)) - Scope compiler extensions per workspace ([`5e6f82b`](https://github.com/webpro-nl/knip/commit/5e6f82b963a83e5801484efbc01a4b6a9ce39ea3)) - Resolve auto-imported components in the Vue SFC compiler ([`009aad8`](https://github.com/webpro-nl/knip/commit/009aad8f9dab589898e5dba4c85fa41ea57c1a49)) - Add plugins for the Vue auto-import ecosystem ([`f638c83`](https://github.com/webpro-nl/knip/commit/f638c8302cdd26a63e477344a7cf44ef60af7788)) - Enable Vue SFC compiler on unplugin-vue and [@&#8203;vitejs/plugin-vue](https://github.com/vitejs/plugin-vue) ([`9396ab1`](https://github.com/webpro-nl/knip/commit/9396ab159919147ef81dad16e365e531b32b4b12)) - Recognize vite-plugin-vue-meta-layouts (same layouts convention) ([`3ceee89`](https://github.com/webpro-nl/knip/commit/3ceee89228b0173eddc0466bf50e8181286ffebc)) - Add vite-plugin-pages and unplugin-icons plugins ([`9bc1754`](https://github.com/webpro-nl/knip/commit/9bc17540bcf8eb142474ed84837c1e2cebb7fe73)) - Add vite-plugin-pwa and [@&#8203;intlify/unplugin-vue-i18n](https://github.com/intlify/unplugin-vue-i18n) plugins ([`45dea0a`](https://github.com/webpro-nl/knip/commit/45dea0a397ed754c34617ed18deef4dc6f0ec0d4)) - Dog, food. ([`e1249ad`](https://github.com/webpro-nl/knip/commit/e1249ade2558d3801d85e2dc63349d884f3443d4)) - Update query snapshot ([`a45941d`](https://github.com/webpro-nl/knip/commit/a45941d2db381c04f8a38416533217ee84f77ca7)) - Don't misread Nitro route types as Vue component auto-imports ([`43aecd5`](https://github.com/webpro-nl/knip/commit/43aecd5414eb63bec3637f37ffac0c62a71e7e74)) - Read oxlint jsPlugins from vite-plus vite.config and .oxlintrc.json ([`589ffda`](https://github.com/webpro-nl/knip/commit/589ffda4e3a7d0c0d772191ad6f8d6e60dd298cf)) - Add vite-plus plugin for run.tasks and staged scripts ([`f041c19`](https://github.com/webpro-nl/knip/commit/f041c191e4e10dd181ad212b71079e3e10bcf341)) - Support [@&#8203;vite-pwa/nuxt](https://github.com/vite-pwa/nuxt) PWA config in nuxt.config ([`8fa7b11`](https://github.com/webpro-nl/knip/commit/8fa7b116690e37484798ad98eca002d26c0c80fe)) - Add [@&#8203;vite-pwa/assets-generator](https://github.com/vite-pwa/assets-generator) plugin ([`4254f7d`](https://github.com/webpro-nl/knip/commit/4254f7d53a284a4ea4612f650ae03495bcb0d582)) - Add [@&#8203;nuxtjs/i18n](https://github.com/nuxtjs/i18n) plugin ([`dfb9acb`](https://github.com/webpro-nl/knip/commit/dfb9acbe5a08ebc85562f59a04e7f4bedb4925f1)) - Read plugin entries from vite.config options and index.html ([`d533da8`](https://github.com/webpro-nl/knip/commit/d533da8cc2b431d206eb7c55323ea51846eca0bb)) - Fix false positives in VitePress, next-mdx and unplugin-vue-i18n plugins ([`b99702a`](https://github.com/webpro-nl/knip/commit/b99702a76e26b1943a16517f1633de3a0713c196)) - Respect optional peers in pnpm and Yarn packageExtensions ([`aab080b`](https://github.com/webpro-nl/knip/commit/aab080bbd436494316df045011ab22cbebca06b4)) - Detect babel plugins in the Storybook config ([`5dea975`](https://github.com/webpro-nl/knip/commit/5dea975adf9b88971ad56434132282a099c7d58c)) - Add shared AST helpers for imported calls and first property values ([`c84bb7a`](https://github.com/webpro-nl/knip/commit/c84bb7a87a17f1921c12bb02bcfd43f905cae595)) - Inline trivial resolveFromAST wrappers and normalize orval and sst ([`620079d`](https://github.com/webpro-nl/knip/commit/620079d1d07b69a69bbb67b6a6e68963b6c2fc21)) - Extract inline resolveFromAST implementations to dedicated files ([`b5231c1`](https://github.com/webpro-nl/knip/commit/b5231c12f915428067d790187d2dd4c44e2559d4)) - Normalize resolveFromAST files to a uniform contract ([`fc1ba0f`](https://github.com/webpro-nl/knip/commit/fc1ba0fb45aaf623de678a57bea3b5567ea04750)) - chore: migrate to Astro 7 and Sätteri ([#&#8203;1875](https://github.com/webpro-nl/knip/issues/1875)) ([`f256a5b`](https://github.com/webpro-nl/knip/commit/f256a5b276c3d69dd5081c591bbb183aacebf766)) - thanks [@&#8203;trueberryless](https://github.com/trueberryless)! - Show contributor count on docs homepage ([`6b8454a`](https://github.com/webpro-nl/knip/commit/6b8454a2841905ce7f08e1a23b54bc17a0854608)) - Exclude gitignored package entry points ([`606e5d0`](https://github.com/webpro-nl/knip/commit/606e5d051b4f0620c776aa23352153b8253bd75b)) - Add Tauri plugin ([`199180d`](https://github.com/webpro-nl/knip/commit/199180da79c71acc80865dc65ce89653a26d9579)) - Add Laravel plugin ([`1974533`](https://github.com/webpro-nl/knip/commit/197453378f2b60e5143a30ec78b438f02b37c53b)) - Add Quasar plugin ([`a220729`](https://github.com/webpro-nl/knip/commit/a220729074bfbb9e7d03ba329e89ad553c3a7799)) ### [`v6.25.0`](https://github.com/webpro-nl/knip/releases/tag/knip%406.25.0): Release 6.25.0 [Compare Source](https://github.com/webpro-nl/knip/compare/knip@6.24.0...knip@6.25.0) - fix: derive package name from package.json under Yarn `nodeLinker: pnpm` store ([#&#8203;1852](https://github.com/webpro-nl/knip/issues/1852)) ([`3764605`](https://github.com/webpro-nl/knip/commit/3764605ed150b975fb6c88c4c4aa47f5bf9ae149)) - thanks [@&#8203;blowery](https://github.com/blowery)! - Pick up types used in module augmentations via path aliases (resolve [#&#8203;1850](https://github.com/webpro-nl/knip/issues/1850)) ([`9cc5a41`](https://github.com/webpro-nl/knip/commit/9cc5a4132793990b5fcf9eae6f3db37426d979c0)) - feat: add support for `packageExtensions` in yarn and pnpm ([#&#8203;1847](https://github.com/webpro-nl/knip/issues/1847)) ([`61d3164`](https://github.com/webpro-nl/knip/commit/61d3164cdac6e9252b3c52ce3bb2909949b4690e)) - thanks [@&#8203;trueberryless](https://github.com/trueberryless)! - fix(ci): do not run integration on forks ([#&#8203;1855](https://github.com/webpro-nl/knip/issues/1855)) ([`d23c10d`](https://github.com/webpro-nl/knip/commit/d23c10d1ae764c0b70addaafc79f01c543cc5efa)) - thanks [@&#8203;trueberryless](https://github.com/trueberryless)! - chore(ci): improve security through specific permissions ([#&#8203;1856](https://github.com/webpro-nl/knip/issues/1856)) ([`1eb42e6`](https://github.com/webpro-nl/knip/commit/1eb42e639f9ec12d6d2ef88e1aaf07397b5bf226)) - thanks [@&#8203;trueberryless](https://github.com/trueberryless)! - chore(ci): add concurrency blocks ([#&#8203;1857](https://github.com/webpro-nl/knip/issues/1857)) ([`3bf3d11`](https://github.com/webpro-nl/knip/commit/3bf3d115cf677fadcfe8fa72ce0e68cfd435d399)) - thanks [@&#8203;trueberryless](https://github.com/trueberryless)! - fix(next): resolve src/ entry patterns like Next.js does ([#&#8203;1859](https://github.com/webpro-nl/knip/issues/1859)) ([`6e6a509`](https://github.com/webpro-nl/knip/commit/6e6a5094e924a5cd104867f3907dbbb378f871b3)) - thanks [@&#8203;dayongkr](https://github.com/dayongkr)! - Fix Bun test defaults ([#&#8203;1860](https://github.com/webpro-nl/knip/issues/1860)) ([`2ac4c04`](https://github.com/webpro-nl/knip/commit/2ac4c0427d2ac03939661f6dc236d15d11414fd5)) - thanks [@&#8203;jakeleventhal](https://github.com/jakeleventhal)! - Extend agentic guidelines re. plugins ([`da606eb`](https://github.com/webpro-nl/knip/commit/da606eb522f01187def8747d7ddb917c6735157d)) - Support rspack and path aliases in require.context ([`d231d67`](https://github.com/webpro-nl/knip/commit/d231d67a5e8713c2f48f9d695ae12a9dbfa0260e)) - Support path aliases in import.meta.glob (resolve [#&#8203;1821](https://github.com/webpro-nl/knip/issues/1821)) ([`fc7bb1e`](https://github.com/webpro-nl/knip/commit/fc7bb1ecc194e69f9f493bff5b33a4cc807fd788)) - Register MDX compiler in Storybook plugin ([`6f18138`](https://github.com/webpro-nl/knip/commit/6f1813809608cd36e44af22583805e686c51c5bd)) - Resolve TypeDoc customCss and customJs files ([`105687d`](https://github.com/webpro-nl/knip/commit/105687daf682884257a2d40f26967d80ea4abef8)) - Resolve inline Babel presets/plugins in Jest transform ([`38e4a4a`](https://github.com/webpro-nl/knip/commit/38e4a4a4a06d902cf55457155f666c3b91e05f28)) - Mark graphql-codegen generated outputs as entries ([`1255369`](https://github.com/webpro-nl/knip/commit/125536921f1845eeec1347091b238bb615f329e0)) - Add Fumadocs plugin ([`77c2142`](https://github.com/webpro-nl/knip/commit/77c2142fcc6ad6fdee651c5dc60a74c158cd8de3)) - Support next.config.mts in Next.js plugin ([`0f27e77`](https://github.com/webpro-nl/knip/commit/0f27e772935bba5eaeca73ee75ce028412c4a1cc)) - Add script command parser built on unbash ([`195510c`](https://github.com/webpro-nl/knip/commit/195510c6c912ade9cd7846302d2f9256ede9852c)) - Gate Bun test entries on an actual bun test invocation ([`92903ec`](https://github.com/webpro-nl/knip/commit/92903ec29bb8b86586e3d7e846236d8c38787ea9)) - Detect Node.js test runner via script command parser ([`a0bfe7b`](https://github.com/webpro-nl/knip/commit/a0bfe7ba2958a1270604764a9ebf09425ce857d4)) - Extract shared command walker for bash-parser and plugins ([`1301475`](https://github.com/webpro-nl/knip/commit/13014753d5031cf1de8081b3d148212a5894dde0)) - Normalize aliased glob patterns to posix for Win ([`23b4a74`](https://github.com/webpro-nl/knip/commit/23b4a744330d0dddd2b1517f2f2d72c9d373a0b9)) - Resolve inherited tsconfig paths from the extended config's directory (resolve [#&#8203;1866](https://github.com/webpro-nl/knip/issues/1866)) ([`e3f0e5c`](https://github.com/webpro-nl/knip/commit/e3f0e5c69641bb7dfab06585251c98e3b3def049)) - Handle var interpolations in shell cmd scripts (resolve [#&#8203;1867](https://github.com/webpro-nl/knip/issues/1867)) ([`9422d06`](https://github.com/webpro-nl/knip/commit/9422d06adb07fd29a3388ee6b037cda47fe28d1a)) - Update query snapshot ([`5e192e9`](https://github.com/webpro-nl/knip/commit/5e192e996fd680c41674c9503437ee148b0f1870)) - Add support for Prettier overrides ([#&#8203;1869](https://github.com/webpro-nl/knip/issues/1869)) ([`5dc7f12`](https://github.com/webpro-nl/knip/commit/5dc7f1235ff201c461a71f8a757c611441f1607a)) - thanks [@&#8203;remcohaszing](https://github.com/remcohaszing)! - Handle Serverless esbuild inject entries ([#&#8203;1865](https://github.com/webpro-nl/knip/issues/1865)) ([`46111ef`](https://github.com/webpro-nl/knip/commit/46111ef2f42c2ea89a43d8944b5efdcde7db2884)) - thanks [@&#8203;jakeleventhal](https://github.com/jakeleventhal)! - docs: add links to Discord and Contributing in issue templates ([#&#8203;1868](https://github.com/webpro-nl/knip/issues/1868)) ([`5ab3483`](https://github.com/webpro-nl/knip/commit/5ab3483e30733edc234e9913b3bf4bf05de45470)) - thanks [@&#8203;trueberryless](https://github.com/trueberryless)! - Add eve (Vercel framework) plugin ([#&#8203;1864](https://github.com/webpro-nl/knip/issues/1864)) ([`20cd970`](https://github.com/webpro-nl/knip/commit/20cd970d2039835dd9bad79ee2e7f3a82cef1b6e)) - thanks [@&#8203;jakeleventhal](https://github.com/jakeleventhal)! - Add circular dependencies as opt-in `cycles` issue type (resolve [#&#8203;1734](https://github.com/webpro-nl/knip/issues/1734)) ([#&#8203;1812](https://github.com/webpro-nl/knip/issues/1812)) ([`1b0ed6b`](https://github.com/webpro-nl/knip/commit/1b0ed6b3906d726b37a89b495fb22331ec2a0fbb)) - chore(ci): remove redundant tag triggers ([#&#8203;1863](https://github.com/webpro-nl/knip/issues/1863)) ([`c61d008`](https://github.com/webpro-nl/knip/commit/c61d0086e4e669a8aeee230dc5ac3606832ea893)) - thanks [@&#8203;trueberryless](https://github.com/trueberryless)! - Fix up docs a bit ([`89a2d8d`](https://github.com/webpro-nl/knip/commit/89a2d8d6ac27ee866a15a8bcf5a49da3cba91b08)) ### [`v6.24.0`](https://github.com/webpro-nl/knip/releases/tag/knip%406.24.0): Release 6.24.0 [Compare Source](https://github.com/webpro-nl/knip/compare/knip@6.23.0...knip@6.24.0) - chore: update year in license ([#&#8203;1833](https://github.com/webpro-nl/knip/issues/1833)) ([`32bc844`](https://github.com/webpro-nl/knip/commit/32bc844dfd3895884b11fea5ef94bf3fa1974946)) - thanks [@&#8203;trueberryless](https://github.com/trueberryless)! - ci: pin github actions ([#&#8203;1835](https://github.com/webpro-nl/knip/issues/1835)) ([`82a8d09`](https://github.com/webpro-nl/knip/commit/82a8d0913105a637e9eeccfe3b785be90c873e2a)) - thanks [@&#8203;trueberryless](https://github.com/trueberryless)! - Assume Node 24+/Bun and remove compilation step ([`d9ef038`](https://github.com/webpro-nl/knip/commit/d9ef038429bec06c37fdb520e5c7353c8cae6ce7)) - Don't report working-directory scripts as unlisted binaries (resolve [#&#8203;1834](https://github.com/webpro-nl/knip/issues/1834)) ([`aea7923`](https://github.com/webpro-nl/knip/commit/aea7923438f0a8f459458578526f358b02497f77)) - Add `pnpm run lint` to CI workflow ([`ec9aa1c`](https://github.com/webpro-nl/knip/commit/ec9aa1cabb58c97b8ecc4815e6cdd6421fe2a89e)) - feat: add settings for Zed editor to use oxlint and oxfmt ([#&#8203;1836](https://github.com/webpro-nl/knip/issues/1836)) ([`111f2e0`](https://github.com/webpro-nl/knip/commit/111f2e0a17999e3ffdf4c097cd42ba08acd48508)) - thanks [@&#8203;trueberryless](https://github.com/trueberryless)! - fix: remove format_on_save: true settings from Zed settings to respect user settings ([#&#8203;1838](https://github.com/webpro-nl/knip/issues/1838)) ([`dc2a640`](https://github.com/webpro-nl/knip/commit/dc2a64043035d426eb99a9d1e0eb873d02a09e7d)) - thanks [@&#8203;trueberryless](https://github.com/trueberryless)! - feat: add Renovate for GitHub actions only ([#&#8203;1839](https://github.com/webpro-nl/knip/issues/1839)) ([`ffce88c`](https://github.com/webpro-nl/knip/commit/ffce88c86f95822ee2a7cf8407e987a3ec79b097)) - thanks [@&#8203;trueberryless](https://github.com/trueberryless)! - Ignore import() in JSDoc examples ([#&#8203;1844](https://github.com/webpro-nl/knip/issues/1844)) ([`6f090f9`](https://github.com/webpro-nl/knip/commit/6f090f90f04e8202700ed68977faa1dc626ff235)) - thanks [@&#8203;cyphercodes](https://github.com/cyphercodes)! - Don't report types used only in module augmentations as unused (resolve [#&#8203;1843](https://github.com/webpro-nl/knip/issues/1843)) ([`7901abd`](https://github.com/webpro-nl/knip/commit/7901abd3c4b496f212445bff9768efc9548ded61)) - Restore CI intent ([`0d739be`](https://github.com/webpro-nl/knip/commit/0d739beab2e224385f449d62d6cc7d904107946e)) - feat: add less, stylus compilers and astro, svelte, vue import resolution ([#&#8203;1845](https://github.com/webpro-nl/knip/issues/1845)) ([`5525759`](https://github.com/webpro-nl/knip/commit/5525759f33a5664e4882aebe239e9c17eeb29f92)) - thanks [@&#8203;trueberryless](https://github.com/trueberryless)! - Don't report built-in compiler dependencies as unused ([`3c9d4ad`](https://github.com/webpro-nl/knip/commit/3c9d4adf369f0064399d9da7b4f11f0467180bf5)) - feat: add scss handling to stencil plugin ([#&#8203;1846](https://github.com/webpro-nl/knip/issues/1846)) ([`acba6b8`](https://github.com/webpro-nl/knip/commit/acba6b85ab05f70385228872fafea2b08290d0f6)) - thanks [@&#8203;johnjenkins](https://github.com/johnjenkins)! - fix(reporters): always print the issue-type title for a single group ([#&#8203;1848](https://github.com/webpro-nl/knip/issues/1848)) ([`cf997b2`](https://github.com/webpro-nl/knip/commit/cf997b2408cc0814c2d310d1e8c8680340153fa1)) - thanks [@&#8203;morgan-coded](https://github.com/morgan-coded)! - Export Issue, IssueRecords and IssueType types (resolve [#&#8203;1840](https://github.com/webpro-nl/knip/issues/1840)) ([`260f192`](https://github.com/webpro-nl/knip/commit/260f19230f42c9dceaac97d55bf34d17902c5b38)) - Squeeze every bit of perf out around compilers ([`bb0eeb6`](https://github.com/webpro-nl/knip/commit/bb0eeb6e33d050dab736134b5b692a3d6413f358)) ### [`v6.23.0`](https://github.com/webpro-nl/knip/releases/tag/knip%406.23.0): Release 6.23.0 [Compare Source](https://github.com/webpro-nl/knip/compare/knip@6.22.0...knip@6.23.0) - feat: add customCss to Starlight plugin ([#&#8203;1828](https://github.com/webpro-nl/knip/issues/1828)) ([`f85d96f`](https://github.com/webpro-nl/knip/commit/f85d96f84a47f10c34df95a5246ee1ddefd95db5)) - thanks [@&#8203;trueberryless](https://github.com/trueberryless)! - fix: enable vite and vitest plugins when vite-plus is found ([#&#8203;1830](https://github.com/webpro-nl/knip/issues/1830)) ([`62e9753`](https://github.com/webpro-nl/knip/commit/62e97538fca8dff3d152326b114ffc4b7241a0d2)) - thanks [@&#8203;ghostdevv](https://github.com/ghostdevv)! - feat: add support for [@&#8203;astrojs/markdoc](https://github.com/astrojs/markdoc) ([#&#8203;1829](https://github.com/webpro-nl/knip/issues/1829)) ([`94e2863`](https://github.com/webpro-nl/knip/commit/94e2863308947f19f5e759cc12666952c8f683d7)) - thanks [@&#8203;trueberryless](https://github.com/trueberryless)! - Support nub (resolve [#&#8203;1831](https://github.com/webpro-nl/knip/issues/1831)) ([`8a6050e`](https://github.com/webpro-nl/knip/commit/8a6050e6a92da81d4875f730f852fb7d9252a018)) - Don't report optimizeDeps and dedupe deps as unlisted (resolve [#&#8203;1832](https://github.com/webpro-nl/knip/issues/1832)) ([`849b5ac`](https://github.com/webpro-nl/knip/commit/849b5ac230e7a8c103b6e1b1e2ddb333d2da3ca0)) ### [`v6.22.0`](https://github.com/webpro-nl/knip/releases/tag/knip%406.22.0): Release 6.22.0 [Compare Source](https://github.com/webpro-nl/knip/compare/knip@6.21.0...knip@6.22.0) - Support XO v1+ ([#&#8203;1819](https://github.com/webpro-nl/knip/issues/1819)) ([`1dffe36`](https://github.com/webpro-nl/knip/commit/1dffe368b5c336d190e358ab4c2e2240e3d50e26)) - thanks [@&#8203;patrik-csak](https://github.com/patrik-csak)! - feat: detect execaNode scripts in execa visitor ([#&#8203;1824](https://github.com/webpro-nl/knip/issues/1824)) ([`5095ae1`](https://github.com/webpro-nl/knip/commit/5095ae1ccd0ceb083d4434e827443f03ba19a1ff)) - thanks [@&#8203;gwagjiug](https://github.com/gwagjiug)! - Skip optional peerDeps referenced only via a host (resolve [#&#8203;1823](https://github.com/webpro-nl/knip/issues/1823)) ([`7759a98`](https://github.com/webpro-nl/knip/commit/7759a9894f2ac1d9425cf682e1e3c400f0976080)) - docs: update npmjs.com links to npmx.dev ([#&#8203;1826](https://github.com/webpro-nl/knip/issues/1826)) ([`11fe8bd`](https://github.com/webpro-nl/knip/commit/11fe8bd248c839c6eeb95b06c8204c25294e0adb)) - thanks [@&#8203;serhalp](https://github.com/serhalp)! - docs: fix semi-broken link to DEVELOPMENT.md in CONTRIBUTING.md ([#&#8203;1827](https://github.com/webpro-nl/knip/issues/1827)) ([`a5302b2`](https://github.com/webpro-nl/knip/commit/a5302b2466be1294633b1f40e86ca81a00605293)) - thanks [@&#8203;serhalp](https://github.com/serhalp)! - feat: add support for Lunaria ([#&#8203;1825](https://github.com/webpro-nl/knip/issues/1825)) ([`3e1b821`](https://github.com/webpro-nl/knip/commit/3e1b8212086dfae26fa7f368f245285ec82af14d)) - thanks [@&#8203;trueberryless](https://github.com/trueberryless)! - Fix lint issues ([`76c92e2`](https://github.com/webpro-nl/knip/commit/76c92e2328a94257afead6ae497a747a9e2944ea)) ### [`v6.21.0`](https://github.com/webpro-nl/knip/releases/tag/knip%406.21.0): Release 6.21.0 [Compare Source](https://github.com/webpro-nl/knip/compare/knip@6.20.0...knip@6.21.0) - Detect Vite config dependencies (resolve [#&#8203;1721](https://github.com/webpro-nl/knip/issues/1721)) ([`8754c43`](https://github.com/webpro-nl/knip/commit/8754c43368112922c6f80d1f8d1d8ddb6cb29f25)) - fix: Update timerifyMethods to include resolveFromAST ([#&#8203;1814](https://github.com/webpro-nl/knip/issues/1814)) ([`3c8deac`](https://github.com/webpro-nl/knip/commit/3c8deac3b856def31c16372f85525bf867105132)) - thanks [@&#8203;gwagjiug](https://github.com/gwagjiug)! - Fix crash on null root export in package.json (resolve [#&#8203;1815](https://github.com/webpro-nl/knip/issues/1815)) ([`9b8af2b`](https://github.com/webpro-nl/knip/commit/9b8af2b343e1aacae46fedcb155252f56f9bae61)) - Fix unresolved subpath imports with a colon prefix (resolve [#&#8203;1816](https://github.com/webpro-nl/knip/issues/1816)) ([`f89db41`](https://github.com/webpro-nl/knip/commit/f89db4192ff7ff6c873828ed19fe40d379566b49)) - Detect Next.js entry files in subdirectory (resolve [#&#8203;1817](https://github.com/webpro-nl/knip/issues/1817)) ([`f32c6ea`](https://github.com/webpro-nl/knip/commit/f32c6ea215dde54a59af7b91fd8bdd2177cc2881)) ### [`v6.20.0`](https://github.com/webpro-nl/knip/releases/tag/knip%406.20.0): Release 6.20.0 [Compare Source](https://github.com/webpro-nl/knip/compare/knip@6.19.0...knip@6.20.0) - Add raw transfer opt-out (resolve [#&#8203;1813](https://github.com/webpro-nl/knip/issues/1813)) ([`6f08c68`](https://github.com/webpro-nl/knip/commit/6f08c680ac4acd6edf0806ba3c1c5c8f7bca24cd)) - Fix cached plugin config cycles (resolve [#&#8203;1811](https://github.com/webpro-nl/knip/issues/1811)) ([`2bc2f24`](https://github.com/webpro-nl/knip/commit/2bc2f2420ca71db1ae70846626c6152896d270ee)) ### [`v6.19.0`](https://github.com/webpro-nl/knip/releases/tag/knip%406.19.0): Release 6.19.0 [Compare Source](https://github.com/webpro-nl/knip/compare/knip@6.18.0...knip@6.19.0) - feat: support new optional sveltekit config pattern via vite config ([#&#8203;1810](https://github.com/webpro-nl/knip/issues/1810)) ([`3fee8bf`](https://github.com/webpro-nl/knip/commit/3fee8bf608e0862d7bcdd1377cfb859a9185f17d)) - thanks [@&#8203;fubits1](https://github.com/fubits1)! - Optimize hot path string scanning ([`e30cfe7`](https://github.com/webpro-nl/knip/commit/e30cfe796423e3ecd9adff42291f3c4de6604d2b)) - Update astro snapshot ([`71e71a7`](https://github.com/webpro-nl/knip/commit/71e71a71b888a1b8034d4438635e94831d62b330)) ### [`v6.18.0`](https://github.com/webpro-nl/knip/releases/tag/knip%406.18.0): Release 6.18.0 [Compare Source](https://github.com/webpro-nl/knip/compare/knip@6.17.2...knip@6.18.0) - Update dependencies (pin oxc-resolver) ([`7dda4ec`](https://github.com/webpro-nl/knip/commit/7dda4eccc65c6d61ef2546442eb752b2a73edab9)) - Resolve tsconfig paths for non-TS importers independent of oxc ownership ([`3b71565`](https://github.com/webpro-nl/knip/commit/3b71565e72107d43cbd6d2ddec7ab2fbbf65c001)) - Format ([`64865f8`](https://github.com/webpro-nl/knip/commit/64865f8247b8956def52f1a387234562fbddd667)) - Fix false positive for Vitest mocks ([#&#8203;1802](https://github.com/webpro-nl/knip/issues/1802)) ([`ec93e20`](https://github.com/webpro-nl/knip/commit/ec93e2013deb53902b406463b30fa6386445f9c9)) - thanks [@&#8203;remcohaszing](https://github.com/remcohaszing)! - Mark npx-run binaries optional unless --no-install (resolve [#&#8203;1803](https://github.com/webpro-nl/knip/issues/1803)) ([`203c31e`](https://github.com/webpro-nl/knip/commit/203c31e1b2bd77eb9c94f82121f353fbf0671c67)) - Ignore pnpm \[WARN] lines in ecosystem snapshots ([`392835a`](https://github.com/webpro-nl/knip/commit/392835a39b9429a3d85d712025da4c6531b8ece6)) - Update slonik snapshot ([`62d802b`](https://github.com/webpro-nl/knip/commit/62d802bf8d53d7790f6322f481a290e09812cbcc)) - Update Jest entry patterns for Jest 30 ([#&#8203;1808](https://github.com/webpro-nl/knip/issues/1808)) ([`d2caedd`](https://github.com/webpro-nl/knip/commit/d2caeddf32ba99ca12e5c26e891b7974392f981a)) - thanks [@&#8203;gwagjiug](https://github.com/gwagjiug)! - Report stale workspaces configuration keys as configuration hints ([#&#8203;1807](https://github.com/webpro-nl/knip/issues/1807)) ([`9083c16`](https://github.com/webpro-nl/knip/commit/9083c16b3313fbebf5cb3cd11cadf45ac773bc3d)) - thanks [@&#8203;WooWan](https://github.com/WooWan)! ### [`v6.17.2`](https://github.com/webpro-nl/knip/releases/tag/knip%406.17.2): Release 6.17.2 [Compare Source](https://github.com/webpro-nl/knip/compare/knip@6.17.1...knip@6.17.2) - Fix up jest plugin ([`63dbd65`](https://github.com/webpro-nl/knip/commit/63dbd653b6e1be08a36401f5f728b351ab69e81b)) - Detect coverage provider from bare `vitest --coverage` flag ([#&#8203;1800](https://github.com/webpro-nl/knip/issues/1800)) ([`dc11d9f`](https://github.com/webpro-nl/knip/commit/dc11d9fc5458e6e1f734013eb82403eab07af2c1)) - thanks [@&#8203;WooWan](https://github.com/WooWan)! - Don't disable configuration hints in workspace-scoped runs ([#&#8203;1791](https://github.com/webpro-nl/knip/issues/1791)) ([`8ce1ec8`](https://github.com/webpro-nl/knip/commit/8ce1ec8160a786dad90903e43c3ef646ffba9464)) - thanks [@&#8203;WooWan](https://github.com/WooWan)! - Detect react-email v6 packages from non-numeric version ranges (resolve [#&#8203;1798](https://github.com/webpro-nl/knip/issues/1798)) ([`27a1cae`](https://github.com/webpro-nl/knip/commit/27a1caeb1bff6abcccd7140c7e92e4a57197ad47)) - Discover workspaces included after a negated pattern (resolve [#&#8203;1797](https://github.com/webpro-nl/knip/issues/1797)) ([`630e152`](https://github.com/webpro-nl/knip/commit/630e152f6f687d9404cc25ffa01f0d49737d9229)) ### [`v6.17.1`](https://github.com/webpro-nl/knip/releases/tag/knip%406.17.1): Release 6.17.1 [Compare Source](https://github.com/webpro-nl/knip/compare/knip@6.17.0...knip@6.17.1) - Remove ignoreBinaries w/ tar ([`b13d0ca`](https://github.com/webpro-nl/knip/commit/b13d0ca1ce0a201b7e66f725039d9f346b4d424e)) - Wrap up docs/refs ([`29f3e46`](https://github.com/webpro-nl/knip/commit/29f3e46cc765a70643bcf2ef96e940ff371f39c6)) - Update dependencies ([`7b2f345`](https://github.com/webpro-nl/knip/commit/7b2f3458176110900204fa49e50650ac50d1f4db)) - Fix up vscode-languageclient imports ([`820c233`](https://github.com/webpro-nl/knip/commit/820c2335ca63f329f862eb8ec5c264bd8d5f09eb)) ### [`v6.17.0`](https://github.com/webpro-nl/knip/releases/tag/knip%406.17.0): Release 6.17.0 [Compare Source](https://github.com/webpro-nl/knip/compare/knip@6.16.1...knip@6.17.0) - chore(mcp): add package metadata links ([#&#8203;1783](https://github.com/webpro-nl/knip/issues/1783)) ([`e3d93b9`](https://github.com/webpro-nl/knip/commit/e3d93b930)) - thanks [@&#8203;sh962214-hub](https://github.com/sh962214-hub)! - fix(capacitor): detect iOS platform with Swift Package Manager ([#&#8203;1787](https://github.com/webpro-nl/knip/issues/1787)) ([`e6cc533`](https://github.com/webpro-nl/knip/commit/e6cc533a8)) - thanks [@&#8203;jthrilly](https://github.com/jthrilly)! - Support ignoreIssues per workspace (resolve [#&#8203;1782](https://github.com/webpro-nl/knip/issues/1782)) ([`15a329a`](https://github.com/webpro-nl/knip/commit/15a329a05)) - Add commitlint.config.mts (resolve [#&#8203;1784](https://github.com/webpro-nl/knip/issues/1784)) ([`fa8eb6d`](https://github.com/webpro-nl/knip/commit/fa8eb6da8)) - Treat scoped and tilde SCSS imports as packages (resolve [#&#8203;1786](https://github.com/webpro-nl/knip/issues/1786)) ([`98aa962`](https://github.com/webpro-nl/knip/commit/98aa9623e)) - Add followCursor setting for Imports/Exports views (resolve [#&#8203;1788](https://github.com/webpro-nl/knip/issues/1788)) ([`67a0be8`](https://github.com/webpro-nl/knip/commit/67a0be89f)) - Flag undeclared sibling imports in published workspaces (resolve [#&#8203;1792](https://github.com/webpro-nl/knip/issues/1792)) ([`aeabff7`](https://github.com/webpro-nl/knip/commit/aeabff789)) - Fix type-check errors in vscode-knip ([`12f266e`](https://github.com/webpro-nl/knip/commit/12f266e94)) - Note Markdown formatting with pnpm remark ([`bdffeec`](https://github.com/webpro-nl/knip/commit/bdffeec0d)) - Bump some doc-related dependencies ([`3334193`](https://github.com/webpro-nl/knip/commit/333419303)) - Update vscode-knip tool descriptions ([`be34178`](https://github.com/webpro-nl/knip/commit/be341788c)) - Overhaul docs ([`55e3f3b`](https://github.com/webpro-nl/knip/commit/55e3f3bda)) - Improve mcp guidance ([`67483f0`](https://github.com/webpro-nl/knip/commit/67483f0ac)) - Fix repeated --fix-type arg ([`9bb0512`](https://github.com/webpro-nl/knip/commit/9bb0512ca)) - Resolve module paths from selected tsconfig (resolve [#&#8203;1794](https://github.com/webpro-nl/knip/issues/1794)) ([`1c2f398`](https://github.com/webpro-nl/knip/commit/1c2f39833)) - Update sanity snapshot ([`4ebce9c`](https://github.com/webpro-nl/knip/commit/4ebce9c50)) - Add tar to globally ignored binaries (resolve [#&#8203;1796](https://github.com/webpro-nl/knip/issues/1796)) ([`8c028e5`](https://github.com/webpro-nl/knip/commit/8c028e5fb)) ### [`v6.16.1`](https://github.com/webpro-nl/knip/releases/tag/knip%406.16.1): Release 6.16.1 [Compare Source](https://github.com/webpro-nl/knip/compare/knip@6.16.0...knip@6.16.1) - Resolve SvelteKit ./$types in monorepos (resolve [#&#8203;1778](https://github.com/webpro-nl/knip/issues/1778)) ([`370ef4c`](https://github.com/webpro-nl/knip/commit/370ef4cefec6540ee7d58249cc402f479ec76405)) ### [`v6.16.0`](https://github.com/webpro-nl/knip/releases/tag/knip%406.16.0): Release 6.16.0 [Compare Source](https://github.com/webpro-nl/knip/compare/knip@6.15.0...knip@6.16.0) - Update sponsors data + fix sponsors layout on narrow screen ([`fadf13a`](https://github.com/webpro-nl/knip/commit/fadf13aad5ebc36f7bc2fbc7615bfa77681d3660)) - Detect binaries and entry files in node:child_process calls ([`fc3598c`](https://github.com/webpro-nl/knip/commit/fc3598cfac640a2ae53b0113883574bf15bc5d47)) - It works™ ([`2d9ce84`](https://github.com/webpro-nl/knip/commit/2d9ce845121484ef3ff84e4a761cfd98891d6c09)) - Extend known issues doc w/ workaround (close [#&#8203;1763](https://github.com/webpro-nl/knip/issues/1763)) ([`fcd444b`](https://github.com/webpro-nl/knip/commit/fcd444bf4c6b2ddc5d7bb0ebfd6f3991cf5d0be2)) - Support ignoreExportsUsedInFile per workspace (close [#&#8203;1495](https://github.com/webpro-nl/knip/issues/1495)) ([`4b898a9`](https://github.com/webpro-nl/knip/commit/4b898a971105d865d86d4dc81bc694721bff8793)) - feat(vscode): add `workspaceRoot` config option to enable use in a VSCode workspace that does not have package.json at the workspace root ([#&#8203;1667](https://github.com/webpro-nl/knip/issues/1667)) ([`7c1ebef`](https://github.com/webpro-nl/knip/commit/7c1ebef6ab6d1c5a7f2f920d4243241246b53f4b)) - thanks [@&#8203;anmilleriii](https://github.com/anmilleriii)! - Replace minimist with node:util.parseArgs (resolve [#&#8203;1492](https://github.com/webpro-nl/knip/issues/1492)) ([`b360c5c`](https://github.com/webpro-nl/knip/commit/b360c5ce1acfbb2cbd5f4e92ecca6c9b461ae094)) - Preserve minimist numeric coercion and --no-x negation ([`c12153c`](https://github.com/webpro-nl/knip/commit/c12153ce0601378354421e454a6b6bbab74ae9fb)) - Simplify parseArgs adapter ([`ba15e41`](https://github.com/webpro-nl/knip/commit/ba15e413be7515620e4224b21483a1a87659dc34)) - Detect and credit registered custom elements (resolve [#&#8203;1394](https://github.com/webpro-nl/knip/issues/1394)) ([`62dcda5`](https://github.com/webpro-nl/knip/commit/62dcda5fa46ccf6bdd94175b725fd38678049319)) - Add Lit and FAST plugins to detect [@&#8203;customElement](https://github.com/customElement) classes ([`348d2c9`](https://github.com/webpro-nl/knip/commit/348d2c9decf09bb61ab47477bc6cc57e4b089ec3)) - Add new testimonials ([`77fd7ed`](https://github.com/webpro-nl/knip/commit/77fd7ed7dffaccfa8bc024105fe81dbe09b70671)) - Scope custom path aliases per workspace (resolve [#&#8203;1775](https://github.com/webpro-nl/knip/issues/1775)) ([`d908099`](https://github.com/webpro-nl/knip/commit/d908099b52e4fd93b7947bafecbabeddfc7847f3)) - Restructure tests ([`ec4c779`](https://github.com/webpro-nl/knip/commit/ec4c77941d42aef54bed9e4dd1cae8e8784aa147)) - Simplify boolean check in parseArgs adapter ([`ba6865d`](https://github.com/webpro-nl/knip/commit/ba6865de03785eb49b2adf833f7f769eece78d49)) - Scope static custom-element define detection to the FAST plugin ([`94632cd`](https://github.com/webpro-nl/knip/commit/94632cddd15f75eadd204cb480b3df6c1f2a842d)) - Add Custom Elements feature docs page ([`230bd73`](https://github.com/webpro-nl/knip/commit/230bd734652f3a269b70da09cd26ac7e80a210cd)) - Update known-issues.md ([`f1f4c1b`](https://github.com/webpro-nl/knip/commit/f1f4c1bceef9a6575d7b31cc1340538ea894f824)) - Fix crash on backtick string literals in plugin config (resolve [#&#8203;1776](https://github.com/webpro-nl/knip/issues/1776)) ([`f1adc7f`](https://github.com/webpro-nl/knip/commit/f1adc7fbd68fc52a89a4d2a4d6b17d905d051de7)) - Format ([`e4720ca`](https://github.com/webpro-nl/knip/commit/e4720cab435be48e1a40afa8c548e21bdb74b14e)) - Fix backtick string literals in require() and plugin-name config arrays ([#&#8203;1776](https://github.com/webpro-nl/knip/issues/1776)) ([`d14eb05`](https://github.com/webpro-nl/knip/commit/d14eb053331daaaeaec89c3c8e04cfeeba7580af)) - Credit custom elements via aliases, scoped registries, and static blocks ([`d7cbe12`](https://github.com/webpro-nl/knip/commit/d7cbe12bd904f65b20016bdd2dfd4a5d7c5c1524)) - Improve Stencil plugin: credit [@&#8203;Component](https://github.com/Component) and recognize test files ([`152d730`](https://github.com/webpro-nl/knip/commit/152d73052f87f29b348abbab90e117cfb97dd69b)) - Add Catalyst plugin to credit bare [@&#8203;controller](https://github.com/controller) custom elements ([`8a37f8c`](https://github.com/webpro-nl/knip/commit/8a37f8c25b03cd4e55bd18ba822906be35fcd97b)) - Document Stencil, Catalyst, static-block custom el reg. ([`105fba3`](https://github.com/webpro-nl/knip/commit/105fba3a829f1cf4cf871035dbc9c170b0de7bc1)) - Auto-format md ([`f4fcf4e`](https://github.com/webpro-nl/knip/commit/f4fcf4e1c6a399d761151fc367125416e7741675)) ### [`v6.15.0`](https://github.com/webpro-nl/knip/releases/tag/knip%406.15.0): Release 6.15.0 [Compare Source](https://github.com/webpro-nl/knip/compare/knip@6.14.2...knip@6.15.0) - Report exported type used only in inferred-return function body (resolve [#&#8203;1765](https://github.com/webpro-nl/knip/issues/1765)) ([`2413408`](https://github.com/webpro-nl/knip/commit/2413408753f7abc7a9dfdba520990afd18c53ee0)) - Work that EXPORTS.md again ([`7e13451`](https://github.com/webpro-nl/knip/commit/7e13451fab7ad85362fb63a4715ea450690aedef)) - Update npmx ecosystem snapshot ([`dfc4011`](https://github.com/webpro-nl/knip/commit/dfc401145a880f156c66eb83ea1622a99540304a)) - Link `dependencies` key with notes (closes [#&#8203;1764](https://github.com/webpro-nl/knip/issues/1764)) ([`e3e66ce`](https://github.com/webpro-nl/knip/commit/e3e66cea9e946558940bf8705129efea3f23b3ba)) - Resolve tsconfig paths when loading plugin configs ([#&#8203;1762](https://github.com/webpro-nl/knip/issues/1762)) ([`0177c74`](https://github.com/webpro-nl/knip/commit/0177c7466559e2ae99b5e1cd1e3a8043ca494edc)) - thanks [@&#8203;jakeleventhal](https://github.com/jakeleventhal)! - Avoid caching failed plugin config loads ([#&#8203;1768](https://github.com/webpro-nl/knip/issues/1768)) ([`5e201cd`](https://github.com/webpro-nl/knip/commit/5e201cde9b1ba2568ead2ae790ab888c966828ae)) - thanks [@&#8203;jakeleventhal](https://github.com/jakeleventhal)! - Resolve extensionless .sass imports in SCSS compiler ([#&#8203;1770](https://github.com/webpro-nl/knip/issues/1770)) ([`30c2283`](https://github.com/webpro-nl/knip/commit/30c22835383b2355787cc2a871b22de80ff75544)) - thanks [@&#8203;sebacardello](https://github.com/sebacardello)! - fix(vite): detect inline module script entry points in index.html ([#&#8203;1772](https://github.com/webpro-nl/knip/issues/1772)) ([`51f4edd`](https://github.com/webpro-nl/knip/commit/51f4eddc9e1b2fed1ba25e81fc596e9fb514ce01)) - thanks [@&#8203;lucas-spin](https://github.com/lucas-spin)! - Harden vite inline module script import detection ([`b8abcfd`](https://github.com/webpro-nl/knip/commit/b8abcfd2f4f5486aea08a934514bc55de86be030)) - Use RecordableHistogram for timerified function stats ([`d575c69`](https://github.com/webpro-nl/knip/commit/d575c6905704af1b0b4620edd874fc09bc86ed28)) - Add orval plugin (resolves [#&#8203;1751](https://github.com/webpro-nl/knip/issues/1751)) ([`4c82aa8`](https://github.com/webpro-nl/knip/commit/4c82aa82c2a02fbda27a316389f210d11621f8cb)) - Add treatTagHintsAsErrors and --no-tag-hints (resolves [#&#8203;1767](https://github.com/webpro-nl/knip/issues/1767)) ([`4b6a573`](https://github.com/webpro-nl/knip/commit/4b6a573e0c1e0daf65c76c32f7336ea71db6bb64)) - Add nano-spawn plugin (resolves [#&#8203;1769](https://github.com/webpro-nl/knip/issues/1769)) ([`b2cad06`](https://github.com/webpro-nl/knip/commit/b2cad06dfd9958485537c5545c6c497fc8823ac3)) - Simplify glob cache validation and ignore-list assembly ([`df1a960`](https://github.com/webpro-nl/knip/commit/df1a9603a5ea8ed7bad9588bf13672cedf37c90e)) - Dedupe ignore-pattern collection and dependency fixing ([`d49b626`](https://github.com/webpro-nl/knip/commit/d49b626ad6736d7123d44568ef8c42a3e1d28aa3)) - Simplify installed-binaries collection in manifest metadata ([`5514394`](https://github.com/webpro-nl/knip/commit/55143941eebbc8dac12c79b77c1f65a8b61dfbef)) - Flatten control flow in ConfigurationChief ([`010d570`](https://github.com/webpro-nl/knip/commit/010d5709b0f9a3adc5ebe6e7169b9f5c4f29abc5)) - Inline trivial installed-binaries and types-included accessors ([`b5afb9f`](https://github.com/webpro-nl/knip/commit/b5afb9f29e3474eee4bf276c1de83cb0682a5663)) - Format ([`eb4b178`](https://github.com/webpro-nl/knip/commit/eb4b178d5d90a719cdc576d644766f8f95a47876)) - Replace [@&#8203;wdio/types](https://github.com/wdio/types) dev dep with inline types ([`a3747d6`](https://github.com/webpro-nl/knip/commit/a3747d61ee0e594854e5da0ca6cb7597e0096b99)) - Bump dependencies ([`822ab39`](https://github.com/webpro-nl/knip/commit/822ab3905cb7b5a216404231607a7820105930a2)) - Work AGENTS.md, etcetera ([`361bd48`](https://github.com/webpro-nl/knip/commit/361bd4803934a01e01b08170565f8374e4e49eb2)) - Remove rootDirs workaround resolved by oxc-resolver 11.20.0 ([`e190a9f`](https://github.com/webpro-nl/knip/commit/e190a9fec22db41975cf9568a31970a05c86e66b)) - Add nuxt no-root-tsconfig fixture guarding alias resolution ([`e3e5bc9`](https://github.com/webpro-nl/knip/commit/e3e5bc94d5f7b6ffdbc89b18d7c8d5acbb5a9008)) - Allow extra args for release-it ([`f9c5995`](https://github.com/webpro-nl/knip/commit/f9c59952fa2c8c4c13bd42edc0935610900d1980)) - Add [@&#8203;vercel](https://github.com/vercel) as platinum sponsor ([`c4c06a9`](https://github.com/webpro-nl/knip/commit/c4c06a9149c986680f0d1aa74b57a46ff1f88601)) - Overhaul & improve --trace functionailty ([`60df0b0`](https://github.com/webpro-nl/knip/commit/60df0b05f364c8d841c0f784a06bab2a3215a32f)) - Re-gen plugins.md ([`0f9d044`](https://github.com/webpro-nl/knip/commit/0f9d044d312053154498a562e3a9422a4f44afe6)) ### [`v6.14.2`](https://github.com/webpro-nl/knip/releases/tag/knip%406.14.2): Release 6.14.2 [Compare Source](https://github.com/webpro-nl/knip/compare/knip@6.14.1...knip@6.14.2) - Fix vscode-knip build: pin native oxc bindings to bundled JS version ([`1b45a41`](https://github.com/webpro-nl/knip/commit/1b45a4103312c9c059560ae2e1eac25d86b4e2ac)) - Release vscode-knip\@&#8203;2.1.5 ([`328892e`](https://github.com/webpro-nl/knip/commit/328892eb04e65b4702e1ef2303db3156b8f2e1a3)) - Fix Astro plugin to support both possible middleware entry points ([#&#8203;1749](https://github.com/webpro-nl/knip/issues/1749)) ([`33e0cc1`](https://github.com/webpro-nl/knip/commit/33e0cc1a530a8cf5b6b05c8b3a3ca55f8fce8a75)) - thanks [@&#8203;schmalz-dmi](https://github.com/schmalz-dmi)! - Fix LICENSE link ([#&#8203;1760](https://github.com/webpro-nl/knip/issues/1760)) ([`829620f`](https://github.com/webpro-nl/knip/commit/829620f9077ddea086a610c279c7c1250dd66e11)) - thanks [@&#8203;vortispy](https://github.com/vortispy)! - Fix GraphQL Codegen script config dependencies ([#&#8203;1756](https://github.com/webpro-nl/knip/issues/1756)) ([`e841c63`](https://github.com/webpro-nl/knip/commit/e841c6355e7eff240e74010bfd2be8bbb22ff2b6)) - thanks [@&#8203;jakeleventhal](https://github.com/jakeleventhal)! - Set pnpm config via env vars, disable verify-deps in ecosystem tests ([`53c1224`](https://github.com/webpro-nl/knip/commit/53c12248cc3e79fd79f3efde691d463fc795c40f)) - Update slonik ecosystem snapshot ([`f18410b`](https://github.com/webpro-nl/knip/commit/f18410b34c8554364a9f003660bebae5e826de57)) - Fix Serverless TypeScript plugin dependencies ([#&#8203;1757](https://github.com/webpro-nl/knip/issues/1757)) ([`ebde7f8`](https://github.com/webpro-nl/knip/commit/ebde7f8f3e3004db7f51fb5d60a0bdc2452116ef)) - thanks [@&#8203;jakeleventhal](https://github.com/jakeleventhal)! - Fix extended tsconfig type dependency attribution ([#&#8203;1758](https://github.com/webpro-nl/knip/issues/1758)) ([`f600b09`](https://github.com/webpro-nl/knip/commit/f600b09e562317a37844ed8cdf1b9b46e06c9405)) - thanks [@&#8203;jakeleventhal](https://github.com/jakeleventhal)! - Fix Bun binary dependency tracking ([#&#8203;1759](https://github.com/webpro-nl/knip/issues/1759)) ([`1b28923`](https://github.com/webpro-nl/knip/commit/1b289239f35ff2912195b7e39a96c667c54c1fc5)) - thanks [@&#8203;jakeleventhal](https://github.com/jakeleventhal)! - Detect Babel plugins/presets in Vite plugin options (resolve [#&#8203;1761](https://github.com/webpro-nl/knip/issues/1761)) ([`2753d69`](https://github.com/webpro-nl/knip/commit/2753d6910743a12a207fca81cb8325c00803963a)) </details> <details> <summary>parcel-bundler/lightningcss (lightningcss)</summary> ### [`v1.33.0`](https://github.com/parcel-bundler/lightningcss/releases/tag/v1.33.0) [Compare Source](https://github.com/parcel-bundler/lightningcss/compare/v1.32.0...v1.33.0) #### Added - Add support for `::highlight` by [@&#8203;lucasweng](https://github.com/lucasweng) in [#&#8203;970](https://github.com/parcel-bundler/lightningcss/pull/970) - Add support for [@&#8203;position-try](https://github.com/position-try) at-rule by [@&#8203;mattcosta7](https://github.com/mattcosta7) in [#&#8203;1238](https://github.com/parcel-bundler/lightningcss/pull/1238) [#&#8203;851](https://github.com/parcel-bundler/lightningcss/issues/851) - Add support for ::search-text and :current::search-text ([#&#8203;1212](https://github.com/parcel-bundler/lightningcss/issues/1212)) by [@&#8203;lucinadin](https://github.com/lucinadin) in [#&#8203;1213](https://github.com/parcel-bundler/lightningcss/pull/1213) - Collapse light-dark(x, x) to x by [@&#8203;cscnk52](https://github.com/cscnk52) in [#&#8203;1183](https://github.com/parcel-bundler/lightningcss/pull/1183) - Supports `:target-before/after/current` pseudo-class by [@&#8203;yisibl](https://github.com/yisibl) in [#&#8203;1185](https://github.com/parcel-bundler/lightningcss/pull/1185) - Support for the alpha() relative color function by [@&#8203;yisibl](https://github.com/yisibl) in [#&#8203;1266](https://github.com/parcel-bundler/lightningcss/pull/1266) #### Fixed - Print unknown at-rules in the same location by [@&#8203;RobinMalfait](https://github.com/RobinMalfait) in [#&#8203;1233](https://github.com/parcel-bundler/lightningcss/pull/1233) - Fix #rrggbbaa support on older versions of android by [@&#8203;fkeiler](https://github.com/fkeiler) in [#&#8203;1198](https://github.com/parcel-bundler/lightningcss/pull/1198) - Replace `atty` with `std::io::IsTerminal` by [@&#8203;fkeiler](https://github.com/fkeiler) in [#&#8203;1197](https://github.com/parcel-bundler/lightningcss/pull/1197) - Bump dependencies (cssparser, const-str) by [@&#8203;noahbald](https://github.com/noahbald) in [#&#8203;1200](https://github.com/parcel-bundler/lightningcss/pull/1200) - Fix minification of negative scientific notation dimensions by [@&#8203;ssssota](https://github.com/ssssota) in [#&#8203;1192](https://github.com/parcel-bundler/lightningcss/pull/1192) - Change serde attribute to be conditional for ResolveResult enum File variant by [@&#8203;FlorianDevP](https://github.com/FlorianDevP) in [#&#8203;1251](https://github.com/parcel-bundler/lightningcss/pull/1251) - Add `external` to return type of `resolve` by [@&#8203;sapphi-red](https://github.com/sapphi-red) in [#&#8203;1261](https://github.com/parcel-bundler/lightningcss/pull/1261) </details> <details> <summary>nodejs/node (node)</summary> ### [`v22.23.4`](https://github.com/nodejs/node/releases/tag/v22.23.4): 2026-10-21, Version 22.23.4 'Jod' (LTS), @&#8203;aduh95 [Compare Source](https://github.com/nodejs/node/compare/v22.23.3...v22.23.4) This is a security release. ##### Notable Changes - (CVE-2026-105481) http: ensure agent data guard works without I/O (James M Snell) - (CVE-2026-105482) dns: validate resolve inputs for null bytes (James M Snell) - (CVE-2026-106069) tls: reject non-canonical IP addresses (Matteo Collina) - (CVE-2026-106073) permission: check permission model in realpathSync (RafaelGSS) - (CVE-2026-106074) crypto: reset random caches across snapshots (Filip Skokan) - (CVE-2026-111497) src: expose `BROTLI_DECODER_ERROR_FORMAT_BLOCK_SWITCH` (Antoine du Hamel) - (CVE-2026-111497) deps: brotli: cherry-pick [`0ed4268`](https://github.com/nodejs/node/commit/0ed4268a4401abcb44720963) (Evgenii Kliuchnikov) - crypto: update root certificates to NSS 3.131.1 (Antoine du Hamel) - deps: update c-ares to 1.34.9 (Node.js GitHub Bot) - deps: update timezone to 2026e (Node.js GitHub Bot) - deps: upgrade openssl sources to openssl-3.5.9 (Node.js GitHub Bot) - deps: update sqlite to 3.53.4 (Node.js GitHub Bot) - deps: update undici to 6.29.1 (Node.js GitHub Bot) ##### Commits - \[[`68fa0df6d6`](https://github.com/nodejs/node/commit/68fa0df6d6)] - **crypto**: update root certificates to NSS 3.131.1 (Antoine du Hamel) [#&#8203;66877](https://github.com/nodejs/node/pull/66877) - \[[`dd6b47573b`](https://github.com/nodejs/node/commit/dd6b47573b)] - **crypto**: reset random caches across snapshots (Filip Skokan) [nodejs-private/node-private#987](https://github.com/nodejs-private/node-private/pull/987) - \[[`a62b7d5362`](https://github.com/nodejs/node/commit/a62b7d5362)] - **crypto**: harden X.509 conversion and formatting (Filip Skokan) [nodejs-private/node-private#966](https://github.com/nodejs-private/node-private/pull/966) - \[[`ec9e5e4a3e`](https://github.com/nodejs/node/commit/ec9e5e4a3e)] - **crypto**: update root certificates to NSS 3.129 (Node.js GitHub Bot) [#&#8203;66496](https://github.com/nodejs/node/pull/66496) - \[[`a538a9515d`](https://github.com/nodejs/node/commit/a538a9515d)] - **deps**: update c-ares to 1.34.9 (Node.js GitHub Bot) [#&#8203;66868](https://github.com/nodejs/node/pull/66868) - \[[`67d294739f`](https://github.com/nodejs/node/commit/67d294739f)] - **deps**: brotli: cherry-pick [`0ed4268`](https://github.com/nodejs/node/commit/0ed4268a4401abcb44720963) (Evgenii Kliuchnikov) [nodejs-private/node-private#1002](https://github.com/nodejs-private/node-private/pull/1002) - \[[`1ab9db8a74`](https://github.com/nodejs/node/commit/1ab9db8a74)] - **deps**: update timezone to 2026e (Node.js GitHub Bot) [#&#8203;66419](https://github.com/nodejs/node/pull/66419) - \[[`52b4bcab03`](https://github.com/nodejs/node/commit/52b4bcab03)] - **deps**: update timezone to 2026d (Node.js GitHub Bot) [#&#8203;66333](https://github.com/nodejs/node/pull/66333) - \[[`60f4833d41`](https://github.com/nodejs/node/commit/60f4833d41)] - **deps**: update archs files for openssl-3.5.9 (Node.js GitHub Bot) [#&#8203;66396](https://github.com/nodejs/node/pull/66396) - \[[`05470dc308`](https://github.com/nodejs/node/commit/05470dc308)] - **deps**: upgrade openssl sources to openssl-3.5.9 (Node.js GitHub Bot) [#&#8203;66396](https://github.com/nodejs/node/pull/66396) - \[[`47333fe4f4`](https://github.com/nodejs/node/commit/47333fe4f4)] - **deps**: update sqlite to 3.53.4 (Node.js GitHub Bot) [#&#8203;64745](https://github.com/nodejs/node/pull/64745) - \[[`98258b855f`](https://github.com/nodejs/node/commit/98258b855f)] - **deps**: update sqlite to 3.53.3 (Node.js GitHub Bot) [#&#8203;64180](https://github.com/nodejs/node/pull/64180) - \[[`a8349b6408`](https://github.com/nodejs/node/commit/a8349b6408)] - **deps**: update sqlite to 3.53.2 (Node.js GitHub Bot) [#&#8203;63774](https://github.com/nodejs/node/pull/63774) - \[[`e9e295bcc1`](https://github.com/nodejs/node/commit/e9e295bcc1)] - **deps**: cherry-pick [`e807d4e`](https://github.com/nodejs/node/commit/e807d4e379) from SQLite (Junsu Han) [#&#8203;63525](https://github.com/nodejs/node/pull/63525) - \[[`512a9b61f0`](https://github.com/nodejs/node/commit/512a9b61f0)] - **deps**: update sqlite to 3.53.1 (Node.js GitHub Bot) [#&#8203;63217](https://github.com/nodejs/node/pull/63217) - \[[`e708247254`](https://github.com/nodejs/node/commit/e708247254)] - **deps**: update sqlite to 3.53.0 (Node.js GitHub Bot) [#&#8203;62699](https://github.com/nodejs/node/pull/62699) - \[[`857be5afa3`](https://github.com/nodejs/node/commit/857be5afa3)] - **deps**: update undici to 6.29.1 (Node.js GitHub Bot) [#&#8203;66765](https://github.com/nodejs/node/pull/66765) - \[[`19c5056002`](https://github.com/nodejs/node/commit/19c5056002)] - **dns**: validate resolve inputs for null bytes (James M Snell) [nodejs-private/node-private#984](https://github.com/nodejs-private/node-private/pull/984) - \[[`e7b2985d59`](https://github.com/nodejs/node/commit/e7b2985d59)] - **http**: ensure agent data guard works without I/O (James M Snell) [nodejs-private/node-private#983](https://github.com/nodejs-private/node-private/pull/983) - \[[`50ab804edc`](https://github.com/nodejs/node/commit/50ab804edc)] - **permission**: check permission model in realpathSync (RafaelGSS) [nodejs-private/node-private#973](https://github.com/nodejs-private/node-private/pull/973) - \[[`a18ec92752`](https://github.com/nodejs/node/commit/a18ec92752)] - **src**: expose `BROTLI_DECODER_ERROR_FORMAT_BLOCK_SWITCH` (Antoine du Hamel) [nodejs-private/node-private#1002](https://github.com/nodejs-private/node-private/pull/1002) - \[[`4342503fd8`](https://github.com/nodejs/node/commit/4342503fd8)] - **tls**: reject chains containing blocked public keys (Ulises Gascon) [#&#8203;66871](https://github.com/nodejs/node/pull/66871) - \[[`d7663560ac`](https://github.com/nodejs/node/commit/d7663560ac)] - **tls**: reject non-canonical IP addresses (Matteo Collina) [nodejs-private/node-private#982](https://github.com/nodejs-private/node-private/pull/982) - \[[`beb4cd4cd3`](https://github.com/nodejs/node/commit/beb4cd4cd3)] - **tls**: match IPv6 hosts against IP-Address SANs (Pascal Garber) [#&#8203;64145](https://github.com/nodejs/node/pull/64145) - \[[`4b42e56aaf`](https://github.com/nodejs/node/commit/4b42e56aaf)] - **tools**: retry Gatekeeper check and stapling after notarization (Ryan Aslett) [#&#8203;66855](https://github.com/nodejs/node/pull/66855) ### [`v22.23.3`](https://github.com/nodejs/node/releases/tag/v22.23.3): 2026-09-23, Version 22.23.3 'Jod' (LTS), @&#8203;aduh95 prepared by @&#8203;juanarbol [Compare Source](https://github.com/nodejs/node/compare/v22.23.2...v22.23.3) ##### Notable Changes - \[[`fe2a6b2be8`](https://github.com/nodejs/node/commit/fe2a6b2be8)] - **crypto**: update root certificates to NSS 3.125 (Node.js GitHub Bot) [#&#8203;64746](https://github.com/nodejs/node/pull/64746) - \[[`871167ddfd`](https://github.com/nodejs/node/commit/871167ddfd)] - **deps**: update corepack to 0.36.0 (Node.js GitHub Bot) [#&#8203;65653](https://github.com/nodejs/node/pull/65653) - \[[`b816fc8958`](https://github.com/nodejs/node/commit/b816fc8958)] - **deps**: upgrade npm to 10.9.9 (npm team) [#&#8203;64884](https://github.com/nodejs/node/pull/64884) - \[[`e306521444`](https://github.com/nodejs/node/commit/e306521444)] - **deps**: update icu to 78.3 (Node.js GitHub Bot) [#&#8203;62324](https://github.com/nodejs/node/pull/62324) - \[[`a9cb31129f`](https://github.com/nodejs/node/commit/a9cb31129f)] - **deps**: update OpenSSL 3.5.8 (Node.js GitHub Bot) [#&#8203;65542](https://github.com/nodejs/node/pull/65542) - \[[`2a3548e51c`](https://github.com/nodejs/node/commit/2a3548e51c)] - **deps**: update Undici to 6.28.1 (mcollina) [#&#8203;65790](https://github.com/nodejs/node/pull/65790) - \[[`3909ff2c4a`](https://github.com/nodejs/node/commit/3909ff2c4a)] - **node-api**: support `SharedArrayBuffer` in `napi_create_typedarray` (Yilong Li) [#&#8203;62710](https://github.com/nodejs/node/pull/62710) - \[[`66de6349ad`](https://github.com/nodejs/node/commit/66de6349ad)] - **node-api**: add `napi_create_external_sharedarraybuffer` (Ben Noordhuis) [#&#8203;62623](https://github.com/nodejs/node/pull/62623) ##### Commits - \[[`44cf27b8fa`](https://github.com/nodejs/node/commit/44cf27b8fa)] - **build**: update binary-upload to use correct tarball name (Stewart X Addison) [#&#8203;65282](https://github.com/nodejs/node/pull/65282) - \[[`fe2a6b2be8`](https://github.com/nodejs/node/commit/fe2a6b2be8)] - **crypto**: update root certificates to NSS 3.125 (Node.js GitHub Bot) [#&#8203;64746](https://github.com/nodejs/node/pull/64746) - \[[`71feba6b69`](https://github.com/nodejs/node/commit/71feba6b69)] - **crypto**: update root certificates to NSS 3.123.1 (Node.js GitHub Bot) [#&#8203;63527](https://github.com/nodejs/node/pull/63527) - \[[`871167ddfd`](https://github.com/nodejs/node/commit/871167ddfd)] - **deps**: update corepack to 0.36.0 (Node.js GitHub Bot) [#&#8203;65653](https://github.com/nodejs/node/pull/65653) - \[[`2a3548e51c`](https://github.com/nodejs/node/commit/2a3548e51c)] - **deps**: update undici to 6.28.1 (mcollina) [#&#8203;65790](https://github.com/nodejs/node/pull/65790) - \[[`59d853a4df`](https://github.com/nodejs/node/commit/59d853a4df)] - **deps**: update archs files for openssl-3.5.8 (Node.js GitHub Bot) [#&#8203;65542](https://github.com/nodejs/node/pull/65542) - \[[`a9cb31129f`](https://github.com/nodejs/node/commit/a9cb31129f)] - **deps**: upgrade openssl sources to openssl-3.5.8 (Node.js GitHub Bot) [#&#8203;65542](https://github.com/nodejs/node/pull/65542) - \[[`3376e27de2`](https://github.com/nodejs/node/commit/3376e27de2)] - **deps**: V8: cherry-pick [`a6eaf75`](https://github.com/nodejs/node/commit/a6eaf7574109) (Camillo Bruni) [#&#8203;65402](https://github.com/nodejs/node/pull/65402) - \[[`b816fc8958`](https://github.com/nodejs/node/commit/b816fc8958)] - **deps**: upgrade npm to 10.9.9 (npm team) [#&#8203;64884](https://github.com/nodejs/node/pull/64884) - \[[`4e4bd1b104`](https://github.com/nodejs/node/commit/4e4bd1b104)] - **deps**: update timezone to 2026c (Node.js GitHub Bot) [#&#8203;64588](https://github.com/nodejs/node/pull/64588) - \[[`7d82841b4e`](https://github.com/nodejs/node/commit/7d82841b4e)] - **deps**: update c-ares to 1.34.8 (Node.js GitHub Bot) [#&#8203;64330](https://github.com/nodejs/node/pull/64330) - \[[`01855a19d3`](https://github.com/nodejs/node/commit/01855a19d3)] - **deps**: c-ares: cherry-pick [`8ba37af`](https://github.com/nodejs/node/commit/8ba37af8e3fb) (René) [#&#8203;64110](https://github.com/nodejs/node/pull/64110) - \[[`23fb398c3d`](https://github.com/nodejs/node/commit/23fb398c3d)] - **deps**: update corepack to 0.35.0 (Node.js GitHub Bot) [#&#8203;63375](https://github.com/nodejs/node/pull/63375) - \[[`5286330365`](https://github.com/nodejs/node/commit/5286330365)] - **deps**: update corepack to 0.34.7 (Node.js GitHub Bot) [#&#8203;62810](https://github.com/nodejs/node/pull/62810) - \[[`6d6c3c98b1`](https://github.com/nodejs/node/commit/6d6c3c98b1)] - **deps**: update timezone to 2026b (Node.js GitHub Bot) [#&#8203;62962](https://github.com/nodejs/node/pull/62962) - \[[`e306521444`](https://github.com/nodejs/node/commit/e306521444)] - **deps**: update icu to 78.3 (Node.js GitHub Bot) [#&#8203;62324](https://github.com/nodejs/node/pull/62324) - \[[`d9cb8468a3`](https://github.com/nodejs/node/commit/d9cb8468a3)] - **doc**: clarify `filter` option of `sqlite.database.applyChangeset` (Antoine du Hamel) [#&#8203;63515](https://github.com/nodejs/node/pull/63515) - \[[`c9c5662d91`](https://github.com/nodejs/node/commit/c9c5662d91)] - **doc**: add sxa GPG key ([`ed25519`](https://github.com/nodejs/node/commit/ed25519)) (Stewart X Addison) [#&#8203;64193](https://github.com/nodejs/node/pull/64193) - \[[`37f21068c4`](https://github.com/nodejs/node/commit/37f21068c4)] - **fs**: restore fs patchability in ESM loader (Joyee Cheung) [#&#8203;62835](https://github.com/nodejs/node/pull/62835) - \[[`7c2df5dd96`](https://github.com/nodejs/node/commit/7c2df5dd96)] - **http2**: avoid uaf while receiving and sending rst_stream (esgor) [#&#8203;64166](https://github.com/nodejs/node/pull/64166) - \[[`3909ff2c4a`](https://github.com/nodejs/node/commit/3909ff2c4a)] - **node-api**: support SharedArrayBuffer in napi_create_typedarray (Yilong Li) [#&#8203;62710](https://github.com/nodejs/node/pull/62710) - \[[`66de6349ad`](https://github.com/nodejs/node/commit/66de6349ad)] - **node-api**: add napi_create_external_sharedarraybuffer (Ben Noordhuis) [#&#8203;62623](https://github.com/nodejs/node/pull/62623) - \[[`ce9139107f`](https://github.com/nodejs/node/commit/ce9139107f)] - **src**: escape Windows environment variables in task runner (Antoine du Hamel) [#&#8203;65217](https://github.com/nodejs/node/pull/65217) - \[[`839480a471`](https://github.com/nodejs/node/commit/839480a471)] - **test**: fix link-local dgram scope assertion (Filip Skokan) [#&#8203;65629](https://github.com/nodejs/node/pull/65629) - \[[`40eac4a32f`](https://github.com/nodejs/node/commit/40eac4a32f)] - **test**: account for varied OpenSSL CCM final behaviours (Filip Skokan) [#&#8203;65542](https://github.com/nodejs/node/pull/65542) - \[[`75098a9e8c`](https://github.com/nodejs/node/commit/75098a9e8c)] - **tools**: update gr2m/create-or-update-pull-request-action to v1.10.1 (Mike McCready) [#&#8203;63065](https://github.com/nodejs/node/pull/63065) - \[[`08b6ac0416`](https://github.com/nodejs/node/commit/08b6ac0416)] - **tools**: revert OpenSSL update workflow to ubuntu-latest (Richard Lau) [#&#8203;62627](https://github.com/nodejs/node/pull/62627) - \[[`02cafc479f`](https://github.com/nodejs/node/commit/02cafc479f)] - **tools**: fix commit linter for semver-major release proposals (Antoine du Hamel) [#&#8203;62993](https://github.com/nodejs/node/pull/62993) - \[[`6f6cd3768d`](https://github.com/nodejs/node/commit/6f6cd3768d)] - **tools**: sync mk-ca-bundle.pl with curl (Archkon) [#&#8203;64753](https://github.com/nodejs/node/pull/64753) - \[[`bc5753d438`](https://github.com/nodejs/node/commit/bc5753d438)] - **tools**: remove `envinfo` from our workflows (Antoine du Hamel) [#&#8203;64259](https://github.com/nodejs/node/pull/64259) - \[[`d68ee9f8a5`](https://github.com/nodejs/node/commit/d68ee9f8a5)] - **tools**: validate version number in release proposal commit message lint (Antoine du Hamel) [#&#8203;64070](https://github.com/nodejs/node/pull/64070) - \[[`38ee2e895f`](https://github.com/nodejs/node/commit/38ee2e895f)] - **tools**: avoid test/fixtures/wpt/README.md conflicts (Filip Skokan) [#&#8203;63938](https://github.com/nodejs/node/pull/63938) - \[[`fdc65e489f`](https://github.com/nodejs/node/commit/fdc65e489f)] - **tools**: use different branch for tool updates on staging branches (Antoine du Hamel) [#&#8203;63110](https://github.com/nodejs/node/pull/63110) - \[[`e5a6fde002`](https://github.com/nodejs/node/commit/e5a6fde002)] - **tools**: update gyp-next to 0.22.1 (Node.js GitHub Bot) [#&#8203;62961](https://github.com/nodejs/node/pull/62961) - \[[`5fbbad6e82`](https://github.com/nodejs/node/commit/5fbbad6e82)] - **url**: handle unparsable serialized URLs in setters (Matteo Collina) [#&#8203;64651](https://github.com/nodejs/node/pull/64651) - \[[`ed019e4854`](https://github.com/nodejs/node/commit/ed019e4854)] - **util**: preserve function names without source map names (Hiroki Osame) [#&#8203;65108](https://github.com/nodejs/node/pull/65108) ### [`v22.23.2`](https://github.com/nodejs/node/releases/tag/v22.23.2): 2026-07-29, Version 22.23.2 'Jod' (LTS), @&#8203;marco-ippolito [Compare Source](https://github.com/nodejs/node/compare/v22.23.1...v22.23.2) This is a security release. ##### Notable Changes - (CVE-2026-56846) http2: retain header memory in session accounting (Matteo Collina) – High - (CVE-2026-56848) http2: defer rst stream while in scope (Matteo Collina) – High - (CVE-2026-58043) permission: avoid granting radix split nodes (RafaelGSS) – High - (CVE-2026-56850) https: distinguish PFX object-array agent keys (RafaelGSS) – Medium - (CVE-2026-58040) https: bind identity checks to session reuse (Matteo Collina) – Medium - (CVE-2026-58042) dns: handle large resolveAny address replies (RafaelGSS) – Medium - (CVE-2026-58045) zlib: throw on out-of-bounds write buffers (RafaelGSS) – Medium - (CVE-2026-56847) permission: enforce fs write permission for trace events (RafaelGSS) – Low - (CVE-2026-58039) permission: check final report output path (RafaelGSS) – Low - (CVE-2026-58044) http: reject requests exceeding max header count (Matteo Collina) – Low - deps: update llhttp to 9.4.3 (Paolo Insogna) - deps: update undici to 6.28.0 (Node.js GitHub Bot) ##### Commits - \[[`4b12ac38a1`](https://github.com/nodejs/node/commit/4b12ac38a1)] - **deps**: update llhttp to 9.4.3 (Paolo Insogna) [nodejs-private/node-private#935](https://github.com/nodejs-private/node-private/pull/935) - \[[`3fd0aa51d0`](https://github.com/nodejs/node/commit/3fd0aa51d0)] - **deps**: update undici to 6.28.0 (Node.js GitHub Bot) [#&#8203;64714](https://github.com/nodejs/node/pull/64714) - \[[`22efc051a3`](https://github.com/nodejs/node/commit/22efc051a3)] - **(CVE-2026-58042)** **dns**: handle large resolveAny address replies (RafaelGSS) [nodejs-private/node-private#929](https://github.com/nodejs-private/node-private/pull/929) - \[[`c8525ac3a6`](https://github.com/nodejs/node/commit/c8525ac3a6)] - **(CVE-2026-58044)** **http**: reject requests exceeding max header count (Matteo Collina) [nodejs-private/node-private#932](https://github.com/nodejs-private/node-private/pull/932) - \[[`daa6d25e3d`](https://github.com/nodejs/node/commit/daa6d25e3d)] - **(CVE-2026-56848)** **http2**: defer rst stream while in scope (Matteo Collina) [nodejs-private/node-private#921](https://github.com/nodejs-private/node-private/pull/921) - \[[`f14d78b9e0`](https://github.com/nodejs/node/commit/f14d78b9e0)] - **(CVE-2026-56846)** **http2**: retain header memory in session accounting (Matteo Collina) [#&#8203;63752](https://github.com/nodejs/node/pull/63752) - \[[`51123159fe`](https://github.com/nodejs/node/commit/51123159fe)] - **(CVE-2026-58040)** **https**: bind identity checks to session reuse (Matteo Collina) [nodejs-private/node-private#934](https://github.com/nodejs-private/node-private/pull/934) - \[[`acaf4266b2`](https://github.com/nodejs/node/commit/acaf4266b2)] - **(CVE-2026-56850)** **https**: distinguish PFX object-array agent keys (RafaelGSS) [nodejs-private/node-private#930](https://github.com/nodejs-private/node-private/pull/930) - \[[`440329f624`](https://github.com/nodejs/node/commit/440329f624)] - **(CVE-2026-58043)** **permission**: avoid granting radix split nodes (RafaelGSS) [nodejs-private/node-private#911](https://github.com/nodejs-private/node-private/pull/911) - \[[`ed18b9cc07`](https://github.com/nodejs/node/commit/ed18b9cc07)] - **(CVE-2026-58039)** **permission**: check final report output path (RafaelGSS) [nodejs-private/node-private#926](https://github.com/nodejs-private/node-private/pull/926) - \[[`0566c3cccd`](https://github.com/nodejs/node/commit/0566c3cccd)] - **(CVE-2026-56847)** **permission**: enforce fs write permission for trace events (RafaelGSS) [nodejs-private/node-private#927](https://github.com/nodejs-private/node-private/pull/927) - \[[`0d072480c3`](https://github.com/nodejs/node/commit/0d072480c3)] - **(CVE-2026-58045)** **zlib**: throw on out-of-bounds write buffers (RafaelGSS) [nodejs-private/node-private#931](https://github.com/nodejs-private/node-private/pull/931) ### [`v22.23.1`](https://github.com/nodejs/node/releases/tag/v22.23.1): 2026-06-23, Version 22.23.1 'Jod' (LTS), @&#8203;RafaelGSS [Compare Source](https://github.com/nodejs/node/compare/v22.23.0...v22.23.1) This release includes a fix for an unexpected behavior introduced by the recent security release (22.23.0). ##### Commits - \[[`41d2ee13be`](https://github.com/nodejs/node/commit/41d2ee13be)] - **build**: switch coverage-windows to `windows-2022` (Richard Lau) [#&#8203;63940](https://github.com/nodejs/node/pull/63940) - \[[`eaa292549e`](https://github.com/nodejs/node/commit/eaa292549e)] - **http**: avoid stream listeners on idle agent sockets (Matteo Collina) [#&#8203;64004](https://github.com/nodejs/node/pull/64004) ### [`v22.23.0`](https://github.com/nodejs/node/releases/tag/v22.23.0): 2026-06-18, Version 22.23.0 'Jod' (LTS), @&#8203;aduh95 [Compare Source](https://github.com/nodejs/node/compare/v22.22.3...v22.23.0) This is a security release. ##### Notable Changes - (CVE-2026-48618) tls: normalize hostname for server identity checks (Matteo Collina) – High - (CVE-2026-48933) crypto: guard WebCrypto cipher output length (Filip Skokan) – High - (CVE-2026-48937) deps: fix integration issues with the latest nghttp2 – Medium - (CVE-2026-48930) dns,net: reject hostnames with embedded NUL bytes (Matteo Collina) – Medium - (CVE-2026-48619) http2: cap originSet size to prevent unbounded memory growth (Matteo Collina) – Medium - (CVE-2026-48615) lib,test: redact proxy credentials in tunnel errors (Matteo Collina) – Medium - (CVE-2026-48934) tls: bind reusable sessions to authenticated host (Matteo Collina) – Medium - (CVE-2026-48928) tls: fix case-sensitive SNI context matching (Matteo Collina) – Medium - (CVE-2026-48617) permission: handle process.chdir on writereport (RafaelGSS) – Low - (CVE-2026-48931) http: fix response queue poisoning in http.Agent (Matteo Collina) – Low - (CVE-2026-48935) permission: disable FileHandle utimes with permission model (RafaelGSS) – Low ##### Commits - \[[`38b4c5ed51`](https://github.com/nodejs/node/commit/38b4c5ed51)] - **(CVE-2026-48933)** **crypto**: guard WebCrypto cipher output length (Filip Skokan) [nodejs-private/node-private#878](https://github.com/nodejs-private/node-private/pull/878) - \[[`ad8a10c1bb`](https://github.com/nodejs/node/commit/ad8a10c1bb)] - **deps**: update llhttp to 9.4.2 (Antoine du Hamel) [nodejs-private/node-private#890](https://github.com/nodejs-private/node-private/pull/890) - \[[`ca825a87cc`](https://github.com/nodejs/node/commit/ca825a87cc)] - **deps**: update undici to 6.27.0 (aduh95) [#&#8203;63711](https://github.com/nodejs/node/pull/63711) - \[[`a1a5bb9683`](https://github.com/nodejs/node/commit/a1a5bb9683)] - **(CVE-2026-48937)** **deps**: fix integration issues with the latest nghttp2 (Tim Perry) [#&#8203;62891](https://github.com/nodejs/node/pull/62891) - \[[`0f48583512`](https://github.com/nodejs/node/commit/0f48583512)] - **(SEMVER-MAJOR)** **deps**: update nghttp2 to 1.69.0 (Node.js GitHub Bot) [#&#8203;62891](https://github.com/nodejs/node/pull/62891) - \[[`38c869fc05`](https://github.com/nodejs/node/commit/38c869fc05)] - **deps**: update nghttp2 to 1.68.0 (nodejs-github-bot) [#&#8203;61136](https://github.com/nodejs/node/pull/61136) - \[[`290667c84f`](https://github.com/nodejs/node/commit/290667c84f)] - **deps**: update nghttp2 to 1.67.1 (nodejs-github-bot) [#&#8203;59790](https://github.com/nodejs/node/pull/59790) - \[[`c9f3da76aa`](https://github.com/nodejs/node/commit/c9f3da76aa)] - **deps**: update nghttp2 to 1.66.0 (Node.js GitHub Bot) [#&#8203;58786](https://github.com/nodejs/node/pull/58786) - \[[`60890be563`](https://github.com/nodejs/node/commit/60890be563)] - **deps**: update nghttp2 to 1.65.0 (Node.js GitHub Bot) [#&#8203;57269](https://github.com/nodejs/node/pull/57269) - \[[`5024c7d5d8`](https://github.com/nodejs/node/commit/5024c7d5d8)] - **deps**: update archs files for openssl-3.5.7 (Node.js GitHub Bot) [#&#8203;63820](https://github.com/nodejs/node/pull/63820) - \[[`7f4eb5af2e`](https://github.com/nodejs/node/commit/7f4eb5af2e)] - **deps**: upgrade openssl sources to openssl-3.5.7 (Node.js GitHub Bot) [#&#8203;63820](https://github.com/nodejs/node/pull/63820) - \[[`ebb4ec78a8`](https://github.com/nodejs/node/commit/ebb4ec78a8)] - **deps**: fix aix implicit declaration in OpenSSL (Abdirahim Musse) [#&#8203;62656](https://github.com/nodejs/node/pull/62656) - \[[`5763d40826`](https://github.com/nodejs/node/commit/5763d40826)] - **deps**: update llhttp to 9.4.1 (Node.js GitHub Bot) [#&#8203;63045](https://github.com/nodejs/node/pull/63045) - \[[`c551a51d0c`](https://github.com/nodejs/node/commit/c551a51d0c)] - **(CVE-2026-48930)** **dns,net**: reject hostnames with embedded NUL bytes (Matteo Collina) [nodejs-private/node-private#868](https://github.com/nodejs-private/node-private/pull/868) - \[[`0a22d40180`](https://github.com/nodejs/node/commit/0a22d40180)] - **(CVE-2026-48931)** **http**: fix response queue poisoning in http.Agent (Matteo Collina) [nodejs-private/node-private#846](https://github.com/nodejs-private/node-private/pull/846) - \[[`c79968e108`](https://github.com/nodejs/node/commit/c79968e108)] - **(CVE-2026-48619)** **http2**: cap originSet size to prevent unbounded memory growth (Matteo Collina) [nodejs-private/node-private#855](https://github.com/nodejs-private/node-private/pull/855) - \[[`0c37bff2ff`](https://github.com/nodejs/node/commit/0c37bff2ff)] - **http2**: fix DEP0194 message (KaKa) [#&#8203;58669](https://github.com/nodejs/node/pull/58669) - \[[`ea5dc6b529`](https://github.com/nodejs/node/commit/ea5dc6b529)] - **(SEMVER-MAJOR)** **http2**: remove support for priority signaling (Matteo Collina) [#&#8203;58293](https://github.com/nodejs/node/pull/58293) - \[[`9b6af26132`](https://github.com/nodejs/node/commit/9b6af26132)] - **(CVE-2026-48615)** **lib,test**: redact proxy credentials in tunnel errors (Matteo Collina) [nodejs-private/node-private#867](https://github.com/nodejs-private/node-private/pull/867) - \[[`28dcd38864`](https://github.com/nodejs/node/commit/28dcd38864)] - **(CVE-2026-48935)** **permission**: disable FileHandle utimes with permission model (RafaelGSS) [nodejs-private/node-private#873](https://github.com/nodejs-private/node-private/pull/873) - \[[`2f62693801`](https://github.com/nodejs/node/commit/2f62693801)] - **(CVE-2026-48617)** **permission**: handle process.chdir on writereport (RafaelGSS) [nodejs-private/node-private#870](https://github.com/nodejs-private/node-private/pull/870) - \[[`1662a3ea09`](https://github.com/nodejs/node/commit/1662a3ea09)] - **test**: add session reuse host verification regressions (Matteo Collina) [nodejs-private/node-private#854](https://github.com/nodejs-private/node-private/pull/854) - \[[`718d5d0e2c`](https://github.com/nodejs/node/commit/718d5d0e2c)] - **test**: skip `test-fs-utimes-y2K38` on armv7 (Richard Lau) [#&#8203;63836](https://github.com/nodejs/node/pull/63836) - \[[`041185b61f`](https://github.com/nodejs/node/commit/041185b61f)] - **test**: skip test-cluster-dgram-reuse on AIX 7.3 (Stewart X Addison) [#&#8203;62238](https://github.com/nodejs/node/pull/62238) - \[[`fd890ba01d`](https://github.com/nodejs/node/commit/fd890ba01d)] - **(CVE-2026-48934)** **tls**: bind reusable sessions to authenticated host (Matteo Collina) [nodejs-private/node-private#854](https://github.com/nodejs-private/node-private/pull/854) - \[[`39d1d09684`](https://github.com/nodejs/node/commit/39d1d09684)] - **(CVE-2026-48928)** **tls**: fix case-sensitive SNI context matching (Matteo Collina) [nodejs-private/node-private#857](https://github.com/nodejs-private/node-private/pull/857) - \[[`2197a47144`](https://github.com/nodejs/node/commit/2197a47144)] - **(CVE-2026-48618)** **tls**: normalize hostname for server identity checks (Matteo Collina) [nodejs-private/node-private#869](https://github.com/nodejs-private/node-private/pull/869) ### [`v22.22.3`](https://github.com/nodejs/node/releases/tag/v22.22.3): 2026-05-13, Version 22.22.3 'Jod' (LTS), @&#8203;marco-ippolito [Compare Source](https://github.com/nodejs/node/compare/v22.22.2...v22.22.3) ##### Commits - \[[`4f780905c5`](https://github.com/nodejs/node/commit/4f780905c5)] - **crypto**: fix potential null pointer dereference when BIO_meth_new() fails (Nora Dossche) [#&#8203;61788](https://github.com/nodejs/node/pull/61788) - \[[`4a09efb947`](https://github.com/nodejs/node/commit/4a09efb947)] - **crypto**: update root certificates to NSS 3.121 (Node.js GitHub Bot) [#&#8203;62485](https://github.com/nodejs/node/pull/62485) - \[[`e4c0d99839`](https://github.com/nodejs/node/commit/e4c0d99839)] - **deps**: update timezone to 2026a (Node.js GitHub Bot) [#&#8203;62164](https://github.com/nodejs/node/pull/62164) - \[[`0226c8dd7a`](https://github.com/nodejs/node/commit/0226c8dd7a)] - **deps**: update simdjson to 4.5.0 (Node.js GitHub Bot) [#&#8203;62382](https://github.com/nodejs/node/pull/62382) - \[[`e742ab748c`](https://github.com/nodejs/node/commit/e742ab748c)] - **deps**: update sqlite to 3.51.3 (Node.js GitHub Bot) [#&#8203;62256](https://github.com/nodejs/node/pull/62256) - \[[`73cac0571a`](https://github.com/nodejs/node/commit/73cac0571a)] - **deps**: update amaro to 1.1.8 (Node.js GitHub Bot) [#&#8203;62151](https://github.com/nodejs/node/pull/62151) - \[[`ae5c162b93`](https://github.com/nodejs/node/commit/ae5c162b93)] - **deps**: update amaro to 1.1.7 (Node.js GitHub Bot) [#&#8203;61730](https://github.com/nodejs/node/pull/61730) - \[[`b819cb9977`](https://github.com/nodejs/node/commit/b819cb9977)] - **deps**: update amaro to 1.1.6 (Node.js GitHub Bot) [#&#8203;61603](https://github.com/nodejs/node/pull/61603) - \[[`bbcce09dc7`](https://github.com/nodejs/node/commit/bbcce09dc7)] - **deps**: update sqlite to 3.52.0 (Node.js GitHub Bot) [#&#8203;62150](https://github.com/nodejs/node/pull/62150) - \[[`22ff2d81ce`](https://github.com/nodejs/node/commit/22ff2d81ce)] - **deps**: update simdjson to 4.3.1 (Node.js GitHub Bot) [#&#8203;61930](https://github.com/nodejs/node/pull/61930) - \[[`f49b51d75c`](https://github.com/nodejs/node/commit/f49b51d75c)] - **deps**: update acorn-walk to 8.3.5 (Node.js GitHub Bot) [#&#8203;61928](https://github.com/nodejs/node/pull/61928) - \[[`1a5cec0d49`](https://github.com/nodejs/node/commit/1a5cec0d49)] - **deps**: update acorn to 8.16.0 (Node.js GitHub Bot) [#&#8203;61925](https://github.com/nodejs/node/pull/61925) - \[[`d339497688`](https://github.com/nodejs/node/commit/d339497688)] - **deps**: update nbytes to 0.1.3 (Node.js GitHub Bot) [#&#8203;61879](https://github.com/nodejs/node/pull/61879) - \[[`3ff8ffd459`](https://github.com/nodejs/node/commit/3ff8ffd459)] - **deps**: remove stale OpenSSL arch configs (René) [#&#8203;61834](https://github.com/nodejs/node/pull/61834) - \[[`b8ddbc1e9a`](https://github.com/nodejs/node/commit/b8ddbc1e9a)] - **deps**: update llhttp to 9.3.1 (Node.js GitHub Bot) [#&#8203;61827](https://github.com/nodejs/node/pull/61827) - \[[`ffda97afd4`](https://github.com/nodejs/node/commit/ffda97afd4)] - **deps**: update googletest to [`2461743`](https://github.com/nodejs/node/commit/2461743991f9aa53e9a3625eafcbacd81a3c74cd) (Node.js GitHub Bot) [#&#8203;62484](https://github.com/nodejs/node/pull/62484) - \[[`79aa32cf4f`](https://github.com/nodejs/node/commit/79aa32cf4f)] - **deps**: update googletest to [`73a63ea`](https://github.com/nodejs/node/commit/73a63ea05dc8ca29ec1d2c1d66481dd0de1950f1) (Node.js GitHub Bot) [#&#8203;61927](https://github.com/nodejs/node/pull/61927) - \[[`b6957e13b6`](https://github.com/nodejs/node/commit/b6957e13b6)] - **deps**: update archs files for openssl-3.5.6 (Node.js GitHub Bot) [#&#8203;62629](https://github.com/nodejs/node/pull/62629) - \[[`3a27669063`](https://github.com/nodejs/node/commit/3a27669063)] - **deps**: upgrade openssl sources to openssl-3.5.6 (Node.js GitHub Bot) [#&#8203;62629](https://github.com/nodejs/node/pull/62629) - \[[`d568a1bb53`](https://github.com/nodejs/node/commit/d568a1bb53)] - **deps**: upgrade npm to 10.9.8 (npm team) [#&#8203;62463](https://github.com/nodejs/node/pull/62463) - \[[`ec11f3c1d5`](https://github.com/nodejs/node/commit/ec11f3c1d5)] - **deps**: V8: backport [`85b3900`](https://github.com/nodejs/node/commit/85b390089e51) (Thibaud Michaud) [#&#8203;62783](https://github.com/nodejs/node/pull/62783) - \[[`08609712ed`](https://github.com/nodejs/node/commit/08609712ed)] - **deps**: V8: backport [`1b27e46`](https://github.com/nodejs/node/commit/1b27e4674f11) (Thibaud Michaud) [#&#8203;62783](https://github.com/nodejs/node/pull/62783) - \[[`dcc60d5ab2`](https://github.com/nodejs/node/commit/dcc60d5ab2)] - **deps**: V8: backport [`9997fc0`](https://github.com/nodejs/node/commit/9997fc013952) (Thibaud Michaud) [#&#8203;62783](https://github.com/nodejs/node/pull/62783) - \[[`1d1f4451fb`](https://github.com/nodejs/node/commit/1d1f4451fb)] - **deps**: V8: cherry-pick [`b96e40d`](https://github.com/nodejs/node/commit/b96e40d5ac85) (Clemens Backes) [#&#8203;62783](https://github.com/nodejs/node/pull/62783) - \[[`2268567237`](https://github.com/nodejs/node/commit/2268567237)] - **deps**: V8: cherry-pick [`7cb6188`](https://github.com/nodejs/node/commit/7cb6188cf913) (Thibaud Michaud) [#&#8203;62783](https://github.com/nodejs/node/pull/62783) - \[[`92804cdbea`](https://github.com/nodejs/node/commit/92804cdbea)] - **deps**: V8: cherry-pick [`e7ccf0a`](https://github.com/nodejs/node/commit/e7ccf0af1bdd) (Thibaud Michaud) [#&#8203;62783](https://github.com/nodejs/node/pull/62783) - \[[`eae2c27a40`](https://github.com/nodejs/node/commit/eae2c27a40)] - **deps**: V8: cherry-pick [`8e214ec`](https://github.com/nodejs/node/commit/8e214ec3ec8c) (Thibaud Michaud) [#&#8203;62783](https://github.com/nodejs/node/pull/62783) - \[[`a1799a49bb`](https://github.com/nodejs/node/commit/a1799a49bb)] - **deps**: V8: backport [`63b8849`](https://github.com/nodejs/node/commit/63b8849d73ae) (Thibaud Michaud) [#&#8203;62783](https://github.com/nodejs/node/pull/62783) - \[[`a2df2d8731`](https://github.com/nodejs/node/commit/a2df2d8731)] - **deps**: V8: backport [`3239427`](https://github.com/nodejs/node/commit/323942700cfe) (Thibaud Michaud) [#&#8203;62783](https://github.com/nodejs/node/pull/62783) - \[[`e3d65c7dca`](https://github.com/nodejs/node/commit/e3d65c7dca)] - **deps**: V8: backport [`89dc6ea`](https://github.com/nodejs/node/commit/89dc6eab605c) (Thibaud Michaud) [#&#8203;62783](https://github.com/nodejs/node/pull/62783) - \[[`5e7db133de`](https://github.com/nodejs/node/commit/5e7db133de)] - **deps**: V8: backport [`910cb91`](https://github.com/nodejs/node/commit/910cb91733dc) (Jakob Kummerow) [#&#8203;62783](https://github.com/nodejs/node/pull/62783) - \[[`d0c24a28af`](https://github.com/nodejs/node/commit/d0c24a28af)] - **deps**: V8: cherry-pick [`b8f91e5`](https://github.com/nodejs/node/commit/b8f91e510e0f) (Thibaud Michaud) [#&#8203;62783](https://github.com/nodejs/node/pull/62783) - \[[`d358687824`](https://github.com/nodejs/node/commit/d358687824)] - **deps**: V8: cherry-pick [`cf03d55`](https://github.com/nodejs/node/commit/cf03d55db2a0) (Thibaud Michaud) [#&#8203;62783](https://github.com/nodejs/node/pull/62783) - \[[`67c8b2c349`](https://github.com/nodejs/node/commit/67c8b2c349)] - **deps**: V8: cherry-pick [`692f3d5`](https://github.com/nodejs/node/commit/692f3d526a38) (Sébastien Doeraene) [#&#8203;62783](https://github.com/nodejs/node/pull/62783) - \[[`71e5a59ffd`](https://github.com/nodejs/node/commit/71e5a59ffd)] - **deps**: V8: cherry-pick [`c734674`](https://github.com/nodejs/node/commit/c734674e03f9) (Manos Koukoutos) [#&#8203;62783](https://github.com/nodejs/node/pull/62783) - \[[`f0dbe81c7b`](https://github.com/nodejs/node/commit/f0dbe81c7b)] - **deps**: V8: cherry-pick [`b2f3aea`](https://github.com/nodejs/node/commit/b2f3aea23a01) (Thibaud Michaud) [#&#8203;62783](https://github.com/nodejs/node/pull/62783) - \[[`d333f480c3`](https://github.com/nodejs/node/commit/d333f480c3)] - **deps**: V8: cherry-pick [`5f1342c`](https://github.com/nodejs/node/commit/5f1342c20b59) (Matthias Liedtke) [#&#8203;62783](https://github.com/nodejs/node/pull/62783) - \[[`db722725bb`](https://github.com/nodejs/node/commit/db722725bb)] - **deps**: use npm undici\@&#8203;six tag in `update-undici.sh` (Matteo Collina) [#&#8203;63012](https://github.com/nodejs/node/pull/63012) - \[[`9b57979d9c`](https://github.com/nodejs/node/commit/9b57979d9c)] - **doc**: add Rafael to last security release steward (Rafael Gonzaga) [#&#8203;62423](https://github.com/nodejs/node/pull/62423) - \[[`d8075585bf`](https://github.com/nodejs/node/commit/d8075585bf)] - **doc**: add path to vulnerabilities.json mention (Rafael Gonzaga) [#&#8203;62355](https://github.com/nodejs/node/pull/62355) - \[[`6ec9a70204`](https://github.com/nodejs/node/commit/6ec9a70204)] - **doc**: clarify fs.ReadStream and fs.WriteStream are not constructable (Kit Dallege) [#&#8203;62208](https://github.com/nodejs/node/pull/62208) - \[[`1fc86fcb6e`](https://github.com/nodejs/node/commit/1fc86fcb6e)] - **doc**: add note (and caveat) for `mock.module` about customization hooks (Jacob Smith) [#&#8203;62075](https://github.com/nodejs/node/pull/62075) - \[[`491be80bd9`](https://github.com/nodejs/node/commit/491be80bd9)] - **doc**: add efekrskl as triager (Efe) [#&#8203;61876](https://github.com/nodejs/node/pull/61876) - \[[`18558293a3`](https://github.com/nodejs/node/commit/18558293a3)] - **doc**: fix module.stripTypeScriptTypes indentation (René) [#&#8203;61992](https://github.com/nodejs/node/pull/61992) - \[[`8e20976522`](https://github.com/nodejs/node/commit/8e20976522)] - **doc**: explicitly mention Slack handle (Rafael Gonzaga) [#&#8203;61986](https://github.com/nodejs/node/pull/61986) - \[[`70b8e6b4fb`](https://github.com/nodejs/node/commit/70b8e6b4fb)] - **doc**: rename invalid `function` parameter (René) [#&#8203;61942](https://github.com/nodejs/node/pull/61942) - \[[`4045c76f6c`](https://github.com/nodejs/node/commit/4045c76f6c)] - **doc**: clarify status of feature request issues (Antoine du Hamel) [#&#8203;61505](https://github.com/nodejs/node/pull/61505) - \[[`c54652f2aa`](https://github.com/nodejs/node/commit/c54652f2aa)] - **doc**: remove incorrect mention of `module` in `typescript.md` (Rob Palmer) [#&#8203;61839](https://github.com/nodejs/node/pull/61839) - \[[`9fad6cedf5`](https://github.com/nodejs/node/commit/9fad6cedf5)] - **doc**: clarify async caveats for `events.once()` (René) [#&#8203;61572](https://github.com/nodejs/node/pull/61572) - \[[`2f1e5733fe`](https://github.com/nodejs/node/commit/2f1e5733fe)] - **doc**: update Juan's security steward info (Juan José) [#&#8203;61754](https://github.com/nodejs/node/pull/61754) - \[[`a64bdb5068`](https://github.com/nodejs/node/commit/a64bdb5068)] - **doc**: fix overstated Date header requirement in response.sendDate (Kit Dallege) [#&#8203;62206](https://github.com/nodejs/node/pull/62206) - \[[`02797de923`](https://github.com/nodejs/node/commit/02797de923)] - **doc**: fix small environment_variables typo (chris) [#&#8203;62279](https://github.com/nodejs/node/pull/62279) - \[[`f22ebdc809`](https://github.com/nodejs/node/commit/f22ebdc809)] - **doc**: fix small logic error in DETECT_MODULE_SYNTAX (René) [#&#8203;62025](https://github.com/nodejs/node/pull/62025) - \[[`9f4508062a`](https://github.com/nodejs/node/commit/9f4508062a)] - **doc**: fix methods being documented as properties in `process.md` (Antoine du Hamel) [#&#8203;61765](https://github.com/nodejs/node/pull/61765) - \[[`3ea39ff135`](https://github.com/nodejs/node/commit/3ea39ff135)] - **doc**: fix dropdown menu being obscured at <600px due to stacking context (Jeff) [#&#8203;61735](https://github.com/nodejs/node/pull/61735) - \[[`c22445079b`](https://github.com/nodejs/node/commit/c22445079b)] - **doc**: fix spacing in process message event (Aviv Keller) [#&#8203;61756](https://github.com/nodejs/node/pull/61756) - \[[`32831b5223`](https://github.com/nodejs/node/commit/32831b5223)] - **doc**: fix broken links of net.md (YuSheng Chen) [#&#8203;61673](https://github.com/nodejs/node/pull/61673) - \[[`005508d509`](https://github.com/nodejs/node/commit/005508d509)] - **doc**: remove obsolete Boxstarter automated install (Mike McCready) [#&#8203;61785](https://github.com/nodejs/node/pull/61785) - \[[`37c2fd6f7d`](https://github.com/nodejs/node/commit/37c2fd6f7d)] - **esm**: fix path normalization in `finalizeResolution` (Antoine du Hamel) [#&#8203;62080](https://github.com/nodejs/node/pull/62080) - \[[`1769d74613`](https://github.com/nodejs/node/commit/1769d74613)] - **esm**: populate separate cache for require(esm) in imported CJS (Joyee Cheung) [#&#8203;59679](https://github.com/nodejs/node/pull/59679) - \[[`ee02966ffc`](https://github.com/nodejs/node/commit/ee02966ffc)] - **http**: fix keep-alive socket reuse race in requestOnFinish (Martin Slota) [#&#8203;61710](https://github.com/nodejs/node/pull/61710) - \[[`2fdb5ce6cc`](https://github.com/nodejs/node/commit/2fdb5ce6cc)] - **http2**: fix FileHandle leak in respondWithFile (sangwook) [#&#8203;61707](https://github.com/nodejs/node/pull/61707) - \[[`aa2c1eca04`](https://github.com/nodejs/node/commit/aa2c1eca04)] - **lib**: fix source map url parse in dynamic imports (Chengzhong Wu) [#&#8203;61990](https://github.com/nodejs/node/pull/61990) - \[[`785b00cbeb`](https://github.com/nodejs/node/commit/785b00cbeb)] - **meta**: pass release version to release worker (flakey5) [#&#8203;62777](https://github.com/nodejs/node/pull/62777) - \[[`447fb9a0b5`](https://github.com/nodejs/node/commit/447fb9a0b5)] - **meta**: persist sccache daemon until end of build workflows (René) [#&#8203;61639](https://github.com/nodejs/node/pull/61639) - \[[`5065a0acb3`](https://github.com/nodejs/node/commit/5065a0acb3)] - **module**: do not invoke resolve hooks twice for imported cjs (Joyee Cheung) [#&#8203;61529](https://github.com/nodejs/node/pull/61529) - \[[`9a2e21305d`](https://github.com/nodejs/node/commit/9a2e21305d)] - **module**: do not wrap module.\_load when tracing is not enabled (Joyee Cheung) [#&#8203;61479](https://github.com/nodejs/node/pull/61479) - \[[`b9240bc063`](https://github.com/nodejs/node/commit/b9240bc063)] - **module**: fix sync resolve hooks for require with node: prefixes (Joyee Cheung) [#&#8203;61088](https://github.com/nodejs/node/pull/61088) - \[[`2e91b28aaf`](https://github.com/nodejs/node/commit/2e91b28aaf)] - **module**: handle null source from async loader hooks in sync hooks (Joyee Cheung) [#&#8203;59929](https://github.com/nodejs/node/pull/59929) - \[[`39147c154e`](https://github.com/nodejs/node/commit/39147c154e)] - **module**: use sync cjs when importing cts (Marco Ippolito) [#&#8203;60072](https://github.com/nodejs/node/pull/60072) - \[[`12a2462b2c`](https://github.com/nodejs/node/commit/12a2462b2c)] - **module**: only put directly require-d ESM into require.cache (Joyee Cheung) [#&#8203;59874](https://github.com/nodejs/node/pull/59874) - \[[`cf39566277`](https://github.com/nodejs/node/commit/cf39566277)] - **src**: fix flags argument offset in JSUdpWrap (Weixie Cui) [#&#8203;61948](https://github.com/nodejs/node/pull/61948) - \[[`578a9a9230`](https://github.com/nodejs/node/commit/578a9a9230)] - **src**: clamp WriteUtf8 capacity to INT_MAX in EncodeInto (semimikoh) [#&#8203;62621](https://github.com/nodejs/node/pull/62621) - \[[`57c3035fec`](https://github.com/nodejs/node/commit/57c3035fec)] - **stream**: fix decoded fromList chunk boundary check (Thomas Watson) [#&#8203;61884](https://github.com/nodejs/node/pull/61884) - \[[`57fb008bb8`](https://github.com/nodejs/node/commit/57fb008bb8)] - **test**: update tls junk data error expectations (Filip Skokan) [#&#8203;62629](https://github.com/nodejs/node/pull/62629) - \[[`363f9a9d18`](https://github.com/nodejs/node/commit/363f9a9d18)] - **test**: skip `test-url` on `--shared-ada` builds (Antoine du Hamel) [#&#8203;62019](https://github.com/nodejs/node/pull/62019) - \[[`daaead342b`](https://github.com/nodejs/node/commit/daaead342b)] - **test**: simplify encodeInto large buffer regression test (semimikoh) [#&#8203;62621](https://github.com/nodejs/node/pull/62621) - \[[`ecfa766b41`](https://github.com/nodejs/node/commit/ecfa766b41)] - **tools**: fix auto-start-ci (Antoine du Hamel) [#&#8203;61900](https://github.com/nodejs/node/pull/61900) - \[[`17c0a610af`](https://github.com/nodejs/node/commit/17c0a610af)] - **tools**: fix parsing of commit trailers in `lint-release-proposal` GHA (Antoine du Hamel) [#&#8203;62077](https://github.com/nodejs/node/pull/62077) - \[[`89ad7dc63b`](https://github.com/nodejs/node/commit/89ad7dc63b)] - **tools**: enforce removal of `lts-watch-*` labels on release proposals (Antoine du Hamel) [#&#8203;61672](https://github.com/nodejs/node/pull/61672) - \[[`5f9bb8ef0c`](https://github.com/nodejs/node/commit/5f9bb8ef0c)] - **tools**: revert tools GHA workflow to ubuntu-latest (Richard Lau) [#&#8203;62024](https://github.com/nodejs/node/pull/62024) - \[[`977ef80ac1`](https://github.com/nodejs/node/commit/977ef80ac1)] - **url**: process crash via malformed UNC hostname in pathToFileURL() (Nicola Del Gobbo) [#&#8203;62574](https://github.com/nodejs/node/pull/62574) - \[[`ad8f518a81`](https://github.com/nodejs/node/commit/ad8f518a81)] - **zlib**: fix use-after-free when reset() is called during write (Matteo Collina) [#&#8203;62325](https://github.com/nodejs/node/pull/62325) ### [`v22.22.2`](https://github.com/nodejs/node/releases/tag/v22.22.2): 2026-03-24, Version 22.22.2 'Jod' (LTS), @&#8203;RafaelGSS prepared by @&#8203;aduh95 [Compare Source](https://github.com/nodejs/node/compare/v22.22.1...v22.22.2) This is a security release. ##### Notable Changes - (CVE-2026-21637) wrap `SNICallback` invocation in `try`/`catch` (Matteo Collina) - High - (CVE-2026-21710) use null prototype for `headersDistinct`/`trailersDistinct` (Matteo Collina) - High - (CVE-2026-21713) use timing-safe comparison in Web Cryptography HMAC (Filip Skokan) - Medium - (CVE-2026-21714) handle `NGHTTP2_ERR_FLOW_CONTROL` error code (RafaelGSS) - Medium - (CVE-2026-21717) test array index hash collision (Joyee Cheung) - Medium - (CVE-2026-21715) add permission check to `realpath.native` (RafaelGSS) - Low - (CVE-2026-21716) include permission check on `lib/fs/promises` (RafaelGSS) - Low ##### Commits - \[[`6f14ee5101`](https://github.com/nodejs/node/commit/6f14ee5101)] - **(CVE-2026-21717)** **build,test**: test array index hash collision (Joyee Cheung) [nodejs-private/node-private#809](https://github.com/nodejs-private/node-private/pull/809) - \[[`52a52ef619`](https://github.com/nodejs/node/commit/52a52ef619)] - **(CVE-2026-21713)** **crypto**: use timing-safe comparison in Web Cryptography HMAC (Filip Skokan) [nodejs-private/node-private#822](https://github.com/nodejs-private/node-private/pull/822) - \[[`30a3ab11e2`](https://github.com/nodejs/node/commit/30a3ab11e2)] - **(CVE-2026-21717)** **deps**: V8: cherry-pick [`aac14dd`](https://github.com/nodejs/node/commit/aac14dd95e5b) (Joyee Cheung) [nodejs-private/node-private#809](https://github.com/nodejs-private/node-private/pull/809) - \[[`e3f4d6a42e`](https://github.com/nodejs/node/commit/e3f4d6a42e)] - **(CVE-2026-21717)** **deps**: V8: backport [`1361b2a`](https://github.com/nodejs/node/commit/1361b2a49d02) (Joyee Cheung) [nodejs-private/node-private#809](https://github.com/nodejs-private/node-private/pull/809) - \[[`7dc00fa5f4`](https://github.com/nodejs/node/commit/7dc00fa5f4)] - **(CVE-2026-21717)** **deps**: V8: backport [`185f0fe`](https://github.com/nodejs/node/commit/185f0fe09b72) (Joyee Cheung) [nodejs-private/node-private#809](https://github.com/nodejs-private/node-private/pull/809) - \[[`076acd052d`](https://github.com/nodejs/node/commit/076acd052d)] - **(CVE-2026-21717)** **deps**: V8: backport [`0a8b1cd`](https://github.com/nodejs/node/commit/0a8b1cdcc8b2) (snek) [nodejs-private/node-private#809](https://github.com/nodejs-private/node-private/pull/809) - \[[`963c60a951`](https://github.com/nodejs/node/commit/963c60a951)] - **deps**: V8: override `depot_tools` version (Richard Lau) [#&#8203;62344](https://github.com/nodejs/node/pull/62344) - \[[`a688117d5d`](https://github.com/nodejs/node/commit/a688117d5d)] - **deps**: upgrade npm to 10.9.7 (npm team) [#&#8203;62330](https://github.com/nodejs/node/pull/62330) - \[[`859c8c761b`](https://github.com/nodejs/node/commit/859c8c761b)] - **deps**: update undici to v6.24.1 (Matteo Collina) [#&#8203;62285](https://github.com/nodejs/node/pull/62285) - \[[`d5ed384a2f`](https://github.com/nodejs/node/commit/d5ed384a2f)] - **deps**: upgrade npm to 10.9.6 (npm team) [#&#8203;62215](https://github.com/nodejs/node/pull/62215) - \[[`a2fe9fd81a`](https://github.com/nodejs/node/commit/a2fe9fd81a)] - **(CVE-2026-21710)** **http**: use null prototype for headersDistinct/trailersDistinct (Matteo Collina) [nodejs-private/node-private#821](https://github.com/nodejs-private/node-private/pull/821) - \[[`73deff77c1`](https://github.com/nodejs/node/commit/73deff77c1)] - **lib**: backport `_tls_common` and `_tls_wrap` refactors (Dario Piotrowicz) [#&#8203;57643](https://github.com/nodejs/node/pull/57643) - \[[`06fc3436f6`](https://github.com/nodejs/node/commit/06fc3436f6)] - **(CVE-2026-21716)** **permission**: include permission check on lib/fs/promises (RafaelGSS) [nodejs-private/node-private#795](https://github.com/nodejs-private/node-private/pull/795) - \[[`db48d9c675`](https://github.com/nodejs/node/commit/db48d9c675)] - **(CVE-2026-21715)** **permission**: add permission check to realpath.native (RafaelGSS) [nodejs-private/node-private#794](https://github.com/nodejs-private/node-private/pull/794) - \[[`2a6105a63b`](https://github.com/nodejs/node/commit/2a6105a63b)] - **(CVE-2026-21714)** **src**: handle NGHTTP2_ERR_FLOW_CONTROL error code (RafaelGSS) [nodejs-private/node-private#832](https://github.com/nodejs-private/node-private/pull/832) - \[[`91b970886f`](https://github.com/nodejs/node/commit/91b970886f)] - **(CVE-2026-21637)** **tls**: wrap SNICallback invocation in try/catch (Matteo Collina) [nodejs-private/node-private#819](https://github.com/nodejs-private/node-private/pull/819) ### [`v22.22.1`](https://github.com/nodejs/node/releases/tag/v22.22.1): 2026-03-05, Version 22.22.1 'Jod' (LTS) [Compare Source](https://github.com/nodejs/node/compare/v22.22.0...v22.22.1) ##### Notable Changes - \[[`7b93a65f27`](https://github.com/nodejs/node/commit/7b93a65f27)] - **build**: test on Python 3.14 (Christian Clauss) [#&#8203;59983](https://github.com/nodejs/node/pull/59983) - \[[`6063d888fe`](https://github.com/nodejs/node/commit/6063d888fe)] - **cli**: mark `--heapsnapshot-near-heap-limit` as stable (Joyee Cheung) [#&#8203;60956](https://github.com/nodejs/node/pull/60956) - \[[`d950b151a2`](https://github.com/nodejs/node/commit/d950b151a2)] - **crypto**: update root certificates to NSS 3.119 (Node.js GitHub Bot) [#&#8203;61419](https://github.com/nodejs/node/pull/61419) - \[[`4f42f8c428`](https://github.com/nodejs/node/commit/4f42f8c428)] - **crypto**: update root certificates to NSS 3.117 (Node.js GitHub Bot) [#&#8203;60741](https://github.com/nodejs/node/pull/60741) - \[[`b6ebf2cd53`](https://github.com/nodejs/node/commit/b6ebf2cd53)] - **doc**: add avivkeller to collaborators (Aviv Keller) [#&#8203;61115](https://github.com/nodejs/node/pull/61115) - \[[`35854f424d`](https://github.com/nodejs/node/commit/35854f424d)] - **doc**: add gurgunday to collaborators (Gürgün Dayıoğlu) [#&#8203;61094](https://github.com/nodejs/node/pull/61094) - \[[`5c6a076e5d`](https://github.com/nodejs/node/commit/5c6a076e5d)] - **meta**: add Renegade334 to collaborators (Renegade334) [#&#8203;60714](https://github.com/nodejs/node/pull/60714) ##### Commits - \[[`5f773488c2`](https://github.com/nodejs/node/commit/5f773488c2)] - **assert**: use a set instead of an array for faster lookup (Ruben Bridgewater) [#&#8203;61076](https://github.com/nodejs/node/pull/61076) - \[[`feecbb0eab`](https://github.com/nodejs/node/commit/feecbb0eab)] - **assert,util**: fix deep comparison for sets and maps with mixed types (Ruben Bridgewater) [#&#8203;61388](https://github.com/nodejs/node/pull/61388) - \[[`096095b127`](https://github.com/nodejs/node/commit/096095b127)] - **benchmark**: add SQLite benchmarks (Guilherme Araújo) [#&#8203;61401](https://github.com/nodejs/node/pull/61401) - \[[`b5fe481415`](https://github.com/nodejs/node/commit/b5fe481415)] - **benchmark**: use boolean options in benchmark tests (SeokhunEom) [#&#8203;60129](https://github.com/nodejs/node/pull/60129) - \[[`fa9faacacb`](https://github.com/nodejs/node/commit/fa9faacacb)] - **benchmark**: allow boolean option values (SeokhunEom) [#&#8203;60129](https://github.com/nodejs/node/pull/60129) - \[[`ba8714ac21`](https://github.com/nodejs/node/commit/ba8714ac21)] - **benchmark**: fix incorrect base64 input in byteLength benchmark (semimikoh) [#&#8203;60841](https://github.com/nodejs/node/pull/60841) - \[[`53596de876`](https://github.com/nodejs/node/commit/53596de876)] - **benchmark**: use typescript for import cjs benchmark (Joyee Cheung) [#&#8203;60663](https://github.com/nodejs/node/pull/60663) - \[[`e8930e9d7c`](https://github.com/nodejs/node/commit/e8930e9d7c)] - **benchmark**: focus on import.meta intialization in import-meta benchmark (Joyee Cheung) [#&#8203;60603](https://github.com/nodejs/node/pull/60603) - \[[`1155e412b1`](https://github.com/nodejs/node/commit/1155e412b1)] - **benchmark**: add per-suite setup option (Joyee Cheung) [#&#8203;60574](https://github.com/nodejs/node/pull/60574) - \[[`e01903d304`](https://github.com/nodejs/node/commit/e01903d304)] - **benchmark**: improve cpu.sh for safety and usability (Nam Yooseong) [#&#8203;60162](https://github.com/nodejs/node/pull/60162) - \[[`623a405747`](https://github.com/nodejs/node/commit/623a405747)] - **benchmark**: add benchmark for leaf source text modules (Joyee Cheung) [#&#8203;60205](https://github.com/nodejs/node/pull/60205) - \[[`7f5e7b9f7f`](https://github.com/nodejs/node/commit/7f5e7b9f7f)] - **benchmark**: add microbench on isInsideNodeModules (Chengzhong Wu) [#&#8203;60991](https://github.com/nodejs/node/pull/60991) - \[[`db132b85a8`](https://github.com/nodejs/node/commit/db132b85a8)] - **bootstrap**: initialize http proxy after user module loader setup (Joyee Cheung) [#&#8203;58938](https://github.com/nodejs/node/pull/58938) - \[[`66aab9f987`](https://github.com/nodejs/node/commit/66aab9f987)] - **buffer**: let Buffer.of use heap (Сковорода Никита Андреевич) [#&#8203;60503](https://github.com/nodejs/node/pull/60503) - \[[`c3cf00c671`](https://github.com/nodejs/node/commit/c3cf00c671)] - **buffer**: speed up concat via TypedArray#set (Gürgün Dayıoğlu) [#&#8203;60399](https://github.com/nodejs/node/pull/60399) - \[[`f6fad231e9`](https://github.com/nodejs/node/commit/f6fad231e9)] - **build**: skip sscache action on non-main branches (Joyee Cheung) [#&#8203;61790](https://github.com/nodejs/node/pull/61790) - \[[`2145f91f6b`](https://github.com/nodejs/node/commit/2145f91f6b)] - **build**: update android-patches/trap-handler.h.patch (Mo Luo) [#&#8203;60369](https://github.com/nodejs/node/pull/60369) - \[[`5b49759dd8`](https://github.com/nodejs/node/commit/5b49759dd8)] - **build**: update devcontainer.json to use paired nix env (Joyee Cheung) [#&#8203;61414](https://github.com/nodejs/node/pull/61414) - \[[`24724cde40`](https://github.com/nodejs/node/commit/24724cde40)] - **build**: fix misplaced comma in ldflags (hqzing) [#&#8203;61294](https://github.com/nodejs/node/pull/61294) - \[[`c57a19934e`](https://github.com/nodejs/node/commit/c57a19934e)] - **build**: fix crate vendor file checksums on windows (Chengzhong Wu) [#&#8203;61329](https://github.com/nodejs/node/pull/61329) - \[[`8659d7cd07`](https://github.com/nodejs/node/commit/8659d7cd07)] - **build**: fix inconsistent quoting in `Makefile` (Antoine du Hamel) [#&#8203;60511](https://github.com/nodejs/node/pull/60511) - \[[`44f339b315`](https://github.com/nodejs/node/commit/44f339b315)] - **build**: remove temporal updater (Chengzhong Wu) [#&#8203;61151](https://github.com/nodejs/node/pull/61151) - \[[`d60a6cebd5`](https://github.com/nodejs/node/commit/d60a6cebd5)] - **build**: update test-wpt-report to use NODE instead of OUT_NODE (Filip Skokan) [#&#8203;61024](https://github.com/nodejs/node/pull/61024) - \[[`34ccf187f5`](https://github.com/nodejs/node/commit/34ccf187f5)] - **build**: skip build-ci on actions with a separate test step (Chengzhong Wu) [#&#8203;61073](https://github.com/nodejs/node/pull/61073) - \[[`7b19e101a2`](https://github.com/nodejs/node/commit/7b19e101a2)] - **build**: run embedtest with node_g when BUILDTYPE=Debug (Chengzhong Wu) [#&#8203;60850](https://github.com/nodejs/node/pull/60850) - \[[`9408c4459f`](https://github.com/nodejs/node/commit/9408c4459f)] - **build**: upgrade Python linter ruff, add rules ASYNC,PERF (Christian Clauss) [#&#8203;59984](https://github.com/nodejs/node/pull/59984) - \[[`2166ec7f0f`](https://github.com/nodejs/node/commit/2166ec7f0f)] - **build**: use call command when calling python configure (Jacob Nichols) [#&#8203;60098](https://github.com/nodejs/node/pull/60098) - \[[`73ef70145d`](https://github.com/nodejs/node/commit/73ef70145d)] - **build**: remove V8_COMPRESS_POINTERS_IN_ISOLATE_CAGE defs (Joyee Cheung) [#&#8203;60296](https://github.com/nodejs/node/pull/60296) - \[[`7b93a65f27`](https://github.com/nodejs/node/commit/7b93a65f27)] - **build**: test on Python 3.14 (Christian Clauss) [#&#8203;59983](https://github.com/nodejs/node/pull/59983) - \[[`508ce6ec6c`](https://github.com/nodejs/node/commit/508ce6ec6c)] - **build, src**: fix include paths for vtune files (Rahul) [#&#8203;59999](https://github.com/nodejs/node/pull/59999) - \[[`c89d3cd570`](https://github.com/nodejs/node/commit/c89d3cd570)] - **build,tools**: fix addon build deadlock on errors (Vladimir Morozov) [#&#8203;61321](https://github.com/nodejs/node/pull/61321) - \[[`40904a0591`](https://github.com/nodejs/node/commit/40904a0591)] - **build,win**: update WinGet configurations to Python 3.14 (Mike McCready) [#&#8203;61431](https://github.com/nodejs/node/pull/61431) - \[[`6d6742e7db`](https://github.com/nodejs/node/commit/6d6742e7db)] - **child_process**: treat ipc length header as unsigned uint32 (Ryuhei Shima) [#&#8203;61344](https://github.com/nodejs/node/pull/61344) - \[[`6063d888fe`](https://github.com/nodejs/node/commit/6063d888fe)] - **cli**: mark --heapsnapshot-near-heap-limit as stable (Joyee Cheung) [#&#8203;60956](https://github.com/nodejs/node/pull/60956) - \[[`3d324a0f88`](https://github.com/nodejs/node/commit/3d324a0f88)] - **cluster**: fix port reuse between cluster (Ryuhei Shima) [#&#8203;60141](https://github.com/nodejs/node/pull/60141) - \[[`40a58709b4`](https://github.com/nodejs/node/commit/40a58709b4)] - **console**: optimize single-string logging (Gürgün Dayıoğlu) [#&#8203;60422](https://github.com/nodejs/node/pull/60422) - \[[`d950b151a2`](https://github.com/nodejs/node/commit/d950b151a2)] - **crypto**: update root certificates to NSS 3.119 (Node.js GitHub Bot) [#&#8203;61419](https://github.com/nodejs/node/pull/61419) - \[[`4f42f8c428`](https://github.com/nodejs/node/commit/4f42f8c428)] - **crypto**: update root certificates to NSS 3.117 (Node.js GitHub Bot) [#&#8203;60741](https://github.com/nodejs/node/pull/60741) - \[[`a87499ae25`](https://github.com/nodejs/node/commit/a87499ae25)] - **crypto**: ensure documented RSA-PSS saltLength default is used (Filip Skokan) [#&#8203;60662](https://github.com/nodejs/node/pull/60662) - \[[`8c65cc11e2`](https://github.com/nodejs/node/commit/8c65cc11e2)] - **crypto**: update root certificates to NSS 3.116 (Node.js GitHub Bot) [#&#8203;59956](https://github.com/nodejs/node/pull/59956) - \[[`91dc00a2c1`](https://github.com/nodejs/node/commit/91dc00a2c1)] - **debugger**: fix event listener leak in the run command (Joyee Cheung) [#&#8203;60464](https://github.com/nodejs/node/pull/60464) - \[[`0781bd3764`](https://github.com/nodejs/node/commit/0781bd3764)] - **deps**: V8: backport [`6a0a25a`](https://github.com/nodejs/node/commit/6a0a25abaed3) (Vivian Wang) [#&#8203;61688](https://github.com/nodejs/node/pull/61688) - \[[`0cf1f9c3e9`](https://github.com/nodejs/node/commit/0cf1f9c3e9)] - **deps**: update googletest to [`8508785`](https://github.com/nodejs/node/commit/85087857ad10bd407cd6ed2f52f7ea9752db621f) (Node.js GitHub Bot) [#&#8203;61417](https://github.com/nodejs/node/pull/61417) - \[[`521b4b1f07`](https://github.com/nodejs/node/commit/521b4b1f07)] - **deps**: update sqlite to 3.51.2 (Node.js GitHub Bot) [#&#8203;61339](https://github.com/nodejs/node/pull/61339) - \[[`58b9d219a3`](https://github.com/nodejs/node/commit/58b9d219a3)] - **deps**: update icu to 78.2 (Node.js GitHub Bot) [#&#8203;60523](https://github.com/nodejs/node/pull/60523) - \[[`cbc1e4306d`](https://github.com/nodejs/node/commit/cbc1e4306d)] - **deps**: update zlib to 1.3.1-e00f703 (Node.js GitHub Bot) [#&#8203;61135](https://github.com/nodejs/node/pull/61135) - \[[`db59c35ed8`](https://github.com/nodejs/node/commit/db59c35ed8)] - **deps**: update cjs-module-lexer to 2.2.0 (Node.js GitHub Bot) [#&#8203;61271](https://github.com/nodejs/node/pull/61271) - \[[`c18518ee3c`](https://github.com/nodejs/node/commit/c18518ee3c)] - **deps**: update nbytes to 0.1.2 (Node.js GitHub Bot) [#&#8203;61270](https://github.com/nodejs/node/pull/61270) - \[[`376df62d63`](https://github.com/nodejs/node/commit/376df62d63)] - **deps**: update timezone to 2025c (Node.js GitHub Bot) [#&#8203;61138](https://github.com/nodejs/node/pull/61138) - \[[`993e905302`](https://github.com/nodejs/node/commit/993e905302)] - **deps**: update simdjson to 4.2.4 (Node.js GitHub Bot) [#&#8203;61056](https://github.com/nodejs/node/pull/61056) - \[[`b72fd2a5d3`](https://github.com/nodejs/node/commit/b72fd2a5d3)] - **deps**: update googletest to [`065127f`](https://github.com/nodejs/node/commit/065127f1e4b46c5f14fc73cf8d323c221f9dc68e) (Node.js GitHub Bot) [#&#8203;61055](https://github.com/nodejs/node/pull/61055) - \[[`d765147405`](https://github.com/nodejs/node/commit/d765147405)] - **deps**: update sqlite to 3.51.1 (Node.js GitHub Bot) [#&#8203;60899](https://github.com/nodejs/node/pull/60899) - \[[`37abe2a7d2`](https://github.com/nodejs/node/commit/37abe2a7d2)] - **deps**: update zlib to 1.3.1-63d7e16 (Node.js GitHub Bot) [#&#8203;60898](https://github.com/nodejs/node/pull/60898) - \[[`97241fcb86`](https://github.com/nodejs/node/commit/97241fcb86)] - **deps**: update sqlite to 3.51.0 (Node.js GitHub Bot) [#&#8203;60614](https://github.com/nodejs/node/pull/60614) - \[[`3669c7b4f4`](https://github.com/nodejs/node/commit/3669c7b4f4)] - **deps**: update simdjson to 4.2.2 (Node.js GitHub Bot) [#&#8203;60740](https://github.com/nodejs/node/pull/60740) - \[[`9a056ec89c`](https://github.com/nodejs/node/commit/9a056ec89c)] - **deps**: update googletest to [`1b96fa1`](https://github.com/nodejs/node/commit/1b96fa13f549387b7549cc89e1a785cf143a1a50) (Node.js GitHub Bot) [#&#8203;60739](https://github.com/nodejs/node/pull/60739) - \[[`b5803b3ea0`](https://github.com/nodejs/node/commit/b5803b3ea0)] - **deps**: update minimatch to 10.1.1 (Node.js GitHub Bot) [#&#8203;60543](https://github.com/nodejs/node/pull/60543) - \[[`5bf99f3d46`](https://github.com/nodejs/node/commit/5bf99f3d46)] - **deps**: update cjs-module-lexer to 2.1.1 (Node.js GitHub Bot) [#&#8203;60646](https://github.com/nodejs/node/pull/60646) - \[[`801f187357`](https://github.com/nodejs/node/commit/801f187357)] - **deps**: update simdjson to 4.2.1 (Node.js GitHub Bot) [#&#8203;60644](https://github.com/nodejs/node/pull/60644) - \[[`03c16e5a4c`](https://github.com/nodejs/node/commit/03c16e5a4c)] - **deps**: update simdjson to 4.1.0 (Node.js GitHub Bot) [#&#8203;60542](https://github.com/nodejs/node/pull/60542) - \[[`2ebfc2ca56`](https://github.com/nodejs/node/commit/2ebfc2ca56)] - **deps**: update amaro to 1.1.5 (Node.js GitHub Bot) [#&#8203;60541](https://github.com/nodejs/node/pull/60541) - \[[`d24ba4fed6`](https://github.com/nodejs/node/commit/d24ba4fed6)] - **deps**: update simdjson to 4.0.7 (Node.js GitHub Bot) [#&#8203;59883](https://github.com/nodejs/node/pull/59883) - \[[`9480a139bf`](https://github.com/nodejs/node/commit/9480a139bf)] - **deps**: update googletest to [`279f847`](https://github.com/nodejs/node/commit/279f847) (Node.js GitHub Bot) [#&#8203;60219](https://github.com/nodejs/node/pull/60219) - \[[`635e67379e`](https://github.com/nodejs/node/commit/635e67379e)] - **deps**: update archs files for openssl-3.5.5 (Node.js GitHub Bot) [#&#8203;61547](https://github.com/nodejs/node/pull/61547) - \[[`c7b774047d`](https://github.com/nodejs/node/commit/c7b774047d)] - **deps**: upgrade openssl sources to openssl-3.5.5 (Node.js GitHub Bot) [#&#8203;61547](https://github.com/nodejs/node/pull/61547) - \[[`5b324d7d7f`](https://github.com/nodejs/node/commit/5b324d7d7f)] - **deps**: update corepack to 0.34.6 (Node.js GitHub Bot) [#&#8203;61510](https://github.com/nodejs/node/pull/61510) - \[[`eef8ba0667`](https://github.com/nodejs/node/commit/eef8ba0667)] - **deps**: update corepack to 0.34.5 (Node.js GitHub Bot) [#&#8203;60842](https://github.com/nodejs/node/pull/60842) - \[[`490f7c7fb1`](https://github.com/nodejs/node/commit/490f7c7fb1)] - **deps**: update corepack to 0.34.4 (Node.js GitHub Bot) [#&#8203;60643](https://github.com/nodejs/node/pull/60643) - \[[`66903ea3b3`](https://github.com/nodejs/node/commit/66903ea3b3)] - **deps**: update corepack to 0.34.2 (Node.js GitHub Bot) [#&#8203;60550](https://github.com/nodejs/node/pull/60550) - \[[`a2f0b69282`](https://github.com/nodejs/node/commit/a2f0b69282)] - **deps**: update corepack to 0.34.1 (Node.js GitHub Bot) [#&#8203;60314](https://github.com/nodejs/node/pull/60314) - \[[`c8044a48a6`](https://github.com/nodejs/node/commit/c8044a48a6)] - **deps**: V8: backport [`2e4c5cf`](https://github.com/nodejs/node/commit/2e4c5cf9b112) (Michaël Zasso) [#&#8203;60654](https://github.com/nodejs/node/pull/60654) - \[[`642f518198`](https://github.com/nodejs/node/commit/642f518198)] - **doc**: supported toolchain with Visual Studio 2022 only (Mike McCready) [#&#8203;61451](https://github.com/nodejs/node/pull/61451) - \[[`625f674487`](https://github.com/nodejs/node/commit/625f674487)] - **doc**: move Security-Team from TSC to SECURITY (Rafael Gonzaga) [#&#8203;61495](https://github.com/nodejs/node/pull/61495) - \[[`029e32f8ba`](https://github.com/nodejs/node/commit/029e32f8ba)] - **doc**: added `requestOCSP` option to `tls.connect` (ikeyan) [#&#8203;61064](https://github.com/nodejs/node/pull/61064) - \[[`68e33dfa89`](https://github.com/nodejs/node/commit/68e33dfa89)] - **doc**: restore [@&#8203;ChALkeR](https://github.com/ChALkeR) to collaborators (Сковорода Никита Андреевич) [#&#8203;61553](https://github.com/nodejs/node/pull/61553) - \[[`e016770d62`](https://github.com/nodejs/node/commit/e016770d62)] - **doc**: update IBM/Red Hat volunteers with dedicated project time (Beth Griggs) [#&#8203;61588](https://github.com/nodejs/node/pull/61588) - \[[`ec63954657`](https://github.com/nodejs/node/commit/ec63954657)] - **doc**: mention constructor comparison in assert.deepStrictEqual (Hamza Kargin) [#&#8203;60253](https://github.com/nodejs/node/pull/60253) - \[[`c8e1563a98`](https://github.com/nodejs/node/commit/c8e1563a98)] - **doc**: add CVE delay mention (Rafael Gonzaga) [#&#8203;61465](https://github.com/nodejs/node/pull/61465) - \[[`4b00cf2b54`](https://github.com/nodejs/node/commit/4b00cf2b54)] - **doc**: include OpenJSF handle for security stewards (Rafael Gonzaga) [#&#8203;61454](https://github.com/nodejs/node/pull/61454) - \[[`4b73bf5bc8`](https://github.com/nodejs/node/commit/4b73bf5bc8)] - **doc**: clarify process.argv\[1] behavior for -e/--eval (Jeevankumar S) [#&#8203;61366](https://github.com/nodejs/node/pull/61366) - \[[`d3151df4b3`](https://github.com/nodejs/node/commit/d3151df4b3)] - **doc**: remove Windows Dev Home instructions from BUILDING (Mike McCready) [#&#8203;61434](https://github.com/nodejs/node/pull/61434) - \[[`2323462e35`](https://github.com/nodejs/node/commit/2323462e35)] - **doc**: clarify TypedArray properties on Buffer (Roman Reiss) [#&#8203;61355](https://github.com/nodejs/node/pull/61355) - \[[`6c5478c8b2`](https://github.com/nodejs/node/commit/6c5478c8b2)] - **doc**: note resume build should not be done on node-test-commit (Stewart X Addison) [#&#8203;61373](https://github.com/nodejs/node/pull/61373) - \[[`ba4a043103`](https://github.com/nodejs/node/commit/ba4a043103)] - **doc**: refine WebAssembly error documentation (sangwook) [#&#8203;61382](https://github.com/nodejs/node/pull/61382) - \[[`cd315ea589`](https://github.com/nodejs/node/commit/cd315ea589)] - **doc**: add deprecation history for url.parse (Eng Zer Jun) [#&#8203;61389](https://github.com/nodejs/node/pull/61389) - \[[`42db0c392d`](https://github.com/nodejs/node/commit/42db0c392d)] - **doc**: add marco and rafael in last sec release (Marco Ippolito) [#&#8203;61383](https://github.com/nodejs/node/pull/61383) - \[[`4c3b680fc7`](https://github.com/nodejs/node/commit/4c3b680fc7)] - **doc**: packages: example of private import switch to internal (coderaiser) [#&#8203;61343](https://github.com/nodejs/node/pull/61343) - \[[`684d15e421`](https://github.com/nodejs/node/commit/684d15e421)] - **doc**: add esm and cjs examples to node:v8 (Alfredo González) [#&#8203;61328](https://github.com/nodejs/node/pull/61328) - \[[`c3f9c7a7d9`](https://github.com/nodejs/node/commit/c3f9c7a7d9)] - **doc**: added 'secure' event to tls.TLSSocket (ikeyan) [#&#8203;61066](https://github.com/nodejs/node/pull/61066) - \[[`aa9acad5ca`](https://github.com/nodejs/node/commit/aa9acad5ca)] - **doc**: restore [@&#8203;watilde](https://github.com/watilde) to collaborators (Daijiro Wachi) [#&#8203;61350](https://github.com/nodejs/node/pull/61350) - \[[`9cafec084e`](https://github.com/nodejs/node/commit/9cafec084e)] - **doc**: run license-builder (github-actions\[bot]) [#&#8203;61348](https://github.com/nodejs/node/pull/61348) - \[[`cdb12ccbc6`](https://github.com/nodejs/node/commit/cdb12ccbc6)] - **doc**: document ALPNCallback option for TLSSocket constructor (ikeyan) [#&#8203;61331](https://github.com/nodejs/node/pull/61331) - \[[`461c5e65c5`](https://github.com/nodejs/node/commit/461c5e65c5)] - **doc**: update MDN links (Livia Medeiros) [#&#8203;61062](https://github.com/nodejs/node/pull/61062) - \[[`dde45baeab`](https://github.com/nodejs/node/commit/dde45baeab)] - **doc**: add documentation for process.traceProcessWarnings (Alireza Ebrahimkhani) [#&#8203;53641](https://github.com/nodejs/node/pull/53641) - \[[`59a7aeec92`](https://github.com/nodejs/node/commit/59a7aeec92)] - **doc**: fix filename typo (Hardanish Singh) [#&#8203;61297](https://github.com/nodejs/node/pull/61297) - \[[`9a0a40d1ed`](https://github.com/nodejs/node/commit/9a0a40d1ed)] - **doc**: fix typos and grammar in `BUILDING.md` & `onboarding.md` (Hardanish Singh) [#&#8203;61267](https://github.com/nodejs/node/pull/61267) - \[[`dca7005f9d`](https://github.com/nodejs/node/commit/dca7005f9d)] - **doc**: mention --newVersion release script (Rafael Gonzaga) [#&#8203;61255](https://github.com/nodejs/node/pull/61255) - \[[`c0dc8ddf85`](https://github.com/nodejs/node/commit/c0dc8ddf85)] - **doc**: correct typo in api contributing doc (Mike McCready) [#&#8203;61260](https://github.com/nodejs/node/pull/61260) - \[[`066af38fe1`](https://github.com/nodejs/node/commit/066af38fe1)] - **doc**: add PR-URL requirement for security backports (Rafael Gonzaga) [#&#8203;61256](https://github.com/nodejs/node/pull/61256) - \[[`71dd46bd0c`](https://github.com/nodejs/node/commit/71dd46bd0c)] - **doc**: add reusePort error behavior to net module (mag123c) [#&#8203;61250](https://github.com/nodejs/node/pull/61250) - \[[`f6abe3ba33`](https://github.com/nodejs/node/commit/f6abe3ba33)] - **doc**: note corepack package removal in distribution doc (Mike McCready) [#&#8203;61207](https://github.com/nodejs/node/pull/61207) - \[[`9059d49d8c`](https://github.com/nodejs/node/commit/9059d49d8c)] - **doc**: fix tls.connect() timeout documentation (Azad Gupta) [#&#8203;61079](https://github.com/nodejs/node/pull/61079) - \[[`e7b34b76b0`](https://github.com/nodejs/node/commit/e7b34b76b0)] - **doc**: missing `passed`, `error` and `passed` properties on `TestContext` (Xavier Stouder) [#&#8203;61185](https://github.com/nodejs/node/pull/61185) - \[[`9ae2dcfbb6`](https://github.com/nodejs/node/commit/9ae2dcfbb6)] - **doc**: clarify threat model for application-level API exposure (Rafael Gonzaga) [#&#8203;61184](https://github.com/nodejs/node/pull/61184) - \[[`9902331a7c`](https://github.com/nodejs/node/commit/9902331a7c)] - **doc**: correct options for net.Socket class and socket.connect (Xavier Stouder) [#&#8203;61179](https://github.com/nodejs/node/pull/61179) - \[[`a80122d2fe`](https://github.com/nodejs/node/commit/a80122d2fe)] - **doc**: document error event on readline InterfaceConstructor (Xavier Stouder) [#&#8203;61170](https://github.com/nodejs/node/pull/61170) - \[[`38d73c9cfa`](https://github.com/nodejs/node/commit/38d73c9cfa)] - **doc**: add a smooth scrolling effect to the sidebar (btea) [#&#8203;59007](https://github.com/nodejs/node/pull/59007) - \[[`95c51fa984`](https://github.com/nodejs/node/commit/95c51fa984)] - **doc**: correct invalid collaborator profile (JJ) [#&#8203;61091](https://github.com/nodejs/node/pull/61091) - \[[`f5a044763c`](https://github.com/nodejs/node/commit/f5a044763c)] - **doc**: exclude compile-time flag features from security policy (Matteo Collina) [#&#8203;61109](https://github.com/nodejs/node/pull/61109) - \[[`b6ebf2cd53`](https://github.com/nodejs/node/commit/b6ebf2cd53)] - **doc**: add [@&#8203;avivkeller](https://github.com/avivkeller) to collaborators (Aviv Keller) [#&#8203;61115](https://github.com/nodejs/node/pull/61115) - \[[`35854f424d`](https://github.com/nodejs/node/commit/35854f424d)] - **doc**: add gurgunday to collaborators (Gürgün Dayıoğlu) [#&#8203;61094](https://github.com/nodejs/node/pull/61094) - \[[`4932322c29`](https://github.com/nodejs/node/commit/4932322c29)] - **doc**: add File modes cross-references in fs methods (Mohit Raj Saxena) [#&#8203;60286](https://github.com/nodejs/node/pull/60286) - \[[`c84904e047`](https://github.com/nodejs/node/commit/c84904e047)] - **doc**: add missing `zstd` to mjs example of zlib (Deokjin Kim) [#&#8203;60915](https://github.com/nodejs/node/pull/60915) - \[[`e615b9e2f2`](https://github.com/nodejs/node/commit/e615b9e2f2)] - **doc**: clarify fileURLToPath security considerations (Rafael Gonzaga) [#&#8203;60887](https://github.com/nodejs/node/pull/60887) - \[[`99e384e6d4`](https://github.com/nodejs/node/commit/99e384e6d4)] - **doc**: replace column with columnNumber in example of `util.getCallSites` (Deokjin Kim) [#&#8203;60881](https://github.com/nodejs/node/pull/60881) - \[[`9351bb4d02`](https://github.com/nodejs/node/commit/9351bb4d02)] - **doc**: correct spelling in BUILDING.md (Rich Trott) [#&#8203;60875](https://github.com/nodejs/node/pull/60875) - \[[`e1f6e7fc4d`](https://github.com/nodejs/node/commit/e1f6e7fc4d)] - **doc**: update debuglog examples to use 'foo-bar' instead of 'foo' (xiaoyao) [#&#8203;60867](https://github.com/nodejs/node/pull/60867) - \[[`ccbb2d7300`](https://github.com/nodejs/node/commit/ccbb2d7300)] - **doc**: fix typos in changelogs (Rich Trott) [#&#8203;60855](https://github.com/nodejs/node/pull/60855) - \[[`1cb2fe8b35`](https://github.com/nodejs/node/commit/1cb2fe8b35)] - **doc**: mark module.register as active development (Chengzhong Wu) [#&#8203;60849](https://github.com/nodejs/node/pull/60849) - \[[`ceeb4968a6`](https://github.com/nodejs/node/commit/ceeb4968a6)] - **doc**: add fullName property to SuiteContext (PaulyBearCoding) [#&#8203;60762](https://github.com/nodejs/node/pull/60762) - \[[`56155909dd`](https://github.com/nodejs/node/commit/56155909dd)] - **doc**: keep sidebar module visible when navigating docs (Botato) [#&#8203;60410](https://github.com/nodejs/node/pull/60410) - \[[`6b637763d5`](https://github.com/nodejs/node/commit/6b637763d5)] - **doc**: correct concurrency wording in test() documentation (Azad Gupta) [#&#8203;60773](https://github.com/nodejs/node/pull/60773) - \[[`7183e8ffa1`](https://github.com/nodejs/node/commit/7183e8ffa1)] - **doc**: clarify that CQ only picks up PRs targeting `main` (René) [#&#8203;60731](https://github.com/nodejs/node/pull/60731) - \[[`d5d94303be`](https://github.com/nodejs/node/commit/d5d94303be)] - **doc**: clarify license section and add contributor note (KaleruMadhu) [#&#8203;60590](https://github.com/nodejs/node/pull/60590) - \[[`e0210c8f53`](https://github.com/nodejs/node/commit/e0210c8f53)] - **doc**: correct tls ALPNProtocols types (René) [#&#8203;60143](https://github.com/nodejs/node/pull/60143) - \[[`eff87b498a`](https://github.com/nodejs/node/commit/eff87b498a)] - **doc**: remove mention of SMS 2FA (Antoine du Hamel) [#&#8203;60707](https://github.com/nodejs/node/pull/60707) - \[[`e77ef94a51`](https://github.com/nodejs/node/commit/e77ef94a51)] - **doc**: `domain.add()` does not accept timer objects (René) [#&#8203;60675](https://github.com/nodejs/node/pull/60675) - \[[`4fe19c95ea`](https://github.com/nodejs/node/commit/4fe19c95ea)] - **doc**: update Collaborators list to reflect hybrist handle change (Antoine du Hamel) [#&#8203;60650](https://github.com/nodejs/node/pull/60650) - \[[`eece59b6ce`](https://github.com/nodejs/node/commit/eece59b6ce)] - **doc**: fix linter issues (Antoine du Hamel) [#&#8203;60636](https://github.com/nodejs/node/pull/60636) - \[[`6e17e596e4`](https://github.com/nodejs/node/commit/6e17e596e4)] - **doc**: correct values/references for buffer.kMaxLength (René) [#&#8203;60305](https://github.com/nodejs/node/pull/60305) - \[[`ac327ae9a7`](https://github.com/nodejs/node/commit/ac327ae9a7)] - **doc**: recommend events.once to manage 'close' event (Dan Fabulich) [#&#8203;60017](https://github.com/nodejs/node/pull/60017) - \[[`d9b149ea42`](https://github.com/nodejs/node/commit/d9b149ea42)] - **doc**: highlight module loading difference between import and require (Ajay A) [#&#8203;59815](https://github.com/nodejs/node/pull/59815) - \[[`f6d62cb22c`](https://github.com/nodejs/node/commit/f6d62cb22c)] - **doc**: fix typo in `process.unref` documentation (우혁) [#&#8203;59698](https://github.com/nodejs/node/pull/59698) - \[[`6d5078b196`](https://github.com/nodejs/node/commit/6d5078b196)] - **doc**: add some entries to `glossary.md` (Mohataseem Khan) [#&#8203;59277](https://github.com/nodejs/node/pull/59277) - \[[`b0a5820dea`](https://github.com/nodejs/node/commit/b0a5820dea)] - **doc**: improve agent.createConnection docs for http and https agents (JaeHo Jang) [#&#8203;58205](https://github.com/nodejs/node/pull/58205) - \[[`b5db02fe67`](https://github.com/nodejs/node/commit/b5db02fe67)] - **doc**: fix pseudo code in modules.md (chirsz) [#&#8203;57677](https://github.com/nodejs/node/pull/57677) - \[[`e9b912d481`](https://github.com/nodejs/node/commit/e9b912d481)] - **doc**: add missing variable in code snippet (Koushil Mankali) [#&#8203;55478](https://github.com/nodejs/node/pull/55478) - \[[`44c06c7812`](https://github.com/nodejs/node/commit/44c06c7812)] - **doc**: add missing word in `single-executable-applications.md` (Konstantin Tsabolov) [#&#8203;53864](https://github.com/nodejs/node/pull/53864) - \[[`482b43f160`](https://github.com/nodejs/node/commit/482b43f160)] - **doc**: fix typo in http.md (Michael Solomon) [#&#8203;59354](https://github.com/nodejs/node/pull/59354) - \[[`cd323bc718`](https://github.com/nodejs/node/commit/cd323bc718)] - **doc**: update devcontainer.json and add documentation (Joyee Cheung) [#&#8203;60472](https://github.com/nodejs/node/pull/60472) - \[[`c7c70f3a16`](https://github.com/nodejs/node/commit/c7c70f3a16)] - **doc**: add haramj as triager (Haram Jeong) [#&#8203;60348](https://github.com/nodejs/node/pull/60348) - \[[`04b8c4d14e`](https://github.com/nodejs/node/commit/04b8c4d14e)] - **doc**: clarify require(esm) description (dynst) [#&#8203;60520](https://github.com/nodejs/node/pull/60520) - \[[`de382dc832`](https://github.com/nodejs/node/commit/de382dc832)] - **doc**: instantiate resolver object (Donghoon Nam) [#&#8203;60476](https://github.com/nodejs/node/pull/60476) - \[[`b6845ce460`](https://github.com/nodejs/node/commit/b6845ce460)] - **doc**: clarify --use-system-ca support status (Joyee Cheung) [#&#8203;60340](https://github.com/nodejs/node/pull/60340) - \[[`0894dae9bc`](https://github.com/nodejs/node/commit/0894dae9bc)] - **doc**: add missing CAA type to dns.resolveAny() & dnsPromises.resolveAny() (Jimmy Leung) [#&#8203;58899](https://github.com/nodejs/node/pull/58899) - \[[`c86a69f692`](https://github.com/nodejs/node/commit/c86a69f692)] - **doc**: use `any` for `worker_threads.Worker` 'error' event argument `err` (Jonas Geiler) [#&#8203;60300](https://github.com/nodejs/node/pull/60300) - \[[`0c5031e233`](https://github.com/nodejs/node/commit/0c5031e233)] - **doc**: update decorator documentation to reflect actual policy (Muhammad Salman Aziz) [#&#8203;60288](https://github.com/nodejs/node/pull/60288) - \[[`b01f710175`](https://github.com/nodejs/node/commit/b01f710175)] - **doc**: document wildcard supported by tools/test.py (Joyee Cheung) [#&#8203;60265](https://github.com/nodejs/node/pull/60265) - \[[`b4524dabcc`](https://github.com/nodejs/node/commit/b4524dabcc)] - **doc**: fix `blob.bytes()` heading level (XTY) [#&#8203;60252](https://github.com/nodejs/node/pull/60252) - \[[`5df02776e3`](https://github.com/nodejs/node/commit/5df02776e3)] - **doc**: fix not working code example in vm docs (Artur Gawlik) [#&#8203;60224](https://github.com/nodejs/node/pull/60224) - \[[`6a4359a0b5`](https://github.com/nodejs/node/commit/6a4359a0b5)] - **doc**: improve code snippet alternative of url.parse() using WHATWG URL (Steven) [#&#8203;60209](https://github.com/nodejs/node/pull/60209) - \[[`ad06bee70d`](https://github.com/nodejs/node/commit/ad06bee70d)] - **doc**: use markdown when branch-diff major release (Rafael Gonzaga) [#&#8203;60179](https://github.com/nodejs/node/pull/60179) - \[[`c0d4b11ed4`](https://github.com/nodejs/node/commit/c0d4b11ed4)] - **doc**: update teams in collaborator-guide.md and add links (Bart Louwers) [#&#8203;60065](https://github.com/nodejs/node/pull/60065) - \[[`20b5ffcac3`](https://github.com/nodejs/node/commit/20b5ffcac3)] - **doc**: update previous version links in BUILDING (Mike McCready) [#&#8203;61457](https://github.com/nodejs/node/pull/61457) - \[[`de345ea3a3`](https://github.com/nodejs/node/commit/de345ea3a3)] - **doc**: correct description of `error.stack` accessor behavior (René) [#&#8203;61090](https://github.com/nodejs/node/pull/61090) - \[[`d8418d9de7`](https://github.com/nodejs/node/commit/d8418d9de7)] - **doc**: fix link in `--env-file=file` section (N. Bighetti) [#&#8203;60563](https://github.com/nodejs/node/pull/60563) - \[[`1107bda21e`](https://github.com/nodejs/node/commit/1107bda21e)] - **doc**: fix v22 changelog after security release (Marco Ippolito) [#&#8203;61371](https://github.com/nodejs/node/pull/61371) - \[[`42aab9469a`](https://github.com/nodejs/node/commit/42aab9469a)] - **doc**: add missing history entry for `sqlite.md` (Antoine du Hamel) [#&#8203;60607](https://github.com/nodejs/node/pull/60607) - \[[`deb6d5deff`](https://github.com/nodejs/node/commit/deb6d5deff)] - **doc, module**: change async customization hooks to experimental (Gerhard Stöbich) [#&#8203;60302](https://github.com/nodejs/node/pull/60302) - \[[`c659add7d1`](https://github.com/nodejs/node/commit/c659add7d1)] - **doc,src,lib**: clarify experimental status of Web Storage support (Antoine du Hamel) [#&#8203;60708](https://github.com/nodejs/node/pull/60708) - \[[`dda95e91b9`](https://github.com/nodejs/node/commit/dda95e91b9)] - **esm**: avoid throw when module specifier is not url (Craig Macomber (Microsoft)) [#&#8203;61000](https://github.com/nodejs/node/pull/61000) - \[[`912945be89`](https://github.com/nodejs/node/commit/912945be89)] - **events**: remove redundant todo (Gürgün Dayıoğlu) [#&#8203;60595](https://github.com/nodejs/node/pull/60595) - \[[`22e156eb10`](https://github.com/nodejs/node/commit/22e156eb10)] - **events**: remove eventtarget custom inspect branding (Efe) [#&#8203;61128](https://github.com/nodejs/node/pull/61128) - \[[`df6fd9b03f`](https://github.com/nodejs/node/commit/df6fd9b03f)] - **fs**: remove duplicate getValidatedPath calls (Mert Can Altin) [#&#8203;61359](https://github.com/nodejs/node/pull/61359) - \[[`6ea3e4d850`](https://github.com/nodejs/node/commit/6ea3e4d850)] - **fs**: fix errorOnExist behavior for directory copy in fs.cp (Nicholas Paun) [#&#8203;60946](https://github.com/nodejs/node/pull/60946) - \[[`dd918b9980`](https://github.com/nodejs/node/commit/dd918b9980)] - **fs**: fix ENOTDIR in globSync when file is treated as dir (sangwook) [#&#8203;61259](https://github.com/nodejs/node/pull/61259) - \[[`4908e67ba0`](https://github.com/nodejs/node/commit/4908e67ba0)] - **fs**: remove duplicate fd validation in sync functions (Mert Can Altin) [#&#8203;61361](https://github.com/nodejs/node/pull/61361) - \[[`4a27bce3d9`](https://github.com/nodejs/node/commit/4a27bce3d9)] - **fs**: detect dot files when using globstar (Robin van Wijngaarden) [#&#8203;61012](https://github.com/nodejs/node/pull/61012) - \[[`b0186ff65c`](https://github.com/nodejs/node/commit/b0186ff65c)] - **fs**: validate statfs path (Efe) [#&#8203;61230](https://github.com/nodejs/node/pull/61230) - \[[`6689775023`](https://github.com/nodejs/node/commit/6689775023)] - **gyp**: aix: change gcc version detection so CXX="ccache g++" works (Stewart X Addison) [#&#8203;61464](https://github.com/nodejs/node/pull/61464) - \[[`5c4f4db663`](https://github.com/nodejs/node/commit/5c4f4db663)] - **http**: fix rawHeaders exceeding maxHeadersCount limit (Max Harari) [#&#8203;61285](https://github.com/nodejs/node/pull/61285) - \[[`7599e2eccd`](https://github.com/nodejs/node/commit/7599e2eccd)] - **http**: replace startsWith with strict equality (btea) [#&#8203;59394](https://github.com/nodejs/node/pull/59394) - \[[`99a85213bf`](https://github.com/nodejs/node/commit/99a85213bf)] - **http**: lazy allocate cookies array (Robert Nagy) [#&#8203;59734](https://github.com/nodejs/node/pull/59734) - \[[`7669e6a5ad`](https://github.com/nodejs/node/commit/7669e6a5ad)] - **http**: fix http client leaky with double response (theanarkh) [#&#8203;60062](https://github.com/nodejs/node/pull/60062) - \[[`f074c126a8`](https://github.com/nodejs/node/commit/f074c126a8)] - **http,https**: fix double ERR_PROXY_TUNNEL emission (Shima Ryuhei) [#&#8203;60699](https://github.com/nodejs/node/pull/60699) - \[[`d8ac368363`](https://github.com/nodejs/node/commit/d8ac368363)] - **http2**: add diagnostics channels for client stream request body (Darshan Sen) [#&#8203;60480](https://github.com/nodejs/node/pull/60480) - \[[`e26a7e464d`](https://github.com/nodejs/node/commit/e26a7e464d)] - **http2**: rename variable to additionalPseudoHeaders (Tobias Nießen) [#&#8203;60208](https://github.com/nodejs/node/pull/60208) - \[[`5df634f46e`](https://github.com/nodejs/node/commit/5df634f46e)] - **http2**: validate initialWindowSize per HTTP/2 spec (Matteo Collina) [#&#8203;61402](https://github.com/nodejs/node/pull/61402) - \[[`2ccc9a6205`](https://github.com/nodejs/node/commit/2ccc9a6205)] - **http2**: do not crash on mismatched ping buffer length (René) [#&#8203;60135](https://github.com/nodejs/node/pull/60135) - \[[`3e68a5f78a`](https://github.com/nodejs/node/commit/3e68a5f78a)] - **inspector**: inspect HTTP response body (Chengzhong Wu) [#&#8203;60572](https://github.com/nodejs/node/pull/60572) - \[[`a86ffa9a5d`](https://github.com/nodejs/node/commit/a86ffa9a5d)] - **inspector**: add network payload buffer size limits (Chengzhong Wu) [#&#8203;60236](https://github.com/nodejs/node/pull/60236) - \[[`ea60ef5d74`](https://github.com/nodejs/node/commit/ea60ef5d74)] - **lib**: fix typo in `util.js` comment (Taejin Kim) [#&#8203;61365](https://github.com/nodejs/node/pull/61365) - \[[`9d8d9322a4`](https://github.com/nodejs/node/commit/9d8d9322a4)] - **lib**: fix TypeScript support check in jitless mode (sangwook) [#&#8203;61382](https://github.com/nodejs/node/pull/61382) - \[[`fc26f5c78f`](https://github.com/nodejs/node/commit/fc26f5c78f)] - **lib**: gbk decoder is gb18030 decoder per spec (Сковорода Никита Андреевич) [#&#8203;61099](https://github.com/nodejs/node/pull/61099) - \[[`3b87030012`](https://github.com/nodejs/node/commit/3b87030012)] - **lib**: enforce use of `URLParse` (Antoine du Hamel) [#&#8203;61016](https://github.com/nodejs/node/pull/61016) - \[[`2a7479d4fc`](https://github.com/nodejs/node/commit/2a7479d4fc)] - **lib**: use `FastBuffer` for empty buffer allocation (Gürgün Dayıoğlu) [#&#8203;60558](https://github.com/nodejs/node/pull/60558) - \[[`7cf4c43582`](https://github.com/nodejs/node/commit/7cf4c43582)] - **lib**: fix constructor in \_errnoException stack tree (SeokHun) [#&#8203;60156](https://github.com/nodejs/node/pull/60156) - \[[`f9d87fbfaa`](https://github.com/nodejs/node/commit/f9d87fbfaa)] - **lib**: fix typo in QuicSessionStats (SeokHun) [#&#8203;60155](https://github.com/nodejs/node/pull/60155) - \[[`8d26ccc652`](https://github.com/nodejs/node/commit/8d26ccc652)] - **lib**: remove redundant destroyHook checks (Gürgün Dayıoğlu) [#&#8203;60120](https://github.com/nodejs/node/pull/60120) - \[[`705832a1be`](https://github.com/nodejs/node/commit/705832a1be)] - **lib,src**: isInsideNodeModules should test on the first non-internal frame (Chengzhong Wu) [#&#8203;60991](https://github.com/nodejs/node/pull/60991) - \[[`6f39ad190b`](https://github.com/nodejs/node/commit/6f39ad190b)] - **meta**: do not fast-track npm updates (Antoine du Hamel) [#&#8203;61475](https://github.com/nodejs/node/pull/61475) - \[[`a6a0ff9486`](https://github.com/nodejs/node/commit/a6a0ff9486)] - **meta**: fix typos in issue template config (Daijiro Wachi) [#&#8203;61399](https://github.com/nodejs/node/pull/61399) - \[[`ec88c9b378`](https://github.com/nodejs/node/commit/ec88c9b378)] - **meta**: label v8 module PRs (René) [#&#8203;61325](https://github.com/nodejs/node/pull/61325) - \[[`83143835de`](https://github.com/nodejs/node/commit/83143835de)] - **meta**: bump step-security/harden-runner from 2.13.2 to 2.14.0 (dependabot\[bot]) [#&#8203;61245](https://github.com/nodejs/node/pull/61245) - \[[`0802dc663a`](https://github.com/nodejs/node/commit/0802dc663a)] - **meta**: bump actions/setup-node from 6.0.0 to 6.1.0 (dependabot\[bot]) [#&#8203;61244](https://github.com/nodejs/node/pull/61244) - \[[`587db55796`](https://github.com/nodejs/node/commit/587db55796)] - **meta**: bump actions/cache from 4.3.0 to 5.0.1 (dependabot\[bot]) [#&#8203;61243](https://github.com/nodejs/node/pull/61243) - \[[`262c9d37a6`](https://github.com/nodejs/node/commit/262c9d37a6)] - **meta**: bump github/codeql-action from 4.31.6 to 4.31.9 (dependabot\[bot]) [#&#8203;61241](https://github.com/nodejs/node/pull/61241) - \[[`d9763b5afd`](https://github.com/nodejs/node/commit/d9763b5afd)] - **meta**: bump codecov/codecov-action from 5.5.1 to 5.5.2 (dependabot\[bot]) [#&#8203;61240](https://github.com/nodejs/node/pull/61240) - \[[`0af73d1811`](https://github.com/nodejs/node/commit/0af73d1811)] - **meta**: bump peter-evans/create-pull-request from 7.0.9 to 8.0.0 (dependabot\[bot]) [#&#8203;61237](https://github.com/nodejs/node/pull/61237) - \[[`8be6afd239`](https://github.com/nodejs/node/commit/8be6afd239)] - **meta**: move lukekarrys to emeritus (Node.js GitHub Bot) [#&#8203;60985](https://github.com/nodejs/node/pull/60985) - \[[`c497de5c74`](https://github.com/nodejs/node/commit/c497de5c74)] - **meta**: bump actions/setup-python from 6.0.0 to 6.1.0 (dependabot\[bot]) [#&#8203;60927](https://github.com/nodejs/node/pull/60927) - \[[`774920f169`](https://github.com/nodejs/node/commit/774920f169)] - **meta**: bump github/codeql-action from 4.31.3 to 4.31.6 (dependabot\[bot]) [#&#8203;60926](https://github.com/nodejs/node/pull/60926) - \[[`ef3b1e5991`](https://github.com/nodejs/node/commit/ef3b1e5991)] - **meta**: bump peter-evans/create-pull-request from 7.0.8 to 7.0.9 (dependabot\[bot]) [#&#8203;60924](https://github.com/nodejs/node/pull/60924) - \[[`3ed667379f`](https://github.com/nodejs/node/commit/3ed667379f)] - **meta**: bump github/codeql-action from 4.31.2 to 4.31.3 (dependabot\[bot]) [#&#8203;60770](https://github.com/nodejs/node/pull/60770) - \[[`7c0cefb126`](https://github.com/nodejs/node/commit/7c0cefb126)] - **meta**: bump step-security/harden-runner from 2.13.1 to 2.13.2 (dependabot\[bot]) [#&#8203;60769](https://github.com/nodejs/node/pull/60769) - \[[`5c6a076e5d`](https://github.com/nodejs/node/commit/5c6a076e5d)] - **meta**: add Renegade334 to collaborators (Renegade334) [#&#8203;60714](https://github.com/nodejs/node/pull/60714) - \[[`4f4dda2a18`](https://github.com/nodejs/node/commit/4f4dda2a18)] - **meta**: bump actions/download-artifact from 5.0.0 to 6.0.0 (dependabot\[bot]) [#&#8203;60532](https://github.com/nodejs/node/pull/60532) - \[[`c436f8d57c`](https://github.com/nodejs/node/commit/c436f8d57c)] - **meta**: bump actions/upload-artifact from 4.6.2 to 5.0.0 (dependabot\[bot]) [#&#8203;60531](https://github.com/nodejs/node/pull/60531) - \[[`402d9f87a6`](https://github.com/nodejs/node/commit/402d9f87a6)] - **meta**: bump github/codeql-action from 3.30.5 to 4.31.2 (dependabot\[bot]) [#&#8203;60533](https://github.com/nodejs/node/pull/60533) - \[[`61be78e326`](https://github.com/nodejs/node/commit/61be78e326)] - **meta**: bump actions/setup-node from 5.0.0 to 6.0.0 (dependabot\[bot]) [#&#8203;60529](https://github.com/nodejs/node/pull/60529) - \[[`7e4164a623`](https://github.com/nodejs/node/commit/7e4164a623)] - **meta**: bump actions/stale from 10.0.0 to 10.1.0 (dependabot\[bot]) [#&#8203;60528](https://github.com/nodejs/node/pull/60528) - \[[`1bf6e1d010`](https://github.com/nodejs/node/commit/1bf6e1d010)] - **meta**: move one or more collaborators to emeritus (Node.js GitHub Bot) [#&#8203;60325](https://github.com/nodejs/node/pull/60325) - \[[`c66fc0e9cf`](https://github.com/nodejs/node/commit/c66fc0e9cf)] - **meta**: loop userland-migrations in deprecations (Chengzhong Wu) [#&#8203;60299](https://github.com/nodejs/node/pull/60299) - \[[`e4be0791e7`](https://github.com/nodejs/node/commit/e4be0791e7)] - **meta**: call `create-release-post.yml` post release (Aviv Keller) [#&#8203;60366](https://github.com/nodejs/node/pull/60366) - \[[`8674f6527f`](https://github.com/nodejs/node/commit/8674f6527f)] - **module**: preserve URL in the parent created by createRequire() (Joyee Cheung) [#&#8203;60974](https://github.com/nodejs/node/pull/60974) - \[[`41db87a975`](https://github.com/nodejs/node/commit/41db87a975)] - **msi**: fix WiX warnings (Stefan Stojanovic) [#&#8203;60251](https://github.com/nodejs/node/pull/60251) - \[[`884f313f40`](https://github.com/nodejs/node/commit/884f313f40)] - **node-api**: use Node-API in comments (Vladimir Morozov) [#&#8203;61320](https://github.com/nodejs/node/pull/61320) - \[[`375164190b`](https://github.com/nodejs/node/commit/375164190b)] - **node-api**: use local files for instanceof test (Vladimir Morozov) [#&#8203;60190](https://github.com/nodejs/node/pull/60190) - \[[`972a1107c0`](https://github.com/nodejs/node/commit/972a1107c0)] - **os**: freeze signals constant (Xavier Stouder) [#&#8203;61038](https://github.com/nodejs/node/pull/61038) - \[[`e992057ab7`](https://github.com/nodejs/node/commit/e992057ab7)] - **perf_hooks**: fix stack overflow error (Antoine du Hamel) [#&#8203;60084](https://github.com/nodejs/node/pull/60084) - \[[`0bb1814fdf`](https://github.com/nodejs/node/commit/0bb1814fdf)] - **repl**: fix pasting after moving the cursor to the left (Ruben Bridgewater) [#&#8203;60470](https://github.com/nodejs/node/pull/60470) - \[[`35a12fb996`](https://github.com/nodejs/node/commit/35a12fb996)] - **src**: replace `ranges::sort` for libc++13 compatibility on armhf (Rebroad) [#&#8203;61789](https://github.com/nodejs/node/pull/61789) - \[[`dbf00d4664`](https://github.com/nodejs/node/commit/dbf00d4664)] - **src**: add missing override specifier to Clean() (Tobias Nießen) [#&#8203;61429](https://github.com/nodejs/node/pull/61429) - \[[`140eba35d3`](https://github.com/nodejs/node/commit/140eba35d3)] - **src**: cache context lookup in vectored io loops (Mert Can Altin) [#&#8203;61387](https://github.com/nodejs/node/pull/61387) - \[[`93e7e1708b`](https://github.com/nodejs/node/commit/93e7e1708b)] - **src**: use C++ nullptr in webstorage (Tobias Nießen) [#&#8203;61407](https://github.com/nodejs/node/pull/61407) - \[[`ef868447bc`](https://github.com/nodejs/node/commit/ef868447bc)] - **src**: fix pointer alignment (jhofstee) [#&#8203;61336](https://github.com/nodejs/node/pull/61336) - \[[`a96256524c`](https://github.com/nodejs/node/commit/a96256524c)] - **src**: dump snapshot source with node:generate_default_snapshot_source (Joyee Cheung) [#&#8203;61101](https://github.com/nodejs/node/pull/61101) - \[[`ec051b9efd`](https://github.com/nodejs/node/commit/ec051b9efd)] - **src**: add HandleScope to edge loop in heap_utils (Mert Can Altin) [#&#8203;60885](https://github.com/nodejs/node/pull/60885) - \[[`41749eb5d6`](https://github.com/nodejs/node/commit/41749eb5d6)] - **src**: remove redundant CHECK (Tobias Nießen) [#&#8203;61130](https://github.com/nodejs/node/pull/61130) - \[[`57c81e5af3`](https://github.com/nodejs/node/commit/57c81e5af3)] - **src**: fix off-thread cert loading in bundled cert mode (Joyee Cheung) [#&#8203;60764](https://github.com/nodejs/node/pull/60764) - \[[`4b0616e024`](https://github.com/nodejs/node/commit/4b0616e024)] - **src**: handle DER decoding errors from system certificates (Joyee Cheung) [#&#8203;60787](https://github.com/nodejs/node/pull/60787) - \[[`93393371f9`](https://github.com/nodejs/node/commit/93393371f9)] - **src**: use static_cast instead of C-style cast (Michaël Zasso) [#&#8203;60868](https://github.com/nodejs/node/pull/60868) - \[[`900445b655`](https://github.com/nodejs/node/commit/900445b655)] - **src**: move Node-API version detection to where it is used (Anna Henningsen) [#&#8203;60512](https://github.com/nodejs/node/pull/60512) - \[[`8353a6da2a`](https://github.com/nodejs/node/commit/8353a6da2a)] - **src**: avoid C strings in more C++ exception throws (Anna Henningsen) [#&#8203;60592](https://github.com/nodejs/node/pull/60592) - \[[`27c860c51f`](https://github.com/nodejs/node/commit/27c860c51f)] - **src**: move `napi_addon_register_func` to `node_api_types.h` (Anna Henningsen) [#&#8203;60512](https://github.com/nodejs/node/pull/60512) - \[[`e0517752e7`](https://github.com/nodejs/node/commit/e0517752e7)] - **src**: remove unconditional NAPI_EXPERIMENTAL in node.h (Chengzhong Wu) [#&#8203;60345](https://github.com/nodejs/node/pull/60345) - \[[`21e2a52f8e`](https://github.com/nodejs/node/commit/21e2a52f8e)] - **src**: clean up generic counter implementation (Anna Henningsen) [#&#8203;60447](https://github.com/nodejs/node/pull/60447) - \[[`aed23cb8ca`](https://github.com/nodejs/node/commit/aed23cb8ca)] - **src**: add enum handle for ToStringHelper + formatting (Burkov Egor) [#&#8203;56829](https://github.com/nodejs/node/pull/56829) - \[[`2e93650ebc`](https://github.com/nodejs/node/commit/2e93650ebc)] - **src**: fix timing of snapshot serialize callback (Joyee Cheung) [#&#8203;60434](https://github.com/nodejs/node/pull/60434) - \[[`ece4acc18f`](https://github.com/nodejs/node/commit/ece4acc18f)] - **src**: add COUNT_GENERIC_USAGE utility for tests (Joyee Cheung) [#&#8203;60434](https://github.com/nodejs/node/pull/60434) - \[[`31c8e9d9ff`](https://github.com/nodejs/node/commit/31c8e9d9ff)] - **src**: use cached primordials_string (Sohyeon Kim) [#&#8203;60255](https://github.com/nodejs/node/pull/60255) - \[[`7f0ffddc14`](https://github.com/nodejs/node/commit/7f0ffddc14)] - **src**: implement Windows-1252 encoding support and update related tests (Mert Can Altin) [#&#8203;60893](https://github.com/nodejs/node/pull/60893) - \[[`c2ba56d6b2`](https://github.com/nodejs/node/commit/c2ba56d6b2)] - **src,permission**: fix permission.has on empty param (Rafael Gonzaga) [#&#8203;60674](https://github.com/nodejs/node/pull/60674) - \[[`e55a2b895a`](https://github.com/nodejs/node/commit/e55a2b895a)] - **src,permission**: add debug log on is_tree_granted (Rafael Gonzaga) [#&#8203;60668](https://github.com/nodejs/node/pull/60668) - \[[`902a78b43c`](https://github.com/nodejs/node/commit/902a78b43c)] - **stream**: fix isErrored/isWritable for WritableStreams (René) [#&#8203;60905](https://github.com/nodejs/node/pull/60905) - \[[`221b77cf41`](https://github.com/nodejs/node/commit/221b77cf41)] - **stream**: don't try to read more if reading (Robert Nagy) [#&#8203;60454](https://github.com/nodejs/node/pull/60454) - \[[`46d12d826f`](https://github.com/nodejs/node/commit/46d12d826f)] - **test**: skip strace test with shared openssl (Richard Lau) [#&#8203;61987](https://github.com/nodejs/node/pull/61987) - \[[`52e6b01a44`](https://github.com/nodejs/node/commit/52e6b01a44)] - **test**: mark `test-strace-openat-openssl` as flaky (Antoine du Hamel) [#&#8203;61921](https://github.com/nodejs/node/pull/61921) - \[[`4d7468d0e0`](https://github.com/nodejs/node/commit/4d7468d0e0)] - **test**: skip --build-sea tests on platforms where SEA is flaky (Joyee Cheung) [#&#8203;61504](https://github.com/nodejs/node/pull/61504) - \[[`f604b7ae67`](https://github.com/nodejs/node/commit/f604b7ae67)] - **test**: fix flaky debugger test (Ryuhei Shima) [#&#8203;58324](https://github.com/nodejs/node/pull/58324) - \[[`fc2dc4024b`](https://github.com/nodejs/node/commit/fc2dc4024b)] - **test**: ensure removeListener event fires for once() listeners (sangwook) [#&#8203;60137](https://github.com/nodejs/node/pull/60137) - \[[`5fba382816`](https://github.com/nodejs/node/commit/5fba382816)] - **test**: delay writing the files only on macOS (Luigi Pinca) [#&#8203;61532](https://github.com/nodejs/node/pull/61532) - \[[`85cc9e20e4`](https://github.com/nodejs/node/commit/85cc9e20e4)] - **test**: asserts that import.meta.resolve invokes sync loader hooks (Chengzhong Wu) [#&#8203;61158](https://github.com/nodejs/node/pull/61158) - \[[`13831685ca`](https://github.com/nodejs/node/commit/13831685ca)] - **test**: check util.parseArgs argv parsing with actual process execution (René) [#&#8203;61089](https://github.com/nodejs/node/pull/61089) - \[[`ec4b722cb8`](https://github.com/nodejs/node/commit/ec4b722cb8)] - **test**: remove unneccessary repl magic_mode tests (Dario Piotrowicz) [#&#8203;61053](https://github.com/nodejs/node/pull/61053) - \[[`5c811106bc`](https://github.com/nodejs/node/commit/5c811106bc)] - **test**: skip sea tests on riscv64 (Stewart X Addison) [#&#8203;61111](https://github.com/nodejs/node/pull/61111) - \[[`4e4a631c07`](https://github.com/nodejs/node/commit/4e4a631c07)] - **test**: mark stringbytes-external-max flaky on AIX (Stewart X Addison) [#&#8203;60995](https://github.com/nodejs/node/pull/60995) - \[[`9af0787043`](https://github.com/nodejs/node/commit/9af0787043)] - **test**: update test426 fixtures (Rich Trott) [#&#8203;60982](https://github.com/nodejs/node/pull/60982) - \[[`277f16d247`](https://github.com/nodejs/node/commit/277f16d247)] - **test**: skip SEA inspect test if inspector is not available (Livia Medeiros) [#&#8203;60872](https://github.com/nodejs/node/pull/60872) - \[[`7dfa8c96bf`](https://github.com/nodejs/node/commit/7dfa8c96bf)] - **test**: use `assert.match` for non-literal regexp tests (René) [#&#8203;60879](https://github.com/nodejs/node/pull/60879) - \[[`41e6cd8ce5`](https://github.com/nodejs/node/commit/41e6cd8ce5)] - **test**: fix embedtest in debug windows (Vladimir Morozov) [#&#8203;60806](https://github.com/nodejs/node/pull/60806) - \[[`f65147b226`](https://github.com/nodejs/node/commit/f65147b226)] - **test**: fix debug test crashes caused by sea tests (Vladimir Morozov) [#&#8203;60807](https://github.com/nodejs/node/pull/60807) - \[[`a93dff9e92`](https://github.com/nodejs/node/commit/a93dff9e92)] - **test**: replace deprecated regex test assertions in http trailers test (Aditya Chopra) [#&#8203;60831](https://github.com/nodejs/node/pull/60831) - \[[`f90d5b954f`](https://github.com/nodejs/node/commit/f90d5b954f)] - **test**: prefer major GC in cppgc-object teardown (sangwook) [#&#8203;60672](https://github.com/nodejs/node/pull/60672) - \[[`e1645cc78d`](https://github.com/nodejs/node/commit/e1645cc78d)] - **test**: skip test that cause timeout on IBM i (SRAVANI GUNDEPALLI) [#&#8203;60700](https://github.com/nodejs/node/pull/60700) - \[[`4f23eba22f`](https://github.com/nodejs/node/commit/4f23eba22f)] - **test**: limit the concurrency of WPTRunner for RISC-V (Levi Zim) [#&#8203;60591](https://github.com/nodejs/node/pull/60591) - \[[`c2bef6522b`](https://github.com/nodejs/node/commit/c2bef6522b)] - **test**: fix test-strace-openat-openssl for RISC-V (Levi Zim) [#&#8203;60588](https://github.com/nodejs/node/pull/60588) - \[[`4c03a7f864`](https://github.com/nodejs/node/commit/4c03a7f864)] - **test**: fix status when compiled without inspector (Antoine du Hamel) [#&#8203;60289](https://github.com/nodejs/node/pull/60289) - \[[`2ef146a074`](https://github.com/nodejs/node/commit/2ef146a074)] - **test**: apply a delay to `watch-mode-kill-signal` tests (Joyee Cheung) [#&#8203;60610](https://github.com/nodejs/node/pull/60610) - \[[`dc3000c504`](https://github.com/nodejs/node/commit/dc3000c504)] - **test**: async iife in repl (Tony Gorez) [#&#8203;44878](https://github.com/nodejs/node/pull/44878) - \[[`5e06e84db1`](https://github.com/nodejs/node/commit/5e06e84db1)] - **test**: parallelize sea tests when there's enough disk space (Joyee Cheung) [#&#8203;60604](https://github.com/nodejs/node/pull/60604) - \[[`940d2752bc`](https://github.com/nodejs/node/commit/940d2752bc)] - **test**: only show overridden env in child process failures (Joyee Cheung) [#&#8203;60556](https://github.com/nodejs/node/pull/60556) - \[[`558a5743c6`](https://github.com/nodejs/node/commit/558a5743c6)] - **test**: add more logs to test-esm-loader-hooks-inspect-wait (Joyee Cheung) [#&#8203;60466](https://github.com/nodejs/node/pull/60466) - \[[`10fac8de45`](https://github.com/nodejs/node/commit/10fac8de45)] - **test**: mark stringbytes-external-exceed-max tests as flaky on AIX (Joyee Cheung) [#&#8203;60565](https://github.com/nodejs/node/pull/60565) - \[[`8bc84046be`](https://github.com/nodejs/node/commit/8bc84046be)] - **test**: correct conditional secure heap flags test (Shelley Vohr) [#&#8203;60385](https://github.com/nodejs/node/pull/60385) - \[[`ccc805f184`](https://github.com/nodejs/node/commit/ccc805f184)] - **test**: fix flaky test-watch-mode-kill-signal-\* (Joyee Cheung) [#&#8203;60443](https://github.com/nodejs/node/pull/60443) - \[[`1b8274453d`](https://github.com/nodejs/node/commit/1b8274453d)] - **test**: capture stack trace in debugger timeout errors (Joyee Cheung) [#&#8203;60457](https://github.com/nodejs/node/pull/60457) - \[[`9fcf889279`](https://github.com/nodejs/node/commit/9fcf889279)] - **test**: ensure assertions are reachable in `test/async-hooks` (Antoine du Hamel) [#&#8203;60150](https://github.com/nodejs/node/pull/60150) - \[[`7f5230333e`](https://github.com/nodejs/node/commit/7f5230333e)] - **test**: increase debugger waitFor timeout on macOS (Chengzhong Wu) [#&#8203;60367](https://github.com/nodejs/node/pull/60367) - \[[`0e5ea3b795`](https://github.com/nodejs/node/commit/0e5ea3b795)] - **test**: fix small compile warning in test_network_requests_buffer.cc (xiaocainiao633) [#&#8203;60281](https://github.com/nodejs/node/pull/60281) - \[[`012780c7e8`](https://github.com/nodejs/node/commit/012780c7e8)] - **test**: split test-runner-watch-mode-kill-signal (Joyee Cheung) [#&#8203;60298](https://github.com/nodejs/node/pull/60298) - \[[`b53d35a8f8`](https://github.com/nodejs/node/commit/b53d35a8f8)] - **test**: fix incorrect calculation in test-perf-hooks.js (Joyee Cheung) [#&#8203;60271](https://github.com/nodejs/node/pull/60271) - \[[`b8ef464c08`](https://github.com/nodejs/node/commit/b8ef464c08)] - **test**: skip sea tests on x64 macOS (Joyee Cheung) [#&#8203;60250](https://github.com/nodejs/node/pull/60250) - \[[`a3c4d905da`](https://github.com/nodejs/node/commit/a3c4d905da)] - **test**: move sea tests into test/sea (Joyee Cheung) [#&#8203;60250](https://github.com/nodejs/node/pull/60250) - \[[`80bec9fd07`](https://github.com/nodejs/node/commit/80bec9fd07)] - **test**: skip tests that cause timeouts on IBM i (SRAVANI GUNDEPALLI) [#&#8203;60148](https://github.com/nodejs/node/pull/60148) - \[[`1d05b44c7c`](https://github.com/nodejs/node/commit/1d05b44c7c)] - **test**: deflake test-fs-promises-watch-iterator (Luigi Pinca) [#&#8203;60060](https://github.com/nodejs/node/pull/60060) - \[[`8958096840`](https://github.com/nodejs/node/commit/8958096840)] - **test**: deflake `test-repl-paste-big-data` (Livia Medeiros) [#&#8203;60975](https://github.com/nodejs/node/pull/60975) - \[[`e261a59ca4`](https://github.com/nodejs/node/commit/e261a59ca4)] - **test**: add new `startNewREPLSever` testing utility (Dario Piotrowicz) [#&#8203;59964](https://github.com/nodejs/node/pull/59964) - \[[`d4a2d8aa8a`](https://github.com/nodejs/node/commit/d4a2d8aa8a)] - **test**: skip failing tests when compiled without amaro (Yuki Okita) [#&#8203;60815](https://github.com/nodejs/node/pull/60815) - \[[`0e407a88bb`](https://github.com/nodejs/node/commit/0e407a88bb)] - **test**: skip failing test on macOS 15.7+ (Antoine du Hamel) [#&#8203;60419](https://github.com/nodejs/node/pull/60419) - \[[`a253b7b6dc`](https://github.com/nodejs/node/commit/a253b7b6dc)] - **tools**: switch to ARM runners on GHA jobs (Antoine du Hamel) [#&#8203;61903](https://github.com/nodejs/node/pull/61903) - \[[`8862c41494`](https://github.com/nodejs/node/commit/8862c41494)] - **tools**: avoid building twice in coverage jobs (Antoine du Hamel) [#&#8203;61899](https://github.com/nodejs/node/pull/61899) - \[[`7d11a22802`](https://github.com/nodejs/node/commit/7d11a22802)] - **tools**: use ubuntu-slim runner in GHA (Antoine du Hamel) [#&#8203;61759](https://github.com/nodejs/node/pull/61759) - \[[`d0e7d6cb89`](https://github.com/nodejs/node/commit/d0e7d6cb89)] - **tools**: use ubuntu-slim runner in GHA (Antoine du Hamel) [#&#8203;61734](https://github.com/nodejs/node/pull/61734) - \[[`cf5ddd1811`](https://github.com/nodejs/node/commit/cf5ddd1811)] - **tools**: use ubuntu-latest runner in `notify-on-push` workflow (Antoine du Hamel) [#&#8203;61742](https://github.com/nodejs/node/pull/61742) - \[[`18bcf8e260`](https://github.com/nodejs/node/commit/18bcf8e260)] - **tools**: use ubuntu-slim runner in meta GitHub Actions (Tierney Cyren) [#&#8203;61663](https://github.com/nodejs/node/pull/61663) - \[[`db76733b55`](https://github.com/nodejs/node/commit/db76733b55)] - **tools**: update gyp-next to 0.21.1 (Node.js GitHub Bot) [#&#8203;61528](https://github.com/nodejs/node/pull/61528) - \[[`1dd9d8a3b2`](https://github.com/nodejs/node/commit/1dd9d8a3b2)] - **tools**: fix vcbuild lint-js-build (Vladimir Morozov) [#&#8203;61318](https://github.com/nodejs/node/pull/61318) - \[[`ec67f8f9b5`](https://github.com/nodejs/node/commit/ec67f8f9b5)] - **tools**: only report commit validation failure on Slack (Antoine du Hamel) [#&#8203;61124](https://github.com/nodejs/node/pull/61124) - \[[`8e385c8c66`](https://github.com/nodejs/node/commit/8e385c8c66)] - **tools**: use sparse-checkout in linter jobs (Antoine du Hamel) [#&#8203;61123](https://github.com/nodejs/node/pull/61123) - \[[`aed2e9c8eb`](https://github.com/nodejs/node/commit/aed2e9c8eb)] - **tools**: simplify `notify-on-push` (Antoine du Hamel) [#&#8203;61050](https://github.com/nodejs/node/pull/61050) - \[[`32680feefb`](https://github.com/nodejs/node/commit/32680feefb)] - **tools**: fix update-nghttp2 signature verification (Richard Lau) [#&#8203;61035](https://github.com/nodejs/node/pull/61035) - \[[`c5f68f41e6`](https://github.com/nodejs/node/commit/c5f68f41e6)] - **tools**: improve log output of `create-release-proposal` (Antoine du Hamel) [#&#8203;61028](https://github.com/nodejs/node/pull/61028) - \[[`32e0ae0ec7`](https://github.com/nodejs/node/commit/32e0ae0ec7)] - **tools**: fix `vcbuild test` when path contain spaces (stduhpf) [#&#8203;56481](https://github.com/nodejs/node/pull/56481) - \[[`9e0858e4a2`](https://github.com/nodejs/node/commit/9e0858e4a2)] - **tools**: do not run `test-linux` workflow for changes on `vcbuild.bat` (Antoine du Hamel) [#&#8203;60979](https://github.com/nodejs/node/pull/60979) - \[[`fd656a79fc`](https://github.com/nodejs/node/commit/fd656a79fc)] - **tools**: disable some new cpplint rules before update (Michaël Zasso) [#&#8203;60901](https://github.com/nodejs/node/pull/60901) - \[[`df4df52e67`](https://github.com/nodejs/node/commit/df4df52e67)] - **tools**: don't fetch V8 deps in the source tree (Richard Lau) [#&#8203;60883](https://github.com/nodejs/node/pull/60883) - \[[`e5c2fe8d6d`](https://github.com/nodejs/node/commit/e5c2fe8d6d)] - **tools**: add temporal updater (Chengzhong Wu) [#&#8203;60828](https://github.com/nodejs/node/pull/60828) - \[[`7f031e097e`](https://github.com/nodejs/node/commit/7f031e097e)] - **tools**: dump config.gypi as json (Chengzhong Wu) [#&#8203;60794](https://github.com/nodejs/node/pull/60794) - \[[`5e69488a5a`](https://github.com/nodejs/node/commit/5e69488a5a)] - **tools**: bump js-yaml from 4.1.0 to 4.1.1 in /tools/lint-md (dependabot\[bot]) [#&#8203;60781](https://github.com/nodejs/node/pull/60781) - \[[`5119c50931`](https://github.com/nodejs/node/commit/5119c50931)] - **tools**: bump js-yaml from 4.1.0 to 4.1.1 in /tools/doc in the doc group (dependabot\[bot]) [#&#8203;60766](https://github.com/nodejs/node/pull/60766) - \[[`a4b073123d`](https://github.com/nodejs/node/commit/a4b073123d)] - **tools**: remove unsupported `cooldown` from Dependabot config (Antoine du Hamel) [#&#8203;60747](https://github.com/nodejs/node/pull/60747) - \[[`a3df6b87bb`](https://github.com/nodejs/node/commit/a3df6b87bb)] - **tools**: update sccache to v0.12.0 (Michaël Zasso) [#&#8203;60723](https://github.com/nodejs/node/pull/60723) - \[[`2efbd54a4a`](https://github.com/nodejs/node/commit/2efbd54a4a)] - **tools**: update gyp-next to 0.21.0 (Node.js GitHub Bot) [#&#8203;60645](https://github.com/nodejs/node/pull/60645) - \[[`bb7876e4f9`](https://github.com/nodejs/node/commit/bb7876e4f9)] - **tools**: replace invalid expression in dependabot config (Riddhi) [#&#8203;60649](https://github.com/nodejs/node/pull/60649) - \[[`e444e44d6a`](https://github.com/nodejs/node/commit/e444e44d6a)] - **tools**: skip unaffected GHA jobs for changes in `test/internet` (Antoine du Hamel) [#&#8203;60517](https://github.com/nodejs/node/pull/60517) - \[[`a6a0ec107c`](https://github.com/nodejs/node/commit/a6a0ec107c)] - **tools**: do not use short hashes for deps versioning to avoid collision (Antoine du Hamel) [#&#8203;60407](https://github.com/nodejs/node/pull/60407) - \[[`c6e2eed65f`](https://github.com/nodejs/node/commit/c6e2eed65f)] - **tools**: fix update-icu script (Michaël Zasso) [#&#8203;60521](https://github.com/nodejs/node/pull/60521) - \[[`76fb3d123b`](https://github.com/nodejs/node/commit/76fb3d123b)] - **tools**: fix linter for semver-major release proposals (Antoine du Hamel) [#&#8203;60481](https://github.com/nodejs/node/pull/60481) - \[[`f02889e24e`](https://github.com/nodejs/node/commit/f02889e24e)] - **tools**: fix failing release-proposal linter for LTS transitions (Antoine du Hamel) [#&#8203;60465](https://github.com/nodejs/node/pull/60465) - \[[`8203df4432`](https://github.com/nodejs/node/commit/8203df4432)] - **tools**: remove undici from daily wpt.fyi job (Filip Skokan) [#&#8203;60444](https://github.com/nodejs/node/pull/60444) - \[[`a58242b666`](https://github.com/nodejs/node/commit/a58242b666)] - **tools**: add lint rule to ensure assertions are reached (Antoine du Hamel) [#&#8203;60125](https://github.com/nodejs/node/pull/60125) - \[[`58e3ef398f`](https://github.com/nodejs/node/commit/58e3ef398f)] - **tools**: update gyp-next to 0.20.5 (Node.js GitHub Bot) [#&#8203;60313](https://github.com/nodejs/node/pull/60313) - \[[`996494482a`](https://github.com/nodejs/node/commit/996494482a)] - **tools**: optimize wildcard execution in tools/test.py (Joyee Cheung) [#&#8203;60266](https://github.com/nodejs/node/pull/60266) - \[[`cf84756d0d`](https://github.com/nodejs/node/commit/cf84756d0d)] - **tools**: use cooldown property correctly (Rafael Gonzaga) [#&#8203;60134](https://github.com/nodejs/node/pull/60134) - \[[`5469cb2651`](https://github.com/nodejs/node/commit/5469cb2651)] - **tools**: validate release commit diff as part of `lint-release-proposal` (Antoine du Hamel) [#&#8203;61440](https://github.com/nodejs/node/pull/61440) - \[[`1b9eab4a1c`](https://github.com/nodejs/node/commit/1b9eab4a1c)] - **tools,doc**: fix format-md files list (Stefan Stojanovic) [#&#8203;61147](https://github.com/nodejs/node/pull/61147) - \[[`b20d9c2ce7`](https://github.com/nodejs/node/commit/b20d9c2ce7)] - **tools,doc**: update JavaScript primitive types to match MDN Web Docs (JustApple) [#&#8203;60581](https://github.com/nodejs/node/pull/60581) - \[[`31760b1beb`](https://github.com/nodejs/node/commit/31760b1beb)] - **typings**: add typing for string_decoder (Taejin Kim) [#&#8203;61368](https://github.com/nodejs/node/pull/61368) - \[[`d6b908917c`](https://github.com/nodejs/node/commit/d6b908917c)] - **typings**: add missing properties and method in Worker (Woohyun Sung) [#&#8203;60257](https://github.com/nodejs/node/pull/60257) - \[[`1e8b6d5686`](https://github.com/nodejs/node/commit/1e8b6d5686)] - **typings**: add missing properties in HTTPParser (Woohyun Sung) [#&#8203;60257](https://github.com/nodejs/node/pull/60257) - \[[`27ae9b4a26`](https://github.com/nodejs/node/commit/27ae9b4a26)] - **typings**: delete undefined property in ConfigBinding (Woohyun Sung) [#&#8203;60257](https://github.com/nodejs/node/pull/60257) - \[[`f43c6434e2`](https://github.com/nodejs/node/commit/f43c6434e2)] - **typings**: add buffer internalBinding typing (방진혁) [#&#8203;60163](https://github.com/nodejs/node/pull/60163) - \[[`e7f954f63a`](https://github.com/nodejs/node/commit/e7f954f63a)] - **url**: add fast path to getPathFromURL decoder (Gürgün Dayıoğlu) [#&#8203;60749](https://github.com/nodejs/node/pull/60749) - \[[`c149b64473`](https://github.com/nodejs/node/commit/c149b64473)] - **url**: remove array.reduce usage (Gürgün Dayıoğlu) [#&#8203;60748](https://github.com/nodejs/node/pull/60748) - \[[`0bd291bff1`](https://github.com/nodejs/node/commit/0bd291bff1)] - **util**: optimize toASCIILower function using V8s native toLowerCase (Mert Can Altin) [#&#8203;61107](https://github.com/nodejs/node/pull/61107) - \[[`bbc54b3c96`](https://github.com/nodejs/node/commit/bbc54b3c96)] - **util**: limit `inspect` to only show own properties (Ruben Bridgewater) [#&#8203;61032](https://github.com/nodejs/node/pull/61032) - \[[`78e5fa23c4`](https://github.com/nodejs/node/commit/78e5fa23c4)] - **util**: fix parseArgs skipping positional arg with --eval and --print (azadgupta1) [#&#8203;60814](https://github.com/nodejs/node/pull/60814) - \[[`f75ec19105`](https://github.com/nodejs/node/commit/f75ec19105)] - **util**: assert getCallSites does not invoke Error.prepareStackTrace (Chengzhong Wu) [#&#8203;60922](https://github.com/nodejs/node/pull/60922) - \[[`d77da9306c`](https://github.com/nodejs/node/commit/d77da9306c)] - **util**: fix stylize of special properties in inspect (Ge Gao) [#&#8203;60479](https://github.com/nodejs/node/pull/60479) - \[[`3a4edc8f6d`](https://github.com/nodejs/node/commit/3a4edc8f6d)] - **util**: use more defensive code when inspecting error objects (Antoine du Hamel) [#&#8203;60139](https://github.com/nodejs/node/pull/60139) - \[[`25c33af752`](https://github.com/nodejs/node/commit/25c33af752)] - **util**: mark special properties when inspecting them (Ruben Bridgewater) [#&#8203;60131](https://github.com/nodejs/node/pull/60131) - \[[`3f98b46716`](https://github.com/nodejs/node/commit/3f98b46716)] - **vm**: make vm.Module.evaluate() conditionally synchronous (Joyee Cheung) [#&#8203;60205](https://github.com/nodejs/node/pull/60205) - \[[`f64a691493`](https://github.com/nodejs/node/commit/f64a691493)] - **win**: upgrade Visual Studio workload from 2019 to 2022 (Jiawen Geng) [#&#8203;60318](https://github.com/nodejs/node/pull/60318) - \[[`8e04327954`](https://github.com/nodejs/node/commit/8e04327954)] - **worker**: update code examples for `node:worker_threads` module (fisker Cheung) [#&#8203;58264](https://github.com/nodejs/node/pull/58264) - \[[`c4440dcc60`](https://github.com/nodejs/node/commit/c4440dcc60)] - **worker**: remove not implemented declarations (Artur Gawlik) [#&#8203;60655](https://github.com/nodejs/node/pull/60655) - \[[`df4cc62954`](https://github.com/nodejs/node/commit/df4cc62954)] - **zlib**: validate write_result array length (Ryuhei Shima) [#&#8203;61342](https://github.com/nodejs/node/pull/61342) ### [`v22.22.0`](https://github.com/nodejs/node/releases/tag/v22.22.0): 2026-01-13, Version 22.22.0 'Jod' (LTS), @&#8203;marco-ippolito [Compare Source](https://github.com/nodejs/node/compare/v22.21.1...v22.22.0) This is a security release. ##### Notable Changes lib: - (CVE-2025-59465) add TLSSocket default error handler - (CVE-2025-55132) disable futimes when permission model is enabled lib,permission: - (CVE-2025-55130) require full read and write to symlink APIs src: - (CVE-2025-59466) rethrow stack overflow exceptions in async_hooks src,lib: - (CVE-2025-55131) refactor unsafe buffer creation to remove zero-fill toggle tls: - (CVE-2026-21637) route callback exceptions through error handlers ##### Commits - \[[`6badf4e6f4`](https://github.com/nodejs/node/commit/6badf4e6f4)] - **deps**: update c-ares to v1.34.6 (Node.js GitHub Bot) [#&#8203;60997](https://github.com/nodejs/node/pull/60997) - \[[`37509c3ff0`](https://github.com/nodejs/node/commit/37509c3ff0)] - **deps**: update undici to 6.23.0 (Matteo Collina) [nodejs-private/node-private#791](https://github.com/nodejs-private/node-private/pull/791) - \[[`eb8e41f8db`](https://github.com/nodejs/node/commit/eb8e41f8db)] - **(CVE-2025-59465)** **lib**: add TLSSocket default error handler (RafaelGSS) [nodejs-private/node-private#797](https://github.com/nodejs-private/node-private/pull/797) - \[[`ebbf942a83`](https://github.com/nodejs/node/commit/ebbf942a83)] - **(CVE-2025-55132)** **lib**: disable futimes when permission model is enabled (RafaelGSS) [nodejs-private/node-private#748](https://github.com/nodejs-private/node-private/pull/748) - \[[`6b4849583a`](https://github.com/nodejs/node/commit/6b4849583a)] - **(CVE-2025-55130)** **lib,permission**: require full read and write to symlink APIs (RafaelGSS) [nodejs-private/node-private#760](https://github.com/nodejs-private/node-private/pull/760) - \[[`ddadc31f09`](https://github.com/nodejs/node/commit/ddadc31f09)] - **(CVE-2025-59466)** **src**: rethrow stack overflow exceptions in async_hooks (Matteo Collina) [nodejs-private/node-private#773](https://github.com/nodejs-private/node-private/pull/773) - \[[`d4d9f3915f`](https://github.com/nodejs/node/commit/d4d9f3915f)] - **(CVE-2025-55131)** **src,lib**: refactor unsafe buffer creation to remove zero-fill toggle (Сковорода Никита Андреевич) [nodejs-private/node-private#759](https://github.com/nodejs-private/node-private/pull/759) - \[[`25d6799df6`](https://github.com/nodejs/node/commit/25d6799df6)] - **(CVE-2026-21637)** **tls**: route callback exceptions through error handlers (Matteo Collina) [nodejs-private/node-private#796](https://github.com/nodejs-private/node-private/pull/796) ### [`v22.21.1`](https://github.com/nodejs/node/releases/tag/v22.21.1): 2025-10-28, Version 22.21.1 'Jod' (LTS), @&#8203;aduh95 [Compare Source](https://github.com/nodejs/node/compare/v22.21.0...v22.21.1) ##### Commits - \[[`af33e8e668`](https://github.com/nodejs/node/commit/af33e8e668)] - **benchmark**: remove unused variable from util/priority-queue (Bruno Rodrigues) [#&#8203;59872](https://github.com/nodejs/node/pull/59872) - \[[`6764ce8756`](https://github.com/nodejs/node/commit/6764ce8756)] - **benchmark**: update count to n in permission startup (Bruno Rodrigues) [#&#8203;59872](https://github.com/nodejs/node/pull/59872) - \[[`4e8d99f0dc`](https://github.com/nodejs/node/commit/4e8d99f0dc)] - **benchmark**: update num to n in dgram offset-length (Bruno Rodrigues) [#&#8203;59872](https://github.com/nodejs/node/pull/59872) - \[[`af0a8ba7f8`](https://github.com/nodejs/node/commit/af0a8ba7f8)] - **benchmark**: adjust dgram offset-length len values (Bruno Rodrigues) [#&#8203;59708](https://github.com/nodejs/node/pull/59708) - \[[`78efd1be4a`](https://github.com/nodejs/node/commit/78efd1be4a)] - **benchmark**: update num to n in dgram offset-length (Bruno Rodrigues) [#&#8203;59708](https://github.com/nodejs/node/pull/59708) - \[[`df72dc96e9`](https://github.com/nodejs/node/commit/df72dc96e9)] - **console,util**: improve array inspection performance (Ruben Bridgewater) [#&#8203;60037](https://github.com/nodejs/node/pull/60037) - \[[`ef67d09f50`](https://github.com/nodejs/node/commit/ef67d09f50)] - **http**: improve writeEarlyHints by avoiding for-of loop (Haram Jeong) [#&#8203;59958](https://github.com/nodejs/node/pull/59958) - \[[`23468fd76b`](https://github.com/nodejs/node/commit/23468fd76b)] - **http2**: fix allowHttp1+Upgrade, broken by shouldUpgradeCallback (Tim Perry) [#&#8203;59924](https://github.com/nodejs/node/pull/59924) - \[[`56abc4ac76`](https://github.com/nodejs/node/commit/56abc4ac76)] - **lib**: optimize priority queue (Gürgün Dayıoğlu) [#&#8203;60039](https://github.com/nodejs/node/pull/60039) - \[[`ea5cfd98c5`](https://github.com/nodejs/node/commit/ea5cfd98c5)] - **lib**: implement passive listener behavior per spec (BCD1me) [#&#8203;59995](https://github.com/nodejs/node/pull/59995) - \[[`c2dd6eed2f`](https://github.com/nodejs/node/commit/c2dd6eed2f)] - **process**: fix wrong asyncContext under unhandled-rejections=strict (Shima Ryuhei) [#&#8203;60103](https://github.com/nodejs/node/pull/60103) - \[[`81a3055710`](https://github.com/nodejs/node/commit/81a3055710)] - **process**: fix default `env` for `process.execve` (Richard Lau) [#&#8203;60029](https://github.com/nodejs/node/pull/60029) - \[[`fe492c7ace`](https://github.com/nodejs/node/commit/fe492c7ace)] - **process**: fix hrtime fast call signatures (Renegade334) [#&#8203;59600](https://github.com/nodejs/node/pull/59600) - \[[`76b4cab8fc`](https://github.com/nodejs/node/commit/76b4cab8fc)] - **src**: bring permissions macros in line with general C/C++ standards (Anna Henningsen) [#&#8203;60053](https://github.com/nodejs/node/pull/60053) - \[[`21970970c7`](https://github.com/nodejs/node/commit/21970970c7)] - **src**: remove `AnalyzeTemporaryDtors` option from .clang-tidy (iknoom) [#&#8203;60008](https://github.com/nodejs/node/pull/60008) - \[[`609c063e81`](https://github.com/nodejs/node/commit/609c063e81)] - **src**: remove unused variables from report (Moonki Choi) [#&#8203;60047](https://github.com/nodejs/node/pull/60047) - \[[`987841a773`](https://github.com/nodejs/node/commit/987841a773)] - **src**: avoid unnecessary string allocations in SPrintF impl (Anna Henningsen) [#&#8203;60052](https://github.com/nodejs/node/pull/60052) - \[[`6e386c0632`](https://github.com/nodejs/node/commit/6e386c0632)] - **src**: make ToLower/ToUpper input args more flexible (Anna Henningsen) [#&#8203;60052](https://github.com/nodejs/node/pull/60052) - \[[`c3be1226c7`](https://github.com/nodejs/node/commit/c3be1226c7)] - **src**: allow `std::string_view` arguments to `SPrintF()` and friends (Anna Henningsen) [#&#8203;60058](https://github.com/nodejs/node/pull/60058) - \[[`764d35647d`](https://github.com/nodejs/node/commit/764d35647d)] - **src**: remove unnecessary `std::string` error messages (Anna Henningsen) [#&#8203;60057](https://github.com/nodejs/node/pull/60057) - \[[`1289ef89ec`](https://github.com/nodejs/node/commit/1289ef89ec)] - **src**: remove unnecessary shadowed functions on Utf8Value & BufferValue (Anna Henningsen) [#&#8203;60056](https://github.com/nodejs/node/pull/60056) - \[[`d1fb8a538d`](https://github.com/nodejs/node/commit/d1fb8a538d)] - **src**: avoid unnecessary string -> `char*` -> string round trips (Anna Henningsen) [#&#8203;60055](https://github.com/nodejs/node/pull/60055) - \[[`54b439fb5a`](https://github.com/nodejs/node/commit/54b439fb5a)] - **src**: fill `options_args`, `options_env` after vectors are finalized (iknoom) [#&#8203;59945](https://github.com/nodejs/node/pull/59945) - \[[`c7c597e2ca`](https://github.com/nodejs/node/commit/c7c597e2ca)] - **src**: use RAII for uv_process_options_t (iknoom) [#&#8203;59945](https://github.com/nodejs/node/pull/59945) - \[[`b928ea9716`](https://github.com/nodejs/node/commit/b928ea9716)] - **test**: ensure that the message event is fired (Luigi Pinca) [#&#8203;59952](https://github.com/nodejs/node/pull/59952) - \[[`e4b95a5158`](https://github.com/nodejs/node/commit/e4b95a5158)] - **test**: replace diagnostics_channel stackframe in output snapshots (Chengzhong Wu) [#&#8203;60024](https://github.com/nodejs/node/pull/60024) - \[[`4206406694`](https://github.com/nodejs/node/commit/4206406694)] - **test**: mark test-web-locks skip on IBM i (SRAVANI GUNDEPALLI) [#&#8203;59996](https://github.com/nodejs/node/pull/59996) - \[[`26394cd5bf`](https://github.com/nodejs/node/commit/26394cd5bf)] - **test**: expand tls-check-server-identity coverage (Diango Gavidia) [#&#8203;60002](https://github.com/nodejs/node/pull/60002) - \[[`b58df47995`](https://github.com/nodejs/node/commit/b58df47995)] - **test**: fix typo of test-benchmark-readline.js (Deokjin Kim) [#&#8203;59993](https://github.com/nodejs/node/pull/59993) - \[[`af3a59dba8`](https://github.com/nodejs/node/commit/af3a59dba8)] - **test**: verify tracing channel doesn't swallow unhandledRejection (Gerhard Stöbich) [#&#8203;59974](https://github.com/nodejs/node/pull/59974) - \[[`cee362242b`](https://github.com/nodejs/node/commit/cee362242b)] - **timers**: fix binding fast call signatures (Renegade334) [#&#8203;59600](https://github.com/nodejs/node/pull/59600) - \[[`40fea57fdd`](https://github.com/nodejs/node/commit/40fea57fdd)] - **tools**: add message on auto-fixing js lint issues in gh workflow (Dario Piotrowicz) [#&#8203;59128](https://github.com/nodejs/node/pull/59128) - \[[`aac90d351b`](https://github.com/nodejs/node/commit/aac90d351b)] - **tools**: verify signatures when updating nghttp\* (Antoine du Hamel) [#&#8203;60113](https://github.com/nodejs/node/pull/60113) - \[[`9fae03c7d9`](https://github.com/nodejs/node/commit/9fae03c7d9)] - **tools**: use dependabot cooldown and move tools/doc (Rafael Gonzaga) [#&#8203;59978](https://github.com/nodejs/node/pull/59978) - \[[`81548abdf6`](https://github.com/nodejs/node/commit/81548abdf6)] - **wasi**: fix WasiFunction fast call signature (Renegade334) [#&#8203;59600](https://github.com/nodejs/node/pull/59600) ### [`v22.21.0`](https://github.com/nodejs/node/releases/tag/v22.21.0): 2025-10-20, Version 22.21.0 'Jod' (LTS), @&#8203;aduh95 [Compare Source](https://github.com/nodejs/node/compare/v22.20.0...v22.21.0) ##### Notable Changes - \[[`1486fedea1`](https://github.com/nodejs/node/commit/1486fedea1)] - **(SEMVER-MINOR)** **cli**: add `--use-env-proxy` (Joyee Cheung) [#&#8203;59151](https://github.com/nodejs/node/pull/59151) - \[[`bedaaa11fc`](https://github.com/nodejs/node/commit/bedaaa11fc)] - **(SEMVER-MINOR)** **http**: support http proxy for fetch under `NODE_USE_ENV_PROXY` (Joyee Cheung) [#&#8203;57165](https://github.com/nodejs/node/pull/57165) - \[[`af8b5fa29d`](https://github.com/nodejs/node/commit/af8b5fa29d)] - **(SEMVER-MINOR)** **http**: add `shouldUpgradeCallback` to let servers control HTTP upgrades (Tim Perry) [#&#8203;59824](https://github.com/nodejs/node/pull/59824) - \[[`42102594b1`](https://github.com/nodejs/node/commit/42102594b1)] - **(SEMVER-MINOR)** **http,https**: add built-in proxy support in `http`/`https.request` and `Agent` (Joyee Cheung) [#&#8203;58980](https://github.com/nodejs/node/pull/58980) - \[[`686ac49b82`](https://github.com/nodejs/node/commit/686ac49b82)] - **(SEMVER-MINOR)** **src**: add percentage support to `--max-old-space-size` (Asaf Federman) [#&#8203;59082](https://github.com/nodejs/node/pull/59082) ##### Commits - \[[`a71dd592e3`](https://github.com/nodejs/node/commit/a71dd592e3)] - **benchmark**: calibrate config dgram multi-buffer (Bruno Rodrigues) [#&#8203;59696](https://github.com/nodejs/node/pull/59696) - \[[`16c4b466f4`](https://github.com/nodejs/node/commit/16c4b466f4)] - **benchmark**: calibrate config cluster/echo.js (Nam Yooseong) [#&#8203;59836](https://github.com/nodejs/node/pull/59836) - \[[`53cb9f3b6c`](https://github.com/nodejs/node/commit/53cb9f3b6c)] - **build**: add the missing macro definitions for OpenHarmony (hqzing) [#&#8203;59804](https://github.com/nodejs/node/pull/59804) - \[[`ec5290fe01`](https://github.com/nodejs/node/commit/ec5290fe01)] - **build**: do not include custom ESLint rules testing in tarball (Antoine du Hamel) [#&#8203;59809](https://github.com/nodejs/node/pull/59809) - \[[`1486fedea1`](https://github.com/nodejs/node/commit/1486fedea1)] - **(SEMVER-MINOR)** **cli**: add --use-env-proxy (Joyee Cheung) [#&#8203;59151](https://github.com/nodejs/node/pull/59151) - \[[`1f93913446`](https://github.com/nodejs/node/commit/1f93913446)] - **crypto**: use `return await` when returning Promises from async functions (Renegade334) [#&#8203;59841](https://github.com/nodejs/node/pull/59841) - \[[`f488b2ff73`](https://github.com/nodejs/node/commit/f488b2ff73)] - **crypto**: use async functions for non-stub Promise-returning functions (Renegade334) [#&#8203;59841](https://github.com/nodejs/node/pull/59841) - \[[`aed9fd5ac4`](https://github.com/nodejs/node/commit/aed9fd5ac4)] - **crypto**: avoid calls to `promise.catch()` (Renegade334) [#&#8203;59841](https://github.com/nodejs/node/pull/59841) - \[[`37c2d186f0`](https://github.com/nodejs/node/commit/37c2d186f0)] - **deps**: update amaro to 1.1.4 (pmarchini) [#&#8203;60044](https://github.com/nodejs/node/pull/60044) - \[[`28aea13419`](https://github.com/nodejs/node/commit/28aea13419)] - **deps**: update archs files for openssl-3.5.4 (Node.js GitHub Bot) [#&#8203;60101](https://github.com/nodejs/node/pull/60101) - \[[`ddbc1aa0bb`](https://github.com/nodejs/node/commit/ddbc1aa0bb)] - **deps**: upgrade openssl sources to openssl-3.5.4 (Node.js GitHub Bot) [#&#8203;60101](https://github.com/nodejs/node/pull/60101) - \[[`badbba2da9`](https://github.com/nodejs/node/commit/badbba2da9)] - **deps**: update googletest to [`50b8600`](https://github.com/nodejs/node/commit/50b8600) (Node.js GitHub Bot) [#&#8203;59955](https://github.com/nodejs/node/pull/59955) - \[[`48aaf98a08`](https://github.com/nodejs/node/commit/48aaf98a08)] - **deps**: update archs files for openssl-3.5.3 (Node.js GitHub Bot) [#&#8203;59901](https://github.com/nodejs/node/pull/59901) - \[[`e02a562ea6`](https://github.com/nodejs/node/commit/e02a562ea6)] - **deps**: upgrade openssl sources to openssl-3.5.3 (Node.js GitHub Bot) [#&#8203;59901](https://github.com/nodejs/node/pull/59901) - \[[`7e0e86cb92`](https://github.com/nodejs/node/commit/7e0e86cb92)] - **deps**: upgrade npm to 10.9.4 (npm team) [#&#8203;60074](https://github.com/nodejs/node/pull/60074) - \[[`91dda5facf`](https://github.com/nodejs/node/commit/91dda5facf)] - **deps**: update undici to 6.22.0 (Matteo Collina) [#&#8203;60112](https://github.com/nodejs/node/pull/60112) - \[[`3a3220a2f0`](https://github.com/nodejs/node/commit/3a3220a2f0)] - **dgram**: restore buffer optimization in fixBufferList (Yoo) [#&#8203;59934](https://github.com/nodejs/node/pull/59934) - \[[`09bdcce6b8`](https://github.com/nodejs/node/commit/09bdcce6b8)] - **diagnostics_channel**: fix race condition with diagnostics_channel and GC (Ugaitz Urien) [#&#8203;59910](https://github.com/nodejs/node/pull/59910) - \[[`b3eeb3bd13`](https://github.com/nodejs/node/commit/b3eeb3bd13)] - **doc**: provide alternative to `url.parse()` using WHATWG URL (Steven) [#&#8203;59736](https://github.com/nodejs/node/pull/59736) - \[[`1ddaab1904`](https://github.com/nodejs/node/commit/1ddaab1904)] - **doc**: mention reverse proxy and include simple example (Steven) [#&#8203;59736](https://github.com/nodejs/node/pull/59736) - \[[`3b3b71e99c`](https://github.com/nodejs/node/commit/3b3b71e99c)] - **doc**: mark `.env` files support as stable (Santeri Hiltunen) [#&#8203;59925](https://github.com/nodejs/node/pull/59925) - \[[`d37f67d1bd`](https://github.com/nodejs/node/commit/d37f67d1bd)] - **doc**: remove optional title prefixes (Aviv Keller) [#&#8203;60087](https://github.com/nodejs/node/pull/60087) - \[[`ca2dff63f9`](https://github.com/nodejs/node/commit/ca2dff63f9)] - **doc**: fix typo on child_process.md (Angelo Gazzola) [#&#8203;60114](https://github.com/nodejs/node/pull/60114) - \[[`3fca564a05`](https://github.com/nodejs/node/commit/3fca564a05)] - **doc**: add automated migration info to deprecations (Augustin Mauroy) [#&#8203;60022](https://github.com/nodejs/node/pull/60022) - \[[`4bc366fc16`](https://github.com/nodejs/node/commit/4bc366fc16)] - **doc**: use "WebAssembly" instead of "Web Assembly" (Tobias Nießen) [#&#8203;59954](https://github.com/nodejs/node/pull/59954) - \[[`4808dbdd9a`](https://github.com/nodejs/node/commit/4808dbdd9a)] - **doc**: fix typo in section on microtask order (Tobias Nießen) [#&#8203;59932](https://github.com/nodejs/node/pull/59932) - \[[`d6e303d645`](https://github.com/nodejs/node/commit/d6e303d645)] - **doc**: update V8 fast API guidance (René) [#&#8203;58999](https://github.com/nodejs/node/pull/58999) - \[[`0a3a3f729e`](https://github.com/nodejs/node/commit/0a3a3f729e)] - **doc**: add security escalation policy (Ulises Gascón) [#&#8203;59806](https://github.com/nodejs/node/pull/59806) - \[[`8fd669c70d`](https://github.com/nodejs/node/commit/8fd669c70d)] - **doc**: type improvement of file `http.md` (yusheng chen) [#&#8203;58189](https://github.com/nodejs/node/pull/58189) - \[[`9833dc6060`](https://github.com/nodejs/node/commit/9833dc6060)] - **doc**: rephrase dynamic import() description (Nam Yooseong) [#&#8203;59224](https://github.com/nodejs/node/pull/59224) - \[[`2870a73681`](https://github.com/nodejs/node/commit/2870a73681)] - **doc,crypto**: update subtle.generateKey and subtle.importKey (Filip Skokan) [#&#8203;59851](https://github.com/nodejs/node/pull/59851) - \[[`85818db93c`](https://github.com/nodejs/node/commit/85818db93c)] - **fs,win**: do not add a second trailing slash in readdir (Gerhard Stöbich) [#&#8203;59847](https://github.com/nodejs/node/pull/59847) - \[[`bedaaa11fc`](https://github.com/nodejs/node/commit/bedaaa11fc)] - **(SEMVER-MINOR)** **http**: support http proxy for fetch under NODE_USE_ENV_PROXY (Joyee Cheung) [#&#8203;57165](https://github.com/nodejs/node/pull/57165) - \[[`af8b5fa29d`](https://github.com/nodejs/node/commit/af8b5fa29d)] - **(SEMVER-MINOR)** **http**: add shouldUpgradeCallback to let servers control HTTP upgrades (Tim Perry) [#&#8203;59824](https://github.com/nodejs/node/pull/59824) - \[[`758271ae66`](https://github.com/nodejs/node/commit/758271ae66)] - **http**: optimize checkIsHttpToken for short strings (방진혁) [#&#8203;59832](https://github.com/nodejs/node/pull/59832) - \[[`42102594b1`](https://github.com/nodejs/node/commit/42102594b1)] - **(SEMVER-MINOR)** **http,https**: add built-in proxy support in http/https.request and Agent (Joyee Cheung) [#&#8203;58980](https://github.com/nodejs/node/pull/58980) - \[[`a33ed9bf96`](https://github.com/nodejs/node/commit/a33ed9bf96)] - **inspector**: ensure adequate memory allocation for `Binary::toBase64` (René) [#&#8203;59870](https://github.com/nodejs/node/pull/59870) - \[[`34c686be2b`](https://github.com/nodejs/node/commit/34c686be2b)] - **lib**: update inspect output format for subclasses (Miguel Marcondes Filho) [#&#8203;59687](https://github.com/nodejs/node/pull/59687) - \[[`12e553529c`](https://github.com/nodejs/node/commit/12e553529c)] - **lib**: add source map support for assert messages (Chengzhong Wu) [#&#8203;59751](https://github.com/nodejs/node/pull/59751) - \[[`d2a70571f8`](https://github.com/nodejs/node/commit/d2a70571f8)] - **lib,src**: refactor assert to load error source from memory (Chengzhong Wu) [#&#8203;59751](https://github.com/nodejs/node/pull/59751) - \[[`20a9e86b5d`](https://github.com/nodejs/node/commit/20a9e86b5d)] - **meta**: move Michael to emeritus (Michael Dawson) [#&#8203;60070](https://github.com/nodejs/node/pull/60070) - \[[`c591cca15c`](https://github.com/nodejs/node/commit/c591cca15c)] - **meta**: bump github/codeql-action from 3.30.0 to 3.30.5 (dependabot\[bot]) [#&#8203;60089](https://github.com/nodejs/node/pull/60089) - \[[`090ba141b1`](https://github.com/nodejs/node/commit/090ba141b1)] - **meta**: bump codecov/codecov-action from 5.5.0 to 5.5.1 (dependabot\[bot]) [#&#8203;60091](https://github.com/nodejs/node/pull/60091) - \[[`a0ba6884a5`](https://github.com/nodejs/node/commit/a0ba6884a5)] - **meta**: bump actions/stale from 9.1.0 to 10.0.0 (dependabot\[bot]) [#&#8203;60092](https://github.com/nodejs/node/pull/60092) - \[[`0feca0c541`](https://github.com/nodejs/node/commit/0feca0c541)] - **meta**: bump actions/setup-node from 4.4.0 to 5.0.0 (dependabot\[bot]) [#&#8203;60093](https://github.com/nodejs/node/pull/60093) - \[[`7cd2b42d18`](https://github.com/nodejs/node/commit/7cd2b42d18)] - **meta**: bump step-security/harden-runner from 2.12.2 to 2.13.1 (dependabot\[bot]) [#&#8203;60094](https://github.com/nodejs/node/pull/60094) - \[[`1f3b9d66ac`](https://github.com/nodejs/node/commit/1f3b9d66ac)] - **meta**: bump actions/cache from 4.2.4 to 4.3.0 (dependabot\[bot]) [#&#8203;60095](https://github.com/nodejs/node/pull/60095) - \[[`0fedbb3de7`](https://github.com/nodejs/node/commit/0fedbb3de7)] - **meta**: bump ossf/scorecard-action from 2.4.2 to 2.4.3 (dependabot\[bot]) [#&#8203;60096](https://github.com/nodejs/node/pull/60096) - \[[`04590b8267`](https://github.com/nodejs/node/commit/04590b8267)] - **meta**: bump actions/setup-python from 5.6.0 to 6.0.0 (dependabot\[bot]) [#&#8203;60090](https://github.com/nodejs/node/pull/60090) - \[[`2bf0a9318f`](https://github.com/nodejs/node/commit/2bf0a9318f)] - **meta**: add .npmrc with ignore-scripts=true (Joyee Cheung) [#&#8203;59914](https://github.com/nodejs/node/pull/59914) - \[[`e10dc7b81c`](https://github.com/nodejs/node/commit/e10dc7b81c)] - **module**: allow overriding linked requests for a ModuleWrap (Chengzhong Wu) [#&#8203;59527](https://github.com/nodejs/node/pull/59527) - \[[`2237142369`](https://github.com/nodejs/node/commit/2237142369)] - **module**: link module with a module request record (Chengzhong Wu) [#&#8203;58886](https://github.com/nodejs/node/pull/58886) - \[[`6d24b88fbc`](https://github.com/nodejs/node/commit/6d24b88fbc)] - **node-api**: added SharedArrayBuffer api (Mert Can Altin) [#&#8203;59071](https://github.com/nodejs/node/pull/59071) - \[[`4cc84c96f4`](https://github.com/nodejs/node/commit/4cc84c96f4)] - **node-api**: make napi_delete_reference use node_api_basic_env (Jeetu Suthar) [#&#8203;59684](https://github.com/nodejs/node/pull/59684) - \[[`e790eb6b50`](https://github.com/nodejs/node/commit/e790eb6b50)] - **repl**: fix cpu overhead pasting big strings to the REPL (Ruben Bridgewater) [#&#8203;59857](https://github.com/nodejs/node/pull/59857) - \[[`99ea08dc43`](https://github.com/nodejs/node/commit/99ea08dc43)] - **repl**: add isValidParentheses check before wrap input (Xuguang Mei) [#&#8203;59607](https://github.com/nodejs/node/pull/59607) - \[[`e4a4f63019`](https://github.com/nodejs/node/commit/e4a4f63019)] - **sqlite**: fix crash session extension callbacks with workers (Bart Louwers) [#&#8203;59848](https://github.com/nodejs/node/pull/59848) - \[[`42c5544b97`](https://github.com/nodejs/node/commit/42c5544b97)] - **src**: assert memory calc for max-old-space-size-percentage (Asaf Federman) [#&#8203;59460](https://github.com/nodejs/node/pull/59460) - \[[`686ac49b82`](https://github.com/nodejs/node/commit/686ac49b82)] - **(SEMVER-MINOR)** **src**: add percentage support to --max-old-space-size (Asaf Federman) [#&#8203;59082](https://github.com/nodejs/node/pull/59082) - \[[`84701ff668`](https://github.com/nodejs/node/commit/84701ff668)] - **src**: clear all linked module caches once instantiated (Chengzhong Wu) [#&#8203;59117](https://github.com/nodejs/node/pull/59117) - \[[`8e182e561f`](https://github.com/nodejs/node/commit/8e182e561f)] - **src**: remove unnecessary `Environment::GetCurrent()` calls (Moonki Choi) [#&#8203;59814](https://github.com/nodejs/node/pull/59814) - \[[`c9cde35c4d`](https://github.com/nodejs/node/commit/c9cde35c4d)] - **src**: simplify is_callable by making it a concept (Tobias Nießen) [#&#8203;58169](https://github.com/nodejs/node/pull/58169) - \[[`892b425ee1`](https://github.com/nodejs/node/commit/892b425ee1)] - **src**: rename private fields to follow naming convention (Moonki Choi) [#&#8203;59923](https://github.com/nodejs/node/pull/59923) - \[[`36b68db7f5`](https://github.com/nodejs/node/commit/36b68db7f5)] - **src**: reduce the nearest parent package JSON cache size (Michael Smith) [#&#8203;59888](https://github.com/nodejs/node/pull/59888) - \[[`26b40bad02`](https://github.com/nodejs/node/commit/26b40bad02)] - **src**: replace FIXED_ONE_BYTE_STRING with Environment-cached strings (Moonki Choi) [#&#8203;59891](https://github.com/nodejs/node/pull/59891) - \[[`34dcb7dc32`](https://github.com/nodejs/node/commit/34dcb7dc32)] - **src**: create strings in `FIXED_ONE_BYTE_STRING` as internalized (Anna Henningsen) [#&#8203;59826](https://github.com/nodejs/node/pull/59826) - \[[`4d748add05`](https://github.com/nodejs/node/commit/4d748add05)] - **src**: remove `std::array` overload of `FIXED_ONE_BYTE_STRING` (Anna Henningsen) [#&#8203;59826](https://github.com/nodejs/node/pull/59826) - \[[`bb6fd7c2d1`](https://github.com/nodejs/node/commit/bb6fd7c2d1)] - **src**: ensure `v8::Eternal` is empty before setting it (Anna Henningsen) [#&#8203;59825](https://github.com/nodejs/node/pull/59825) - \[[`7a91282bf9`](https://github.com/nodejs/node/commit/7a91282bf9)] - **src**: use simdjson::pad (0hm☘️) [#&#8203;59391](https://github.com/nodejs/node/pull/59391) - \[[`ba00875f01`](https://github.com/nodejs/node/commit/ba00875f01)] - **stream**: use new AsyncResource instead of bind (Matteo Collina) [#&#8203;59867](https://github.com/nodejs/node/pull/59867) - \[[`ebec3ef68b`](https://github.com/nodejs/node/commit/ebec3ef68b)] - **(SEMVER-MINOR)** **test**: move http proxy tests to test/client-proxy (Joyee Cheung) [#&#8203;58980](https://github.com/nodejs/node/pull/58980) - \[[`7067d79fb3`](https://github.com/nodejs/node/commit/7067d79fb3)] - **test**: mark sea tests flaky on macOS x64 (Richard Lau) [#&#8203;60068](https://github.com/nodejs/node/pull/60068) - \[[`ca1942c9d5`](https://github.com/nodejs/node/commit/ca1942c9d5)] - **test**: testcase demonstrating issue 59541 (Eric Rannaud) [#&#8203;59801](https://github.com/nodejs/node/pull/59801) - \[[`660d57355e`](https://github.com/nodejs/node/commit/660d57355e)] - **test,doc**: skip --max-old-space-size-percentage on 32-bit platforms (Asaf Federman) [#&#8203;60144](https://github.com/nodejs/node/pull/60144) - \[[`19a7b1ef26`](https://github.com/nodejs/node/commit/19a7b1ef26)] - **tls**: load bundled and extra certificates off-thread (Joyee Cheung) [#&#8203;59856](https://github.com/nodejs/node/pull/59856) - \[[`095e7a81fc`](https://github.com/nodejs/node/commit/095e7a81fc)] - **tls**: only do off-thread certificate loading on loading tls (Joyee Cheung) [#&#8203;59856](https://github.com/nodejs/node/pull/59856) - \[[`c42c1204c7`](https://github.com/nodejs/node/commit/c42c1204c7)] - **tools**: fix `tools/make-v8.sh` for clang (Richard Lau) [#&#8203;59893](https://github.com/nodejs/node/pull/59893) - \[[`b632a1d98d`](https://github.com/nodejs/node/commit/b632a1d98d)] - **tools**: skip test-internet workflow for draft PRs (Michaël Zasso) [#&#8203;59817](https://github.com/nodejs/node/pull/59817) - \[[`6021c3ac76`](https://github.com/nodejs/node/commit/6021c3ac76)] - **tools**: copyedit `build-tarball.yml` (Antoine du Hamel) [#&#8203;59808](https://github.com/nodejs/node/pull/59808) - \[[`ef005d0c9b`](https://github.com/nodejs/node/commit/ef005d0c9b)] - **typings**: update 'types' binding (René) [#&#8203;59692](https://github.com/nodejs/node/pull/59692) - \[[`28ef564ecd`](https://github.com/nodejs/node/commit/28ef564ecd)] - **typings**: remove unused imports (Nam Yooseong) [#&#8203;59880](https://github.com/nodejs/node/pull/59880) - \[[`f88752ddb6`](https://github.com/nodejs/node/commit/f88752ddb6)] - **url**: replaced slice with at (Mikhail) [#&#8203;59181](https://github.com/nodejs/node/pull/59181) - \[[`24c224960c`](https://github.com/nodejs/node/commit/24c224960c)] - **url**: add type checking to urlToHttpOptions() (simon-id) [#&#8203;59753](https://github.com/nodejs/node/pull/59753) - \[[`f2fbcc576d`](https://github.com/nodejs/node/commit/f2fbcc576d)] - **util**: fix debuglog.enabled not being present with callback logger (Ruben Bridgewater) [#&#8203;59858](https://github.com/nodejs/node/pull/59858) - \[[`6277058e43`](https://github.com/nodejs/node/commit/6277058e43)] - **vm**: sync-ify SourceTextModule linkage (Chengzhong Wu) [#&#8203;59000](https://github.com/nodejs/node/pull/59000) - \[[`5bf21a4309`](https://github.com/nodejs/node/commit/5bf21a4309)] - **vm**: explain how to share promises between contexts w/ afterEvaluate (Eric Rannaud) [#&#8203;59801](https://github.com/nodejs/node/pull/59801) - \[[`312b33a083`](https://github.com/nodejs/node/commit/312b33a083)] - **vm**: "afterEvaluate", evaluate() return a promise from the outer context (Eric Rannaud) [#&#8203;59801](https://github.com/nodejs/node/pull/59801) - \[[`1eadab863c`](https://github.com/nodejs/node/commit/1eadab863c)] - **win,tools**: add description to signature (Martin Costello) [#&#8203;59877](https://github.com/nodejs/node/pull/59877) - \[[`816e1befb1`](https://github.com/nodejs/node/commit/816e1befb1)] - **zlib**: reduce code duplication (jhofstee) [#&#8203;57810](https://github.com/nodejs/node/pull/57810) ### [`v22.20.0`](https://github.com/nodejs/node/releases/tag/v22.20.0): 2025-09-24, Version 22.20.0 'Jod' (LTS), @&#8203;richardlau [Compare Source](https://github.com/nodejs/node/compare/v22.19.0...v22.20.0) ##### Notable Changes ##### OpenSSL updated to 3.5.2 For official Node.js builds, or builds using the default build configuration, Node.js now bundles OpenSSL 3.5.2. This update allows Node.js 22.x to be supported through to the planned End-of-Life date of 2027-04-30 as the previously bundled OpenSSL 3.0.x goes out of support in September 2026. This change does not affect third-party builds of Node.js that link to an external OpenSSL (or OpenSSL-compatible) library. ##### Other notable changes - \[[`5b83e1e0a2`](https://github.com/nodejs/node/commit/5b83e1e0a2)] - **crypto**: update root certificates to NSS 3.114 (Node.js GitHub Bot) [#&#8203;59571](https://github.com/nodejs/node/pull/59571) - \[[`34b25fd97b`](https://github.com/nodejs/node/commit/34b25fd97b)] - **doc**: stabilize --disable-sigusr1 (Rafael Gonzaga) [#&#8203;59707](https://github.com/nodejs/node/pull/59707) - \[[`bf41218ed9`](https://github.com/nodejs/node/commit/bf41218ed9)] - **doc**: mark `path.matchesGlob` as stable (Aviv Keller) [#&#8203;59572](https://github.com/nodejs/node/pull/59572) - \[[`1dbad2058f`](https://github.com/nodejs/node/commit/1dbad2058f)] - **(SEMVER-MINOR)** **http**: add Agent.agentKeepAliveTimeoutBuffer option (Haram Jeong) [#&#8203;59315](https://github.com/nodejs/node/pull/59315) - \[[`062e837d5f`](https://github.com/nodejs/node/commit/062e837d5f)] - **(SEMVER-MINOR)** **http2**: add support for raw header arrays in h2Stream.respond() (Tim Perry) [#&#8203;59455](https://github.com/nodejs/node/pull/59455) - \[[`b8066611c3`](https://github.com/nodejs/node/commit/b8066611c3)] - **inspector**: add http2 tracking support (Darshan Sen) [#&#8203;59611](https://github.com/nodejs/node/pull/59611) - \[[`9b7dd40da8`](https://github.com/nodejs/node/commit/9b7dd40da8)] - **(SEMVER-MINOR)** **sea**: implement execArgvExtension (Joyee Cheung) [#&#8203;59560](https://github.com/nodejs/node/pull/59560) - \[[`48bfbd3dca`](https://github.com/nodejs/node/commit/48bfbd3dca)] - **(SEMVER-MINOR)** **sea**: support execArgv in sea config (Joyee Cheung) [#&#8203;59314](https://github.com/nodejs/node/pull/59314) - \[[`cf06e74076`](https://github.com/nodejs/node/commit/cf06e74076)] - **(SEMVER-MINOR)** **stream**: add brotli support to CompressionStream and DecompressionStream (Matthew Aitken) [#&#8203;59464](https://github.com/nodejs/node/pull/59464) - \[[`62bb80c17e`](https://github.com/nodejs/node/commit/62bb80c17e)] - **(SEMVER-MINOR)** **test_runner**: support object property mocking (Idan Goshen) [#&#8203;58438](https://github.com/nodejs/node/pull/58438) - \[[`9e2aa23be9`](https://github.com/nodejs/node/commit/9e2aa23be9)] - **(SEMVER-MINOR)** **worker**: add cpu profile APIs for worker (theanarkh) [#&#8203;59428](https://github.com/nodejs/node/pull/59428) ##### Commits - \[[`b7b78fd565`](https://github.com/nodejs/node/commit/b7b78fd565)] - **assert**: cap input size in myersDiff to avoid Int32Array overflow (Haram Jeong) [#&#8203;59578](https://github.com/nodejs/node/pull/59578) - \[[`9da50a6c53`](https://github.com/nodejs/node/commit/9da50a6c53)] - **benchmark**: sqlite prevent create both tables on prepare selects (Bruno Rodrigues) [#&#8203;59709](https://github.com/nodejs/node/pull/59709) - \[[`4c1538770e`](https://github.com/nodejs/node/commit/4c1538770e)] - **benchmark**: calibrate config array-vs-concat (Rafael Gonzaga) [#&#8203;59587](https://github.com/nodejs/node/pull/59587) - \[[`fc3f82d683`](https://github.com/nodejs/node/commit/fc3f82d683)] - **benchmark**: calibrate config v8/serialize.js (Rafael Gonzaga) [#&#8203;59586](https://github.com/nodejs/node/pull/59586) - \[[`e95c9b2950`](https://github.com/nodejs/node/commit/e95c9b2950)] - **benchmark**: reduce readfile-permission-enabled config (Rafael Gonzaga) [#&#8203;59589](https://github.com/nodejs/node/pull/59589) - \[[`e4fea38b31`](https://github.com/nodejs/node/commit/e4fea38b31)] - **benchmark**: calibrate length of util.diff (Rafael Gonzaga) [#&#8203;59588](https://github.com/nodejs/node/pull/59588) - \[[`c5d68c4a0f`](https://github.com/nodejs/node/commit/c5d68c4a0f)] - **benchmark, test**: replace CRLF variable with string literal (Lee Jiho) [#&#8203;59466](https://github.com/nodejs/node/pull/59466) - \[[`129a1d673b`](https://github.com/nodejs/node/commit/129a1d673b)] - **build**: fix getting OpenSSL version on Windows (Michaël Zasso) [#&#8203;59609](https://github.com/nodejs/node/pull/59609) - \[[`9f53db7162`](https://github.com/nodejs/node/commit/9f53db7162)] - **build**: fix 'implicit-function-declaration' on OpenHarmony platform (hqzing) [#&#8203;59547](https://github.com/nodejs/node/pull/59547) - \[[`3839593e07`](https://github.com/nodejs/node/commit/3839593e07)] - **build**: use `windows-2025` runner (Michaël Zasso) [#&#8203;59673](https://github.com/nodejs/node/pull/59673) - \[[`e430464669`](https://github.com/nodejs/node/commit/e430464669)] - **build**: compile bundled uvwasi conditionally (Carlo Cabrera) [#&#8203;59622](https://github.com/nodejs/node/pull/59622) - \[[`e2c9cab0cd`](https://github.com/nodejs/node/commit/e2c9cab0cd)] - **build**: do not set `-mminimal-toc` with `clang` (Richard Lau) [#&#8203;59484](https://github.com/nodejs/node/pull/59484) - \[[`208bc810a1`](https://github.com/nodejs/node/commit/208bc810a1)] - **child_process**: remove unsafe array iteration (hotpineapple) [#&#8203;59347](https://github.com/nodejs/node/pull/59347) - \[[`d74799d90c`](https://github.com/nodejs/node/commit/d74799d90c)] - **crypto**: load system CA certificates off thread (Joyee Cheung) [#&#8203;59550](https://github.com/nodejs/node/pull/59550) - \[[`5b83e1e0a2`](https://github.com/nodejs/node/commit/5b83e1e0a2)] - **crypto**: update root certificates to NSS 3.114 (Node.js GitHub Bot) [#&#8203;59571](https://github.com/nodejs/node/pull/59571) - \[[`d289b1d1af`](https://github.com/nodejs/node/commit/d289b1d1af)] - **deps**: V8: cherry-pick [`e3df60f`](https://github.com/nodejs/node/commit/e3df60f3f5ab) (Chengzhong Wu) [#&#8203;58691](https://github.com/nodejs/node/pull/58691) - \[[`cf5d91e2a6`](https://github.com/nodejs/node/commit/cf5d91e2a6)] - **deps**: update uvwasi to 0.0.23 (Node.js GitHub Bot) [#&#8203;59791](https://github.com/nodejs/node/pull/59791) - \[[`1cf24a0445`](https://github.com/nodejs/node/commit/1cf24a0445)] - **deps**: update histogram to 0.11.9 (Node.js GitHub Bot) [#&#8203;59689](https://github.com/nodejs/node/pull/59689) - \[[`8638bd3f2e`](https://github.com/nodejs/node/commit/8638bd3f2e)] - **deps**: update googletest to [`eb2d85e`](https://github.com/nodejs/node/commit/eb2d85e) (Node.js GitHub Bot) [#&#8203;59335](https://github.com/nodejs/node/pull/59335) - \[[`3ff4eb5b37`](https://github.com/nodejs/node/commit/3ff4eb5b37)] - **deps**: update amaro to 1.1.2 (Node.js GitHub Bot) [#&#8203;59616](https://github.com/nodejs/node/pull/59616) - \[[`4d268ac034`](https://github.com/nodejs/node/commit/4d268ac034)] - **deps**: V8: cherry-pick [`7b91e3e`](https://github.com/nodejs/node/commit/7b91e3e2cbaf) (Milad Fa) [#&#8203;59485](https://github.com/nodejs/node/pull/59485) - \[[`83410eb0e3`](https://github.com/nodejs/node/commit/83410eb0e3)] - **deps**: V8: cherry-pick [`59d52e3`](https://github.com/nodejs/node/commit/59d52e311bb1) (Milad Fa) [#&#8203;59485](https://github.com/nodejs/node/pull/59485) - \[[`5780af02cb`](https://github.com/nodejs/node/commit/5780af02cb)] - **deps**: update amaro to 1.1.1 (Node.js GitHub Bot) [#&#8203;59141](https://github.com/nodejs/node/pull/59141) - \[[`2986eca821`](https://github.com/nodejs/node/commit/2986eca821)] - **deps**: V8: cherry-pick [`6b1b9bc`](https://github.com/nodejs/node/commit/6b1b9bca2a8) (zhoumingtao) [#&#8203;59283](https://github.com/nodejs/node/pull/59283) - \[[`98e399b3ea`](https://github.com/nodejs/node/commit/98e399b3ea)] - **deps**: update archs files for openssl-3.5.2 (Node.js GitHub Bot) [#&#8203;59371](https://github.com/nodejs/node/pull/59371) - \[[`2b983a7520`](https://github.com/nodejs/node/commit/2b983a7520)] - **deps**: upgrade openssl sources to openssl-3.5.2 (Node.js GitHub Bot) [#&#8203;59371](https://github.com/nodejs/node/pull/59371) - \[[`7ffbb42454`](https://github.com/nodejs/node/commit/7ffbb42454)] - **deps**: update archs files for openssl-3.5.1 (Node.js GitHub Bot) [#&#8203;59234](https://github.com/nodejs/node/pull/59234) - \[[`bd48a60a75`](https://github.com/nodejs/node/commit/bd48a60a75)] - **deps**: upgrade openssl sources to openssl-3.5.1 (Node.js GitHub Bot) [#&#8203;59234](https://github.com/nodejs/node/pull/59234) - \[[`24762a10ca`](https://github.com/nodejs/node/commit/24762a10ca)] - **deps**: fix OpenSSL security level at 1 (Richard Lau) [#&#8203;59859](https://github.com/nodejs/node/pull/59859) - \[[`1233e92d10`](https://github.com/nodejs/node/commit/1233e92d10)] - **diagnostics_channel**: revoke DEP0163 (René) [#&#8203;59758](https://github.com/nodejs/node/pull/59758) - \[[`34b25fd97b`](https://github.com/nodejs/node/commit/34b25fd97b)] - **doc**: stabilize --disable-sigusr1 (Rafael Gonzaga) [#&#8203;59707](https://github.com/nodejs/node/pull/59707) - \[[`d7adf8be64`](https://github.com/nodejs/node/commit/d7adf8be64)] - **doc**: update "Type stripping in dependencies" section (Josh Kelley) [#&#8203;59652](https://github.com/nodejs/node/pull/59652) - \[[`a1d7e4fdbf`](https://github.com/nodejs/node/commit/a1d7e4fdbf)] - **doc**: add Miles Guicent as triager (Miles Guicent) [#&#8203;59562](https://github.com/nodejs/node/pull/59562) - \[[`bf41218ed9`](https://github.com/nodejs/node/commit/bf41218ed9)] - **doc**: mark `path.matchesGlob` as stable (Aviv Keller) [#&#8203;59572](https://github.com/nodejs/node/pull/59572) - \[[`afaa1ccb74`](https://github.com/nodejs/node/commit/afaa1ccb74)] - **doc**: improve documentation for raw headers in HTTP/2 APIs (Tim Perry) [#&#8203;59633](https://github.com/nodejs/node/pull/59633) - \[[`b95ff56102`](https://github.com/nodejs/node/commit/b95ff56102)] - **doc**: update install_tools.bat free disk space (Stefan Stojanovic) [#&#8203;59579](https://github.com/nodejs/node/pull/59579) - \[[`6ff939b8d3`](https://github.com/nodejs/node/commit/6ff939b8d3)] - **doc**: fix filehandle.read typo (Ruy Adorno) [#&#8203;59635](https://github.com/nodejs/node/pull/59635) - \[[`963bfa9d6f`](https://github.com/nodejs/node/commit/963bfa9d6f)] - **doc**: fix missing link to the Error documentation in the `http` page (Alexander Makarenko) [#&#8203;59080](https://github.com/nodejs/node/pull/59080) - \[[`0e10a8ea27`](https://github.com/nodejs/node/commit/0e10a8ea27)] - **doc**: improve `sqlite.backup()` progress/fulfillment documentation (René) [#&#8203;59598](https://github.com/nodejs/node/pull/59598) - \[[`18ceefbabd`](https://github.com/nodejs/node/commit/18ceefbabd)] - **doc**: clarify experimental platform vulnerability policy (Matteo Collina) [#&#8203;59591](https://github.com/nodejs/node/pull/59591) - \[[`66cdd00368`](https://github.com/nodejs/node/commit/66cdd00368)] - **doc**: link to `TypedArray.from()` in signature (Aviv Keller) [#&#8203;59226](https://github.com/nodejs/node/pull/59226) - \[[`9f058ce7c0`](https://github.com/nodejs/node/commit/9f058ce7c0)] - **doc**: fix typos in `environment_variables.md` (PhistucK) [#&#8203;59536](https://github.com/nodejs/node/pull/59536) - \[[`3cfec820e9`](https://github.com/nodejs/node/commit/3cfec820e9)] - **doc**: add security incident reponse plan (Rafael Gonzaga) [#&#8203;59470](https://github.com/nodejs/node/pull/59470) - \[[`46aa3434e6`](https://github.com/nodejs/node/commit/46aa3434e6)] - **doc**: clarify maxRSS unit in `process.resourceUsage()` (Alex Yang) [#&#8203;59511](https://github.com/nodejs/node/pull/59511) - \[[`adf98f600a`](https://github.com/nodejs/node/commit/adf98f600a)] - **doc**: add missing Zstd strategy constants (RANDRIAMANANTENA Narindra Tiana Annaick) [#&#8203;59312](https://github.com/nodejs/node/pull/59312) - \[[`f335989942`](https://github.com/nodejs/node/commit/f335989942)] - **doc**: fix the version tls.DEFAULT_CIPHERS was added (Allon Murienik) [#&#8203;59247](https://github.com/nodejs/node/pull/59247) - \[[`7fa14fcf54`](https://github.com/nodejs/node/commit/7fa14fcf54)] - **doc**: clarify glob's exclude option behavior (hotpineapple) [#&#8203;59245](https://github.com/nodejs/node/pull/59245) - \[[`85b8d255c9`](https://github.com/nodejs/node/commit/85b8d255c9)] - **doc**: add RafaelGSS as performance strategic lead (Rafael Gonzaga) [#&#8203;59445](https://github.com/nodejs/node/pull/59445) - \[[`16b1f7a602`](https://github.com/nodejs/node/commit/16b1f7a602)] - **doc**: add new environment variables doc page (Dario Piotrowicz) [#&#8203;59052](https://github.com/nodejs/node/pull/59052) - \[[`b4a43ed83a`](https://github.com/nodejs/node/commit/b4a43ed83a)] - **doc**: add missing environment variables to manpage (amir lavasani) [#&#8203;58963](https://github.com/nodejs/node/pull/58963) - \[[`c923cfe898`](https://github.com/nodejs/node/commit/c923cfe898)] - **doc**: fix links in test.md (Vas Sudanagunta) [#&#8203;58876](https://github.com/nodejs/node/pull/58876) - \[[`a93a8b5eda`](https://github.com/nodejs/node/commit/a93a8b5eda)] - **doc**: mark type stripping as release candidate (Marco Ippolito) [#&#8203;57705](https://github.com/nodejs/node/pull/57705) - \[[`d302cb3bb2`](https://github.com/nodejs/node/commit/d302cb3bb2)] - **esm**: add experimental support for addon modules (Chengzhong Wu) [#&#8203;55844](https://github.com/nodejs/node/pull/55844) - \[[`d55c3e7f0b`](https://github.com/nodejs/node/commit/d55c3e7f0b)] - **esm**: link modules synchronously when no async loader hooks are used (Joyee Cheung) [#&#8203;59519](https://github.com/nodejs/node/pull/59519) - \[[`9e1fbb620f`](https://github.com/nodejs/node/commit/9e1fbb620f)] - **esm**: show race error message for inner module job race (Joyee Cheung) [#&#8203;59519](https://github.com/nodejs/node/pull/59519) - \[[`8c4dcd5199`](https://github.com/nodejs/node/commit/8c4dcd5199)] - **esm**: sync-ify module translation (Joyee Cheung) [#&#8203;59453](https://github.com/nodejs/node/pull/59453) - \[[`71038932d3`](https://github.com/nodejs/node/commit/71038932d3)] - **fs**: fix wrong order of file names in cpSync error message (Nicholas Paun) [#&#8203;59775](https://github.com/nodejs/node/pull/59775) - \[[`5692dec451`](https://github.com/nodejs/node/commit/5692dec451)] - **fs**: fix dereference: false on cpSync (Nicholas Paun) [#&#8203;59681](https://github.com/nodejs/node/pull/59681) - \[[`dafd561d37`](https://github.com/nodejs/node/commit/dafd561d37)] - **fs**: fix return value of fs APIs (theanarkh) [#&#8203;58996](https://github.com/nodejs/node/pull/58996) - \[[`da6e8cb75b`](https://github.com/nodejs/node/commit/da6e8cb75b)] - **http**: unbreak keepAliveTimeoutBuffer (Robert Nagy) [#&#8203;59784](https://github.com/nodejs/node/pull/59784) - \[[`673a48f0a2`](https://github.com/nodejs/node/commit/673a48f0a2)] - **http**: use cached '1.1' http version string (Robert Nagy) [#&#8203;59717](https://github.com/nodejs/node/pull/59717) - \[[`1dbad2058f`](https://github.com/nodejs/node/commit/1dbad2058f)] - **(SEMVER-MINOR)** **http**: add Agent.agentKeepAliveTimeoutBuffer option (Haram Jeong) [#&#8203;59315](https://github.com/nodejs/node/pull/59315) - \[[`062e837d5f`](https://github.com/nodejs/node/commit/062e837d5f)] - **(SEMVER-MINOR)** **http2**: add support for raw header arrays in h2Stream.respond() (Tim Perry) [#&#8203;59455](https://github.com/nodejs/node/pull/59455) - \[[`4d4fb51b89`](https://github.com/nodejs/node/commit/4d4fb51b89)] - **http2**: report sent headers object in client stream dcs (Darshan Sen) [#&#8203;59419](https://github.com/nodejs/node/pull/59419) - \[[`b8066611c3`](https://github.com/nodejs/node/commit/b8066611c3)] - **inspector**: add http2 tracking support (Darshan Sen) [#&#8203;59611](https://github.com/nodejs/node/pull/59611) - \[[`9b2c013032`](https://github.com/nodejs/node/commit/9b2c013032)] - **inspector**: prevent propagation of promise hooks to noPromise hooks (Shima Ryuhei) [#&#8203;58841](https://github.com/nodejs/node/pull/58841) - \[[`a2329895e7`](https://github.com/nodejs/node/commit/a2329895e7)] - **lib**: fix DOMException subclass support (Chengzhong Wu) [#&#8203;59680](https://github.com/nodejs/node/pull/59680) - \[[`edb9248bdd`](https://github.com/nodejs/node/commit/edb9248bdd)] - **lib**: make domexception a native error (Chengzhong Wu) [#&#8203;58691](https://github.com/nodejs/node/pull/58691) - \[[`ccf29cda19`](https://github.com/nodejs/node/commit/ccf29cda19)] - ***Revert*** "**lib**: optimize writable stream buffer clearing" (Yoo) [#&#8203;59743](https://github.com/nodejs/node/pull/59743) - \[[`f291eda277`](https://github.com/nodejs/node/commit/f291eda277)] - **lib**: fix isReadable and isWritable return type value (Gabriel Quaresma) [#&#8203;59089](https://github.com/nodejs/node/pull/59089) - \[[`10ae8684ea`](https://github.com/nodejs/node/commit/10ae8684ea)] - **lib**: revert to using default derived class constructors (René) [#&#8203;59650](https://github.com/nodejs/node/pull/59650) - \[[`5d3b80d62d`](https://github.com/nodejs/node/commit/5d3b80d62d)] - **lib**: do not modify prototype deprecated asyncResource (encore) (Szymon Łągiewka) [#&#8203;59518](https://github.com/nodejs/node/pull/59518) - \[[`3c4541f878`](https://github.com/nodejs/node/commit/3c4541f878)] - **lib**: simplify IPv6 checks in isLoopback() (Krishnadas) [#&#8203;59375](https://github.com/nodejs/node/pull/59375) - \[[`0b631bbffa`](https://github.com/nodejs/node/commit/0b631bbffa)] - **lib**: handle windows reserved device names on UNC (Rafael Gonzaga) [#&#8203;59286](https://github.com/nodejs/node/pull/59286) - \[[`297f62ba1f`](https://github.com/nodejs/node/commit/297f62ba1f)] - **meta**: bump `codecov/codecov-action` (dependabot\[bot]) [#&#8203;59726](https://github.com/nodejs/node/pull/59726) - \[[`3dcd8446b6`](https://github.com/nodejs/node/commit/3dcd8446b6)] - **meta**: bump actions/download-artifact from 4.3.0 to 5.0.0 (dependabot\[bot]) [#&#8203;59729](https://github.com/nodejs/node/pull/59729) - \[[`d0d357f683`](https://github.com/nodejs/node/commit/d0d357f683)] - **meta**: bump github/codeql-action from 3.29.2 to 3.30.0 (dependabot\[bot]) [#&#8203;59728](https://github.com/nodejs/node/pull/59728) - \[[`2a0e264949`](https://github.com/nodejs/node/commit/2a0e264949)] - **meta**: bump actions/cache from 4.2.3 to 4.2.4 (dependabot\[bot]) [#&#8203;59727](https://github.com/nodejs/node/pull/59727) - \[[`0a013d1da1`](https://github.com/nodejs/node/commit/0a013d1da1)] - **meta**: bump actions/checkout from 4.2.2 to 5.0.0 (dependabot\[bot]) [#&#8203;59725](https://github.com/nodejs/node/pull/59725) - \[[`c690b53d24`](https://github.com/nodejs/node/commit/c690b53d24)] - **meta**: update devcontainer to the latest schema (Aviv Keller) [#&#8203;54347](https://github.com/nodejs/node/pull/54347) - \[[`61171c7756`](https://github.com/nodejs/node/commit/61171c7756)] - **module**: correctly detect top-level await in ambiguous contexts (Shima Ryuhei) [#&#8203;58646](https://github.com/nodejs/node/pull/58646) - \[[`75bf3f4a87`](https://github.com/nodejs/node/commit/75bf3f4a87)] - **node-api**: link to other programming language bindings (Chengzhong Wu) [#&#8203;59516](https://github.com/nodejs/node/pull/59516) - \[[`9a05107558`](https://github.com/nodejs/node/commit/9a05107558)] - **node-api**: clarify enum value ABI stability (Chengzhong Wu) [#&#8203;59085](https://github.com/nodejs/node/pull/59085) - \[[`658c31d60c`](https://github.com/nodejs/node/commit/658c31d60c)] - **path**: refactor path joining logic for clarity and performance (Lee Jiho) [#&#8203;59781](https://github.com/nodejs/node/pull/59781) - \[[`9cc89f55f7`](https://github.com/nodejs/node/commit/9cc89f55f7)] - **path,win**: fix bug in resolve and normalize (Hüseyin Açacak) [#&#8203;55623](https://github.com/nodejs/node/pull/55623) - \[[`24e825f8f5`](https://github.com/nodejs/node/commit/24e825f8f5)] - **sea**: implement sea.getAssetKeys() (Joyee Cheung) [#&#8203;59661](https://github.com/nodejs/node/pull/59661) - \[[`c66af21e55`](https://github.com/nodejs/node/commit/c66af21e55)] - **sea**: allow using inspector command line flags with SEA (Joyee Cheung) [#&#8203;59568](https://github.com/nodejs/node/pull/59568) - \[[`9b7dd40da8`](https://github.com/nodejs/node/commit/9b7dd40da8)] - **(SEMVER-MINOR)** **sea**: implement execArgvExtension (Joyee Cheung) [#&#8203;59560](https://github.com/nodejs/node/pull/59560) - \[[`48bfbd3dca`](https://github.com/nodejs/node/commit/48bfbd3dca)] - **(SEMVER-MINOR)** **sea**: support execArgv in sea config (Joyee Cheung) [#&#8203;59314](https://github.com/nodejs/node/pull/59314) - \[[`5559456fe4`](https://github.com/nodejs/node/commit/5559456fe4)] - **sqlite**: add sqlite-type symbol for DatabaseSync (Alex Yang) [#&#8203;59405](https://github.com/nodejs/node/pull/59405) - \[[`3478130da3`](https://github.com/nodejs/node/commit/3478130da3)] - **sqlite**: handle ?NNN parameters as positional (Edy Silva) [#&#8203;59350](https://github.com/nodejs/node/pull/59350) - \[[`312bc4e5d1`](https://github.com/nodejs/node/commit/312bc4e5d1)] - **sqlite**: avoid useless call to FromMaybe() (Tobias Nießen) [#&#8203;59490](https://github.com/nodejs/node/pull/59490) - \[[`937e9bb1c6`](https://github.com/nodejs/node/commit/937e9bb1c6)] - **src**: track BaseObjects with an efficient list (Chengzhong Wu) [#&#8203;55104](https://github.com/nodejs/node/pull/55104) - \[[`be2a5e170d`](https://github.com/nodejs/node/commit/be2a5e170d)] - **src**: track async resources via pointers to stack-allocated handles (Anna Henningsen) [#&#8203;59704](https://github.com/nodejs/node/pull/59704) - \[[`f232bf2c11`](https://github.com/nodejs/node/commit/f232bf2c11)] - **src**: fix build on NetBSD (Thomas Klausner) [#&#8203;59718](https://github.com/nodejs/node/pull/59718) - \[[`e9a685bc3d`](https://github.com/nodejs/node/commit/e9a685bc3d)] - **src**: fix race on process exit and off thread CA loading (Chengzhong Wu) [#&#8203;59632](https://github.com/nodejs/node/pull/59632) - \[[`24428fc8fb`](https://github.com/nodejs/node/commit/24428fc8fb)] - **src**: add name for more threads (theanarkh) [#&#8203;59601](https://github.com/nodejs/node/pull/59601) - \[[`fd7559f8c3`](https://github.com/nodejs/node/commit/fd7559f8c3)] - **src**: remove JSONParser (Joyee Cheung) [#&#8203;59619](https://github.com/nodejs/node/pull/59619) - \[[`8c296bac99`](https://github.com/nodejs/node/commit/8c296bac99)] - **src**: enforce assumptions in FIXED_ONE_BYTE_STRING (Tobias Nießen) [#&#8203;58155](https://github.com/nodejs/node/pull/58155) - \[[`1b4885a3f2`](https://github.com/nodejs/node/commit/1b4885a3f2)] - **src**: use simdjson to parse --snapshot-config (Joyee Cheung) [#&#8203;59473](https://github.com/nodejs/node/pull/59473) - \[[`9f798de6b0`](https://github.com/nodejs/node/commit/9f798de6b0)] - **src**: fix order of CHECK_NOT_NULL/dereference (Tobias Nießen) [#&#8203;59487](https://github.com/nodejs/node/pull/59487) - \[[`f764be27dc`](https://github.com/nodejs/node/commit/f764be27dc)] - **src**: move shared_ptr objects in KeyObjectData (Tobias Nießen) [#&#8203;59472](https://github.com/nodejs/node/pull/59472) - \[[`d30287fe12`](https://github.com/nodejs/node/commit/d30287fe12)] - **src**: iterate metadata version entries with std::array (Chengzhong Wu) [#&#8203;57866](https://github.com/nodejs/node/pull/57866) - \[[`b2bf620c7b`](https://github.com/nodejs/node/commit/b2bf620c7b)] - **src**: internalize `v8::ConvertableToTraceFormat` in traces (Chengzhong Wu) [#&#8203;57866](https://github.com/nodejs/node/pull/57866) - \[[`b3c507c8ef`](https://github.com/nodejs/node/commit/b3c507c8ef)] - **src**: remove duplicate assignment of `O_EXCL` in node_constants.cc (Daniel Osvaldo R) [#&#8203;59049](https://github.com/nodejs/node/pull/59049) - \[[`20aec239d4`](https://github.com/nodejs/node/commit/20aec239d4)] - **src**: add Intel CET properties to large_pages.S (tjuhaszrh) [#&#8203;59363](https://github.com/nodejs/node/pull/59363) - \[[`8e0f9cd061`](https://github.com/nodejs/node/commit/8e0f9cd061)] - **src**: remove unused DSAKeyExportJob (Filip Skokan) [#&#8203;59291](https://github.com/nodejs/node/pull/59291) - \[[`0c2b6df94f`](https://github.com/nodejs/node/commit/0c2b6df94f)] - **src,sqlite**: refactor value conversion (Edy Silva) [#&#8203;59659](https://github.com/nodejs/node/pull/59659) - \[[`b95cfdf0e5`](https://github.com/nodejs/node/commit/b95cfdf0e5)] - **stream**: replace manual function validation with validateFunction (방진혁) [#&#8203;59529](https://github.com/nodejs/node/pull/59529) - \[[`cf06e74076`](https://github.com/nodejs/node/commit/cf06e74076)] - **(SEMVER-MINOR)** **stream**: add brotli support to CompressionStream and DecompressionStream (Matthew Aitken) [#&#8203;59464](https://github.com/nodejs/node/pull/59464) - \[[`903ebd373a`](https://github.com/nodejs/node/commit/903ebd373a)] - **test**: skip more sea tests on Linux ppc64le (Richard Lau) [#&#8203;59755](https://github.com/nodejs/node/pull/59755) - \[[`e961060bb6`](https://github.com/nodejs/node/commit/e961060bb6)] - **test**: fix internet/test-dns (Michaël Zasso) [#&#8203;59660](https://github.com/nodejs/node/pull/59660) - \[[`c2b22f50a8`](https://github.com/nodejs/node/commit/c2b22f50a8)] - **test**: mark test-inspector-network-fetch as flaky again (Joyee Cheung) [#&#8203;59640](https://github.com/nodejs/node/pull/59640) - \[[`4ae958e59b`](https://github.com/nodejs/node/commit/4ae958e59b)] - **test**: skip test-fs-cp\* tests that are constantly failing on Windows (Joyee Cheung) [#&#8203;59637](https://github.com/nodejs/node/pull/59637) - \[[`d5b0a64598`](https://github.com/nodejs/node/commit/d5b0a64598)] - **test**: deflake test-http-keep-alive-empty-line (Luigi Pinca) [#&#8203;59595](https://github.com/nodejs/node/pull/59595) - \[[`eb311f1754`](https://github.com/nodejs/node/commit/eb311f1754)] - **test**: use mustSucceed in test-repl-tab-complete-import (Sohyeon Kim) [#&#8203;59368](https://github.com/nodejs/node/pull/59368) - \[[`8e047e32be`](https://github.com/nodejs/node/commit/8e047e32be)] - **test**: skip sea tests on Linux ppc64le (Richard Lau) [#&#8203;59563](https://github.com/nodejs/node/pull/59563) - \[[`4a250479d8`](https://github.com/nodejs/node/commit/4a250479d8)] - **test**: rename test-net-server-drop-connections-in-cluster.js to -http- (Meghan Denny) [#&#8203;59532](https://github.com/nodejs/node/pull/59532) - \[[`d22f113aaf`](https://github.com/nodejs/node/commit/d22f113aaf)] - **test**: lazy-load internalTTy (Pietro Marchini) [#&#8203;59517](https://github.com/nodejs/node/pull/59517) - \[[`36dd856897`](https://github.com/nodejs/node/commit/36dd856897)] - **test**: fix `test-setproctitle` status when `ps` is not available (Antoine du Hamel) [#&#8203;59523](https://github.com/nodejs/node/pull/59523) - \[[`fd02295da6`](https://github.com/nodejs/node/commit/fd02295da6)] - **test**: update WPT for WebCryptoAPI to [`ff26d9b`](https://github.com/nodejs/node/commit/ff26d9b307) (Node.js GitHub Bot) [#&#8203;59497](https://github.com/nodejs/node/pull/59497) - \[[`cce938c5f9`](https://github.com/nodejs/node/commit/cce938c5f9)] - **test**: make test-debug-process locale-independent (BCD1me) [#&#8203;59254](https://github.com/nodejs/node/pull/59254) - \[[`5a8f03df9e`](https://github.com/nodejs/node/commit/5a8f03df9e)] - **test**: mark test-wasi-pthread as flaky (Joyee Cheung) [#&#8203;59488](https://github.com/nodejs/node/pull/59488) - \[[`94f6d6b969`](https://github.com/nodejs/node/commit/94f6d6b969)] - **test**: split test-wasi.js (Joyee Cheung) [#&#8203;59488](https://github.com/nodejs/node/pull/59488) - \[[`162ac9393c`](https://github.com/nodejs/node/commit/162ac9393c)] - **test**: use case-insensitive path checking on Windows in fs.cpSync tests (Joyee Cheung) [#&#8203;59475](https://github.com/nodejs/node/pull/59475) - \[[`ce9d6776c9`](https://github.com/nodejs/node/commit/ce9d6776c9)] - **test**: add missing hasPostData in test-inspector-emit-protocol-event (Shima Ryuhei) [#&#8203;59412](https://github.com/nodejs/node/pull/59412) - \[[`717ea2866d`](https://github.com/nodejs/node/commit/717ea2866d)] - **test**: refactor error checks to use assert.ifError/mustSucceed (Sohyeon Kim) [#&#8203;59424](https://github.com/nodejs/node/pull/59424) - \[[`b1c3e4a17c`](https://github.com/nodejs/node/commit/b1c3e4a17c)] - **test**: fix typos (Lee Jiho) [#&#8203;59330](https://github.com/nodejs/node/pull/59330) - \[[`3f4bd94b1f`](https://github.com/nodejs/node/commit/3f4bd94b1f)] - **test**: skip test-watch-mode inspect when no inspector (James M Snell) [#&#8203;59440](https://github.com/nodejs/node/pull/59440) - \[[`8b7a8efe96`](https://github.com/nodejs/node/commit/8b7a8efe96)] - **test**: exclude mock from coverage (Shima Ryuhei) [#&#8203;59348](https://github.com/nodejs/node/pull/59348) - \[[`f39352b55c`](https://github.com/nodejs/node/commit/f39352b55c)] - **test**: split test-fs-cp.js (Joyee Cheung) [#&#8203;59408](https://github.com/nodejs/node/pull/59408) - \[[`fb4180e9f6`](https://github.com/nodejs/node/commit/fb4180e9f6)] - **test_runner**: fix todo inheritance (Moshe Atlow) [#&#8203;59721](https://github.com/nodejs/node/pull/59721) - \[[`76bf6b908d`](https://github.com/nodejs/node/commit/76bf6b908d)] - **test_runner**: set mock timer's interval undefined (hotpineapple) [#&#8203;59479](https://github.com/nodejs/node/pull/59479) - \[[`0a05d06fcc`](https://github.com/nodejs/node/commit/0a05d06fcc)] - **test_runner**: do not error when getting `fullName` of root context (René) [#&#8203;59377](https://github.com/nodejs/node/pull/59377) - \[[`3fdfb187d6`](https://github.com/nodejs/node/commit/3fdfb187d6)] - **test_runner**: fix isSkipped check in junit (Sungwon) [#&#8203;59414](https://github.com/nodejs/node/pull/59414) - \[[`37c6f7d7d8`](https://github.com/nodejs/node/commit/37c6f7d7d8)] - **test_runner**: remove unused callee convertion (Alex Yang) [#&#8203;59221](https://github.com/nodejs/node/pull/59221) - \[[`57c30093e3`](https://github.com/nodejs/node/commit/57c30093e3)] - **test_runner**: clean up promisified interval generation (René) [#&#8203;58824](https://github.com/nodejs/node/pull/58824) - \[[`88bf1bab91`](https://github.com/nodejs/node/commit/88bf1bab91)] - **test_runner**: correct "already mocked" error punctuation placement (Jacob Smith) [#&#8203;58840](https://github.com/nodejs/node/pull/58840) - \[[`d3259d660a`](https://github.com/nodejs/node/commit/d3259d660a)] - **test_runner**: prefer `Atomics` primordials (Renegade334) [#&#8203;58716](https://github.com/nodejs/node/pull/58716) - \[[`62bb80c17e`](https://github.com/nodejs/node/commit/62bb80c17e)] - **(SEMVER-MINOR)** **test_runner**: support object property mocking (Idan Goshen) [#&#8203;58438](https://github.com/nodejs/node/pull/58438) - \[[`4b19439dea`](https://github.com/nodejs/node/commit/4b19439dea)] - **tools**: print appropriate output when test aborted (hotpineapple) [#&#8203;59794](https://github.com/nodejs/node/pull/59794) - \[[`847963bbba`](https://github.com/nodejs/node/commit/847963bbba)] - **tools**: use sparse checkout in `build-tarball.yml` (Antoine du Hamel) [#&#8203;59788](https://github.com/nodejs/node/pull/59788) - \[[`ef11d118a4`](https://github.com/nodejs/node/commit/ef11d118a4)] - **tools**: remove unused actions from `build-tarball.yml` (Antoine du Hamel) [#&#8203;59787](https://github.com/nodejs/node/pull/59787) - \[[`daa0615967`](https://github.com/nodejs/node/commit/daa0615967)] - **tools**: do not attempt to compress tgz archive (Antoine du Hamel) [#&#8203;59785](https://github.com/nodejs/node/pull/59785) - \[[`fdc85e5045`](https://github.com/nodejs/node/commit/fdc85e5045)] - **tools**: add v8windbg target (Chengzhong Wu) [#&#8203;59767](https://github.com/nodejs/node/pull/59767) - \[[`25801b9009`](https://github.com/nodejs/node/commit/25801b9009)] - **tools**: improve error handling in node_mksnapshot (James M Snell) [#&#8203;59437](https://github.com/nodejs/node/pull/59437) - \[[`92100a813f`](https://github.com/nodejs/node/commit/92100a813f)] - **tools**: add sccache to `test-internet` workflow (Antoine du Hamel) [#&#8203;59720](https://github.com/nodejs/node/pull/59720) - \[[`5f0090af53`](https://github.com/nodejs/node/commit/5f0090af53)] - **tools**: update gyp-next to 0.20.4 (Node.js GitHub Bot) [#&#8203;59690](https://github.com/nodejs/node/pull/59690) - \[[`31ee7fc3e9`](https://github.com/nodejs/node/commit/31ee7fc3e9)] - **tools**: add script to make reviewing backport PRs easier (Antoine du Hamel) [#&#8203;59161](https://github.com/nodejs/node/pull/59161) - \[[`45906b0d5c`](https://github.com/nodejs/node/commit/45906b0d5c)] - **tools**: update gyp-next to 0.20.3 (Node.js GitHub Bot) [#&#8203;59603](https://github.com/nodejs/node/pull/59603) - \[[`6197eeee9b`](https://github.com/nodejs/node/commit/6197eeee9b)] - **tools**: avoid parsing test files twice (Pietro Marchini) [#&#8203;59526](https://github.com/nodejs/node/pull/59526) - \[[`027ae4f67e`](https://github.com/nodejs/node/commit/027ae4f67e)] - **tools**: fix return value of try_check_compiler (theanarkh) [#&#8203;59434](https://github.com/nodejs/node/pull/59434) - \[[`77682b52a1`](https://github.com/nodejs/node/commit/77682b52a1)] - **tools**: bump [@&#8203;eslint/plugin-kit](https://github.com/eslint/plugin-kit) from 0.3.3 to 0.3.4 in /tools/eslint (dependabot\[bot]) [#&#8203;59271](https://github.com/nodejs/node/pull/59271) - \[[`91fa83fffd`](https://github.com/nodejs/node/commit/91fa83fffd)] - **tools**: disable nullability-completeness warnings (Michaël Zasso) [#&#8203;59392](https://github.com/nodejs/node/pull/59392) - \[[`079a68d392`](https://github.com/nodejs/node/commit/079a68d392)] - **typings**: add typing for 'uv' (방진혁) [#&#8203;59606](https://github.com/nodejs/node/pull/59606) - \[[`b8927967d9`](https://github.com/nodejs/node/commit/b8927967d9)] - **typings**: add missing properties in ConfigBinding (Lee Jiho) [#&#8203;59585](https://github.com/nodejs/node/pull/59585) - \[[`9b66ce5ef7`](https://github.com/nodejs/node/commit/9b66ce5ef7)] - **typings**: add missing URLBinding methods (성우현 | Woohyun Sung) [#&#8203;59468](https://github.com/nodejs/node/pull/59468) - \[[`ba5b6597aa`](https://github.com/nodejs/node/commit/ba5b6597aa)] - **url**: add err.input to ERR_INVALID_FILE_URL_PATH (Joyee Cheung) [#&#8203;59730](https://github.com/nodejs/node/pull/59730) - \[[`f660943471`](https://github.com/nodejs/node/commit/f660943471)] - **util**: fix numericSeparator with negative fractional numbers (sangwook) [#&#8203;59379](https://github.com/nodejs/node/pull/59379) - \[[`aed1b883f1`](https://github.com/nodejs/node/commit/aed1b883f1)] - **util**: remove unnecessary template strings (btea) [#&#8203;59201](https://github.com/nodejs/node/pull/59201) - \[[`91e9b8d135`](https://github.com/nodejs/node/commit/91e9b8d135)] - **util**: remove outdated TODO comment (haramjeong) [#&#8203;59760](https://github.com/nodejs/node/pull/59760) - \[[`421ab3c294`](https://github.com/nodejs/node/commit/421ab3c294)] - **util**: use getOptionValue('--no-deprecation') in deprecated() (haramjeong) [#&#8203;59760](https://github.com/nodejs/node/pull/59760) - \[[`7864ad13bb`](https://github.com/nodejs/node/commit/7864ad13bb)] - **util**: hide duplicated stack frames when using util.inspect (Ruben Bridgewater) [#&#8203;59447](https://github.com/nodejs/node/pull/59447) - \[[`a2d2003daa`](https://github.com/nodejs/node/commit/a2d2003daa)] - **util**: fix error's namespaced node_modules highlighting using inspect (Ruben Bridgewater) [#&#8203;59446](https://github.com/nodejs/node/pull/59446) - \[[`f64d0def94`](https://github.com/nodejs/node/commit/f64d0def94)] - **util**: add some additional error classes to `wellKnownPrototypes` (Mark S. Miller) [#&#8203;59456](https://github.com/nodejs/node/pull/59456) - \[[`9807ffd6a0`](https://github.com/nodejs/node/commit/9807ffd6a0)] - **vm**: expose import attributes on SourceTextModule.moduleRequests (Chengzhong Wu) [#&#8203;58829](https://github.com/nodejs/node/pull/58829) - \[[`f334e2d539`](https://github.com/nodejs/node/commit/f334e2d539)] - **wasi**: fix `clean` target in `test/wasi/Makefile` (Antoine du Hamel) [#&#8203;59576](https://github.com/nodejs/node/pull/59576) - \[[`9e2aa23be9`](https://github.com/nodejs/node/commit/9e2aa23be9)] - **(SEMVER-MINOR)** **worker**: add cpu profile APIs for worker (theanarkh) [#&#8203;59428](https://github.com/nodejs/node/pull/59428) - \[[`c5a93a3355`](https://github.com/nodejs/node/commit/c5a93a3355)] - **worker**: fix worker name with \0 (theanarkh) [#&#8203;59214](https://github.com/nodejs/node/pull/59214) - \[[`a5ed96bb97`](https://github.com/nodejs/node/commit/a5ed96bb97)] - **worker**: add worker name to report (theanarkh) [#&#8203;58935](https://github.com/nodejs/node/pull/58935) - \[[`98cd7e27d4`](https://github.com/nodejs/node/commit/98cd7e27d4)] - **worker**: add name for worker (theanarkh) [#&#8203;59213](https://github.com/nodejs/node/pull/59213) ### [`v22.19.0`](https://github.com/nodejs/node/releases/tag/v22.19.0): 2025-08-28, Version 22.19.0 'Jod' (LTS), @&#8203;aduh95 [Compare Source](https://github.com/nodejs/node/compare/v22.18.0...v22.19.0) ##### Notable Changes - \[[`8e2076a24f`](https://github.com/nodejs/node/commit/8e2076a24f)] - **(SEMVER-MINOR)** **cli**: add `NODE_USE_SYSTEM_CA=1` (Joyee Cheung) [#&#8203;59276](https://github.com/nodejs/node/pull/59276) - \[[`e592d739c2`](https://github.com/nodejs/node/commit/e592d739c2)] - **(SEMVER-MINOR)** **cli**: support `${pid}` placeholder in `--cpu-prof-name` (Haram Jeong) [#&#8203;59072](https://github.com/nodejs/node/pull/59072) - \[[`cda1dab6e2`](https://github.com/nodejs/node/commit/cda1dab6e2)] - **(SEMVER-MINOR)** **crypto**: add `tls.setDefaultCACertificates()` (Joyee Cheung) [#&#8203;58822](https://github.com/nodejs/node/pull/58822) - \[[`1f184513e9`](https://github.com/nodejs/node/commit/1f184513e9)] - **(SEMVER-MINOR)** **dns**: support max timeout (theanarkh) [#&#8203;58440](https://github.com/nodejs/node/pull/58440) - \[[`bace73a173`](https://github.com/nodejs/node/commit/bace73a173)] - **doc**: update the instruction on how to verify releases (Antoine du Hamel) [#&#8203;59113](https://github.com/nodejs/node/pull/59113) - \[[`fa9a9e9c69`](https://github.com/nodejs/node/commit/fa9a9e9c69)] - **(SEMVER-MINOR)** **esm**: unflag `--experimental-wasm-modules` (Guy Bedford) [#&#8203;57038](https://github.com/nodejs/node/pull/57038) - \[[`390a9dc20b`](https://github.com/nodejs/node/commit/390a9dc20b)] - **(SEMVER-MINOR)** **http**: add `server.keepAliveTimeoutBuffer` option (Haram Jeong) [#&#8203;59243](https://github.com/nodejs/node/pull/59243) - \[[`c12c5343ad`](https://github.com/nodejs/node/commit/c12c5343ad)] - **lib**: docs deprecate `_http_*` (Sebastian Beltran) [#&#8203;59293](https://github.com/nodejs/node/pull/59293) - \[[`f57ee3d71f`](https://github.com/nodejs/node/commit/f57ee3d71f)] - **(SEMVER-MINOR)** **net**: update `net.blocklist` to allow file save and file management (alphaleadership) [#&#8203;58087](https://github.com/nodejs/node/pull/58087) - \[[`035da74c31`](https://github.com/nodejs/node/commit/035da74c31)] - **(SEMVER-MINOR)** **process**: add `threadCpuUsage` (Paolo Insogna) [#&#8203;56467](https://github.com/nodejs/node/pull/56467) - \[[`8e697d1884`](https://github.com/nodejs/node/commit/8e697d1884)] - **(SEMVER-MINOR)** **zlib**: add dictionary support to `zstdCompress` and `zstdDecompress` (lluisemper) [#&#8203;59240](https://github.com/nodejs/node/pull/59240) ##### Commits - \[[`73aa0ae37f`](https://github.com/nodejs/node/commit/73aa0ae37f)] - **assert**: change utils to use index instead of for...of (방진혁) [#&#8203;59278](https://github.com/nodejs/node/pull/59278) - \[[`dfe3a11eed`](https://github.com/nodejs/node/commit/dfe3a11eed)] - **benchmark**: remove deprecated \_extend from benchmark (Rafael Gonzaga) [#&#8203;59228](https://github.com/nodejs/node/pull/59228) - \[[`9b9d30042a`](https://github.com/nodejs/node/commit/9b9d30042a)] - **benchmark**: add fs warmup to writefile-promises (Bruno Rodrigues) [#&#8203;59215](https://github.com/nodejs/node/pull/59215) - \[[`a663f7f954`](https://github.com/nodejs/node/commit/a663f7f954)] - **benchmark**: add calibrate-n script (Rafael Gonzaga) [#&#8203;59186](https://github.com/nodejs/node/pull/59186) - \[[`1b9b5bddd6`](https://github.com/nodejs/node/commit/1b9b5bddd6)] - **benchmark**: adjust configuration for string-decoder bench (Rafael Gonzaga) [#&#8203;59187](https://github.com/nodejs/node/pull/59187) - \[[`d0ac3319f9`](https://github.com/nodejs/node/commit/d0ac3319f9)] - **benchmark**: add --track to benchmark (Rafael Gonzaga) [#&#8203;59174](https://github.com/nodejs/node/pull/59174) - \[[`2044968b86`](https://github.com/nodejs/node/commit/2044968b86)] - **benchmark**: small lint fix on \_cli.js (Rafael Gonzaga) [#&#8203;59172](https://github.com/nodejs/node/pull/59172) - \[[`4e519934cb`](https://github.com/nodejs/node/commit/4e519934cb)] - **benchmark**: drop misc/punycode benchmark (Rafael Gonzaga) [#&#8203;59171](https://github.com/nodejs/node/pull/59171) - \[[`07e173d969`](https://github.com/nodejs/node/commit/07e173d969)] - **benchmark**: fix sqlite-is-transaction (Rafael Gonzaga) [#&#8203;59170](https://github.com/nodejs/node/pull/59170) - \[[`8440b6177f`](https://github.com/nodejs/node/commit/8440b6177f)] - **benchmark**: reduce N for diagnostics_channel subscribe benchmark (Arthur Angelo) [#&#8203;59116](https://github.com/nodejs/node/pull/59116) - \[[`8615ea6db0`](https://github.com/nodejs/node/commit/8615ea6db0)] - **buffer**: cache Environment::GetCurrent to avoid repeated calls (Mert Can Altin) [#&#8203;59043](https://github.com/nodejs/node/pull/59043) - \[[`3deb5361d2`](https://github.com/nodejs/node/commit/3deb5361d2)] - **build**: fix node_use_sqlite for GN builds (Shelley Vohr) [#&#8203;59017](https://github.com/nodejs/node/pull/59017) - \[[`0f0ce63116`](https://github.com/nodejs/node/commit/0f0ce63116)] - **build**: remove suppressions.supp (Rafael Gonzaga) [#&#8203;59079](https://github.com/nodejs/node/pull/59079) - \[[`b30a2117dc`](https://github.com/nodejs/node/commit/b30a2117dc)] - **build,deps,tools**: prepare to update to OpenSSL 3.5 (Richard Lau) [#&#8203;58100](https://github.com/nodejs/node/pull/58100) - \[[`8e2076a24f`](https://github.com/nodejs/node/commit/8e2076a24f)] - **(SEMVER-MINOR)** **cli**: add NODE_USE_SYSTEM_CA=1 (Joyee Cheung) [#&#8203;59276](https://github.com/nodejs/node/pull/59276) - \[[`e592d739c2`](https://github.com/nodejs/node/commit/e592d739c2)] - **(SEMVER-MINOR)** **cli**: support `${pid}` placeholder in --cpu-prof-name (Haram Jeong) [#&#8203;59072](https://github.com/nodejs/node/pull/59072) - \[[`b5571047ed`](https://github.com/nodejs/node/commit/b5571047ed)] - **crypto**: prepare webcrypto key import/export for modern algorithms (Filip Skokan) [#&#8203;59284](https://github.com/nodejs/node/pull/59284) - \[[`cda1dab6e2`](https://github.com/nodejs/node/commit/cda1dab6e2)] - **(SEMVER-MINOR)** **crypto**: add tls.setDefaultCACertificates() (Joyee Cheung) [#&#8203;58822](https://github.com/nodejs/node/pull/58822) - \[[`76dab34fb7`](https://github.com/nodejs/node/commit/76dab34fb7)] - **deps**: support madvise(3C) across ALL illumos revisions (Dan McDonald) [#&#8203;58237](https://github.com/nodejs/node/pull/58237) - \[[`19d3ed64b6`](https://github.com/nodejs/node/commit/19d3ed64b6)] - **deps**: update sqlite to 3.50.4 (Node.js GitHub Bot) [#&#8203;59337](https://github.com/nodejs/node/pull/59337) - \[[`38bafc59e0`](https://github.com/nodejs/node/commit/38bafc59e0)] - **deps**: V8: backport [`493cb53`](https://github.com/nodejs/node/commit/493cb53691be) (Chengzhong Wu) [#&#8203;59238](https://github.com/nodejs/node/pull/59238) - \[[`e8da171cc3`](https://github.com/nodejs/node/commit/e8da171cc3)] - **deps**: update sqlite to 3.50.3 (Node.js GitHub Bot) [#&#8203;59132](https://github.com/nodejs/node/pull/59132) - \[[`fd4ba38ab6`](https://github.com/nodejs/node/commit/fd4ba38ab6)] - **deps**: update googletest to [`7e17b15`](https://github.com/nodejs/node/commit/7e17b15) (Node.js GitHub Bot) [#&#8203;59131](https://github.com/nodejs/node/pull/59131) - \[[`f71f427b95`](https://github.com/nodejs/node/commit/f71f427b95)] - **deps**: update archs files for openssl-3.0.17 (Node.js GitHub Bot) [#&#8203;59134](https://github.com/nodejs/node/pull/59134) - \[[`79c5a8f4d2`](https://github.com/nodejs/node/commit/79c5a8f4d2)] - **deps**: upgrade openssl sources to openssl-3.0.17 (Node.js GitHub Bot) [#&#8203;59134](https://github.com/nodejs/node/pull/59134) - \[[`0dcc84cf53`](https://github.com/nodejs/node/commit/0dcc84cf53)] - **deps**: update corepack to 0.34.0 (Node.js GitHub Bot) [#&#8203;59133](https://github.com/nodejs/node/pull/59133) - \[[`1f184513e9`](https://github.com/nodejs/node/commit/1f184513e9)] - **(SEMVER-MINOR)** **dns**: support max timeout (theanarkh) [#&#8203;58440](https://github.com/nodejs/node/pull/58440) - \[[`f64f5df80e`](https://github.com/nodejs/node/commit/f64f5df80e)] - **doc**: fix `--use-system-ca` history (Joyee Cheung) [#&#8203;59411](https://github.com/nodejs/node/pull/59411) - \[[`e22aeaa38f`](https://github.com/nodejs/node/commit/e22aeaa38f)] - **doc**: add missing section for `setReturnArrays` in `sqlite.md` (Edy Silva) [#&#8203;59074](https://github.com/nodejs/node/pull/59074) - \[[`e44ef07235`](https://github.com/nodejs/node/commit/e44ef07235)] - **doc**: rename x509.extKeyUsage to x509.keyUsage (Filip Skokan) [#&#8203;59332](https://github.com/nodejs/node/pull/59332) - \[[`2c5d0aac5e`](https://github.com/nodejs/node/commit/2c5d0aac5e)] - **doc**: fix Pbkdf2Params hash attribute heading (Filip Skokan) [#&#8203;59395](https://github.com/nodejs/node/pull/59395) - \[[`fde94346e5`](https://github.com/nodejs/node/commit/fde94346e5)] - **doc**: fix missing reference links for server.keepAliveTimeoutBuffer (Lee Jiho) [#&#8203;59356](https://github.com/nodejs/node/pull/59356) - \[[`9af8bcea58`](https://github.com/nodejs/node/commit/9af8bcea58)] - **doc**: fix grammar in global dispatcher usage (Eng Zer Jun) [#&#8203;59344](https://github.com/nodejs/node/pull/59344) - \[[`0edf17198f`](https://github.com/nodejs/node/commit/0edf17198f)] - **doc**: run license-builder (github-actions\[bot]) [#&#8203;59343](https://github.com/nodejs/node/pull/59343) - \[[`7f767a2e38`](https://github.com/nodejs/node/commit/7f767a2e38)] - **doc**: correct orthography `eg.` → `e.g.` (Jacob Smith) [#&#8203;59329](https://github.com/nodejs/node/pull/59329) - \[[`a46ed50350`](https://github.com/nodejs/node/commit/a46ed50350)] - **doc**: clarify the need of compiler compatible with c++20 (Rafael Gonzaga) [#&#8203;59297](https://github.com/nodejs/node/pull/59297) - \[[`212263a305`](https://github.com/nodejs/node/commit/212263a305)] - **doc**: clarify release candidate stability index (Filip Skokan) [#&#8203;59295](https://github.com/nodejs/node/pull/59295) - \[[`ce93b8b556`](https://github.com/nodejs/node/commit/ce93b8b556)] - **doc**: add WDYT to glossary (btea) [#&#8203;59280](https://github.com/nodejs/node/pull/59280) - \[[`ebaaf2c67f`](https://github.com/nodejs/node/commit/ebaaf2c67f)] - **doc**: add manpage entry for --use-system-ca (Joyee Cheung) [#&#8203;59273](https://github.com/nodejs/node/pull/59273) - \[[`43b5a21916`](https://github.com/nodejs/node/commit/43b5a21916)] - **doc**: add path.join and path.normalize clarification (Rafael Gonzaga) [#&#8203;59262](https://github.com/nodejs/node/pull/59262) - \[[`409c66d328`](https://github.com/nodejs/node/commit/409c66d328)] - **doc**: fix typo in `test/common/README.md` (Yoo) [#&#8203;59180](https://github.com/nodejs/node/pull/59180) - \[[`cbb0a8eb13`](https://github.com/nodejs/node/commit/cbb0a8eb13)] - **doc**: add note on process memoryUsage (fengmk2) [#&#8203;59026](https://github.com/nodejs/node/pull/59026) - \[[`9892b15d81`](https://github.com/nodejs/node/commit/9892b15d81)] - **doc**: format safely for `doc-kit` (Aviv Keller) [#&#8203;59229](https://github.com/nodejs/node/pull/59229) - \[[`bace73a173`](https://github.com/nodejs/node/commit/bace73a173)] - **doc**: update the instruction on how to verify releases (Antoine du Hamel) [#&#8203;59113](https://github.com/nodejs/node/pull/59113) - \[[`b549deac02`](https://github.com/nodejs/node/commit/b549deac02)] - **doc**: copyedit SECURITY.md (Rich Trott) [#&#8203;59190](https://github.com/nodejs/node/pull/59190) - \[[`ef1bc3f344`](https://github.com/nodejs/node/commit/ef1bc3f344)] - **doc**: fix broken sentence in `URL.parse` (Superchupu) [#&#8203;59164](https://github.com/nodejs/node/pull/59164) - \[[`3c6639e8ec`](https://github.com/nodejs/node/commit/3c6639e8ec)] - **doc**: improve onboarding instructions (Joyee Cheung) [#&#8203;59159](https://github.com/nodejs/node/pull/59159) - \[[`6ffaac66bc`](https://github.com/nodejs/node/commit/6ffaac66bc)] - **doc**: add constraints for mem leak to threat model (Rafael Gonzaga) [#&#8203;58917](https://github.com/nodejs/node/pull/58917) - \[[`e419d20144`](https://github.com/nodejs/node/commit/e419d20144)] - **doc**: add Aditi-1400 to collaborators (Aditi Singh) [#&#8203;59157](https://github.com/nodejs/node/pull/59157) - \[[`ba380f7bf3`](https://github.com/nodejs/node/commit/ba380f7bf3)] - **doc**: avoid suggesting testing fast api with intense loop (Chengzhong Wu) [#&#8203;59111](https://github.com/nodejs/node/pull/59111) - \[[`fa1a532f2b`](https://github.com/nodejs/node/commit/fa1a532f2b)] - **doc**: fix typo in writing-test.md (SeokHun) [#&#8203;59123](https://github.com/nodejs/node/pull/59123) - \[[`0b93ca3d19`](https://github.com/nodejs/node/commit/0b93ca3d19)] - **doc**: add RafaelGSS as steward July 25 (Rafael Gonzaga) [#&#8203;59078](https://github.com/nodejs/node/pull/59078) - \[[`7d747aeac8`](https://github.com/nodejs/node/commit/7d747aeac8)] - **doc**: clarify ERR_FS_FILE_TOO_LARGE to reflect fs.readFile() I/O limit (Haram Jeong) [#&#8203;59050](https://github.com/nodejs/node/pull/59050) - \[[`0b5613f9fe`](https://github.com/nodejs/node/commit/0b5613f9fe)] - **doc**: run license-builder (github-actions\[bot]) [#&#8203;59056](https://github.com/nodejs/node/pull/59056) - \[[`1b6b5e72d3`](https://github.com/nodejs/node/commit/1b6b5e72d3)] - **doc**: fix typed list formatting (Aviv Keller) [#&#8203;59019](https://github.com/nodejs/node/pull/59019) - \[[`756c7dd639`](https://github.com/nodejs/node/commit/756c7dd639)] - **doc**: refine `util.parseArgs` `default` definition (Slayer95) [#&#8203;58958](https://github.com/nodejs/node/pull/58958) - \[[`0b840523a2`](https://github.com/nodejs/node/commit/0b840523a2)] - **doc**: remove unused import in `zlib.md` (coderaiser) [#&#8203;59041](https://github.com/nodejs/node/pull/59041) - \[[`3e9ed4b080`](https://github.com/nodejs/node/commit/3e9ed4b080)] - **doc**: add stability index to the `--watch-kill-signal` flag (Dario Piotrowicz) [#&#8203;58997](https://github.com/nodejs/node/pull/58997) - \[[`cb08a5d43f`](https://github.com/nodejs/node/commit/cb08a5d43f)] - **doc**: add missing `<code>` blocks (Antoine du Hamel) [#&#8203;58995](https://github.com/nodejs/node/pull/58995) - \[[`4a42360fe5`](https://github.com/nodejs/node/commit/4a42360fe5)] - **doc**: add scroll margin to links (Roman Reiss) [#&#8203;58982](https://github.com/nodejs/node/pull/58982) - \[[`9d073f32da`](https://github.com/nodejs/node/commit/9d073f32da)] - **doc**: add sponsorship link to RafaelGSS (Rafael Gonzaga) [#&#8203;58983](https://github.com/nodejs/node/pull/58983) - \[[`3cc11fc9ac`](https://github.com/nodejs/node/commit/3cc11fc9ac)] - **domain**: remove deprecated API call (Alex Yang) [#&#8203;59339](https://github.com/nodejs/node/pull/59339) - \[[`fa9a9e9c69`](https://github.com/nodejs/node/commit/fa9a9e9c69)] - **(SEMVER-MINOR)** **esm**: unflag --experimental-wasm-modules (Guy Bedford) [#&#8203;57038](https://github.com/nodejs/node/pull/57038) - \[[`177ed3b3dd`](https://github.com/nodejs/node/commit/177ed3b3dd)] - **esm**: js-string Wasm builtins in ESM Integration (Guy Bedford) [#&#8203;59020](https://github.com/nodejs/node/pull/59020) - \[[`4619fe0e04`](https://github.com/nodejs/node/commit/4619fe0e04)] - **fs**: fix glob TypeError on restricted dirs (Sylphy-0xd3ac) [#&#8203;58674](https://github.com/nodejs/node/pull/58674) - \[[`ad2089e32d`](https://github.com/nodejs/node/commit/ad2089e32d)] - **fs**: correct error message when FileHandle is transferred (Alex Yang) [#&#8203;59156](https://github.com/nodejs/node/pull/59156) - \[[`390a9dc20b`](https://github.com/nodejs/node/commit/390a9dc20b)] - **(SEMVER-MINOR)** **http**: add server.keepAliveTimeoutBuffer option (Haram Jeong) [#&#8203;59243](https://github.com/nodejs/node/pull/59243) - \[[`659002359d`](https://github.com/nodejs/node/commit/659002359d)] - **http2**: set Http2Stream#sentHeaders for raw headers (Darshan Sen) [#&#8203;59244](https://github.com/nodejs/node/pull/59244) - \[[`d02831ef73`](https://github.com/nodejs/node/commit/d02831ef73)] - **inspector**: initial support for Network.loadNetworkResource (Shima Ryuhei) [#&#8203;58077](https://github.com/nodejs/node/pull/58077) - \[[`264a838779`](https://github.com/nodejs/node/commit/264a838779)] - **lib**: add trace-sigint APIs (theanarkh) [#&#8203;59040](https://github.com/nodejs/node/pull/59040) - \[[`d22d2fa6d4`](https://github.com/nodejs/node/commit/d22d2fa6d4)] - **lib**: optimize writable stream buffer clearing (Yoo) [#&#8203;59406](https://github.com/nodejs/node/pull/59406) - \[[`a5e9759409`](https://github.com/nodejs/node/commit/a5e9759409)] - **lib**: do not modify prototype deprecated asyncResource (RafaelGSS) [#&#8203;59195](https://github.com/nodejs/node/pull/59195) - \[[`9254257fc0`](https://github.com/nodejs/node/commit/9254257fc0)] - **lib**: restructure assert to become a class (Miguel Marcondes Filho) [#&#8203;58253](https://github.com/nodejs/node/pull/58253) - \[[`946eab8d77`](https://github.com/nodejs/node/commit/946eab8d77)] - **lib**: handle superscript variants on windows device (Rafael Gonzaga) [#&#8203;59261](https://github.com/nodejs/node/pull/59261) - \[[`cd857a97b5`](https://github.com/nodejs/node/commit/cd857a97b5)] - **lib**: use validateString (hotpineapple) [#&#8203;59296](https://github.com/nodejs/node/pull/59296) - \[[`c12c5343ad`](https://github.com/nodejs/node/commit/c12c5343ad)] - **lib**: docs deprecate \_http\_\* (Sebastian Beltran) [#&#8203;59293](https://github.com/nodejs/node/pull/59293) - \[[`a28e5f0938`](https://github.com/nodejs/node/commit/a28e5f0938)] - **lib**: add type names in source mapped stack traces (Chengzhong Wu) [#&#8203;58976](https://github.com/nodejs/node/pull/58976) - \[[`6aec5aee7c`](https://github.com/nodejs/node/commit/6aec5aee7c)] - **lib**: prefer AsyncIteratorPrototype primordial (René) [#&#8203;59097](https://github.com/nodejs/node/pull/59097) - \[[`e704349858`](https://github.com/nodejs/node/commit/e704349858)] - **lib**: fix incorrect `ArrayBufferPrototypeGetDetached` primordial type (Dario Piotrowicz) [#&#8203;58978](https://github.com/nodejs/node/pull/58978) - \[[`2fc25fd400`](https://github.com/nodejs/node/commit/2fc25fd400)] - **lib**: flag to conditionally modify proto on deprecate (Rafael Gonzaga) [#&#8203;58928](https://github.com/nodejs/node/pull/58928) - \[[`446ee98e00`](https://github.com/nodejs/node/commit/446ee98e00)] - **meta**: clarify pr objection process further (James M Snell) [#&#8203;59096](https://github.com/nodejs/node/pull/59096) - \[[`46c339e4f3`](https://github.com/nodejs/node/commit/46c339e4f3)] - **meta**: add mailmap entry for aditi-1400 (Aditi) [#&#8203;59316](https://github.com/nodejs/node/pull/59316) - \[[`70a586261f`](https://github.com/nodejs/node/commit/70a586261f)] - **meta**: add tsc and build team as codeowners building.md (Rafael Gonzaga) [#&#8203;59298](https://github.com/nodejs/node/pull/59298) - \[[`e666e06781`](https://github.com/nodejs/node/commit/e666e06781)] - **meta**: add nodejs/path to path files (Rafael Gonzaga) [#&#8203;59289](https://github.com/nodejs/node/pull/59289) - \[[`251b65dd6c`](https://github.com/nodejs/node/commit/251b65dd6c)] - **meta**: move one or more collaborators to emeritus (Node.js GitHub Bot) [#&#8203;59140](https://github.com/nodejs/node/pull/59140) - \[[`c8a7964da8`](https://github.com/nodejs/node/commit/c8a7964da8)] - **meta**: add marco-ippolito to security release stewards (Marco Ippolito) [#&#8203;58944](https://github.com/nodejs/node/pull/58944) - \[[`0eec5cc492`](https://github.com/nodejs/node/commit/0eec5cc492)] - **module**: fix conditions override in synchronous resolve hooks (Joyee Cheung) [#&#8203;59011](https://github.com/nodejs/node/pull/59011) - \[[`4acf7cd6d3`](https://github.com/nodejs/node/commit/4acf7cd6d3)] - **module**: throw error when re-runing errored module jobs (Joyee Cheung) [#&#8203;58957](https://github.com/nodejs/node/pull/58957) - \[[`f57ee3d71f`](https://github.com/nodejs/node/commit/f57ee3d71f)] - **(SEMVER-MINOR)** **net**: update net.blocklist to allow file save and file management (alphaleadership) [#&#8203;58087](https://github.com/nodejs/node/pull/58087) - \[[`4aefcfc318`](https://github.com/nodejs/node/commit/4aefcfc318)] - **node-api**: reword "implementation in an alternative VM" as implementable (Chengzhong Wu) [#&#8203;59036](https://github.com/nodejs/node/pull/59036) - \[[`ff6be2ed5d`](https://github.com/nodejs/node/commit/ff6be2ed5d)] - **node-api,doc**: update links to ecma262 with section names (Chengzhong Wu) [#&#8203;59087](https://github.com/nodejs/node/pull/59087) - \[[`8d60602677`](https://github.com/nodejs/node/commit/8d60602677)] - **perf_hooks**: do not expose SafeMap via Histogram wrapper (René) [#&#8203;59094](https://github.com/nodejs/node/pull/59094) - \[[`035da74c31`](https://github.com/nodejs/node/commit/035da74c31)] - **(SEMVER-MINOR)** **process**: add threadCpuUsage (Paolo Insogna) [#&#8203;56467](https://github.com/nodejs/node/pull/56467) - \[[`74e1aa4d06`](https://github.com/nodejs/node/commit/74e1aa4d06)] - **process**: make execve's args argument optional (Allon Murienik) [#&#8203;58412](https://github.com/nodejs/node/pull/58412) - \[[`3366e60bd9`](https://github.com/nodejs/node/commit/3366e60bd9)] - **src**: use simdjson to parse SEA configuration (Joyee Cheung) [#&#8203;59323](https://github.com/nodejs/node/pull/59323) - \[[`63cc06977a`](https://github.com/nodejs/node/commit/63cc06977a)] - **src**: mark realm leaf classes final (Anna Henningsen) [#&#8203;59355](https://github.com/nodejs/node/pull/59355) - \[[`133d410cd9`](https://github.com/nodejs/node/commit/133d410cd9)] - **src**: use C++20 `contains()` method (iknoom) [#&#8203;59304](https://github.com/nodejs/node/pull/59304) - \[[`57fe96fe49`](https://github.com/nodejs/node/commit/57fe96fe49)] - **src**: added CHECK_NOT_NULL check for multiple eq_wrap_async (F3lixTheCat) [#&#8203;59267](https://github.com/nodejs/node/pull/59267) - \[[`a8f381a6c5`](https://github.com/nodejs/node/commit/a8f381a6c5)] - **src**: add nullptr checks in `StreamPipe::New` (Burkov Egor) [#&#8203;57613](https://github.com/nodejs/node/pull/57613) - \[[`0769e5a0dc`](https://github.com/nodejs/node/commit/0769e5a0dc)] - **src**: call unmask after install signal handler (theanarkh) [#&#8203;59059](https://github.com/nodejs/node/pull/59059) - \[[`1e7639e9e1`](https://github.com/nodejs/node/commit/1e7639e9e1)] - **src**: use `FastStringKey` for `TrackV8FastApiCall` (Anna Henningsen) [#&#8203;59148](https://github.com/nodejs/node/pull/59148) - \[[`9075a1a4bf`](https://github.com/nodejs/node/commit/9075a1a4bf)] - **src**: use C++20 `consteval` for `FastStringKey` (Anna Henningsen) [#&#8203;59148](https://github.com/nodejs/node/pull/59148) - \[[`5a0fd5689b`](https://github.com/nodejs/node/commit/5a0fd5689b)] - **src**: remove declarations of removed BaseObject static fns (Anna Henningsen) [#&#8203;59093](https://github.com/nodejs/node/pull/59093) - \[[`c637a2c41d`](https://github.com/nodejs/node/commit/c637a2c41d)] - **src**: add cache to nearest parent package json (Ilyas Shabi) [#&#8203;59086](https://github.com/nodejs/node/pull/59086) - \[[`3375a6cfee`](https://github.com/nodejs/node/commit/3375a6cfee)] - **test**: deflake sequential/test-tls-session-timeout (Joyee Cheung) [#&#8203;59423](https://github.com/nodejs/node/pull/59423) - \[[`438cb11a15`](https://github.com/nodejs/node/commit/438cb11a15)] - **test**: update WPT resources,WebCryptoAPI,webstorage (Filip Skokan) [#&#8203;59311](https://github.com/nodejs/node/pull/59311) - \[[`68bec19f76`](https://github.com/nodejs/node/commit/68bec19f76)] - **test**: add known issue test for fs.cpSync dereference bug (James M Snell) [#&#8203;58941](https://github.com/nodejs/node/pull/58941) - \[[`a100cce379`](https://github.com/nodejs/node/commit/a100cce379)] - **test**: deflake stream-readable-to-web test (Ethan Arrowood) [#&#8203;58948](https://github.com/nodejs/node/pull/58948) - \[[`b7577d853b`](https://github.com/nodejs/node/commit/b7577d853b)] - **test**: make test-inspector-network-resource sequential (Shima Ryuhei) [#&#8203;59104](https://github.com/nodejs/node/pull/59104) - \[[`667ee82443`](https://github.com/nodejs/node/commit/667ee82443)] - **test**: don't use expose internals in test-http-outgoing-buffer.js (Meghan Denny) [#&#8203;59219](https://github.com/nodejs/node/pull/59219) - \[[`feec26d3bb`](https://github.com/nodejs/node/commit/feec26d3bb)] - **test**: use mustSucceed in test-fs-read (Sungwon) [#&#8203;59204](https://github.com/nodejs/node/pull/59204) - \[[`d7e23769ab`](https://github.com/nodejs/node/commit/d7e23769ab)] - **test**: prepare test-crypto-rsa-dsa for newer OpenSSL (Richard Lau) [#&#8203;58100](https://github.com/nodejs/node/pull/58100) - \[[`3a9aca91c6`](https://github.com/nodejs/node/commit/3a9aca91c6)] - **test**: fix flaky test-worker-message-port-transfer-filehandle test (Alex Yang) [#&#8203;59158](https://github.com/nodejs/node/pull/59158) - \[[`3aee7625b9`](https://github.com/nodejs/node/commit/3aee7625b9)] - **test**: expand linting rules around `assert` w literal messages (Anna Henningsen) [#&#8203;59147](https://github.com/nodejs/node/pull/59147) - \[[`667c2ced38`](https://github.com/nodejs/node/commit/667c2ced38)] - **test**: update WPT for WebCryptoAPI to [`ab08796`](https://github.com/nodejs/node/commit/ab08796857) (Node.js GitHub Bot) [#&#8203;59129](https://github.com/nodejs/node/pull/59129) - \[[`89ac344393`](https://github.com/nodejs/node/commit/89ac344393)] - **test**: update WPT for WebCryptoAPI to [`19d82c5`](https://github.com/nodejs/node/commit/19d82c57ab) (Node.js GitHub Bot) [#&#8203;59129](https://github.com/nodejs/node/pull/59129) - \[[`d332957ac6`](https://github.com/nodejs/node/commit/d332957ac6)] - **test**: skip tests that cause timeouts on IBM i (Abdirahim Musse) [#&#8203;59014](https://github.com/nodejs/node/pull/59014) - \[[`a23562ff72`](https://github.com/nodejs/node/commit/a23562ff72)] - **test**: update `startCLI` to set `--port=0` by default (Dario Piotrowicz) [#&#8203;59042](https://github.com/nodejs/node/pull/59042) - \[[`4a12f5d83b`](https://github.com/nodejs/node/commit/4a12f5d83b)] - **test**: mark test-inspector-network-fetch as flaky on Windows (Joyee Cheung) [#&#8203;59091](https://github.com/nodejs/node/pull/59091) - \[[`ac4f7aa69c`](https://github.com/nodejs/node/commit/ac4f7aa69c)] - **test**: add missing port=0 arg in test-debugger-extract-function-name (Dario Piotrowicz) [#&#8203;58977](https://github.com/nodejs/node/pull/58977) - \[[`8dd09267e3`](https://github.com/nodejs/node/commit/8dd09267e3)] - **test,crypto**: skip unsupported ciphers (Shelley Vohr) [#&#8203;59388](https://github.com/nodejs/node/pull/59388) - \[[`45200b43ea`](https://github.com/nodejs/node/commit/45200b43ea)] - **tools**: update coverage GitHub Actions to fixed version (Rich Trott) [#&#8203;59512](https://github.com/nodejs/node/pull/59512) - \[[`8f2b8b3dc4`](https://github.com/nodejs/node/commit/8f2b8b3dc4)] - **tools**: allow selecting test subsystems with numbers in their names (Darshan Sen) [#&#8203;59242](https://github.com/nodejs/node/pull/59242) - \[[`f9bc2573dd`](https://github.com/nodejs/node/commit/f9bc2573dd)] - **tools**: clarify README linter error message (Joyee Cheung) [#&#8203;59160](https://github.com/nodejs/node/pull/59160) - \[[`cba0de128d`](https://github.com/nodejs/node/commit/cba0de128d)] - **tools**: add support for URLs to PR commits in `merge.sh` (Antoine du Hamel) [#&#8203;59162](https://github.com/nodejs/node/pull/59162) - \[[`039949ef5b`](https://github.com/nodejs/node/commit/039949ef5b)] - **tools**: bump [@&#8203;eslint/plugin-kit](https://github.com/eslint/plugin-kit) from 0.3.1 to 0.3.3 in /tools/eslint (dependabot\[bot]) [#&#8203;59119](https://github.com/nodejs/node/pull/59119) - \[[`6a8a73aa35`](https://github.com/nodejs/node/commit/6a8a73aa35)] - **tools**: ignore CVE mention when linting release proposals (Antoine du Hamel) [#&#8203;59037](https://github.com/nodejs/node/pull/59037) - \[[`d0f40f3a3a`](https://github.com/nodejs/node/commit/d0f40f3a3a)] - **tools,test**: enforce best practices to detect never settling promises (Antoine du Hamel) [#&#8203;58992](https://github.com/nodejs/node/pull/58992) - \[[`9d801a3f00`](https://github.com/nodejs/node/commit/9d801a3f00)] - **typings**: improve internal binding types (Nam Yooseong) [#&#8203;59351](https://github.com/nodejs/node/pull/59351) - \[[`6dbda6cb25`](https://github.com/nodejs/node/commit/6dbda6cb25)] - **typings**: improve internal binding types (Michaël Zasso) [#&#8203;59176](https://github.com/nodejs/node/pull/59176) - \[[`e22dddf859`](https://github.com/nodejs/node/commit/e22dddf859)] - **util**: respect nested formats in styleText (Alex Yang) [#&#8203;59098](https://github.com/nodejs/node/pull/59098) - \[[`491f390515`](https://github.com/nodejs/node/commit/491f390515)] - **worker**: add cpuUsage for worker (theanarkh) [#&#8203;59177](https://github.com/nodejs/node/pull/59177) - \[[`8e697d1884`](https://github.com/nodejs/node/commit/8e697d1884)] - **(SEMVER-MINOR)** **zlib**: add dictionary support to zstdCompress and zstdDecompress (lluisemper) [#&#8203;59240](https://github.com/nodejs/node/pull/59240) ### [`v22.18.0`](https://github.com/nodejs/node/releases/tag/v22.18.0): 2025-07-31, Version 22.18.0 'Jod' (LTS), @&#8203;aduh95 [Compare Source](https://github.com/nodejs/node/compare/v22.17.1...v22.18.0) ##### Notable Changes ##### Type stripping is enabled by default Node.js will be able to execute TypeScript files without additional configuration: ```console $ echo 'const foo: string = 'World'; console.log(`Hello ${foo}!`);' > file.ts $ node file.ts Hello World! ``` There are some limitations in the supported syntax documented at <https://nodejs.org/api/typescript.html#type-stripping>. This feature is experimental and is subject to change. Disable it by passing `--no-experimental-strip-types` CLI flag. Contributed by Marco Ippolito in [#&#8203;56350](https://github.com/nodejs/node/pull/56350). ##### Other notable changes - \[[`26f3711228`](https://github.com/nodejs/node/commit/26f3711228)] - **(SEMVER-MINOR)** **deps**: update amaro to 1.1.0 (Node.js GitHub Bot) [#&#8203;56350](https://github.com/nodejs/node/pull/56350) - \[[`d80ef2a71f`](https://github.com/nodejs/node/commit/d80ef2a71f)] - **(SEMVER-MINOR)** **doc**: add all watch-mode related flags to node.1 (Dario Piotrowicz) [#&#8203;58719](https://github.com/nodejs/node/pull/58719) - \[[`8ab24d21c9`](https://github.com/nodejs/node/commit/8ab24d21c9)] - **doc**: add islandryu to collaborators (Shima Ryuhei) [#&#8203;58714](https://github.com/nodejs/node/pull/58714) - \[[`430e66b9b8`](https://github.com/nodejs/node/commit/430e66b9b8)] - **(SEMVER-MINOR)** **esm**: implement `import.meta.main` (Joe) [#&#8203;57804](https://github.com/nodejs/node/pull/57804) - \[[`62f7926b6a`](https://github.com/nodejs/node/commit/62f7926b6a)] - **(SEMVER-MINOR)** **fs**: allow correct handling of burst in fs-events with AsyncIterator (Philipp Dunkel) [#&#8203;58490](https://github.com/nodejs/node/pull/58490) - \[[`65f19a00c3`](https://github.com/nodejs/node/commit/65f19a00c3)] - **(SEMVER-MINOR)** **permission**: propagate permission model flags on spawn (Rafael Gonzaga) [#&#8203;58853](https://github.com/nodejs/node/pull/58853) - \[[`ccca1517f9`](https://github.com/nodejs/node/commit/ccca1517f9)] - **(SEMVER-MINOR)** **sqlite**: add support for `readBigInts` option in db connection level (Miguel Marcondes Filho) [#&#8203;58697](https://github.com/nodejs/node/pull/58697) - \[[`48003e87e8`](https://github.com/nodejs/node/commit/48003e87e8)] - **(SEMVER-MINOR)** **src,permission**: add support to `permission.has(addon)` (Rafael Gonzaga) [#&#8203;58951](https://github.com/nodejs/node/pull/58951) - \[[`fe4290a0e6`](https://github.com/nodejs/node/commit/fe4290a0e6)] - **(SEMVER-MINOR)** **url**: add `fileURLToPathBuffer` API (James M Snell) [#&#8203;58700](https://github.com/nodejs/node/pull/58700) - \[[`4dc6b4c67a`](https://github.com/nodejs/node/commit/4dc6b4c67a)] - **(SEMVER-MINOR)** **watch**: add `--watch-kill-signal` flag (Dario Piotrowicz) [#&#8203;58719](https://github.com/nodejs/node/pull/58719) - \[[`8dbc6b210f`](https://github.com/nodejs/node/commit/8dbc6b210f)] - **(SEMVER-MINOR)** **worker**: make `Worker` async disposable (James M Snell) [#&#8203;58385](https://github.com/nodejs/node/pull/58385) ##### Commits - \[[`b19ffebea7`](https://github.com/nodejs/node/commit/b19ffebea7)] - **assert**: remove dead code (Yoshiya Hinosawa) [#&#8203;58760](https://github.com/nodejs/node/pull/58760) - \[[`5bc828beae`](https://github.com/nodejs/node/commit/5bc828beae)] - **benchmark**: add source map and source map cache (Miguel Marcondes Filho) [#&#8203;58125](https://github.com/nodejs/node/pull/58125) - \[[`f7c16985a7`](https://github.com/nodejs/node/commit/f7c16985a7)] - **build**: disable v8_enable_pointer_compression_shared_cage on non-64bit (Shelley Vohr) [#&#8203;58867](https://github.com/nodejs/node/pull/58867) - \[[`ba42c72f7f`](https://github.com/nodejs/node/commit/ba42c72f7f)] - **build**: option to use custom inspector_protocol path (Shelley Vohr) [#&#8203;58839](https://github.com/nodejs/node/pull/58839) - \[[`4fd8911653`](https://github.com/nodejs/node/commit/4fd8911653)] - **build**: fix typo 'Stoage' to 'Storage' in help text (ganglike) [#&#8203;58777](https://github.com/nodejs/node/pull/58777) - \[[`114cd95919`](https://github.com/nodejs/node/commit/114cd95919)] - **crypto**: fix inclusion of OPENSSL_IS_BORINGSSL define (Shelley Vohr) [#&#8203;58845](https://github.com/nodejs/node/pull/58845) - \[[`6699c75eac`](https://github.com/nodejs/node/commit/6699c75eac)] - **crypto**: fix SHAKE128/256 breaking change introduced with OpenSSL 3.4 (Filip Skokan) [#&#8203;58942](https://github.com/nodejs/node/pull/58942) - \[[`f99aa748c0`](https://github.com/nodejs/node/commit/f99aa748c0)] - **deps**: upgrade npm to 10.9.3 (npm team) [#&#8203;58847](https://github.com/nodejs/node/pull/58847) - \[[`02e971190b`](https://github.com/nodejs/node/commit/02e971190b)] - **deps**: update sqlite to 3.50.2 (Node.js GitHub Bot) [#&#8203;58882](https://github.com/nodejs/node/pull/58882) - \[[`de2b85b5ae`](https://github.com/nodejs/node/commit/de2b85b5ae)] - **deps**: update googletest to [`35b75a2`](https://github.com/nodejs/node/commit/35b75a2) (Node.js GitHub Bot) [#&#8203;58710](https://github.com/nodejs/node/pull/58710) - \[[`e7591d7a19`](https://github.com/nodejs/node/commit/e7591d7a19)] - **deps**: update minimatch to 10.0.3 (Node.js GitHub Bot) [#&#8203;58712](https://github.com/nodejs/node/pull/58712) - \[[`8c61b96c43`](https://github.com/nodejs/node/commit/8c61b96c43)] - **deps**: update acorn to 8.15.0 (Node.js GitHub Bot) [#&#8203;58711](https://github.com/nodejs/node/pull/58711) - \[[`113f4e2d3c`](https://github.com/nodejs/node/commit/113f4e2d3c)] - **deps**: update sqlite to 3.50.1 (Node.js GitHub Bot) [#&#8203;58630](https://github.com/nodejs/node/pull/58630) - \[[`7ccd848995`](https://github.com/nodejs/node/commit/7ccd848995)] - **deps**: update simdjson to 3.13.0 (Node.js GitHub Bot) [#&#8203;58629](https://github.com/nodejs/node/pull/58629) - \[[`e9c51deb5c`](https://github.com/nodejs/node/commit/e9c51deb5c)] - **deps**: update zlib to 1.3.1-470d3a2 (Node.js GitHub Bot) [#&#8203;58628](https://github.com/nodejs/node/pull/58628) - \[[`26f3711228`](https://github.com/nodejs/node/commit/26f3711228)] - **(SEMVER-MINOR)** **deps**: update amaro to 1.1.0 (Node.js GitHub Bot) [#&#8203;56350](https://github.com/nodejs/node/pull/56350) - \[[`752dde182f`](https://github.com/nodejs/node/commit/752dde182f)] - **(SEMVER-MINOR)** **deps**: update amaro to 1.0.0 (Node.js GitHub Bot) [#&#8203;56350](https://github.com/nodejs/node/pull/56350) - \[[`258534d0dc`](https://github.com/nodejs/node/commit/258534d0dc)] - **(SEMVER-MINOR)** **deps**: update amaro to 0.5.3 (Node.js GitHub Bot) [#&#8203;56350](https://github.com/nodejs/node/pull/56350) - \[[`7fcf675503`](https://github.com/nodejs/node/commit/7fcf675503)] - **(SEMVER-MINOR)** **deps**: update amaro to 0.5.2 (Node.js GitHub Bot) [#&#8203;56350](https://github.com/nodejs/node/pull/56350) - \[[`81a10a67d5`](https://github.com/nodejs/node/commit/81a10a67d5)] - **(SEMVER-MINOR)** **deps**: update amaro to 0.5.1 (Marco Ippolito) [#&#8203;56350](https://github.com/nodejs/node/pull/56350) - \[[`25f8682a62`](https://github.com/nodejs/node/commit/25f8682a62)] - **(SEMVER-MINOR)** **deps**: update amaro to 0.5.0 (nodejs-github-bot) [#&#8203;56350](https://github.com/nodejs/node/pull/56350) - \[[`4baf2167e7`](https://github.com/nodejs/node/commit/4baf2167e7)] - **dns**: fix parse memory leaky (theanarkh) [#&#8203;58973](https://github.com/nodejs/node/pull/58973) - \[[`e8f4a7df22`](https://github.com/nodejs/node/commit/e8f4a7df22)] - **dns**: set timeout to 1000ms when timeout < 0 (theanarkh) [#&#8203;58441](https://github.com/nodejs/node/pull/58441) - \[[`1e373a0a25`](https://github.com/nodejs/node/commit/1e373a0a25)] - **doc**: update release key for aduh95 (Antoine du Hamel) [#&#8203;58877](https://github.com/nodejs/node/pull/58877) - \[[`d5c104246f`](https://github.com/nodejs/node/commit/d5c104246f)] - **doc**: remove broken link to permission model source code (Juan José) [#&#8203;58972](https://github.com/nodejs/node/pull/58972) - \[[`b8885a25ff`](https://github.com/nodejs/node/commit/b8885a25ff)] - **doc**: clarify details of TSC public and private meetings (James M Snell) [#&#8203;58925](https://github.com/nodejs/node/pull/58925) - \[[`aa05823b37`](https://github.com/nodejs/node/commit/aa05823b37)] - **doc**: mark stability markers consistent in `globals.md` (Antoine du Hamel) [#&#8203;58932](https://github.com/nodejs/node/pull/58932) - \[[`3856aee9b2`](https://github.com/nodejs/node/commit/3856aee9b2)] - **doc**: move "Core Promise APIs" to "Completed initiatives" (Antoine du Hamel) [#&#8203;58934](https://github.com/nodejs/node/pull/58934) - \[[`c2f9735422`](https://github.com/nodejs/node/commit/c2f9735422)] - **doc**: fix `fetch` subsections in `globals.md` (Antoine du Hamel) [#&#8203;58933](https://github.com/nodejs/node/pull/58933) - \[[`5f4c7a9d2d`](https://github.com/nodejs/node/commit/5f4c7a9d2d)] - **doc**: add missing `Class:` mentions (Antoine du Hamel) [#&#8203;58931](https://github.com/nodejs/node/pull/58931) - \[[`88ee38b37c`](https://github.com/nodejs/node/commit/88ee38b37c)] - **doc**: remove myself from security steward rotation (Michael Dawson) [#&#8203;58927](https://github.com/nodejs/node/pull/58927) - \[[`02031a9b0d`](https://github.com/nodejs/node/commit/02031a9b0d)] - **doc**: add ovflowd back to core collaborators (Claudio W.) [#&#8203;58911](https://github.com/nodejs/node/pull/58911) - \[[`9551fa3c8f`](https://github.com/nodejs/node/commit/9551fa3c8f)] - **doc**: update email address for Richard Lau (Richard Lau) [#&#8203;58910](https://github.com/nodejs/node/pull/58910) - \[[`cd6bc982c0`](https://github.com/nodejs/node/commit/cd6bc982c0)] - **doc**: update vm doc links (Chengzhong Wu) [#&#8203;58885](https://github.com/nodejs/node/pull/58885) - \[[`ce49303cd0`](https://github.com/nodejs/node/commit/ce49303cd0)] - **doc**: add missing comma in `child_process.md` (ronijames008) [#&#8203;58862](https://github.com/nodejs/node/pull/58862) - \[[`d80ef2a71f`](https://github.com/nodejs/node/commit/d80ef2a71f)] - **(SEMVER-MINOR)** **doc**: add all watch-mode related flags to node.1 (Dario Piotrowicz) [#&#8203;58719](https://github.com/nodejs/node/pull/58719) - \[[`f8fcb1c83a`](https://github.com/nodejs/node/commit/f8fcb1c83a)] - **doc**: fix jsdoc definition of assert.ifError() fn in lib/assert.js (jesh) [#&#8203;58573](https://github.com/nodejs/node/pull/58573) - \[[`28fddc04ca`](https://github.com/nodejs/node/commit/28fddc04ca)] - **doc**: add array type in http request headers (Michael Henrique) [#&#8203;58049](https://github.com/nodejs/node/pull/58049) - \[[`8bd698b688`](https://github.com/nodejs/node/commit/8bd698b688)] - **doc**: add missing colon to headers in `globals.md` (Aviv Keller) [#&#8203;58825](https://github.com/nodejs/node/pull/58825) - \[[`fa5818e3c1`](https://github.com/nodejs/node/commit/fa5818e3c1)] - **doc**: fix `stream.md` section order (Antoine du Hamel) [#&#8203;58811](https://github.com/nodejs/node/pull/58811) - \[[`2384bfdcbd`](https://github.com/nodejs/node/commit/2384bfdcbd)] - **doc**: fix stability 1.x links excluding the decimal digit (Dario Piotrowicz) [#&#8203;58783](https://github.com/nodejs/node/pull/58783) - \[[`4e9fe670c9`](https://github.com/nodejs/node/commit/4e9fe670c9)] - **doc**: fix wrong RFC number in http2 (Deokjin Kim) [#&#8203;58753](https://github.com/nodejs/node/pull/58753) - \[[`bbe4ad7351`](https://github.com/nodejs/node/commit/bbe4ad7351)] - **doc**: add history entry for TS support in hooks (Antoine du Hamel) [#&#8203;58732](https://github.com/nodejs/node/pull/58732) - \[[`ec60473ab1`](https://github.com/nodejs/node/commit/ec60473ab1)] - **doc**: run license-builder (github-actions\[bot]) [#&#8203;58722](https://github.com/nodejs/node/pull/58722) - \[[`8ab24d21c9`](https://github.com/nodejs/node/commit/8ab24d21c9)] - **doc**: add islandryu to collaborators (Shima Ryuhei) [#&#8203;58714](https://github.com/nodejs/node/pull/58714) - \[[`8c641105cd`](https://github.com/nodejs/node/commit/8c641105cd)] - **doc**: punctuation fix for Node-API versioning clarification (Jiacai Liu) [#&#8203;58599](https://github.com/nodejs/node/pull/58599) - \[[`133b10a0bb`](https://github.com/nodejs/node/commit/133b10a0bb)] - **doc**: add path rules and validation for export targets in package.json (0hm☘️) [#&#8203;58604](https://github.com/nodejs/node/pull/58604) - \[[`354a68c460`](https://github.com/nodejs/node/commit/354a68c460)] - **doc**: add history entries to `--input-type` section (Antoine du Hamel) [#&#8203;56350](https://github.com/nodejs/node/pull/56350) - \[[`430e66b9b8`](https://github.com/nodejs/node/commit/430e66b9b8)] - **(SEMVER-MINOR)** **esm**: implement import.meta.main (Joe) [#&#8203;57804](https://github.com/nodejs/node/pull/57804) - \[[`42c4ca6024`](https://github.com/nodejs/node/commit/42c4ca6024)] - **esm**: syncify default path of `ModuleLoader.load` (Jacob Smith) [#&#8203;57419](https://github.com/nodejs/node/pull/57419) - \[[`3ac8c686a3`](https://github.com/nodejs/node/commit/3ac8c686a3)] - **esm**: unwrap WebAssembly.Global on Wasm Namespaces (Guy Bedford) [#&#8203;57525](https://github.com/nodejs/node/pull/57525) - \[[`c7ebf2e245`](https://github.com/nodejs/node/commit/c7ebf2e245)] - **fs**: close dir before throwing if `options.bufferSize` is invalid (Livia Medeiros) [#&#8203;58856](https://github.com/nodejs/node/pull/58856) - \[[`38ffed8744`](https://github.com/nodejs/node/commit/38ffed8744)] - **fs**: special input `-1` on `chown`, `lchown` and `fchown` (Alex Yang) [#&#8203;58836](https://github.com/nodejs/node/pull/58836) - \[[`0e82f72a46`](https://github.com/nodejs/node/commit/0e82f72a46)] - **fs**: throw `ERR_INVALID_THIS` on illegal invocations (Livia Medeiros) [#&#8203;58848](https://github.com/nodejs/node/pull/58848) - \[[`141b2b1954`](https://github.com/nodejs/node/commit/141b2b1954)] - **fs**: make `Dir` disposers idempotent (René) [#&#8203;58692](https://github.com/nodejs/node/pull/58692) - \[[`dedd9d1961`](https://github.com/nodejs/node/commit/dedd9d1961)] - **fs**: avoid computing time coefficient constants in runtime (Livia Medeiros) [#&#8203;58728](https://github.com/nodejs/node/pull/58728) - \[[`a029a06b49`](https://github.com/nodejs/node/commit/a029a06b49)] - **fs**: add UV_ENOSPC to list of things to pass to err directly (Jacky Zhao) [#&#8203;56918](https://github.com/nodejs/node/pull/56918) - \[[`62f7926b6a`](https://github.com/nodejs/node/commit/62f7926b6a)] - **(SEMVER-MINOR)** **fs**: allow correct handling of burst in fs-events with AsyncIterator (Philipp Dunkel) [#&#8203;58490](https://github.com/nodejs/node/pull/58490) - \[[`927d2e77f3`](https://github.com/nodejs/node/commit/927d2e77f3)] - **http**: fix keep-alive not timing out after post-request empty line (Shima Ryuhei) [#&#8203;58178](https://github.com/nodejs/node/pull/58178) - \[[`5cd8145612`](https://github.com/nodejs/node/commit/5cd8145612)] - **http2**: add diagnostics channel 'http2.server.stream.close' (Darshan Sen) [#&#8203;58602](https://github.com/nodejs/node/pull/58602) - \[[`0f2b31cba4`](https://github.com/nodejs/node/commit/0f2b31cba4)] - **inspector**: add protocol methods retrieving sent/received data (Chengzhong Wu) [#&#8203;58645](https://github.com/nodejs/node/pull/58645) - \[[`79428d8946`](https://github.com/nodejs/node/commit/79428d8946)] - **lib**: fix `getTypeScriptParsingMode` jsdoc (沈鸿飞) [#&#8203;58681](https://github.com/nodejs/node/pull/58681) - \[[`2c205d857c`](https://github.com/nodejs/node/commit/2c205d857c)] - **lib**: rename `validateInternalField` into `validateThisInternalField` (LiviaMedeiros) [#&#8203;58765](https://github.com/nodejs/node/pull/58765) - \[[`f67e927a5f`](https://github.com/nodejs/node/commit/f67e927a5f)] - **lib**: make `validateInternalField()` throw `ERR_INVALID_THIS` (LiviaMedeiros) [#&#8203;58765](https://github.com/nodejs/node/pull/58765) - \[[`914701d4f8`](https://github.com/nodejs/node/commit/914701d4f8)] - **lib,src**: support DOMException ser-des (Chengzhong Wu) [#&#8203;58649](https://github.com/nodejs/node/pull/58649) - \[[`12a75dca8b`](https://github.com/nodejs/node/commit/12a75dca8b)] - **meta**: bump step-security/harden-runner from 2.12.0 to 2.12.2 (dependabot\[bot]) [#&#8203;58923](https://github.com/nodejs/node/pull/58923) - \[[`0d56fec6f0`](https://github.com/nodejs/node/commit/0d56fec6f0)] - **meta**: bump github/codeql-action from 3.28.18 to 3.29.2 (dependabot\[bot]) [#&#8203;58922](https://github.com/nodejs/node/pull/58922) - \[[`7f4f6e0409`](https://github.com/nodejs/node/commit/7f4f6e0409)] - **meta**: add IlyasShabi to collaborators (Ilyas Shabi) [#&#8203;58916](https://github.com/nodejs/node/pull/58916) - \[[`50b62c9663`](https://github.com/nodejs/node/commit/50b62c9663)] - **meta**: add [@&#8203;nodejs/inspector](https://github.com/nodejs/inspector) as codeowner (Chengzhong Wu) [#&#8203;58790](https://github.com/nodejs/node/pull/58790) - \[[`2fc89892ab`](https://github.com/nodejs/node/commit/2fc89892ab)] - **module**: fix typescript import.meta.main (Marco Ippolito) [#&#8203;58661](https://github.com/nodejs/node/pull/58661) - \[[`bfc68c8ae8`](https://github.com/nodejs/node/commit/bfc68c8ae8)] - **module**: convert schema-only core module on `convertCJSFilenameToURL` (Alex Yang) [#&#8203;58612](https://github.com/nodejs/node/pull/58612) - \[[`54634f5e53`](https://github.com/nodejs/node/commit/54634f5e53)] - **module**: update tests for combined ambiguous module syntax error (Mert Can Altin) [#&#8203;55874](https://github.com/nodejs/node/pull/55874) - \[[`10eb3db4af`](https://github.com/nodejs/node/commit/10eb3db4af)] - **module**: allow cycles in require() in the CJS handling in ESM loader (Joyee Cheung) [#&#8203;58598](https://github.com/nodejs/node/pull/58598) - \[[`fe7994eb0c`](https://github.com/nodejs/node/commit/fe7994eb0c)] - **module**: improve typescript error message format (Marco Ippolito) [#&#8203;56350](https://github.com/nodejs/node/pull/56350) - \[[`c898491017`](https://github.com/nodejs/node/commit/c898491017)] - **(SEMVER-MINOR)** **module**: remove experimental warning from type stripping (Marco Ippolito) [#&#8203;56350](https://github.com/nodejs/node/pull/56350) - \[[`c07745a436`](https://github.com/nodejs/node/commit/c07745a436)] - **module**: refactor commonjs typescript loader (Marco Ippolito) [#&#8203;56350](https://github.com/nodejs/node/pull/56350) - \[[`8d1f5df313`](https://github.com/nodejs/node/commit/8d1f5df313)] - **(SEMVER-MINOR)** **module**: unflag --experimental-strip-types (Marco Ippolito) [#&#8203;56350](https://github.com/nodejs/node/pull/56350) - \[[`a8a1c9a960`](https://github.com/nodejs/node/commit/a8a1c9a960)] - **os**: fix GetInterfaceAddresses memory lieaky (theanarkh) [#&#8203;58940](https://github.com/nodejs/node/pull/58940) - \[[`65f19a00c3`](https://github.com/nodejs/node/commit/65f19a00c3)] - **(SEMVER-MINOR)** **permission**: propagate permission model flags on spawn (Rafael Gonzaga) [#&#8203;58853](https://github.com/nodejs/node/pull/58853) - \[[`f0a165d89f`](https://github.com/nodejs/node/commit/f0a165d89f)] - **repl**: fix eval errors thrown after close throwing `ERR_USE_AFTER_CLOSE` (Dario Piotrowicz) [#&#8203;58791](https://github.com/nodejs/node/pull/58791) - \[[`9ef1cd1607`](https://github.com/nodejs/node/commit/9ef1cd1607)] - **repl**: avoid deprecated `require.extensions` in tab completion (baki gul) [#&#8203;58653](https://github.com/nodejs/node/pull/58653) - \[[`22a4c60e08`](https://github.com/nodejs/node/commit/22a4c60e08)] - **repl**: fix tab completion not working with computer string properties (Dario Piotrowicz) [#&#8203;58709](https://github.com/nodejs/node/pull/58709) - \[[`ccca1517f9`](https://github.com/nodejs/node/commit/ccca1517f9)] - **(SEMVER-MINOR)** **sqlite**: add support for readBigInts option in db connection level (Miguel Marcondes Filho) [#&#8203;58697](https://github.com/nodejs/node/pull/58697) - \[[`690525881e`](https://github.com/nodejs/node/commit/690525881e)] - **src**: simplify adding fast APIs to ExternalReferenceRegistry (René) [#&#8203;58896](https://github.com/nodejs/node/pull/58896) - \[[`a381b4d990`](https://github.com/nodejs/node/commit/a381b4d990)] - **src**: remove fast API for InternalModuleStat (Joyee Cheung) [#&#8203;58489](https://github.com/nodejs/node/pull/58489) - \[[`390654e996`](https://github.com/nodejs/node/commit/390654e996)] - **src**: fix internalModuleStat v8 fast path (Yagiz Nizipli) [#&#8203;58054](https://github.com/nodejs/node/pull/58054) - \[[`b722647572`](https://github.com/nodejs/node/commit/b722647572)] - **src**: fix -Wunreachable-code in src/node_api.cc (Shelley Vohr) [#&#8203;58901](https://github.com/nodejs/node/pull/58901) - \[[`6d1fe67f56`](https://github.com/nodejs/node/commit/6d1fe67f56)] - **src**: -Wunreachable-code error in crypto_context.cc (Shelley Vohr) [#&#8203;58901](https://github.com/nodejs/node/pull/58901) - \[[`2d8e65c6db`](https://github.com/nodejs/node/commit/2d8e65c6db)] - **src**: fix -Wunreachable-code-return in src/node_contextify.cc (Shelley Vohr) [#&#8203;58901](https://github.com/nodejs/node/pull/58901) - \[[`e07adb3b18`](https://github.com/nodejs/node/commit/e07adb3b18)] - **src**: cleanup uv_fs_req before uv_fs_stat on existSync (RafaelGSS) [#&#8203;58915](https://github.com/nodejs/node/pull/58915) - \[[`6b30c0a511`](https://github.com/nodejs/node/commit/6b30c0a511)] - **src**: -Wmismatched-new-delete in debug_utils.cc (Shelley Vohr) [#&#8203;58844](https://github.com/nodejs/node/pull/58844) - \[[`74ef07f2e7`](https://github.com/nodejs/node/commit/74ef07f2e7)] - **src**: add FromV8Value\<T>() for integral and enum types (Aditi) [#&#8203;57931](https://github.com/nodejs/node/pull/57931) - \[[`28bf6ed87d`](https://github.com/nodejs/node/commit/28bf6ed87d)] - **src**: pass resource on permission checks for spawn (Rafael Gonzaga) [#&#8203;58758](https://github.com/nodejs/node/pull/58758) - \[[`daf65d479b`](https://github.com/nodejs/node/commit/daf65d479b)] - **src**: replace std::array with static arrays in contextify (Mert Can Altin) [#&#8203;58580](https://github.com/nodejs/node/pull/58580) - \[[`9cb671fdb1`](https://github.com/nodejs/node/commit/9cb671fdb1)] - **src**: add new CopyUtimes function to reduce code duplication (Dario Piotrowicz) [#&#8203;58625](https://github.com/nodejs/node/pull/58625) - \[[`e515eb861c`](https://github.com/nodejs/node/commit/e515eb861c)] - **src**: replace V8 Fast API todo comment with note comment (Dario Piotrowicz) [#&#8203;58614](https://github.com/nodejs/node/pull/58614) - \[[`48003e87e8`](https://github.com/nodejs/node/commit/48003e87e8)] - **(SEMVER-MINOR)** **src,permission**: add support to permission.has(addon) (Rafael Gonzaga) [#&#8203;58951](https://github.com/nodejs/node/pull/58951) - \[[`72f75bb976`](https://github.com/nodejs/node/commit/72f75bb976)] - **src,permission**: enhance permission model debug (Rafael Gonzaga) [#&#8203;58898](https://github.com/nodejs/node/pull/58898) - \[[`66fccc252b`](https://github.com/nodejs/node/commit/66fccc252b)] - **(SEMVER-MINOR)** **test**: add test for async disposable worker thread (James M Snell) [#&#8203;58385](https://github.com/nodejs/node/pull/58385) - \[[`43d2ad8599`](https://github.com/nodejs/node/commit/43d2ad8599)] - **test**: deflake test-runner-watch-mode-kill-signal (Dario Piotrowicz) [#&#8203;58952](https://github.com/nodejs/node/pull/58952) - \[[`7c54085698`](https://github.com/nodejs/node/commit/7c54085698)] - **test**: add known issue tests for recursive readdir calls with Buffer path (Dario Piotrowicz) [#&#8203;58893](https://github.com/nodejs/node/pull/58893) - \[[`cd2a5d9a51`](https://github.com/nodejs/node/commit/cd2a5d9a51)] - **test**: add known issue tests for fs.cp (James M Snell) [#&#8203;58883](https://github.com/nodejs/node/pull/58883) - \[[`26072a7953`](https://github.com/nodejs/node/commit/26072a7953)] - **test**: add tests to ensure that node.1 is kept in sync with cli.md (Dario Piotrowicz) [#&#8203;58878](https://github.com/nodejs/node/pull/58878) - \[[`3fd187f559`](https://github.com/nodejs/node/commit/3fd187f559)] - **test**: replace `.filter()[0]` with `.find()` (Livia Medeiros) [#&#8203;58872](https://github.com/nodejs/node/pull/58872) - \[[`0d538abb15`](https://github.com/nodejs/node/commit/0d538abb15)] - **test**: remove reliance on in-tree `deps/undici` (Richard Lau) [#&#8203;58866](https://github.com/nodejs/node/pull/58866) - \[[`e24dede403`](https://github.com/nodejs/node/commit/e24dede403)] - **test**: close dirs in `fs-opendir` test (Livia Medeiros) [#&#8203;58855](https://github.com/nodejs/node/pull/58855) - \[[`ac6b8222e6`](https://github.com/nodejs/node/commit/ac6b8222e6)] - **test**: correct SIMD support comment (Richard Lau) [#&#8203;58767](https://github.com/nodejs/node/pull/58767) - \[[`9d3e451181`](https://github.com/nodejs/node/commit/9d3e451181)] - **test**: add tests for REPL custom evals (Dario Piotrowicz) [#&#8203;57850](https://github.com/nodejs/node/pull/57850) - \[[`17a3246718`](https://github.com/nodejs/node/commit/17a3246718)] - **test**: reduce the use of private symbols in test-events-once.js (Yoshiya Hinosawa) [#&#8203;58685](https://github.com/nodejs/node/pull/58685) - \[[`bbf33efcd0`](https://github.com/nodejs/node/commit/bbf33efcd0)] - **test**: use `common.skipIfInspectorDisabled()` to skip tests (Dario Piotrowicz) [#&#8203;58675](https://github.com/nodejs/node/pull/58675) - \[[`d6660baff7`](https://github.com/nodejs/node/commit/d6660baff7)] - **test**: update WPT for dom/abort to [`dc92816`](https://github.com/nodejs/node/commit/dc928169ee) (Node.js GitHub Bot) [#&#8203;58644](https://github.com/nodejs/node/pull/58644) - \[[`6d9d5deb44`](https://github.com/nodejs/node/commit/6d9d5deb44)] - **test**: split indirect eval import tests (Chengzhong Wu) [#&#8203;58637](https://github.com/nodejs/node/pull/58637) - \[[`abd5b5fd20`](https://github.com/nodejs/node/commit/abd5b5fd20)] - **test**: deflake async-hooks/test-improper-order on AIX (Baki Gul) [#&#8203;58567](https://github.com/nodejs/node/pull/58567) - \[[`3fc630e7cf`](https://github.com/nodejs/node/commit/3fc630e7cf)] - **test**: close FileHandle objects in tests explicitly (James M Snell) [#&#8203;58615](https://github.com/nodejs/node/pull/58615) - \[[`7f0560dc4b`](https://github.com/nodejs/node/commit/7f0560dc4b)] - **test**: skip broken sea on rhel8 (Marco Ippolito) [#&#8203;58914](https://github.com/nodejs/node/pull/58914) - \[[`898e68a915`](https://github.com/nodejs/node/commit/898e68a915)] - **test**: save the config file in a temporary directory (Luigi Pinca) [#&#8203;58799](https://github.com/nodejs/node/pull/58799) - \[[`9f2132a4f6`](https://github.com/nodejs/node/commit/9f2132a4f6)] - **test**: deflake test-config-file (Luigi Pinca) [#&#8203;58799](https://github.com/nodejs/node/pull/58799) - \[[`f1b74cff9a`](https://github.com/nodejs/node/commit/f1b74cff9a)] - **test**: skip tests failing when run under root (Livia Medeiros) [#&#8203;58610](https://github.com/nodejs/node/pull/58610) - \[[`4b0ee14a97`](https://github.com/nodejs/node/commit/4b0ee14a97)] - **tools**: bump the eslint group in /tools/eslint with 6 updates (dependabot\[bot]) [#&#8203;58921](https://github.com/nodejs/node/pull/58921) - \[[`a84935fb0e`](https://github.com/nodejs/node/commit/a84935fb0e)] - **tools**: update inspector_protocol to [`69d69dd`](https://github.com/nodejs/node/commit/69d69dd) (Shelley Vohr) [#&#8203;58900](https://github.com/nodejs/node/pull/58900) - \[[`af805186cd`](https://github.com/nodejs/node/commit/af805186cd)] - **tools**: update gyp-next to 0.20.2 (Node.js GitHub Bot) [#&#8203;58788](https://github.com/nodejs/node/pull/58788) - \[[`a2d2d36bb1`](https://github.com/nodejs/node/commit/a2d2d36bb1)] - **tools**: make nodedownload module compatible with Python 3.14 (Lumír 'Frenzy' Balhar) [#&#8203;58752](https://github.com/nodejs/node/pull/58752) - \[[`cc8b9aa43d`](https://github.com/nodejs/node/commit/cc8b9aa43d)] - **tools**: include toolchain.gypi in abseil.gyp (Chengzhong Wu) [#&#8203;58678](https://github.com/nodejs/node/pull/58678) - \[[`fbbf49a7d3`](https://github.com/nodejs/node/commit/fbbf49a7d3)] - **tools**: bump `brace-expansion` in `/tools/clang-format` (dependabot\[bot]) [#&#8203;58699](https://github.com/nodejs/node/pull/58699) - \[[`8db92a41c5`](https://github.com/nodejs/node/commit/8db92a41c5)] - **tools**: bump brace-expansion from 1.1.11 to 1.1.12 in /tools/eslint (dependabot\[bot]) [#&#8203;58698](https://github.com/nodejs/node/pull/58698) - \[[`3a099cf88f`](https://github.com/nodejs/node/commit/3a099cf88f)] - **tools**: switch to `@stylistic/eslint-plugin` (Michaël Zasso) [#&#8203;58623](https://github.com/nodejs/node/pull/58623) - \[[`9798511e7c`](https://github.com/nodejs/node/commit/9798511e7c)] - **tools**: remove config.status under `make distclean` (René) [#&#8203;58603](https://github.com/nodejs/node/pull/58603) - \[[`011290a4eb`](https://github.com/nodejs/node/commit/011290a4eb)] - **tools**: edit commit-queue workflow file (Antoine du Hamel) [#&#8203;58667](https://github.com/nodejs/node/pull/58667) - \[[`a7406f56da`](https://github.com/nodejs/node/commit/a7406f56da)] - **tools**: improve release proposal linter (Antoine du Hamel) [#&#8203;58647](https://github.com/nodejs/node/pull/58647) - \[[`c855310f83`](https://github.com/nodejs/node/commit/c855310f83)] - **tools,doc**: move more MDN links to types (Antoine du Hamel) [#&#8203;58930](https://github.com/nodejs/node/pull/58930) - \[[`805239c824`](https://github.com/nodejs/node/commit/805239c824)] - **typings**: add Atomics primordials (Renegade334) [#&#8203;58577](https://github.com/nodejs/node/pull/58577) - \[[`d28b2aa0a2`](https://github.com/nodejs/node/commit/d28b2aa0a2)] - **typings**: add ZSTD_COMPRESS, ZSTD_DECOMPRESS to internalBinding (Meghan Denny) [#&#8203;58655](https://github.com/nodejs/node/pull/58655) - \[[`fe4290a0e6`](https://github.com/nodejs/node/commit/fe4290a0e6)] - **(SEMVER-MINOR)** **url**: add fileURLToPathBuffer API (James M Snell) [#&#8203;58700](https://github.com/nodejs/node/pull/58700) - \[[`db648b92c1`](https://github.com/nodejs/node/commit/db648b92c1)] - **util**: inspect: do not crash on an Error stack pointing to itself (Sam Verschueren) [#&#8203;58196](https://github.com/nodejs/node/pull/58196) - \[[`791ecfac14`](https://github.com/nodejs/node/commit/791ecfac14)] - **v8**: fix missing callback in heap utils destroy (Ruben Bridgewater) [#&#8203;58846](https://github.com/nodejs/node/pull/58846) - \[[`4dc6b4c67a`](https://github.com/nodejs/node/commit/4dc6b4c67a)] - **(SEMVER-MINOR)** **watch**: add `--watch-kill-signal` flag (Dario Piotrowicz) [#&#8203;58719](https://github.com/nodejs/node/pull/58719) - \[[`8dbc6b210f`](https://github.com/nodejs/node/commit/8dbc6b210f)] - **(SEMVER-MINOR)** **worker**: make Worker async disposable (James M Snell) [#&#8203;58385](https://github.com/nodejs/node/pull/58385) ### [`v22.17.1`](https://github.com/nodejs/node/releases/tag/v22.17.1): 2025-07-15, Version 22.17.1 'Jod' (LTS), @&#8203;RafaelGSS [Compare Source](https://github.com/nodejs/node/compare/v22.17.0...v22.17.1) This is a security release. ##### Notable Changes - (CVE-2025-27210) Windows Device Names (CON, PRN, AUX) Bypass Path Traversal Protection in path.normalize() ##### Commits - \[[`8cf5d66ab7`](https://github.com/nodejs/node/commit/8cf5d66ab7)] - **(CVE-2025-27210)** **lib**: handle all windows reserved driver name (RafaelGSS) [nodejs-private/node-private#721](https://github.com/nodejs-private/node-private/pull/721) - \[[`9c0cb487ec`](https://github.com/nodejs/node/commit/9c0cb487ec)] - **win,build**: fix MSVS v17.14 compilation issue (StefanStojanovic) [#&#8203;58902](https://github.com/nodejs/node/pull/58902) ### [`v22.17.0`](https://github.com/nodejs/node/releases/tag/v22.17.0): 2025-06-24, Version 22.17.0 'Jod' (LTS), @&#8203;aduh95 [Compare Source](https://github.com/nodejs/node/compare/v22.16.0...v22.17.0) ##### Notable Changes ##### ⚠️ Deprecations ##### Instantiating `node:http` classes **without `new`** Constructing classes like `IncomingMessage` or `ServerResponse` without the `new` keyword is now discouraged. This clarifies API expectations and aligns with standard JavaScript behavior. It may warn or error in future versions. Contributed by Yagiz Nizipli in [#&#8203;58518](https://github.com/nodejs/node/pull/58518). ##### `options.shell = ""` in `node:child_process` Using an empty string for `shell` previously had undefined behavior. This change encourages explicit choices (e.g., `shell: true` or a shell path) and avoids relying on implementation quirks. Contributed by Antoine du Hamel and Renegade334 [#&#8203;58564](https://github.com/nodejs/node/pull/58564). ##### HTTP/2 priority signaling The HTTP/2 prioritization API (e.g., `stream.priority`) is now deprecated due to poor real-world support. Applications should avoid using priority hints and expect future removal. Contributed by Matteo Collina and Antoine du Hamel [#&#8203;58313](https://github.com/nodejs/node/pull/58313). ##### ✅ Features graduated to stable ##### `assert.partialDeepStrictEqual()` This method compares only a subset of properties in deep object comparisons, useful for flexible test assertions. Its stabilization means it's now safe for general use and won't change unexpectedly in future releases. Contributed by Ruben Bridgewater in [#&#8203;57370](https://github.com/nodejs/node/pull/57370). ##### Miscellaneous - `dirent.parentPath` - `filehandle.readableWebStream()` - `fs.glob()` - `fs.openAsBlob()` - `node:readline/promises` - `port.hasRef()` - `readable.compose()` - `readable.iterator()` - `readable.readableAborted` - `readable.readableDidRead` - `Duplex.fromWeb()` - `Duplex.toWeb()` - `Readable.fromWeb()` - `Readable.isDisturbed()` - `Readable.toWeb()` - `stream.isErrored()` - `stream.isReadable()` - `URL.createObjectURL()` - `URL.revokeObjectURL()` - `v8.setHeapSnapshotNearHeapLimit()` - `Writable.fromWeb()` - `Writable.toWeb()` - `writable.writableAborted` - Startup Snapshot API - `ERR_INPUT_TYPE_NOT_ALLOWED` - `ERR_UNKNOWN_FILE_EXTENSION` - `ERR_UNKNOWN_MODULE_FORMAT` - `ERR_USE_AFTER_CLOSE` Contributed by James M Snell in [#&#8203;57513](https://github.com/nodejs/node/pull/57513) and [#&#8203;58541](https://github.com/nodejs/node/pull/58541). ##### Semver-minor features ##### 🔧 `fs.FileHandle.readableWebStream` gets `autoClose` option This gives developers explicit control over whether the file descriptor should be closed when the stream ends. Helps avoid subtle resource leaks. Contributed by James M Snell in [#&#8203;58548](https://github.com/nodejs/node/pull/58548). ##### 🔧 `fs.Dir` now supports **explicit resource management** This improves ergonomics around async iteration of directories. Developers can now manually control when a directory is closed using `.close()` or with `Symbol.asyncDispose`. Contributed by Antoine du Hamel in [#&#8203;58206](https://github.com/nodejs/node/pull/58206). ##### 📊 `http2` gains diagnostics channel: `http2.server.stream.finish` Adds observability support for when a stream finishes. Useful for logging, monitoring, and debugging HTTP/2 behavior without patching internals. Contributed by Darshan Sen in [#&#8203;58560](https://github.com/nodejs/node/pull/58560). ##### 🔐 Permissions: implicit allow-fs-read to entrypoint Node.js permissions model now allows read access to the entry file by default. It makes running permission-restricted apps smoother while preserving security. Contributed by Rafael Gonzaga in [#&#8203;58579](https://github.com/nodejs/node/pull/58579). ##### 🎨 `util.styleText()` adds `'none'` style This lets developers remove styling cleanly without hacks. Useful for overriding inherited terminal styles when composing styled strings. Contributed by James M Snell in [#&#8203;58437](https://github.com/nodejs/node/pull/58437). ##### 🧑‍💻 Community updates - \[[`0105c13556`](https://github.com/nodejs/node/commit/0105c13556)] - **doc**: add Filip Skokan to TSC (Rafael Gonzaga) [#&#8203;58499](https://github.com/nodejs/node/pull/58499) - \[[`3b857735ef`](https://github.com/nodejs/node/commit/3b857735ef)] - **doc**: add JonasBa to collaborators (Jonas Badalic) [#&#8203;58355](https://github.com/nodejs/node/pull/58355) - \[[`fdf7612735`](https://github.com/nodejs/node/commit/fdf7612735)] - **doc**: add puskin to collaborators (Giovanni Bucci) [#&#8203;58308](https://github.com/nodejs/node/pull/58308) ##### Commits - \[[`ffe7e1ace0`](https://github.com/nodejs/node/commit/ffe7e1ace0)] - **(SEMVER-MINOR)** **assert**: mark partialDeepStrictEqual() as stable (Ruben Bridgewater) [#&#8203;57370](https://github.com/nodejs/node/pull/57370) - \[[`269931f289`](https://github.com/nodejs/node/commit/269931f289)] - **async_hooks**: ensure AsyncLocalStore instances work isolated (Gerhard Stöbich) [#&#8203;58149](https://github.com/nodejs/node/pull/58149) - \[[`9e0746a4ff`](https://github.com/nodejs/node/commit/9e0746a4ff)] - **benchmark**: fix broken fs.cpSync benchmark (Dario Piotrowicz) [#&#8203;58472](https://github.com/nodejs/node/pull/58472) - \[[`dee8cb5bcb`](https://github.com/nodejs/node/commit/dee8cb5bcb)] - **benchmark**: add more options to cp-sync (Sonny) [#&#8203;58278](https://github.com/nodejs/node/pull/58278) - \[[`e840fd5b85`](https://github.com/nodejs/node/commit/e840fd5b85)] - **benchmark**: fix typo in method name for error-stack (Miguel Marcondes Filho) [#&#8203;58128](https://github.com/nodejs/node/pull/58128) - \[[`b9a16e97e0`](https://github.com/nodejs/node/commit/b9a16e97e0)] - **buffer**: give names to `Buffer.prototype.*Write()` functions (Livia Medeiros) [#&#8203;58258](https://github.com/nodejs/node/pull/58258) - \[[`d56a5e40af`](https://github.com/nodejs/node/commit/d56a5e40af)] - **buffer**: use constexpr where possible (Yagiz Nizipli) [#&#8203;58141](https://github.com/nodejs/node/pull/58141) - \[[`215587feca`](https://github.com/nodejs/node/commit/215587feca)] - **build**: add support for OpenHarmony operating system (hqzing) [#&#8203;58350](https://github.com/nodejs/node/pull/58350) - \[[`9bcef6821c`](https://github.com/nodejs/node/commit/9bcef6821c)] - **build**: fix uvwasi pkgname (Antoine du Hamel) [#&#8203;58270](https://github.com/nodejs/node/pull/58270) - \[[`7c3883c2ae`](https://github.com/nodejs/node/commit/7c3883c2ae)] - **build**: search for libnode.so in multiple places (Jan Staněk) [#&#8203;58213](https://github.com/nodejs/node/pull/58213) - \[[`3f954accb3`](https://github.com/nodejs/node/commit/3f954accb3)] - **build**: fix pointer compression builds (Joyee Cheung) [#&#8203;58171](https://github.com/nodejs/node/pull/58171) - \[[`04c8f59f84`](https://github.com/nodejs/node/commit/04c8f59f84)] - **build**: use FILE_OFFSET_BITS=64 esp. on 32-bit arch (RafaelGSS) [#&#8203;58090](https://github.com/nodejs/node/pull/58090) - \[[`8c2cf3a372`](https://github.com/nodejs/node/commit/8c2cf3a372)] - **build**: use //third_party/simdutf by default in GN (Shelley Vohr) [#&#8203;58115](https://github.com/nodejs/node/pull/58115) - \[[`cff8006792`](https://github.com/nodejs/node/commit/cff8006792)] - **child_process**: give names to `ChildProcess` functions (Livia Medeiros) [#&#8203;58370](https://github.com/nodejs/node/pull/58370) - \[[`6816d779b6`](https://github.com/nodejs/node/commit/6816d779b6)] - **child_process**: give names to promisified `exec()` and `execFile()` (LiviaMedeiros) [#&#8203;57916](https://github.com/nodejs/node/pull/57916) - \[[`5572cecca4`](https://github.com/nodejs/node/commit/5572cecca4)] - **crypto**: expose crypto.constants.OPENSSL_IS_BORINGSSL (Shelley Vohr) [#&#8203;58387](https://github.com/nodejs/node/pull/58387) - \[[`d6aa02889c`](https://github.com/nodejs/node/commit/d6aa02889c)] - **deps**: use proper C standard when building libuv (Yaksh Bariya) [#&#8203;58587](https://github.com/nodejs/node/pull/58587) - \[[`375a6413d5`](https://github.com/nodejs/node/commit/375a6413d5)] - **deps**: update simdjson to 3.12.3 (Node.js GitHub Bot) [#&#8203;57682](https://github.com/nodejs/node/pull/57682) - \[[`e0cd138e52`](https://github.com/nodejs/node/commit/e0cd138e52)] - **deps**: update googletest to [`e9092b1`](https://github.com/nodejs/node/commit/e9092b1) (Node.js GitHub Bot) [#&#8203;58565](https://github.com/nodejs/node/pull/58565) - \[[`31e592631f`](https://github.com/nodejs/node/commit/31e592631f)] - **deps**: update corepack to 0.33.0 (Node.js GitHub Bot) [#&#8203;58566](https://github.com/nodejs/node/pull/58566) - \[[`386c24260b`](https://github.com/nodejs/node/commit/386c24260b)] - **deps**: update sqlite to 3.50.0 (Node.js GitHub Bot) [#&#8203;58272](https://github.com/nodejs/node/pull/58272) - \[[`f84998d40b`](https://github.com/nodejs/node/commit/f84998d40b)] - **deps**: update OpenSSL gen container to Ubuntu 22.04 (Michaël Zasso) [#&#8203;58432](https://github.com/nodejs/node/pull/58432) - \[[`d49fd29859`](https://github.com/nodejs/node/commit/d49fd29859)] - **deps**: update llhttp to 9.3.0 (Fedor Indutny) [#&#8203;58144](https://github.com/nodejs/node/pull/58144) - \[[`e397980a1a`](https://github.com/nodejs/node/commit/e397980a1a)] - **deps**: update libuv to 1.51.0 (Node.js GitHub Bot) [#&#8203;58124](https://github.com/nodejs/node/pull/58124) - \[[`a28c33645c`](https://github.com/nodejs/node/commit/a28c33645c)] - **dns**: fix dns query cache implementation (Ethan Arrowood) [#&#8203;58404](https://github.com/nodejs/node/pull/58404) - \[[`6939b0c624`](https://github.com/nodejs/node/commit/6939b0c624)] - **doc**: fix the order of `process.md` sections (Allon Murienik) [#&#8203;58403](https://github.com/nodejs/node/pull/58403) - \[[`1ca253c363`](https://github.com/nodejs/node/commit/1ca253c363)] - **doc**: add support link for panva (Filip Skokan) [#&#8203;58591](https://github.com/nodejs/node/pull/58591) - \[[`8319edbcf6`](https://github.com/nodejs/node/commit/8319edbcf6)] - **doc**: update metadata for \_transformState deprecation (James M Snell) [#&#8203;58530](https://github.com/nodejs/node/pull/58530) - \[[`697d258136`](https://github.com/nodejs/node/commit/697d258136)] - **doc**: deprecate passing an empty string to `options.shell` (Antoine du Hamel) [#&#8203;58564](https://github.com/nodejs/node/pull/58564) - \[[`132fc804e8`](https://github.com/nodejs/node/commit/132fc804e8)] - **doc**: correct formatting of example definitions for `--test-shard` (Jacob Smith) [#&#8203;58571](https://github.com/nodejs/node/pull/58571) - \[[`7d0df646f6`](https://github.com/nodejs/node/commit/7d0df646f6)] - **doc**: clarify DEP0194 scope (Antoine du Hamel) [#&#8203;58504](https://github.com/nodejs/node/pull/58504) - \[[`1e6d7da0ce`](https://github.com/nodejs/node/commit/1e6d7da0ce)] - **doc**: deprecate HTTP/2 priority signaling (Matteo Collina) [#&#8203;58313](https://github.com/nodejs/node/pull/58313) - \[[`5a917bc1d0`](https://github.com/nodejs/node/commit/5a917bc1d0)] - **doc**: explain child_process code and signal null values everywhere (Darshan Sen) [#&#8203;58479](https://github.com/nodejs/node/pull/58479) - \[[`0105c13556`](https://github.com/nodejs/node/commit/0105c13556)] - **doc**: add Filip Skokan to TSC (Rafael Gonzaga) [#&#8203;58499](https://github.com/nodejs/node/pull/58499) - \[[`2bdc87cd64`](https://github.com/nodejs/node/commit/2bdc87cd64)] - **doc**: update `git node release` example (Antoine du Hamel) [#&#8203;58475](https://github.com/nodejs/node/pull/58475) - \[[`28f9b43186`](https://github.com/nodejs/node/commit/28f9b43186)] - **doc**: add missing options.info for ZstdOptions (Jimmy Leung) [#&#8203;58360](https://github.com/nodejs/node/pull/58360) - \[[`e19496dfc1`](https://github.com/nodejs/node/commit/e19496dfc1)] - **doc**: add missing options.info for BrotliOptions (Jimmy Leung) [#&#8203;58359](https://github.com/nodejs/node/pull/58359) - \[[`7f905863db`](https://github.com/nodejs/node/commit/7f905863db)] - **doc**: clarify x509.checkIssued only checks metadata (Filip Skokan) [#&#8203;58457](https://github.com/nodejs/node/pull/58457) - \[[`5cc97df637`](https://github.com/nodejs/node/commit/5cc97df637)] - **doc**: add links to parent class for `node:zlib` classes (Antoine du Hamel) [#&#8203;58433](https://github.com/nodejs/node/pull/58433) - \[[`36e0d5539b`](https://github.com/nodejs/node/commit/36e0d5539b)] - **doc**: remove remaining uses of `@@wellknown` syntax (René) [#&#8203;58413](https://github.com/nodejs/node/pull/58413) - \[[`2f36f8e863`](https://github.com/nodejs/node/commit/2f36f8e863)] - **doc**: clarify behavior of --watch-path and --watch flags (Juan Ignacio Benito) [#&#8203;58136](https://github.com/nodejs/node/pull/58136) - \[[`3b857735ef`](https://github.com/nodejs/node/commit/3b857735ef)] - **doc**: add JonasBa to collaborators (Jonas Badalic) [#&#8203;58355](https://github.com/nodejs/node/pull/58355) - \[[`9d5e969bb6`](https://github.com/nodejs/node/commit/9d5e969bb6)] - **doc**: add latest security release steward (Rafael Gonzaga) [#&#8203;58339](https://github.com/nodejs/node/pull/58339) - \[[`b22bb03167`](https://github.com/nodejs/node/commit/b22bb03167)] - **doc**: fix CryptoKey.algorithm type and other interfaces in webcrypto.md (Filip Skokan) [#&#8203;58294](https://github.com/nodejs/node/pull/58294) - \[[`670f31060b`](https://github.com/nodejs/node/commit/670f31060b)] - **doc**: mark the callback argument of crypto.generatePrime as mandatory (Allon Murienik) [#&#8203;58299](https://github.com/nodejs/node/pull/58299) - \[[`39d9a61239`](https://github.com/nodejs/node/commit/39d9a61239)] - **doc**: remove comma delimiter mention on permissions doc (Rafael Gonzaga) [#&#8203;58297](https://github.com/nodejs/node/pull/58297) - \[[`573b0b7bfe`](https://github.com/nodejs/node/commit/573b0b7bfe)] - **doc**: make Stability labels not sticky in Stability index (Livia Medeiros) [#&#8203;58291](https://github.com/nodejs/node/pull/58291) - \[[`a5a686a3ae`](https://github.com/nodejs/node/commit/a5a686a3ae)] - **doc**: update commit-queue documentation (Dario Piotrowicz) [#&#8203;58275](https://github.com/nodejs/node/pull/58275) - \[[`fdf7612735`](https://github.com/nodejs/node/commit/fdf7612735)] - **doc**: add puskin to collaborators (Giovanni Bucci) [#&#8203;58308](https://github.com/nodejs/node/pull/58308) - \[[`be492a1708`](https://github.com/nodejs/node/commit/be492a1708)] - **doc**: update stability status for diagnostics_channel to experimental (Idan Goshen) [#&#8203;58261](https://github.com/nodejs/node/pull/58261) - \[[`7d00fc2206`](https://github.com/nodejs/node/commit/7d00fc2206)] - **doc**: clarify napi_get_value_string\_\* for bufsize 0 (Tobias Nießen) [#&#8203;58158](https://github.com/nodejs/node/pull/58158) - \[[`c8500a2c4a`](https://github.com/nodejs/node/commit/c8500a2c4a)] - **doc**: fix typo of file `http.md`, `outgoingMessage.setTimeout` section (yusheng chen) [#&#8203;58188](https://github.com/nodejs/node/pull/58188) - \[[`34a9b856c3`](https://github.com/nodejs/node/commit/34a9b856c3)] - **doc**: update return types for eventNames method in EventEmitter (Yukihiro Hasegawa) [#&#8203;58083](https://github.com/nodejs/node/pull/58083) - \[[`faedee59d2`](https://github.com/nodejs/node/commit/faedee59d2)] - **doc**: fix typo in benchmark script path (Miguel Marcondes Filho) [#&#8203;58129](https://github.com/nodejs/node/pull/58129) - \[[`570d8d3f10`](https://github.com/nodejs/node/commit/570d8d3f10)] - **doc**: clarify future Corepack removal in v25+ (Trivikram Kamat) [#&#8203;57825](https://github.com/nodejs/node/pull/57825) - \[[`a71b9fc2ff`](https://github.com/nodejs/node/commit/a71b9fc2ff)] - **doc**: mark multiple APIs stable (James M Snell) [#&#8203;57513](https://github.com/nodejs/node/pull/57513) - \[[`73a97d47f3`](https://github.com/nodejs/node/commit/73a97d47f3)] - **doc,lib**: update source map links to ECMA426 (Chengzhong Wu) [#&#8203;58597](https://github.com/nodejs/node/pull/58597) - \[[`8b41429499`](https://github.com/nodejs/node/commit/8b41429499)] - **doc,src,test**: fix typos (Noritaka Kobayashi) [#&#8203;58477](https://github.com/nodejs/node/pull/58477) - \[[`0cea14ec7f`](https://github.com/nodejs/node/commit/0cea14ec7f)] - **errors**: show url of unsupported attributes in the error message (Aditi) [#&#8203;58303](https://github.com/nodejs/node/pull/58303) - \[[`b9586bf898`](https://github.com/nodejs/node/commit/b9586bf898)] - **(SEMVER-MINOR)** **fs**: add autoClose option to FileHandle readableWebStream (James M Snell) [#&#8203;58548](https://github.com/nodejs/node/pull/58548) - \[[`72a1b061f3`](https://github.com/nodejs/node/commit/72a1b061f3)] - **fs**: unexpose internal constants (Chengzhong Wu) [#&#8203;58327](https://github.com/nodejs/node/pull/58327) - \[[`5c36510dec`](https://github.com/nodejs/node/commit/5c36510dec)] - **fs**: add support for `URL` for `fs.glob`'s `cwd` option (Antoine du Hamel) [#&#8203;58182](https://github.com/nodejs/node/pull/58182) - \[[`3642b0d944`](https://github.com/nodejs/node/commit/3642b0d944)] - **fs**: improve cpSync no-filter copyDir performance (Dario Piotrowicz) [#&#8203;58461](https://github.com/nodejs/node/pull/58461) - \[[`24865bc7e8`](https://github.com/nodejs/node/commit/24865bc7e8)] - **fs**: improve `cpSync` dest overriding performance (Dario Piotrowicz) [#&#8203;58160](https://github.com/nodejs/node/pull/58160) - \[[`1b3847694d`](https://github.com/nodejs/node/commit/1b3847694d)] - **(SEMVER-MINOR)** **fs**: add to `Dir` support for explicit resource management (Antoine du Hamel) [#&#8203;58206](https://github.com/nodejs/node/pull/58206) - \[[`cff62e3265`](https://github.com/nodejs/node/commit/cff62e3265)] - **fs**: ensure `dir.read()` does not throw synchronously (Antoine du Hamel) [#&#8203;58228](https://github.com/nodejs/node/pull/58228) - \[[`cb39e4ca1f`](https://github.com/nodejs/node/commit/cb39e4ca1f)] - **fs**: glob is stable, so should not emit experimental warnings (Théo LUDWIG) [#&#8203;58236](https://github.com/nodejs/node/pull/58236) - \[[`597bfefbe1`](https://github.com/nodejs/node/commit/597bfefbe1)] - **http**: deprecate instantiating classes without new (Yagiz Nizipli) [#&#8203;58518](https://github.com/nodejs/node/pull/58518) - \[[`5298da0102`](https://github.com/nodejs/node/commit/5298da0102)] - **http**: remove unused functions and add todos (Yagiz Nizipli) [#&#8203;58143](https://github.com/nodejs/node/pull/58143) - \[[`cff440e0fa`](https://github.com/nodejs/node/commit/cff440e0fa)] - **http,https**: give names to anonymous or misnamed functions (Livia Medeiros) [#&#8203;58180](https://github.com/nodejs/node/pull/58180) - \[[`43bf1f619a`](https://github.com/nodejs/node/commit/43bf1f619a)] - **http2**: add raw header array support to h2Session.request() (Tim Perry) [#&#8203;57917](https://github.com/nodejs/node/pull/57917) - \[[`e8a0f5b063`](https://github.com/nodejs/node/commit/e8a0f5b063)] - **http2**: add lenient flag for RFC-9113 (Carlos Fuentes) [#&#8203;58116](https://github.com/nodejs/node/pull/58116) - \[[`49cb90d4a5`](https://github.com/nodejs/node/commit/49cb90d4a5)] - **(SEMVER-MINOR)** **http2**: add diagnostics channel 'http2.server.stream.finish' (Darshan Sen) [#&#8203;58560](https://github.com/nodejs/node/pull/58560) - \[[`6a56c68728`](https://github.com/nodejs/node/commit/6a56c68728)] - **http2**: add diagnostics channel 'http2.server.stream.error' (Darshan Sen) [#&#8203;58512](https://github.com/nodejs/node/pull/58512) - \[[`59806b41d3`](https://github.com/nodejs/node/commit/59806b41d3)] - **http2**: add diagnostics channel 'http2.server.stream.start' (Darshan Sen) [#&#8203;58449](https://github.com/nodejs/node/pull/58449) - \[[`d3d662ae47`](https://github.com/nodejs/node/commit/d3d662ae47)] - **http2**: remove no longer userful options.selectPadding (Jimmy Leung) [#&#8203;58373](https://github.com/nodejs/node/pull/58373) - \[[`dec6c9af8c`](https://github.com/nodejs/node/commit/dec6c9af8c)] - **http2**: add diagnostics channel 'http2.server.stream.created' (Darshan Sen) [#&#8203;58390](https://github.com/nodejs/node/pull/58390) - \[[`9e98899986`](https://github.com/nodejs/node/commit/9e98899986)] - **http2**: add diagnostics channel 'http2.client.stream.close' (Darshan Sen) [#&#8203;58329](https://github.com/nodejs/node/pull/58329) - \[[`86610389d8`](https://github.com/nodejs/node/commit/86610389d8)] - **http2**: add diagnostics channel 'http2.client.stream.finish' (Darshan Sen) [#&#8203;58317](https://github.com/nodejs/node/pull/58317) - \[[`2d3071671e`](https://github.com/nodejs/node/commit/2d3071671e)] - **http2**: add diagnostics channel 'http2.client.stream.error' (Darshan Sen) [#&#8203;58306](https://github.com/nodejs/node/pull/58306) - \[[`6c3e426d6f`](https://github.com/nodejs/node/commit/6c3e426d6f)] - **http2**: add diagnostics channel 'http2.client.stream.start' (Darshan Sen) [#&#8203;58292](https://github.com/nodejs/node/pull/58292) - \[[`b99d131a61`](https://github.com/nodejs/node/commit/b99d131a61)] - **http2**: add diagnostics channel 'http2.client.stream.created' (Darshan Sen) [#&#8203;58246](https://github.com/nodejs/node/pull/58246) - \[[`b0644330f5`](https://github.com/nodejs/node/commit/b0644330f5)] - **http2**: give name to promisified `connect()` (LiviaMedeiros) [#&#8203;57916](https://github.com/nodejs/node/pull/57916) - \[[`4092d3611a`](https://github.com/nodejs/node/commit/4092d3611a)] - **inspector**: add mimeType and charset support to Network.Response (Shima Ryuhei) [#&#8203;58192](https://github.com/nodejs/node/pull/58192) - \[[`d7d8599f7c`](https://github.com/nodejs/node/commit/d7d8599f7c)] - **inspector**: add protocol method Network.dataReceived (Chengzhong Wu) [#&#8203;58001](https://github.com/nodejs/node/pull/58001) - \[[`aabafbc28f`](https://github.com/nodejs/node/commit/aabafbc28f)] - **inspector**: support for worker inspection in chrome devtools (Shima Ryuhei) [#&#8203;56759](https://github.com/nodejs/node/pull/56759) - \[[`20d978de9a`](https://github.com/nodejs/node/commit/20d978de9a)] - **lib**: make ERM functions into wrappers returning undefined (Livia Medeiros) [#&#8203;58400](https://github.com/nodejs/node/pull/58400) - \[[`13567eac5f`](https://github.com/nodejs/node/commit/13567eac5f)] - **(SEMVER-MINOR)** **lib**: graduate error codes that have been around for years (James M Snell) [#&#8203;58541](https://github.com/nodejs/node/pull/58541) - \[[`342b5a0d7a`](https://github.com/nodejs/node/commit/342b5a0d7a)] - **lib**: remove no-mixed-operators eslint rule (Ruben Bridgewater) [#&#8203;58375](https://github.com/nodejs/node/pull/58375) - \[[`af7baef75a`](https://github.com/nodejs/node/commit/af7baef75a)] - **lib**: fix sourcemaps with ts module mocking (Marco Ippolito) [#&#8203;58193](https://github.com/nodejs/node/pull/58193) - \[[`8f73f42d4e`](https://github.com/nodejs/node/commit/8f73f42d4e)] - **meta**: bump github/codeql-action from 3.28.16 to 3.28.18 (dependabot\[bot]) [#&#8203;58552](https://github.com/nodejs/node/pull/58552) - \[[`5dfedbeb86`](https://github.com/nodejs/node/commit/5dfedbeb86)] - **meta**: bump codecov/codecov-action from 5.4.2 to 5.4.3 (dependabot\[bot]) [#&#8203;58551](https://github.com/nodejs/node/pull/58551) - \[[`53c50f66f5`](https://github.com/nodejs/node/commit/53c50f66f5)] - **meta**: bump step-security/harden-runner from 2.11.0 to 2.12.0 (dependabot\[bot]) [#&#8203;58109](https://github.com/nodejs/node/pull/58109) - \[[`a1a7024831`](https://github.com/nodejs/node/commit/a1a7024831)] - **meta**: bump ossf/scorecard-action from 2.4.1 to 2.4.2 (dependabot\[bot]) [#&#8203;58550](https://github.com/nodejs/node/pull/58550) - \[[`a379988ef6`](https://github.com/nodejs/node/commit/a379988ef6)] - **meta**: bump rtCamp/action-slack-notify from 2.3.2 to 2.3.3 (dependabot\[bot]) [#&#8203;58108](https://github.com/nodejs/node/pull/58108) - \[[`f6a46c87f2`](https://github.com/nodejs/node/commit/f6a46c87f2)] - **meta**: move one or more collaborators to emeritus (Node.js GitHub Bot) [#&#8203;58456](https://github.com/nodejs/node/pull/58456) - \[[`98b6aa0dcd`](https://github.com/nodejs/node/commit/98b6aa0dcd)] - **meta**: bump github/codeql-action from 3.28.11 to 3.28.16 (dependabot\[bot]) [#&#8203;58112](https://github.com/nodejs/node/pull/58112) - \[[`5202b262e3`](https://github.com/nodejs/node/commit/5202b262e3)] - **meta**: bump codecov/codecov-action from 5.4.0 to 5.4.2 (dependabot\[bot]) [#&#8203;58110](https://github.com/nodejs/node/pull/58110) - \[[`d97616ac6e`](https://github.com/nodejs/node/commit/d97616ac6e)] - **meta**: bump actions/download-artifact from 4.2.1 to 4.3.0 (dependabot\[bot]) [#&#8203;58106](https://github.com/nodejs/node/pull/58106) - \[[`f4065074cf`](https://github.com/nodejs/node/commit/f4065074cf)] - **meta**: ignore mailmap changes in linux ci (Jonas Badalic) [#&#8203;58356](https://github.com/nodejs/node/pull/58356) - \[[`e6d1224e54`](https://github.com/nodejs/node/commit/e6d1224e54)] - **meta**: bump actions/setup-node from 4.3.0 to 4.4.0 (dependabot\[bot]) [#&#8203;58111](https://github.com/nodejs/node/pull/58111) - \[[`26da160ab2`](https://github.com/nodejs/node/commit/26da160ab2)] - **meta**: bump actions/setup-python from 5.5.0 to 5.6.0 (dependabot\[bot]) [#&#8203;58107](https://github.com/nodejs/node/pull/58107) - \[[`4cc4195493`](https://github.com/nodejs/node/commit/4cc4195493)] - **module**: handle instantiated async module jobs in require(esm) (Joyee Cheung) [#&#8203;58067](https://github.com/nodejs/node/pull/58067) - \[[`72fac71b92`](https://github.com/nodejs/node/commit/72fac71b92)] - **module**: clarify cjs global-like error on ModuleJobSync (Carlos Espa) [#&#8203;56491](https://github.com/nodejs/node/pull/56491) - \[[`fecd841c93`](https://github.com/nodejs/node/commit/fecd841c93)] - **net**: always publish to 'net.client.socket' diagnostics channel (Darshan Sen) [#&#8203;58349](https://github.com/nodejs/node/pull/58349) - \[[`25ee328d2b`](https://github.com/nodejs/node/commit/25ee328d2b)] - **path**: improve path.resolve() performance when used as process.cwd() (Ruben Bridgewater) [#&#8203;58362](https://github.com/nodejs/node/pull/58362) - \[[`6fd1b23260`](https://github.com/nodejs/node/commit/6fd1b23260)] - **permission**: remove useless conditional (Juan José) [#&#8203;58514](https://github.com/nodejs/node/pull/58514) - \[[`5b2cca51a3`](https://github.com/nodejs/node/commit/5b2cca51a3)] - **report**: use uv_getrusage_thread in report (theanarkh) [#&#8203;58405](https://github.com/nodejs/node/pull/58405) - \[[`63ec23e84b`](https://github.com/nodejs/node/commit/63ec23e84b)] - **sqlite**: add build option to build without sqlite (Michael Dawson) [#&#8203;58122](https://github.com/nodejs/node/pull/58122) - \[[`9d8677bff5`](https://github.com/nodejs/node/commit/9d8677bff5)] - **sqlite**: handle thrown errors in result callback (Colin Ihrig) [#&#8203;58426](https://github.com/nodejs/node/pull/58426) - \[[`3490c75760`](https://github.com/nodejs/node/commit/3490c75760)] - **sqlite**: set `name` and `length` on `sqlite.backup()` (Livia Medeiros) [#&#8203;58251](https://github.com/nodejs/node/pull/58251) - \[[`50bdd94e0b`](https://github.com/nodejs/node/commit/50bdd94e0b)] - **src**: update std::vector\<v8::Local\<T>> to use v8::LocalVector\<T> (Aditi) [#&#8203;58500](https://github.com/nodejs/node/pull/58500) - \[[`7de58417cc`](https://github.com/nodejs/node/commit/7de58417cc)] - **src**: env_vars caching and local variable scope optimization (Mert Can Altin) [#&#8203;57624](https://github.com/nodejs/node/pull/57624) - \[[`6d99ec33a4`](https://github.com/nodejs/node/commit/6d99ec33a4)] - **src**: fix FIPS init error handling (Tobias Nießen) [#&#8203;58379](https://github.com/nodejs/node/pull/58379) - \[[`4c23a9575e`](https://github.com/nodejs/node/commit/4c23a9575e)] - **src**: fix possible dereference of null pointer (Eusgor) [#&#8203;58459](https://github.com/nodejs/node/pull/58459) - \[[`eb143e902b`](https://github.com/nodejs/node/commit/eb143e902b)] - **src**: fix -Wreturn-stack-address error (Shelley Vohr) [#&#8203;58439](https://github.com/nodejs/node/pull/58439) - \[[`31058b8785`](https://github.com/nodejs/node/commit/31058b8785)] - **src**: reorganize ContextifyFunction methods (Chengzhong Wu) [#&#8203;58434](https://github.com/nodejs/node/pull/58434) - \[[`7521077299`](https://github.com/nodejs/node/commit/7521077299)] - **src**: improve CompileFunctionAndCacheResult error handling (Chengzhong Wu) [#&#8203;58434](https://github.com/nodejs/node/pull/58434) - \[[`0c9efccb12`](https://github.com/nodejs/node/commit/0c9efccb12)] - **src**: fix build when using shared simdutf (Antoine du Hamel) [#&#8203;58407](https://github.com/nodejs/node/pull/58407) - \[[`aa00f5946f`](https://github.com/nodejs/node/commit/aa00f5946f)] - **src**: add a variant of ToV8Value() for primitive arrays (Aditi) [#&#8203;57576](https://github.com/nodejs/node/pull/57576) - \[[`29a11506fc`](https://github.com/nodejs/node/commit/29a11506fc)] - **src**: remove unused `checkMessagePort` internal binding (Dario Piotrowicz) [#&#8203;58267](https://github.com/nodejs/node/pull/58267) - \[[`0ce3feed5b`](https://github.com/nodejs/node/commit/0ce3feed5b)] - **src**: remove unused `shouldRetryAsESM` internal binding (Dario Piotrowicz) [#&#8203;58265](https://github.com/nodejs/node/pull/58265) - \[[`517219613d`](https://github.com/nodejs/node/commit/517219613d)] - **src**: add a couple fast apis in node_os (James M Snell) [#&#8203;58210](https://github.com/nodejs/node/pull/58210) - \[[`3f834da09e`](https://github.com/nodejs/node/commit/3f834da09e)] - **src**: fix module buffer allocation (X-BW) [#&#8203;57738](https://github.com/nodejs/node/pull/57738) - \[[`a793706db0`](https://github.com/nodejs/node/commit/a793706db0)] - **src**: remove overzealous tcsetattr error check (Ben Noordhuis) [#&#8203;58200](https://github.com/nodejs/node/pull/58200) - \[[`5656c74517`](https://github.com/nodejs/node/commit/5656c74517)] - **src**: remove NonCopyableMaybe (Tobias Nießen) [#&#8203;58168](https://github.com/nodejs/node/pull/58168) - \[[`cab242334b`](https://github.com/nodejs/node/commit/cab242334b)] - **src**: improve parsing of boolean options (Edy Silva) [#&#8203;58039](https://github.com/nodejs/node/pull/58039) - \[[`a5df778150`](https://github.com/nodejs/node/commit/a5df778150)] - **src,lib**: obtain sourceURL in magic comments from V8 (Chengzhong Wu) [#&#8203;58389](https://github.com/nodejs/node/pull/58389) - \[[`bd6743b434`](https://github.com/nodejs/node/commit/bd6743b434)] - **src,permission**: implicit allow-fs-read to app entrypoint (Rafael Gonzaga) [#&#8203;58579](https://github.com/nodejs/node/pull/58579) - \[[`5bd99e4a4d`](https://github.com/nodejs/node/commit/5bd99e4a4d)] - **stream**: making DecompressionStream spec compilent for trailing junk (0hm☘️) [#&#8203;58316](https://github.com/nodejs/node/pull/58316) - \[[`6582b19488`](https://github.com/nodejs/node/commit/6582b19488)] - **test**: reduce flakiness in test-heapdump-http2 (Joyee Cheung) [#&#8203;58148](https://github.com/nodejs/node/pull/58148) - \[[`0f6a262744`](https://github.com/nodejs/node/commit/0f6a262744)] - **test**: improve flakiness detection on stack corruption tests (Darshan Sen) [#&#8203;58601](https://github.com/nodejs/node/pull/58601) - \[[`983affaea2`](https://github.com/nodejs/node/commit/983affaea2)] - **test**: mark timeouts & flaky test as flaky on IBM i (Abdirahim Musse) [#&#8203;58583](https://github.com/nodejs/node/pull/58583) - \[[`3603362b6f`](https://github.com/nodejs/node/commit/3603362b6f)] - **test**: rewrite test-child-process-spawn-args (Michaël Zasso) [#&#8203;58546](https://github.com/nodejs/node/pull/58546) - \[[`93900b0c17`](https://github.com/nodejs/node/commit/93900b0c17)] - **test**: make sqlite-database-sync tests work with system sqlite (Jelle Licht) [#&#8203;58507](https://github.com/nodejs/node/pull/58507) - \[[`7d505f4185`](https://github.com/nodejs/node/commit/7d505f4185)] - **test**: force slow JSON.stringify path for overflow (Shelley Vohr) [#&#8203;58181](https://github.com/nodejs/node/pull/58181) - \[[`2e8570b8f9`](https://github.com/nodejs/node/commit/2e8570b8f9)] - **test**: account for truthy signal in flaky async_hooks tests (Darshan Sen) [#&#8203;58478](https://github.com/nodejs/node/pull/58478) - \[[`1f1e194c0f`](https://github.com/nodejs/node/commit/1f1e194c0f)] - **test**: update WPT for WebCryptoAPI to [`591c95c`](https://github.com/nodejs/node/commit/591c95ce61) (Node.js GitHub Bot) [#&#8203;58176](https://github.com/nodejs/node/pull/58176) - \[[`d822632d91`](https://github.com/nodejs/node/commit/d822632d91)] - **test**: remove --no-warnings flag (Tobias Nießen) [#&#8203;58424](https://github.com/nodejs/node/pull/58424) - \[[`01377713d7`](https://github.com/nodejs/node/commit/01377713d7)] - **test**: add tests ensuring worker threads cannot access internals (Joe) [#&#8203;58332](https://github.com/nodejs/node/pull/58332) - \[[`99a20902fc`](https://github.com/nodejs/node/commit/99a20902fc)] - **test**: leverage process.features.openssl_is_boringssl in test (Shelley Vohr) [#&#8203;58421](https://github.com/nodejs/node/pull/58421) - \[[`b3e0cf1b15`](https://github.com/nodejs/node/commit/b3e0cf1b15)] - **test**: fix test-buffer-tostring-range on allocation failure (Joyee Cheung) [#&#8203;58416](https://github.com/nodejs/node/pull/58416) - \[[`1d4b3451c5`](https://github.com/nodejs/node/commit/1d4b3451c5)] - **test**: skip in test-buffer-tostring-rangeerror on allocation failure (Joyee Cheung) [#&#8203;58415](https://github.com/nodejs/node/pull/58415) - \[[`612c393c71`](https://github.com/nodejs/node/commit/612c393c71)] - **test**: fix missing edge case in test-blob-slice-with-large-size (Joyee Cheung) [#&#8203;58414](https://github.com/nodejs/node/pull/58414) - \[[`b11b9cdad8`](https://github.com/nodejs/node/commit/b11b9cdad8)] - **test**: make crypto tests work with BoringSSL (Shelley Vohr) [#&#8203;58117](https://github.com/nodejs/node/pull/58117) - \[[`99711ee548`](https://github.com/nodejs/node/commit/99711ee548)] - **test**: test reordering of setAAD and setAuthTag (Tobias Nießen) [#&#8203;58396](https://github.com/nodejs/node/pull/58396) - \[[`828aaaa3f7`](https://github.com/nodejs/node/commit/828aaaa3f7)] - **test**: switch from deprecated `optparse` to `argparse` (Aviv Keller) [#&#8203;58224](https://github.com/nodejs/node/pull/58224) - \[[`9af305408e`](https://github.com/nodejs/node/commit/9af305408e)] - **test**: do not skip OCB decryption in FIPS mode (Tobias Nießen) [#&#8203;58382](https://github.com/nodejs/node/pull/58382) - \[[`9527c876bf`](https://github.com/nodejs/node/commit/9527c876bf)] - **test**: show more information in test-http2-debug upon failure (Joyee Cheung) [#&#8203;58391](https://github.com/nodejs/node/pull/58391) - \[[`9be0601112`](https://github.com/nodejs/node/commit/9be0601112)] - **test**: remove loop over single element (Tobias Nießen) [#&#8203;58368](https://github.com/nodejs/node/pull/58368) - \[[`40a03d3d14`](https://github.com/nodejs/node/commit/40a03d3d14)] - **test**: add chacha20-poly1305 to auth tag order test (Tobias Nießen) [#&#8203;58367](https://github.com/nodejs/node/pull/58367) - \[[`cccb15df7e`](https://github.com/nodejs/node/commit/cccb15df7e)] - **test**: skip wasm-allocation tests for pointer compression builds (Joyee Cheung) [#&#8203;58171](https://github.com/nodejs/node/pull/58171) - \[[`f18041ae8e`](https://github.com/nodejs/node/commit/f18041ae8e)] - **test**: remove references to create(De|C)ipher (Tobias Nießen) [#&#8203;58363](https://github.com/nodejs/node/pull/58363) - \[[`ca8d66c1fc`](https://github.com/nodejs/node/commit/ca8d66c1fc)] - **test**: remove unnecessary `console.log` from test-repl-null-thrown (Dario Piotrowicz) [#&#8203;58281](https://github.com/nodejs/node/pull/58281) - \[[`455372023d`](https://github.com/nodejs/node/commit/455372023d)] - **test**: allow `tmpDir.path` to be modified (Aviv Keller) [#&#8203;58173](https://github.com/nodejs/node/pull/58173) - \[[`1f1fab60c7`](https://github.com/nodejs/node/commit/1f1fab60c7)] - **test**: fix executable flags (Livia Medeiros) [#&#8203;58250](https://github.com/nodejs/node/pull/58250) - \[[`8bafc0f061`](https://github.com/nodejs/node/commit/8bafc0f061)] - **test**: deflake test-http2-client-socket-destroy (Luigi Pinca) [#&#8203;58212](https://github.com/nodejs/node/pull/58212) - \[[`97aac9f17a`](https://github.com/nodejs/node/commit/97aac9f17a)] - **test**: skip test-buffer-tostring-rangeerror when low on memory (Ruben Bridgewater) [#&#8203;58142](https://github.com/nodejs/node/pull/58142) - \[[`2896760da1`](https://github.com/nodejs/node/commit/2896760da1)] - **test**: mark `test-http2-debug` as flaky on LinuxONE (Richard Lau) [#&#8203;58494](https://github.com/nodejs/node/pull/58494) - \[[`7327d14780`](https://github.com/nodejs/node/commit/7327d14780)] - **test**: reduce iteration count in test-child-process-stdout-flush-exit (Antoine du Hamel) [#&#8203;58273](https://github.com/nodejs/node/pull/58273) - \[[`1bd7a2edf9`](https://github.com/nodejs/node/commit/1bd7a2edf9)] - **test_runner**: support mocking json modules (Jacob Smith) [#&#8203;58007](https://github.com/nodejs/node/pull/58007) - \[[`a3877c53b1`](https://github.com/nodejs/node/commit/a3877c53b1)] - **test_runner**: add level parameter to reporter.diagnostic (Jacopo Martinelli) [#&#8203;57923](https://github.com/nodejs/node/pull/57923) - \[[`253772c2d9`](https://github.com/nodejs/node/commit/253772c2d9)] - **tools**: bump the eslint group in `/tools/eslint` with 6 updates (dependabot\[bot]) [#&#8203;58549](https://github.com/nodejs/node/pull/58549) - \[[`b7feda97b0`](https://github.com/nodejs/node/commit/b7feda97b0)] - **tools**: disable failing coverage jobs (Antoine du Hamel) [#&#8203;58770](https://github.com/nodejs/node/pull/58770) - \[[`8a47096093`](https://github.com/nodejs/node/commit/8a47096093)] - **tools**: ignore `deps/` and `benchmark/` for CodeQL (Rafael Gonzaga) [#&#8203;58254](https://github.com/nodejs/node/pull/58254) - \[[`70be158126`](https://github.com/nodejs/node/commit/70be158126)] - **tools**: add read permission to workflows that read contents (Antoine du Hamel) [#&#8203;58255](https://github.com/nodejs/node/pull/58255) - \[[`e4373be766`](https://github.com/nodejs/node/commit/e4373be766)] - **tools**: exclude deps/v8/tools from CodeQL scans (Rich Trott) [#&#8203;58132](https://github.com/nodejs/node/pull/58132) - \[[`23ceb364d4`](https://github.com/nodejs/node/commit/23ceb364d4)] - **tools**: bump the eslint group in /tools/eslint with 6 updates (dependabot\[bot]) [#&#8203;58105](https://github.com/nodejs/node/pull/58105) - \[[`5b6ced3255`](https://github.com/nodejs/node/commit/5b6ced3255)] - **tty**: improve color terminal color detection (Ruben Bridgewater) [#&#8203;58146](https://github.com/nodejs/node/pull/58146) - \[[`7be70979c6`](https://github.com/nodejs/node/commit/7be70979c6)] - **tty**: use terminal VT mode on Windows (Anna Henningsen) [#&#8203;58358](https://github.com/nodejs/node/pull/58358) - \[[`b7d7ffe793`](https://github.com/nodejs/node/commit/b7d7ffe793)] - **typings**: add inspector internalBinding typing (Shima Ryuhei) [#&#8203;58492](https://github.com/nodejs/node/pull/58492) - \[[`0056d1a2e2`](https://github.com/nodejs/node/commit/0056d1a2e2)] - **typings**: remove no longer valid `FixedSizeBlobCopyJob` type (Dario Piotrowicz) [#&#8203;58305](https://github.com/nodejs/node/pull/58305) - \[[`581c0738f9`](https://github.com/nodejs/node/commit/581c0738f9)] - **typings**: remove no longer valid `revokeDataObject` type (Dario Piotrowicz) [#&#8203;58305](https://github.com/nodejs/node/pull/58305) - \[[`1db1c870f0`](https://github.com/nodejs/node/commit/1db1c870f0)] - **typings**: add missing typings for `TypedArray` (Jason Zhang) [#&#8203;58248](https://github.com/nodejs/node/pull/58248) - \[[`6d3f43c9a6`](https://github.com/nodejs/node/commit/6d3f43c9a6)] - **url**: improve performance of the format function (Giovanni Bucci) [#&#8203;57099](https://github.com/nodejs/node/pull/57099) - \[[`54288bdb42`](https://github.com/nodejs/node/commit/54288bdb42)] - **(SEMVER-MINOR)** **util**: add 'none' style to styleText (James M Snell) [#&#8203;58437](https://github.com/nodejs/node/pull/58437) - \[[`6af5358f9c`](https://github.com/nodejs/node/commit/6af5358f9c)] - **util**: add internal `assignFunctionName()` function (LiviaMedeiros) [#&#8203;57916](https://github.com/nodejs/node/pull/57916) - \[[`9f2e5aad38`](https://github.com/nodejs/node/commit/9f2e5aad38)] - **vm**: import call should return a promise in the current context (Chengzhong Wu) [#&#8203;58309](https://github.com/nodejs/node/pull/58309) - \[[`92304a5e62`](https://github.com/nodejs/node/commit/92304a5e62)] - **watch**: fix watch args not being properly filtered (Dario Piotrowicz) [#&#8203;58279](https://github.com/nodejs/node/pull/58279) - \[[`539df8e98d`](https://github.com/nodejs/node/commit/539df8e98d)] - **win,tools**: use Azure Trusted Signing (Stefan Stojanovic) [#&#8203;58502](https://github.com/nodejs/node/pull/58502) - \[[`ef66357637`](https://github.com/nodejs/node/commit/ef66357637)] - **worker**: give names to `MessagePort` functions (Livia Medeiros) [#&#8203;58307](https://github.com/nodejs/node/pull/58307) - \[[`b3cd847528`](https://github.com/nodejs/node/commit/b3cd847528)] - **zlib**: remove mentions of unexposed Z_TREES constant (Jimmy Leung) [#&#8203;58371](https://github.com/nodejs/node/pull/58371) ### [`v22.16.0`](https://github.com/nodejs/node/releases/tag/v22.16.0): 2025-05-21, Version 22.16.0 'Jod' (LTS), @&#8203;aduh95 [Compare Source](https://github.com/nodejs/node/compare/v22.15.1...v22.16.0) ##### Notable Changes - \[[`c3ceaebb7a`](https://github.com/nodejs/node/commit/c3ceaebb7a)] - **deps**: update timezone to 2025b (Node.js GitHub Bot) [#&#8203;57857](https://github.com/nodejs/node/pull/57857) - \[[`5059a746ec`](https://github.com/nodejs/node/commit/5059a746ec)] - **doc**: add dario-piotrowicz to collaborators (Dario Piotrowicz) [#&#8203;58102](https://github.com/nodejs/node/pull/58102) - \[[`c8ceaaf397`](https://github.com/nodejs/node/commit/c8ceaaf397)] - **(SEMVER-MINOR)** **doc**: graduate multiple experimental apis (James M Snell) [#&#8203;57765](https://github.com/nodejs/node/pull/57765) - \[[`e21b37d9df`](https://github.com/nodejs/node/commit/e21b37d9df)] - **(SEMVER-MINOR)** **esm**: graduate import.meta properties (James M Snell) [#&#8203;58011](https://github.com/nodejs/node/pull/58011) - \[[`832640c35e`](https://github.com/nodejs/node/commit/832640c35e)] - **(SEMVER-MINOR)** **esm**: support top-level Wasm without package type (Guy Bedford) [#&#8203;57610](https://github.com/nodejs/node/pull/57610) - \[[`c510391d2f`](https://github.com/nodejs/node/commit/c510391d2f)] - **(SEMVER-MINOR)** **sqlite**: add StatementSync.prototype.columns() (Colin Ihrig) [#&#8203;57490](https://github.com/nodejs/node/pull/57490) - \[[`5d1230bec0`](https://github.com/nodejs/node/commit/5d1230bec0)] - **(SEMVER-MINOR)** **src**: set default config as `node.config.json` (Marco Ippolito) [#&#8203;57171](https://github.com/nodejs/node/pull/57171) - \[[`30bb1ccbb0`](https://github.com/nodejs/node/commit/30bb1ccbb0)] - **(SEMVER-MINOR)** **src**: create `THROW_ERR_OPTIONS_BEFORE_BOOTSTRAPPING` (Marco Ippolito) [#&#8203;57016](https://github.com/nodejs/node/pull/57016) - \[[`0350c6f478`](https://github.com/nodejs/node/commit/0350c6f478)] - **(SEMVER-MINOR)** **src**: add config file support (Marco Ippolito) [#&#8203;57016](https://github.com/nodejs/node/pull/57016) - \[[`e1d3a9e192`](https://github.com/nodejs/node/commit/e1d3a9e192)] - **(SEMVER-MINOR)** **src**: add ExecutionAsyncId getter for any Context (Attila Szegedi) [#&#8203;57820](https://github.com/nodejs/node/pull/57820) - \[[`0ec912f452`](https://github.com/nodejs/node/commit/0ec912f452)] - **(SEMVER-MINOR)** **stream**: preserve AsyncLocalStorage context in finished() (Gürgün Dayıoğlu) [#&#8203;57865](https://github.com/nodejs/node/pull/57865) - \[[`43490c8797`](https://github.com/nodejs/node/commit/43490c8797)] - **(SEMVER-MINOR)** **util**: add `types.isFloat16Array()` (Livia Medeiros) [#&#8203;57879](https://github.com/nodejs/node/pull/57879) - \[[`dda6ca9172`](https://github.com/nodejs/node/commit/dda6ca9172)] - **(SEMVER-MINOR)** **worker**: add worker.getHeapStatistics() (Matteo Collina) [#&#8203;57888](https://github.com/nodejs/node/pull/57888) ##### Commits - \[[`4252dc798c`](https://github.com/nodejs/node/commit/4252dc798c)] - **assert**: support `Float16Array` in loose deep equality checks (Livia Medeiros) [#&#8203;57881](https://github.com/nodejs/node/pull/57881) - \[[`1c7396b078`](https://github.com/nodejs/node/commit/1c7396b078)] - **assert,util**: fix constructor lookup in deep equal comparison (Ruben Bridgewater) [#&#8203;57876](https://github.com/nodejs/node/pull/57876) - \[[`1ded5f25c8`](https://github.com/nodejs/node/commit/1ded5f25c8)] - **assert,util**: improve deep object comparison performance (Ruben Bridgewater) [#&#8203;57648](https://github.com/nodejs/node/pull/57648) - \[[`696b5f85ca`](https://github.com/nodejs/node/commit/696b5f85ca)] - **assert,util**: improve unequal number comparison performance (Ruben Bridgewater) [#&#8203;57619](https://github.com/nodejs/node/pull/57619) - \[[`775ee4d40f`](https://github.com/nodejs/node/commit/775ee4d40f)] - **assert,util**: improve array comparison (Ruben Bridgewater) [#&#8203;57619](https://github.com/nodejs/node/pull/57619) - \[[`3766992ba4`](https://github.com/nodejs/node/commit/3766992ba4)] - **benchmark**: add sqlite prepare select get (Vinícius Lourenço) [#&#8203;58040](https://github.com/nodejs/node/pull/58040) - \[[`8390276be3`](https://github.com/nodejs/node/commit/8390276be3)] - **benchmark**: add sqlite prepare select all (Vinícius Lourenço) [#&#8203;58040](https://github.com/nodejs/node/pull/58040) - \[[`6a9b79e5c1`](https://github.com/nodejs/node/commit/6a9b79e5c1)] - **benchmark**: add sqlite is transaction (Vinícius Lourenço) [#&#8203;58040](https://github.com/nodejs/node/pull/58040) - \[[`f689f98344`](https://github.com/nodejs/node/commit/f689f98344)] - **benchmark**: add sqlite prepare insert (Vinícius Lourenço) [#&#8203;58040](https://github.com/nodejs/node/pull/58040) - \[[`14a82804d7`](https://github.com/nodejs/node/commit/14a82804d7)] - **benchmark**: disambiguate `filename` and `dirname` read perf (Antoine du Hamel) [#&#8203;58056](https://github.com/nodejs/node/pull/58056) - \[[`e7e8256d35`](https://github.com/nodejs/node/commit/e7e8256d35)] - **buffer**: avoid creating unnecessary environment (Yagiz Nizipli) [#&#8203;58053](https://github.com/nodejs/node/pull/58053) - \[[`d7d8e8e994`](https://github.com/nodejs/node/commit/d7d8e8e994)] - **buffer**: define global v8::CFunction objects as const (Mert Can Altin) [#&#8203;57676](https://github.com/nodejs/node/pull/57676) - \[[`f37633e85a`](https://github.com/nodejs/node/commit/f37633e85a)] - **build**: use `$(BUILDTYPE)` when cleaning coverage files (Aviv Keller) [#&#8203;57995](https://github.com/nodejs/node/pull/57995) - \[[`e5bf67fe77`](https://github.com/nodejs/node/commit/e5bf67fe77)] - **build**: define python when generating `out/Makefile` (Aviv Keller) [#&#8203;57970](https://github.com/nodejs/node/pull/57970) - \[[`718f874ae0`](https://github.com/nodejs/node/commit/718f874ae0)] - **build**: fix zstd libname (Antoine du Hamel) [#&#8203;57999](https://github.com/nodejs/node/pull/57999) - \[[`53c5fdcae1`](https://github.com/nodejs/node/commit/53c5fdcae1)] - **crypto**: fix cross-realm `SharedArrayBuffer` validation (Antoine du Hamel) [#&#8203;57974](https://github.com/nodejs/node/pull/57974) - \[[`78f4ffee5d`](https://github.com/nodejs/node/commit/78f4ffee5d)] - **crypto**: fix cross-realm check of `ArrayBuffer` (Felipe Forbeck) [#&#8203;57828](https://github.com/nodejs/node/pull/57828) - \[[`f606352b63`](https://github.com/nodejs/node/commit/f606352b63)] - **crypto**: forbid passing `Float16Array` to `getRandomValues()` (Livia Medeiros) [#&#8203;57880](https://github.com/nodejs/node/pull/57880) - \[[`23c4e941c2`](https://github.com/nodejs/node/commit/23c4e941c2)] - **crypto**: remove BoringSSL dh-primes addition (Shelley Vohr) [#&#8203;57023](https://github.com/nodejs/node/pull/57023) - \[[`8339d9bc14`](https://github.com/nodejs/node/commit/8339d9bc14)] - **deps**: V8: cherry-pick [`f915fa4`](https://github.com/nodejs/node/commit/f915fa4c9f41) (Chengzhong Wu) [#&#8203;55484](https://github.com/nodejs/node/pull/55484) - \[[`c2111dd126`](https://github.com/nodejs/node/commit/c2111dd126)] - **deps**: V8: backport [`e5dbbba`](https://github.com/nodejs/node/commit/e5dbbbadcbff) (Darshan Sen) [#&#8203;58120](https://github.com/nodejs/node/pull/58120) - \[[`4cc49be951`](https://github.com/nodejs/node/commit/4cc49be951)] - **deps**: update zstd to 1.5.7 (Node.js GitHub Bot) [#&#8203;57940](https://github.com/nodejs/node/pull/57940) - \[[`c956d37c84`](https://github.com/nodejs/node/commit/c956d37c84)] - **deps**: update zlib to 1.3.0.1-motley-780819f (Node.js GitHub Bot) [#&#8203;57768](https://github.com/nodejs/node/pull/57768) - \[[`c3ceaebb7a`](https://github.com/nodejs/node/commit/c3ceaebb7a)] - **deps**: update timezone to 2025b (Node.js GitHub Bot) [#&#8203;57857](https://github.com/nodejs/node/pull/57857) - \[[`b5cd0eb590`](https://github.com/nodejs/node/commit/b5cd0eb590)] - **deps**: update simdutf to 6.4.2 (Node.js GitHub Bot) [#&#8203;57855](https://github.com/nodejs/node/pull/57855) - \[[`3eb6b814e9`](https://github.com/nodejs/node/commit/3eb6b814e9)] - **deps**: update simdutf to 6.4.0 (Node.js GitHub Bot) [#&#8203;56764](https://github.com/nodejs/node/pull/56764) - \[[`0be9fa3218`](https://github.com/nodejs/node/commit/0be9fa3218)] - **deps**: update icu to 77.1 (Node.js GitHub Bot) [#&#8203;57455](https://github.com/nodejs/node/pull/57455) - \[[`d5cf4254fb`](https://github.com/nodejs/node/commit/d5cf4254fb)] - **doc**: add HBSPS as triager (Wiyeong Seo) [#&#8203;57980](https://github.com/nodejs/node/pull/57980) - \[[`ad0861dba0`](https://github.com/nodejs/node/commit/ad0861dba0)] - **doc**: add ambassaor message (Brian Muenzenmeyer) [#&#8203;57600](https://github.com/nodejs/node/pull/57600) - \[[`0d3ec1aafe`](https://github.com/nodejs/node/commit/0d3ec1aafe)] - **doc**: fix misaligned options in vm.compileFunction() (Jimmy Leung) [#&#8203;58145](https://github.com/nodejs/node/pull/58145) - \[[`1f70baf3b0`](https://github.com/nodejs/node/commit/1f70baf3b0)] - **doc**: add missing options.signal to readlinePromises.createInterface() (Jimmy Leung) [#&#8203;55456](https://github.com/nodejs/node/pull/55456) - \[[`ec6a48621f`](https://github.com/nodejs/node/commit/ec6a48621f)] - **doc**: fix typo of file `zlib.md` (yusheng chen) [#&#8203;58093](https://github.com/nodejs/node/pull/58093) - \[[`37e360e386`](https://github.com/nodejs/node/commit/37e360e386)] - **doc**: make stability labels more consistent (Antoine du Hamel) [#&#8203;57516](https://github.com/nodejs/node/pull/57516) - \[[`2b5d63d36e`](https://github.com/nodejs/node/commit/2b5d63d36e)] - **doc**: allow the $schema property in node.config.json (Remco Haszing) [#&#8203;57560](https://github.com/nodejs/node/pull/57560) - \[[`a2063638e2`](https://github.com/nodejs/node/commit/a2063638e2)] - **doc**: fix `AsyncLocalStorage` example response changes after node v18 (Naor Tedgi (Abu Emma)) [#&#8203;57969](https://github.com/nodejs/node/pull/57969) - \[[`474c2b14c3`](https://github.com/nodejs/node/commit/474c2b14c3)] - **doc**: mark Node.js 18 as End-of-Life (Richard Lau) [#&#8203;58084](https://github.com/nodejs/node/pull/58084) - \[[`5059a746ec`](https://github.com/nodejs/node/commit/5059a746ec)] - **doc**: add dario-piotrowicz to collaborators (Dario Piotrowicz) [#&#8203;58102](https://github.com/nodejs/node/pull/58102) - \[[`1eec170fc3`](https://github.com/nodejs/node/commit/1eec170fc3)] - **doc**: fix formatting of `import.meta.filename` section (Antoine du Hamel) [#&#8203;58079](https://github.com/nodejs/node/pull/58079) - \[[`7f108de525`](https://github.com/nodejs/node/commit/7f108de525)] - **doc**: fix env variable name in `util.styleText` (Antoine du Hamel) [#&#8203;58072](https://github.com/nodejs/node/pull/58072) - \[[`54b3f7fffc`](https://github.com/nodejs/node/commit/54b3f7fffc)] - **doc**: add returns for https.get (Eng Zer Jun) [#&#8203;58025](https://github.com/nodejs/node/pull/58025) - \[[`66f2c605a8`](https://github.com/nodejs/node/commit/66f2c605a8)] - **doc**: fix typo in `buffer.md` (chocolateboy) [#&#8203;58052](https://github.com/nodejs/node/pull/58052) - \[[`b0256dd42b`](https://github.com/nodejs/node/commit/b0256dd42b)] - **doc**: correct deprecation type of `assert.CallTracker` (René) [#&#8203;57997](https://github.com/nodejs/node/pull/57997) - \[[`581439c9e6`](https://github.com/nodejs/node/commit/581439c9e6)] - **doc**: mark devtools integration section as active development (Chengzhong Wu) [#&#8203;57886](https://github.com/nodejs/node/pull/57886) - \[[`a2a2a2f027`](https://github.com/nodejs/node/commit/a2a2a2f027)] - **doc**: fix typo in `module.md` (Alex Schwartz) [#&#8203;57889](https://github.com/nodejs/node/pull/57889) - \[[`c0ec4e2935`](https://github.com/nodejs/node/commit/c0ec4e2935)] - **doc**: increase z-index of header element (Dario Piotrowicz) [#&#8203;57851](https://github.com/nodejs/node/pull/57851) - \[[`93d19ec6cd`](https://github.com/nodejs/node/commit/93d19ec6cd)] - **doc**: add missing TS formats for `load` hooks (Antoine du Hamel) [#&#8203;57837](https://github.com/nodejs/node/pull/57837) - \[[`f5ea06c61f`](https://github.com/nodejs/node/commit/f5ea06c61f)] - **doc**: clarify the multi REPL example (Dario Piotrowicz) [#&#8203;57759](https://github.com/nodejs/node/pull/57759) - \[[`80c4fe1b70`](https://github.com/nodejs/node/commit/80c4fe1b70)] - **doc**: fix deprecation type for `DEP0148` (Livia Medeiros) [#&#8203;57785](https://github.com/nodejs/node/pull/57785) - \[[`01cad99da0`](https://github.com/nodejs/node/commit/01cad99da0)] - **doc**: list DOMException as a potential error raised by Node.js (Chengzhong Wu) [#&#8203;57783](https://github.com/nodejs/node/pull/57783) - \[[`a08b714a46`](https://github.com/nodejs/node/commit/a08b714a46)] - **doc**: add missing v0.x changelog entries (Antoine du Hamel) [#&#8203;57779](https://github.com/nodejs/node/pull/57779) - \[[`d0b48350fd`](https://github.com/nodejs/node/commit/d0b48350fd)] - **doc**: fix typo in writing-docs (Sebastian Beltran) [#&#8203;57776](https://github.com/nodejs/node/pull/57776) - \[[`bde3725f8b`](https://github.com/nodejs/node/commit/bde3725f8b)] - **doc**: clarify examples section in REPL doc (Dario Piotrowicz) [#&#8203;57762](https://github.com/nodejs/node/pull/57762) - \[[`c8ceaaf397`](https://github.com/nodejs/node/commit/c8ceaaf397)] - **(SEMVER-MINOR)** **doc**: graduate multiple experimental apis (James M Snell) [#&#8203;57765](https://github.com/nodejs/node/pull/57765) - \[[`92428c2609`](https://github.com/nodejs/node/commit/92428c2609)] - **doc**: explicitly state that corepack will be removed in v25+ (Trivikram Kamat) [#&#8203;57747](https://github.com/nodejs/node/pull/57747) - \[[`298969e1dd`](https://github.com/nodejs/node/commit/298969e1dd)] - **doc**: update position type to integer | null in fs (Yukihiro Hasegawa) [#&#8203;57745](https://github.com/nodejs/node/pull/57745) - \[[`a9d28e27c9`](https://github.com/nodejs/node/commit/a9d28e27c9)] - **doc**: update CI instructions (Antoine du Hamel) [#&#8203;57743](https://github.com/nodejs/node/pull/57743) - \[[`133d2878a1`](https://github.com/nodejs/node/commit/133d2878a1)] - **doc**: update example of using `await` in REPL (Dario Piotrowicz) [#&#8203;57653](https://github.com/nodejs/node/pull/57653) - \[[`fc5f126629`](https://github.com/nodejs/node/commit/fc5f126629)] - **doc**: add back mention of visa fees to onboarding doc (Darshan Sen) [#&#8203;57730](https://github.com/nodejs/node/pull/57730) - \[[`945f4ac538`](https://github.com/nodejs/node/commit/945f4ac538)] - **doc**: process.execve is only unavailable for Windows (Yaksh Bariya) [#&#8203;57726](https://github.com/nodejs/node/pull/57726) - \[[`f3b885bb5e`](https://github.com/nodejs/node/commit/f3b885bb5e)] - **doc**: clarify `unhandledRejection` events behaviors in process doc (Dario Piotrowicz) [#&#8203;57654](https://github.com/nodejs/node/pull/57654) - \[[`7326dda5b0`](https://github.com/nodejs/node/commit/7326dda5b0)] - **doc**: improved fetch docs (Alessandro Miliucci) [#&#8203;57296](https://github.com/nodejs/node/pull/57296) - \[[`6906c5eb1f`](https://github.com/nodejs/node/commit/6906c5eb1f)] - **doc**: document REPL custom eval arguments (Dario Piotrowicz) [#&#8203;57690](https://github.com/nodejs/node/pull/57690) - \[[`47a7564e8f`](https://github.com/nodejs/node/commit/47a7564e8f)] - **doc**: classify Chrome DevTools Protocol as tier 2 (Chengzhong Wu) [#&#8203;57634](https://github.com/nodejs/node/pull/57634) - \[[`e274cc1310`](https://github.com/nodejs/node/commit/e274cc1310)] - **doc**: replace NOTE that does not render properly (Colin Ihrig) [#&#8203;57484](https://github.com/nodejs/node/pull/57484) - \[[`bef06b11df`](https://github.com/nodejs/node/commit/bef06b11df)] - **esm**: avoid `import.meta` setup costs for unused properties (Antoine du Hamel) [#&#8203;57286](https://github.com/nodejs/node/pull/57286) - \[[`e21b37d9df`](https://github.com/nodejs/node/commit/e21b37d9df)] - **(SEMVER-MINOR)** **esm**: graduate import.meta properties (James M Snell) [#&#8203;58011](https://github.com/nodejs/node/pull/58011) - \[[`832640c35e`](https://github.com/nodejs/node/commit/832640c35e)] - **(SEMVER-MINOR)** **esm**: support top-level Wasm without package type (Guy Bedford) [#&#8203;57610](https://github.com/nodejs/node/pull/57610) - \[[`8f643471ef`](https://github.com/nodejs/node/commit/8f643471ef)] - **fs**: improve globSync performance (Rich Trott) [#&#8203;57725](https://github.com/nodejs/node/pull/57725) - \[[`bf9e17ecc6`](https://github.com/nodejs/node/commit/bf9e17ecc6)] - **http2**: use args.This() instead of args.Holder() (Joyee Cheung) [#&#8203;58004](https://github.com/nodejs/node/pull/58004) - \[[`137717354f`](https://github.com/nodejs/node/commit/137717354f)] - **http2**: fix graceful session close (Kushagra Pandey) [#&#8203;57808](https://github.com/nodejs/node/pull/57808) - \[[`9baf580269`](https://github.com/nodejs/node/commit/9baf580269)] - **http2**: fix check for `frame->hd.type` (hanguanqiang) [#&#8203;57644](https://github.com/nodejs/node/pull/57644) - \[[`b8189242b2`](https://github.com/nodejs/node/commit/b8189242b2)] - **http2**: skip writeHead if stream is closed (Shima Ryuhei) [#&#8203;57686](https://github.com/nodejs/node/pull/57686) - \[[`4e02a1650a`](https://github.com/nodejs/node/commit/4e02a1650a)] - **lib**: remove unused file `fetch_module` (Michaël Zasso) [#&#8203;55880](https://github.com/nodejs/node/pull/55880) - \[[`d9700fef26`](https://github.com/nodejs/node/commit/d9700fef26)] - **lib**: avoid StackOverflow on `serializeError` (Chengzhong Wu) [#&#8203;58075](https://github.com/nodejs/node/pull/58075) - \[[`f3a16b6d9c`](https://github.com/nodejs/node/commit/f3a16b6d9c)] - **lib**: resolve the issue of not adhering to the specified buffer size (0hm☘️🏳️‍⚧️) [#&#8203;55896](https://github.com/nodejs/node/pull/55896) - \[[`d4fc282f73`](https://github.com/nodejs/node/commit/d4fc282f73)] - **lib**: fix AbortSignal.any() with timeout signals (Gürgün Dayıoğlu) [#&#8203;57867](https://github.com/nodejs/node/pull/57867) - \[[`f7e2902861`](https://github.com/nodejs/node/commit/f7e2902861)] - **lib**: use Map primordial for ActiveAsyncContextFrame (Gürgün Dayıoğlu) [#&#8203;57670](https://github.com/nodejs/node/pull/57670) - \[[`8652b0e168`](https://github.com/nodejs/node/commit/8652b0e168)] - **meta**: set nodejs/config as codeowner (Marco Ippolito) [#&#8203;57237](https://github.com/nodejs/node/pull/57237) - \[[`e98504ed95`](https://github.com/nodejs/node/commit/e98504ed95)] - **meta**: allow penetration testing on live system with prior authorization (Matteo Collina) [#&#8203;57966](https://github.com/nodejs/node/pull/57966) - \[[`340731bea0`](https://github.com/nodejs/node/commit/340731bea0)] - **meta**: fix subsystem in commit title (Luigi Pinca) [#&#8203;57945](https://github.com/nodejs/node/pull/57945) - \[[`d767cbffcf`](https://github.com/nodejs/node/commit/d767cbffcf)] - **meta**: bump Mozilla-Actions/sccache-action from 0.0.8 to 0.0.9 (dependabot\[bot]) [#&#8203;57720](https://github.com/nodejs/node/pull/57720) - \[[`575f904b13`](https://github.com/nodejs/node/commit/575f904b13)] - **meta**: bump actions/download-artifact from 4.1.9 to 4.2.1 (dependabot\[bot]) [#&#8203;57719](https://github.com/nodejs/node/pull/57719) - \[[`acd323c069`](https://github.com/nodejs/node/commit/acd323c069)] - **meta**: bump actions/setup-python from 5.4.0 to 5.5.0 (dependabot\[bot]) [#&#8203;57718](https://github.com/nodejs/node/pull/57718) - \[[`21246fec20`](https://github.com/nodejs/node/commit/21246fec20)] - **meta**: bump peter-evans/create-pull-request from 7.0.7 to 7.0.8 (dependabot\[bot]) [#&#8203;57717](https://github.com/nodejs/node/pull/57717) - \[[`97f32d5849`](https://github.com/nodejs/node/commit/97f32d5849)] - **meta**: bump github/codeql-action from 3.28.10 to 3.28.13 (dependabot\[bot]) [#&#8203;57716](https://github.com/nodejs/node/pull/57716) - \[[`90ddbb8cfa`](https://github.com/nodejs/node/commit/90ddbb8cfa)] - **meta**: bump actions/cache from 4.2.2 to 4.2.3 (dependabot\[bot]) [#&#8203;57715](https://github.com/nodejs/node/pull/57715) - \[[`728425d03e`](https://github.com/nodejs/node/commit/728425d03e)] - **meta**: bump actions/setup-node from 4.2.0 to 4.3.0 (dependabot\[bot]) [#&#8203;57714](https://github.com/nodejs/node/pull/57714) - \[[`1f799140e0`](https://github.com/nodejs/node/commit/1f799140e0)] - **meta**: bump actions/upload-artifact from 4.6.1 to 4.6.2 (dependabot\[bot]) [#&#8203;57713](https://github.com/nodejs/node/pull/57713) - \[[`021b174a1f`](https://github.com/nodejs/node/commit/021b174a1f)] - **module**: tidy code string concat → string templates (Jacob Smith) [#&#8203;55820](https://github.com/nodejs/node/pull/55820) - \[[`44c5718476`](https://github.com/nodejs/node/commit/44c5718476)] - **module**: fix incorrect formatting in require(esm) cycle error message (haykam821) [#&#8203;57453](https://github.com/nodejs/node/pull/57453) - \[[`bb09b4d4ae`](https://github.com/nodejs/node/commit/bb09b4d4ae)] - **module**: improve `getPackageType` performance (Dario Piotrowicz) [#&#8203;57599](https://github.com/nodejs/node/pull/57599) - \[[`9e6054e715`](https://github.com/nodejs/node/commit/9e6054e715)] - **module**: remove unnecessary `readPackage` function (Dario Piotrowicz) [#&#8203;57596](https://github.com/nodejs/node/pull/57596) - \[[`4a8db273ba`](https://github.com/nodejs/node/commit/4a8db273ba)] - **node-api**: add nested object wrap and napi_ref test (Chengzhong Wu) [#&#8203;57981](https://github.com/nodejs/node/pull/57981) - \[[`3c65058f20`](https://github.com/nodejs/node/commit/3c65058f20)] - **node-api**: convert NewEnv to node_napi_env\_\_::New (Vladimir Morozov) [#&#8203;57834](https://github.com/nodejs/node/pull/57834) - \[[`a4105db1f7`](https://github.com/nodejs/node/commit/a4105db1f7)] - **os**: fix netmask format check condition in getCIDR function (Wiyeong Seo) [#&#8203;57324](https://github.com/nodejs/node/pull/57324) - \[[`248c938139`](https://github.com/nodejs/node/commit/248c938139)] - **process**: disable building execve on IBM i (Abdirahim Musse) [#&#8203;57883](https://github.com/nodejs/node/pull/57883) - \[[`972275697a`](https://github.com/nodejs/node/commit/972275697a)] - **repl**: deprecate `repl.builtinModules` (Dario Piotrowicz) [#&#8203;57508](https://github.com/nodejs/node/pull/57508) - \[[`7485309d7e`](https://github.com/nodejs/node/commit/7485309d7e)] - **sqlite**: add location method (Edy Silva) [#&#8203;57860](https://github.com/nodejs/node/pull/57860) - \[[`c12cd2a190`](https://github.com/nodejs/node/commit/c12cd2a190)] - **sqlite**: add timeout options to DatabaseSync (Edy Silva) [#&#8203;57752](https://github.com/nodejs/node/pull/57752) - \[[`5e0503a967`](https://github.com/nodejs/node/commit/5e0503a967)] - **sqlite**: add setReturnArrays method to StatementSync (Gürgün Dayıoğlu) [#&#8203;57542](https://github.com/nodejs/node/pull/57542) - \[[`ed9d2fd51a`](https://github.com/nodejs/node/commit/ed9d2fd51a)] - **sqlite**: enable common flags (Edy Silva) [#&#8203;57621](https://github.com/nodejs/node/pull/57621) - \[[`06dcb318bc`](https://github.com/nodejs/node/commit/06dcb318bc)] - **sqlite**: refactor prepared statement iterator (Colin Ihrig) [#&#8203;57569](https://github.com/nodejs/node/pull/57569) - \[[`c510391d2f`](https://github.com/nodejs/node/commit/c510391d2f)] - **(SEMVER-MINOR)** **sqlite**: add StatementSync.prototype.columns() (Colin Ihrig) [#&#8203;57490](https://github.com/nodejs/node/pull/57490) - \[[`4e24456a1a`](https://github.com/nodejs/node/commit/4e24456a1a)] - **sqlite**: reset statement immediately in run() (Colin Ihrig) [#&#8203;57350](https://github.com/nodejs/node/pull/57350) - \[[`a9a6891b0b`](https://github.com/nodejs/node/commit/a9a6891b0b)] - **sqlite**: fix coverity warnings related to backup() (Colin Ihrig) [#&#8203;56961](https://github.com/nodejs/node/pull/56961) - \[[`d2e1bcf3d4`](https://github.com/nodejs/node/commit/d2e1bcf3d4)] - **sqlite**: fix use-after-free in StatementSync due to premature GC (Divy Srivastava) [#&#8203;56840](https://github.com/nodejs/node/pull/56840) - \[[`cfe15ca7b4`](https://github.com/nodejs/node/commit/cfe15ca7b4)] - **sqlite**: handle conflicting SQLite and JS errors (Colin Ihrig) [#&#8203;56787](https://github.com/nodejs/node/pull/56787) - \[[`0e999eb65f`](https://github.com/nodejs/node/commit/0e999eb65f)] - **sqlite**: add getter to detect transactions (Colin Ihrig) [#&#8203;57925](https://github.com/nodejs/node/pull/57925) - \[[`20b27331c0`](https://github.com/nodejs/node/commit/20b27331c0)] - **sqlite, test**: expose sqlite online backup api (Edy Silva) [#&#8203;56253](https://github.com/nodejs/node/pull/56253) - \[[`8856712171`](https://github.com/nodejs/node/commit/8856712171)] - **sqlite,doc,test**: add aggregate function (Edy Silva) [#&#8203;56600](https://github.com/nodejs/node/pull/56600) - \[[`120050db97`](https://github.com/nodejs/node/commit/120050db97)] - **sqlite,src**: refactor sqlite value conversion (Edy Silva) [#&#8203;57571](https://github.com/nodejs/node/pull/57571) - \[[`4c5555d558`](https://github.com/nodejs/node/commit/4c5555d558)] - **src**: initialize privateSymbols for per_context (Jason Zhang) [#&#8203;57479](https://github.com/nodejs/node/pull/57479) - \[[`d2ce9023b1`](https://github.com/nodejs/node/commit/d2ce9023b1)] - **src**: ensure primordials are initialized exactly once (Chengzhong Wu) [#&#8203;57519](https://github.com/nodejs/node/pull/57519) - \[[`06179be6ca`](https://github.com/nodejs/node/commit/06179be6ca)] - **src**: disable abseil deadlock detection (Chengzhong Wu) [#&#8203;57582](https://github.com/nodejs/node/pull/57582) - \[[`5121c47990`](https://github.com/nodejs/node/commit/5121c47990)] - **src**: fix node_config_file.h compilation error in GN build (Cheng) [#&#8203;57210](https://github.com/nodejs/node/pull/57210) - \[[`5d1230bec0`](https://github.com/nodejs/node/commit/5d1230bec0)] - **(SEMVER-MINOR)** **src**: set default config as `node.config.json` (Marco Ippolito) [#&#8203;57171](https://github.com/nodejs/node/pull/57171) - \[[`ccee741c43`](https://github.com/nodejs/node/commit/ccee741c43)] - **src**: namespace config file flags (Marco Ippolito) [#&#8203;57170](https://github.com/nodejs/node/pull/57170) - \[[`30bb1ccbb0`](https://github.com/nodejs/node/commit/30bb1ccbb0)] - **(SEMVER-MINOR)** **src**: create `THROW_ERR_OPTIONS_BEFORE_BOOTSTRAPPING` (Marco Ippolito) [#&#8203;57016](https://github.com/nodejs/node/pull/57016) - \[[`0350c6f478`](https://github.com/nodejs/node/commit/0350c6f478)] - **(SEMVER-MINOR)** **src**: add config file support (Marco Ippolito) [#&#8203;57016](https://github.com/nodejs/node/pull/57016) - \[[`eef37d00cb`](https://github.com/nodejs/node/commit/eef37d00cb)] - **src**: add more debug logs and comments in NodePlatform (Joyee Cheung) [#&#8203;58047](https://github.com/nodejs/node/pull/58047) - \[[`678e8f57c0`](https://github.com/nodejs/node/commit/678e8f57c0)] - **src**: add dcheck_eq for Object::New constructor calls (Jonas) [#&#8203;57943](https://github.com/nodejs/node/pull/57943) - \[[`aee45e2036`](https://github.com/nodejs/node/commit/aee45e2036)] - **src**: move windows specific fns to `_WIN32` (Yagiz Nizipli) [#&#8203;57951](https://github.com/nodejs/node/pull/57951) - \[[`6206a8edbc`](https://github.com/nodejs/node/commit/6206a8edbc)] - **src**: improve thread safety of TaskQueue (Shelley Vohr) [#&#8203;57910](https://github.com/nodejs/node/pull/57910) - \[[`03936f31c1`](https://github.com/nodejs/node/commit/03936f31c1)] - **src**: fixup errorhandling more in various places (James M Snell) [#&#8203;57852](https://github.com/nodejs/node/pull/57852) - \[[`010dd91a19`](https://github.com/nodejs/node/commit/010dd91a19)] - **src**: fix typo in comments (Edy Silva) [#&#8203;57868](https://github.com/nodejs/node/pull/57868) - \[[`e00c1ecbd2`](https://github.com/nodejs/node/commit/e00c1ecbd2)] - **src**: add BaseObjectPtr nullptr operations (Chengzhong Wu) [#&#8203;56585](https://github.com/nodejs/node/pull/56585) - \[[`648ad252e1`](https://github.com/nodejs/node/commit/648ad252e1)] - **src**: remove `void*` -> `char*` -> `void*` casts (Tobias Nießen) [#&#8203;57791](https://github.com/nodejs/node/pull/57791) - \[[`680b434a62`](https://github.com/nodejs/node/commit/680b434a62)] - **src**: improve error handing in node_messaging (James M Snell) [#&#8203;57760](https://github.com/nodejs/node/pull/57760) - \[[`18f5301747`](https://github.com/nodejs/node/commit/18f5301747)] - **src**: remove unused detachArrayBuffer method (Yagiz Nizipli) [#&#8203;58055](https://github.com/nodejs/node/pull/58055) - \[[`065e8cd670`](https://github.com/nodejs/node/commit/065e8cd670)] - **src**: use macros to reduce code duplication is cares_wrap (James M Snell) [#&#8203;57937](https://github.com/nodejs/node/pull/57937) - \[[`39af5d678f`](https://github.com/nodejs/node/commit/39af5d678f)] - **src**: improve error handling in cares_wrap (James M Snell) [#&#8203;57937](https://github.com/nodejs/node/pull/57937) - \[[`ca020fdc4e`](https://github.com/nodejs/node/commit/ca020fdc4e)] - **src**: fix -Wunreachable-code-return in node_sea (Shelley Vohr) [#&#8203;57664](https://github.com/nodejs/node/pull/57664) - \[[`32b6e7094a`](https://github.com/nodejs/node/commit/32b6e7094a)] - **src**: change DCHECK to CHECK (Wuli Zuo) [#&#8203;57948](https://github.com/nodejs/node/pull/57948) - \[[`e1d3a9e192`](https://github.com/nodejs/node/commit/e1d3a9e192)] - **(SEMVER-MINOR)** **src**: add ExecutionAsyncId getter for any Context (Attila Szegedi) [#&#8203;57820](https://github.com/nodejs/node/pull/57820) - \[[`96243a723a`](https://github.com/nodejs/node/commit/96243a723a)] - **src**: update std::vector\<v8::Local\<T>> to use v8::LocalVector\<T> (Aditi) [#&#8203;57646](https://github.com/nodejs/node/pull/57646) - \[[`0f2cbc17c7`](https://github.com/nodejs/node/commit/0f2cbc17c7)] - **src**: update std::vector\<v8::Local\<T>> to use v8::LocalVector\<T> (Aditi) [#&#8203;57642](https://github.com/nodejs/node/pull/57642) - \[[`d1c6f861d5`](https://github.com/nodejs/node/commit/d1c6f861d5)] - **src**: update std::vector\<v8::Local\<T>> to use v8::LocalVector\<T> (Aditi) [#&#8203;57578](https://github.com/nodejs/node/pull/57578) - \[[`ab0d3a38db`](https://github.com/nodejs/node/commit/ab0d3a38db)] - **src**: improve error message for invalid child stdio type in spawn_sync (Dario Piotrowicz) [#&#8203;57589](https://github.com/nodejs/node/pull/57589) - \[[`24b182e7b3`](https://github.com/nodejs/node/commit/24b182e7b3)] - **src**: implement util.types fast API calls (Ruben Bridgewater) [#&#8203;57819](https://github.com/nodejs/node/pull/57819) - \[[`dda6423be9`](https://github.com/nodejs/node/commit/dda6423be9)] - **src**: enter and lock isolate properly in json parser (Joyee Cheung) [#&#8203;57823](https://github.com/nodejs/node/pull/57823) - \[[`4754c693f8`](https://github.com/nodejs/node/commit/4754c693f8)] - **src**: improve error handling in `node_env_var.cc` (Antoine du Hamel) [#&#8203;57767](https://github.com/nodejs/node/pull/57767) - \[[`db483bbe63`](https://github.com/nodejs/node/commit/db483bbe63)] - **src**: improve error handling in node_http2 (James M Snell) [#&#8203;57764](https://github.com/nodejs/node/pull/57764) - \[[`b0277700d6`](https://github.com/nodejs/node/commit/b0277700d6)] - **src**: improve error handling in crypto_x509 (James M Snell) [#&#8203;57757](https://github.com/nodejs/node/pull/57757) - \[[`353587f984`](https://github.com/nodejs/node/commit/353587f984)] - **src**: improve error handling in callback.cc (James M Snell) [#&#8203;57758](https://github.com/nodejs/node/pull/57758) - \[[`bec053ab20`](https://github.com/nodejs/node/commit/bec053ab20)] - **src**: remove unused variable in crypto_x509.cc (Michaël Zasso) [#&#8203;57754](https://github.com/nodejs/node/pull/57754) - \[[`38a329a857`](https://github.com/nodejs/node/commit/38a329a857)] - **src**: fix kill signal 0 on Windows (Stefan Stojanovic) [#&#8203;57695](https://github.com/nodejs/node/pull/57695) - \[[`70bb387f82`](https://github.com/nodejs/node/commit/70bb387f82)] - **src**: fix inefficient usage of v8_inspector::StringView (Simon Zünd) [#&#8203;52372](https://github.com/nodejs/node/pull/52372) - \[[`be038f0273`](https://github.com/nodejs/node/commit/be038f0273)] - **src,permission**: make ERR_ACCESS_DENIED more descriptive (Rafael Gonzaga) [#&#8203;57585](https://github.com/nodejs/node/pull/57585) - \[[`0ec912f452`](https://github.com/nodejs/node/commit/0ec912f452)] - **(SEMVER-MINOR)** **stream**: preserve AsyncLocalStorage context in finished() (Gürgün Dayıoğlu) [#&#8203;57865](https://github.com/nodejs/node/pull/57865) - \[[`6ffb66f82f`](https://github.com/nodejs/node/commit/6ffb66f82f)] - **test**: fix permission fixtures lint (Rafael Gonzaga) [#&#8203;55819](https://github.com/nodejs/node/pull/55819) - \[[`fd37891186`](https://github.com/nodejs/node/commit/fd37891186)] - **test**: add repl preview timeout test (Chengzhong Wu) [#&#8203;55484](https://github.com/nodejs/node/pull/55484) - \[[`1be5a8c1b4`](https://github.com/nodejs/node/commit/1be5a8c1b4)] - **test**: skip `test-config-json-schema` with quic (Richard Lau) [#&#8203;57225](https://github.com/nodejs/node/pull/57225) - \[[`e90583b657`](https://github.com/nodejs/node/commit/e90583b657)] - **test**: add more coverage to `node_config_file` (Marco Ippolito) [#&#8203;57170](https://github.com/nodejs/node/pull/57170) - \[[`df2a36bfcc`](https://github.com/nodejs/node/commit/df2a36bfcc)] - **test**: remove deadlock workaround (Joyee Cheung) [#&#8203;58047](https://github.com/nodejs/node/pull/58047) - \[[`103034b051`](https://github.com/nodejs/node/commit/103034b051)] - **test**: prevent extraneous HOSTNAME substitution in test-runner-output (René) [#&#8203;58076](https://github.com/nodejs/node/pull/58076) - \[[`3e58f81a38`](https://github.com/nodejs/node/commit/3e58f81a38)] - **test**: update WPT for WebCryptoAPI to [`b48efd6`](https://github.com/nodejs/node/commit/b48efd681e) (Node.js GitHub Bot) [#&#8203;58044](https://github.com/nodejs/node/pull/58044) - \[[`2f4e4164a3`](https://github.com/nodejs/node/commit/2f4e4164a3)] - **test**: add missing newlines to repl .exit writes (Dario Piotrowicz) [#&#8203;58041](https://github.com/nodejs/node/pull/58041) - \[[`b40769292e`](https://github.com/nodejs/node/commit/b40769292e)] - **test**: add fast api tests for getLibuvNow() (Yagiz Nizipli) [#&#8203;58022](https://github.com/nodejs/node/pull/58022) - \[[`cbd5768d47`](https://github.com/nodejs/node/commit/cbd5768d47)] - **test**: add ALS test using http agent keep alive (Gerhard Stöbich) [#&#8203;58017](https://github.com/nodejs/node/pull/58017) - \[[`9e31ab502a`](https://github.com/nodejs/node/commit/9e31ab502a)] - **test**: deflake test-http2-options-max-headers-block-length (Luigi Pinca) [#&#8203;57959](https://github.com/nodejs/node/pull/57959) - \[[`13f8f9cc12`](https://github.com/nodejs/node/commit/13f8f9cc12)] - **test**: rename to getCallSites (Wuli Zuo) [#&#8203;57948](https://github.com/nodejs/node/pull/57948) - \[[`92dce6ed6b`](https://github.com/nodejs/node/commit/92dce6ed6b)] - **test**: force GC in test-file-write-stream4 (Luigi Pinca) [#&#8203;57930](https://github.com/nodejs/node/pull/57930) - \[[`aa755d3acf`](https://github.com/nodejs/node/commit/aa755d3acf)] - **test**: enable skipped colorize test (Shima Ryuhei) [#&#8203;57887](https://github.com/nodejs/node/pull/57887) - \[[`331f44c78c`](https://github.com/nodejs/node/commit/331f44c78c)] - **test**: update WPT for WebCryptoAPI to [`164426a`](https://github.com/nodejs/node/commit/164426ace2) (Node.js GitHub Bot) [#&#8203;57854](https://github.com/nodejs/node/pull/57854) - \[[`4aaa8438b4`](https://github.com/nodejs/node/commit/4aaa8438b4)] - **test**: add test for frame count being 0.5 (Jake Yuesong Li) [#&#8203;57732](https://github.com/nodejs/node/pull/57732) - \[[`fb51d3a0c5`](https://github.com/nodejs/node/commit/fb51d3a0c5)] - **test**: fix the decimal fractions explaination (Jake Yuesong Li) [#&#8203;57732](https://github.com/nodejs/node/pull/57732) - \[[`c6a45a9087`](https://github.com/nodejs/node/commit/c6a45a9087)] - ***Revert*** "**test**: add tests for REPL custom evals" (Tobias Nießen) [#&#8203;57793](https://github.com/nodejs/node/pull/57793) - \[[`f3a4d03963`](https://github.com/nodejs/node/commit/f3a4d03963)] - **test**: add tests for REPL custom evals (Dario Piotrowicz) [#&#8203;57691](https://github.com/nodejs/node/pull/57691) - \[[`a3be0df337`](https://github.com/nodejs/node/commit/a3be0df337)] - **test**: update expected error message for macOS (Antoine du Hamel) [#&#8203;57742](https://github.com/nodejs/node/pull/57742) - \[[`a7e73a0a74`](https://github.com/nodejs/node/commit/a7e73a0a74)] - **test**: fix dangling promise in test_runner no isolation test setup (Jacob Smith) [#&#8203;57595](https://github.com/nodejs/node/pull/57595) - \[[`edb7dd1ec7`](https://github.com/nodejs/node/commit/edb7dd1ec7)] - **test_runner**: match minimum file column to 'all files' (Shima Ryuhei) [#&#8203;57848](https://github.com/nodejs/node/pull/57848) - \[[`c56f495e83`](https://github.com/nodejs/node/commit/c56f495e83)] - **tools**: extract target abseil to abseil.gyp (Chengzhong Wu) [#&#8203;57289](https://github.com/nodejs/node/pull/57289) - \[[`1b37161a27`](https://github.com/nodejs/node/commit/1b37161a27)] - **tools**: ignore V8 tests in CodeQL scans (Rich Trott) [#&#8203;58081](https://github.com/nodejs/node/pull/58081) - \[[`23386308dd`](https://github.com/nodejs/node/commit/23386308dd)] - **tools**: enable CodeQL config file (Rich Trott) [#&#8203;58036](https://github.com/nodejs/node/pull/58036) - \[[`9c21abc169`](https://github.com/nodejs/node/commit/9c21abc169)] - **tools**: ignore test directory in CodeQL scans (Rich Trott) [#&#8203;57978](https://github.com/nodejs/node/pull/57978) - \[[`f210a1530d`](https://github.com/nodejs/node/commit/f210a1530d)] - **tools**: add semver-major release support to release-lint (Antoine du Hamel) [#&#8203;57892](https://github.com/nodejs/node/pull/57892) - \[[`234c417e98`](https://github.com/nodejs/node/commit/234c417e98)] - **tools**: add codeql nightly (Rafael Gonzaga) [#&#8203;57788](https://github.com/nodejs/node/pull/57788) - \[[`938f1532da`](https://github.com/nodejs/node/commit/938f1532da)] - **tools**: edit create-release-proposal workflow to handle pr body length (Elves Vieira) [#&#8203;57841](https://github.com/nodejs/node/pull/57841) - \[[`b362339f72`](https://github.com/nodejs/node/commit/b362339f72)] - **tools**: add zstd updater to workflow (KASEYA\yahor.siarheyenka) [#&#8203;57831](https://github.com/nodejs/node/pull/57831) - \[[`61180db9c0`](https://github.com/nodejs/node/commit/61180db9c0)] - **tools**: remove unused `osx-pkg-postinstall.sh` (Antoine du Hamel) [#&#8203;57667](https://github.com/nodejs/node/pull/57667) - \[[`3ae04c94eb`](https://github.com/nodejs/node/commit/3ae04c94eb)] - **tools**: do not use temp files when merging PRs (Antoine du Hamel) [#&#8203;57790](https://github.com/nodejs/node/pull/57790) - \[[`d623c2c2b4`](https://github.com/nodejs/node/commit/d623c2c2b4)] - **tools**: update gyp-next to 0.20.0 (Node.js GitHub Bot) [#&#8203;57683](https://github.com/nodejs/node/pull/57683) - \[[`43ea4c532a`](https://github.com/nodejs/node/commit/43ea4c532a)] - **tools**: bump the eslint group in /tools/eslint with 4 updates (dependabot\[bot]) [#&#8203;57721](https://github.com/nodejs/node/pull/57721) - \[[`5703147470`](https://github.com/nodejs/node/commit/5703147470)] - **tools**: enable linter in `test/fixtures/source-map/output` (Antoine du Hamel) [#&#8203;57700](https://github.com/nodejs/node/pull/57700) - \[[`80d58c372d`](https://github.com/nodejs/node/commit/80d58c372d)] - **tools**: enable linter in `test/fixtures/errors` (Antoine du Hamel) [#&#8203;57701](https://github.com/nodejs/node/pull/57701) - \[[`ef5275b7be`](https://github.com/nodejs/node/commit/ef5275b7be)] - **tools**: enable linter in `test/fixtures/test-runner/output` (Antoine du Hamel) [#&#8203;57698](https://github.com/nodejs/node/pull/57698) - \[[`631733e41f`](https://github.com/nodejs/node/commit/631733e41f)] - **tools**: enable linter in `test/fixtures/eval` (Antoine du Hamel) [#&#8203;57699](https://github.com/nodejs/node/pull/57699) - \[[`6d0128695f`](https://github.com/nodejs/node/commit/6d0128695f)] - **tools**: enable linter on some fixtures file (Antoine du Hamel) [#&#8203;57674](https://github.com/nodejs/node/pull/57674) - \[[`f4d7cbae89`](https://github.com/nodejs/node/commit/f4d7cbae89)] - **tools**: update ESLint to 9.23 (Antoine du Hamel) [#&#8203;57673](https://github.com/nodejs/node/pull/57673) - \[[`5a39a24cd1`](https://github.com/nodejs/node/commit/5a39a24cd1)] - **typings**: fix `ModulesBinding` types (Antoine du Hamel) [#&#8203;55549](https://github.com/nodejs/node/pull/55549) - \[[`2df7ce9ebd`](https://github.com/nodejs/node/commit/2df7ce9ebd)] - **util**: fix parseEnv handling of invalid lines (Augustin Mauroy) [#&#8203;57798](https://github.com/nodejs/node/pull/57798) - \[[`416052a9f2`](https://github.com/nodejs/node/commit/416052a9f2)] - **util**: fix formatting of objects with built-in Symbol.toPrimitive (Shima Ryuhei) [#&#8203;57832](https://github.com/nodejs/node/pull/57832) - \[[`43490c8797`](https://github.com/nodejs/node/commit/43490c8797)] - **(SEMVER-MINOR)** **util**: add `types.isFloat16Array()` (Livia Medeiros) [#&#8203;57879](https://github.com/nodejs/node/pull/57879) - \[[`30060e13d3`](https://github.com/nodejs/node/commit/30060e13d3)] - **util**: preserve `length` of deprecated functions (Livia Medeiros) [#&#8203;57806](https://github.com/nodejs/node/pull/57806) - \[[`9837e08a84`](https://github.com/nodejs/node/commit/9837e08a84)] - **util**: fix parseEnv incorrectly splitting multiple ‘=‘ in value (HEESEUNG) [#&#8203;57421](https://github.com/nodejs/node/pull/57421) - \[[`af41dd3c07`](https://github.com/nodejs/node/commit/af41dd3c07)] - **watch**: clarify completion/failure watch mode messages (Dario Piotrowicz) [#&#8203;57926](https://github.com/nodejs/node/pull/57926) - \[[`7229a29b47`](https://github.com/nodejs/node/commit/7229a29b47)] - **watch**: check parent and child path properly (Jason Zhang) [#&#8203;57425](https://github.com/nodejs/node/pull/57425) - \[[`1b5a7c6dc8`](https://github.com/nodejs/node/commit/1b5a7c6dc8)] - **win**: fix SIGQUIT on ClangCL (Stefan Stojanovic) [#&#8203;57659](https://github.com/nodejs/node/pull/57659) - \[[`e935c3c6f2`](https://github.com/nodejs/node/commit/e935c3c6f2)] - **worker**: add ESM version examples to worker docs (fisker Cheung) [#&#8203;57645](https://github.com/nodejs/node/pull/57645) - \[[`dda6ca9172`](https://github.com/nodejs/node/commit/dda6ca9172)] - **(SEMVER-MINOR)** **worker**: add worker.getHeapStatistics() (Matteo Collina) [#&#8203;57888](https://github.com/nodejs/node/pull/57888) - \[[`f2159f2a44`](https://github.com/nodejs/node/commit/f2159f2a44)] - **zlib**: fix pointer alignment (jhofstee) [#&#8203;57727](https://github.com/nodejs/node/pull/57727) ### [`v22.15.1`](https://github.com/nodejs/node/releases/tag/v22.15.1): 2025-05-14, Version 22.15.1 'Jod' (LTS), @&#8203;RafaelGSS [Compare Source](https://github.com/nodejs/node/compare/v22.15.0...v22.15.1) This is a security release. ##### Notable Changes - (CVE-2025-23166) fix error handling on async crypto operation - (CVE-2025-23165) add missing call to uv_fs_req_cleanup ##### Commits - \[[`edaf54da00`](https://github.com/nodejs/node/commit/edaf54da00)] - **fs**: added test for missing call to uv_fs_req_cleanup (Justin Nietzel) [#&#8203;57811](https://github.com/nodejs/node/pull/57811) - \[[`9f403e98ef`](https://github.com/nodejs/node/commit/9f403e98ef)] - **(CVE-2025-23165)** **fs**: add missing call to uv_fs_req_cleanup (Justin Nietzel) [#&#8203;57811](https://github.com/nodejs/node/pull/57811) - \[[`f4494d38f1`](https://github.com/nodejs/node/commit/f4494d38f1)] - **(CVE-2025-23166)** **src**: fix error handling on async crypto operations (RafaelGSS) [nodejs-private/node-private#709](https://github.com/nodejs-private/node-private/pull/709) ### [`v22.15.0`](https://github.com/nodejs/node/releases/tag/v22.15.0): 2025-04-23, Version 22.15.0 'Jod' (LTS), @&#8203;UlisesGascon prepared by @&#8203;RafaelGSS [Compare Source](https://github.com/nodejs/node/compare/v22.14.0...v22.15.0) ##### Notable Changes - \[[`3c88f3938b`](https://github.com/nodejs/node/commit/3c88f3938b)] - **(SEMVER-MINOR)** **assert**: implement partial error comparison (Ruben Bridgewater) [#&#8203;57370](https://github.com/nodejs/node/pull/57370) - \[[`db19a3f9fc`](https://github.com/nodejs/node/commit/db19a3f9fc)] - **(SEMVER-MINOR)** **assert**: improve partialDeepStrictEqual (Ruben Bridgewater) [#&#8203;57370](https://github.com/nodejs/node/pull/57370) - \[[`1ee5f840b4`](https://github.com/nodejs/node/commit/1ee5f840b4)] - **(SEMVER-MINOR)** **cli**: allow --cpu-prof\* in NODE_OPTIONS (Carlos Espa) [#&#8203;57018](https://github.com/nodejs/node/pull/57018) - \[[`872ee0f2ac`](https://github.com/nodejs/node/commit/872ee0f2ac)] - **crypto**: update root certificates to NSS 3.108 (Node.js GitHub Bot) [#&#8203;57381](https://github.com/nodejs/node/pull/57381) - \[[`03a0f3a56b`](https://github.com/nodejs/node/commit/03a0f3a56b)] - **(SEMVER-MINOR)** **crypto**: support --use-system-ca on Windows (Joyee Cheung) [#&#8203;56833](https://github.com/nodejs/node/pull/56833) - \[[`94647bbdb2`](https://github.com/nodejs/node/commit/94647bbdb2)] - **(SEMVER-MINOR)** **crypto**: added support for reading certificates from macOS system store (Tim Jacomb) [#&#8203;56599](https://github.com/nodejs/node/pull/56599) - \[[`8f7b86a6e7`](https://github.com/nodejs/node/commit/8f7b86a6e7)] - **deps**: update timezone to 2025a (Node.js GitHub Bot) [#&#8203;56876](https://github.com/nodejs/node/pull/56876) - \[[`f9f611fb58`](https://github.com/nodejs/node/commit/f9f611fb58)] - **(SEMVER-MINOR)** **deps,tools**: add zstd 1.5.6 (Jan Martin) [#&#8203;52100](https://github.com/nodejs/node/pull/52100) - \[[`07a6d5f8cf`](https://github.com/nodejs/node/commit/07a6d5f8cf)] - **(SEMVER-MINOR)** **dns**: add TLSA record query and parsing (Rithvik Vibhu) [#&#8203;52983](https://github.com/nodejs/node/pull/52983) - \[[`d8a83ef2f3`](https://github.com/nodejs/node/commit/d8a83ef2f3)] - **doc**: add [@&#8203;geeksilva97](https://github.com/geeksilva97) to collaborators (Edy Silva) [#&#8203;57241](https://github.com/nodejs/node/pull/57241) - \[[`6b93ba723b`](https://github.com/nodejs/node/commit/6b93ba723b)] - **(SEMVER-MINOR)** **module**: use synchronous hooks for preparsing in import(cjs) (Joyee Cheung) [#&#8203;55698](https://github.com/nodejs/node/pull/55698) - \[[`b2e44a8079`](https://github.com/nodejs/node/commit/b2e44a8079)] - **(SEMVER-MINOR)** **module**: implement module.registerHooks() (Joyee Cheung) [#&#8203;55698](https://github.com/nodejs/node/pull/55698) - \[[`dc91ae7471`](https://github.com/nodejs/node/commit/dc91ae7471)] - **(SEMVER-MINOR)** **process**: add execve (Paolo Insogna) [#&#8203;56496](https://github.com/nodejs/node/pull/56496) - \[[`bc672fcfdd`](https://github.com/nodejs/node/commit/bc672fcfdd)] - **(SEMVER-MINOR)** **sqlite**: allow returning `ArrayBufferView`s from user-defined functions (René) [#&#8203;56790](https://github.com/nodejs/node/pull/56790) - \[[`5edee197ab`](https://github.com/nodejs/node/commit/5edee197ab)] - **(SEMVER-MINOR)** **tls**: implement tls.getCACertificates() (Joyee Cheung) [#&#8203;57107](https://github.com/nodejs/node/pull/57107) - \[[`f9fe0e09ee`](https://github.com/nodejs/node/commit/f9fe0e09ee)] - **(SEMVER-MINOR)** **util**: expose diff function used by the assertion errors (Giovanni Bucci) [#&#8203;57462](https://github.com/nodejs/node/pull/57462) - \[[`673a424180`](https://github.com/nodejs/node/commit/673a424180)] - **(SEMVER-MINOR)** **v8**: add v8.getCppHeapStatistics() method (Aditi) [#&#8203;57146](https://github.com/nodejs/node/pull/57146) - \[[`4991e5d826`](https://github.com/nodejs/node/commit/4991e5d826)] - **(SEMVER-MINOR)** **zlib**: add zstd support (Jan Martin) [#&#8203;52100](https://github.com/nodejs/node/pull/52100) ##### Commits - \[[`ea70a379c3`](https://github.com/nodejs/node/commit/ea70a379c3)] - **assert**: improve partialDeepStrictEqual performance (Ruben Bridgewater) [#&#8203;57509](https://github.com/nodejs/node/pull/57509) - \[[`2b419d7e79`](https://github.com/nodejs/node/commit/2b419d7e79)] - **(SEMVER-MINOR)** **assert**: implement partial error comparison (Ruben Bridgewater) [#&#8203;57370](https://github.com/nodejs/node/pull/57370) - \[[`d817c17fd7`](https://github.com/nodejs/node/commit/d817c17fd7)] - **(SEMVER-MINOR)** **assert**: improve partialDeepStrictEqual (Ruben Bridgewater) [#&#8203;57370](https://github.com/nodejs/node/pull/57370) - \[[`7af0440073`](https://github.com/nodejs/node/commit/7af0440073)] - **assert**: improve myers diff performance (Giovanni Bucci) [#&#8203;57279](https://github.com/nodejs/node/pull/57279) - \[[`01cf5fb871`](https://github.com/nodejs/node/commit/01cf5fb871)] - **(SEMVER-MINOR)** **assert,util**: improve performance (Ruben Bridgewater) [#&#8203;57370](https://github.com/nodejs/node/pull/57370) - \[[`a58842cee4`](https://github.com/nodejs/node/commit/a58842cee4)] - **(SEMVER-MINOR)** **benchmark**: adjust assert runtimes (Ruben Bridgewater) [#&#8203;57370](https://github.com/nodejs/node/pull/57370) - \[[`b20b3697aa`](https://github.com/nodejs/node/commit/b20b3697aa)] - **(SEMVER-MINOR)** **benchmark**: skip running some assert benchmarks by default (Ruben Bridgewater) [#&#8203;57370](https://github.com/nodejs/node/pull/57370) - \[[`ec5570fd1e`](https://github.com/nodejs/node/commit/ec5570fd1e)] - **(SEMVER-MINOR)** **benchmark**: add assert partialDeepStrictEqual benchmark (Ruben Bridgewater) [#&#8203;57370](https://github.com/nodejs/node/pull/57370) - \[[`b991bf4ca6`](https://github.com/nodejs/node/commit/b991bf4ca6)] - **benchmark**: add a warmup on bench-openSync (Elves Vieira) [#&#8203;57051](https://github.com/nodejs/node/pull/57051) - \[[`4a455bc806`](https://github.com/nodejs/node/commit/4a455bc806)] - **build**: fix update-wpt workflow (Jonas) [#&#8203;57468](https://github.com/nodejs/node/pull/57468) - \[[`6ec397e61c`](https://github.com/nodejs/node/commit/6ec397e61c)] - **build**: fix compatibility with V8's `depot_tools` (Richard Lau) [#&#8203;57330](https://github.com/nodejs/node/pull/57330) - \[[`475aaca336`](https://github.com/nodejs/node/commit/475aaca336)] - **build**: print 'Formatting Markdown...' for long task markdown formatting (1ilsang) [#&#8203;57108](https://github.com/nodejs/node/pull/57108) - \[[`73fced7a97`](https://github.com/nodejs/node/commit/73fced7a97)] - **build**: fix GN build failure (Cheng) [#&#8203;57013](https://github.com/nodejs/node/pull/57013) - \[[`af05f91425`](https://github.com/nodejs/node/commit/af05f91425)] - **build**: fix GN build of uv (Cheng) [#&#8203;56955](https://github.com/nodejs/node/pull/56955) - \[[`fd3053e947`](https://github.com/nodejs/node/commit/fd3053e947)] - **build**: gyp exclude libm linking on macOS (deepak1556) [#&#8203;56901](https://github.com/nodejs/node/pull/56901) - \[[`5ec6b9a50f`](https://github.com/nodejs/node/commit/5ec6b9a50f)] - **build**: remove explicit linker call to libm on macOS (deepak1556) [#&#8203;56901](https://github.com/nodejs/node/pull/56901) - \[[`a893da9be7`](https://github.com/nodejs/node/commit/a893da9be7)] - **build**: link with Security.framework in GN build (Cheng) [#&#8203;56895](https://github.com/nodejs/node/pull/56895) - \[[`02cd8e0a50`](https://github.com/nodejs/node/commit/02cd8e0a50)] - **build**: do not put commands in sources variables (Cheng) [#&#8203;56885](https://github.com/nodejs/node/pull/56885) - \[[`73dc8c2140`](https://github.com/nodejs/node/commit/73dc8c2140)] - **build**: add double quotes around <(python) (Luigi Pinca) [#&#8203;56826](https://github.com/nodejs/node/pull/56826) - \[[`65a3b5f73c`](https://github.com/nodejs/node/commit/65a3b5f73c)] - **build**: add build option suppress_all_error_on_warn (Michael Dawson) [#&#8203;56647](https://github.com/nodejs/node/pull/56647) - \[[`424aacc942`](https://github.com/nodejs/node/commit/424aacc942)] - **build,win**: disable node pch with ccache (Stefan Stojanovic) [#&#8203;57224](https://github.com/nodejs/node/pull/57224) - \[[`901685c723`](https://github.com/nodejs/node/commit/901685c723)] - **build,win**: enable ccache (Stefan Stojanovic) [#&#8203;56847](https://github.com/nodejs/node/pull/56847) - \[[`79987676c1`](https://github.com/nodejs/node/commit/79987676c1)] - **cli**: clarify --cpu-prof-name allowed values (Eugenio Ceschia) [#&#8203;57433](https://github.com/nodejs/node/pull/57433) - \[[`503d4237aa`](https://github.com/nodejs/node/commit/503d4237aa)] - **(SEMVER-MINOR)** **cli**: allow --cpu-prof\* in NODE_OPTIONS (Carlos Espa) [#&#8203;57018](https://github.com/nodejs/node/pull/57018) - \[[`ada572b733`](https://github.com/nodejs/node/commit/ada572b733)] - **crypto**: ensure expected JWK alg in SubtleCrypto.importKey RSA imports (Filip Skokan) [#&#8203;57450](https://github.com/nodejs/node/pull/57450) - \[[`7e5aabde55`](https://github.com/nodejs/node/commit/7e5aabde55)] - **crypto**: update root certificates to NSS 3.108 (Node.js GitHub Bot) [#&#8203;57381](https://github.com/nodejs/node/pull/57381) - \[[`7ea6ac1e09`](https://github.com/nodejs/node/commit/7ea6ac1e09)] - **crypto**: add support for intermediate certs in --use-system-ca (Tim Jacomb) [#&#8203;57164](https://github.com/nodejs/node/pull/57164) - \[[`44b19ec534`](https://github.com/nodejs/node/commit/44b19ec534)] - **crypto**: support --use-system-ca on non-Windows and non-macOS (Joyee Cheung) [#&#8203;57009](https://github.com/nodejs/node/pull/57009) - \[[`e21d126438`](https://github.com/nodejs/node/commit/e21d126438)] - **crypto**: fix missing OPENSSL_NO_ENGINE guard (Shelley Vohr) [#&#8203;57012](https://github.com/nodejs/node/pull/57012) - \[[`2fdf82b357`](https://github.com/nodejs/node/commit/2fdf82b357)] - **crypto**: cleanup root certificates and skip PEM deserialization (Joyee Cheung) [#&#8203;56999](https://github.com/nodejs/node/pull/56999) - \[[`03a0f3a56b`](https://github.com/nodejs/node/commit/03a0f3a56b)] - **(SEMVER-MINOR)** **crypto**: support --use-system-ca on Windows (Joyee Cheung) [#&#8203;56833](https://github.com/nodejs/node/pull/56833) - \[[`bbdb10bc2c`](https://github.com/nodejs/node/commit/bbdb10bc2c)] - **crypto**: fix X509\* leak in --use-system-ca (Joyee Cheung) [#&#8203;56832](https://github.com/nodejs/node/pull/56832) - \[[`5470cab6d3`](https://github.com/nodejs/node/commit/5470cab6d3)] - **crypto**: add api to get openssl security level (Michael Dawson) [#&#8203;56601](https://github.com/nodejs/node/pull/56601) - \[[`94647bbdb2`](https://github.com/nodejs/node/commit/94647bbdb2)] - **(SEMVER-MINOR)** **crypto**: added support for reading certificates from macOS system store (Tim Jacomb) [#&#8203;56599](https://github.com/nodejs/node/pull/56599) - \[[`caf81ca549`](https://github.com/nodejs/node/commit/caf81ca549)] - **debugger**: fix behavior of plain object exec in debugger repl (Dario Piotrowicz) [#&#8203;57498](https://github.com/nodejs/node/pull/57498) - \[[`1d703fe220`](https://github.com/nodejs/node/commit/1d703fe220)] - **deps**: update c-ares to v1.34.5 (Node.js GitHub Bot) [#&#8203;57792](https://github.com/nodejs/node/pull/57792) - \[[`98457dfea3`](https://github.com/nodejs/node/commit/98457dfea3)] - **deps**: update undici to 6.21.2 (Matteo Collina) [#&#8203;57442](https://github.com/nodejs/node/pull/57442) - \[[`4a852ba11b`](https://github.com/nodejs/node/commit/4a852ba11b)] - **deps**: V8: cherry-pick [`c172ffc`](https://github.com/nodejs/node/commit/c172ffc5bf54) (Choongwoo Han) [#&#8203;57437](https://github.com/nodejs/node/pull/57437) - \[[`54a12e0bcc`](https://github.com/nodejs/node/commit/54a12e0bcc)] - **deps**: update googletest to [`0bdccf4`](https://github.com/nodejs/node/commit/0bdccf4) (Node.js GitHub Bot) [#&#8203;57380](https://github.com/nodejs/node/pull/57380) - \[[`2e350963e5`](https://github.com/nodejs/node/commit/2e350963e5)] - **deps**: update acorn to 8.14.1 (Node.js GitHub Bot) [#&#8203;57382](https://github.com/nodejs/node/pull/57382) - \[[`95e5d01c25`](https://github.com/nodejs/node/commit/95e5d01c25)] - **deps**: update amaro to 0.4.1 (marco-ippolito) [#&#8203;57121](https://github.com/nodejs/node/pull/57121) - \[[`ef216deb05`](https://github.com/nodejs/node/commit/ef216deb05)] - **deps**: update amaro to 0.3.2 (marco-ippolito) [#&#8203;56916](https://github.com/nodejs/node/pull/56916) - \[[`4ef4d6ecf6`](https://github.com/nodejs/node/commit/4ef4d6ecf6)] - **deps**: update amaro to 0.3.1 (Node.js GitHub Bot) [#&#8203;56785](https://github.com/nodejs/node/pull/56785) - \[[`a8bf5ef4a7`](https://github.com/nodejs/node/commit/a8bf5ef4a7)] - **deps**: update simdjson to 3.12.2 (Node.js GitHub Bot) [#&#8203;57084](https://github.com/nodejs/node/pull/57084) - \[[`0bd612bb32`](https://github.com/nodejs/node/commit/0bd612bb32)] - **deps**: update archs files for openssl-3.0.16 (Node.js GitHub Bot) [#&#8203;57335](https://github.com/nodejs/node/pull/57335) - \[[`7d65f79306`](https://github.com/nodejs/node/commit/7d65f79306)] - **deps**: upgrade openssl sources to quictls/openssl-3.0.16 (Node.js GitHub Bot) [#&#8203;57335](https://github.com/nodejs/node/pull/57335) - \[[`5c88c52491`](https://github.com/nodejs/node/commit/5c88c52491)] - **deps**: update corepack to 0.32.0 (Node.js GitHub Bot) [#&#8203;57265](https://github.com/nodejs/node/pull/57265) - \[[`fa04bf4999`](https://github.com/nodejs/node/commit/fa04bf4999)] - **deps**: update gyp file for ngtcp2 1.11.0 (Richard Lau) [#&#8203;57225](https://github.com/nodejs/node/pull/57225) - \[[`ca6b07258d`](https://github.com/nodejs/node/commit/ca6b07258d)] - **deps**: update cjs-module-lexer to 2.1.0 (Node.js GitHub Bot) [#&#8203;57180](https://github.com/nodejs/node/pull/57180) - \[[`0a72b16fe1`](https://github.com/nodejs/node/commit/0a72b16fe1)] - **deps**: update ngtcp2 to 1.11.0 (Node.js GitHub Bot) [#&#8203;57179](https://github.com/nodejs/node/pull/57179) - \[[`600fb41f54`](https://github.com/nodejs/node/commit/600fb41f54)] - **deps**: update sqlite to 3.49.1 (Node.js GitHub Bot) [#&#8203;57178](https://github.com/nodejs/node/pull/57178) - \[[`7eb3b44010`](https://github.com/nodejs/node/commit/7eb3b44010)] - **deps**: update zlib to 1.3.0.1-motley-788cb3c (Node.js GitHub Bot) [#&#8203;56655](https://github.com/nodejs/node/pull/56655) - \[[`257d22e181`](https://github.com/nodejs/node/commit/257d22e181)] - **deps**: update sqlite to 3.49.0 (Node.js GitHub Bot) [#&#8203;56654](https://github.com/nodejs/node/pull/56654) - \[[`53a7bfce01`](https://github.com/nodejs/node/commit/53a7bfce01)] - **deps**: V8: cherry-pick [`9ab4059`](https://github.com/nodejs/node/commit/9ab40592f697) (Levi Zim) [#&#8203;56781](https://github.com/nodejs/node/pull/56781) - \[[`636f65cb1a`](https://github.com/nodejs/node/commit/636f65cb1a)] - **deps**: update cjs-module-lexer to 2.0.0 (Michael Dawson) [#&#8203;56855](https://github.com/nodejs/node/pull/56855) - \[[`8f7b86a6e7`](https://github.com/nodejs/node/commit/8f7b86a6e7)] - **deps**: update timezone to 2025a (Node.js GitHub Bot) [#&#8203;56876](https://github.com/nodejs/node/pull/56876) - \[[`db31276bfa`](https://github.com/nodejs/node/commit/db31276bfa)] - **deps**: update simdjson to 3.12.0 (Node.js GitHub Bot) [#&#8203;56874](https://github.com/nodejs/node/pull/56874) - \[[`d1d58d6198`](https://github.com/nodejs/node/commit/d1d58d6198)] - **deps**: update googletest to [`e235eb3`](https://github.com/nodejs/node/commit/e235eb3) (Node.js GitHub Bot) [#&#8203;56873](https://github.com/nodejs/node/pull/56873) - \[[`05b3dff275`](https://github.com/nodejs/node/commit/05b3dff275)] - **deps**: update simdjson to 3.11.6 (Node.js GitHub Bot) [#&#8203;56250](https://github.com/nodejs/node/pull/56250) - \[[`f9f611fb58`](https://github.com/nodejs/node/commit/f9f611fb58)] - **(SEMVER-MINOR)** **deps,tools**: add zstd 1.5.6 (Jan Martin) [#&#8203;52100](https://github.com/nodejs/node/pull/52100) - \[[`ef212a41a7`](https://github.com/nodejs/node/commit/ef212a41a7)] - **dns**: restore dns query cache ttl (Ethan Arrowood) [#&#8203;57640](https://github.com/nodejs/node/pull/57640) - \[[`7a10b01e97`](https://github.com/nodejs/node/commit/7a10b01e97)] - **dns**: remove redundant code using common variable (Deokjin Kim) [#&#8203;57386](https://github.com/nodejs/node/pull/57386) - \[[`bc2603f086`](https://github.com/nodejs/node/commit/bc2603f086)] - **(SEMVER-MINOR)** **dns**: add TLSA record query and parsing (Rithvik Vibhu) [#&#8203;52983](https://github.com/nodejs/node/pull/52983) - \[[`38a2e5d60b`](https://github.com/nodejs/node/commit/38a2e5d60b)] - **doc**: add gurgunday as triager (Gürgün Dayıoğlu) [#&#8203;57594](https://github.com/nodejs/node/pull/57594) - \[[`b7ac0bd129`](https://github.com/nodejs/node/commit/b7ac0bd129)] - **doc**: clarify behaviour of node-api adjust function (Michael Dawson) [#&#8203;57463](https://github.com/nodejs/node/pull/57463) - \[[`fa834896c8`](https://github.com/nodejs/node/commit/fa834896c8)] - **doc**: remove Corepack documentation (Antoine du Hamel) [#&#8203;57635](https://github.com/nodejs/node/pull/57635) - \[[`8988173286`](https://github.com/nodejs/node/commit/8988173286)] - **doc**: remove mention of `--require` not supporting ES modules (Huáng Jùnliàng) [#&#8203;57620](https://github.com/nodejs/node/pull/57620) - \[[`3a7d179dbd`](https://github.com/nodejs/node/commit/3a7d179dbd)] - **doc**: mention reports should align with Node.js CoC (Rafael Gonzaga) [#&#8203;57607](https://github.com/nodejs/node/pull/57607) - \[[`983c5087f6`](https://github.com/nodejs/node/commit/983c5087f6)] - **doc**: add section stating that very stale PRs should be closed (Dario Piotrowicz) [#&#8203;57541](https://github.com/nodejs/node/pull/57541) - \[[`f4e1f702d4`](https://github.com/nodejs/node/commit/f4e1f702d4)] - **doc**: add bjohansebas as triager (Sebastian Beltran) [#&#8203;57564](https://github.com/nodejs/node/pull/57564) - \[[`9b7fd6b076`](https://github.com/nodejs/node/commit/9b7fd6b076)] - **doc**: update support channels (Claudio W.) [#&#8203;57538](https://github.com/nodejs/node/pull/57538) - \[[`ef624aff55`](https://github.com/nodejs/node/commit/ef624aff55)] - **doc**: remove cryptoStream API reference (Jonas) [#&#8203;57579](https://github.com/nodejs/node/pull/57579) - \[[`4a2afc255a`](https://github.com/nodejs/node/commit/4a2afc255a)] - **doc**: module resolution pseudocode corrections (Marcel Laverdet) [#&#8203;57080](https://github.com/nodejs/node/pull/57080) - \[[`ee5059426d`](https://github.com/nodejs/node/commit/ee5059426d)] - **doc**: add history entry for DEP0190 in `child_process.md` (Antoine du Hamel) [#&#8203;57544](https://github.com/nodejs/node/pull/57544) - \[[`4deebb4fca`](https://github.com/nodejs/node/commit/4deebb4fca)] - **doc**: remove deprecated pattern in `child_process.md` (Antoine du Hamel) [#&#8203;57568](https://github.com/nodejs/node/pull/57568) - \[[`6cd7b37d9c`](https://github.com/nodejs/node/commit/6cd7b37d9c)] - **doc**: mark multiple experimental APIS as stable (James M Snell) [#&#8203;57510](https://github.com/nodejs/node/pull/57510) - \[[`c2f1fa0928`](https://github.com/nodejs/node/commit/c2f1fa0928)] - **doc**: remove mertcanaltin from Triagers (Mert Can Altin) [#&#8203;57531](https://github.com/nodejs/node/pull/57531) - \[[`9b6047e520`](https://github.com/nodejs/node/commit/9b6047e520)] - **doc**: recommend watching the collaborators repo in the onboarding doc (Darshan Sen) [#&#8203;57527](https://github.com/nodejs/node/pull/57527) - \[[`bf1e297079`](https://github.com/nodejs/node/commit/bf1e297079)] - **doc**: remove mention of visa fees from onboarding doc (Darshan Sen) [#&#8203;57526](https://github.com/nodejs/node/pull/57526) - \[[`1041331094`](https://github.com/nodejs/node/commit/1041331094)] - **doc**: deprecate passing `args` to `spawn` and `execFile` (Antoine du Hamel) [#&#8203;57389](https://github.com/nodejs/node/pull/57389) - \[[`06994d5a75`](https://github.com/nodejs/node/commit/06994d5a75)] - **doc**: remove some inconsistencies in `deprecations.md` (Antoine du Hamel) [#&#8203;57512](https://github.com/nodejs/node/pull/57512) - \[[`707f851ba3`](https://github.com/nodejs/node/commit/707f851ba3)] - **doc**: run license-builder (github-actions\[bot]) [#&#8203;57511](https://github.com/nodejs/node/pull/57511) - \[[`a7793195d6`](https://github.com/nodejs/node/commit/a7793195d6)] - **doc**: add new writing-docs contributing md (Dario Piotrowicz) [#&#8203;57502](https://github.com/nodejs/node/pull/57502) - \[[`30d4a43b3d`](https://github.com/nodejs/node/commit/30d4a43b3d)] - **doc**: add node.js streams references to Web Streams doc (Dario Piotrowicz) [#&#8203;57393](https://github.com/nodejs/node/pull/57393) - \[[`e08365980b`](https://github.com/nodejs/node/commit/e08365980b)] - **doc**: prefer to sign commits under nodejs repository (Rafael Gonzaga) [#&#8203;57311](https://github.com/nodejs/node/pull/57311) - \[[`c35e1f9048`](https://github.com/nodejs/node/commit/c35e1f9048)] - **doc**: fixed the incorrect splitting of multiple words (letianpailove) [#&#8203;57454](https://github.com/nodejs/node/pull/57454) - \[[`3e1f3bc2bb`](https://github.com/nodejs/node/commit/3e1f3bc2bb)] - **doc**: add review guidelines for collaborator nominations (Antoine du Hamel) [#&#8203;57449](https://github.com/nodejs/node/pull/57449) - \[[`fef3f82a41`](https://github.com/nodejs/node/commit/fef3f82a41)] - **doc**: add history info for --use-system-ca (Darshan Sen) [#&#8203;57432](https://github.com/nodejs/node/pull/57432) - \[[`96afdf949d`](https://github.com/nodejs/node/commit/96afdf949d)] - **doc**: remove typo YAML snippet from tls.getCACertificates doc (Darshan Sen) [#&#8203;57459](https://github.com/nodejs/node/pull/57459) - \[[`800d61d47e`](https://github.com/nodejs/node/commit/800d61d47e)] - **doc**: fix typo in sqlite.md (Tobias Nießen) [#&#8203;57473](https://github.com/nodejs/node/pull/57473) - \[[`4876aee775`](https://github.com/nodejs/node/commit/4876aee775)] - **doc**: explicit mention arbitrary code execution as a vuln (Rafael Gonzaga) [#&#8203;57426](https://github.com/nodejs/node/pull/57426) - \[[`2dd72c658f`](https://github.com/nodejs/node/commit/2dd72c658f)] - **doc**: update maintaining-openssl.md for openssl (Richard Lau) [#&#8203;57413](https://github.com/nodejs/node/pull/57413) - \[[`a49fd31f04`](https://github.com/nodejs/node/commit/a49fd31f04)] - **doc**: add missing `deprecated` badges in `fs.md` (Yukihiro Hasegawa) [#&#8203;57384](https://github.com/nodejs/node/pull/57384) - \[[`3a4ed77674`](https://github.com/nodejs/node/commit/3a4ed77674)] - **doc**: add note about sync nodejs-private branches (Rafael Gonzaga) [#&#8203;57404](https://github.com/nodejs/node/pull/57404) - \[[`1025e6dc7c`](https://github.com/nodejs/node/commit/1025e6dc7c)] - **doc**: update Xcode version used for arm64 and pkg (Michaël Zasso) [#&#8203;57104](https://github.com/nodejs/node/pull/57104) - \[[`77b9e04a70`](https://github.com/nodejs/node/commit/77b9e04a70)] - **doc**: improve type stripping documentation (Marco Ippolito) [#&#8203;56916](https://github.com/nodejs/node/pull/56916) - \[[`3a75e8410d`](https://github.com/nodejs/node/commit/3a75e8410d)] - **doc**: specificy support for erasable ts syntax (Marco Ippolito) [#&#8203;56916](https://github.com/nodejs/node/pull/56916) - \[[`69f12f9686`](https://github.com/nodejs/node/commit/69f12f9686)] - **doc**: make first parameter optional in `util.getCallSites` (Deokjin Kim) [#&#8203;57387](https://github.com/nodejs/node/pull/57387) - \[[`2b4e737ffb`](https://github.com/nodejs/node/commit/2b4e737ffb)] - **doc**: fix usage of module.registerSync in comment (Timo Kössler) [#&#8203;57328](https://github.com/nodejs/node/pull/57328) - \[[`f320593958`](https://github.com/nodejs/node/commit/f320593958)] - **doc**: add Darshan back as voting TSC member (Michael Dawson) [#&#8203;57402](https://github.com/nodejs/node/pull/57402) - \[[`2b7765469a`](https://github.com/nodejs/node/commit/2b7765469a)] - **doc**: revise webcrypto.md types, interfaces, and added versions (Filip Skokan) [#&#8203;57376](https://github.com/nodejs/node/pull/57376) - \[[`649828c74a`](https://github.com/nodejs/node/commit/649828c74a)] - **doc**: add info on how project manages social media (Michael Dawson) [#&#8203;57318](https://github.com/nodejs/node/pull/57318) - \[[`2a2e1cfd71`](https://github.com/nodejs/node/commit/2a2e1cfd71)] - **doc**: revise `tsconfig.json` note (Steven) [#&#8203;57353](https://github.com/nodejs/node/pull/57353) - \[[`17883b1d46`](https://github.com/nodejs/node/commit/17883b1d46)] - **doc**: use more clear name in getSystemErrorMessage's example (ikuma-t) [#&#8203;57310](https://github.com/nodejs/node/pull/57310) - \[[`7feed9989b`](https://github.com/nodejs/node/commit/7feed9989b)] - **doc**: recommend setting `noEmit: true` in `tsconfig.json` (Steven) [#&#8203;57320](https://github.com/nodejs/node/pull/57320) - \[[`fe707ab162`](https://github.com/nodejs/node/commit/fe707ab162)] - **doc**: ping nodejs/tsc for each security pull request (Rafael Gonzaga) [#&#8203;57309](https://github.com/nodejs/node/pull/57309) - \[[`f3c58ab693`](https://github.com/nodejs/node/commit/f3c58ab693)] - **doc**: fix Windows ccache section position (Stefan Stojanovic) [#&#8203;57326](https://github.com/nodejs/node/pull/57326) - \[[`e69170bacd`](https://github.com/nodejs/node/commit/e69170bacd)] - **doc**: update node-api version matrix (Chengzhong Wu) [#&#8203;57287](https://github.com/nodejs/node/pull/57287) - \[[`0bc1fd2245`](https://github.com/nodejs/node/commit/0bc1fd2245)] - **doc**: recommend `erasableSyntaxOnly` in ts docs (Rob Palmer) [#&#8203;57271](https://github.com/nodejs/node/pull/57271) - \[[`068013744e`](https://github.com/nodejs/node/commit/068013744e)] - **doc**: clarify `path.isAbsolute` is not path traversal mitigation (Eric Fortis) [#&#8203;57073](https://github.com/nodejs/node/pull/57073) - \[[`238b0e856e`](https://github.com/nodejs/node/commit/238b0e856e)] - **doc**: fix rendering of DEP0174 description (David Sanders) [#&#8203;56835](https://github.com/nodejs/node/pull/56835) - \[[`db0bcefd14`](https://github.com/nodejs/node/commit/db0bcefd14)] - **doc**: add 1ilsang to triage team (1ilsang) [#&#8203;57183](https://github.com/nodejs/node/pull/57183) - \[[`52a593feab`](https://github.com/nodejs/node/commit/52a593feab)] - **doc**: add [@&#8203;geeksilva97](https://github.com/geeksilva97) to collaborators (Edy Silva) [#&#8203;57241](https://github.com/nodejs/node/pull/57241) - \[[`89f4475e32`](https://github.com/nodejs/node/commit/89f4475e32)] - **doc**: add missing assert return types (Colin Ihrig) [#&#8203;57219](https://github.com/nodejs/node/pull/57219) - \[[`62b6d94c03`](https://github.com/nodejs/node/commit/62b6d94c03)] - **doc**: add streamResetBurst and streamResetRate (Sujal Raj) [#&#8203;57195](https://github.com/nodejs/node/pull/57195) - \[[`f150017e70`](https://github.com/nodejs/node/commit/f150017e70)] - **doc**: add esm examples to node:util (Alfredo González) [#&#8203;56793](https://github.com/nodejs/node/pull/56793) - \[[`99465ffa9c`](https://github.com/nodejs/node/commit/99465ffa9c)] - **doc**: update options to filehandle.appendFile() (Hasegawa-Yukihiro) [#&#8203;56972](https://github.com/nodejs/node/pull/56972) - \[[`6242520a90`](https://github.com/nodejs/node/commit/6242520a90)] - **doc**: add additional caveat for fs.watch (Michael Dawson) [#&#8203;57150](https://github.com/nodejs/node/pull/57150) - \[[`19cda4791a`](https://github.com/nodejs/node/commit/19cda4791a)] - **doc**: fix typo in Windows building instructions (Tim Jacomb) [#&#8203;57158](https://github.com/nodejs/node/pull/57158) - \[[`ef206add59`](https://github.com/nodejs/node/commit/ef206add59)] - **doc**: fix web.libera.chat link in pull-requests.md (Samuel Bronson) [#&#8203;57076](https://github.com/nodejs/node/pull/57076) - \[[`7243c1713d`](https://github.com/nodejs/node/commit/7243c1713d)] - **doc**: remove buffered flag from performance hooks examples (Pavel Romanov) [#&#8203;52607](https://github.com/nodejs/node/pull/52607) - \[[`617fe71f67`](https://github.com/nodejs/node/commit/617fe71f67)] - **doc**: fix 'introduced_in' version in typescript module (1ilsang) [#&#8203;57109](https://github.com/nodejs/node/pull/57109) - \[[`6cc15b8dc9`](https://github.com/nodejs/node/commit/6cc15b8dc9)] - **doc**: fix link and history of `SourceMap` sections (Antoine du Hamel) [#&#8203;57098](https://github.com/nodejs/node/pull/57098) - \[[`6be8189041`](https://github.com/nodejs/node/commit/6be8189041)] - **doc**: add `module namespace object` links (Dario Piotrowicz) [#&#8203;57093](https://github.com/nodejs/node/pull/57093) - \[[`8611c4a3ea`](https://github.com/nodejs/node/commit/8611c4a3ea)] - **doc**: disambiguate pseudo-code statement (Dario Piotrowicz) [#&#8203;57092](https://github.com/nodejs/node/pull/57092) - \[[`79da145a55`](https://github.com/nodejs/node/commit/79da145a55)] - **doc**: update clang-cl on Windows building guide (Joyee Cheung) [#&#8203;57087](https://github.com/nodejs/node/pull/57087) - \[[`845eaf91be`](https://github.com/nodejs/node/commit/845eaf91be)] - **doc**: fix wrong articles used to address modules (Dario Piotrowicz) [#&#8203;57090](https://github.com/nodejs/node/pull/57090) - \[[`42c5e23eb1`](https://github.com/nodejs/node/commit/42c5e23eb1)] - **doc**: `modules.md`: fix `distance` definition (Alexander “weej” Jones) [#&#8203;57046](https://github.com/nodejs/node/pull/57046) - \[[`bda851aaa3`](https://github.com/nodejs/node/commit/bda851aaa3)] - **doc**: fix wrong verb form (Dario Piotrowicz) [#&#8203;57091](https://github.com/nodejs/node/pull/57091) - \[[`64e13fd36e`](https://github.com/nodejs/node/commit/64e13fd36e)] - **doc**: fix transpiler loader hooks documentation (Joyee Cheung) [#&#8203;57037](https://github.com/nodejs/node/pull/57037) - \[[`51494d8b78`](https://github.com/nodejs/node/commit/51494d8b78)] - **doc**: add a note about `require('../common')` in testing documentation (Aditi) [#&#8203;56953](https://github.com/nodejs/node/pull/56953) - \[[`053b128e9c`](https://github.com/nodejs/node/commit/053b128e9c)] - **doc**: recommend writing tests in new files and including comments (Joyee Cheung) [#&#8203;57028](https://github.com/nodejs/node/pull/57028) - \[[`a20c62a00c`](https://github.com/nodejs/node/commit/a20c62a00c)] - **doc**: improve documentation on argument validation (Aditi) [#&#8203;56954](https://github.com/nodejs/node/pull/56954) - \[[`2921658813`](https://github.com/nodejs/node/commit/2921658813)] - **doc**: buffer: fix typo on `Buffer.copyBytesFrom(` `offset` option (tpoisseau) [#&#8203;57015](https://github.com/nodejs/node/pull/57015) - \[[`6f4ab1c9b2`](https://github.com/nodejs/node/commit/6f4ab1c9b2)] - **doc**: update cleanup to trust on vuln db automation (Rafael Gonzaga) [#&#8203;57004](https://github.com/nodejs/node/pull/57004) - \[[`5285facb3e`](https://github.com/nodejs/node/commit/5285facb3e)] - **doc**: move stability index after history section for consistency (Antoine du Hamel) [#&#8203;56997](https://github.com/nodejs/node/pull/56997) - \[[`a7646e17ff`](https://github.com/nodejs/node/commit/a7646e17ff)] - **doc**: add `signal` to `filehandle.writeFile()` options (Yukihiro Hasegawa) [#&#8203;56804](https://github.com/nodejs/node/pull/56804) - \[[`ba031089e6`](https://github.com/nodejs/node/commit/ba031089e6)] - **doc**: run license-builder (github-actions\[bot]) [#&#8203;56985](https://github.com/nodejs/node/pull/56985) - \[[`afa6f93a32`](https://github.com/nodejs/node/commit/afa6f93a32)] - **doc**: update history of stream.Readable.toWeb() (Jimmy Leung) [#&#8203;56928](https://github.com/nodejs/node/pull/56928) - \[[`cc644de126`](https://github.com/nodejs/node/commit/cc644de126)] - **doc**: make MDN links to global classes more consistent (Antoine du Hamel) [#&#8203;56924](https://github.com/nodejs/node/pull/56924) - \[[`93bba4eee1`](https://github.com/nodejs/node/commit/93bba4eee1)] - **doc**: make MDN links to global classes more consistent in `assert.md` (Antoine du Hamel) [#&#8203;56920](https://github.com/nodejs/node/pull/56920) - \[[`ad03c85f98`](https://github.com/nodejs/node/commit/ad03c85f98)] - **doc**: make MDN links to global classes more consistent (Antoine du Hamel) [#&#8203;56923](https://github.com/nodejs/node/pull/56923) - \[[`96c2a90dee`](https://github.com/nodejs/node/commit/96c2a90dee)] - **doc**: make MDN links to global classes more consistent in `util.md` (Antoine du Hamel) [#&#8203;56922](https://github.com/nodejs/node/pull/56922) - \[[`6bb73c0745`](https://github.com/nodejs/node/commit/6bb73c0745)] - **doc**: make MDN links to global classes more consistent in `buffer.md` (Antoine du Hamel) [#&#8203;56921](https://github.com/nodejs/node/pull/56921) - \[[`824cf35475`](https://github.com/nodejs/node/commit/824cf35475)] - **doc**: update post sec release process (Rafael Gonzaga) [#&#8203;56907](https://github.com/nodejs/node/pull/56907) - \[[`027749eb17`](https://github.com/nodejs/node/commit/027749eb17)] - **doc**: update websocket link to avoid linking to self (Chengzhong Wu) [#&#8203;56897](https://github.com/nodejs/node/pull/56897) - \[[`5dcb9d632b`](https://github.com/nodejs/node/commit/5dcb9d632b)] - **doc**: mark `--env-file-if-exists` flag as experimental (Juan José) [#&#8203;56893](https://github.com/nodejs/node/pull/56893) - \[[`4f6d751bf5`](https://github.com/nodejs/node/commit/4f6d751bf5)] - **doc**: fix typo in cjs example of `util.styleText` (Deokjin Kim) [#&#8203;56769](https://github.com/nodejs/node/pull/56769) - \[[`313d9db7a5`](https://github.com/nodejs/node/commit/313d9db7a5)] - **doc**: clarify sqlite user-defined function behaviour (René) [#&#8203;56786](https://github.com/nodejs/node/pull/56786) - \[[`eff42956c4`](https://github.com/nodejs/node/commit/eff42956c4)] - **doc**: correct customization hook types & clarify descriptions (Jacob Smith) [#&#8203;56454](https://github.com/nodejs/node/pull/56454) - \[[`64180421c2`](https://github.com/nodejs/node/commit/64180421c2)] - **events**: getMaxListeners detects 0 listeners (Matthew Aitken) [#&#8203;56807](https://github.com/nodejs/node/pull/56807) - \[[`2de27787b4`](https://github.com/nodejs/node/commit/2de27787b4)] - **fs**: apply exclude function to root path (Rich Trott) [#&#8203;57420](https://github.com/nodejs/node/pull/57420) - \[[`b6df9e350a`](https://github.com/nodejs/node/commit/b6df9e350a)] - **fs**: handle UV_ENOTDIR in `fs.statSync` with `throwIfNoEntry` provided (Juan José Arboleda) [#&#8203;56996](https://github.com/nodejs/node/pull/56996) - \[[`14b2d496a0`](https://github.com/nodejs/node/commit/14b2d496a0)] - **fs**: make `FileHandle.readableWebStream` always create byte streams (Ian Kerins) [#&#8203;55461](https://github.com/nodejs/node/pull/55461) - \[[`10d2f1d898`](https://github.com/nodejs/node/commit/10d2f1d898)] - **http**: coerce content-length to number (Marco Ippolito) [#&#8203;57458](https://github.com/nodejs/node/pull/57458) - \[[`9192b7fa25`](https://github.com/nodejs/node/commit/9192b7fa25)] - **http**: be more generational GC friendly (ywave620) [#&#8203;56767](https://github.com/nodejs/node/pull/56767) - \[[`1cf98a8788`](https://github.com/nodejs/node/commit/1cf98a8788)] - **inspector**: convert event params to protocol without json (Chengzhong Wu) [#&#8203;57027](https://github.com/nodejs/node/pull/57027) - \[[`6dcad868bb`](https://github.com/nodejs/node/commit/6dcad868bb)] - **inspector**: skip promise hook in the inspector async hook (Joyee Cheung) [#&#8203;57148](https://github.com/nodejs/node/pull/57148) - \[[`787e93f75a`](https://github.com/nodejs/node/commit/787e93f75a)] - **inspector**: add Network.Initiator in inspector protocol (Chengzhong Wu) [#&#8203;56805](https://github.com/nodejs/node/pull/56805) - \[[`c7c04d0dc8`](https://github.com/nodejs/node/commit/c7c04d0dc8)] - **inspector**: fix GN build (Cheng) [#&#8203;56798](https://github.com/nodejs/node/pull/56798) - \[[`177da9c3c3`](https://github.com/nodejs/node/commit/177da9c3c3)] - **inspector**: fix StringUtil::CharacterCount for unicodes (Chengzhong Wu) [#&#8203;56788](https://github.com/nodejs/node/pull/56788) - \[[`1b5418eeea`](https://github.com/nodejs/node/commit/1b5418eeea)] - **lib**: add warning when binding inspector to public IP (Demian Parkhomenko) [#&#8203;55736](https://github.com/nodejs/node/pull/55736) - \[[`cc4d33842b`](https://github.com/nodejs/node/commit/cc4d33842b)] - **lib**: limit split function calls to prevent excessive array length (Gürgün Dayıoğlu) [#&#8203;57501](https://github.com/nodejs/node/pull/57501) - \[[`0546612d1d`](https://github.com/nodejs/node/commit/0546612d1d)] - **lib**: make getCallSites sourceMap option truly optional (James M Snell) [#&#8203;57388](https://github.com/nodejs/node/pull/57388) - \[[`d7d54e6bf3`](https://github.com/nodejs/node/commit/d7d54e6bf3)] - **lib**: optimize priority queue (Gürgün Dayıoğlu) [#&#8203;57100](https://github.com/nodejs/node/pull/57100) - \[[`62761c73a1`](https://github.com/nodejs/node/commit/62761c73a1)] - **lib**: fixup incorrect argument order in assertEncoding (James M Snell) [#&#8203;57177](https://github.com/nodejs/node/pull/57177) - \[[`5dce55c376`](https://github.com/nodejs/node/commit/5dce55c376)] - **meta**: add some clarification to the nomination process (James M Snell) [#&#8203;57503](https://github.com/nodejs/node/pull/57503) - \[[`a2a4cf1d95`](https://github.com/nodejs/node/commit/a2a4cf1d95)] - **meta**: remove collaborator self-nomination (Rich Trott) [#&#8203;57537](https://github.com/nodejs/node/pull/57537) - \[[`244f74b844`](https://github.com/nodejs/node/commit/244f74b844)] - **meta**: edit collaborator nomination process (Antoine du Hamel) [#&#8203;57483](https://github.com/nodejs/node/pull/57483) - \[[`dec204bb3f`](https://github.com/nodejs/node/commit/dec204bb3f)] - **meta**: move ovflowd to emeritus (Claudio W.) [#&#8203;57443](https://github.com/nodejs/node/pull/57443) - \[[`c0b8b84384`](https://github.com/nodejs/node/commit/c0b8b84384)] - **meta**: bump codecov/codecov-action from 5.3.1 to 5.4.0 (dependabot\[bot]) [#&#8203;57257](https://github.com/nodejs/node/pull/57257) - \[[`14cbe292da`](https://github.com/nodejs/node/commit/14cbe292da)] - **meta**: bump github/codeql-action from 3.28.8 to 3.28.10 (dependabot\[bot]) [#&#8203;57254](https://github.com/nodejs/node/pull/57254) - \[[`69d2dd69e2`](https://github.com/nodejs/node/commit/69d2dd69e2)] - **meta**: bump ossf/scorecard-action from 2.4.0 to 2.4.1 (dependabot\[bot]) [#&#8203;57253](https://github.com/nodejs/node/pull/57253) - \[[`5f3428ded6`](https://github.com/nodejs/node/commit/5f3428ded6)] - **meta**: move RaisinTen back to collaborators, triagers and SEA champion (Darshan Sen) [#&#8203;57292](https://github.com/nodejs/node/pull/57292) - \[[`3eea8c72fc`](https://github.com/nodejs/node/commit/3eea8c72fc)] - **meta**: bump actions/download-artifact from 4.1.8 to 4.1.9 (dependabot\[bot]) [#&#8203;57260](https://github.com/nodejs/node/pull/57260) - \[[`2508893edb`](https://github.com/nodejs/node/commit/2508893edb)] - **meta**: bump peter-evans/create-pull-request from 7.0.6 to 7.0.7 (dependabot\[bot]) [#&#8203;57259](https://github.com/nodejs/node/pull/57259) - \[[`fc09523f44`](https://github.com/nodejs/node/commit/fc09523f44)] - **meta**: bump step-security/harden-runner from 2.10.4 to 2.11.0 (dependabot\[bot]) [#&#8203;57258](https://github.com/nodejs/node/pull/57258) - \[[`b162402440`](https://github.com/nodejs/node/commit/b162402440)] - **meta**: bump actions/cache from 4.2.0 to 4.2.2 (dependabot\[bot]) [#&#8203;57256](https://github.com/nodejs/node/pull/57256) - \[[`f781be1332`](https://github.com/nodejs/node/commit/f781be1332)] - **meta**: bump actions/upload-artifact from 4.6.0 to 4.6.1 (dependabot\[bot]) [#&#8203;57255](https://github.com/nodejs/node/pull/57255) - \[[`7934ad9fc0`](https://github.com/nodejs/node/commit/7934ad9fc0)] - **meta**: bump `actions/setup-python` from 5.3.0 to 5.4.0 (dependabot\[bot]) [#&#8203;56867](https://github.com/nodejs/node/pull/56867) - \[[`eb4fb9ce90`](https://github.com/nodejs/node/commit/eb4fb9ce90)] - **meta**: bump `peter-evans/create-pull-request` from 7.0.5 to 7.0.6 (dependabot\[bot]) [#&#8203;56866](https://github.com/nodejs/node/pull/56866) - \[[`a14e7f1cc4`](https://github.com/nodejs/node/commit/a14e7f1cc4)] - **meta**: bump `mozilla-actions/sccache-action` from 0.0.6 to 0.0.7 (dependabot\[bot]) [#&#8203;56865](https://github.com/nodejs/node/pull/56865) - \[[`6c8a9e3d0d`](https://github.com/nodejs/node/commit/6c8a9e3d0d)] - **meta**: bump `codecov/codecov-action` from 5.0.7 to 5.3.1 (dependabot\[bot]) [#&#8203;56864](https://github.com/nodejs/node/pull/56864) - \[[`f438c27cbf`](https://github.com/nodejs/node/commit/f438c27cbf)] - **meta**: bump `step-security/harden-runner` from 2.10.2 to 2.10.4 (dependabot\[bot]) [#&#8203;56863](https://github.com/nodejs/node/pull/56863) - \[[`24b7fcb153`](https://github.com/nodejs/node/commit/24b7fcb153)] - **meta**: bump `actions/cache` from 4.1.2 to 4.2.0 (dependabot\[bot]) [#&#8203;56862](https://github.com/nodejs/node/pull/56862) - \[[`a0afc47988`](https://github.com/nodejs/node/commit/a0afc47988)] - **meta**: bump `actions/stale` from 9.0.0 to 9.1.0 (dependabot\[bot]) [#&#8203;56860](https://github.com/nodejs/node/pull/56860) - \[[`8abf4e5d7d`](https://github.com/nodejs/node/commit/8abf4e5d7d)] - **meta**: bump `github/codeql-action` from 3.27.5 to 3.28.8 (dependabot\[bot]) [#&#8203;56859](https://github.com/nodejs/node/pull/56859) - \[[`c5bff736e9`](https://github.com/nodejs/node/commit/c5bff736e9)] - **meta**: add CODEOWNERS for SQLite (Colin Ihrig) [#&#8203;57147](https://github.com/nodejs/node/pull/57147) - \[[`fd2abaa088`](https://github.com/nodejs/node/commit/fd2abaa088)] - **meta**: update last name for jkrems (Jan Martin) [#&#8203;57006](https://github.com/nodejs/node/pull/57006) - \[[`2383f00aae`](https://github.com/nodejs/node/commit/2383f00aae)] - **meta**: bump `actions/upload-artifact` from 4.4.3 to 4.6.0 (dependabot\[bot]) [#&#8203;56861](https://github.com/nodejs/node/pull/56861) - \[[`35b3140d03`](https://github.com/nodejs/node/commit/35b3140d03)] - **meta**: bump `actions/setup-node` from 4.1.0 to 4.2.0 (dependabot\[bot]) [#&#8203;56868](https://github.com/nodejs/node/pull/56868) - \[[`815fcef73d`](https://github.com/nodejs/node/commit/815fcef73d)] - **meta**: move one or more collaborators to emeritus (Node.js GitHub Bot) [#&#8203;56889](https://github.com/nodejs/node/pull/56889) - \[[`08001127a2`](https://github.com/nodejs/node/commit/08001127a2)] - **meta**: add [@&#8203;nodejs/url](https://github.com/nodejs/url) as codeowner (Chengzhong Wu) [#&#8203;56783](https://github.com/nodejs/node/pull/56783) - \[[`3ceda2a035`](https://github.com/nodejs/node/commit/3ceda2a035)] - **module**: handle cached linked async jobs in require(esm) (Joyee Cheung) [#&#8203;57187](https://github.com/nodejs/node/pull/57187) - \[[`4c29cc7e6b`](https://github.com/nodejs/node/commit/4c29cc7e6b)] - **module**: add dynamic file-specific ESM warnings (Mert Can Altin) [#&#8203;56628](https://github.com/nodejs/node/pull/56628) - \[[`d1845edd21`](https://github.com/nodejs/node/commit/d1845edd21)] - **module**: improve error message from asynchronicity in require(esm) (Joyee Cheung) [#&#8203;57126](https://github.com/nodejs/node/pull/57126) - \[[`41fa7d3c21`](https://github.com/nodejs/node/commit/41fa7d3c21)] - **module**: allow omitting context in synchronous next hooks (Joyee Cheung) [#&#8203;57056](https://github.com/nodejs/node/pull/57056) - \[[`deddecce3a`](https://github.com/nodejs/node/commit/deddecce3a)] - **module**: fix require.resolve() crash on non-string paths (Aditi) [#&#8203;56942](https://github.com/nodejs/node/pull/56942) - \[[`926b887534`](https://github.com/nodejs/node/commit/926b887534)] - **module**: fixing url change in load sync hook chain (Vitalii Akimov) [#&#8203;56402](https://github.com/nodejs/node/pull/56402) - \[[`6b93ba723b`](https://github.com/nodejs/node/commit/6b93ba723b)] - **(SEMVER-MINOR)** **module**: use synchronous hooks for preparsing in import(cjs) (Joyee Cheung) [#&#8203;55698](https://github.com/nodejs/node/pull/55698) - \[[`b2e44a8079`](https://github.com/nodejs/node/commit/b2e44a8079)] - **(SEMVER-MINOR)** **module**: implement module.registerHooks() (Joyee Cheung) [#&#8203;55698](https://github.com/nodejs/node/pull/55698) - \[[`e79e67f6dc`](https://github.com/nodejs/node/commit/e79e67f6dc)] - **net**: validate non-string host for socket.connect (Daeyeon Jeong) [#&#8203;57198](https://github.com/nodejs/node/pull/57198) - \[[`e23056212e`](https://github.com/nodejs/node/commit/e23056212e)] - **net**: replace brand checks with identity checks (Yagiz Nizipli) [#&#8203;57341](https://github.com/nodejs/node/pull/57341) - \[[`9c0d5e140b`](https://github.com/nodejs/node/commit/9c0d5e140b)] - **net**: emit an error when custom lookup resolves to a non-string address (Edy Silva) [#&#8203;57192](https://github.com/nodejs/node/pull/57192) - \[[`2ce79787de`](https://github.com/nodejs/node/commit/2ce79787de)] - **(SEMVER-MINOR)** **process**: add execve (Paolo Insogna) [#&#8203;56496](https://github.com/nodejs/node/pull/56496) - \[[`712db2232c`](https://github.com/nodejs/node/commit/712db2232c)] - **readline**: add support for `Symbol.dispose` (Antoine du Hamel) [#&#8203;57276](https://github.com/nodejs/node/pull/57276) - \[[`55fb81c0f1`](https://github.com/nodejs/node/commit/55fb81c0f1)] - **readline**: fix unresolved promise on abortion (Daniel Venable) [#&#8203;54030](https://github.com/nodejs/node/pull/54030) - \[[`dfcd9b1ac2`](https://github.com/nodejs/node/commit/dfcd9b1ac2)] - **sea**: suppress builtin warning with disableExperimentalSEAWarning option (koooge) [#&#8203;57086](https://github.com/nodejs/node/pull/57086) - \[[`bd5c90654a`](https://github.com/nodejs/node/commit/bd5c90654a)] - **sqlite**: add support for unknown named parameters (Colin Ihrig) [#&#8203;57552](https://github.com/nodejs/node/pull/57552) - \[[`ec571382a4`](https://github.com/nodejs/node/commit/ec571382a4)] - **sqlite**: add DatabaseSync.prototype.isOpen (Colin Ihrig) [#&#8203;57522](https://github.com/nodejs/node/pull/57522) - \[[`bb3bbed126`](https://github.com/nodejs/node/commit/bb3bbed126)] - **sqlite**: add DatabaseSync.prototype\[Symbol.dispose]\() (Colin Ihrig) [#&#8203;57506](https://github.com/nodejs/node/pull/57506) - \[[`6067bea027`](https://github.com/nodejs/node/commit/6067bea027)] - **sqlite**: restore changes from [#&#8203;55373](https://github.com/nodejs/node/issues/55373) (Colin Ihrig) [#&#8203;56908](https://github.com/nodejs/node/pull/56908) - \[[`bc672fcfdd`](https://github.com/nodejs/node/commit/bc672fcfdd)] - **(SEMVER-MINOR)** **sqlite**: allow returning `ArrayBufferView`s from user-defined functions (René) [#&#8203;56790](https://github.com/nodejs/node/pull/56790) - \[[`227603dc30`](https://github.com/nodejs/node/commit/227603dc30)] - **sqlite,test,doc**: allow Buffer and URL as database location (Edy Silva) [#&#8203;56991](https://github.com/nodejs/node/pull/56991) - \[[`9dd324467a`](https://github.com/nodejs/node/commit/9dd324467a)] - **src**: cleanup aliased_buffer.h (Mohammed Keyvanzadeh) [#&#8203;57395](https://github.com/nodejs/node/pull/57395) - \[[`45a2b8532b`](https://github.com/nodejs/node/commit/45a2b8532b)] - **src**: do not pass nullptr to std::string ctor (Charles Kerr) [#&#8203;57354](https://github.com/nodejs/node/pull/57354) - \[[`854370a06c`](https://github.com/nodejs/node/commit/854370a06c)] - **src**: fix process exit listeners not receiving unsettled tla codes (Dario Piotrowicz) [#&#8203;56872](https://github.com/nodejs/node/pull/56872) - \[[`f7fb259193`](https://github.com/nodejs/node/commit/f7fb259193)] - **src**: refactor SubtleCrypto algorithm and length validations (Filip Skokan) [#&#8203;57319](https://github.com/nodejs/node/pull/57319) - \[[`c7bcc2d6c8`](https://github.com/nodejs/node/commit/c7bcc2d6c8)] - **src**: allow embedder customization of OOMErrorHandler (Shelley Vohr) [#&#8203;57325](https://github.com/nodejs/node/pull/57325) - \[[`fbd8862156`](https://github.com/nodejs/node/commit/fbd8862156)] - **src**: use Maybe\<void> in ProcessEmitWarningSync (Daeyeon Jeong) [#&#8203;57250](https://github.com/nodejs/node/pull/57250) - \[[`04de550289`](https://github.com/nodejs/node/commit/04de550289)] - **src**: make even more improvements to error handling (James M Snell) [#&#8203;57264](https://github.com/nodejs/node/pull/57264) - \[[`f1c5e46f89`](https://github.com/nodejs/node/commit/f1c5e46f89)] - **src**: use cached `emit` v8::String (Daeyeon Jeong) [#&#8203;57249](https://github.com/nodejs/node/pull/57249) - \[[`65b8e12689`](https://github.com/nodejs/node/commit/65b8e12689)] - **src**: refactor SubtleCrypto algorithm and length validations (Filip Skokan) [#&#8203;57273](https://github.com/nodejs/node/pull/57273) - \[[`b6091a8b21`](https://github.com/nodejs/node/commit/b6091a8b21)] - **src**: make more error handling improvements (James M Snell) [#&#8203;57262](https://github.com/nodejs/node/pull/57262) - \[[`3bd8a6c76e`](https://github.com/nodejs/node/commit/3bd8a6c76e)] - **src**: fix typo in comment (Antoine du Hamel) [#&#8203;57291](https://github.com/nodejs/node/pull/57291) - \[[`f7e39385ae`](https://github.com/nodejs/node/commit/f7e39385ae)] - **src**: improve error handling in `node_messaging.cc` (James M Snell) [#&#8203;57211](https://github.com/nodejs/node/pull/57211) - \[[`1bb561bede`](https://github.com/nodejs/node/commit/1bb561bede)] - **src**: improve error handling in `tty_wrap.cc` (James M Snell) [#&#8203;57211](https://github.com/nodejs/node/pull/57211) - \[[`567d321a40`](https://github.com/nodejs/node/commit/567d321a40)] - **src**: improve error handling in `tcp_wrap.cc` (James M Snell) [#&#8203;57211](https://github.com/nodejs/node/pull/57211) - \[[`f8bee871f7`](https://github.com/nodejs/node/commit/f8bee871f7)] - **src**: fix ThrowInvalidURL call in PathToFileURL (Daniel M Brasil) [#&#8203;57141](https://github.com/nodejs/node/pull/57141) - \[[`817f7d0e2e`](https://github.com/nodejs/node/commit/817f7d0e2e)] - **src**: improve error handling in buffer and dotenv (James M Snell) [#&#8203;57189](https://github.com/nodejs/node/pull/57189) - \[[`11ef7f9d9c`](https://github.com/nodejs/node/commit/11ef7f9d9c)] - **src**: improve error handling in module_wrap (James M Snell) [#&#8203;57188](https://github.com/nodejs/node/pull/57188) - \[[`3b08d718b1`](https://github.com/nodejs/node/commit/3b08d718b1)] - **src**: improve error handling in spawn_sync (James M Snell) [#&#8203;57185](https://github.com/nodejs/node/pull/57185) - \[[`9221c2ad87`](https://github.com/nodejs/node/commit/9221c2ad87)] - **src**: detect whether the string is one byte representation or not (theweipeng) [#&#8203;56147](https://github.com/nodejs/node/pull/56147) - \[[`e323694772`](https://github.com/nodejs/node/commit/e323694772)] - **src**: fix crash when lazy getter is invoked in a vm context (Chengzhong Wu) [#&#8203;57168](https://github.com/nodejs/node/pull/57168) - \[[`9363b05a91`](https://github.com/nodejs/node/commit/9363b05a91)] - **src**: do not format single string argument for THROW_ERR\_\* (Joyee Cheung) [#&#8203;57126](https://github.com/nodejs/node/pull/57126) - \[[`5d6a1bc35b`](https://github.com/nodejs/node/commit/5d6a1bc35b)] - **src**: move instead of copy shared pointer in node_blob (Michaël Zasso) [#&#8203;57120](https://github.com/nodejs/node/pull/57120) - \[[`5dab48fd9f`](https://github.com/nodejs/node/commit/5dab48fd9f)] - **src**: replace NewFromUtf8 with OneByteString where appropriate (James M Snell) [#&#8203;57096](https://github.com/nodejs/node/pull/57096) - \[[`0fe60b478d`](https://github.com/nodejs/node/commit/0fe60b478d)] - **src**: port `defineLazyProperties` to native code (Antoine du Hamel) [#&#8203;57081](https://github.com/nodejs/node/pull/57081) - \[[`792959db1d`](https://github.com/nodejs/node/commit/792959db1d)] - **src**: improve error handling in node_blob (James M Snell) [#&#8203;57078](https://github.com/nodejs/node/pull/57078) - \[[`e05e2cfb1e`](https://github.com/nodejs/node/commit/e05e2cfb1e)] - **src**: fix accessing empty string (Cheng) [#&#8203;57014](https://github.com/nodejs/node/pull/57014) - \[[`619e52ce8d`](https://github.com/nodejs/node/commit/619e52ce8d)] - **src**: lock the isolate properly in IsolateData destructor (Joyee Cheung) [#&#8203;57031](https://github.com/nodejs/node/pull/57031) - \[[`844a4a884d`](https://github.com/nodejs/node/commit/844a4a884d)] - **src**: add self-assigment memcpy checks (Burkov Egor) [#&#8203;56986](https://github.com/nodejs/node/pull/56986) - \[[`0d1e79740f`](https://github.com/nodejs/node/commit/0d1e79740f)] - **src**: improve node::Dotenv trimming (Dario Piotrowicz) [#&#8203;56983](https://github.com/nodejs/node/pull/56983) - \[[`50f164e23b`](https://github.com/nodejs/node/commit/50f164e23b)] - **src**: improve error handling in string_bytes/decoder (James M Snell) [#&#8203;56978](https://github.com/nodejs/node/pull/56978) - \[[`93aa4393a4`](https://github.com/nodejs/node/commit/93aa4393a4)] - **src**: improve error handling in process_wrap (James M Snell) [#&#8203;56977](https://github.com/nodejs/node/pull/56977) - \[[`c1c824e38d`](https://github.com/nodejs/node/commit/c1c824e38d)] - **src**: use `args.This()` in zlib (Michaël Zasso) [#&#8203;56988](https://github.com/nodejs/node/pull/56988) - \[[`0a8e474bdc`](https://github.com/nodejs/node/commit/0a8e474bdc)] - **src**: add nullptr handling for `NativeKeyObject` (Burkov Egor) [#&#8203;56900](https://github.com/nodejs/node/pull/56900) - \[[`1ea6198a5a`](https://github.com/nodejs/node/commit/1ea6198a5a)] - **src**: disallow copy/move fns/constructors (Yagiz Nizipli) [#&#8203;56811](https://github.com/nodejs/node/pull/56811) - \[[`e4100853cb`](https://github.com/nodejs/node/commit/e4100853cb)] - **src**: add a hard dependency v8_inspector_headers (Chengzhong Wu) [#&#8203;56805](https://github.com/nodejs/node/pull/56805) - \[[`a1f92898c0`](https://github.com/nodejs/node/commit/a1f92898c0)] - **src**: improve error handling in encoding_binding.cc (James M Snell) [#&#8203;56915](https://github.com/nodejs/node/pull/56915) - \[[`dee8793d94`](https://github.com/nodejs/node/commit/dee8793d94)] - **src**: improve error handling in permission.cc (James M Snell) [#&#8203;56904](https://github.com/nodejs/node/pull/56904) - \[[`f41bc4cfd7`](https://github.com/nodejs/node/commit/f41bc4cfd7)] - **src**: improve error handling in node_sqlite (James M Snell) [#&#8203;56891](https://github.com/nodejs/node/pull/56891) - \[[`e4df6181bf`](https://github.com/nodejs/node/commit/e4df6181bf)] - **src**: improve error handling in node_os by removing ToLocalChecked (James M Snell) [#&#8203;56888](https://github.com/nodejs/node/pull/56888) - \[[`2c96e7a32c`](https://github.com/nodejs/node/commit/2c96e7a32c)] - **src**: improve error handling in node_url (James M Snell) [#&#8203;56886](https://github.com/nodejs/node/pull/56886) - \[[`36926ae8d8`](https://github.com/nodejs/node/commit/36926ae8d8)] - **src**: add check for Bignum in GroupOrderSize (Burkov Egor) [#&#8203;56702](https://github.com/nodejs/node/pull/56702) - \[[`a68f127a30`](https://github.com/nodejs/node/commit/a68f127a30)] - **src**: reduce string allocations on sqlite (Yagiz Nizipli) [#&#8203;57227](https://github.com/nodejs/node/pull/57227) - \[[`e41b1735f1`](https://github.com/nodejs/node/commit/e41b1735f1)] - **stream**: fix sizeAlgorithm validation in WritableStream (Daeyeon Jeong) [#&#8203;57280](https://github.com/nodejs/node/pull/57280) - \[[`3bc877dc5c`](https://github.com/nodejs/node/commit/3bc877dc5c)] - **test**: add more number cases for buffer.indexOf (Meghan Denny) [#&#8203;57200](https://github.com/nodejs/node/pull/57200) - \[[`cac9a4e832`](https://github.com/nodejs/node/commit/cac9a4e832)] - **test**: update parallel/test-tls-dhe for OpenSSL 3.5 (Richard Lau) [#&#8203;57477](https://github.com/nodejs/node/pull/57477) - \[[`3082ab3a64`](https://github.com/nodejs/node/commit/3082ab3a64)] - **test**: module syntax should throw (Marco Ippolito) [#&#8203;57121](https://github.com/nodejs/node/pull/57121) - \[[`9b0dfc9a44`](https://github.com/nodejs/node/commit/9b0dfc9a44)] - **test**: update snapshots for amaro v0.3.2 (Marco Ippolito) [#&#8203;56916](https://github.com/nodejs/node/pull/56916) - \[[`2defc35ea8`](https://github.com/nodejs/node/commit/2defc35ea8)] - **test**: test runner run plan (Pietro Marchini) [#&#8203;57304](https://github.com/nodejs/node/pull/57304) - \[[`ccb3df70be`](https://github.com/nodejs/node/commit/ccb3df70be)] - **test**: update WPT for WebCryptoAPI to [`edd42c0`](https://github.com/nodejs/node/commit/edd42c005c) (Node.js GitHub Bot) [#&#8203;57365](https://github.com/nodejs/node/pull/57365) - \[[`528103c5d0`](https://github.com/nodejs/node/commit/528103c5d0)] - **test**: simplify test-tls-connect-abort-controller.js (Yagiz Nizipli) [#&#8203;57338](https://github.com/nodejs/node/pull/57338) - \[[`17e21e6eb5`](https://github.com/nodejs/node/commit/17e21e6eb5)] - **test**: use `assert.match` in `test-esm-import-meta` (Antoine du Hamel) [#&#8203;57290](https://github.com/nodejs/node/pull/57290) - \[[`77bbee5184`](https://github.com/nodejs/node/commit/77bbee5184)] - **test**: update compression wpt (Yagiz Nizipli) [#&#8203;56960](https://github.com/nodejs/node/pull/56960) - \[[`4fe88f8f53`](https://github.com/nodejs/node/commit/4fe88f8f53)] - ***Revert*** "**test**: temporary remove resource check from fs read-write" (Rafael Gonzaga) [#&#8203;56906](https://github.com/nodejs/node/pull/56906) - \[[`766efc7758`](https://github.com/nodejs/node/commit/766efc7758)] - **test**: more common.mustNotCall in net, tls (Meghan Denny) [#&#8203;57246](https://github.com/nodejs/node/pull/57246) - \[[`562e635e11`](https://github.com/nodejs/node/commit/562e635e11)] - **test**: swap assert.strictEqual() parameters (Luigi Pinca) [#&#8203;57217](https://github.com/nodejs/node/pull/57217) - \[[`64fdfd5622`](https://github.com/nodejs/node/commit/64fdfd5622)] - **test**: assert write return values in buffer-bigint64 (Meghan Denny) [#&#8203;57212](https://github.com/nodejs/node/pull/57212) - \[[`dd538e7cf1`](https://github.com/nodejs/node/commit/dd538e7cf1)] - **test**: allow embedder running async context frame test (Shelley Vohr) [#&#8203;57193](https://github.com/nodejs/node/pull/57193) - \[[`937bbeb2b6`](https://github.com/nodejs/node/commit/937bbeb2b6)] - **test**: resolve race condition in test-net-write-fully-async-\* (Matteo Collina) [#&#8203;57022](https://github.com/nodejs/node/pull/57022) - \[[`32df9f27d8`](https://github.com/nodejs/node/commit/32df9f27d8)] - **test**: add doAppendAndCancel test (Hasegawa-Yukihiro) [#&#8203;56972](https://github.com/nodejs/node/pull/56972) - \[[`90c98df258`](https://github.com/nodejs/node/commit/90c98df258)] - **test**: fix test-without-async-context-frame.mjs in debug mode (Joyee Cheung) [#&#8203;57034](https://github.com/nodejs/node/pull/57034) - \[[`974817c9fc`](https://github.com/nodejs/node/commit/974817c9fc)] - **test**: make eval snapshot comparison more flexible (Shelley Vohr) [#&#8203;57020](https://github.com/nodejs/node/pull/57020) - \[[`09741cd129`](https://github.com/nodejs/node/commit/09741cd129)] - **test**: simplify test-http2-client-promisify-connect-error (Luigi Pinca) [#&#8203;57144](https://github.com/nodejs/node/pull/57144) - \[[`89f3feb364`](https://github.com/nodejs/node/commit/89f3feb364)] - **test**: improve error output of test-http2-client-promisify-connect-error (Antoine du Hamel) [#&#8203;57135](https://github.com/nodejs/node/pull/57135) - \[[`25751eba4d`](https://github.com/nodejs/node/commit/25751eba4d)] - **test**: add case for unrecognised fields within pjson "exports" (Jacob Smith) [#&#8203;57026](https://github.com/nodejs/node/pull/57026) - \[[`bf0b9fa7c0`](https://github.com/nodejs/node/commit/bf0b9fa7c0)] - **test**: remove unnecessary assert requiring from tests (Dario Piotrowicz) [#&#8203;57008](https://github.com/nodejs/node/pull/57008) - \[[`8cfb2df466`](https://github.com/nodejs/node/commit/8cfb2df466)] - **test**: reduce flakiness on test-net-write-fully-async-buffer (Yagiz Nizipli) [#&#8203;56971](https://github.com/nodejs/node/pull/56971) - \[[`43c8c101da`](https://github.com/nodejs/node/commit/43c8c101da)] - **test**: remove flakiness on macOS test (Yagiz Nizipli) [#&#8203;56971](https://github.com/nodejs/node/pull/56971) - \[[`bd47178f7f`](https://github.com/nodejs/node/commit/bd47178f7f)] - **test**: improve timeout duration for debugger events (Yagiz Nizipli) [#&#8203;56970](https://github.com/nodejs/node/pull/56970) - \[[`65694aa2fd`](https://github.com/nodejs/node/commit/65694aa2fd)] - **test**: remove unnecessary syscall to cpuinfo (Yagiz Nizipli) [#&#8203;56968](https://github.com/nodejs/node/pull/56968) - \[[`5633c4b2df`](https://github.com/nodejs/node/commit/5633c4b2df)] - **test**: update webstorage wpt (Yagiz Nizipli) [#&#8203;56963](https://github.com/nodejs/node/pull/56963) - \[[`2244a2776a`](https://github.com/nodejs/node/commit/2244a2776a)] - **test**: execute shell directly for refresh() (Yagiz Nizipli) [#&#8203;55051](https://github.com/nodejs/node/pull/55051) - \[[`afae4b1216`](https://github.com/nodejs/node/commit/afae4b1216)] - **test**: change jenkins reporter (Carlos Espa) [#&#8203;56808](https://github.com/nodejs/node/pull/56808) - \[[`b26592a7c4`](https://github.com/nodejs/node/commit/b26592a7c4)] - **test**: fix race condition in test-child-process-bad-stdio (Colin Ihrig) [#&#8203;56845](https://github.com/nodejs/node/pull/56845) - \[[`72c2279649`](https://github.com/nodejs/node/commit/72c2279649)] - **test**: adjust check to use OpenSSL sec level (Michael Dawson) [#&#8203;56819](https://github.com/nodejs/node/pull/56819) - \[[`9551b27651`](https://github.com/nodejs/node/commit/9551b27651)] - **test**: test-crypto-scrypt.js doesn't need internals (Meghan Denny) [#&#8203;56673](https://github.com/nodejs/node/pull/56673) - \[[`3095db84be`](https://github.com/nodejs/node/commit/3095db84be)] - **test**: set `test-fs-cp` as flaky (Stefan Stojanovic) [#&#8203;56799](https://github.com/nodejs/node/pull/56799) - \[[`31f98d7ccd`](https://github.com/nodejs/node/commit/31f98d7ccd)] - **test**: search cctest files (Chengzhong Wu) [#&#8203;56791](https://github.com/nodejs/node/pull/56791) - \[[`267f17d5f6`](https://github.com/nodejs/node/commit/267f17d5f6)] - **test**: convert test_encoding_binding.cc to a JS test (Chengzhong Wu) [#&#8203;56791](https://github.com/nodejs/node/pull/56791) - \[[`a875d7bdd1`](https://github.com/nodejs/node/commit/a875d7bdd1)] - **test**: test-crypto-prime.js doesn't need internals (Meghan Denny) [#&#8203;56675](https://github.com/nodejs/node/pull/56675) - \[[`85482d69c6`](https://github.com/nodejs/node/commit/85482d69c6)] - **test**: temporary remove resource check from fs read-write (Rafael Gonzaga) [#&#8203;56789](https://github.com/nodejs/node/pull/56789) - \[[`ec63d72f16`](https://github.com/nodejs/node/commit/ec63d72f16)] - **test**: mark test-without-async-context-frame flaky on windows (James M Snell) [#&#8203;56753](https://github.com/nodejs/node/pull/56753) - \[[`f16acc8521`](https://github.com/nodejs/node/commit/f16acc8521)] - **test**: remove unnecessary code (Luigi Pinca) [#&#8203;56784](https://github.com/nodejs/node/pull/56784) - \[[`0573c19a97`](https://github.com/nodejs/node/commit/0573c19a97)] - **test**: mark `test-esm-loader-hooks-inspect-wait` flaky (Richard Lau) [#&#8203;56803](https://github.com/nodejs/node/pull/56803) - \[[`48e0fd3f13`](https://github.com/nodejs/node/commit/48e0fd3f13)] - **test**: update WPT for url to [`a23788b`](https://github.com/nodejs/node/commit/a23788b77a) (Node.js GitHub Bot) [#&#8203;56779](https://github.com/nodejs/node/pull/56779) - \[[`642959b87f`](https://github.com/nodejs/node/commit/642959b87f)] - **test**: remove duplicate error reporter from ci (Carlos Espa) [#&#8203;56739](https://github.com/nodejs/node/pull/56739) - \[[`2023237b4e`](https://github.com/nodejs/node/commit/2023237b4e)] - **test,crypto**: make tests work for BoringSSL (Shelley Vohr) [#&#8203;57021](https://github.com/nodejs/node/pull/57021) - \[[`1b33b976ec`](https://github.com/nodejs/node/commit/1b33b976ec)] - **test_runner**: refactor testPlan counter increse (Pietro Marchini) [#&#8203;56765](https://github.com/nodejs/node/pull/56765) - \[[`d860f2bf42`](https://github.com/nodejs/node/commit/d860f2bf42)] - **test_runner**: differentiate test types in enqueue dequeue events (Eddie Abbondanzio) [#&#8203;54049](https://github.com/nodejs/node/pull/54049) - \[[`993bab646c`](https://github.com/nodejs/node/commit/993bab646c)] - **test_runner**: print formatted errors on summary (Pietro Marchini) [#&#8203;56911](https://github.com/nodejs/node/pull/56911) - \[[`3ed3ba438f`](https://github.com/nodejs/node/commit/3ed3ba438f)] - **test_runner**: allow special characters in snapshot keys (Carlos Espa) [#&#8203;57017](https://github.com/nodejs/node/pull/57017) - \[[`d1da9a3a2f`](https://github.com/nodejs/node/commit/d1da9a3a2f)] - **timers**: optimize timer functions with improved argument handling (Gürgün Dayıoğlu) [#&#8203;57072](https://github.com/nodejs/node/pull/57072) - \[[`44aa13990a`](https://github.com/nodejs/node/commit/44aa13990a)] - **timers**: remove unnecessary allocation of \_onTimeout (Gürgün Dayıoğlu) [#&#8203;57497](https://github.com/nodejs/node/pull/57497) - \[[`401b965977`](https://github.com/nodejs/node/commit/401b965977)] - **timers**: remove unused parameter from insertGuarded (Gürgün Dayıoğlu) [#&#8203;57251](https://github.com/nodejs/node/pull/57251) - \[[`9eac9c02c9`](https://github.com/nodejs/node/commit/9eac9c02c9)] - **timers**: simplify the compareTimersLists function (Gürgün Dayıoğlu) [#&#8203;57110](https://github.com/nodejs/node/pull/57110) - \[[`01215af350`](https://github.com/nodejs/node/commit/01215af350)] - **tls**: remove unnecessary type check on normalize (Yagiz Nizipli) [#&#8203;57336](https://github.com/nodejs/node/pull/57336) - \[[`f5e2b12a60`](https://github.com/nodejs/node/commit/f5e2b12a60)] - **(SEMVER-MINOR)** **tls**: implement tls.getCACertificates() (Joyee Cheung) [#&#8203;57107](https://github.com/nodejs/node/pull/57107) - \[[`7a777cdb58`](https://github.com/nodejs/node/commit/7a777cdb58)] - **tools**: fix WPT update cron string (Antoine du Hamel) [#&#8203;57665](https://github.com/nodejs/node/pull/57665) - \[[`c6d90dbf9b`](https://github.com/nodejs/node/commit/c6d90dbf9b)] - **tools**: remove stalled label on unstalled issues and PRs (Rich Trott) [#&#8203;57630](https://github.com/nodejs/node/pull/57630) - \[[`96f7f64602`](https://github.com/nodejs/node/commit/96f7f64602)] - **tools**: update sccache to support GH cache changes (Michaël Zasso) [#&#8203;57573](https://github.com/nodejs/node/pull/57573) - \[[`0b87027520`](https://github.com/nodejs/node/commit/0b87027520)] - **tools**: bump [@&#8203;babel/helpers](https://github.com/babel/helpers) from 7.26.9 to 7.26.10 in /tools/eslint (dependabot\[bot]) [#&#8203;57444](https://github.com/nodejs/node/pull/57444) - \[[`7d561eb90c`](https://github.com/nodejs/node/commit/7d561eb90c)] - **tools**: add config subspace (Marco Ippolito) [#&#8203;57239](https://github.com/nodejs/node/pull/57239) - \[[`46efdbf59f`](https://github.com/nodejs/node/commit/46efdbf59f)] - **tools**: import rather than require ESLint plugins (Michaël Zasso) [#&#8203;57315](https://github.com/nodejs/node/pull/57315) - \[[`502bfaf876`](https://github.com/nodejs/node/commit/502bfaf876)] - **tools**: switch back to official OpenSSL (Richard Lau) [#&#8203;57301](https://github.com/nodejs/node/pull/57301) - \[[`ea821f419d`](https://github.com/nodejs/node/commit/ea821f419d)] - **tools**: revert to use [@&#8203;stylistic/eslint-plugin-js](https://github.com/stylistic/eslint-plugin-js) v3 (Joyee Cheung) [#&#8203;57314](https://github.com/nodejs/node/pull/57314) - \[[`bb857615d3`](https://github.com/nodejs/node/commit/bb857615d3)] - **tools**: add more details about rolling inspector_protocol (Chengzhong Wu) [#&#8203;57167](https://github.com/nodejs/node/pull/57167) - \[[`3f29d39c1b`](https://github.com/nodejs/node/commit/3f29d39c1b)] - **tools**: bump the eslint group in /tools/eslint with 5 updates (dependabot\[bot]) [#&#8203;57261](https://github.com/nodejs/node/pull/57261) - \[[`b3caac83d4`](https://github.com/nodejs/node/commit/b3caac83d4)] - **tools**: remove deps/zlib/GN-scraper.py (Chengzhong Wu) [#&#8203;57238](https://github.com/nodejs/node/pull/57238) - \[[`ace99ffe79`](https://github.com/nodejs/node/commit/ace99ffe79)] - **tools**: run Linux tests on GitHub arm64 runners as well (Dennis Ameling) [#&#8203;57162](https://github.com/nodejs/node/pull/57162) - \[[`e65e6269b7`](https://github.com/nodejs/node/commit/e65e6269b7)] - **tools**: consolidate 'introduced_in' check for docs (1ilsang) [#&#8203;57109](https://github.com/nodejs/node/pull/57109) - \[[`890841e64b`](https://github.com/nodejs/node/commit/890841e64b)] - **tools**: do not run major-release workflow on forks (Rich Trott) [#&#8203;57064](https://github.com/nodejs/node/pull/57064) - \[[`e3f86c5a0c`](https://github.com/nodejs/node/commit/e3f86c5a0c)] - **tools**: fix release URL computation in update-root-certs.mjs (Joyee Cheung) [#&#8203;56843](https://github.com/nodejs/node/pull/56843) - \[[`280316f773`](https://github.com/nodejs/node/commit/280316f773)] - **tools**: add support for `import source` syntax in linter (Antoine du Hamel) [#&#8203;56992](https://github.com/nodejs/node/pull/56992) - \[[`998b2ae3cd`](https://github.com/nodejs/node/commit/998b2ae3cd)] - **tools**: bump eslint version (dependabot\[bot]) [#&#8203;56869](https://github.com/nodejs/node/pull/56869) - \[[`ca4121b95a`](https://github.com/nodejs/node/commit/ca4121b95a)] - **tools**: remove test-asan/ubsan workflows (Michaël Zasso) [#&#8203;56823](https://github.com/nodejs/node/pull/56823) - \[[`866ac37255`](https://github.com/nodejs/node/commit/866ac37255)] - **tools**: run macOS test workflow with Xcode 16.1 (Michaël Zasso) [#&#8203;56831](https://github.com/nodejs/node/pull/56831) - \[[`55ca46ad8e`](https://github.com/nodejs/node/commit/55ca46ad8e)] - **tools**: update sccache and sccache-action (Michaël Zasso) [#&#8203;56815](https://github.com/nodejs/node/pull/56815) - \[[`be9c1c93a8`](https://github.com/nodejs/node/commit/be9c1c93a8)] - **tools**: fix license-builder for inspector_protocol (Michaël Zasso) [#&#8203;56814](https://github.com/nodejs/node/pull/56814) - \[[`6dab980fab`](https://github.com/nodejs/node/commit/6dab980fab)] - **typings**: fix `ImportModuleDynamicallyCallback` return type (Chengzhong Wu) [#&#8203;57160](https://github.com/nodejs/node/pull/57160) - \[[`e301098854`](https://github.com/nodejs/node/commit/e301098854)] - **util**: avoid run debug when enabled is false (fengmk2) [#&#8203;57494](https://github.com/nodejs/node/pull/57494) - \[[`17016d7722`](https://github.com/nodejs/node/commit/17016d7722)] - **(SEMVER-MINOR)** **util**: expose diff function used by the assertion errors (Giovanni Bucci) [#&#8203;57462](https://github.com/nodejs/node/pull/57462) - \[[`42b9e19f6b`](https://github.com/nodejs/node/commit/42b9e19f6b)] - **util**: enforce shouldColorize in styleText array arg (Marco Ippolito) [#&#8203;56722](https://github.com/nodejs/node/pull/56722) - \[[`5ed6d8be40`](https://github.com/nodejs/node/commit/5ed6d8be40)] - **(SEMVER-MINOR)** **v8**: add v8.getCppHeapStatistics() method (Aditi) [#&#8203;57146](https://github.com/nodejs/node/pull/57146) - \[[`c06d218b23`](https://github.com/nodejs/node/commit/c06d218b23)] - **win,build**: add option to enable Control Flow Guard (Hüseyin Açacak) [#&#8203;56605](https://github.com/nodejs/node/pull/56605) - \[[`8202211140`](https://github.com/nodejs/node/commit/8202211140)] - **win,test**: disable test case failing with ClangCL (Stefan Stojanovic) [#&#8203;57397](https://github.com/nodejs/node/pull/57397) - \[[`1a12b4c119`](https://github.com/nodejs/node/commit/1a12b4c119)] - **zlib**: use modern class syntax for zstd classes (Yagiz Nizipli) [#&#8203;56965](https://github.com/nodejs/node/pull/56965) - \[[`f9b3680268`](https://github.com/nodejs/node/commit/f9b3680268)] - **zlib**: make all zstd functions experimental (Yagiz Nizipli) [#&#8203;56964](https://github.com/nodejs/node/pull/56964) - \[[`4991e5d826`](https://github.com/nodejs/node/commit/4991e5d826)] - **(SEMVER-MINOR)** **zlib**: add zstd support (Jan Martin) [#&#8203;52100](https://github.com/nodejs/node/pull/52100) ### [`v22.14.0`](https://github.com/nodejs/node/releases/tag/v22.14.0): 2025-02-11, Version 22.14.0 'Jod' (LTS), @&#8203;aduh95 [Compare Source](https://github.com/nodejs/node/compare/v22.13.1...v22.14.0) ##### Notable Changes - \[[`82a9000e9e`](https://github.com/nodejs/node/commit/82a9000e9e)] - **crypto**: update root certificates to NSS 3.107 (Node.js GitHub Bot) [#&#8203;56566](https://github.com/nodejs/node/pull/56566) - \[[`b7fe54fc88`](https://github.com/nodejs/node/commit/b7fe54fc88)] - **(SEMVER-MINOR)** **fs**: allow `exclude` option in globs to accept glob patterns (Daeyeon Jeong) [#&#8203;56489](https://github.com/nodejs/node/pull/56489) - \[[`3ac92ef607`](https://github.com/nodejs/node/commit/3ac92ef607)] - **(SEMVER-MINOR)** **lib**: add typescript support to STDIN eval (Marco Ippolito) [#&#8203;56359](https://github.com/nodejs/node/pull/56359) - \[[`1614e8e7bc`](https://github.com/nodejs/node/commit/1614e8e7bc)] - **(SEMVER-MINOR)** **module**: add ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX (Marco Ippolito) [#&#8203;56610](https://github.com/nodejs/node/pull/56610) - \[[`6d6cffa9cc`](https://github.com/nodejs/node/commit/6d6cffa9cc)] - **(SEMVER-MINOR)** **module**: add `findPackageJSON` util (Jacob Smith) [#&#8203;55412](https://github.com/nodejs/node/pull/55412) - \[[`d35333ae18`](https://github.com/nodejs/node/commit/d35333ae18)] - **(SEMVER-MINOR)** **process**: add process.ref() and process.unref() methods (James M Snell) [#&#8203;56400](https://github.com/nodejs/node/pull/56400) - \[[`07ff3ddcb5`](https://github.com/nodejs/node/commit/07ff3ddcb5)] - **(SEMVER-MINOR)** **sqlite**: support TypedArray and DataView in `StatementSync` (Alex Yang) [#&#8203;56385](https://github.com/nodejs/node/pull/56385) - \[[`94d3fe1b62`](https://github.com/nodejs/node/commit/94d3fe1b62)] - **(SEMVER-MINOR)** **src**: add --disable-sigusr1 to prevent signal i/o thread (Rafael Gonzaga) [#&#8203;56441](https://github.com/nodejs/node/pull/56441) - \[[`5afffb4415`](https://github.com/nodejs/node/commit/5afffb4415)] - **(SEMVER-MINOR)** **src,worker**: add isInternalWorker (Carlos Espa) [#&#8203;56469](https://github.com/nodejs/node/pull/56469) - \[[`697a851fb3`](https://github.com/nodejs/node/commit/697a851fb3)] - **(SEMVER-MINOR)** **test_runner**: add TestContext.prototype.waitFor() (Colin Ihrig) [#&#8203;56595](https://github.com/nodejs/node/pull/56595) - \[[`047537b48c`](https://github.com/nodejs/node/commit/047537b48c)] - **(SEMVER-MINOR)** **test_runner**: add t.assert.fileSnapshot() (Colin Ihrig) [#&#8203;56459](https://github.com/nodejs/node/pull/56459) - \[[`926cf84e95`](https://github.com/nodejs/node/commit/926cf84e95)] - **(SEMVER-MINOR)** **test_runner**: add assert.register() API (Colin Ihrig) [#&#8203;56434](https://github.com/nodejs/node/pull/56434) - \[[`c658a8afdf`](https://github.com/nodejs/node/commit/c658a8afdf)] - **(SEMVER-MINOR)** **worker**: add eval ts input (Marco Ippolito) [#&#8203;56394](https://github.com/nodejs/node/pull/56394) ##### Commits - \[[`bad1ad8650`](https://github.com/nodejs/node/commit/bad1ad8650)] - **assert**: make myers_diff function more performant (Giovanni Bucci) [#&#8203;56303](https://github.com/nodejs/node/pull/56303) - \[[`e222e36f3b`](https://github.com/nodejs/node/commit/e222e36f3b)] - **assert**: make partialDeepStrictEqual work with urls and File prototypes (Giovanni Bucci) [#&#8203;56231](https://github.com/nodejs/node/pull/56231) - \[[`e232789fe2`](https://github.com/nodejs/node/commit/e232789fe2)] - **assert**: show diff when doing partial comparisons (Giovanni Bucci) [#&#8203;56211](https://github.com/nodejs/node/pull/56211) - \[[`c99de1fdcf`](https://github.com/nodejs/node/commit/c99de1fdcf)] - **assert**: make partialDeepStrictEqual throw when comparing \[0] with \[-0] (Giovanni) [#&#8203;56237](https://github.com/nodejs/node/pull/56237) - \[[`2386fd5840`](https://github.com/nodejs/node/commit/2386fd5840)] - **benchmark**: add validateStream to styleText bench (Rafael Gonzaga) [#&#8203;56556](https://github.com/nodejs/node/pull/56556) - \[[`b197dfa7ec`](https://github.com/nodejs/node/commit/b197dfa7ec)] - **build**: fix GN build for ngtcp2 (Cheng) [#&#8203;56300](https://github.com/nodejs/node/pull/56300) - \[[`2a3cdd34ff`](https://github.com/nodejs/node/commit/2a3cdd34ff)] - **build**: test macos-13 on GitHub actions (Michaël Zasso) [#&#8203;56307](https://github.com/nodejs/node/pull/56307) - \[[`12f716be0a`](https://github.com/nodejs/node/commit/12f716be0a)] - **build**: build v8 with -fvisibility=hidden on macOS (Joyee Cheung) [#&#8203;56275](https://github.com/nodejs/node/pull/56275) - \[[`c5ca15bd34`](https://github.com/nodejs/node/commit/c5ca15bd34)] - **child_process**: fix parsing messages with splitted length field (Maksim Gorkov) [#&#8203;56106](https://github.com/nodejs/node/pull/56106) - \[[`8346b8fc2c`](https://github.com/nodejs/node/commit/8346b8fc2c)] - **crypto**: add missing return value check (Michael Dawson) [#&#8203;56615](https://github.com/nodejs/node/pull/56615) - \[[`82a9000e9e`](https://github.com/nodejs/node/commit/82a9000e9e)] - **crypto**: update root certificates to NSS 3.107 (Node.js GitHub Bot) [#&#8203;56566](https://github.com/nodejs/node/pull/56566) - \[[`890eef20a1`](https://github.com/nodejs/node/commit/890eef20a1)] - **crypto**: fix checkPrime crash with large buffers (Santiago Gimeno) [#&#8203;56559](https://github.com/nodejs/node/pull/56559) - \[[`5edb7b5e87`](https://github.com/nodejs/node/commit/5edb7b5e87)] - **crypto**: fix warning of ignoring return value (Cheng) [#&#8203;56527](https://github.com/nodejs/node/pull/56527) - \[[`b89f123a0b`](https://github.com/nodejs/node/commit/b89f123a0b)] - **crypto**: make generatePrime/checkPrime interruptible (James M Snell) [#&#8203;56460](https://github.com/nodejs/node/pull/56460) - \[[`63c1859e01`](https://github.com/nodejs/node/commit/63c1859e01)] - **deps**: update corepack to 0.31.0 (Node.js GitHub Bot) [#&#8203;56795](https://github.com/nodejs/node/pull/56795) - \[[`a48430d4d3`](https://github.com/nodejs/node/commit/a48430d4d3)] - **deps**: move inspector_protocol to deps (Chengzhong Wu) [#&#8203;56649](https://github.com/nodejs/node/pull/56649) - \[[`74cccc824f`](https://github.com/nodejs/node/commit/74cccc824f)] - **deps**: macro ENODATA is deprecated in libc++ (Cheng) [#&#8203;56698](https://github.com/nodejs/node/pull/56698) - \[[`fa869ea0f2`](https://github.com/nodejs/node/commit/fa869ea0f2)] - **deps**: fixup some minor coverity warnings (James M Snell) [#&#8203;56612](https://github.com/nodejs/node/pull/56612) - \[[`1a4fa2b015`](https://github.com/nodejs/node/commit/1a4fa2b015)] - **deps**: update amaro to 0.3.0 (Node.js GitHub Bot) [#&#8203;56568](https://github.com/nodejs/node/pull/56568) - \[[`b47076fd82`](https://github.com/nodejs/node/commit/b47076fd82)] - **deps**: update amaro to 0.2.2 (Node.js GitHub Bot) [#&#8203;56568](https://github.com/nodejs/node/pull/56568) - \[[`46bd4b8731`](https://github.com/nodejs/node/commit/46bd4b8731)] - **deps**: update simdutf to 6.0.3 (Node.js GitHub Bot) [#&#8203;56567](https://github.com/nodejs/node/pull/56567) - \[[`8ead9c693b`](https://github.com/nodejs/node/commit/8ead9c693b)] - **deps**: update simdutf to 5.7.2 (Node.js GitHub Bot) [#&#8203;56388](https://github.com/nodejs/node/pull/56388) - \[[`18d4b502af`](https://github.com/nodejs/node/commit/18d4b502af)] - **deps**: update amaro to 0.2.1 (Node.js GitHub Bot) [#&#8203;56390](https://github.com/nodejs/node/pull/56390) - \[[`d938d7cc86`](https://github.com/nodejs/node/commit/d938d7cc86)] - **deps**: update googletest to [`7d76a23`](https://github.com/nodejs/node/commit/7d76a23) (Node.js GitHub Bot) [#&#8203;56387](https://github.com/nodejs/node/pull/56387) - \[[`9761e7dccb`](https://github.com/nodejs/node/commit/9761e7dccb)] - **deps**: update googletest to [`e54519b`](https://github.com/nodejs/node/commit/e54519b) (Node.js GitHub Bot) [#&#8203;56370](https://github.com/nodejs/node/pull/56370) - \[[`8319dc6bc5`](https://github.com/nodejs/node/commit/8319dc6bc5)] - **deps**: update ngtcp2 to 1.10.0 (Node.js GitHub Bot) [#&#8203;56334](https://github.com/nodejs/node/pull/56334) - \[[`6eacd19d6a`](https://github.com/nodejs/node/commit/6eacd19d6a)] - **deps**: update simdutf to 5.7.0 (Node.js GitHub Bot) [#&#8203;56332](https://github.com/nodejs/node/pull/56332) - \[[`28bec2dda3`](https://github.com/nodejs/node/commit/28bec2dda3)] - **diagnostics_channel**: capture console messages (Stephen Belanger) [#&#8203;56292](https://github.com/nodejs/node/pull/56292) - \[[`d519d33502`](https://github.com/nodejs/node/commit/d519d33502)] - **doc**: update macOS and Xcode versions for releases (Michaël Zasso) [#&#8203;56337](https://github.com/nodejs/node/pull/56337) - \[[`fcfe650507`](https://github.com/nodejs/node/commit/fcfe650507)] - **doc**: add note for features using `InternalWorker` with permission model (Antoine du Hamel) [#&#8203;56706](https://github.com/nodejs/node/pull/56706) - \[[`efbba182b5`](https://github.com/nodejs/node/commit/efbba182b5)] - **doc**: add entry to changelog about SQLite Session Extension (Bart Louwers) [#&#8203;56318](https://github.com/nodejs/node/pull/56318) - \[[`31bf9c7dd9`](https://github.com/nodejs/node/commit/31bf9c7dd9)] - **doc**: move anatoli to emeritus (Michael Dawson) [#&#8203;56592](https://github.com/nodejs/node/pull/56592) - \[[`6096e38c7c`](https://github.com/nodejs/node/commit/6096e38c7c)] - **doc**: fix styles of the expandable TOC (Antoine du Hamel) [#&#8203;56755](https://github.com/nodejs/node/pull/56755) - \[[`d423638281`](https://github.com/nodejs/node/commit/d423638281)] - **doc**: add "Skip to content" button (Antoine du Hamel) [#&#8203;56750](https://github.com/nodejs/node/pull/56750) - \[[`edeb157d75`](https://github.com/nodejs/node/commit/edeb157d75)] - **doc**: improve accessibility of expandable lists (Antoine du Hamel) [#&#8203;56749](https://github.com/nodejs/node/pull/56749) - \[[`1a79e87687`](https://github.com/nodejs/node/commit/1a79e87687)] - **doc**: add note regarding commit message trailers (Dario Piotrowicz) [#&#8203;56736](https://github.com/nodejs/node/pull/56736) - \[[`927c7e47e4`](https://github.com/nodejs/node/commit/927c7e47e4)] - **doc**: fix typo in example code for util.styleText (Robin Mehner) [#&#8203;56720](https://github.com/nodejs/node/pull/56720) - \[[`fade522538`](https://github.com/nodejs/node/commit/fade522538)] - **doc**: fix inconsistencies in `WeakSet` and `WeakMap` comparison details (Shreyans Pathak) [#&#8203;56683](https://github.com/nodejs/node/pull/56683) - \[[`55533bf147`](https://github.com/nodejs/node/commit/55533bf147)] - **doc**: add RafaelGSS as latest sec release stewards (Rafael Gonzaga) [#&#8203;56682](https://github.com/nodejs/node/pull/56682) - \[[`8e978bdee1`](https://github.com/nodejs/node/commit/8e978bdee1)] - **doc**: clarify cjs/esm diff in `queueMicrotask()` vs `process.nextTick()` (Dario Piotrowicz) [#&#8203;56659](https://github.com/nodejs/node/pull/56659) - \[[`ae360c30dc`](https://github.com/nodejs/node/commit/ae360c30dc)] - **doc**: `WeakSet` and `WeakMap` comparison details (Shreyans Pathak) [#&#8203;56648](https://github.com/nodejs/node/pull/56648) - \[[`acd2a2fda5`](https://github.com/nodejs/node/commit/acd2a2fda5)] - **doc**: mention prepare --security (Rafael Gonzaga) [#&#8203;56617](https://github.com/nodejs/node/pull/56617) - \[[`d3c0a2831d`](https://github.com/nodejs/node/commit/d3c0a2831d)] - **doc**: tweak info on reposts in ambassador program (Michael Dawson) [#&#8203;56589](https://github.com/nodejs/node/pull/56589) - \[[`3299505b49`](https://github.com/nodejs/node/commit/3299505b49)] - **doc**: add type stripping to ambassadors program (Marco Ippolito) [#&#8203;56598](https://github.com/nodejs/node/pull/56598) - \[[`b1a6ffa4e4`](https://github.com/nodejs/node/commit/b1a6ffa4e4)] - **doc**: improve internal documentation on built-in snapshot (Joyee Cheung) [#&#8203;56505](https://github.com/nodejs/node/pull/56505) - \[[`1641a28930`](https://github.com/nodejs/node/commit/1641a28930)] - **doc**: document CLI way to open the nodejs/bluesky PR (Antoine du Hamel) [#&#8203;56506](https://github.com/nodejs/node/pull/56506) - \[[`2042628fda`](https://github.com/nodejs/node/commit/2042628fda)] - **doc**: add section about using npx with permission model (Rafael Gonzaga) [#&#8203;56539](https://github.com/nodejs/node/pull/56539) - \[[`ace19a0263`](https://github.com/nodejs/node/commit/ace19a0263)] - **doc**: update gcc-version for ubuntu-lts (Kunal Kumar) [#&#8203;56553](https://github.com/nodejs/node/pull/56553) - \[[`4aa57b50f8`](https://github.com/nodejs/node/commit/4aa57b50f8)] - **doc**: fix parentheses in options (Tobias Nießen) [#&#8203;56563](https://github.com/nodejs/node/pull/56563) - \[[`b40b01b4d3`](https://github.com/nodejs/node/commit/b40b01b4d3)] - **doc**: include CVE to EOL lines as sec release process (Rafael Gonzaga) [#&#8203;56520](https://github.com/nodejs/node/pull/56520) - \[[`6701360113`](https://github.com/nodejs/node/commit/6701360113)] - **doc**: add esm examples to node:trace_events (Alfredo González) [#&#8203;56514](https://github.com/nodejs/node/pull/56514) - \[[`d3207cca3e`](https://github.com/nodejs/node/commit/d3207cca3e)] - **doc**: add message for Ambassadors to promote (Michael Dawson) [#&#8203;56235](https://github.com/nodejs/node/pull/56235) - \[[`97ece4ae06`](https://github.com/nodejs/node/commit/97ece4ae06)] - **doc**: allow request for TSC reviews via the GitHub UI (Antoine du Hamel) [#&#8203;56493](https://github.com/nodejs/node/pull/56493) - \[[`03f25055ab`](https://github.com/nodejs/node/commit/03f25055ab)] - **doc**: add example for piping ReadableStream (Gabriel Schulhof) [#&#8203;56415](https://github.com/nodejs/node/pull/56415) - \[[`516d07482c`](https://github.com/nodejs/node/commit/516d07482c)] - **doc**: expand description of `parseArg`'s `default` (Kevin Gibbons) [#&#8203;54431](https://github.com/nodejs/node/pull/54431) - \[[`a6491effcb`](https://github.com/nodejs/node/commit/a6491effcb)] - **doc**: use `<ul>` instead of `<ol>` in `SECURITY.md` (Antoine du Hamel) [#&#8203;56346](https://github.com/nodejs/node/pull/56346) - \[[`e4ec134b21`](https://github.com/nodejs/node/commit/e4ec134b21)] - **doc**: clarify that WASM is trusted (Matteo Collina) [#&#8203;56345](https://github.com/nodejs/node/pull/56345) - \[[`0f7aed8a59`](https://github.com/nodejs/node/commit/0f7aed8a59)] - **doc**: fix the `crc32` documentation (Kevin Toshihiro Uehara) [#&#8203;55898](https://github.com/nodejs/node/pull/55898) - \[[`721104a296`](https://github.com/nodejs/node/commit/721104a296)] - **doc**: fix links in `module.md` (Antoine du Hamel) [#&#8203;56283](https://github.com/nodejs/node/pull/56283) - \[[`928540d792`](https://github.com/nodejs/node/commit/928540d792)] - **doc**: fix typos (Nathan Baulch) [#&#8203;55066](https://github.com/nodejs/node/pull/55066) - \[[`e69d35f03b`](https://github.com/nodejs/node/commit/e69d35f03b)] - **doc**: add history info for Permission Model (Antoine du Hamel) [#&#8203;56707](https://github.com/nodejs/node/pull/56707) - \[[`c6fd867ab5`](https://github.com/nodejs/node/commit/c6fd867ab5)] - **esm**: fix jsdoc type refs to `ModuleJobBase` in esm/loader (Jacob Smith) [#&#8203;56499](https://github.com/nodejs/node/pull/56499) - \[[`9cf9046bd7`](https://github.com/nodejs/node/commit/9cf9046bd7)] - ***Revert*** "**events**: add hasEventListener util for validate" (origranot) [#&#8203;56282](https://github.com/nodejs/node/pull/56282) - \[[`b7fe54fc88`](https://github.com/nodejs/node/commit/b7fe54fc88)] - **(SEMVER-MINOR)** **fs**: allow `exclude` option in globs to accept glob patterns (Daeyeon Jeong) [#&#8203;56489](https://github.com/nodejs/node/pull/56489) - \[[`6ca27c2a59`](https://github.com/nodejs/node/commit/6ca27c2a59)] - **http2**: omit server name when HTTP2 host is IP address (islandryu) [#&#8203;56530](https://github.com/nodejs/node/pull/56530) - \[[`9f1fa199bf`](https://github.com/nodejs/node/commit/9f1fa199bf)] - **inspector**: roll inspector_protocol (Chengzhong Wu) [#&#8203;56649](https://github.com/nodejs/node/pull/56649) - \[[`0dae4bb3ab`](https://github.com/nodejs/node/commit/0dae4bb3ab)] - **inspector**: add undici http tracking support (Chengzhong Wu) [#&#8203;56488](https://github.com/nodejs/node/pull/56488) - \[[`2c6124cec4`](https://github.com/nodejs/node/commit/2c6124cec4)] - **inspector**: report loadingFinished until the response data is consumed (Chengzhong Wu) [#&#8203;56372](https://github.com/nodejs/node/pull/56372) - \[[`96ec862ce2`](https://github.com/nodejs/node/commit/96ec862ce2)] - **lib**: refactor execution.js (Marco Ippolito) [#&#8203;56358](https://github.com/nodejs/node/pull/56358) - \[[`3ac92ef607`](https://github.com/nodejs/node/commit/3ac92ef607)] - **(SEMVER-MINOR)** **lib**: add typescript support to STDIN eval (Marco Ippolito) [#&#8203;56359](https://github.com/nodejs/node/pull/56359) - \[[`d5bf3db0cf`](https://github.com/nodejs/node/commit/d5bf3db0cf)] - **lib**: allow skipping source maps in node_modules (Chengzhong Wu) [#&#8203;56639](https://github.com/nodejs/node/pull/56639) - \[[`d33eaf2bcb`](https://github.com/nodejs/node/commit/d33eaf2bcb)] - **lib**: ensure FORCE_COLOR forces color output in non-TTY environments (Pietro Marchini) [#&#8203;55404](https://github.com/nodejs/node/pull/55404) - \[[`dc003218a8`](https://github.com/nodejs/node/commit/dc003218a8)] - **lib**: optimize `prepareStackTrace` on builtin frames (Chengzhong Wu) [#&#8203;56299](https://github.com/nodejs/node/pull/56299) - \[[`df06524863`](https://github.com/nodejs/node/commit/df06524863)] - **lib**: suppress source map lookup exceptions (Chengzhong Wu) [#&#8203;56299](https://github.com/nodejs/node/pull/56299) - \[[`35335a5a66`](https://github.com/nodejs/node/commit/35335a5a66)] - **meta**: move one or more collaborators to emeritus (Node.js GitHub Bot) [#&#8203;56580](https://github.com/nodejs/node/pull/56580) - \[[`1faabdb150`](https://github.com/nodejs/node/commit/1faabdb150)] - **meta**: add codeowners of security release document (Rafael Gonzaga) [#&#8203;56521](https://github.com/nodejs/node/pull/56521) - \[[`b4ece22ef5`](https://github.com/nodejs/node/commit/b4ece22ef5)] - **meta**: move one or more collaborators to emeritus (Node.js GitHub Bot) [#&#8203;56342](https://github.com/nodejs/node/pull/56342) - \[[`9ec67e7ce0`](https://github.com/nodejs/node/commit/9ec67e7ce0)] - **meta**: move MoLow to TSC regular member (Moshe Atlow) [#&#8203;56276](https://github.com/nodejs/node/pull/56276) - \[[`bae4b2e20a`](https://github.com/nodejs/node/commit/bae4b2e20a)] - **module**: use more defensive code when handling SWC errors (Antoine du Hamel) [#&#8203;56646](https://github.com/nodejs/node/pull/56646) - \[[`1614e8e7bc`](https://github.com/nodejs/node/commit/1614e8e7bc)] - **(SEMVER-MINOR)** **module**: add ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX (Marco Ippolito) [#&#8203;56610](https://github.com/nodejs/node/pull/56610) - \[[`174d88eab1`](https://github.com/nodejs/node/commit/174d88eab1)] - **module**: support eval with ts syntax detection (Marco Ippolito) [#&#8203;56285](https://github.com/nodejs/node/pull/56285) - \[[`299d6fa829`](https://github.com/nodejs/node/commit/299d6fa829)] - **module**: fix jsdoc for `format` parameter in cjs/loader (pacexy) [#&#8203;56501](https://github.com/nodejs/node/pull/56501) - \[[`0307e4dd59`](https://github.com/nodejs/node/commit/0307e4dd59)] - **module**: unify TypeScript and .mjs handling in CommonJS (Joyee Cheung) [#&#8203;55590](https://github.com/nodejs/node/pull/55590) - \[[`1f4f9be93d`](https://github.com/nodejs/node/commit/1f4f9be93d)] - **module**: fix async resolution error within the sync `findPackageJSON` (Jacob Smith) [#&#8203;56382](https://github.com/nodejs/node/pull/56382) - \[[`bbedffa0f0`](https://github.com/nodejs/node/commit/bbedffa0f0)] - **module**: simplify `findPackageJSON` implementation (Antoine du Hamel) [#&#8203;55543](https://github.com/nodejs/node/pull/55543) - \[[`6d6cffa9cc`](https://github.com/nodejs/node/commit/6d6cffa9cc)] - **(SEMVER-MINOR)** **module**: add `findPackageJSON` util (Jacob Smith) [#&#8203;55412](https://github.com/nodejs/node/pull/55412) - \[[`cd7ce18233`](https://github.com/nodejs/node/commit/cd7ce18233)] - **module**: fix bad `require.resolve` with option paths for `.` and `..` (Dario Piotrowicz) [#&#8203;56735](https://github.com/nodejs/node/pull/56735) - \[[`152df4da21`](https://github.com/nodejs/node/commit/152df4da21)] - **module**: rethrow amaro error message (Marco Ippolito) [#&#8203;56568](https://github.com/nodejs/node/pull/56568) - \[[`acba5dc87e`](https://github.com/nodejs/node/commit/acba5dc87e)] - **module**: use buffer.toString base64 (Chengzhong Wu) [#&#8203;56315](https://github.com/nodejs/node/pull/56315) - \[[`01e69be8ff`](https://github.com/nodejs/node/commit/01e69be8ff)] - **node-api**: define version 10 (Gabriel Schulhof) [#&#8203;55676](https://github.com/nodejs/node/pull/55676) - \[[`724524528e`](https://github.com/nodejs/node/commit/724524528e)] - **node-api**: remove deprecated attribute from napi_module_register (Vladimir Morozov) [#&#8203;56162](https://github.com/nodejs/node/pull/56162) - \[[`c78e11064f`](https://github.com/nodejs/node/commit/c78e11064f)] - **process**: remove support for undocumented symbol (Antoine du Hamel) [#&#8203;56552](https://github.com/nodejs/node/pull/56552) - \[[`3f69b18a23`](https://github.com/nodejs/node/commit/3f69b18a23)] - **process**: fix symbol key and mark experimental new `node:process` methods (Antoine du Hamel) [#&#8203;56517](https://github.com/nodejs/node/pull/56517) - \[[`d35333ae18`](https://github.com/nodejs/node/commit/d35333ae18)] - **(SEMVER-MINOR)** **process**: add process.ref() and process.unref() methods (James M Snell) [#&#8203;56400](https://github.com/nodejs/node/pull/56400) - \[[`fa49f0f7d5`](https://github.com/nodejs/node/commit/fa49f0f7d5)] - **punycode**: limit deprecation warning (Colin Ihrig) [#&#8203;56632](https://github.com/nodejs/node/pull/56632) - \[[`d77c7073b7`](https://github.com/nodejs/node/commit/d77c7073b7)] - **sqlite**: disable memstatus APIs at build time (Colin Ihrig) [#&#8203;56541](https://github.com/nodejs/node/pull/56541) - \[[`07ff3ddcb5`](https://github.com/nodejs/node/commit/07ff3ddcb5)] - **(SEMVER-MINOR)** **sqlite**: support TypedArray and DataView in `StatementSync` (Alex Yang) [#&#8203;56385](https://github.com/nodejs/node/pull/56385) - \[[`b6c2e91365`](https://github.com/nodejs/node/commit/b6c2e91365)] - **sqlite**: enable SQL math functions (Colin Ihrig) [#&#8203;56447](https://github.com/nodejs/node/pull/56447) - \[[`3462263e8b`](https://github.com/nodejs/node/commit/3462263e8b)] - **sqlite**: pass conflict type to conflict resolution handler (Bart Louwers) [#&#8203;56352](https://github.com/nodejs/node/pull/56352) - \[[`89ba3af743`](https://github.com/nodejs/node/commit/89ba3af743)] - **src**: add nullptr handling from X509_STORE_new() (Burkov Egor) [#&#8203;56700](https://github.com/nodejs/node/pull/56700) - \[[`89a7c82e0c`](https://github.com/nodejs/node/commit/89a7c82e0c)] - **src**: add default value for RSACipherConfig mode field (Burkov Egor) [#&#8203;56701](https://github.com/nodejs/node/pull/56701) - \[[`7bae51e62e`](https://github.com/nodejs/node/commit/7bae51e62e)] - **src**: fix build with GCC 15 (tjuhaszrh) [#&#8203;56740](https://github.com/nodejs/node/pull/56740) - \[[`432a4b8bd6`](https://github.com/nodejs/node/commit/432a4b8bd6)] - **src**: fix to generate path from wchar_t via wstring (yamachu) [#&#8203;56696](https://github.com/nodejs/node/pull/56696) - \[[`8c9eaf82f0`](https://github.com/nodejs/node/commit/8c9eaf82f0)] - **src**: initialize FSReqWrapSync in path that uses it (Michaël Zasso) [#&#8203;56613](https://github.com/nodejs/node/pull/56613) - \[[`bcdb42d40b`](https://github.com/nodejs/node/commit/bcdb42d40b)] - **src**: handle duplicate paths granted (Rafael Gonzaga) [#&#8203;56591](https://github.com/nodejs/node/pull/56591) - \[[`d6a7acc207`](https://github.com/nodejs/node/commit/d6a7acc207)] - **src**: update ECKeyPointer in ncrypto (James M Snell) [#&#8203;56526](https://github.com/nodejs/node/pull/56526) - \[[`01922f8b1f`](https://github.com/nodejs/node/commit/01922f8b1f)] - **src**: update ECPointPointer in ncrypto (James M Snell) [#&#8203;56526](https://github.com/nodejs/node/pull/56526) - \[[`2a3a36eceb`](https://github.com/nodejs/node/commit/2a3a36eceb)] - **src**: update ECGroupPointer in ncrypto (James M Snell) [#&#8203;56526](https://github.com/nodejs/node/pull/56526) - \[[`67c10cdacb`](https://github.com/nodejs/node/commit/67c10cdacb)] - **src**: update ECDASSigPointer implementation in ncrypto (James M Snell) [#&#8203;56526](https://github.com/nodejs/node/pull/56526) - \[[`17f931c68b`](https://github.com/nodejs/node/commit/17f931c68b)] - **src**: cleaning up more crypto internals for ncrypto (James M Snell) [#&#8203;56526](https://github.com/nodejs/node/pull/56526) - \[[`94d3fe1b62`](https://github.com/nodejs/node/commit/94d3fe1b62)] - **(SEMVER-MINOR)** **src**: add --disable-sigusr1 to prevent signal i/o thread (Rafael Gonzaga) [#&#8203;56441](https://github.com/nodejs/node/pull/56441) - \[[`6594ee8dff`](https://github.com/nodejs/node/commit/6594ee8dff)] - **src**: fix undefined script name in error source (Chengzhong Wu) [#&#8203;56502](https://github.com/nodejs/node/pull/56502) - \[[`b46bad3e91`](https://github.com/nodejs/node/commit/b46bad3e91)] - **src**: refactor --trace-env to reuse option selection and handling (Joyee Cheung) [#&#8203;56293](https://github.com/nodejs/node/pull/56293) - \[[`76921b822b`](https://github.com/nodejs/node/commit/76921b822b)] - **src**: minor cleanups on OneByteString usage (James M Snell) [#&#8203;56482](https://github.com/nodejs/node/pull/56482) - \[[`3f0d1dd4fe`](https://github.com/nodejs/node/commit/3f0d1dd4fe)] - **src**: move more crypto impl detail to ncrypto dep (James M Snell) [#&#8203;56421](https://github.com/nodejs/node/pull/56421) - \[[`04f623b283`](https://github.com/nodejs/node/commit/04f623b283)] - **src**: fixup more ToLocalChecked uses in node_file (James M Snell) [#&#8203;56484](https://github.com/nodejs/node/pull/56484) - \[[`5aa436f5a1`](https://github.com/nodejs/node/commit/5aa436f5a1)] - **src**: make some minor ToLocalChecked cleanups (James M Snell) [#&#8203;56483](https://github.com/nodejs/node/pull/56483) - \[[`6eec5e7ec2`](https://github.com/nodejs/node/commit/6eec5e7ec2)] - **src**: lock the thread properly in snapshot builder (Joyee Cheung) [#&#8203;56327](https://github.com/nodejs/node/pull/56327) - \[[`5614993968`](https://github.com/nodejs/node/commit/5614993968)] - **src**: drain platform tasks before creating startup snapshot (Chengzhong Wu) [#&#8203;56403](https://github.com/nodejs/node/pull/56403) - \[[`48493e9fd5`](https://github.com/nodejs/node/commit/48493e9fd5)] - **src**: use LocalVector in more places (James M Snell) [#&#8203;56457](https://github.com/nodejs/node/pull/56457) - \[[`7e5ea0681e`](https://github.com/nodejs/node/commit/7e5ea0681e)] - **src**: use v8::LocalVector consistently with other minor cleanups (James M Snell) [#&#8203;56417](https://github.com/nodejs/node/pull/56417) - \[[`ad3d857f2b`](https://github.com/nodejs/node/commit/ad3d857f2b)] - **src**: use starts_with in fs_permission.cc (ishabi) [#&#8203;55811](https://github.com/nodejs/node/pull/55811) - \[[`5afffb4415`](https://github.com/nodejs/node/commit/5afffb4415)] - **(SEMVER-MINOR)** **src,worker**: add isInternalWorker (Carlos Espa) [#&#8203;56469](https://github.com/nodejs/node/pull/56469) - \[[`7d1676e72e`](https://github.com/nodejs/node/commit/7d1676e72e)] - **stream**: fix typo in ReadableStreamBYOBReader.readIntoRequests (Mattias Buelens) [#&#8203;56560](https://github.com/nodejs/node/pull/56560) - \[[`e658ea6b26`](https://github.com/nodejs/node/commit/e658ea6b26)] - **stream**: validate undefined sizeAlgorithm in WritableStream (Jason Zhang) [#&#8203;56067](https://github.com/nodejs/node/pull/56067) - \[[`e4f133c20c`](https://github.com/nodejs/node/commit/e4f133c20c)] - **test**: add ts eval snapshots (Marco Ippolito) [#&#8203;56358](https://github.com/nodejs/node/pull/56358) - \[[`f041742400`](https://github.com/nodejs/node/commit/f041742400)] - **test**: remove empty lines from snapshots (Marco Ippolito) [#&#8203;56358](https://github.com/nodejs/node/pull/56358) - \[[`801cde91f6`](https://github.com/nodejs/node/commit/801cde91f6)] - **test**: reduce number of written chunks (Luigi Pinca) [#&#8203;56757](https://github.com/nodejs/node/pull/56757) - \[[`6fdf1879ab`](https://github.com/nodejs/node/commit/6fdf1879ab)] - **test**: fix invalid common.mustSucceed() usage (Luigi Pinca) [#&#8203;56756](https://github.com/nodejs/node/pull/56756) - \[[`d2bfbfa364`](https://github.com/nodejs/node/commit/d2bfbfa364)] - **test**: use strict mode in global setters test (Rich Trott) [#&#8203;56742](https://github.com/nodejs/node/pull/56742) - \[[`5c030da42f`](https://github.com/nodejs/node/commit/5c030da42f)] - **test**: cleanup and simplify test-crypto-aes-wrap (James M Snell) [#&#8203;56748](https://github.com/nodejs/node/pull/56748) - \[[`f1442d6eaf`](https://github.com/nodejs/node/commit/f1442d6eaf)] - **test**: do not use common.isMainThread (Luigi Pinca) [#&#8203;56768](https://github.com/nodejs/node/pull/56768) - \[[`49405bd9e7`](https://github.com/nodejs/node/commit/49405bd9e7)] - **test**: make some requires lazy in common/index (James M Snell) [#&#8203;56715](https://github.com/nodejs/node/pull/56715) - \[[`52ef376788`](https://github.com/nodejs/node/commit/52ef376788)] - **test**: add test that uses multibyte for path and resolves modules (yamachu) [#&#8203;56696](https://github.com/nodejs/node/pull/56696) - \[[`b811dea85a`](https://github.com/nodejs/node/commit/b811dea85a)] - **test**: replace more uses of `global` with `globalThis` (James M Snell) [#&#8203;56712](https://github.com/nodejs/node/pull/56712) - \[[`eb97076199`](https://github.com/nodejs/node/commit/eb97076199)] - **test**: make common/index slightly less node.js specific (James M Snell) [#&#8203;56712](https://github.com/nodejs/node/pull/56712) - \[[`1795202d19`](https://github.com/nodejs/node/commit/1795202d19)] - **test**: rely less on duplicative common test harness utilities (James M Snell) [#&#8203;56712](https://github.com/nodejs/node/pull/56712) - \[[`5be29a274e`](https://github.com/nodejs/node/commit/5be29a274e)] - **test**: simplify common/index.js (James M Snell) [#&#8203;56712](https://github.com/nodejs/node/pull/56712) - \[[`92e99780f0`](https://github.com/nodejs/node/commit/92e99780f0)] - **test**: move hasMultiLocalhost to common/net (James M Snell) [#&#8203;56716](https://github.com/nodejs/node/pull/56716) - \[[`1c3204a4cc`](https://github.com/nodejs/node/commit/1c3204a4cc)] - **test**: move crypto related common utilities in common/crypto (James M Snell) [#&#8203;56714](https://github.com/nodejs/node/pull/56714) - \[[`fe79d63be0`](https://github.com/nodejs/node/commit/fe79d63be0)] - **test**: add missing test for env file (Jonas) [#&#8203;56642](https://github.com/nodejs/node/pull/56642) - \[[`e08af61537`](https://github.com/nodejs/node/commit/e08af61537)] - **test**: enforce strict mode in test-zlib-const (Rich Trott) [#&#8203;56689](https://github.com/nodejs/node/pull/56689) - \[[`c96792d7f8`](https://github.com/nodejs/node/commit/c96792d7f8)] - **test**: fix localization data for ICU 74.2 (Antoine du Hamel) [#&#8203;56661](https://github.com/nodejs/node/pull/56661) - \[[`48b72f1195`](https://github.com/nodejs/node/commit/48b72f1195)] - **test**: use --permission instead of --experimental-permission (Rafael Gonzaga) [#&#8203;56685](https://github.com/nodejs/node/pull/56685) - \[[`de81d90fce`](https://github.com/nodejs/node/commit/de81d90fce)] - **test**: test-stream-compose.js doesn't need internals (Meghan Denny) [#&#8203;56619](https://github.com/nodejs/node/pull/56619) - \[[`f5b8499ad0`](https://github.com/nodejs/node/commit/f5b8499ad0)] - **test**: add maxCount and gcOptions to gcUntil() (Joyee Cheung) [#&#8203;56522](https://github.com/nodejs/node/pull/56522) - \[[`d9e5a81041`](https://github.com/nodejs/node/commit/d9e5a81041)] - **test**: add line break at end of file (Rafael Gonzaga) [#&#8203;56588](https://github.com/nodejs/node/pull/56588) - \[[`59be346fbf`](https://github.com/nodejs/node/commit/59be346fbf)] - **test**: mark test-worker-prof as flaky on smartos (Joyee Cheung) [#&#8203;56583](https://github.com/nodejs/node/pull/56583) - \[[`12a2cae9e5`](https://github.com/nodejs/node/commit/12a2cae9e5)] - **test**: update test-child-process-bad-stdio to use node:test (Colin Ihrig) [#&#8203;56562](https://github.com/nodejs/node/pull/56562) - \[[`2dc4a30e19`](https://github.com/nodejs/node/commit/2dc4a30e19)] - **test**: disable openssl 3.4.0 incompatible tests (Jelle van der Waa) [#&#8203;56160](https://github.com/nodejs/node/pull/56160) - \[[`1950fbf51d`](https://github.com/nodejs/node/commit/1950fbf51d)] - **test**: make test-crypto-hash compatible with OpenSSL > 3.4.0 (Jelle van der Waa) [#&#8203;56160](https://github.com/nodejs/node/pull/56160) - \[[`a533420a91`](https://github.com/nodejs/node/commit/a533420a91)] - **test**: clarify fork inherit permission flags (Rafael Gonzaga) [#&#8203;56523](https://github.com/nodejs/node/pull/56523) - \[[`697e799dc1`](https://github.com/nodejs/node/commit/697e799dc1)] - **test**: add error only reporter for node:test (Carlos Espa) [#&#8203;56438](https://github.com/nodejs/node/pull/56438) - \[[`4844fa212d`](https://github.com/nodejs/node/commit/4844fa212d)] - **test**: mark test-http-server-request-timeouts-mixed as flaky (Joyee Cheung) [#&#8203;56503](https://github.com/nodejs/node/pull/56503) - \[[`843c2389b9`](https://github.com/nodejs/node/commit/843c2389b9)] - **test**: update error code in tls-psk-circuit for for OpenSSL 3.4 (sebastianas) [#&#8203;56420](https://github.com/nodejs/node/pull/56420) - \[[`ccb2ddbd83`](https://github.com/nodejs/node/commit/ccb2ddbd83)] - **test**: update compiled sqlite tests to match other tests (Colin Ihrig) [#&#8203;56446](https://github.com/nodejs/node/pull/56446) - \[[`b40f50324d`](https://github.com/nodejs/node/commit/b40f50324d)] - **test**: add initial test426 coverage (Chengzhong Wu) [#&#8203;56436](https://github.com/nodejs/node/pull/56436) - \[[`059f81e4fd`](https://github.com/nodejs/node/commit/059f81e4fd)] - **test**: update test-set-http-max-http-headers to use node:test (Colin Ihrig) [#&#8203;56439](https://github.com/nodejs/node/pull/56439) - \[[`ec2940b418`](https://github.com/nodejs/node/commit/ec2940b418)] - **test**: update test-child-process-windows-hide to use node:test (Colin Ihrig) [#&#8203;56437](https://github.com/nodejs/node/pull/56437) - \[[`0362924880`](https://github.com/nodejs/node/commit/0362924880)] - **test**: use unusual chars in the path to ensure our tests are robust (Antoine du Hamel) [#&#8203;48409](https://github.com/nodejs/node/pull/48409) - \[[`b6c3869910`](https://github.com/nodejs/node/commit/b6c3869910)] - **test**: improve abort signal dropping test (Edy Silva) [#&#8203;56339](https://github.com/nodejs/node/pull/56339) - \[[`cc648ef923`](https://github.com/nodejs/node/commit/cc648ef923)] - **test**: enable ts test on win arm64 (Marco Ippolito) [#&#8203;56349](https://github.com/nodejs/node/pull/56349) - \[[`68819b4997`](https://github.com/nodejs/node/commit/68819b4997)] - **test**: deflake test-watch-file-shared-dependency (Luigi Pinca) [#&#8203;56344](https://github.com/nodejs/node/pull/56344) - \[[`ca6ed2190c`](https://github.com/nodejs/node/commit/ca6ed2190c)] - **test**: skip `test-sqlite-extensions` when SQLite is not built by us (Antoine du Hamel) [#&#8203;56341](https://github.com/nodejs/node/pull/56341) - \[[`8ffeb8b58c`](https://github.com/nodejs/node/commit/8ffeb8b58c)] - **test**: increase spin for eventloop test on s390 (Michael Dawson) [#&#8203;56228](https://github.com/nodejs/node/pull/56228) - \[[`6ae9950f08`](https://github.com/nodejs/node/commit/6ae9950f08)] - **test**: migrate message eval tests from Python to JS (Yiyun Lei) [#&#8203;50482](https://github.com/nodejs/node/pull/50482) - \[[`4352bf69e9`](https://github.com/nodejs/node/commit/4352bf69e9)] - **test**: check typescript loader (Marco Ippolito) [#&#8203;54657](https://github.com/nodejs/node/pull/54657) - \[[`406e7db9c3`](https://github.com/nodejs/node/commit/406e7db9c3)] - **test**: remove async-hooks/test-writewrap flaky designation (Luigi Pinca) [#&#8203;56048](https://github.com/nodejs/node/pull/56048) - \[[`fa56ab2bba`](https://github.com/nodejs/node/commit/fa56ab2bba)] - **test**: deflake test-esm-loader-hooks-inspect-brk (Luigi Pinca) [#&#8203;56050](https://github.com/nodejs/node/pull/56050) - \[[`8e149aac99`](https://github.com/nodejs/node/commit/8e149aac99)] - **test**: add test case for listeners (origranot) [#&#8203;56282](https://github.com/nodejs/node/pull/56282) - \[[`a3f5ef22cd`](https://github.com/nodejs/node/commit/a3f5ef22cd)] - **test**: make `test-permission-sqlite-load-extension` more robust (Antoine du Hamel) [#&#8203;56295](https://github.com/nodejs/node/pull/56295) - \[[`8cbb7cc838`](https://github.com/nodejs/node/commit/8cbb7cc838)] - **test_runner**: print failing assertion only once with spec reporter (Pietro Marchini) [#&#8203;56662](https://github.com/nodejs/node/pull/56662) - \[[`1f426bad9a`](https://github.com/nodejs/node/commit/1f426bad9a)] - **test_runner**: remove unused errors (Pietro Marchini) [#&#8203;56607](https://github.com/nodejs/node/pull/56607) - \[[`697a851fb3`](https://github.com/nodejs/node/commit/697a851fb3)] - **(SEMVER-MINOR)** **test_runner**: add TestContext.prototype.waitFor() (Colin Ihrig) [#&#8203;56595](https://github.com/nodejs/node/pull/56595) - \[[`047537b48c`](https://github.com/nodejs/node/commit/047537b48c)] - **(SEMVER-MINOR)** **test_runner**: add t.assert.fileSnapshot() (Colin Ihrig) [#&#8203;56459](https://github.com/nodejs/node/pull/56459) - \[[`19b4aa4b14`](https://github.com/nodejs/node/commit/19b4aa4b14)] - **test_runner**: run single test file benchmark (Pietro Marchini) [#&#8203;56479](https://github.com/nodejs/node/pull/56479) - \[[`926cf84e95`](https://github.com/nodejs/node/commit/926cf84e95)] - **(SEMVER-MINOR)** **test_runner**: add assert.register() API (Colin Ihrig) [#&#8203;56434](https://github.com/nodejs/node/pull/56434) - \[[`fb4661a4cf`](https://github.com/nodejs/node/commit/fb4661a4cf)] - **test_runner**: finish marking snapshot testing as stable (Colin Ihrig) [#&#8203;56425](https://github.com/nodejs/node/pull/56425) - \[[`900c6c3940`](https://github.com/nodejs/node/commit/900c6c3940)] - **tls**: fix error stack conversion in cryptoErrorListToException() (Joyee Cheung) [#&#8203;56554](https://github.com/nodejs/node/pull/56554) - \[[`e9f185b658`](https://github.com/nodejs/node/commit/e9f185b658)] - **tools**: update doc to new version (Node.js GitHub Bot) [#&#8203;56259](https://github.com/nodejs/node/pull/56259) - \[[`7644c7e619`](https://github.com/nodejs/node/commit/7644c7e619)] - **tools**: update inspector_protocol roller (Chengzhong Wu) [#&#8203;56649](https://github.com/nodejs/node/pull/56649) - \[[`362272b0a4`](https://github.com/nodejs/node/commit/362272b0a4)] - **tools**: do not throw on missing `create-release-proposal.sh` (Antoine du Hamel) [#&#8203;56704](https://github.com/nodejs/node/pull/56704) - \[[`df8b835953`](https://github.com/nodejs/node/commit/df8b835953)] - **tools**: fix tools-deps-update (Daniel Lemire) [#&#8203;56684](https://github.com/nodejs/node/pull/56684) - \[[`feba5d3274`](https://github.com/nodejs/node/commit/feba5d3274)] - **tools**: do not throw on missing `create-release-proposal.sh` (Antoine du Hamel) [#&#8203;56695](https://github.com/nodejs/node/pull/56695) - \[[`9827f7d395`](https://github.com/nodejs/node/commit/9827f7d395)] - **tools**: fix permissions in `lint-release-proposal` workflow (Antoine du Hamel) [#&#8203;56614](https://github.com/nodejs/node/pull/56614) - \[[`14c562c0dc`](https://github.com/nodejs/node/commit/14c562c0dc)] - **tools**: remove github reporter (Carlos Espa) [#&#8203;56468](https://github.com/nodejs/node/pull/56468) - \[[`ed1785d0ae`](https://github.com/nodejs/node/commit/ed1785d0ae)] - **tools**: edit `create-release-proposal` workflow (Antoine du Hamel) [#&#8203;56540](https://github.com/nodejs/node/pull/56540) - \[[`294e4c42f5`](https://github.com/nodejs/node/commit/294e4c42f5)] - **tools**: validate commit list as part of `lint-release-commit` (Antoine du Hamel) [#&#8203;56291](https://github.com/nodejs/node/pull/56291) - \[[`98d3474267`](https://github.com/nodejs/node/commit/98d3474267)] - **tools**: fix loong64 build failed (Xiao-Tao) [#&#8203;56466](https://github.com/nodejs/node/pull/56466) - \[[`3e729ceec8`](https://github.com/nodejs/node/commit/3e729ceec8)] - **tools**: disable unneeded rule ignoring in Python linting (Rich Trott) [#&#8203;56429](https://github.com/nodejs/node/pull/56429) - \[[`d5c05328e2`](https://github.com/nodejs/node/commit/d5c05328e2)] - **tools**: use a configurable value for number of open dependabot PRs (Antoine du Hamel) [#&#8203;56427](https://github.com/nodejs/node/pull/56427) - \[[`1705cbe002`](https://github.com/nodejs/node/commit/1705cbe002)] - **tools**: bump the eslint group in /tools/eslint with 4 updates (dependabot\[bot]) [#&#8203;56426](https://github.com/nodejs/node/pull/56426) - \[[`53b29b0469`](https://github.com/nodejs/node/commit/53b29b0469)] - **tools**: fix `require-common-first` lint rule from subfolder (Antoine du Hamel) [#&#8203;56325](https://github.com/nodejs/node/pull/56325) - \[[`105c4ed4fb`](https://github.com/nodejs/node/commit/105c4ed4fb)] - **tools**: add release line label when opening release proposal (Antoine du Hamel) [#&#8203;56317](https://github.com/nodejs/node/pull/56317) - \[[`30f61f4aa5`](https://github.com/nodejs/node/commit/30f61f4aa5)] - **url**: use resolved path to convert UNC paths to URL (Antoine du Hamel) [#&#8203;56302](https://github.com/nodejs/node/pull/56302) - \[[`a0aef4dfb6`](https://github.com/nodejs/node/commit/a0aef4dfb6)] - **util**: inspect: do not crash on an Error stack that contains a Symbol (Jordan Harband) [#&#8203;56573](https://github.com/nodejs/node/pull/56573) - \[[`a8a060341f`](https://github.com/nodejs/node/commit/a8a060341f)] - **util**: inspect: do not crash on an Error with a regex `name` (Jordan Harband) [#&#8203;56574](https://github.com/nodejs/node/pull/56574) - \[[`ea66bf3553`](https://github.com/nodejs/node/commit/ea66bf3553)] - **util**: rename CallSite.column to columnNumber (Chengzhong Wu) [#&#8203;56584](https://github.com/nodejs/node/pull/56584) - \[[`9cdc3b373c`](https://github.com/nodejs/node/commit/9cdc3b373c)] - **util**: do not crash on inspecting function with `Symbol` name (Jordan Harband) [#&#8203;56572](https://github.com/nodejs/node/pull/56572) - \[[`0bfbb68569`](https://github.com/nodejs/node/commit/0bfbb68569)] - **util**: expose CallSite.scriptId (Chengzhong Wu) [#&#8203;56551](https://github.com/nodejs/node/pull/56551) - \[[`5dd7116e09`](https://github.com/nodejs/node/commit/5dd7116e09)] - **watch**: reload env file for --env-file-if-exists (Jonas) [#&#8203;56643](https://github.com/nodejs/node/pull/56643) - \[[`c658a8afdf`](https://github.com/nodejs/node/commit/c658a8afdf)] - **(SEMVER-MINOR)** **worker**: add eval ts input (Marco Ippolito) [#&#8203;56394](https://github.com/nodejs/node/pull/56394) - \[[`2e5d038f48`](https://github.com/nodejs/node/commit/2e5d038f48)] - **worker**: refactor stdio to improve performance (Matteo Collina) [#&#8203;56630](https://github.com/nodejs/node/pull/56630) - \[[`f959805d01`](https://github.com/nodejs/node/commit/f959805d01)] - **worker**: flush stdout and stderr on exit (Matteo Collina) [#&#8203;56428](https://github.com/nodejs/node/pull/56428) ### [`v22.13.1`](https://github.com/nodejs/node/releases/tag/v22.13.1): 2025-01-21, Version 22.13.1 'Jod' (LTS), @&#8203;RafaelGSS [Compare Source](https://github.com/nodejs/node/compare/v22.13.0...v22.13.1) This is a security release. ##### Notable Changes - CVE-2025-23083 - src,loader,permission: throw on InternalWorker use when permission model is enabled (High) - CVE-2025-23085 - src: fix HTTP2 mem leak on premature close and ERR_PROTO (Medium) - CVE-2025-23084 - path: fix path traversal in normalize() on Windows (Medium) Dependency update: - CVE-2025-22150 - Use of Insufficiently Random Values in undici fetch() (Medium) ##### Commits - \[[`520da342e0`](https://github.com/nodejs/node/commit/520da342e0)] - **(CVE-2025-22150)** **deps**: update undici to v6.21.1 (Matteo Collina) [nodejs-private/node-private#662](https://github.com/nodejs-private/node-private/pull/662) - \[[`99f217369f`](https://github.com/nodejs/node/commit/99f217369f)] - **(CVE-2025-23084)** **path**: fix path traversal in normalize() on Windows (Tobias Nießen) [nodejs-private/node-private#555](https://github.com/nodejs-private/node-private/pull/555) - \[[`984f735e35`](https://github.com/nodejs/node/commit/984f735e35)] - **(CVE-2025-23085)** **src**: fix HTTP2 mem leak on premature close and ERR_PROTO (RafaelGSS) [nodejs-private/node-private#650](https://github.com/nodejs-private/node-private/pull/650) - \[[`2446870618`](https://github.com/nodejs/node/commit/2446870618)] - **(CVE-2025-23083)** **src,loader,permission**: throw on InternalWorker use (RafaelGSS) [nodejs-private/node-private#651](https://github.com/nodejs-private/node-private/pull/651) </details> <details> <summary>prettier/prettier (prettier)</summary> ### [`v3.9.10`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#3910) [Compare Source](https://github.com/prettier/prettier/compare/3.9.9...3.9.10) [diff](https://github.com/prettier/prettier/compare/3.9.9...3.9.10) ##### Markdown: Update `micromark-extension-gfm-table` to fix the table parse issue on performance ([#&#8203;20266](https://github.com/prettier/prettier/pull/20266) by [@&#8203;fisker](https://github.com/fisker)) See [micromark/micromark-extension-gfm-table@`4f43ead`](https://github.com/micromark/micromark-extension-gfm-table/commit/4f43ead37b786bc531d924530d4ab4c714886267) for details. ### [`v3.9.9`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#399) [Compare Source](https://github.com/prettier/prettier/compare/3.9.8...3.9.9) [diff](https://github.com/prettier/prettier/compare/3.9.8...3.9.9) ##### Markdown: Fix text with `$` been incorrectly parsed as math syntax ([#&#8203;20140](https://github.com/prettier/prettier/pull/20140) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```md <!-- Input --> **Uses $FOO** from `a.sh` and `b.sh`, plus `$BAR` from `c.sh`, before anything else runs here. <!-- Prettier 3.9.8 --> **Uses $FOO** from `a.sh` and `b.sh`, plus `$BAR`from`c.sh`, before anything else runs here. <!-- Prettier 3.9.9 --> **Uses $FOO** from `a.sh` and `b.sh`, plus `$BAR` from `c.sh`, before anything else runs here. ``` ### [`v3.9.8`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#398) [Compare Source](https://github.com/prettier/prettier/compare/3.9.7...3.9.8) [diff](https://github.com/prettier/prettier/compare/3.9.7...3.9.8) ##### Markdown: Don't let Liquid objects interrupt paragraphs ([#&#8203;20087](https://github.com/prettier/prettier/pull/20087) by [@&#8203;seiyab](https://github.com/seiyab)) <!-- prettier-ignore --> ```markdown <!-- Input --> If `module` is not a [`WebAssembly.Module`](/en-US/docs/WebAssembly/Reference/JavaScript_interface/Module) object instance, a {{jsxref("TypeError")}} is thrown. <!-- Prettier 3.9.7 --> If `module` is not a [`WebAssembly.Module`](/en-US/docs/WebAssembly/Reference/JavaScript_interface/Module) object instance, a {{jsxref("TypeError")}} is thrown. <!-- Prettier 3.9.8 --> If `module` is not a [`WebAssembly.Module`](/en-US/docs/WebAssembly/Reference/JavaScript_interface/Module) object instance, a {{jsxref("TypeError")}} is thrown. ``` ### [`v3.9.7`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#397) [Compare Source](https://github.com/prettier/prettier/compare/3.9.6...3.9.7) [diff](https://github.com/prettier/prettier/compare/3.9.6...3.9.7) ##### Markdown: Prevent indentation drift in list-item code blocks ([#&#8203;19647](https://github.com/prettier/prettier/pull/19647), [#&#8203;19990](https://github.com/prettier/prettier/pull/19990) by [@&#8203;Austin1serb](https://github.com/Austin1serb), [@&#8203;giaBaoJS](https://github.com/giaBaoJS)) <!-- prettier-ignore --> ```markdown <!-- Input --> - [x] short first line. second paragraph at six spaces that wraps onto another line here. <!-- Prettier 3.9.6 --> - [x] short first line. second paragraph at six spaces that wraps onto another line here. <!-- Prettier 3.9.7 --> - [x] short first line. second paragraph at six spaces that wraps onto another line here. ``` ##### JavaScript: Fix embedded template literal idempotency ([#&#8203;19725](https://github.com/prettier/prettier/pull/19725) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```jsx // Input const foo = html` <div>${getText({ value, })}</div> `; // Prettier 3.9.6 (first format) const foo = html` <div> ${getText({ value, })} </div> `; // Prettier 3.9.6 (second format) const foo = html` <div> ${getText({ value, })} </div> `; // Prettier 3.9.7 const foo = html` <div> ${getText({ value, })} </div> `; ``` ##### Markdown: Preserve Liquid blocks after Markdown tables ([#&#8203;19730](https://github.com/prettier/prettier/pull/19730) by [@&#8203;wanxiankai](https://github.com/wanxiankai), [@&#8203;seiyab](https://github.com/seiyab)) <!-- prettier-ignore --> ```markdown <!-- Input --> | Argument | Type | | -------- | ---- | {% set default_params = { "model": ["str"], } %} <!-- Prettier 3.9.6 --> | Argument | Type | | ------------------------- | ---- | | {% set default_params = { | "model": ["str"], } %} <!-- Prettier 3.9.7 --> | Argument | Type | | -------- | ---- | {% set default_params = { "model": ["str"], } %} ``` ##### Markdown: Preserve single tildes in Markdown ([#&#8203;19739](https://github.com/prettier/prettier/pull/19739) by [@&#8203;lazerg](https://github.com/lazerg)) Since 3.9.0, single-tilde spans like `H~2~O` were rewritten to double tildes, turning subscript syntax into strike-through. Only double tildes are treated that way now, matching GitHub. <!-- prettier-ignore --> ```markdown <!-- Input --> H~2~O <!-- Prettier 3.9.6 --> H~~2~~O <!-- Prettier 3.9.7 --> H~2~O ``` ##### Markdown: Fix Markdown blockquote containing `>` characters ([#&#8203;19802](https://github.com/prettier/prettier/pull/19802) by [@&#8203;seiyab](https://github.com/seiyab)) <!-- prettier-ignore --> ```md <!-- Input --> > **test**\> <!-- Prettier 3.9.6 --> > **test**>\> <!-- Prettier 3.9.7 --> > **test**\> ``` ##### Markdown: Strip blockquote markers from a setext heading's continuation lines ([#&#8203;19878](https://github.com/prettier/prettier/pull/19878) by [@&#8203;Kjubikstronk](https://github.com/Kjubikstronk)) A setext heading spanning multiple lines inside a blockquote kept the `>` marker of its continuation lines as literal text. <!-- prettier-ignore --> ```md <!-- Input --> > Multi > Line > === <!-- Prettier 3.9.6 --> > Multi > Line > === <!-- Prettier 3.9.7 --> > Multi > Line > === ``` ##### Markdown: Fix HTML block indentation drift in markdown list items ([#&#8203;19987](https://github.com/prettier/prettier/pull/19987) by [@&#8203;lazerg](https://github.com/lazerg)) <!-- prettier-ignore --> ```markdown <!-- Input --> 1. Enable images: <p align="center"> <img alt="example"> </p> <!-- Prettier 3.9.6 (--tab-width=4) --> 1. Enable images: <p align="center"> <img alt="example"> </p> <!-- Prettier 3.9.7 (--tab-width=4) --> 1. Enable images: <p align="center"> <img alt="example"> </p> ``` ##### Angular: Support `@boundary` error boundaries ([#&#8203;20014](https://github.com/prettier/prettier/pull/20014) by [@&#8203;Yahiro025](https://github.com/Yahiro025)) <!-- prettier-ignore --> ```html <!-- Input --> @boundary { <complex-chart [data]="data"/> } @error (let err) { <p>{{err.message}}</p> } <!-- Prettier 3.9.6 --> SyntaxError: Unexpected character "EOF" (Do you have an unescaped "{" in your template? Use "{{ '{' }}") to escape it.) (6:1) <!-- Prettier 3.9.7 --> @boundary { <complex-chart [data]="data" /> } @error (let err) { <p>{{ err.message }}</p> } ``` ### [`v3.9.6`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#396) [Compare Source](https://github.com/prettier/prettier/compare/3.9.5...3.9.6) [diff](https://github.com/prettier/prettier/compare/3.9.5...3.9.6) ##### TypeScript: Preserve quotes for methods named `new` ([#&#8203;19621](https://github.com/prettier/prettier/pull/19621) by [@&#8203;kovsu](https://github.com/kovsu)) <!-- prettier-ignore --> ```tsx // Input interface Container { "new"(id: string): number; } // Prettier 3.9.5 interface Container { new(id: string): number; } // Prettier 3.9.6 interface Container { "new"(id: string): number; } ``` ##### TypeScript: Support `import defer` ([#&#8203;19624](https://github.com/prettier/prettier/pull/19624), [#&#8203;19675](https://github.com/prettier/prettier/pull/19675) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```tsx // Input import defer * as foo from "foo"; // Prettier 3.9.5 import * as foo from "foo"; // Prettier 3.9.6 import defer * as foo from "foo"; ``` ##### JavaScript: Added a new official plugin `@prettier/plugin-yuku` ([#&#8203;19628](https://github.com/prettier/prettier/pull/19628), [#&#8203;19629](https://github.com/prettier/prettier/pull/19629) by [@&#8203;fisker](https://github.com/fisker)) `@prettier/plugin-yuku` is powered by [Yuku](https://yuku.fyi/) (A high-performance JavaScript/TypeScript compiler toolchain written in Zig). This plugin includes two new parsers: `yuku` (JavaScript syntax) and `yuku-ts` (TypeScript syntax). **To use this plugin:** 1. Install the plugin: ```bash yarn add --dev prettier @prettier/plugin-yuku ``` 2. Add it to your `.prettierrc`: ```yaml plugins: - "@prettier/plugin-yuku" ``` Due to package size limitations, this plugin is not bundled with the main prettier package and must be installed separately. For more information, check [the package homepage](https://github.com/prettier/prettier/tree/main/packages/plugin-yuku). Big thanks to [@&#8203;arshad-yaseen](https://github.com/arshad-yaseen) for his excellent work. ### [`v3.9.5`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#395) [Compare Source](https://github.com/prettier/prettier/compare/3.9.4...3.9.5) [diff](https://github.com/prettier/prettier/compare/3.9.4...3.9.5) ##### Markdown: Cap ordered list mark at 999,999,999 ([#&#8203;19351](https://github.com/prettier/prettier/pull/19351) by [@&#8203;tats-u](https://github.com/tats-u)) CommonMark parsers only support ordered list item numbers up to 999,999,999. With this change, Prettier now caps the ordered list item number at 999,999,999 to ensure that the output is correctly parsed as an ordered list by CommonMark parsers. Numbers larger than 999,999,999 are not parsed as list item numbers and are left unchanged in the output: <!-- prettier-ignore --> ```markdown <!-- Input --> 999999998. text 999999998. text 999999998. text 999999998. text 1234567890123456789012) text <!-- Prettier 3.9.4 --> 999999998. text 999999999. text 1000000000. text 1000000001. text 1234567890123456789012) text <!-- Prettier 3.9.5 --> 999999998. text 999999999. text 999999999. text 999999999. text 1234567890123456789012) text ``` ##### Markdown: Avoid corrupting empty link with title ([#&#8203;19487](https://github.com/prettier/prettier/pull/19487) by [@&#8203;andersk](https://github.com/andersk)) Do not remove `<>` from an inline link or image with an empty URL and a title, as this removal would change its interpretation. <!-- prettier-ignore --> ```md <!-- Input --> [link](<> "title") <!-- Prettier 3.9.4 --> [link]( "title") <!-- Prettier 3.9.5 --> [link](<> "title") ``` ##### Less: Remove extra spaces after `[` in map lookups ([#&#8203;19503](https://github.com/prettier/prettier/pull/19503) by [@&#8203;kovsu](https://github.com/kovsu)) <!-- prettier-ignore --> ```less // Input .foo { color: #theme[ primary]; color: #theme[@name]; color: #theme[@@name]; } // Prettier 3.9.4 .foo { color: #theme[ primary]; color: #theme[ @name]; color: #theme[ @@name]; } // Prettier 3.9.5 .foo { color: #theme[primary]; color: #theme[@name]; color: #theme[@@name]; } ``` ##### CSS: Prevent addition space in `type()` with `+` ([#&#8203;19516](https://github.com/prettier/prettier/pull/19516) by [@&#8203;bigandy](https://github.com/bigandy)) This fixes the addition space before `+` in CSS `type()` declaration. For example `type(<number>+)` was being converted into `type(<number> +)` which is invalid CSS and does not work. <!-- prettier-ignore --> ```css /* Input */ div { border-radius: attr(br type(<length>+)); } /* Prettier 3.9.4 */ div { border-radius: attr(br type(<length> +)); } /* Prettier 3.9.5 */ div { border-radius: attr(br type(<length>+)); } ``` ##### Less: Remove spaces between merge markers and colons ([#&#8203;19517](https://github.com/prettier/prettier/pull/19517) by [@&#8203;kovsu](https://github.com/kovsu)) <!-- prettier-ignore --> ```less // Input a { box-shadow + : 0 0 1px #&#8203;000; } // Prettier 3.9.4 a { box-shadow+ : 0 0 1px #&#8203;000; } // Prettier 3.9.5 a { box-shadow+: 0 0 1px #&#8203;000; } ``` ##### Markdown: Preserve wiki links with aliases ([#&#8203;19527](https://github.com/prettier/prettier/pull/19527) by [@&#8203;kovsu](https://github.com/kovsu)) <!-- prettier-ignore --> ```markdown <!-- Input --> [[Foo:Bar]] <!-- Prettier 3.9.4 --> [[Foo]] <!-- Prettier 3.9.5 --> [[Foo:Bar]] ``` ##### TypeScript: Fix comments being dropped on shorthand `type` import/export specifiers ([#&#8203;19565](https://github.com/prettier/prettier/pull/19565) by [@&#8203;kirkwaiblinger](https://github.com/kirkwaiblinger)) <!-- prettier-ignore --> ```tsx // Input export { type /* comment */ T } from "foo"; import { type /* comment */ T } from "foo"; // Prettier 3.9.4 Error: Comment "comment" was not printed. Please report this error! // Prettier 3.9.5 export { type /* comment */ T } from "foo"; import { type /* comment */ T } from "foo"; ``` ##### Miscellaneous: Preserving comments' `placement` property ([#&#8203;19567](https://github.com/prettier/prettier/pull/19567) by [@&#8203;Janther](https://github.com/Janther)) Prettier\@&#8203;3.9.0 deleted an undocumented property on comments, which was already used by plugins, `comment.placement` is now available again after comment attach. ##### Flow: Stop enforcing empty module declaration to break ([#&#8203;19568](https://github.com/prettier/prettier/pull/19568) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```flow // Input declare module "foo" {} // Prettier 3.9.4 declare module "foo" { } // Prettier 3.9.5 declare module "foo" {} ``` ##### Angular: Support expression for exhaustive typechecking ([#&#8203;19571](https://github.com/prettier/prettier/pull/19571) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```html <!-- Input --> @switch (state.mode) { @default never(state); } <!-- Prettier 3.9.4 --> @switch (state.mode) { @default never; } <!-- Prettier 3.9.5 --> @switch (state.mode) { @default never(state); } ``` ##### TypeScript: Ignore comments inside mapped type when checking type parameter comments ([#&#8203;19572](https://github.com/prettier/prettier/pull/19572) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```tsx // Input foo<{ // comment [key in keyof Foo]: number }>(); // Prettier 3.9.4 foo< { // comment [key in keyof Foo]: number; } >(); // Prettier 3.9.5 foo<{ // comment [key in keyof Foo]: number; }>(); ``` ##### Less: Fix adjacent block comments being corrupted ([#&#8203;19574](https://github.com/prettier/prettier/pull/19574) by [@&#8203;kovsu](https://github.com/kovsu)) <!-- prettier-ignore --> ```less // Input /* a *//* b */ /* a */* { color: red; } // Prettier 3.9.4 /* a */ /* b */ /* a * { color: red; } // Prettier 3.9.5 /* a */ /* b */ /* a */ * { color: red; } ``` ##### JavaScript: Handle dangling comments in `SwitchStatement` ([#&#8203;19581](https://github.com/prettier/prettier/pull/19581) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```jsx // Input switch (foo) { // comment } // Prettier 3.9.4 switch ( foo // comment ) { } // Prettier 3.9.5 switch (foo) { // comment } ``` ##### TypeScript: Remove space in comment-only object type ([#&#8203;19583](https://github.com/prettier/prettier/pull/19583) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```tsx // Input var foo = { /* comment */ }; type Foo = { /* comment */ }; // Prettier 3.9.4 var foo = {/* comment */}; type Foo = { /* comment */ }; // Prettier 3.9.5 var foo = {/* comment */}; type Foo = {/* comment */}; ``` ### [`v3.9.4`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#394) [Compare Source](https://github.com/prettier/prettier/compare/3.9.3...3.9.4) [diff](https://github.com/prettier/prettier/compare/3.9.3...3.9.4) ##### Angular: Format `@content(name)` -> `@content (name)` to align with other block syntax ([#&#8203;19499](https://github.com/prettier/prettier/pull/19499) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```html <!-- Input --> <FancyButton [label]="title"> @content (icon) { <span>Icon!</span> } @content (description) { <span>Description text</span> } <span>Other children</span> </FancyButton> <!-- Prettier 3.9.3 --> <FancyButton [label]="title"> @content(icon) { <span>Icon!</span> } @content(description) { <span>Description text</span> } <span>Other children</span> </FancyButton> <!-- Prettier 3.9.4 --> <FancyButton [label]="title"> @content (icon) { <span>Icon!</span> } @content (description) { <span>Description text</span> } <span>Other children</span> </FancyButton> ``` ### [`v3.9.3`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#393) [Compare Source](https://github.com/prettier/prettier/compare/3.9.2...3.9.3) [diff](https://github.com/prettier/prettier/compare/3.9.1...3.9.3) ##### Markdown: Fix unexpected removal of characters in liquid syntax ([#&#8203;19489](https://github.com/prettier/prettier/pull/19489) by [@&#8203;seiyab](https://github.com/seiyab)) <!-- prettier-ignore --> ```md // Input <!-- Input --> {{ page.title }} text <!-- Prettier 3.9.1 --> {{ page.title text <!-- Prettier 3.9.3 --> {{ page.title }} text ``` ##### TypeScript: Allow decorators to be used with declare on class fields ([#&#8203;19492](https://github.com/prettier/prettier/pull/19492) by [@&#8203;evoactivity](https://github.com/evoactivity)) Extensively used within the Ember ecosystem, decorators with `declare` on class fields will ignore the babel parser error and allow Prettier to format the code without breaking it. <!-- prettier-ignore --> ```ts // Input export default class ProjectStatusComponent extends Component<ProjectStatusSig> { @service declare server: ServerService; } // Prettier 3.9.1 // SyntaxError: Decorators can't be used with a declare field. (2:3) // 1 | export default class ProjectStatusComponent extends Component<ProjectStatusSig> { //> 2 | @service declare server: ServerService; // | ^ // 3 | } // Prettier 3.9.3 export default class ProjectStatusComponent extends Component<ProjectStatusSig> { @service declare server: ServerService; } ``` ### [`v3.9.2`](https://github.com/prettier/prettier/compare/3.9.1...3.9.2) [Compare Source](https://github.com/prettier/prettier/compare/3.9.1...3.9.2) ### [`v3.9.1`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#3910) [Compare Source](https://github.com/prettier/prettier/compare/3.9.0...3.9.1) [diff](https://github.com/prettier/prettier/compare/3.9.9...3.9.10) ##### Markdown: Update `micromark-extension-gfm-table` to fix the table parse issue on performance ([#&#8203;20266](https://github.com/prettier/prettier/pull/20266) by [@&#8203;fisker](https://github.com/fisker)) See [micromark/micromark-extension-gfm-table@`4f43ead`](https://github.com/micromark/micromark-extension-gfm-table/commit/4f43ead37b786bc531d924530d4ab4c714886267) for details. ### [`v3.9.0`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#390) [Compare Source](https://github.com/prettier/prettier/compare/3.8.5...3.9.0) [diff](https://github.com/prettier/prettier/compare/3.8.5...3.9.0) 🔗 [Release Notes](https://prettier.io/blog/2026/06/27/3.9.0) ### [`v3.8.5`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#385) [Compare Source](https://github.com/prettier/prettier/compare/3.8.4...3.8.5) [diff](https://github.com/prettier/prettier/compare/3.8.4...3.8.5) ##### Flow: Support `readonly` as a variance annotation ([#&#8203;19022](https://github.com/prettier/prettier/pull/19022) by [@&#8203;marcoww6](https://github.com/marcoww6)) Flow now accepts `readonly` as a property variance annotation, equivalent to `+` (covariant/read-only). <!-- prettier-ignore --> ```jsx // Input type T = { readonly foo: string, }; // Prettier 3.8.4 SyntaxError // Prettier 3.8.5 type T = { readonly foo: string, }; ``` ### [`v3.8.4`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#384) [Compare Source](https://github.com/prettier/prettier/compare/3.8.3...3.8.4) [diff](https://github.com/prettier/prettier/compare/3.8.3...3.8.4) ##### Markdown: Fix blank lines between list items and nested sub-lists being removed in Markdown/MDX ([#&#8203;17746](https://github.com/prettier/prettier/pull/17746) by [@&#8203;byplayer](https://github.com/byplayer)) Prettier was removing blank lines between list items and their nested sub-lists, converting loose lists into tight lists and changing their semantic meaning. <!-- prettier-ignore --> ```markdown <!-- Input --> - a - b - c - d <!-- Prettier 3.8.3 --> - a - b - c - d <!-- Prettier 3.8.4 --> - a - b - c - d ``` </details> <details> <summary>sass/dart-sass (sass)</summary> ### [`v1.107.1`](https://github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#11071) [Compare Source](https://github.com/sass/dart-sass/compare/1.107.0...1.107.1) - Properly report the embedded protocol version as 3.4.0. ### [`v1.107.0`](https://github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#11070) [Compare Source](https://github.com/sass/dart-sass/compare/1.106.1...1.107.0) ##### Command-Line Interface - The `--fatal-deprecation` flag can now exclude deprecations that would otherwise be included by passing a version number. To exclude a deprecation, add `-` before its name. For example, `--fatal-deprecation=1.107.0,-import` includes all deprecations that were present in Dart Sass 1.107.0 *except* for the `@import` deprecation. - The `--fatal-deprecation` flag now takes the special value `dart-sass-2`, which treats as fatal all deprecations that will become fatal in Dart Sass 2.0.0. ##### JavaScript API - `Options.fatalDeprecations` can now take a `DeprecationSelectorDifference` object of the form `{include: ..., except: ...}`, where the `include` field lists deprecations to mark fatal (which can be version numbers) and the `except` field lists deprecations *not* to mark fatal. The `except` field takes precedence over `include`. - Add a (non-enumerable) `sass.deprecations.dartSass2` property which can be passed to `Options.fatalDeprecations` to mark as fatal exactly the deprecations that will become fatal in Dart Sass 2.0.0. This can be combined with other deprecations or used in a `DeprecationSelectorDifference` to modify exactly which deprecations it covers. - Passing a version number beyond the current Dart Sass version to `Options.fatalDeprecations` is now deprecated. See [the Sass website](https://sass-lang.com/d/deprecation-version) for details. ##### Dart API - Add a `Deprecation.dartSass2` property which returns exactly the set of deprecations that will become fatal in Dart Sass 2.0.0. - Passing a version number beyond the current Dart Sass version to `Deprecation.forVersion` is now deprecated. ##### Embedded Protocol - Add a `CompileRequest.fatal_deprecation_except` field which excludes deprecations from being considered fatal if they would have been enabled by `CompileRequest.fatal_deprecation`. ### [`v1.106.1`](https://github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#11061) [Compare Source](https://github.com/sass/dart-sass/compare/1.106.0...1.106.1) - Fix a bug where an attribute selector with an empty value (such as `[class=""]`) would crash when serializing. - Don't crash when serializing a number with an empty unit. This is only possible through the JavaScript and Dart APIs or the embedded protocol. ##### Embedded Dart Sass - More robustly convert invalid value errors into `PARAMS` errors. ### [`v1.106.0`](https://github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#11060) [Compare Source](https://github.com/sass/dart-sass/compare/1.105.2...1.106.0) - Don't normalize CSS escapes in statement contexts that can contain interpolation. For example, `@f\6Fo` is now emitted as written rather than normalized to `@foo`. - Fix a bug where quotes would be removed from attribute selector values that contained backslashes. - Fix invalid source spans that could cause crashes when encountering a syntax error in selectors or media queries that also contain escape sequences. - Fix a bug where the indented syntax parser would crash when parsing a file where the first statement was indented *and* appeared after the first line. - Fix a bug that could cause crashes when encountering errors or warnings in interpolations that contain patterns like `// */`. - **Potentially breaking compatibility fix:** CSS escape codes whose values are 0, for Unicode surrogates, or greater than the maximum allowed code point are now consistently normalized to U+FFFD REPLACEMENT CHARACTER in expression contexts. Previously, in some cases these were instead normalized to the normalized form of the original escape sequence, which violates the principle that all escape sequences for identical values should be normalized the same way. In other cases, these would simply throw errors. As a special case, `\0` on its own will continue to be normalized to `\0 ` to support historical CSS hacks. - **Potentially breaking bug fix:** Throw an error for mixins and functions that have rest parameters which are the same as normal parameters. Previously, the positional parameters wouldn't be accessible and calling such a mixin or function with a named argument would crash the compiler. - **Potentially breaking bug fix:** Fix various cases where using a CSS escape code at the beginning of an identifier would change parsing behavior versus using the character directly. - **Potentially breaking bug fix:** When a number's unit is ambiguous with a numeric exponent, the unit is now serialized as an escape code rather than a literal `e` to avoid being interpreted as an exponent by CSS. - **Potentially breaking bug fix:** Don't parse a CSS escape code for U+45 LATIN CAPITAL LETTER E or U+65 LATIN LOWERCASE LETTER E as an exponent in `@keyframes` percentage selectors. - **Potentially breaking bug fix:** Properly normalize underscores written as CSS escape codes in variable, mixin, and function names. ### [`v1.105.2`](https://github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#11052) [Compare Source](https://github.com/sass/dart-sass/compare/1.105.1...1.105.2) ##### Node.js Embedded Host - Fix a deadlock when the async compiler fails to start. ### [`v1.105.1`](https://github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#11051) [Compare Source](https://github.com/sass/dart-sass/compare/1.105.0...1.105.1) - Improve error messages for `@extend`s across different media queries. ### [`v1.105.0`](https://github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#11050) [Compare Source](https://github.com/sass/dart-sass/compare/1.104.1...1.105.0) - Add support for first-class modules. These can be accessed using the new `meta.load()` and `meta.get-module()` functions, and may be passed as the `$module` argument to numerous eisting `sass:meta` functions. - Add the `meta.css()` mixin, which includes CSS from a first-class module. ##### JS API - Add a `SassModule` class and a corresponding `Value.assertModule()` method. ##### Dart API - Add a `SassModule` class and a corresponding `Value.assertModule()` method. ### [`v1.104.1`](https://github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#11041) [Compare Source](https://github.com/sass/dart-sass/compare/1.104.0...1.104.1) - Fix a bug where loud comments before `@use` rules could be emitted multiple times under certain circumstances. - Fix a bug in which an invalid selector at the end of an indented syntax stylesheet would cause the parser to crash instead of emitting a useful error message. ##### Command Line Interface - Many-to-many compilations no longer compile any files that appear in the output directory if the output directory is also within the source directory. This fixes a bug where `--watch` mode could enter an infinite loop recompiling the same CSS file over and over. - Sass now sets the modification time of output files to the time compilation *started* rather than the time it *ended*. This ensures that, if a source file is modified during compilation, `--watch` and `--update` mode will recompile the outputs to include the new source file contents. ### [`v1.104.0`](https://github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#11040) [Compare Source](https://github.com/sass/dart-sass/compare/1.103.1...1.104.0) - **Potentially breaking compatibility fix:** Colors now convert the special values NaN and negative zero, as well as infinity and negative infinity for polar-hue channels, to 0 as per the CSS spec. - The special value negative zero is now serialized as `-0` instead of `0` for greater compatibility when using it in CSS calculations. ### [`v1.103.1`](https://github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#11031) [Compare Source](https://github.com/sass/dart-sass/compare/1.103.0...1.103.1) - No user-visible changes. ### [`v1.103.0`](https://github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#11030) [Compare Source](https://github.com/sass/dart-sass/compare/1.102.0...1.103.0) - **Potentially breaking compatibility fix:** Colors now preserve "analogous sets" of missing channels during conversions, per the CSS spec. For example, `color.to-space(lch(50% none none), lab)` now returns `lab(50% none none)` instead of `lab(50% 0 0)`. ### [`v1.102.0`](https://github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#11020) [Compare Source](https://github.com/sass/dart-sass/compare/1.101.7...1.102.0) - Use the 2.4 gamma transfer function for rec2020, as specified by the latest draft of CSS Color 4. ### [`v1.101.7`](https://github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#11017) [Compare Source](https://github.com/sass/dart-sass/compare/1.101.6...1.101.7) - No user-visible changes. ### [`v1.101.6`](https://github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#11016) [Compare Source](https://github.com/sass/dart-sass/compare/1.101.5...1.101.6) - No user-visible changes. ### [`v1.101.5`](https://github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#11015) [Compare Source](https://github.com/sass/dart-sass/compare/1.101.4...1.101.5) - No user-visible changes. ### [`v1.101.4`](https://github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#11014) [Compare Source](https://github.com/sass/dart-sass/compare/1.101.3...1.101.4) - Avoid emitting `rgb()` or `rgba()` functions with non-percent decimal channels. Older browsers only support integer values or (potentially decimal) percentages for these functions, so in order to preserve backwards-compatibility while retaining full precision for modern browsers, legacy colors that contain at least one non-integer channel will now use percentages for their channels (for example, `rgb(0%, 100%, 50%)` rather than `rgb(0, 255, 127.5)`). - Fix a bug where the values of plain-CSS `if()` expressions were emitted using their `meta.inspect()` format rather than their CSS serialization format. ### [`v1.101.3`](https://github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#11013) [Compare Source](https://github.com/sass/dart-sass/compare/1.101.0...1.101.3) - No user-visible changes. ### [`v1.101.0`](https://github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#11010) [Compare Source](https://github.com/sass/dart-sass/compare/1.100.0...1.101.0) - **Potentially breaking bug fix:** The Node package importer now properly supports resolving import-only variants of Sass files declared in the `exports`, `sass`, and `style` fields of `package.json`. Previously, these files were ignored even when loaded via `@import`, so any code relying on loading module-system-only files this way may break. ### [`v1.100.0`](https://github.com/sass/dart-sass/blob/HEAD/CHANGELOG.md#11000) [Compare Source](https://github.com/sass/dart-sass/compare/1.99.0...1.100.0) - Writing two compound selectors adjacent to one another without any whitespace between them, such as `[class]a`, is now deprecated. This was always an error in CSS and Sass only supported it by mistake. See [the Sass website](https://sass-lang.com/d/adjacent-compounds) for details. </details> <details> <summary>typescript-eslint/typescript-eslint (typescript-eslint)</summary> ### [`v8.72.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8721-2026-10-26) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.72.0...v8.72.1) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.72.1) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.72.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8720-2026-10-19) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.71.2...v8.72.0) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.72.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.71.2`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8712-2026-10-12) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.71.1...v8.71.2) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.2) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.71.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8711-2026-10-05) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.71.0...v8.71.1) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.1) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.71.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8710-2026-09-28) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.70.1...v8.71.0) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.70.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8701-2026-09-21) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.70.0...v8.70.1) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.70.1) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.70.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8700-2026-09-07) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.69.0...v8.70.0) ##### 🩹 Fixes - **eslint-plugin:** \[no-deprecated] report deprecated imported values used in object shorthand properties ([#&#8203;12780](https://github.com/typescript-eslint/typescript-eslint/pull/12780)) ##### ❤️ Thank You - Ulrich Stark [@&#8203;ulrichstark](https://github.com/ulrichstark) See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.70.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.69.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8690-2026-08-31) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.68.0...v8.69.0) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.69.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.68.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8680-2026-08-24) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.67.0...v8.68.0) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.68.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.67.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8670-2026-08-10) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.66.0...v8.67.0) ##### 🚀 Features - **typescript-eslint:** export basic globs for using tseslint ([#&#8203;12105](https://github.com/typescript-eslint/typescript-eslint/pull/12105)) ##### ❤️ Thank You - Claude Sonnet 5 - Evyatar Daud [@&#8203;StyleShit](https://github.com/StyleShit) - Josh Goldberg - Josh Goldberg ✨ - Kirk Waiblinger [@&#8203;kirkwaiblinger](https://github.com/kirkwaiblinger) See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.67.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.66.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8660-2026-08-03) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.65.0...v8.66.0) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.66.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.65.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8650-2026-07-20) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.64.0...v8.65.0) ##### 🚀 Features - add warning when TS 7 is detected ([#&#8203;12529](https://github.com/typescript-eslint/typescript-eslint/pull/12529)) ##### ❤️ Thank You - Josh Goldberg ✨ - Kirk Waiblinger [@&#8203;kirkwaiblinger](https://github.com/kirkwaiblinger) See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.65.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.64.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8640-2026-07-13) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.63.0...v8.64.0) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.64.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.63.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8630-2026-07-06) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.62.1...v8.63.0) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.63.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.62.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8621-2026-06-29) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.62.0...v8.62.1) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.62.1) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.62.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8620-2026-06-22) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.61.1...v8.62.0) ##### 🚀 Features - remove redundant package.json "files" ([#&#8203;12444](https://github.com/typescript-eslint/typescript-eslint/pull/12444)) ##### ❤️ Thank You - Kirk Waiblinger [@&#8203;kirkwaiblinger](https://github.com/kirkwaiblinger) See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.62.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.61.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8611-2026-06-15) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.61.0...v8.61.1) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.61.1) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.61.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8610-2026-06-08) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.60.1...v8.61.0) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.61.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.60.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8601-2026-06-01) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.60.0...v8.60.1) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.1) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.60.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8600-2026-05-25) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.59.4...v8.60.0) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.59.4`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8594-2026-05-18) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.59.3...v8.59.4) ##### 🩹 Fixes - **typescript-eslint:** export Compatible\* types from typescript-eslint to resolve pnpm TS error ([#&#8203;12340](https://github.com/typescript-eslint/typescript-eslint/pull/12340)) ##### ❤️ Thank You - Kirk Waiblinger [@&#8203;kirkwaiblinger](https://github.com/kirkwaiblinger) See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.59.3`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8593-2026-05-11) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.59.2...v8.59.3) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. ### [`v8.59.2`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8592-2026-05-04) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.59.1...v8.59.2) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.2) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. </details> <details> <summary>vitejs/vite (vite)</summary> ### [`v8.3.5`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-835-2026-10-21-small) [Compare Source](https://github.com/vitejs/vite/compare/v8.3.4...v8.3.5) ##### Bug Fixes - **build:** handle missing chunk import maps ([#&#8203;23777](https://github.com/vitejs/vite/issues/23777)) ([8d7623d](https://github.com/vitejs/vite/commit/8d7623d9b5647714a5b20cbd787a5401ca846229)) - **build:** include preload dependencies to chunk import map hashing ([#&#8203;23793](https://github.com/vitejs/vite/issues/23793)) ([4d16e7c](https://github.com/vitejs/vite/commit/4d16e7c14d5e1c361f148238b1e81131238ab8e9)) - **bundled-dev:** apply `server.origin` to asset URLs ([#&#8203;23683](https://github.com/vitejs/vite/issues/23683)) ([52ba877](https://github.com/vitejs/vite/commit/52ba877693c8633458d163117504a8259beb3cf5)) - **bundled-dev:** declare utf-8 charset in fallback page ([#&#8203;23846](https://github.com/vitejs/vite/issues/23846)) ([197daf6](https://github.com/vitejs/vite/commit/197daf6c4c7bfdaa005bebcc41dd2ff22fa3a5b6)) - **bundled-dev:** ignore build.chunkImportMap ([#&#8203;23685](https://github.com/vitejs/vite/issues/23685)) ([cfe917d](https://github.com/vitejs/vite/commit/cfe917d67d279a13f20ae9449e3befa736b64b07)) - **bundled-dev:** include user `import.meta.env.*` defines in the `import.meta.env` object ([#&#8203;23713](https://github.com/vitejs/vite/issues/23713)) ([6019aa7](https://github.com/vitejs/vite/commit/6019aa79975465516da7c6f532d568422b019a25)) - **bundled-dev:** map forwarded error stacks through the bundle source maps ([#&#8203;23741](https://github.com/vitejs/vite/issues/23741)) ([11fe1e4](https://github.com/vitejs/vite/commit/11fe1e46ff0c136cb90fbe263ba03993bc94df18)) - **bundled-dev:** normalize served output files ([#&#8203;23684](https://github.com/vitejs/vite/issues/23684)) ([df4e02c](https://github.com/vitejs/vite/commit/df4e02cc8317a62f21edefc79a9690571ffed1f3)) - **bundled-dev:** stop hmr propagation at modules that are no longer imported ([#&#8203;23839](https://github.com/vitejs/vite/issues/23839)) ([7471e8c](https://github.com/vitejs/vite/commit/7471e8c3b32d3d55243590bb7713e602c9fb0212)) - **css:** don't fail on a literal `%` in `url()` ([#&#8203;23676](https://github.com/vitejs/vite/issues/23676)) ([50b382d](https://github.com/vitejs/vite/commit/50b382d31835b8b4bc8b6964738ac03146e44261)) - **deps:** update all non-major dependencies ([#&#8203;23731](https://github.com/vitejs/vite/issues/23731)) ([cf80aa5](https://github.com/vitejs/vite/commit/cf80aa552cac02eac0293330ccd5fde3c7ae8d29)) - **deps:** update all non-major dependencies ([#&#8203;23826](https://github.com/vitejs/vite/issues/23826)) ([77d8373](https://github.com/vitejs/vite/commit/77d8373510da1b26ce057eb2248e570b7f63fde9)) - **deps:** update rolldown-related dependencies ([#&#8203;23733](https://github.com/vitejs/vite/issues/23733)) ([43f0d05](https://github.com/vitejs/vite/commit/43f0d052e514c3ad2dea2f7dc44b0720e1f62f48)) - **deps:** update rolldown-related dependencies ([#&#8203;23827](https://github.com/vitejs/vite/issues/23827)) ([c2e0418](https://github.com/vitejs/vite/commit/c2e04187e49aab7ab809989f0537b4906653acab)) - **optimizer:** fall back to yarn.lock for lockfile hash ([#&#8203;23667](https://github.com/vitejs/vite/issues/23667)) ([f206096](https://github.com/vitejs/vite/commit/f20609630faa93026924275115d1426fdc08629e)) - **optimizer:** scan `oxc.jsxInject` imports ([#&#8203;23758](https://github.com/vitejs/vite/issues/23758)) ([38f3cb4](https://github.com/vitejs/vite/commit/38f3cb45b1490ed24775547ceafa677b91a57714)) - **optimizer:** skip patches dir check for yarn.lock fallback ([#&#8203;23725](https://github.com/vitejs/vite/issues/23725)) ([8e890e1](https://github.com/vitejs/vite/commit/8e890e1ce438bfbc07ea4931ce332e40589940fa)) - **optimizer:** skip patches dir hash for nub lockfile ([#&#8203;23761](https://github.com/vitejs/vite/issues/23761)) ([a7d5696](https://github.com/vitejs/vite/commit/a7d56967ef0050a09c0507e63a18164bc7a0d486)) - **resolve:** support subpath imports with multiple `#` ([#&#8203;23631](https://github.com/vitejs/vite/issues/23631)) ([0d86b34](https://github.com/vitejs/vite/commit/0d86b3485fbbd0fcb9a1f70a14adedfcb7a1fff1)) - **resolve:** update resolve.exports to 2.0.4 ([#&#8203;23739](https://github.com/vitejs/vite/issues/23739)) ([4ea708a](https://github.com/vitejs/vite/commit/4ea708a3ae9a324c6aabca59fade4082bf72f3e5)) - **server:** handle socket errors on upgrade requests not taken by the HMR server ([#&#8203;23728](https://github.com/vitejs/vite/issues/23728)) ([c2c9ef4](https://github.com/vitejs/vite/commit/c2c9ef4dcd05b3e4d88844ea3a13dc23819ca2a5)) - **server:** only strip base when path matches a full segment ([#&#8203;23641](https://github.com/vitejs/vite/issues/23641)) ([3dfde87](https://github.com/vitejs/vite/commit/3dfde87b90a9f80b125d710e3e5d4fc795662db6)) ##### Performance Improvements - **ssr:** extract inline source maps without a regexp ([#&#8203;23775](https://github.com/vitejs/vite/issues/23775)) ([6a02780](https://github.com/vitejs/vite/commit/6a0278055d8501bbaf65b8d34ec094722b4e877a)) ##### Miscellaneous Chores - migrate to Oxlint ([#&#8203;23746](https://github.com/vitejs/vite/issues/23746)) ([5b73935](https://github.com/vitejs/vite/commit/5b73935881424ed5919571036dd89d3868590f92)) ##### Code Refactoring - **deps:** replace `@vercel/detect-agent` with `std-env` ([#&#8203;23744](https://github.com/vitejs/vite/issues/23744)) ([ce4293f](https://github.com/vitejs/vite/commit/ce4293f15cc5cd221c5ed60f5cd64e82ca5cbaf5)) - **dev:** consolidate moduleURL to file path utilities ([#&#8203;23828](https://github.com/vitejs/vite/issues/23828)) ([df7b40e](https://github.com/vitejs/vite/commit/df7b40ee9d691e9f4e2413244f6665ef5482dce3)) - **dev:** separate import resolution from URL conversion ([#&#8203;23791](https://github.com/vitejs/vite/issues/23791)) ([6116689](https://github.com/vitejs/vite/commit/611668983d4b717f5e5e66cf9f7125bd94f92bf7)) - **dev:** share ModuleURL and BrowserURL conversions ([#&#8203;23790](https://github.com/vitejs/vite/issues/23790)) ([446954c](https://github.com/vitejs/vite/commit/446954c69c806795c83fe2f97c28ae8f9ef83731)) - **dev:** use ModuleURLs throughout HTML transforms ([#&#8203;23815](https://github.com/vitejs/vite/issues/23815)) ([a162990](https://github.com/vitejs/vite/commit/a16299092c0f0f3f90e05d4bb5f0168b293c2b52)) ### [`v8.3.4`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-834-2026-10-08-small) [Compare Source](https://github.com/vitejs/vite/compare/v8.3.3...v8.3.4) ##### Features - **bundled-dev:** support `import.meta.hot.acceptExports` ([#&#8203;23463](https://github.com/vitejs/vite/issues/23463)) ([bc0f21c](https://github.com/vitejs/vite/commit/bc0f21c56a2e003a4d2dd23ccb9da3ec8c706c4e)) ##### Bug Fixes - avoid mutating hmr defaults (fix [#&#8203;23575](https://github.com/vitejs/vite/issues/23575)) ([#&#8203;23576](https://github.com/vitejs/vite/issues/23576)) ([574d5e3](https://github.com/vitejs/vite/commit/574d5e351905fe99891364d03c2440531378f7fd)) - **build:** correct preloads when chunkImportMap is enabled with non-root base ([#&#8203;23698](https://github.com/vitejs/vite/issues/23698)) ([2a8c0f0](https://github.com/vitejs/vite/commit/2a8c0f05c76e35c43ab3560984a5103c8db8dbcd)) - **build:** wait for in-flight stylesheets in preload helper (fix [#&#8203;23652](https://github.com/vitejs/vite/issues/23652)) ([#&#8203;23662](https://github.com/vitejs/vite/issues/23662)) ([036b745](https://github.com/vitejs/vite/commit/036b74599b2fe1d8c61475371b856ceb88d26963)) - **bundled-dev:** serve `/@vite/client` and stub `@vite/env` ([#&#8203;23664](https://github.com/vitejs/vite/issues/23664)) ([5afc5a8](https://github.com/vitejs/vite/commit/5afc5a8876624888fc1e8f43fed1c85c4b0e830b)) - **client:** skip rewriting unchanged adopted styles ([#&#8203;23697](https://github.com/vitejs/vite/issues/23697)) ([fa71469](https://github.com/vitejs/vite/commit/fa7146938b0ca703653c90c20907191a01c032ba)) - **css:** resolve imported preprocessors from their file path with lightningcss ([#&#8203;23688](https://github.com/vitejs/vite/issues/23688)) ([cf52011](https://github.com/vitejs/vite/commit/cf52011c46409a4a45f3d74bba631b8f005c4bc9)) - **deps:** update all non-major dependencies ([#&#8203;23648](https://github.com/vitejs/vite/issues/23648)) ([8a4c19c](https://github.com/vitejs/vite/commit/8a4c19cfc035f2dd203f2fa6d00ab9256a5e77c9)) - **deps:** update rolldown-related dependencies ([#&#8203;23649](https://github.com/vitejs/vite/issues/23649)) ([794516d](https://github.com/vitejs/vite/commit/794516d50cff80e405bc9b3e5faac1c82987566c)) - **dev:** a restart requested during a restart used to be dropped (fix [#&#8203;23392](https://github.com/vitejs/vite/issues/23392)) ([#&#8203;23484](https://github.com/vitejs/vite/issues/23484)) ([70d56ea](https://github.com/vitejs/vite/commit/70d56ea1848909edab416934f3f68ce14343eb73)) - don't treat modules ending with js-like query as js ([#&#8203;23687](https://github.com/vitejs/vite/issues/23687)) ([fcb6f12](https://github.com/vitejs/vite/commit/fcb6f1252a95857823d935f98554b938888d41a0)) - **html:** avoid adding filesystem root to watcher ([#&#8203;23689](https://github.com/vitejs/vite/issues/23689)) ([3a7f2ae](https://github.com/vitejs/vite/commit/3a7f2aea757d59bae66ad6edf6b321d26a7e6778)) - **html:** skip caching CSS of chunks in a cycle (fix [#&#8203;23628](https://github.com/vitejs/vite/issues/23628)) ([#&#8203;23636](https://github.com/vitejs/vite/issues/23636)) ([15d82f7](https://github.com/vitejs/vite/commit/15d82f7dc679ab9c18d5ce2c3711157c2365ddd1)) - **optimizer:** scan deep imports with custom extensions ([#&#8203;23678](https://github.com/vitejs/vite/issues/23678)) ([8579189](https://github.com/vitejs/vite/commit/8579189bae8626b6ddab55a09325e209d62e027e)) - remove input option unescaping for now ([#&#8203;23694](https://github.com/vitejs/vite/issues/23694)) ([facc2fb](https://github.com/vitejs/vite/commit/facc2fb1fffce03d9e2dd7011d0bd0eeddc7d0f6)) - **server:** match static aliases on path boundaries ([#&#8203;23643](https://github.com/vitejs/vite/issues/23643)) ([b28db28](https://github.com/vitejs/vite/commit/b28db28e9e62d9866a9a0f1b22e74589cc180577)) - **watcher:** normalize file before root check in `ensureWatchedFile` ([#&#8203;23673](https://github.com/vitejs/vite/issues/23673)) ([12bb28c](https://github.com/vitejs/vite/commit/12bb28c22379c8d2fe90088fa0eefbfa2ab3fb80)) ##### Performance Improvements - **module-runner:** skip cloning call sites that have no source map ([#&#8203;23646](https://github.com/vitejs/vite/issues/23646)) ([3d67486](https://github.com/vitejs/vite/commit/3d674869a50a0bca84a8cc8dc55bd35d57100e37)) ##### Code Refactoring - **bundled-dev:** import CSS HMR helpers from `/@vite/client` ([#&#8203;23674](https://github.com/vitejs/vite/issues/23674)) ([182f5b2](https://github.com/vitejs/vite/commit/182f5b2a65391da5bee05f9c3df1aeb3794e98d9)) ### [`v8.3.3`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-833-2026-10-06-small) [Compare Source](https://github.com/vitejs/vite/compare/v8.3.2...v8.3.3) ##### Bug Fixes - **deps:** update launch-editor to v2.14.2 ([#&#8203;23654](https://github.com/vitejs/vite/issues/23654)) ([22fd1d5](https://github.com/vitejs/vite/commit/22fd1d5238cce2ee9db0eb4122f9e8feb6b06097)) - **html:** filename passed to transformIndexHtml should not include queries ([#&#8203;23653](https://github.com/vitejs/vite/issues/23653)) ([7dafd8e](https://github.com/vitejs/vite/commit/7dafd8e56f152403a3230608fa4005273c2e9e17)) - **server:** check `fs.serve` for `?vite-wasm-instance` ([#&#8203;23655](https://github.com/vitejs/vite/issues/23655)) ([ba8b7ab](https://github.com/vitejs/vite/commit/ba8b7ab43b4afa5d0292ab4b6e3a7b5033cc9c73)) - **server:** store ids to `safeModulePaths` rather than URLs ([#&#8203;23656](https://github.com/vitejs/vite/issues/23656)) ([c3e06f9](https://github.com/vitejs/vite/commit/c3e06f92e969952466b4e2f5801e85e1e00cd905)) ### [`v8.3.2`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-832-2026-10-01-small) [Compare Source](https://github.com/vitejs/vite/compare/v8.3.1...v8.3.2) ##### Bug Fixes - **build:** preload CSS correctly when `renderBuiltUrl` returns URLs with queries ([#&#8203;23611](https://github.com/vitejs/vite/issues/23611)) ([64e0a21](https://github.com/vitejs/vite/commit/64e0a215c24f0522b27b91f93cfd93e317b94481)) - **bundled-dev:** serve lazy chunk sourcemaps ([#&#8203;23026](https://github.com/vitejs/vite/issues/23026)) ([eb7aa9a](https://github.com/vitejs/vite/commit/eb7aa9a8816a1e926d5d9b4cbe7e796b61314ce2)) - **bundled-dev:** serve the rolldown runtime from the installed rolldown ([#&#8203;23568](https://github.com/vitejs/vite/issues/23568)) ([bc598a6](https://github.com/vitejs/vite/commit/bc598a6a8a6b7d6e157e9f19c16911cff8d2360c)) - **deps:** update all non-major dependencies ([#&#8203;23601](https://github.com/vitejs/vite/issues/23601)) ([9944fa6](https://github.com/vitejs/vite/commit/9944fa6033873f13ae88f59e023ab642c50fee2b)) - **deps:** update rolldown-related dependencies ([#&#8203;23602](https://github.com/vitejs/vite/issues/23602)) ([88c1741](https://github.com/vitejs/vite/commit/88c17415af221b3a13e778f4f2c0e907c8287baf)) - **html:** resolve percent-encoded srcset urls ([#&#8203;23609](https://github.com/vitejs/vite/issues/23609)) ([53f1ce7](https://github.com/vitejs/vite/commit/53f1ce7bfe38426861f6da572ef0e3359f6a80cd)) - limit size of object and array printing via `forwardConsole` ([#&#8203;23565](https://github.com/vitejs/vite/issues/23565)) ([e64a587](https://github.com/vitejs/vite/commit/e64a5877dd3e552843a545749ccc257568917d28)) - merge `build.rolldownOptions.output.minify` correctly ([#&#8203;23536](https://github.com/vitejs/vite/issues/23536)) ([bba3bb8](https://github.com/vitejs/vite/commit/bba3bb8beedd185948956e02667d450672632d79)) - **optimize-deps:** avoid "unsupported" warnings for browser:false mappings ([#&#8203;23590](https://github.com/vitejs/vite/issues/23590)) ([5e4b9ca](https://github.com/vitejs/vite/commit/5e4b9ca3dcb24b51f58a765fd2d852614bbf3574)) - **optimizer:** preserve excluded optional peer require fallbacks ([#&#8203;23600](https://github.com/vitejs/vite/issues/23600)) ([a2bd6fa](https://github.com/vitejs/vite/commit/a2bd6fa897c35c8a691671a7d70061c1cdd5c688)) - pass queries to `renderBuiltUrl` ([#&#8203;23586](https://github.com/vitejs/vite/issues/23586)) ([744269e](https://github.com/vitejs/vite/commit/744269e5b2a155074910ddd275aecf2b83938496)) - **server:** handle file watcher errors without crashing ([#&#8203;23503](https://github.com/vitejs/vite/issues/23503)) ([6894f5c](https://github.com/vitejs/vite/commit/6894f5cbceac589536a0efb476d881a47f5ab1c5)) - **server:** release previous environments after initialization ([#&#8203;23499](https://github.com/vitejs/vite/issues/23499)) ([5a3a010](https://github.com/vitejs/vite/commit/5a3a010eea4c9ebbdcc080819f93068d4e035bd4)) - **ssr:** encode whitespace in module runner sourceURL ([#&#8203;23513](https://github.com/vitejs/vite/issues/23513)) ([bbc8812](https://github.com/vitejs/vite/commit/bbc88129c967a8b8eedebd93acc82bee63b86b2a)) - **worker:** align worker urls in client and server when using terser ([#&#8203;23614](https://github.com/vitejs/vite/issues/23614)) ([24bd331](https://github.com/vitejs/vite/commit/24bd3316f3b2503d04a49361e365532bdb335e19)) ##### Performance Improvements - avoid encoding intermediate source maps ([#&#8203;23461](https://github.com/vitejs/vite/issues/23461)) ([89574f6](https://github.com/vitejs/vite/commit/89574f6d940a7273a53c5122a4477285801a696a)) - **build:** avoid quadratic link scan in the preload helper ([#&#8203;23510](https://github.com/vitejs/vite/issues/23510)) ([cf5c028](https://github.com/vitejs/vite/commit/cf5c0288d526824aead1b24e977400f13c527927)) - only register time middleware when debug logging is enabled ([#&#8203;23621](https://github.com/vitejs/vite/issues/23621)) ([94d0080](https://github.com/vitejs/vite/commit/94d0080345e23d63d4cd02df2f7fa2afae775c26)) ##### Documentation - fix dead og-image PNG links in vite6/vite7 changelog entries ([#&#8203;23594](https://github.com/vitejs/vite/issues/23594)) ([1929b4c](https://github.com/vitejs/vite/commit/1929b4cc5f38ad53781e3b07b8bdaa32cf18da07)) ##### Miscellaneous Chores - **deps:** update vitest monorepo to v5 ([#&#8203;23604](https://github.com/vitejs/vite/issues/23604)) ([24339f4](https://github.com/vitejs/vite/commit/24339f4339d64fd8b5bc37654ac14ccff5aee584)) ##### Code Refactoring - use `tinyexec` instead of `cross-spawn` ([#&#8203;23583](https://github.com/vitejs/vite/issues/23583)) ([db915e5](https://github.com/vitejs/vite/commit/db915e5c0edbe1359dcf0cea340c9571dc7f4ad9)) ##### Tests - **bundled-dev:** accept a rolldown dev runtime with no helper imports ([#&#8203;23606](https://github.com/vitejs/vite/issues/23606)) ([634745d](https://github.com/vitejs/vite/commit/634745dcc5648912bc32cb4de72ed8dd2230efa0)) ### [`v8.3.1`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-831-2026-09-24-small) [Compare Source](https://github.com/vitejs/vite/compare/v8.3.0...v8.3.1) ##### Bug Fixes - **deps:** update all non-major dependencies ([#&#8203;23482](https://github.com/vitejs/vite/issues/23482)) ([3c752c8](https://github.com/vitejs/vite/commit/3c752c8932bc0599465ba4a6d8f44aaf1e934c3d)) - **deps:** update all non-major dependencies ([#&#8203;23537](https://github.com/vitejs/vite/issues/23537)) ([e8990c4](https://github.com/vitejs/vite/commit/e8990c4d6101dfaca2654ed8ab4d0574ee920248)) - **deps:** update rolldown-related dependencies ([#&#8203;23483](https://github.com/vitejs/vite/issues/23483)) ([9aecbbf](https://github.com/vitejs/vite/commit/9aecbbfa5fb5da4b9981c099cb9746a9fd210806)) - handle `server.ws: false` in mergeConfig ([#&#8203;23511](https://github.com/vitejs/vite/issues/23511)) ([f68c0d5](https://github.com/vitejs/vite/commit/f68c0d5a28c96555431413e3e2cbe644337b087f)) - merge `build.rolldownOptions.output.comments` correctly ([#&#8203;23514](https://github.com/vitejs/vite/issues/23514)) ([4aba8d8](https://github.com/vitejs/vite/commit/4aba8d8720e82e4c5b694a4b7877755a3f84fc57)) - **optimizer:** don't skip imports whose binding starts with type ([#&#8203;23540](https://github.com/vitejs/vite/issues/23540)) ([39330f4](https://github.com/vitejs/vite/commit/39330f489a0ae08923557f0ce10a307d6662a3f5)) - **optimizer:** resolve pending discovered dep processing on close before init ([#&#8203;23567](https://github.com/vitejs/vite/issues/23567)) ([5f89433](https://github.com/vitejs/vite/commit/5f894339d27882fedc86bf6b1076fa6d92e404f3)) - **server:** avoid reinitializing watcher when adding file after server close ([#&#8203;23572](https://github.com/vitejs/vite/issues/23572)) ([6f831f9](https://github.com/vitejs/vite/commit/6f831f9b58ebda77638b514042ad8d160edfb928)) - **sourcemap:** skip URL source roots when injecting sources content ([#&#8203;23519](https://github.com/vitejs/vite/issues/23519)) ([04fc30a](https://github.com/vitejs/vite/commit/04fc30a4b91870e65a436b3420620a2e02a94a41)) ##### Miscellaneous Chores - merge prereleases in changelog ([#&#8203;23466](https://github.com/vitejs/vite/issues/23466)) ([99bd9d1](https://github.com/vitejs/vite/commit/99bd9d1d46153fa939f4a304cc0177db42e28776)) - **optimizer:** add debug log when waiting for dep before init ([#&#8203;23566](https://github.com/vitejs/vite/issues/23566)) ([63567c7](https://github.com/vitejs/vite/commit/63567c73ac132e6384fef384e6b9f7e8d5a37fff)) - update `optimizeDeps.include` comment ([#&#8203;23489](https://github.com/vitejs/vite/issues/23489)) ([6a84c72](https://github.com/vitejs/vite/commit/6a84c72100da4e4be4badb2d9a0026279b4df136)) ##### Code Refactoring - assets regexp use non-capture ([#&#8203;23491](https://github.com/vitejs/vite/issues/23491)) ([f4b4431](https://github.com/vitejs/vite/commit/f4b4431a2f9097fd9bbb7aaebbf1b63c4b54dea1)) - remove duplicate configurations ([#&#8203;23532](https://github.com/vitejs/vite/issues/23532)) ([9abd99b](https://github.com/vitejs/vite/commit/9abd99bfdd3117149d6faf87fc37bc9899b1c998)) - replace `find` with `some` ([#&#8203;23554](https://github.com/vitejs/vite/issues/23554)) ([af7cdf6](https://github.com/vitejs/vite/commit/af7cdf6964f124f58d66037e808fe687654948e2)) ### [`v8.3.0`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#830-2026-09-10) [Compare Source](https://github.com/vitejs/vite/compare/v8.2.4...v8.3.0) ##### Features - **build:** avoid settling seen preload dependencies for performance ([#&#8203;23446](https://github.com/vitejs/vite/issues/23446)) ([e6f6b3e](https://github.com/vitejs/vite/commit/e6f6b3e3119256daa837b2dc399058c8aa45b470)) - **devtools:** enable dev server integration ([#&#8203;23333](https://github.com/vitejs/vite/issues/23333)) ([68aeb8a](https://github.com/vitejs/vite/commit/68aeb8a3b5a5a2ccd505288999bae1a5e6942ee1)) - accept Rolldown watch options in `server.watch` ([#&#8203;23133](https://github.com/vitejs/vite/issues/23133)) ([1b5cfe3](https://github.com/vitejs/vite/commit/1b5cfe3d3777d4ceb7f35fcee9d3c4279316a084)) - add closeServer and closePreviewServer hooks ([#&#8203;23110](https://github.com/vitejs/vite/issues/23110)) ([e17d2d5](https://github.com/vitejs/vite/commit/e17d2d565b0288f169c7995adb2b192f917548e7)) - add top-level `tsconfig` option ([#&#8203;23310](https://github.com/vitejs/vite/issues/23310)) ([93164c3](https://github.com/vitejs/vite/commit/93164c3530a7b4fc7bbedfb986d6afa9546cdef3)) - add warning for unsupported hooks in plugin returned from `applyToEnvironment` hook ([#&#8203;23191](https://github.com/vitejs/vite/issues/23191)) ([fdef04f](https://github.com/vitejs/vite/commit/fdef04f112aadfea40ad3c448d96a49a04c168bd)) - **cli:** support naming the CPU profile via --profile \[name] ([#&#8203;23042](https://github.com/vitejs/vite/issues/23042)) ([a500dee](https://github.com/vitejs/vite/commit/a500deeb6f52d93ca501a0fc612a5392b939f2f5)) - **config:** warn on named imports from JSON modules ([#&#8203;23378](https://github.com/vitejs/vite/issues/23378)) ([472385e](https://github.com/vitejs/vite/commit/472385e6ec4b21e3167c7abf9769883d1c9675f8)) - **css:** minify style tag ([#&#8203;23183](https://github.com/vitejs/vite/issues/23183)) ([8156684](https://github.com/vitejs/vite/commit/8156684572bdcf73e9d8568ed67971f0467fab60)) - searched params attached to workers are now preserved ([#&#8203;22280](https://github.com/vitejs/vite/issues/22280)) ([517b97f](https://github.com/vitejs/vite/commit/517b97f57ab9473e7417da856eb641d76870a56e)) - support subpath imports in dynamic import statements ([#&#8203;23185](https://github.com/vitejs/vite/issues/23185)) ([b78e2f1](https://github.com/vitejs/vite/commit/b78e2f1bc1cba404c4bd9faf518d26ec85e89fc7)) - use `import.meta.ROLLDOWN_FILE_URL_*` for assets in JS ([#&#8203;22888](https://github.com/vitejs/vite/issues/22888)) ([4366ac4](https://github.com/vitejs/vite/commit/4366ac468343252df6d5706361a6348afa66f9cc)) - use `import.meta.ROLLDOWN_FILE_URL_*` for other plugins ([#&#8203;22894](https://github.com/vitejs/vite/issues/22894)) ([e38f29e](https://github.com/vitejs/vite/commit/e38f29ee48bea5ea3178faec5b78708e86f38afb)) - **worker:** remove worker chunk if it's detected that it's not referenced ([#&#8203;22473](https://github.com/vitejs/vite/issues/22473)) ([924997a](https://github.com/vitejs/vite/commit/924997a4bdda9115faee9bdb622fcec4fc8357f0)) ##### Bug Fixes - handle CRLF line endings in code frame positions ([#&#8203;23219](https://github.com/vitejs/vite/issues/23219)) ([9913672](https://github.com/vitejs/vite/commit/9913672bee9c34a2df7fff4c2538783cd4f43b4e)) - only treat whole `node_modules` path segments as dependencies (fix [#&#8203;17467](https://github.com/vitejs/vite/issues/17467)) ([#&#8203;23437](https://github.com/vitejs/vite/issues/23437)) ([ef0dc17](https://github.com/vitejs/vite/commit/ef0dc17ada53d1169ae5a89cb8f6482831466755)) - **build:** keep hash placeholders as-is in `resolveFileUrl` hook ([#&#8203;23422](https://github.com/vitejs/vite/issues/23422)) ([e8d6a4d](https://github.com/vitejs/vite/commit/e8d6a4d3399c739772080d70c7f3c4d548a637c9)) - **bundled-dev:** mark payload delivered on client report ([#&#8203;23373](https://github.com/vitejs/vite/issues/23373)) ([a6d43bc](https://github.com/vitejs/vite/commit/a6d43bc9e3464faa4d49f090e75e1ab334ffb7b0)) - **deps:** update all non-major dependencies ([#&#8203;23445](https://github.com/vitejs/vite/issues/23445)) ([fc7c104](https://github.com/vitejs/vite/commit/fc7c104e74d35a97fa313d5dd6f1b5e7d5b26159)) - **html:** don't inline preload link targets (fix [#&#8203;13355](https://github.com/vitejs/vite/issues/13355)) ([#&#8203;23387](https://github.com/vitejs/vite/issues/23387)) ([12e709c](https://github.com/vitejs/vite/commit/12e709ca4df1059747db1cb7c5d1cd71aba79a24)) - resolve the actual package root in findNearestMainPackageData for nested package.json ([#&#8203;23356](https://github.com/vitejs/vite/issues/23356)) ([8492422](https://github.com/vitejs/vite/commit/8492422b8f110625a90c702f42f30784e8cf19dc)) - shortcuts extend error ([#&#8203;23447](https://github.com/vitejs/vite/issues/23447)) ([4ec58d1](https://github.com/vitejs/vite/commit/4ec58d159df4a1b4799356a1fda62db88ed14752)) - **config:** close bundles when generation fails ([#&#8203;23256](https://github.com/vitejs/vite/issues/23256)) ([6bacc95](https://github.com/vitejs/vite/commit/6bacc956df5a76cc5653b9de4493453b953439fd)) - **css:** keep newline-separated srcset candidates intact ([#&#8203;23265](https://github.com/vitejs/vite/issues/23265)) ([4f9d2f4](https://github.com/vitejs/vite/commit/4f9d2f4dadc83191200de7d2154c957a711e8c3d)) - **deps:** update all non-major dependencies ([#&#8203;23337](https://github.com/vitejs/vite/issues/23337)) ([d550815](https://github.com/vitejs/vite/commit/d55081581ddd4d55667fef38e85d02ab7f879f15)) - **deps:** update all non-major dependencies ([#&#8203;23404](https://github.com/vitejs/vite/issues/23404)) ([238ad81](https://github.com/vitejs/vite/commit/238ad811c7fb9e4730cbd317d0657867ed3447b3)) - **deps:** update rolldown-related dependencies ([#&#8203;23338](https://github.com/vitejs/vite/issues/23338)) ([76e8082](https://github.com/vitejs/vite/commit/76e8082c56a2872dc8017c5672bc36cba8dcf75d)) - **deps:** update rolldown-related dependencies ([#&#8203;23405](https://github.com/vitejs/vite/issues/23405)) ([b882566](https://github.com/vitejs/vite/commit/b88256607e3a051b7bcb0b338b3c4665926b55a8)) - **dev:** run closeBundle after buildEnd failure ([#&#8203;23165](https://github.com/vitejs/vite/issues/23165)) ([8cb872e](https://github.com/vitejs/vite/commit/8cb872e7fb65b03f6068923c6aa7fcf3e71baf21)) - **hmr:** handle `import.meta.hot.invalidate` in virtual module ([#&#8203;23171](https://github.com/vitejs/vite/issues/23171)) ([6162968](https://github.com/vitejs/vite/commit/616296895bd135386d35069a479a5f188c7de298)) - **utils:** handle dot in srcset density descriptor ([#&#8203;23346](https://github.com/vitejs/vite/issues/23346)) ([b50e1b4](https://github.com/vitejs/vite/commit/b50e1b4a3d66128a4076e19769b2e29657985516)) - **utils:** match timestamp query parameter with proper delimiters ([#&#8203;23364](https://github.com/vitejs/vite/issues/23364)) ([41f3c6f](https://github.com/vitejs/vite/commit/41f3c6fff88ade015669cac5c42db946e0b6f5c9)) ##### Performance Improvements - **proxy:** pre-compile context matchers at server creation ([#&#8203;23263](https://github.com/vitejs/vite/issues/23263)) ([8abf700](https://github.com/vitejs/vite/commit/8abf700eeb2411d8402d08f8e2696effafdbe774)) ##### Miscellaneous Chores - introducing `@e18e/eslint-plugin` ([#&#8203;23357](https://github.com/vitejs/vite/issues/23357)) ([f794133](https://github.com/vitejs/vite/commit/f79413353995a2344879014410a9128b1b9f8e9a)) - remove unnecessary comment ([#&#8203;23448](https://github.com/vitejs/vite/issues/23448)) ([b919a1a](https://github.com/vitejs/vite/commit/b919a1a8b5a7c694667f993d677973f42d349458)) - delete unused `PluginContainerOptions` ([#&#8203;23382](https://github.com/vitejs/vite/issues/23382)) ([ee64401](https://github.com/vitejs/vite/commit/ee644014aab61e546742b862a7d7b0d6c7d67a7b)) - use oxfmt `sortImports` ([#&#8203;23319](https://github.com/vitejs/vite/issues/23319)) ([97ad042](https://github.com/vitejs/vite/commit/97ad042170f4c71b518239723b733dd98e8e3e76)) ##### Code Refactoring - delete unused `esbuildPlugin` ([#&#8203;23381](https://github.com/vitejs/vite/issues/23381)) ([f40efef](https://github.com/vitejs/vite/commit/f40efefbb3630cdb7235286bc2b51673d9fbfc27)) - exclude postfix from `__VITE_ASSET__` ([#&#8203;22886](https://github.com/vitejs/vite/issues/22886)) ([a6c08e1](https://github.com/vitejs/vite/commit/a6c08e10a624bd89b78683ff1b0e8cfa1d89aa45)) - remove HmrUrl concept ([#&#8203;23172](https://github.com/vitejs/vite/issues/23172)) ([67a6807](https://github.com/vitejs/vite/commit/67a680767317f8e2cb28b6b0500192f993a567cf)) - use `urlId` of `import.meta.ROLLDOWN_FILE_URL` in wasm plugin ([#&#8203;22962](https://github.com/vitejs/vite/issues/22962)) ([92bd2a7](https://github.com/vitejs/vite/commit/92bd2a7f325ed102349cdc6c1ad4b5cd25e1d72f)) ##### Tests - add `renderBuiltUrl` change changes hash ([#&#8203;23118](https://github.com/vitejs/vite/issues/23118)) ([0291408](https://github.com/vitejs/vite/commit/0291408b8443129ce6f6d1d440be8facabe9683b)) ##### Beta Changelogs ##### [8.3.0-beta.1](https://github.com/vitejs/vite/compare/v8.3.0-beta.0...v8.3.0-beta.1) (2026-09-07) See [8.3.0-beta.1 changelog](https://github.com/vitejs/vite/blob/v8.3.0-beta.1/packages/vite/CHANGELOG.md) ##### [8.3.0-beta.0](https://github.com/vitejs/vite/compare/v8.2.2...v8.3.0-beta.0) (2026-09-02) See [8.3.0-beta.0 changelog](https://github.com/vitejs/vite/blob/v8.3.0-beta.0/packages/vite/CHANGELOG.md) ### [`v8.2.4`](https://github.com/vitejs/vite/releases/tag/v8.2.4) [Compare Source](https://github.com/vitejs/vite/compare/v8.2.2...v8.2.4) Please refer to [CHANGELOG.md](https://github.com/vitejs/vite/blob/v8.2.4/packages/vite/CHANGELOG.md) for details. ### [`v8.2.2`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#830-2026-09-10) [Compare Source](https://github.com/vitejs/vite/compare/v8.2.1...v8.2.2) ##### Features - **build:** avoid settling seen preload dependencies for performance ([#&#8203;23446](https://github.com/vitejs/vite/issues/23446)) ([e6f6b3e](https://github.com/vitejs/vite/commit/e6f6b3e3119256daa837b2dc399058c8aa45b470)) - **devtools:** enable dev server integration ([#&#8203;23333](https://github.com/vitejs/vite/issues/23333)) ([68aeb8a](https://github.com/vitejs/vite/commit/68aeb8a3b5a5a2ccd505288999bae1a5e6942ee1)) - accept Rolldown watch options in `server.watch` ([#&#8203;23133](https://github.com/vitejs/vite/issues/23133)) ([1b5cfe3](https://github.com/vitejs/vite/commit/1b5cfe3d3777d4ceb7f35fcee9d3c4279316a084)) - add closeServer and closePreviewServer hooks ([#&#8203;23110](https://github.com/vitejs/vite/issues/23110)) ([e17d2d5](https://github.com/vitejs/vite/commit/e17d2d565b0288f169c7995adb2b192f917548e7)) - add top-level `tsconfig` option ([#&#8203;23310](https://github.com/vitejs/vite/issues/23310)) ([93164c3](https://github.com/vitejs/vite/commit/93164c3530a7b4fc7bbedfb986d6afa9546cdef3)) - add warning for unsupported hooks in plugin returned from `applyToEnvironment` hook ([#&#8203;23191](https://github.com/vitejs/vite/issues/23191)) ([fdef04f](https://github.com/vitejs/vite/commit/fdef04f112aadfea40ad3c448d96a49a04c168bd)) - **cli:** support naming the CPU profile via --profile \[name] ([#&#8203;23042](https://github.com/vitejs/vite/issues/23042)) ([a500dee](https://github.com/vitejs/vite/commit/a500deeb6f52d93ca501a0fc612a5392b939f2f5)) - **config:** warn on named imports from JSON modules ([#&#8203;23378](https://github.com/vitejs/vite/issues/23378)) ([472385e](https://github.com/vitejs/vite/commit/472385e6ec4b21e3167c7abf9769883d1c9675f8)) - **css:** minify style tag ([#&#8203;23183](https://github.com/vitejs/vite/issues/23183)) ([8156684](https://github.com/vitejs/vite/commit/8156684572bdcf73e9d8568ed67971f0467fab60)) - searched params attached to workers are now preserved ([#&#8203;22280](https://github.com/vitejs/vite/issues/22280)) ([517b97f](https://github.com/vitejs/vite/commit/517b97f57ab9473e7417da856eb641d76870a56e)) - support subpath imports in dynamic import statements ([#&#8203;23185](https://github.com/vitejs/vite/issues/23185)) ([b78e2f1](https://github.com/vitejs/vite/commit/b78e2f1bc1cba404c4bd9faf518d26ec85e89fc7)) - use `import.meta.ROLLDOWN_FILE_URL_*` for assets in JS ([#&#8203;22888](https://github.com/vitejs/vite/issues/22888)) ([4366ac4](https://github.com/vitejs/vite/commit/4366ac468343252df6d5706361a6348afa66f9cc)) - use `import.meta.ROLLDOWN_FILE_URL_*` for other plugins ([#&#8203;22894](https://github.com/vitejs/vite/issues/22894)) ([e38f29e](https://github.com/vitejs/vite/commit/e38f29ee48bea5ea3178faec5b78708e86f38afb)) - **worker:** remove worker chunk if it's detected that it's not referenced ([#&#8203;22473](https://github.com/vitejs/vite/issues/22473)) ([924997a](https://github.com/vitejs/vite/commit/924997a4bdda9115faee9bdb622fcec4fc8357f0)) ##### Bug Fixes - handle CRLF line endings in code frame positions ([#&#8203;23219](https://github.com/vitejs/vite/issues/23219)) ([9913672](https://github.com/vitejs/vite/commit/9913672bee9c34a2df7fff4c2538783cd4f43b4e)) - only treat whole `node_modules` path segments as dependencies (fix [#&#8203;17467](https://github.com/vitejs/vite/issues/17467)) ([#&#8203;23437](https://github.com/vitejs/vite/issues/23437)) ([ef0dc17](https://github.com/vitejs/vite/commit/ef0dc17ada53d1169ae5a89cb8f6482831466755)) - **build:** keep hash placeholders as-is in `resolveFileUrl` hook ([#&#8203;23422](https://github.com/vitejs/vite/issues/23422)) ([e8d6a4d](https://github.com/vitejs/vite/commit/e8d6a4d3399c739772080d70c7f3c4d548a637c9)) - **bundled-dev:** mark payload delivered on client report ([#&#8203;23373](https://github.com/vitejs/vite/issues/23373)) ([a6d43bc](https://github.com/vitejs/vite/commit/a6d43bc9e3464faa4d49f090e75e1ab334ffb7b0)) - **deps:** update all non-major dependencies ([#&#8203;23445](https://github.com/vitejs/vite/issues/23445)) ([fc7c104](https://github.com/vitejs/vite/commit/fc7c104e74d35a97fa313d5dd6f1b5e7d5b26159)) - **html:** don't inline preload link targets (fix [#&#8203;13355](https://github.com/vitejs/vite/issues/13355)) ([#&#8203;23387](https://github.com/vitejs/vite/issues/23387)) ([12e709c](https://github.com/vitejs/vite/commit/12e709ca4df1059747db1cb7c5d1cd71aba79a24)) - resolve the actual package root in findNearestMainPackageData for nested package.json ([#&#8203;23356](https://github.com/vitejs/vite/issues/23356)) ([8492422](https://github.com/vitejs/vite/commit/8492422b8f110625a90c702f42f30784e8cf19dc)) - shortcuts extend error ([#&#8203;23447](https://github.com/vitejs/vite/issues/23447)) ([4ec58d1](https://github.com/vitejs/vite/commit/4ec58d159df4a1b4799356a1fda62db88ed14752)) - **config:** close bundles when generation fails ([#&#8203;23256](https://github.com/vitejs/vite/issues/23256)) ([6bacc95](https://github.com/vitejs/vite/commit/6bacc956df5a76cc5653b9de4493453b953439fd)) - **css:** keep newline-separated srcset candidates intact ([#&#8203;23265](https://github.com/vitejs/vite/issues/23265)) ([4f9d2f4](https://github.com/vitejs/vite/commit/4f9d2f4dadc83191200de7d2154c957a711e8c3d)) - **deps:** update all non-major dependencies ([#&#8203;23337](https://github.com/vitejs/vite/issues/23337)) ([d550815](https://github.com/vitejs/vite/commit/d55081581ddd4d55667fef38e85d02ab7f879f15)) - **deps:** update all non-major dependencies ([#&#8203;23404](https://github.com/vitejs/vite/issues/23404)) ([238ad81](https://github.com/vitejs/vite/commit/238ad811c7fb9e4730cbd317d0657867ed3447b3)) - **deps:** update rolldown-related dependencies ([#&#8203;23338](https://github.com/vitejs/vite/issues/23338)) ([76e8082](https://github.com/vitejs/vite/commit/76e8082c56a2872dc8017c5672bc36cba8dcf75d)) - **deps:** update rolldown-related dependencies ([#&#8203;23405](https://github.com/vitejs/vite/issues/23405)) ([b882566](https://github.com/vitejs/vite/commit/b88256607e3a051b7bcb0b338b3c4665926b55a8)) - **dev:** run closeBundle after buildEnd failure ([#&#8203;23165](https://github.com/vitejs/vite/issues/23165)) ([8cb872e](https://github.com/vitejs/vite/commit/8cb872e7fb65b03f6068923c6aa7fcf3e71baf21)) - **hmr:** handle `import.meta.hot.invalidate` in virtual module ([#&#8203;23171](https://github.com/vitejs/vite/issues/23171)) ([6162968](https://github.com/vitejs/vite/commit/616296895bd135386d35069a479a5f188c7de298)) - **utils:** handle dot in srcset density descriptor ([#&#8203;23346](https://github.com/vitejs/vite/issues/23346)) ([b50e1b4](https://github.com/vitejs/vite/commit/b50e1b4a3d66128a4076e19769b2e29657985516)) - **utils:** match timestamp query parameter with proper delimiters ([#&#8203;23364](https://github.com/vitejs/vite/issues/23364)) ([41f3c6f](https://github.com/vitejs/vite/commit/41f3c6fff88ade015669cac5c42db946e0b6f5c9)) ##### Performance Improvements - **proxy:** pre-compile context matchers at server creation ([#&#8203;23263](https://github.com/vitejs/vite/issues/23263)) ([8abf700](https://github.com/vitejs/vite/commit/8abf700eeb2411d8402d08f8e2696effafdbe774)) ##### Miscellaneous Chores - introducing `@e18e/eslint-plugin` ([#&#8203;23357](https://github.com/vitejs/vite/issues/23357)) ([f794133](https://github.com/vitejs/vite/commit/f79413353995a2344879014410a9128b1b9f8e9a)) - remove unnecessary comment ([#&#8203;23448](https://github.com/vitejs/vite/issues/23448)) ([b919a1a](https://github.com/vitejs/vite/commit/b919a1a8b5a7c694667f993d677973f42d349458)) - delete unused `PluginContainerOptions` ([#&#8203;23382](https://github.com/vitejs/vite/issues/23382)) ([ee64401](https://github.com/vitejs/vite/commit/ee644014aab61e546742b862a7d7b0d6c7d67a7b)) - use oxfmt `sortImports` ([#&#8203;23319](https://github.com/vitejs/vite/issues/23319)) ([97ad042](https://github.com/vitejs/vite/commit/97ad042170f4c71b518239723b733dd98e8e3e76)) ##### Code Refactoring - delete unused `esbuildPlugin` ([#&#8203;23381](https://github.com/vitejs/vite/issues/23381)) ([f40efef](https://github.com/vitejs/vite/commit/f40efefbb3630cdb7235286bc2b51673d9fbfc27)) - exclude postfix from `__VITE_ASSET__` ([#&#8203;22886](https://github.com/vitejs/vite/issues/22886)) ([a6c08e1](https://github.com/vitejs/vite/commit/a6c08e10a624bd89b78683ff1b0e8cfa1d89aa45)) - remove HmrUrl concept ([#&#8203;23172](https://github.com/vitejs/vite/issues/23172)) ([67a6807](https://github.com/vitejs/vite/commit/67a680767317f8e2cb28b6b0500192f993a567cf)) - use `urlId` of `import.meta.ROLLDOWN_FILE_URL` in wasm plugin ([#&#8203;22962](https://github.com/vitejs/vite/issues/22962)) ([92bd2a7](https://github.com/vitejs/vite/commit/92bd2a7f325ed102349cdc6c1ad4b5cd25e1d72f)) ##### Tests - add `renderBuiltUrl` change changes hash ([#&#8203;23118](https://github.com/vitejs/vite/issues/23118)) ([0291408](https://github.com/vitejs/vite/commit/0291408b8443129ce6f6d1d440be8facabe9683b)) ##### Beta Changelogs ##### [8.3.0-beta.1](https://github.com/vitejs/vite/compare/v8.3.0-beta.0...v8.3.0-beta.1) (2026-09-07) See [8.3.0-beta.1 changelog](https://github.com/vitejs/vite/blob/v8.3.0-beta.1/packages/vite/CHANGELOG.md) ##### [8.3.0-beta.0](https://github.com/vitejs/vite/compare/v8.2.2...v8.3.0-beta.0) (2026-09-02) See [8.3.0-beta.0 changelog](https://github.com/vitejs/vite/blob/v8.3.0-beta.0/packages/vite/CHANGELOG.md) ### [`v8.2.1`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-821-2026-08-06-small) [Compare Source](https://github.com/vitejs/vite/compare/v8.2.0...v8.2.1) ##### Bug Fixes - **build:** make client chunkImportMap work with `sharedPlugins: true` ([#&#8203;23184](https://github.com/vitejs/vite/issues/23184)) ([15f0307](https://github.com/vitejs/vite/commit/15f03073c915d6ffb9a1fda447ef66b02bf5cde8)) - **bundled-dev:** inject client script tag before chunk scripts ([#&#8203;23161](https://github.com/vitejs/vite/issues/23161)) ([eac0cc8](https://github.com/vitejs/vite/commit/eac0cc84aa2472a85a19ee84561c1ba71e381a55)) - **css:** don't re-run lightningcss visitor during minify (fix [#&#8203;23146](https://github.com/vitejs/vite/issues/23146)) ([#&#8203;23147](https://github.com/vitejs/vite/issues/23147)) ([de041a7](https://github.com/vitejs/vite/commit/de041a79b05a0be965c874592fe2c1505bcd48df)) - **deps:** update all non-major dependencies ([#&#8203;23136](https://github.com/vitejs/vite/issues/23136)) ([14454fd](https://github.com/vitejs/vite/commit/14454fd8c9a399bc3fdc193e28465b6fcf001e4d)) - **deps:** update rolldown-related dependencies ([#&#8203;23070](https://github.com/vitejs/vite/issues/23070)) ([7ac6f7f](https://github.com/vitejs/vite/commit/7ac6f7f590747bbdab9958e2c016e3dd04f10542)) - don't mutate the user config when resolving the lib entry from the top-level `input` ([#&#8203;23135](https://github.com/vitejs/vite/issues/23135)) ([b4bf596](https://github.com/vitejs/vite/commit/b4bf59686a7ac238929e91a6e1708c739b843a2f)) - handle shebang ending with uncommon line terminators ([#&#8203;23038](https://github.com/vitejs/vite/issues/23038)) ([17f7b2f](https://github.com/vitejs/vite/commit/17f7b2f193a110d0b47742ad296d182cb4666ce7)) - **server:** use a random port when port is 0 ([#&#8203;23158](https://github.com/vitejs/vite/issues/23158)) ([fddf4ea](https://github.com/vitejs/vite/commit/fddf4ea41de5f7889037a2f957438857ac12a260)) ##### Performance Improvements - **css:** look up pure CSS chunks through a Set ([#&#8203;23114](https://github.com/vitejs/vite/issues/23114)) ([1331b0b](https://github.com/vitejs/vite/commit/1331b0b438b1e7193effb7d2341660bccb9c3155)) ##### Documentation - **build:** fix incomplete `@default` for build.minify ([#&#8203;23177](https://github.com/vitejs/vite/issues/23177)) ([ef02435](https://github.com/vitejs/vite/commit/ef02435114c57d0422028f0e6987f3df8db72969)) ##### Miscellaneous Chores - **deps:** update dependency rolldown-plugin-dts to ^0.28.0 ([#&#8203;23137](https://github.com/vitejs/vite/issues/23137)) ([4adc1e7](https://github.com/vitejs/vite/commit/4adc1e7931d4beceb4e236d9a271d057c858a06f)) - **deps:** update dependency strip-literal to v4 ([#&#8203;23140](https://github.com/vitejs/vite/issues/23140)) ([9db65ce](https://github.com/vitejs/vite/commit/9db65ce63488ea8f08a3c98dcdc4282b17bd33ff)) ##### Code Refactoring - **bundled-dev:** avoid injecting server values in the bundle ([#&#8203;22967](https://github.com/vitejs/vite/issues/22967)) ([23b8a08](https://github.com/vitejs/vite/commit/23b8a088dec9dcc3f1c1353f2074f8644b3cc21f)) - **bundled-dev:** remove rolldown lazy stub module workaround ([#&#8203;23129](https://github.com/vitejs/vite/issues/23129)) ([e72036e](https://github.com/vitejs/vite/commit/e72036eed2e28936ed824971b18aeaa3900857f6)) ##### Tests - **bundled-dev:** enable sourcemap playgrounds ([#&#8203;23080](https://github.com/vitejs/vite/issues/23080)) ([c2155fe](https://github.com/vitejs/vite/commit/c2155fe4d5c8d25fba3a7366d367e3296ae669fa)) - reduce logs ([#&#8203;23138](https://github.com/vitejs/vite/issues/23138)) ([7673c02](https://github.com/vitejs/vite/commit/7673c02e53343ae9356c1f496c1c1da2eb732ac1)) ### [`v8.2.0`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#820-2026-07-30) [Compare Source](https://github.com/vitejs/vite/compare/v8.1.6...v8.2.0) ##### Features - add `input` to `server.fs.allow` ([#&#8203;23035](https://github.com/vitejs/vite/issues/23035)) ([95a3cda](https://github.com/vitejs/vite/commit/95a3cdab83e1125b03d2e8dd942fb6b64209e5fa)) - **bundled-dev:** reload once after rebuild instead of via the fallback page ([#&#8203;23106](https://github.com/vitejs/vite/issues/23106)) ([b24381d](https://github.com/vitejs/vite/commit/b24381d741941b9ce2b1c07db62cc5f4d7bad981)) - **bundled-dev:** support worker file update accepted by HMR ([#&#8203;23068](https://github.com/vitejs/vite/issues/23068)) ([0d04351](https://github.com/vitejs/vite/commit/0d04351fdc12258c75b9f1cda5780fdb836ed0ef)) - **config:** include column in config incompatibility location ([#&#8203;23064](https://github.com/vitejs/vite/issues/23064)) ([8a24572](https://github.com/vitejs/vite/commit/8a245726944ed29225920d49be77c33c6e03afc8)) - **dev:** resolve interface name for explicit host in network URLs ([#&#8203;22965](https://github.com/vitejs/vite/issues/22965)) ([3ac77d9](https://github.com/vitejs/vite/commit/3ac77d9dd742968961af38a5a91ed6b061ceda7d)) - add `input` option ([#&#8203;22642](https://github.com/vitejs/vite/issues/22642)) ([9beae37](https://github.com/vitejs/vite/commit/9beae37d7221b25463a011feb40b0303ca328d87)) - **config:** warn features incompatible with native loader in bundle loader ([#&#8203;22850](https://github.com/vitejs/vite/issues/22850)) ([05302b0](https://github.com/vitejs/vite/commit/05302b07267f6b4f9dbeac5b1d73fcc3dc06d730)) - **css:** export PostCSS config type for type-safe configs ([#&#8203;22792](https://github.com/vitejs/vite/issues/22792)) ([302c755](https://github.com/vitejs/vite/commit/302c755a8125b9a26214e3b413922b5513e41981)) - **dev:** label network URLs with their interface name ([#&#8203;22830](https://github.com/vitejs/vite/issues/22830)) ([78accc4](https://github.com/vitejs/vite/commit/78accc42a5b8887d9df624f7d4a934d3ead677d1)) - **optimizer:** support aube lockfile ([#&#8203;22813](https://github.com/vitejs/vite/issues/22813)) ([6319827](https://github.com/vitejs/vite/commit/6319827116c5be2a19c1b91c84ba3d38ad26a41c)) - **optimizer:** support nub lockfile ([#&#8203;22891](https://github.com/vitejs/vite/issues/22891)) ([65d3604](https://github.com/vitejs/vite/commit/65d3604f6fdbfcf6e86244d7fe3c1ca86acae701)) - update rolldown-related dependencies and use client-side HMR in bundled-dev ([#&#8203;22961](https://github.com/vitejs/vite/issues/22961)) ([960e9ef](https://github.com/vitejs/vite/commit/960e9efbc1372000caac46cc2f123cef4824e2bb)) - **wasm:** expand test suite, unwrap WebAssembly.Global and enable js-string builtins ([#&#8203;22674](https://github.com/vitejs/vite/issues/22674)) ([9e79b51](https://github.com/vitejs/vite/commit/9e79b51579457a9af4fa623b68a0bfabbf38010b)) ##### Bug Fixes - **bundledDev:** print build errors to the terminal when an HMR update fails ([#&#8203;23024](https://github.com/vitejs/vite/issues/23024)) ([41c4658](https://github.com/vitejs/vite/commit/41c465896e8b11b1eb9c5fbdafbdcc528e189a2c)) - **deps:** update all non-major dependencies ([#&#8203;23069](https://github.com/vitejs/vite/issues/23069)) ([4c07b74](https://github.com/vitejs/vite/commit/4c07b74416f859d7e8bdace13409ef2d080edf76)) - **hmr:** preserve environment snapshot during server restart ([#&#8203;22992](https://github.com/vitejs/vite/issues/22992)) ([b1186c3](https://github.com/vitejs/vite/commit/b1186c36d06bb94941c58e8272fc4acb8512c93b)) - **importAnalysis:** interop imports injected into optimized dep files by plugins ([#&#8203;23029](https://github.com/vitejs/vite/issues/23029)) ([8c2a87d](https://github.com/vitejs/vite/commit/8c2a87d41fb24536e59643351758084cde4d0dd7)) - **module-runner:** keep stack trace interception working when `Object.prototype` is frozen ([#&#8203;23073](https://github.com/vitejs/vite/issues/23073)) ([599c5b0](https://github.com/vitejs/vite/commit/599c5b02a8b6879b05ede988020f1331e877aaea)) - **server:** strip base in indexHtml module graph lookup ([#&#8203;22932](https://github.com/vitejs/vite/issues/22932)) ([fa005d1](https://github.com/vitejs/vite/commit/fa005d19af5d847931c6dbefc63841c137383e6c)) - support resolving top-level input option with plugins ([#&#8203;23101](https://github.com/vitejs/vite/issues/23101)) ([41df81a](https://github.com/vitejs/vite/commit/41df81a6a4c3eef08f7a9a8ac9530cd136c0eafa)) - **build:** map CSS chunks in chunk import maps (fix [#&#8203;22946](https://github.com/vitejs/vite/issues/22946)) ([#&#8203;22947](https://github.com/vitejs/vite/issues/22947)) ([e16ff3a](https://github.com/vitejs/vite/commit/e16ff3a1199293ac9cdfa6132c08fdea162215f3)) - **config:** exclude virtual modules from native config compat check ([#&#8203;22979](https://github.com/vitejs/vite/issues/22979)) ([2ced1fe](https://github.com/vitejs/vite/commit/2ced1fe4e4e480ed78cb7aa5c78319e57bfa7783)) - **css:** rewrite urls in OnceExit-injected content ([#&#8203;22983](https://github.com/vitejs/vite/issues/22983)) ([abb793e](https://github.com/vitejs/vite/commit/abb793e18c92592c21fbb8e1f3fc450b5839f04f)) - **deps:** update all non-major dependencies ([#&#8203;22985](https://github.com/vitejs/vite/issues/22985)) ([04f345b](https://github.com/vitejs/vite/commit/04f345b37064cd0bba6447eb5c32be5c22162f3d)) - **deps:** update dependency magic-string to v1 ([#&#8203;22998](https://github.com/vitejs/vite/issues/22998)) ([c60b4d7](https://github.com/vitejs/vite/commit/c60b4d7cdb85b7d4f78671cdcfb863e5f8b66bb7)) - **hmr:** remove hot data after prune ([#&#8203;23002](https://github.com/vitejs/vite/issues/23002)) ([be96316](https://github.com/vitejs/vite/commit/be9631658f5191ee5c5665e780239d42a330280a)) - resolve root to real path ([#&#8203;22832](https://github.com/vitejs/vite/issues/22832)) ([55bba7b](https://github.com/vitejs/vite/commit/55bba7bbd9de40d031360e4408fe91bff5b29ec9)) ##### Performance Improvements - **config:** skip native config compat check when warning is ignored ([#&#8203;23000](https://github.com/vitejs/vite/issues/23000)) ([18535d1](https://github.com/vitejs/vite/commit/18535d11cff9ce2a508798146a29d56a8fc5d901)) - **optimizer:** check popular package manager lockfiles first ([#&#8203;22909](https://github.com/vitejs/vite/issues/22909)) ([14fcb66](https://github.com/vitejs/vite/commit/14fcb66c7513957beea28de9657d15936ad48728)) ##### Documentation - **config:** correct cacheDir default fallback description ([#&#8203;23060](https://github.com/vitejs/vite/issues/23060)) ([aafa103](https://github.com/vitejs/vite/commit/aafa103af5d71fb59d7c3dd617d0cbef3b222f1f)) - remove `@experimental` from `resolve.tsconfigPaths` JSDoc ([#&#8203;23006](https://github.com/vitejs/vite/issues/23006)) ([961643a](https://github.com/vitejs/vite/commit/961643a44c2268b4226a885c89adfdd1d3ace635)) ##### Miscellaneous Chores - fix ts erros in test cases ([#&#8203;22972](https://github.com/vitejs/vite/issues/22972)) ([f654769](https://github.com/vitejs/vite/commit/f6547698b1b71387d7337b8ceac92d9b8aa68e1c)) ##### Tests - config CJS module vars in ESM case ([#&#8203;23010](https://github.com/vitejs/vite/issues/23010)) ([d8cd388](https://github.com/vitejs/vite/commit/d8cd38830251b95fd7dddcd0eee0ce94cc61c2f4)) ##### Beta Changelogs ##### [8.2.0-beta.0](https://github.com/vitejs/vite/compare/v8.1.5...v8.2.0-beta.0) (2026-07-22) See [8.2.0-beta.0 changelog](https://github.com/vitejs/vite/blob/v8.2.0-beta.0/packages/vite/CHANGELOG.md) ### [`v8.1.6`](https://github.com/vitejs/vite/releases/tag/v8.1.6) [Compare Source](https://github.com/vitejs/vite/compare/v8.1.5...v8.1.6) Please refer to [CHANGELOG.md](https://github.com/vitejs/vite/blob/v8.1.6/packages/vite/CHANGELOG.md) for details. ### [`v8.1.5`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#820-2026-07-30) [Compare Source](https://github.com/vitejs/vite/compare/v8.1.4...v8.1.5) ##### Features - add `input` to `server.fs.allow` ([#&#8203;23035](https://github.com/vitejs/vite/issues/23035)) ([95a3cda](https://github.com/vitejs/vite/commit/95a3cdab83e1125b03d2e8dd942fb6b64209e5fa)) - **bundled-dev:** reload once after rebuild instead of via the fallback page ([#&#8203;23106](https://github.com/vitejs/vite/issues/23106)) ([b24381d](https://github.com/vitejs/vite/commit/b24381d741941b9ce2b1c07db62cc5f4d7bad981)) - **bundled-dev:** support worker file update accepted by HMR ([#&#8203;23068](https://github.com/vitejs/vite/issues/23068)) ([0d04351](https://github.com/vitejs/vite/commit/0d04351fdc12258c75b9f1cda5780fdb836ed0ef)) - **config:** include column in config incompatibility location ([#&#8203;23064](https://github.com/vitejs/vite/issues/23064)) ([8a24572](https://github.com/vitejs/vite/commit/8a245726944ed29225920d49be77c33c6e03afc8)) - **dev:** resolve interface name for explicit host in network URLs ([#&#8203;22965](https://github.com/vitejs/vite/issues/22965)) ([3ac77d9](https://github.com/vitejs/vite/commit/3ac77d9dd742968961af38a5a91ed6b061ceda7d)) - add `input` option ([#&#8203;22642](https://github.com/vitejs/vite/issues/22642)) ([9beae37](https://github.com/vitejs/vite/commit/9beae37d7221b25463a011feb40b0303ca328d87)) - **config:** warn features incompatible with native loader in bundle loader ([#&#8203;22850](https://github.com/vitejs/vite/issues/22850)) ([05302b0](https://github.com/vitejs/vite/commit/05302b07267f6b4f9dbeac5b1d73fcc3dc06d730)) - **css:** export PostCSS config type for type-safe configs ([#&#8203;22792](https://github.com/vitejs/vite/issues/22792)) ([302c755](https://github.com/vitejs/vite/commit/302c755a8125b9a26214e3b413922b5513e41981)) - **dev:** label network URLs with their interface name ([#&#8203;22830](https://github.com/vitejs/vite/issues/22830)) ([78accc4](https://github.com/vitejs/vite/commit/78accc42a5b8887d9df624f7d4a934d3ead677d1)) - **optimizer:** support aube lockfile ([#&#8203;22813](https://github.com/vitejs/vite/issues/22813)) ([6319827](https://github.com/vitejs/vite/commit/6319827116c5be2a19c1b91c84ba3d38ad26a41c)) - **optimizer:** support nub lockfile ([#&#8203;22891](https://github.com/vitejs/vite/issues/22891)) ([65d3604](https://github.com/vitejs/vite/commit/65d3604f6fdbfcf6e86244d7fe3c1ca86acae701)) - update rolldown-related dependencies and use client-side HMR in bundled-dev ([#&#8203;22961](https://github.com/vitejs/vite/issues/22961)) ([960e9ef](https://github.com/vitejs/vite/commit/960e9efbc1372000caac46cc2f123cef4824e2bb)) - **wasm:** expand test suite, unwrap WebAssembly.Global and enable js-string builtins ([#&#8203;22674](https://github.com/vitejs/vite/issues/22674)) ([9e79b51](https://github.com/vitejs/vite/commit/9e79b51579457a9af4fa623b68a0bfabbf38010b)) ##### Bug Fixes - **bundledDev:** print build errors to the terminal when an HMR update fails ([#&#8203;23024](https://github.com/vitejs/vite/issues/23024)) ([41c4658](https://github.com/vitejs/vite/commit/41c465896e8b11b1eb9c5fbdafbdcc528e189a2c)) - **deps:** update all non-major dependencies ([#&#8203;23069](https://github.com/vitejs/vite/issues/23069)) ([4c07b74](https://github.com/vitejs/vite/commit/4c07b74416f859d7e8bdace13409ef2d080edf76)) - **hmr:** preserve environment snapshot during server restart ([#&#8203;22992](https://github.com/vitejs/vite/issues/22992)) ([b1186c3](https://github.com/vitejs/vite/commit/b1186c36d06bb94941c58e8272fc4acb8512c93b)) - **importAnalysis:** interop imports injected into optimized dep files by plugins ([#&#8203;23029](https://github.com/vitejs/vite/issues/23029)) ([8c2a87d](https://github.com/vitejs/vite/commit/8c2a87d41fb24536e59643351758084cde4d0dd7)) - **module-runner:** keep stack trace interception working when `Object.prototype` is frozen ([#&#8203;23073](https://github.com/vitejs/vite/issues/23073)) ([599c5b0](https://github.com/vitejs/vite/commit/599c5b02a8b6879b05ede988020f1331e877aaea)) - **server:** strip base in indexHtml module graph lookup ([#&#8203;22932](https://github.com/vitejs/vite/issues/22932)) ([fa005d1](https://github.com/vitejs/vite/commit/fa005d19af5d847931c6dbefc63841c137383e6c)) - support resolving top-level input option with plugins ([#&#8203;23101](https://github.com/vitejs/vite/issues/23101)) ([41df81a](https://github.com/vitejs/vite/commit/41df81a6a4c3eef08f7a9a8ac9530cd136c0eafa)) - **build:** map CSS chunks in chunk import maps (fix [#&#8203;22946](https://github.com/vitejs/vite/issues/22946)) ([#&#8203;22947](https://github.com/vitejs/vite/issues/22947)) ([e16ff3a](https://github.com/vitejs/vite/commit/e16ff3a1199293ac9cdfa6132c08fdea162215f3)) - **config:** exclude virtual modules from native config compat check ([#&#8203;22979](https://github.com/vitejs/vite/issues/22979)) ([2ced1fe](https://github.com/vitejs/vite/commit/2ced1fe4e4e480ed78cb7aa5c78319e57bfa7783)) - **css:** rewrite urls in OnceExit-injected content ([#&#8203;22983](https://github.com/vitejs/vite/issues/22983)) ([abb793e](https://github.com/vitejs/vite/commit/abb793e18c92592c21fbb8e1f3fc450b5839f04f)) - **deps:** update all non-major dependencies ([#&#8203;22985](https://github.com/vitejs/vite/issues/22985)) ([04f345b](https://github.com/vitejs/vite/commit/04f345b37064cd0bba6447eb5c32be5c22162f3d)) - **deps:** update dependency magic-string to v1 ([#&#8203;22998](https://github.com/vitejs/vite/issues/22998)) ([c60b4d7](https://github.com/vitejs/vite/commit/c60b4d7cdb85b7d4f78671cdcfb863e5f8b66bb7)) - **hmr:** remove hot data after prune ([#&#8203;23002](https://github.com/vitejs/vite/issues/23002)) ([be96316](https://github.com/vitejs/vite/commit/be9631658f5191ee5c5665e780239d42a330280a)) - resolve root to real path ([#&#8203;22832](https://github.com/vitejs/vite/issues/22832)) ([55bba7b](https://github.com/vitejs/vite/commit/55bba7bbd9de40d031360e4408fe91bff5b29ec9)) ##### Performance Improvements - **config:** skip native config compat check when warning is ignored ([#&#8203;23000](https://github.com/vitejs/vite/issues/23000)) ([18535d1](https://github.com/vitejs/vite/commit/18535d11cff9ce2a508798146a29d56a8fc5d901)) - **optimizer:** check popular package manager lockfiles first ([#&#8203;22909](https://github.com/vitejs/vite/issues/22909)) ([14fcb66](https://github.com/vitejs/vite/commit/14fcb66c7513957beea28de9657d15936ad48728)) ##### Documentation - **config:** correct cacheDir default fallback description ([#&#8203;23060](https://github.com/vitejs/vite/issues/23060)) ([aafa103](https://github.com/vitejs/vite/commit/aafa103af5d71fb59d7c3dd617d0cbef3b222f1f)) - remove `@experimental` from `resolve.tsconfigPaths` JSDoc ([#&#8203;23006](https://github.com/vitejs/vite/issues/23006)) ([961643a](https://github.com/vitejs/vite/commit/961643a44c2268b4226a885c89adfdd1d3ace635)) ##### Miscellaneous Chores - fix ts erros in test cases ([#&#8203;22972](https://github.com/vitejs/vite/issues/22972)) ([f654769](https://github.com/vitejs/vite/commit/f6547698b1b71387d7337b8ceac92d9b8aa68e1c)) ##### Tests - config CJS module vars in ESM case ([#&#8203;23010](https://github.com/vitejs/vite/issues/23010)) ([d8cd388](https://github.com/vitejs/vite/commit/d8cd38830251b95fd7dddcd0eee0ce94cc61c2f4)) ##### Beta Changelogs ##### [8.2.0-beta.0](https://github.com/vitejs/vite/compare/v8.1.5...v8.2.0-beta.0) (2026-07-22) See [8.2.0-beta.0 changelog](https://github.com/vitejs/vite/blob/v8.2.0-beta.0/packages/vite/CHANGELOG.md) ### [`v8.1.4`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-814-2026-07-09-small) [Compare Source](https://github.com/vitejs/vite/compare/v8.1.3...v8.1.4) ##### Features - **legacy:** prefer oxc as minifier (fix [#&#8203;21973](https://github.com/vitejs/vite/issues/21973)) ([#&#8203;22468](https://github.com/vitejs/vite/issues/22468)) ([ab5dafa](https://github.com/vitejs/vite/commit/ab5dafa8e66296ef201f615489fb57954bb740ce)) ##### Bug Fixes - **build:** add workaround for building on stackblitz ([#&#8203;22840](https://github.com/vitejs/vite/issues/22840)) ([575c32c](https://github.com/vitejs/vite/commit/575c32c29925c554f4ef4068738ab89c6878f615)) - **build:** keep `import.meta.url` in preload function as-is ([#&#8203;22839](https://github.com/vitejs/vite/issues/22839)) ([f1f90ed](https://github.com/vitejs/vite/commit/f1f90ed4742b3cf453428c7e581a6016a4d47321)) - **deps:** update all non-major dependencies ([#&#8203;22865](https://github.com/vitejs/vite/issues/22865)) ([d4295a9](https://github.com/vitejs/vite/commit/d4295a9ffce428c0e51892373e00c07fccc0498a)) - **deps:** update rolldown-related dependencies ([#&#8203;22866](https://github.com/vitejs/vite/issues/22866)) ([7cf07e4](https://github.com/vitejs/vite/commit/7cf07e4c5f7a6af276012e0c2ec06e08499e951e)) - **html:** avoid backtracking in import-only check ([#&#8203;22848](https://github.com/vitejs/vite/issues/22848)) ([b5868c0](https://github.com/vitejs/vite/commit/b5868c01a124d345664450aaebd677bfba964c05)) - **optimizer:** avoid optimizer run for transform request before init ([#&#8203;22852](https://github.com/vitejs/vite/issues/22852)) ([72a5e21](https://github.com/vitejs/vite/commit/72a5e2192506f51a5efd09c059815a5c43a9eacb)) - **ssr:** align named export function call stacktrace column with Node ([#&#8203;22829](https://github.com/vitejs/vite/issues/22829)) ([173a1b6](https://github.com/vitejs/vite/commit/173a1b648c321e0f836e5a94fc47c4fa9b081bfc)) - strip pure CSS chunk imports when chunkImportMap is enabled ([#&#8203;22841](https://github.com/vitejs/vite/issues/22841)) ([648bd04](https://github.com/vitejs/vite/commit/648bd04933093d0aac9565f21a49811437776886)) ##### Documentation - fix incorrect `@default` for `server.cors` ([#&#8203;22859](https://github.com/vitejs/vite/issues/22859)) ([70435b2](https://github.com/vitejs/vite/commit/70435b2551ee4fe3a0d55c8a3bb61b96f44d2763)) ##### Miscellaneous Chores - **deps:** update dependency postcss-modules to v9 ([#&#8203;22867](https://github.com/vitejs/vite/issues/22867)) ([a9539d6](https://github.com/vitejs/vite/commit/a9539d69efc7a4ccf988bbf5da31c2b416ba990e)) ##### Code Refactoring - eliminate ineffectiveDynamicImport warn ([#&#8203;22876](https://github.com/vitejs/vite/issues/22876)) ([ea22fb3](https://github.com/vitejs/vite/commit/ea22fb352aad9a42c0a9d08f39d8a0bae8c111a5)) ##### Tests - avoid warnings ([#&#8203;22851](https://github.com/vitejs/vite/issues/22851)) ([af21ab6](https://github.com/vitejs/vite/commit/af21ab68adac3380dc9a854d2fe3f776654301cd)) ##### Build System - remove the custom onLog function ([#&#8203;22878](https://github.com/vitejs/vite/issues/22878)) ([2c4a217](https://github.com/vitejs/vite/commit/2c4a217a63dc0a7fcb10bc710a988f32b173f481)) - replace deprecated `onwarn` with `onLog` ([#&#8203;22741](https://github.com/vitejs/vite/issues/22741)) ([c581b55](https://github.com/vitejs/vite/commit/c581b5588cb8e94603d17bce2ff9fec8e8e0a3bf)) ### [`v8.1.3`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-813-2026-07-02-small) [Compare Source](https://github.com/vitejs/vite/compare/v8.1.2...v8.1.3) ##### Bug Fixes - **css:** inject inlined CSS after the shebang line ([#&#8203;22717](https://github.com/vitejs/vite/issues/22717)) ([1534d36](https://github.com/vitejs/vite/commit/1534d362794e856cc718b123cb245e0efcf36b9a)) - **deps:** bump `es-module-lexer` to 2.3.0 ([#&#8203;22838](https://github.com/vitejs/vite/issues/22838)) ([7103c3a](https://github.com/vitejs/vite/commit/7103c3af795396e2ad87e1125eb3fc20d60d9430)) - preload css for nested dynamic imports ([#&#8203;22759](https://github.com/vitejs/vite/issues/22759)) ([2c53054](https://github.com/vitejs/vite/commit/2c530542da1c50b95b7f0cb17adf82f64ecf97f3)) - **ssr:** correct stacktrace column position for first line ([#&#8203;22828](https://github.com/vitejs/vite/issues/22828)) ([c4acd69](https://github.com/vitejs/vite/commit/c4acd6982a051fa10dbd7e3a37e00f0c467793b8)) ### [`v8.1.2`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-812-2026-06-30-small) [Compare Source](https://github.com/vitejs/vite/compare/v8.1.1...v8.1.2) ##### Bug Fixes - **deps:** revert es-module-lexer to 2.1.0 ([#&#8203;22827](https://github.com/vitejs/vite/issues/22827)) ([0d3bd7c](https://github.com/vitejs/vite/commit/0d3bd7c4111b8345cfc353c7bbb2c30601752e26)) - restore, "fix: resolve pnpm .modules.yaml from workspace root instead of cwd ([#&#8203;22757](https://github.com/vitejs/vite/issues/22757))" ([#&#8203;22825](https://github.com/vitejs/vite/issues/22825)) ([efb98cc](https://github.com/vitejs/vite/commit/efb98cce73f3f89c4f03936ab7741cd5b0636f5c)) - revert, "fix: escape ids with multiple null bytes ([#&#8203;22687](https://github.com/vitejs/vite/issues/22687))" ([cccef55](https://github.com/vitejs/vite/commit/cccef55dfaa6253929d2cb58d3af53f217efc877)) - revert, "fix: resolve pnpm .modules.yaml from workspace root instead of cwd ([#&#8203;22757](https://github.com/vitejs/vite/issues/22757))" ([cf97711](https://github.com/vitejs/vite/commit/cf97711963ddcdcfac3e4fcd00771d7a55e92141)) ### [`v8.1.1`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-811-2026-06-30-small) [Compare Source](https://github.com/vitejs/vite/compare/v8.1.0...v8.1.1) ##### Features - update dynamic import warning to link to Vite docs ([#&#8203;22823](https://github.com/vitejs/vite/issues/22823)) ([62bd7af](https://github.com/vitejs/vite/commit/62bd7afd27ec0507bf528a135165dda3a44ebc21)) ##### Bug Fixes - **bundled-dev:** avoid stack overflow on `import.meta.hot.invalidate()` ([#&#8203;22797](https://github.com/vitejs/vite/issues/22797)) ([709eb8e](https://github.com/vitejs/vite/commit/709eb8ee03d3c46269755334f59b7e9a353fc522)) - **bundled-dev:** serve assets emitted during HMR/lazy compile ([#&#8203;22745](https://github.com/vitejs/vite/issues/22745)) ([5876b2c](https://github.com/vitejs/vite/commit/5876b2cc2e1a01df9363e1e3d1d19f474ba68285)) - **bundledDev:** skip plugin transform hooks for rolldown-lazy stub modules ([#&#8203;22778](https://github.com/vitejs/vite/issues/22778)) ([8f925e2](https://github.com/vitejs/vite/commit/8f925e2e496f4d313d860acb53880245b07ce6f7)) - **css:** preserve dollar signs in external `@import` urls with lightningcss ([#&#8203;22718](https://github.com/vitejs/vite/issues/22718)) ([9fa7ab4](https://github.com/vitejs/vite/commit/9fa7ab4990f4fe74597d0a37a16d84af1c1e3544)) - **css:** resolve tsconfig paths in CSS and Sass [@&#8203;import](https://github.com/import) ([#&#8203;22775](https://github.com/vitejs/vite/issues/22775)) ([ef0b891](https://github.com/vitejs/vite/commit/ef0b8916160c4d2a677decc062f6faa48fbf1578)) - **deps:** update all non-major dependencies ([#&#8203;22734](https://github.com/vitejs/vite/issues/22734)) ([e635f49](https://github.com/vitejs/vite/commit/e635f493faa24930ae637318d6564539bc668e89)) - **deps:** update all non-major dependencies ([#&#8203;22804](https://github.com/vitejs/vite/issues/22804)) ([8837400](https://github.com/vitejs/vite/commit/8837400a676a633af1ad6d3746b584d13cf90ecc)) - **deps:** update rolldown-related dependencies ([#&#8203;22591](https://github.com/vitejs/vite/issues/22591)) ([2ce6677](https://github.com/vitejs/vite/commit/2ce6677a151c53a019baec32859b646267f9d320)) - escape ids with multiple null bytes ([#&#8203;22687](https://github.com/vitejs/vite/issues/22687)) ([833fc30](https://github.com/vitejs/vite/commit/833fc302f3f4a5030f49207b5fbf10422f3247a2)) - hide console window when running 'net use' on Windows ([#&#8203;22698](https://github.com/vitejs/vite/issues/22698)) ([92b63f2](https://github.com/vitejs/vite/commit/92b63f219f6c1872f35461aa75e9e9aec79bb01c)) - ignore bundled config temp dir ([#&#8203;22800](https://github.com/vitejs/vite/issues/22800)) ([043a810](https://github.com/vitejs/vite/commit/043a81096ddf8c6f9077c8e3e12362c83f9ed089)) - invert `esbuild.jsxSideEffects` when converting to `oxc.jsx.pure` ([#&#8203;22809](https://github.com/vitejs/vite/issues/22809)) ([33895ba](https://github.com/vitejs/vite/commit/33895ba4faa0a46d5bd7b3eb53d02255113c8b5d)) - **optimize-deps:** ignore `ERR_CLOSED_SERVER` in scanner ([#&#8203;22784](https://github.com/vitejs/vite/issues/22784)) ([085a0ab](https://github.com/vitejs/vite/commit/085a0ab704bf1a698d459d625a5c955d27b73134)) - **optimizer:** scanner should resolve `input` from `root` ([#&#8203;22769](https://github.com/vitejs/vite/issues/22769)) ([9722b07](https://github.com/vitejs/vite/commit/9722b0795b68602597ddd53e3d3c7ed9f00cb831)) - resolve pnpm .modules.yaml from workspace root instead of cwd ([#&#8203;22757](https://github.com/vitejs/vite/issues/22757)) ([2531ac7](https://github.com/vitejs/vite/commit/2531ac7ccd1d581df5febe4a3814226ba8939a20)) - return sourcemap field from some plugins that were lacking ([#&#8203;22782](https://github.com/vitejs/vite/issues/22782)) ([7e18bf8](https://github.com/vitejs/vite/commit/7e18bf802bdde7a386eb3b407c87a67f89a895ca)) - **server:** handle malformed URI in indexHtmlMiddleware ([#&#8203;22781](https://github.com/vitejs/vite/issues/22781)) ([84f5ccc](https://github.com/vitejs/vite/commit/84f5cccc7574c740c46f5cb2a09f29cde8380701)) ##### Miscellaneous Chores - improve dependency optimizer messages ([#&#8203;22549](https://github.com/vitejs/vite/issues/22549)) ([092cb3b](https://github.com/vitejs/vite/commit/092cb3b4247a06ba176c094a9a743d335adc6574)) ##### Code Refactoring - **css:** remove lightningcss null byte bug workaround ([#&#8203;22822](https://github.com/vitejs/vite/issues/22822)) ([2dafd3b](https://github.com/vitejs/vite/commit/2dafd3bb7f8b265037e216f50afaa890ae2e2875)) - use pre-defined environments variable to avoid duplicate `Object.values` calls ([#&#8203;22790](https://github.com/vitejs/vite/issues/22790)) ([1113acf](https://github.com/vitejs/vite/commit/1113acf6cff711196b3443f7126804847c1d4e1e)) ##### Tests - enable "manual chunk path" test and remove "worker.format error" test ([#&#8203;22824](https://github.com/vitejs/vite/issues/22824)) ([c088511](https://github.com/vitejs/vite/commit/c088511f34a01f13e21498a492df8554bf332cdf)) ### [`v8.1.0`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#810-2026-06-23) [Compare Source](https://github.com/vitejs/vite/compare/v8.0.16...v8.1.0) ##### Features - extend `server.fs.deny` list with common files ([#&#8203;22707](https://github.com/vitejs/vite/issues/22707)) ([61ba8fd](https://github.com/vitejs/vite/commit/61ba8fdc6500e8aa668021833ae5e6ebd200466d)) - update rolldown to 1.1.2 ([#&#8203;22695](https://github.com/vitejs/vite/issues/22695)) ([4f008a6](https://github.com/vitejs/vite/commit/4f008a6213014fe5e898f42561bdc621e103903e)) - use `~` for Rolldown ([#&#8203;22693](https://github.com/vitejs/vite/issues/22693)) ([9928722](https://github.com/vitejs/vite/commit/9928722f7d08de27907c48b65ddc071244166e05)) - `import.meta.glob` support `caseSensitive` option ([#&#8203;21707](https://github.com/vitejs/vite/issues/21707)) ([2ad6737](https://github.com/vitejs/vite/commit/2ad6737a838cc23ebb9b2766682d28b11078dab5)) - add warning to discourage Vite with yarn pnp ([#&#8203;21906](https://github.com/vitejs/vite/issues/21906)) ([3fbb55a](https://github.com/vitejs/vite/commit/3fbb55add62a1b94a2b47b7da70db4ae99a7c943)) - **build:** chunk importmap ([#&#8203;21580](https://github.com/vitejs/vite/issues/21580)) ([e180312](https://github.com/vitejs/vite/commit/e1803128e5698202e22c6e5e17dc9ebd83d4f3f5)) - **css:** support lightningcss plugin dependency ([#&#8203;21748](https://github.com/vitejs/vite/issues/21748)) ([0b7aaed](https://github.com/vitejs/vite/commit/0b7aaedc98cacb00e6db33f5f79a70192da38304)) - **deps:** bump [@&#8203;vitejs/devtools](https://github.com/vitejs/devtools) peer dependency version ([#&#8203;22542](https://github.com/vitejs/vite/issues/22542)) ([d2c2bc0](https://github.com/vitejs/vite/commit/d2c2bc090bab9bb9508e5060accb5179b6310257)) - **html:** add `html.additionalAssetSources` option ([#&#8203;21412](https://github.com/vitejs/vite/issues/21412)) ([a41404b](https://github.com/vitejs/vite/commit/a41404b8894d4de729ed49fb51e0b6230d6cb511)) - integrate with Vite Task for zero-config build caching ([#&#8203;22453](https://github.com/vitejs/vite/issues/22453)) ([f8d75f7](https://github.com/vitejs/vite/commit/f8d75f7723aeb635126c8dc0e0c33266c72d24c0)) - rename `server.hmr` options to `server.ws` options ([#&#8203;21357](https://github.com/vitejs/vite/issues/21357)) ([9ce3036](https://github.com/vitejs/vite/commit/9ce3036d31d4e56b8ef3730a39a7f0e54baa951f)) - **server:** support multiple hosts in \_\_VITE_ADDITIONAL_SERVER_ALLOWED_HOSTS ([#&#8203;21501](https://github.com/vitejs/vite/issues/21501)) ([735f9a1](https://github.com/vitejs/vite/commit/735f9a19a9d0e313c865c87daad677aaf358406b)) - track dependencies when loading config with native ([#&#8203;22602](https://github.com/vitejs/vite/issues/22602)) ([a7e2da8](https://github.com/vitejs/vite/commit/a7e2da8cdb306cfdf1660aa4b1fe24873a8dd873)) - **types:** add more precise typing for known `query` types to match known `as` types ([#&#8203;21863](https://github.com/vitejs/vite/issues/21863)) ([cc39e55](https://github.com/vitejs/vite/commit/cc39e55401d559b771fa3e029d90c419a364b805)) - update rolldown to 1.1.1 ([#&#8203;22593](https://github.com/vitejs/vite/issues/22593)) ([8a13d63](https://github.com/vitejs/vite/commit/8a13d6337eea3e74d6a7abaaa7e1d378f5b9bc49)) - **wasm:** direct .wasm imports (WASM ESM Integration) ([#&#8203;21779](https://github.com/vitejs/vite/issues/21779)) ([c23d85b](https://github.com/vitejs/vite/commit/c23d85b9654685d7217cfc33817d2953b77744f8)) ##### Bug Fixes - **bundled-dev:** errors should be kept when incremental build fails ([#&#8203;22617](https://github.com/vitejs/vite/issues/22617)) ([9a0dd48](https://github.com/vitejs/vite/commit/9a0dd481ac2160078b8173879e0fa86e5e6af05d)) - cache falsy values in perEnvironmentState ([#&#8203;22715](https://github.com/vitejs/vite/issues/22715)) ([0e91e79](https://github.com/vitejs/vite/commit/0e91e79841b501d29dc86a6b7c0313660781196a)) - **glob:** respect caseSensitive option in hmr matcher ([#&#8203;22711](https://github.com/vitejs/vite/issues/22711)) ([65f525e](https://github.com/vitejs/vite/commit/65f525e643ba31faeaeafbc5d888b61465e6b48d)) - **html:** omit nonce on import map when cspNonce is unset ([#&#8203;22713](https://github.com/vitejs/vite/issues/22713)) ([8340bb5](https://github.com/vitejs/vite/commit/8340bb51cab703427a13d5df40b0005352c1b676)) - **optimizer:** skip null-valued exports in expandGlobIds glob resolution ([#&#8203;22611](https://github.com/vitejs/vite/issues/22611)) ([8b9f5cd](https://github.com/vitejs/vite/commit/8b9f5cd9f19f6002e1323b10155ab943219e86aa)) - resolved build options should be kept as a getter ([#&#8203;22691](https://github.com/vitejs/vite/issues/22691)) ([3527191](https://github.com/vitejs/vite/commit/3527191cad6c935a3d129506cc9a893c84009037)) - **server:** handle malformed URI in memory files middleware ([#&#8203;22714](https://github.com/vitejs/vite/issues/22714)) ([df9e0a5](https://github.com/vitejs/vite/commit/df9e0a589ff64e09c32beca9494bff4757d4ea37)) - use literal envPrefix queries for Vite Task ([#&#8203;22706](https://github.com/vitejs/vite/issues/22706)) ([da72733](https://github.com/vitejs/vite/commit/da727337b13ac6144e523eb06852b2a52c377f22)) - warn on deprecated envFile ([#&#8203;22555](https://github.com/vitejs/vite/issues/22555)) ([ed7b283](https://github.com/vitejs/vite/commit/ed7b28352e347dc7c95d590d2e696c3e5bd1e3d7)) - apply correct fs restrictions for pnpm gvs ([#&#8203;22415](https://github.com/vitejs/vite/issues/22415)) ([092320b](https://github.com/vitejs/vite/commit/092320bfe115e4d9952a7d172bc40cd3ec14a4c3)) - **css:** support external CSS with lightningcss ([#&#8203;18389](https://github.com/vitejs/vite/issues/18389)) ([d64a1a5](https://github.com/vitejs/vite/commit/d64a1a5557b3caea9469e70b647ff2c9d9def809)) - **deps:** update all non-major dependencies ([#&#8203;22637](https://github.com/vitejs/vite/issues/22637)) ([44bb9d9](https://github.com/vitejs/vite/commit/44bb9d95a246011a2fba9a19cadeac4181bef1b4)) - **deps:** update all non-major dependencies ([#&#8203;22681](https://github.com/vitejs/vite/issues/22681)) ([f4f0633](https://github.com/vitejs/vite/commit/f4f063382dde0d67b2158374c56443d0bf5c9501)) - **html:** insert import map before modulepreload that is not self-close tag ([#&#8203;21409](https://github.com/vitejs/vite/issues/21409)) ([e399c89](https://github.com/vitejs/vite/commit/e399c89a7decff73ff42a4a01679ecc235ce6845)) - **optimizer:** preserve sourcemaps for transformed optimized deps with follow-up transforms ([#&#8203;22428](https://github.com/vitejs/vite/issues/22428)) ([1298951](https://github.com/vitejs/vite/commit/1298951ebc5e5a94164c21f142fe748ca37eea68)) - use node_modules/.vite as cacheDir when node_modules exists ([#&#8203;21777](https://github.com/vitejs/vite/issues/21777)) ([4417b4f](https://github.com/vitejs/vite/commit/4417b4f305623b2850bd6ae6553834c017694672)) ##### Documentation - clarify `loadEnv` merges `process.env` ([#&#8203;22561](https://github.com/vitejs/vite/issues/22561)) ([28d8e12](https://github.com/vitejs/vite/commit/28d8e12c2620cc6a8c4426604d49606f351d6283)) ##### Miscellaneous Chores - bundle ViteTask client ([#&#8203;22604](https://github.com/vitejs/vite/issues/22604)) ([00edb41](https://github.com/vitejs/vite/commit/00edb41c6f3235ce0d569a0a2c5e3b4f14c6f2b0)) - clean up eslint config ([#&#8203;22616](https://github.com/vitejs/vite/issues/22616)) ([2292140](https://github.com/vitejs/vite/commit/2292140293209c81ea4474e1b538926dbd0e1054)) - correct `parseAst`/`parseAstAsync` deprecation hints ([#&#8203;22656](https://github.com/vitejs/vite/issues/22656)) ([983b7e3](https://github.com/vitejs/vite/commit/983b7e39cc69d4118a3ba9accc807e32baaa7629)) - update `create-react-app` links ([#&#8203;22659](https://github.com/vitejs/vite/issues/22659)) ([6ebcf6a](https://github.com/vitejs/vite/commit/6ebcf6aa84d6627df40b5339142ca3c6bf5ad1d7)) - update `es-module-lexer` to 2.0.0 ([#&#8203;22288](https://github.com/vitejs/vite/issues/22288)) ([d1e8a78](https://github.com/vitejs/vite/commit/d1e8a78dcf5db2e983a82d30f5ee25e268a20013)) ##### Code Refactoring - **client:** inline dev-id value in CSS selector ([#&#8203;22736](https://github.com/vitejs/vite/issues/22736)) ([57f59bc](https://github.com/vitejs/vite/commit/57f59bc843dd527a81c503684b7f408872edaef3)) - remove unused removeRawQuery util ([#&#8203;22724](https://github.com/vitejs/vite/issues/22724)) ([403cc60](https://github.com/vitejs/vite/commit/403cc608e4e8633b0335f5e8221c83dfca4994f8)) - use `rolldownOptions` property for chunkImportMap ([#&#8203;22692](https://github.com/vitejs/vite/issues/22692)) ([8e8816c](https://github.com/vitejs/vite/commit/8e8816ca9fa249d210150c5590bac06af3560aa7)) - include optional `bundledDev` in `DevEnvironment` instead of having a separate FBM `DevEnvironment` ([#&#8203;22587](https://github.com/vitejs/vite/issues/22587)) ([5edd1d5](https://github.com/vitejs/vite/commit/5edd1d5a5b9105682246585482c6efe003b45e06)) - match import glob common base by path segment correctly ([#&#8203;22558](https://github.com/vitejs/vite/issues/22558)) ([eb12604](https://github.com/vitejs/vite/commit/eb12604a0dc99cec90529e2bd13552e9a0cdef7b)) - use rolldownOptions where possible ([#&#8203;21205](https://github.com/vitejs/vite/issues/21205)) ([7ca7c1b](https://github.com/vitejs/vite/commit/7ca7c1bedf0a9754e7631cbe615e41231b0aeb80)) ##### Beta Changelogs ##### [8.1.0-beta.0](https://github.com/vitejs/vite/compare/v8.0.16...v8.1.0-beta.0) (2026-06-15) See [8.1.0-beta.0 changelog](https://github.com/vitejs/vite/blob/v8.1.0-beta.0/packages/vite/CHANGELOG.md) ### [`v8.0.16`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#810-2026-06-23) [Compare Source](https://github.com/vitejs/vite/compare/v8.0.15...v8.0.16) ##### Features - extend `server.fs.deny` list with common files ([#&#8203;22707](https://github.com/vitejs/vite/issues/22707)) ([61ba8fd](https://github.com/vitejs/vite/commit/61ba8fdc6500e8aa668021833ae5e6ebd200466d)) - update rolldown to 1.1.2 ([#&#8203;22695](https://github.com/vitejs/vite/issues/22695)) ([4f008a6](https://github.com/vitejs/vite/commit/4f008a6213014fe5e898f42561bdc621e103903e)) - use `~` for Rolldown ([#&#8203;22693](https://github.com/vitejs/vite/issues/22693)) ([9928722](https://github.com/vitejs/vite/commit/9928722f7d08de27907c48b65ddc071244166e05)) - `import.meta.glob` support `caseSensitive` option ([#&#8203;21707](https://github.com/vitejs/vite/issues/21707)) ([2ad6737](https://github.com/vitejs/vite/commit/2ad6737a838cc23ebb9b2766682d28b11078dab5)) - add warning to discourage Vite with yarn pnp ([#&#8203;21906](https://github.com/vitejs/vite/issues/21906)) ([3fbb55a](https://github.com/vitejs/vite/commit/3fbb55add62a1b94a2b47b7da70db4ae99a7c943)) - **build:** chunk importmap ([#&#8203;21580](https://github.com/vitejs/vite/issues/21580)) ([e180312](https://github.com/vitejs/vite/commit/e1803128e5698202e22c6e5e17dc9ebd83d4f3f5)) - **css:** support lightningcss plugin dependency ([#&#8203;21748](https://github.com/vitejs/vite/issues/21748)) ([0b7aaed](https://github.com/vitejs/vite/commit/0b7aaedc98cacb00e6db33f5f79a70192da38304)) - **deps:** bump [@&#8203;vitejs/devtools](https://github.com/vitejs/devtools) peer dependency version ([#&#8203;22542](https://github.com/vitejs/vite/issues/22542)) ([d2c2bc0](https://github.com/vitejs/vite/commit/d2c2bc090bab9bb9508e5060accb5179b6310257)) - **html:** add `html.additionalAssetSources` option ([#&#8203;21412](https://github.com/vitejs/vite/issues/21412)) ([a41404b](https://github.com/vitejs/vite/commit/a41404b8894d4de729ed49fb51e0b6230d6cb511)) - integrate with Vite Task for zero-config build caching ([#&#8203;22453](https://github.com/vitejs/vite/issues/22453)) ([f8d75f7](https://github.com/vitejs/vite/commit/f8d75f7723aeb635126c8dc0e0c33266c72d24c0)) - rename `server.hmr` options to `server.ws` options ([#&#8203;21357](https://github.com/vitejs/vite/issues/21357)) ([9ce3036](https://github.com/vitejs/vite/commit/9ce3036d31d4e56b8ef3730a39a7f0e54baa951f)) - **server:** support multiple hosts in \_\_VITE_ADDITIONAL_SERVER_ALLOWED_HOSTS ([#&#8203;21501](https://github.com/vitejs/vite/issues/21501)) ([735f9a1](https://github.com/vitejs/vite/commit/735f9a19a9d0e313c865c87daad677aaf358406b)) - track dependencies when loading config with native ([#&#8203;22602](https://github.com/vitejs/vite/issues/22602)) ([a7e2da8](https://github.com/vitejs/vite/commit/a7e2da8cdb306cfdf1660aa4b1fe24873a8dd873)) - **types:** add more precise typing for known `query` types to match known `as` types ([#&#8203;21863](https://github.com/vitejs/vite/issues/21863)) ([cc39e55](https://github.com/vitejs/vite/commit/cc39e55401d559b771fa3e029d90c419a364b805)) - update rolldown to 1.1.1 ([#&#8203;22593](https://github.com/vitejs/vite/issues/22593)) ([8a13d63](https://github.com/vitejs/vite/commit/8a13d6337eea3e74d6a7abaaa7e1d378f5b9bc49)) - **wasm:** direct .wasm imports (WASM ESM Integration) ([#&#8203;21779](https://github.com/vitejs/vite/issues/21779)) ([c23d85b](https://github.com/vitejs/vite/commit/c23d85b9654685d7217cfc33817d2953b77744f8)) ##### Bug Fixes - **bundled-dev:** errors should be kept when incremental build fails ([#&#8203;22617](https://github.com/vitejs/vite/issues/22617)) ([9a0dd48](https://github.com/vitejs/vite/commit/9a0dd481ac2160078b8173879e0fa86e5e6af05d)) - cache falsy values in perEnvironmentState ([#&#8203;22715](https://github.com/vitejs/vite/issues/22715)) ([0e91e79](https://github.com/vitejs/vite/commit/0e91e79841b501d29dc86a6b7c0313660781196a)) - **glob:** respect caseSensitive option in hmr matcher ([#&#8203;22711](https://github.com/vitejs/vite/issues/22711)) ([65f525e](https://github.com/vitejs/vite/commit/65f525e643ba31faeaeafbc5d888b61465e6b48d)) - **html:** omit nonce on import map when cspNonce is unset ([#&#8203;22713](https://github.com/vitejs/vite/issues/22713)) ([8340bb5](https://github.com/vitejs/vite/commit/8340bb51cab703427a13d5df40b0005352c1b676)) - **optimizer:** skip null-valued exports in expandGlobIds glob resolution ([#&#8203;22611](https://github.com/vitejs/vite/issues/22611)) ([8b9f5cd](https://github.com/vitejs/vite/commit/8b9f5cd9f19f6002e1323b10155ab943219e86aa)) - resolved build options should be kept as a getter ([#&#8203;22691](https://github.com/vitejs/vite/issues/22691)) ([3527191](https://github.com/vitejs/vite/commit/3527191cad6c935a3d129506cc9a893c84009037)) - **server:** handle malformed URI in memory files middleware ([#&#8203;22714](https://github.com/vitejs/vite/issues/22714)) ([df9e0a5](https://github.com/vitejs/vite/commit/df9e0a589ff64e09c32beca9494bff4757d4ea37)) - use literal envPrefix queries for Vite Task ([#&#8203;22706](https://github.com/vitejs/vite/issues/22706)) ([da72733](https://github.com/vitejs/vite/commit/da727337b13ac6144e523eb06852b2a52c377f22)) - warn on deprecated envFile ([#&#8203;22555](https://github.com/vitejs/vite/issues/22555)) ([ed7b283](https://github.com/vitejs/vite/commit/ed7b28352e347dc7c95d590d2e696c3e5bd1e3d7)) - apply correct fs restrictions for pnpm gvs ([#&#8203;22415](https://github.com/vitejs/vite/issues/22415)) ([092320b](https://github.com/vitejs/vite/commit/092320bfe115e4d9952a7d172bc40cd3ec14a4c3)) - **css:** support external CSS with lightningcss ([#&#8203;18389](https://github.com/vitejs/vite/issues/18389)) ([d64a1a5](https://github.com/vitejs/vite/commit/d64a1a5557b3caea9469e70b647ff2c9d9def809)) - **deps:** update all non-major dependencies ([#&#8203;22637](https://github.com/vitejs/vite/issues/22637)) ([44bb9d9](https://github.com/vitejs/vite/commit/44bb9d95a246011a2fba9a19cadeac4181bef1b4)) - **deps:** update all non-major dependencies ([#&#8203;22681](https://github.com/vitejs/vite/issues/22681)) ([f4f0633](https://github.com/vitejs/vite/commit/f4f063382dde0d67b2158374c56443d0bf5c9501)) - **html:** insert import map before modulepreload that is not self-close tag ([#&#8203;21409](https://github.com/vitejs/vite/issues/21409)) ([e399c89](https://github.com/vitejs/vite/commit/e399c89a7decff73ff42a4a01679ecc235ce6845)) - **optimizer:** preserve sourcemaps for transformed optimized deps with follow-up transforms ([#&#8203;22428](https://github.com/vitejs/vite/issues/22428)) ([1298951](https://github.com/vitejs/vite/commit/1298951ebc5e5a94164c21f142fe748ca37eea68)) - use node_modules/.vite as cacheDir when node_modules exists ([#&#8203;21777](https://github.com/vitejs/vite/issues/21777)) ([4417b4f](https://github.com/vitejs/vite/commit/4417b4f305623b2850bd6ae6553834c017694672)) ##### Documentation - clarify `loadEnv` merges `process.env` ([#&#8203;22561](https://github.com/vitejs/vite/issues/22561)) ([28d8e12](https://github.com/vitejs/vite/commit/28d8e12c2620cc6a8c4426604d49606f351d6283)) ##### Miscellaneous Chores - bundle ViteTask client ([#&#8203;22604](https://github.com/vitejs/vite/issues/22604)) ([00edb41](https://github.com/vitejs/vite/commit/00edb41c6f3235ce0d569a0a2c5e3b4f14c6f2b0)) - clean up eslint config ([#&#8203;22616](https://github.com/vitejs/vite/issues/22616)) ([2292140](https://github.com/vitejs/vite/commit/2292140293209c81ea4474e1b538926dbd0e1054)) - correct `parseAst`/`parseAstAsync` deprecation hints ([#&#8203;22656](https://github.com/vitejs/vite/issues/22656)) ([983b7e3](https://github.com/vitejs/vite/commit/983b7e39cc69d4118a3ba9accc807e32baaa7629)) - update `create-react-app` links ([#&#8203;22659](https://github.com/vitejs/vite/issues/22659)) ([6ebcf6a](https://github.com/vitejs/vite/commit/6ebcf6aa84d6627df40b5339142ca3c6bf5ad1d7)) - update `es-module-lexer` to 2.0.0 ([#&#8203;22288](https://github.com/vitejs/vite/issues/22288)) ([d1e8a78](https://github.com/vitejs/vite/commit/d1e8a78dcf5db2e983a82d30f5ee25e268a20013)) ##### Code Refactoring - **client:** inline dev-id value in CSS selector ([#&#8203;22736](https://github.com/vitejs/vite/issues/22736)) ([57f59bc](https://github.com/vitejs/vite/commit/57f59bc843dd527a81c503684b7f408872edaef3)) - remove unused removeRawQuery util ([#&#8203;22724](https://github.com/vitejs/vite/issues/22724)) ([403cc60](https://github.com/vitejs/vite/commit/403cc608e4e8633b0335f5e8221c83dfca4994f8)) - use `rolldownOptions` property for chunkImportMap ([#&#8203;22692](https://github.com/vitejs/vite/issues/22692)) ([8e8816c](https://github.com/vitejs/vite/commit/8e8816ca9fa249d210150c5590bac06af3560aa7)) - include optional `bundledDev` in `DevEnvironment` instead of having a separate FBM `DevEnvironment` ([#&#8203;22587](https://github.com/vitejs/vite/issues/22587)) ([5edd1d5](https://github.com/vitejs/vite/commit/5edd1d5a5b9105682246585482c6efe003b45e06)) - match import glob common base by path segment correctly ([#&#8203;22558](https://github.com/vitejs/vite/issues/22558)) ([eb12604](https://github.com/vitejs/vite/commit/eb12604a0dc99cec90529e2bd13552e9a0cdef7b)) - use rolldownOptions where possible ([#&#8203;21205](https://github.com/vitejs/vite/issues/21205)) ([7ca7c1b](https://github.com/vitejs/vite/commit/7ca7c1bedf0a9754e7631cbe615e41231b0aeb80)) ##### Beta Changelogs ##### [8.1.0-beta.0](https://github.com/vitejs/vite/compare/v8.0.16...v8.1.0-beta.0) (2026-06-15) See [8.1.0-beta.0 changelog](https://github.com/vitejs/vite/blob/v8.1.0-beta.0/packages/vite/CHANGELOG.md) ### [`v8.0.15`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-8015-2026-06-01-small) [Compare Source](https://github.com/vitejs/vite/compare/v8.0.14...v8.0.15) ##### Features - send 408 on request timeout ([#&#8203;22476](https://github.com/vitejs/vite/issues/22476)) ([c85c9ee](https://github.com/vitejs/vite/commit/c85c9eeb9aaf41f477b48b057146887bd5620797)) - update rolldown to 1.0.3 ([#&#8203;22538](https://github.com/vitejs/vite/issues/22538)) ([646dbed](https://github.com/vitejs/vite/commit/646dbedd2870f8ec48df0321177d8aa64bbd1575)) ##### Bug Fixes - capitalize error messages and remove spurious space in parse error ([#&#8203;22488](https://github.com/vitejs/vite/issues/22488)) ([85a0eff](https://github.com/vitejs/vite/commit/85a0eff1c82bbb7c99a0fe8e63704316578a40d3)) - **deps:** update all non-major dependencies ([#&#8203;22511](https://github.com/vitejs/vite/issues/22511)) ([2686d7d](https://github.com/vitejs/vite/commit/2686d7d0b722402204d3bcc687a87adea1bcf9fa)) - **dev:** fix html-proxy cache key mismatch for /@&#8203;fs/ HTML paths ([#&#8203;21762](https://github.com/vitejs/vite/issues/21762)) ([47c4213](https://github.com/vitejs/vite/commit/47c4213f134f562c41ed7c031e4788510cf7e31e)) - **glob:** error on relative glob in virtual module when no files match ([#&#8203;22497](https://github.com/vitejs/vite/issues/22497)) ([5c8e98f](https://github.com/vitejs/vite/commit/5c8e98f8b584ac5d42f0f9b8580c49792213b13c)) - **optimizer:** close the rolldown bundle when write() rejects ([#&#8203;22528](https://github.com/vitejs/vite/issues/22528)) ([e3cfb9d](https://github.com/vitejs/vite/commit/e3cfb9deecff563550fa1b8abd27656b8b292815)) - **resolve:** provide onWarn for viteResolvePlugin in JS plugin containers ([#&#8203;22509](https://github.com/vitejs/vite/issues/22509)) ([40985f1](https://github.com/vitejs/vite/commit/40985f1c09b7696e594e6c5695fbc315d2da2c83)) ##### Miscellaneous Chores - **deps:** update rolldown-related dependencies ([#&#8203;22566](https://github.com/vitejs/vite/issues/22566)) ([3052a67](https://github.com/vitejs/vite/commit/3052a67d9350f4c5076ab1c222c4a21a589cbcdd)) ##### Code Refactoring - correct logic in `collectAllModules` function ([#&#8203;22562](https://github.com/vitejs/vite/issues/22562)) ([6978a9c](https://github.com/vitejs/vite/commit/6978a9ceb942c4f5e211d52b8a1e569f8a65c80c)) ### [`v8.0.14`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-8014-2026-05-21-small) [Compare Source](https://github.com/vitejs/vite/compare/v8.0.13...v8.0.14) ##### Features - update rolldown to 1.0.2 ([#&#8203;22484](https://github.com/vitejs/vite/issues/22484)) ([96efc88](https://github.com/vitejs/vite/commit/96efc88570b6a6ddf1a910f106920cbac07b3cf0)) ##### Bug Fixes - **deps:** update all non-major dependencies ([#&#8203;22471](https://github.com/vitejs/vite/issues/22471)) ([98b8163](https://github.com/vitejs/vite/commit/98b81632139d51820f82036e58d6fbbf122b77b3)) - **dev:** handle errors when sending messages to vite server ([#&#8203;22450](https://github.com/vitejs/vite/issues/22450)) ([e8e9a34](https://github.com/vitejs/vite/commit/e8e9a34dcf2540139de558a10187630884d10217)) - **html:** handle trailing slash paths in transformIndexHtml ([#&#8203;22480](https://github.com/vitejs/vite/issues/22480)) ([5d94d1b](https://github.com/vitejs/vite/commit/5d94d1bffdb2a15de9341194d89baec86ce1f693)) - **optimizer:** pass oxc jsx options to transformSync in dependency scan ([#&#8203;22342](https://github.com/vitejs/vite/issues/22342)) ([b3132da](https://github.com/vitejs/vite/commit/b3132dacea9c6e0cf526cd9f0f09d850f577c262)) ##### Miscellaneous Chores - **deps:** update rolldown-related dependencies ([#&#8203;22470](https://github.com/vitejs/vite/issues/22470)) ([7cb728e](https://github.com/vitejs/vite/commit/7cb728eb629cc677661f1bc52a044ffc0b87fc7f)) - remove irrelevant commits from changelog ([2c69495](https://github.com/vitejs/vite/commit/2c69495f250edf01132d4a20128de19dbe836086)) ##### Code Refactoring - **glob:** do not rewrite import path for absolute base ([#&#8203;22310](https://github.com/vitejs/vite/issues/22310)) ([0ae2844](https://github.com/vitejs/vite/commit/0ae2844ab6d6d1ccf78a2975b8132769fc35b302)) ##### Tests - **css:** sass does not use main field ([#&#8203;22449](https://github.com/vitejs/vite/issues/22449)) ([ebf39a0](https://github.com/vitejs/vite/commit/ebf39a04329ddc6ba765e006a5d463680a952270)) ### [`v8.0.13`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-8013-2026-05-14-small) [Compare Source](https://github.com/vitejs/vite/compare/v8.0.12...v8.0.13) ##### Features - **bundled-dev:** add lazy bundling support ([#&#8203;21406](https://github.com/vitejs/vite/issues/21406)) ([4f0949f](https://github.com/vitejs/vite/commit/4f0949f3f13e4b2b34d32bf7b2b4de5f26bea192)) - **optimizer:** improve the esbuild plugin converter to pass some properties of build result to `onEnd` ([#&#8203;22357](https://github.com/vitejs/vite/issues/22357)) ([47071ce](https://github.com/vitejs/vite/commit/47071ce53f21726cf39e999c4407c4828ecbe957)) - update rolldown to 1.0.1 ([#&#8203;22444](https://github.com/vitejs/vite/issues/22444)) ([8c766a6](https://github.com/vitejs/vite/commit/8c766a6c5ee014969c4e32f29cc265e8e2c96e18)) ##### Bug Fixes - **build:** copy public directory after building same environment with `write=false` ([#&#8203;22328](https://github.com/vitejs/vite/issues/22328)) ([158e8ae](https://github.com/vitejs/vite/commit/158e8ae8efdf7075ab295727e36b5ff68da3243e)) - **css:** await sass/less/styl worker disposal on teardown (fix [#&#8203;22274](https://github.com/vitejs/vite/issues/22274)) ([#&#8203;22275](https://github.com/vitejs/vite/issues/22275)) ([b7edcb7](https://github.com/vitejs/vite/commit/b7edcb7d0dd17ddfeef4ace78d610c099216dade)) - **css:** keep deprecated `name`/`originalFileName` in synthetic `assetFileNames` call ([#&#8203;22439](https://github.com/vitejs/vite/issues/22439)) ([8e59c97](https://github.com/vitejs/vite/commit/8e59c97a44d923c4c06f67287a793c9aa5a4ebaa)) - make `isBundled` per environment ([#&#8203;22257](https://github.com/vitejs/vite/issues/22257)) ([a576326](https://github.com/vitejs/vite/commit/a5763266170f8606836da5c6f987b4b2fd6ddc55)) - **ssr:** avoid rewriting labels that collide with imports ([#&#8203;22451](https://github.com/vitejs/vite/issues/22451)) ([d9b18e0](https://github.com/vitejs/vite/commit/d9b18e0387a253628d3d834288e79c5f7e85d566)) ##### Miscellaneous Chores - remove irrelevant commits from changelog ([#&#8203;22430](https://github.com/vitejs/vite/issues/22430)) ([6ea3838](https://github.com/vitejs/vite/commit/6ea383859aaf0ef8e673b458f164e84aeb6ff51d)) - update changelog ([#&#8203;22413](https://github.com/vitejs/vite/issues/22413)) ([fcdc87c](https://github.com/vitejs/vite/commit/fcdc87cc6799857e2bab0f44f333a681694fff74)) ### [`v8.0.12`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-8012-2026-05-11-small) [Compare Source](https://github.com/vitejs/vite/compare/v8.0.11...v8.0.12) ##### Features - update rolldown to 1.0.0 ([#&#8203;22401](https://github.com/vitejs/vite/issues/22401)) ([cf0ff41](https://github.com/vitejs/vite/commit/cf0ff4154b26cffbf18541ade1a50818842731d3)) ##### Bug Fixes - **deps:** update all non-major dependencies ([#&#8203;22420](https://github.com/vitejs/vite/issues/22420)) ([2be6000](https://github.com/vitejs/vite/commit/2be6000130e3ae2160acc301baa4f7913fbc1f6e)) - **module-runner:** prevent partial-exports race on concurrent imports of in-flight invalidated re-export chains ([#&#8203;22369](https://github.com/vitejs/vite/issues/22369)) ([f5a22e6](https://github.com/vitejs/vite/commit/f5a22e62ada75286138b7ceb3825e43958ef00e1)) - refer to `rolldownOptions` instead of deprecated `rollupOptions` in messages ([#&#8203;22400](https://github.com/vitejs/vite/issues/22400)) ([b675c7b](https://github.com/vitejs/vite/commit/b675c7b6697423275ad9dd521d3ce7c8679761a0)) - **worker:** apply `build.target` to worker bundle ([#&#8203;22404](https://github.com/vitejs/vite/issues/22404)) ([3c93fde](https://github.com/vitejs/vite/commit/3c93fde21f07d44db7669ca7484f4e7a8767afe5)) - **worker:** forward define to worker bundle transform ([#&#8203;22408](https://github.com/vitejs/vite/issues/22408)) ([d4838a0](https://github.com/vitejs/vite/commit/d4838a0358d9f04a980d4d2ac7263f21a6b28ee2)) ##### Miscellaneous Chores - **deps:** update dependency eslint-plugin-n to v18 ([#&#8203;22423](https://github.com/vitejs/vite/issues/22423)) ([2fe7bd2](https://github.com/vitejs/vite/commit/2fe7bd2d73beb697a3d149e943ac74b768c9d27f)) - **deps:** update rolldown-related dependencies ([#&#8203;22421](https://github.com/vitejs/vite/issues/22421)) ([66b9eb3](https://github.com/vitejs/vite/commit/66b9eb35188007e0e9a1bd03b4be820016cad60b)) ### [`v8.0.11`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-8011-2026-05-07-small) [Compare Source](https://github.com/vitejs/vite/compare/v8.0.10...v8.0.11) ##### Features - update rolldown to 1.0.0-rc.18 ([#&#8203;22360](https://github.com/vitejs/vite/issues/22360)) ([3f80524](https://github.com/vitejs/vite/commit/3f80524aa1fa40bfa831f1a1bf2641c3979ba396)) ##### Bug Fixes - **deps:** update all non-major dependencies ([#&#8203;22334](https://github.com/vitejs/vite/issues/22334)) ([672c962](https://github.com/vitejs/vite/commit/672c96288fd5440bbecddc65551e713edeb8d403)) - **deps:** update all non-major dependencies ([#&#8203;22382](https://github.com/vitejs/vite/issues/22382)) ([5c0cfcb](https://github.com/vitejs/vite/commit/5c0cfcb83dde2c6e25b6c3215dd622956bf29631)) - **glob:** align hmr matcher options with glob enumeration ([#&#8203;22306](https://github.com/vitejs/vite/issues/22306)) ([30028f9](https://github.com/vitejs/vite/commit/30028f94516fa06dd0212567373169b3b3f6e393)) - make separate object instance for each environment ([#&#8203;22276](https://github.com/vitejs/vite/issues/22276)) ([7c2aa3b](https://github.com/vitejs/vite/commit/7c2aa3b40ba00ce1299e4f31932c7929f179a80a)) ##### Documentation - **create-vite:** list react-compiler templates in README ([#&#8203;22347](https://github.com/vitejs/vite/issues/22347)) ([7c3a61f](https://github.com/vitejs/vite/commit/7c3a61f42da6445904e93f0e29e9a2a838fa684a)) - explain mergeConfig skips null/undefined ([#&#8203;22325](https://github.com/vitejs/vite/issues/22325)) ([2151f70](https://github.com/vitejs/vite/commit/2151f701dc98270c905c540b209fb6d23d53d3ad)) - mention native config loader in CLI options ([#&#8203;22348](https://github.com/vitejs/vite/issues/22348)) ([0420c5d](https://github.com/vitejs/vite/commit/0420c5d37b6049476b6e6c16662be372575dd683)) - update evan's x handle ([640202a](https://github.com/vitejs/vite/commit/640202a2167b0c19b94e4d3b8ff87309ae1f44d0)) ##### Miscellaneous Chores - **deps:** update dependency tsdown to ^0.21.10 ([#&#8203;22333](https://github.com/vitejs/vite/issues/22333)) ([3b51e05](https://github.com/vitejs/vite/commit/3b51e050214c5a817c163838ab8643fe34c7d0c3)) - **deps:** update rolldown-related dependencies ([#&#8203;22383](https://github.com/vitejs/vite/issues/22383)) ([555ff36](https://github.com/vitejs/vite/commit/555ff36de70a43b3b3dc22f958bf78fe75e11d67)) - **deps:** update transitive packages to fix npm audit alerts ([#&#8203;22316](https://github.com/vitejs/vite/issues/22316)) ([86aee62](https://github.com/vitejs/vite/commit/86aee6268aa879d74f68a890392c1dee973ebf05)) ##### Code Refactoring - devtools integration ([#&#8203;22312](https://github.com/vitejs/vite/issues/22312)) ([3c8bf06](https://github.com/vitejs/vite/commit/3c8bf064ec76e311f2d8be3a37dcfdcdd4e4253c)) - remove unnecessary async ([#&#8203;22296](https://github.com/vitejs/vite/issues/22296)) ([b31fd35](https://github.com/vitejs/vite/commit/b31fd355d93eb166573362bd09c07745b9f76755)) - show direct path type in bad character warning ([#&#8203;22339](https://github.com/vitejs/vite/issues/22339)) ([0c162e9](https://github.com/vitejs/vite/commit/0c162e96a6545c93808e7338b9adeca2636596fa)) ##### Tests - **create-vite:** use short help alias ([#&#8203;22389](https://github.com/vitejs/vite/issues/22389)) ([994ab66](https://github.com/vitejs/vite/commit/994ab66bc4dc872278d8353d710ffc4bbd881f8d)) </details> <details> <summary>richardtallent/vite-plugin-singlefile (vite-plugin-singlefile)</summary> ### [`v2.3.4`](https://github.com/richardtallent/vite-plugin-singlefile/compare/fbd6d0dee4becf69df0ab7b33d95c7b97f9a5376...59e8faa9ed8df908baf06b86101641d8abd73ca3) [Compare Source](https://github.com/richardtallent/vite-plugin-singlefile/compare/fbd6d0dee4becf69df0ab7b33d95c7b97f9a5376...59e8faa9ed8df908baf06b86101641d8abd73ca3) </details> <details> <summary>vitest-dev/vitest (vitest)</summary> ### [`v4.1.12`](https://github.com/vitest-dev/vitest/releases/tag/v4.1.12) [Compare Source](https://github.com/vitest-dev/vitest/compare/v4.1.11...v4.1.12) #####    🐞 Bug Fixes - **mocker**: Harden manual and redirect mocks \[backport to v4]  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;11580](https://github.com/vitest-dev/vitest/issues/11580) [<samp>(b8253)</samp>](https://github.com/vitest-dev/vitest/commit/b82531324) #####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.1.11...v4.1.12) ### [`v4.1.11`](https://github.com/vitest-dev/vitest/releases/tag/v4.1.11) [Compare Source](https://github.com/vitest-dev/vitest/compare/v4.1.10...v4.1.11) #####    🐞 Bug Fixes - Revive global concurrency limit for test lifecycle \[backport to v4]  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) and [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;10992](https://github.com/vitest-dev/vitest/issues/10992) [<samp>(5146d)</samp>](https://github.com/vitest-dev/vitest/commit/5146df80b) - **browser**: - Encode iframeId in tester iframe URL \[backport to v4]  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va), **Pduhard** and **Claude Opus 4.8** in [#&#8203;10955](https://github.com/vitest-dev/vitest/issues/10955) [<samp>(10b2c)</samp>](https://github.com/vitest-dev/vitest/commit/10b2cd201) - Trigger playwright/chromium gc on lower disk availability \[backport to v4]  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa), **Hiroshi Ogawa** and **OpenCode** in [#&#8203;10951](https://github.com/vitest-dev/vitest/issues/10951) [<samp>(9851d)</samp>](https://github.com/vitest-dev/vitest/commit/9851dbc41) - **mocker**: - Restrict redirect mocks to the fs allowlist \[backport to v4]  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;10974](https://github.com/vitest-dev/vitest/issues/10974) [<samp>(fe5a1)</samp>](https://github.com/vitest-dev/vitest/commit/fe5a11d3c) #####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.1.10...v4.1.11) ### [`v4.1.10`](https://github.com/vitest-dev/vitest/releases/tag/v4.1.10) [Compare Source](https://github.com/vitest-dev/vitest/compare/v4.1.9...v4.1.10) #####    🐞 Bug Fixes - **browser**: Check fs access in builtin commands \[backport to v4]  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa), **Hiroshi Ogawa** and **OpenCode (claude-opus-4-8)** in [#&#8203;10680](https://github.com/vitest-dev/vitest/issues/10680) [<samp>(5c18d)</samp>](https://github.com/vitest-dev/vitest/commit/5c18dd267) - **vm**: Fix external module resolve error with deps optimizer query for encoded URI \[backport to v4]  -  by [@&#8203;SveLil](https://github.com/SveLil) and [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;10661](https://github.com/vitest-dev/vitest/issues/10661) [<samp>(bae52)</samp>](https://github.com/vitest-dev/vitest/commit/bae52b511) #####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.1.9...v4.1.10) ### [`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) ### [`v4.1.8`](https://github.com/vitest-dev/vitest/releases/tag/v4.1.8) [Compare Source](https://github.com/vitest-dev/vitest/compare/v4.1.7...v4.1.8) #####    🐞 Bug Fixes - **browser**: - Disable client `cdp` API when `allowWrite/allowExec: false` \[backport to v4]  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) and **Codex** in [#&#8203;10450](https://github.com/vitest-dev/vitest/issues/10450) [<samp>(e4067)</samp>](https://github.com/vitest-dev/vitest/commit/e4067b3b1) - Remove orphaned Playwright route when same module is mocked via multiple ids \[backport to v4]  -  by [@&#8203;toxik](https://github.com/toxik) and [@&#8203;Zelys-DFKH](https://github.com/Zelys-DFKH) in [#&#8203;10474](https://github.com/vitest-dev/vitest/issues/10474) [<samp>(675b4)</samp>](https://github.com/vitest-dev/vitest/commit/675b4343f) #####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.1.7...v4.1.8) ### [`v4.1.7`](https://github.com/vitest-dev/vitest/releases/tag/v4.1.7) [Compare Source](https://github.com/vitest-dev/vitest/compare/v4.1.6...v4.1.7) #####    🐞 Bug Fixes - **runner**: Limit concurrency per task branch in addition to per leaf callbacks (backport)  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;10384](https://github.com/vitest-dev/vitest/issues/10384) [<samp>(4f0f2)</samp>](https://github.com/vitest-dev/vitest/commit/4f0f2a1ee) #####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.1.6...v4.1.7) ### [`v4.1.6`](https://github.com/vitest-dev/vitest/releases/tag/v4.1.6) [Compare Source](https://github.com/vitest-dev/vitest/compare/v4.1.5...v4.1.6) #####    🐞 Bug Fixes - **browser**: Provide project reference in `ToMatchScreenshotResolvePath`  -  by [@&#8203;macarie](https://github.com/macarie) and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;10138](https://github.com/vitest-dev/vitest/issues/10138) [<samp>(31882)</samp>](https://github.com/vitest-dev/vitest/commit/31882607c) - Global `sequence.concurrent: true` with top-level `test(..., { concurrent: false })` + depreacte `sequential` test API and options  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa), **Codex** and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;10196](https://github.com/vitest-dev/vitest/issues/10196) [<samp>(2847d)</samp>](https://github.com/vitest-dev/vitest/commit/2847dfa2a) - **browser**: Simplify orchestrator otel carrier  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;10285](https://github.com/vitest-dev/vitest/issues/10285) [<samp>(18af9)</samp>](https://github.com/vitest-dev/vitest/commit/18af98cee) #####    🏎 Performance - Stringify diff objects only once  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;10276](https://github.com/vitest-dev/vitest/issues/10276) [<samp>(9f7b1)</samp>](https://github.com/vitest-dev/vitest/commit/9f7b1528c) #####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.1.5...v4.1.6) </details> --- ### Configuration 📅 **Schedule**: (UTC) - 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 becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) 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 CLI](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xODkuMCIsInVwZGF0ZWRJblZlciI6IjQ0LjE5Ny4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
Update all dependencies
Some checks failed
renovate/artifacts Artifact file update failure
Check & deploy / build (pull_request) Failing after 18s
0f9974d843
andras force-pushed renovate/all from 0f9974d843
Some checks failed
renovate/artifacts Artifact file update failure
Check & deploy / build (pull_request) Failing after 18s
to 9e8ef4fa67
Some checks failed
Check & deploy / build (pull_request) Failing after 1m17s
2026-10-30 17:46:52 +00:00
Compare
andras changed title from Update all dependencies to Update all non-major dependencies 2026-10-30 17:46:57 +00:00
andras force-pushed renovate/all from 9e8ef4fa67
Some checks failed
Check & deploy / build (pull_request) Failing after 1m17s
to e9e8624f14
Some checks failed
Check & deploy / build (pull_request) Failing after 1m5s
2026-10-30 23:59:19 +00:00
Compare
andras force-pushed renovate/all from e9e8624f14
Some checks failed
Check & deploy / build (pull_request) Failing after 1m5s
to 8a525a0422
Some checks failed
Check & deploy / build (pull_request) Failing after 1m24s
2026-10-31 06:11:55 +00:00
Compare
andras force-pushed renovate/all from 8a525a0422
Some checks failed
Check & deploy / build (pull_request) Failing after 1m24s
to b23d7ab02d
Some checks failed
Check & deploy / build (pull_request) Failing after 1m27s
2026-10-31 12:24:46 +00:00
Compare
andras force-pushed renovate/all from b23d7ab02d
Some checks failed
Check & deploy / build (pull_request) Failing after 1m27s
to 3ed52307b7
Some checks failed
Check & deploy / build (pull_request) Failing after 1m30s
2026-11-01 13:12:03 +00:00
Compare
andras force-pushed renovate/all from 3ed52307b7
Some checks failed
Check & deploy / build (pull_request) Failing after 1m30s
to 852f2e278f
Some checks failed
Check & deploy / build (pull_request) Failing after 1m31s
2026-11-02 20:09:23 +00:00
Compare
andras force-pushed renovate/all from 852f2e278f
Some checks failed
Check & deploy / build (pull_request) Failing after 1m31s
to 0e01d5ca79
Some checks failed
Check & deploy / build (pull_request) Failing after 1m22s
2026-11-03 02:21:27 +00:00
Compare
andras force-pushed renovate/all from 0e01d5ca79
Some checks failed
Check & deploy / build (pull_request) Failing after 1m22s
to 3087de93f5
Some checks failed
Check & deploy / build (pull_request) Failing after 1m27s
2026-11-03 08:32:21 +00:00
Compare
andras force-pushed renovate/all from 3087de93f5
Some checks failed
Check & deploy / build (pull_request) Failing after 1m27s
to 69bb059839
Some checks failed
Check & deploy / build (pull_request) Failing after 1m25s
2026-11-03 20:54:29 +00:00
Compare
Some checks failed
Check & deploy / build (pull_request) Failing after 1m25s
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin "renovate/all:renovate/all"
git switch "renovate/all"

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch "main"
git merge --no-ff "renovate/all"
git switch "renovate/all"
git rebase "main"
git switch "main"
git merge --ff-only "renovate/all"
git switch "renovate/all"
git rebase "main"
git switch "main"
git merge --no-ff "renovate/all"
git switch "main"
git merge --squash "renovate/all"
git switch "main"
git merge --ff-only "renovate/all"
git switch "main"
git merge "renovate/all"
git push origin "main"
Sign in to join this conversation.
No description provided.