Linting and Formatting Release Notes

Release notes for code linting, formatting and type-checking tools

Get this feed:

Products (5)

Latest Linting and Formatting Updates

  • Sep 1, 2026
    • Date parsed from source:
      Sep 1, 2026
    • First seen by Releasebot:
      Sep 2, 2026
    Oxc logo

    Oxc

    oxlint_v1.81.0: release(apps): oxlint v1.81.0 && oxfmt v0.66.0 (#26199)

    Oxc releases Oxlint and Oxfmt updates with new lint suggestions, broader JS, JSX, Svelte, Vue, and plugin handling fixes, plus a formatter feature for CSS nested configs and many comment, YAML, and JSDoc corrections for more consistent output.

    Oxlint

    🚀 Features

    • 60b945d linter/nextjs/no-typos: Implement suggestion (#26091) (Mikhail Baev)

    🐛 Bug Fixes

    • 33ac4b0 linter/lsp: Prevent tsgolint from holding onto processes (#25570) (Adrian Schaedle)
    • baf4b1e linter/import/no-empty-named-blocks: Make empty value import removal a suggestion (#26155) (camc314)
    • 77cfaec linter/eslint/object-shorthand: Preserve proto semantics (#26154) (camc314)
    • fa3c082 linter/unicorn/prefer-set-size: Ignore shadowed Set constructors (#26153) (camc314)
    • e412cf2 linter: Clamp invalid JS plugin locations (#26144) (camc314)
    • d86c113 linter: Normalize reversed JS plugin locations (#26138) (camc314)
    • 73c09b2 linter/eslint/no-use-before-define: Run on JS, JSX files (#26114) (camc314)
    • 03ef0f2 linter/unicorn/no-useless-spread: Treat typed arrays as a distinct value hint (#26067) (Aadharsh Pannirselvam)
    • bd15905 linter/react/no-unstable-nested-components: Check nested component object property names (#26101) (camc314)
    • 3910e2b linter/eslint/no-unassigned-vars: Skip Svelte and Vue files (#26042) (Hamody We)
    • 047f7ca linter/plugins: Fix interaction between JS plugins and Vue rules (#26080) (overlookmotel)
    • 8531b9b linter/plugins: Alter method for obtaining mutable Program when sending AST to JS plugins (#26077) (overlookmotel)
    • dc464ff linter/unicorn/prefer-math-min-max: Avoid unsafe autofix (#26060) (camc314)

    📚 Documentation

    • 464ddd1 linter: Support a shared short description for jest/vitest rules (#26186) (connorshea)
    • 9db5ad3 linter: Add short description to vue/no-dupe-keys (#26183) (connorshea)
    • db66f58 linter: Correct export/import mismatch in bar and foo example (#25927) (billychannnnnn)
    • d5be037 linter/typescript/switch-exhaustiveness-check: Clarify default case comment pattern (#26100) (camc314)

    Oxfmt

    🚀 Features

    • 1fb37b6 formatter/css: Format declaration-shaped raw-prelude rules (postcss nested config blocks) (#26194) (leaysgur)

    🐛 Bug Fixes

    • 57e8e22 formatter_css: Space a folded sign after a call in Less operations (#26134) (leaysgur)
    • e4298fb formatter/jsdoc: Follow CommonMark for interrupting lists and guard wrapping from creating them (#26098) (leaysgur)
    • a1e21c2 formatter: Apply head body policy everywhere (#26074) (leaysgur)
    • 676b7e1 formatter: Keep comments in their for-head slot, before an empty-statement body and do-while (#26073) (leaysgur)
    • 3bbcea6 formatter: Keep comments between a head and its body out of the braces across all constructs (#26071) (leaysgur)
    • 57537a2 formatter: Place comments between a head and open paren (#26058) (leaysgur)
    • e2d53e7 formatter: Place comments between a statement head and its body (#26043) (leaysgur)
    • 662556c formatter: Print the idempotent placement for comments in dropped parens (#26041) (leaysgur)
    • faf11d9 formatter_yaml: Keep trailing whitespace in block scalars (#26072) (leaysgur)

    ⚡ Performance

    • ac4785a diagnostics: Use fixed ANSI styles (#26130) (Boshen)

    📚 Documentation

    • b879608 formatter,formatter_graphql,formatter_yaml: Annotate own-line comment inlining as known policy violation (#26131) (leaysgur)
    • 181953b oxfmt,formatter_core,formatter,formatter_yaml,formatter_css,formatter_graphql: Extract DIVERGENCES.md out from AGENTS.md (#26121) (leaysgur)
    • a67cb9d formatter,formatter_core: Document comment moving policy (#26075) (leaysgur)
    • fc175b0 formatter_core: Clarify idempotency test infra (#26069) (leaysgur)
    Original source
  • Sep 1, 2026
    • Date parsed from source:
      Sep 1, 2026
    • First seen by Releasebot:
      Sep 2, 2026
    Oxc logo

    Oxc

    oxfmt_v0.66.0: release(apps): oxlint v1.81.0 && oxfmt v0.66.0 (#26199)

    Oxc releases Oxlint and Oxfmt updates with new linting suggestions, broader rule coverage, safer autofixes, plugin and LSP fixes, and multiple formatter improvements for comments, CSS, YAML, and JSDoc.

    Oxlint

    🚀 Features

    • 60b945d linter/nextjs/no-typos: Implement suggestion (#26091) (Mikhail Baev)

    🐛 Bug Fixes

    • 33ac4b0 linter/lsp: Prevent tsgolint from holding onto processes (#25570) (Adrian Schaedle)
    • baf4b1e linter/import/no-empty-named-blocks: Make empty value import removal a suggestion (#26155) (camc314)
    • 77cfaec linter/eslint/object-shorthand: Preserve proto semantics (#26154) (camc314)
    • fa3c082 linter/unicorn/prefer-set-size: Ignore shadowed Set constructors (#26153) (camc314)
    • e412cf2 linter: Clamp invalid JS plugin locations (#26144) (camc314)
    • d86c113 linter: Normalize reversed JS plugin locations (#26138) (camc314)
    • 73c09b2 linter/eslint/no-use-before-define: Run on JS, JSX files (#26114) (camc314)
    • 03ef0f2 linter/unicorn/no-useless-spread: Treat typed arrays as a distinct value hint (#26067) (Aadharsh Pannirselvam)
    • bd15905 linter/react/no-unstable-nested-components: Check nested component object property names (#26101) (camc314)
    • 3910e2b linter/eslint/no-unassigned-vars: Skip Svelte and Vue files (#26042) (Hamody We)
    • 047f7ca linter/plugins: Fix interaction between JS plugins and Vue rules (#26080) (overlookmotel)
    • 8531b9b linter/plugins: Alter method for obtaining mutable Program when sending AST to JS plugins (#26077) (overlookmotel)
    • dc464ff linter/unicorn/prefer-math-min-max: Avoid unsafe autofix (#26060) (camc314)

    📚 Documentation

    • 464ddd1 linter: Support a shared short description for jest/vitest rules (#26186) (connorshea)
    • 9db5ad3 linter: Add short description to vue/no-dupe-keys (#26183) (connorshea)
    • db66f58 linter: Correct export/import mismatch in bar and foo example (#25927) (billychannnnnn)
    • d5be037 linter/typescript/switch-exhaustiveness-check: Clarify default case comment pattern (#26100) (camc314)

    Oxfmt

    🚀 Features

    • 1fb37b6 formatter/css: Format declaration-shaped raw-prelude rules (postcss nested config blocks) (#26194) (leaysgur)

    🐛 Bug Fixes

    • 57e8e22 formatter_css: Space a folded sign after a call in Less operations (#26134) (leaysgur)
    • e4298fb formatter/jsdoc: Follow CommonMark for interrupting lists and guard wrapping from creating them (#26098) (leaysgur)
    • a1e21c2 formatter: Apply head body policy everywhere (#26074) (leaysgur)
    • 676b7e1 formatter: Keep comments in their for-head slot, before an empty-statement body and do-while (#26073) (leaysgur)
    • 3bbcea6 formatter: Keep comments between a head and its body out of the braces across all constructs (#26071) (leaysgur)
    • 57537a2 formatter: Place comments between a head and open paren (#26058) (leaysgur)
    • e2d53e7 formatter: Place comments between a statement head and its body (#26043) (leaysgur)
    • 662556c formatter: Print the idempotent placement for comments in dropped parens (#26041) (leaysgur)
    • faf11d9 formatter_yaml: Keep trailing whitespace in block scalars (#26072) (leaysgur)

    ⚡ Performance

    • ac4785a diagnostics: Use fixed ANSI styles (#26130) (Boshen)

    📚 Documentation

    • b879608 formatter,formatter_graphql,formatter_yaml: Annotate own-line comment inlining as known policy violation (#26131) (leaysgur)
    • 181953b oxfmt,formatter_core,formatter,formatter_yaml,formatter_css,formatter_graphql: Extract DIVERGENCES.md out from AGENTS.md (#26121) (leaysgur)
    • a67cb9d formatter,formatter_core: Document comment moving policy (#26075) (leaysgur)
    • fc175b0 formatter_core: Clarify idempotency test infra (#26069) (leaysgur)
    Original source
  • All of your release notes in one feed

    Join Releasebot and get updates from Oxc and hundreds of other software products.

    Create account
  • Sep 1, 2026
    • Date parsed from source:
      Sep 1, 2026
    • First seen by Releasebot:
      Sep 2, 2026
    Oxc logo

    Oxc

    oxc crates_v0.148.0

    Oxc releases a new update with breaking allocator changes, smarter minifier optimizations, fuller comment attachment in the parser, and several semantic, regex, and transform bug fixes. It also brings code generation and diagnostics performance improvements.

    BREAKING CHANGES

    a31567a allocator: [BREAKING] Make Allocator::cursor_ptr and data_end_ptr private (#26081) (overlookmotel)

    Features

    115955d minifier: Drop cases whose condition is statically false (#26172) (Armano)

    784e9fa minifier: Invert !0 and !1 in place for boolean context to 1 and 0 (#26050) (Armano)

    1e902cc minifier: Expand fold leading assignments into the var decl (#26142) (Armano)

    3ed4f6a minifier: Expand de morgan's optimization to allow move of ! (#25930) (Armano)

    5672585 parser: Attach all comments to nodes (#25944) (camc314)

    Bug Fixes

    a3d33dd semantic: Skip body bindings in type parameters and this param (#26169) (Dunqing)

    4adfb4c semantic: Validate chained continue labels (#26157) (camc314)

    b874f48 ecmascript: Math.round only exact half ties (#26150) (camc314)

    a625378 minifier: Coerce omitted indexOf search argument (#26149) (camc314)

    dc7398b ecmascript: Trim trailing whitespace in string to number (#26148) (camc314)

    243b685 transformer/object-rest: Lower multiple declarators correctly (#26147) (camc314)

    dc09a3a parser: Avoid panic on escaped string export names (#26146) (camc314)

    e412cf2 linter: Clamp invalid JS plugin locations (#26144) (camc314)

    c3dedc9 semantic: Skip function body bindings in parameters (#26099) (Dunqing)

    e74de61 transform-react: Match Babel diagnostic reporting (#26128) (Boshen)

    d5163d0 parser: Correctly classify unapplied pure annotations (#26084) (camc314)

    8531b9b linter/plugins: Alter method for obtaining mutable Program when sending AST to JS plugins (#26077) (overlookmotel)

    9b51658 regular_expression: Allow oversized decimal escape for Annex B (#26070) (leaysgur)

    c8de4df regular_expression: Reject oversized backreferences (#26055) (camc314)

    Performance

    ac4785a diagnostics: Use fixed ANSI styles (#26130) (Boshen)

    07a0793 packages/codegen: Flatten output in chunks (#26109) (overlookmotel)

    487427a packages/codegen: Faster string flattening (#26108) (overlookmotel)

    7785583 packages/codegen: Ensure indent strings are flattened (#26107) (overlookmotel)

    0dd4db3 packages/codegen: Store mapping positions in an Int32Array (#26085) (overlookmotel)

    Original source
  • Sep 1, 2026
    • Date parsed from source:
      Sep 1, 2026
    • First seen by Releasebot:
      Sep 2, 2026
    Oxc logo

    Oxc

    oxlint v1.81.0 & oxfmt v0.66.0

    Oxc releases Oxlint v1.81.0 and Oxfmt v0.66.0 with new linting suggestions, broader rule fixes, safer plugin handling, and formatter improvements for CSS, imports, comments, and YAML. The update also sharpens documentation and performance details.

    Table of Contents

    Oxlint v1.81.0

    Oxfmt v0.66.0

    Oxlint v1.81.0

    🚀 Features

    60b945d linter/nextjs/no-typos: Implement suggestion (#26091) (Mikhail Baev)

    🐛 Bug Fixes

    33ac4b0 linter/lsp: Prevent tsgolint from holding onto processes (#25570) (Adrian Schaedle)
    baf4b1e linter/import/no-empty-named-blocks: Make empty value import removal a suggestion (#26155) (camc314)
    77cfaec linter/eslint/object-shorthand: Preserve proto semantics (#26154) (camc314)
    fa3c082 linter/unicorn/prefer-set-size: Ignore shadowed Set constructors (#26153) (camc314)
    e412cf2 linter: Clamp invalid JS plugin locations (#26144) (camc314)
    d86c113 linter: Normalize reversed JS plugin locations (#26138) (camc314)
    73c09b2 linter/eslint/no-use-before-define: Run on JS, JSX files (#26114) (camc314)
    03ef0f2 linter/unicorn/no-useless-spread: Treat typed arrays as a distinct value hint (#26067) (Aadharsh Pannirselvam)
    bd15905 linter/react/no-unstable-nested-components: Check nested component object property names (#26101) (camc314)
    3910e2b linter/eslint/no-unassigned-vars: Skip Svelte and Vue files (#26042) (Hamody We)
    047f7ca linter/plugins: Fix interaction between JS plugins and Vue rules (#26080) (overlookmotel)
    8531b9b linter/plugins: Alter method for obtaining mutable Program when sending AST to JS plugins (#26077) (overlookmotel)
    dc464ff linter/unicorn/prefer-math-min-max: Avoid unsafe autofix (#26060) (camc314)

    📚 Documentation

    464ddd1 linter: Support a shared short description for jest/vitest rules (#26186) (connorshea)
    9db5ad3 linter: Add short description to vue/no-dupe-keys (#26183) (connorshea)
    db66f58 linter: Correct export/import mismatch in bar and foo example (#25927) (billychannnnnn)
    d5be037 linter/typescript/switch-exhaustiveness-check: Clarify default case comment pattern (#26100) (camc314)

    Oxfmt v0.66.0

    🚀 Features

    1fb37b6 formatter/css: Format declaration-shaped raw-prelude rules (postcss nested config blocks) (#26194) (leaysgur)

    🐛 Bug Fixes

    9f81002 formatter: Re-add suppressed statement terminators per options.semi (#26220) (leaysgur)
    769ffd5 formatter: Print suppressed typecast parens (#26218) (leaysgur)
    5ff57f8 formatter/sort-imports: Handle custom side effect groups (#26217) (leaysgur)
    2f4d759 formatter: Do not skip cast comment lookup (#26216) (leaysgur)
    1213e12 formatter: Preserve comment for statement terminators and binary casts (#26213) (leaysgur)
    57e8e22 formatter_css: Space a folded sign after a call in Less operations (#26134) (leaysgur)
    e4298fb formatter/jsdoc: Follow CommonMark for interrupting lists and guard wrapping from creating them (#26098) (leaysgur)
    a1e21c2 formatter: Apply head body policy everywhere (#26074) (leaysgur)
    676b7e1 formatter: Keep comments in their for-head slot, before an empty-statement body and do-while (#26073) (leaysgur)
    3bbcea6 formatter: Keep comments between a head and its body out of the braces across all constructs (#26071) (leaysgur)
    57537a2 formatter: Place comments between a head and open paren (#26058) (leaysgur)
    e2d53e7 formatter: Place comments between a statement head and its body (#26043) (leaysgur)
    662556c formatter: Print the idempotent placement for comments in dropped parens (#26041) (leaysgur)
    faf11d9 formatter_yaml: Keep trailing whitespace in block scalars (#26072) (leaysgur)

    ⚡ Performance

    ac4785a diagnostics: Use fixed ANSI styles (#26130) (Boshen)

    📚 Documentation

    b879608 formatter,formatter_graphql,formatter_yaml: Annotate own-line comment inlining as known policy violation (#26131) (leaysgur)
    181953b oxfmt,formatter_core,formatter,formatter_yaml,formatter_css,formatter_graphql: Extract DIVERGENCES.md out from AGENTS.md (#26121) (leaysgur)
    a67cb9d formatter,formatter_core: Document comment moving policy (#26075) (leaysgur)
    fc175b0 formatter_core: Clarify idempotency test infra (#26069) (leaysgur)

    Original source
  • Aug 31, 2026
    • Date parsed from source:
      Aug 31, 2026
    • First seen by Releasebot:
      Sep 1, 2026
    typescript-eslint logo

    typescript-eslint

    v8.69.0

    typescript-eslint releases 8.69.0 with a new no-misused-promises flagUnions option for checkConditionals and several eslint-plugin fixes, including no-mixed-enums, unified-signatures, and no-meaningless-void-operator, plus a website update for allowJs playground config.

    8.69.0 (2026-08-31)

    🚀 Features

    eslint-plugin: [no-misused-promises] add flagUnions option for checkConditionals (#12603)

    🩹 Fixes

    eslint-plugin: [no-mixed-enums] use scope analysis instead of type checking for merged namespaces (#12731)

    eslint-plugin: [unified-signatures] compare type parameters by constraint instead of name (#12741)

    eslint-plugin: [no-meaningless-void-operator] report void on non-call expressions (#12727)

    website: respect allowJs playground config (#12744)

    ❤️ Thank You

    Abdu Alim Arlikhozhaev @Arlikhozhaev

    Evyatar Daud @StyleShit

    Josh Goldberg ✨

    wonbeanie @wonbeanie

    Younsang Na @nayounsang

    See GitHub Releases for more information.

    You can read about our versioning strategy and releases on our website.

    Original source
  • Aug 24, 2026
    • Date parsed from source:
      Aug 24, 2026
    • First seen by Releasebot:
      Aug 26, 2026
    typescript-eslint logo

    typescript-eslint

    v8.68.0

    typescript-eslint releases 8.68.0 with new strict-void-return fix suggestions and ESLint rule meta.languages support, plus improvements to unified-signatures, return-await, no-unnecessary-type-assertion, no-floating-promises, and no-empty-object-type. The update also fixes a playground crash.

    8.68.0 (2026-08-24)

    🚀 Features

    • eslint-plugin: [strict-void-return] add fix suggestions (#12086)
    • utils: support ESLint rule meta.languages (#12663)

    🩹 Fixes

    • eslint-plugin: [unified-signatures] deduplicate types in report (#12656)
    • eslint-plugin: [return-await] prevent autofix from breaking code in arrow-functions (#12707)
    • eslint-plugin: [unified-signatures] report identical signatures (#12678)
    • eslint-plugin: [no-unnecessary-type-assertion] prevent stack overflow in recursive types (#12711)
    • eslint-plugin: [no-floating-promises] setting ignoreVoid: false results in false negative in ArrowFunctionExpression (#12646)
    • eslint-plugin: [no-empty-object-type] ignore suggestions that result in invalid interfaces and export defaults (#12739)
    • website: playground crashes on extends configs (#12608)
    • website: account for thanks.dev and out-of-band donors in sponsors list (#12735)

    ❤️ Thank You

    • Evyatar Daud @StyleShit
    • Hugo @hugop95
    • Josh Goldberg ✨
    • Niki @phaux
    • Thiago Barbosa
    • Younsang Na @nayounsang

    See GitHub Releases for more information.
    You can read about our versioning strategy and releases on our website.

    Original source
  • Aug 24, 2026
    • Date parsed from source:
      Aug 24, 2026
    • First seen by Releasebot:
      Aug 25, 2026
    Eslint logo

    Eslint

    ESLint v10.9.1 released

    Eslint ships v10.9.1 patch release fixing no-loss-of-precision false positives and other bugs from the prior version.

    We just pushed ESLint v10.9.1, which is a patch release upgrade of ESLint. This release fixes several bugs found in the previous release.

    Highlights

    This patch release fixes false positives in the no-loss-of-precision rule that were introduced in v10.9.0.

    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

    • 3c3ae53 chore: update ecosystem plugins (#21249) (ESLint Bot)
    Original source
  • Aug 24, 2026
    • Date parsed from source:
      Aug 24, 2026
    • First seen by Releasebot:
      Aug 24, 2026
    Oxc logo

    Oxc

    oxlint_v1.80.0: release(apps): oxlint v1.80.0 && oxfmt v0.65.0 (#26045)

    Oxc releases Oxlint and Oxfmt updates with a new TypeScript lint suggestion, multiple lint and parser bug fixes, improved import and global resolution, and formatter fixes for class decorators and exports.

    Oxlint

    🚀 Features

    70c3e35 linter/typescript/no-confusing-non-null-assertion: Implement suggestion (#26012) (Mikhail Baev)

    🐛 Bug Fixes

    8a353a7 linter/eslint/no-control-regex: Refine help message text (#25996) (Rahul Mishra)

    8a9bdbd estree: Include decorators in FormalParameterRest spans (#26021) (camc314)

    8d94cd1 linter/eslint/no-useless-rename: Preserve type modifiers (#26020) (Cameron)

    2cde1f6 rust: Address nightly deprecations (#25998) (Boshen)

    51d36d7 linter/vue: Resolve vue imports via shared import helpers (#25903) (Connor Shea)

    83a68d2 linter/react/no-react-children: Resolve react imports by symbol (#25901) (Connor Shea)

    124e196 linter: Resolve globals by reference, not by name (#25905) (Connor Shea)

    a701bcc linter: Remove invalid React compiler doc links (#25900) (Boshen)

    📚 Documentation

    9b7e153 linter: Set version to 1.79.0 for rules shipped in 1.79.0 (#25902) (connorshea)

    Oxfmt

    🐛 Bug Fixes

    bf37dd5 formatter: Preserve class decorators before export when the statement is suppressed (#26034) (leaysgur)

    Original source
  • Aug 24, 2026
    • Date parsed from source:
      Aug 24, 2026
    • First seen by Releasebot:
      Aug 24, 2026
    Oxc logo

    Oxc

    oxfmt_v0.65.0: release(apps): oxlint v1.80.0 && oxfmt v0.65.0 (#26045)

    Oxc ships Oxlint and Oxfmt updates with a new TypeScript no-confusing-non-null-assertion suggestion, refinements to ESLint, Vue, React, and estree handling, plus formatter fixes for suppressed class decorators and other bug fixes and documentation updates.

    Oxlint

    🚀 Features

    70c3e35 linter/typescript/no-confusing-non-null-assertion: Implement suggestion (#26012) (Mikhail Baev)

    🐛 Bug Fixes

    8a353a7 linter/eslint/no-control-regex: Refine help message text (#25996) (Rahul Mishra)

    8a9bdbd estree: Include decorators in FormalParameterRest spans (#26021) (camc314)

    8d94cd1 linter/eslint/no-useless-rename: Preserve type modifiers (#26020) (Cameron)

    2cde1f6 rust: Address nightly deprecations (#25998) (Boshen)

    51d36d7 linter/vue: Resolve vue imports via shared import helpers (#25903) (Connor Shea)

    83a68d2 linter/react/no-react-children: Resolve react imports by symbol (#25901) (Connor Shea)

    124e196 linter: Resolve globals by reference, not by name (#25905) (Connor Shea)

    a701bcc linter: Remove invalid React compiler doc links (#25900) (Boshen)

    📚 Documentation

    9b7e153 linter: Set version to 1.79.0 for rules shipped in 1.79.0 (#25902) (connorshea)

    Oxfmt

    🐛 Bug Fixes

    bf37dd5 formatter: Preserve class decorators before export when the statement is suppressed (#26034) (leaysgur)

    Original source
  • Aug 24, 2026
    • Date parsed from source:
      Aug 24, 2026
    • First seen by Releasebot:
      Aug 24, 2026
    Oxc logo

    Oxc

    oxc crates_v0.147.0

    Oxc releases a minifier, parser, and codegen update with new switch-statement folding, safer if-to-for handling, decorator span fixes, private identifier and sourcemap improvements, plus a broad round of performance optimizations and documentation cleanup.

    Features

    b6e9e5e minifier: Fold switch stmt whose parent is not block stmt (#25403) (Armano)

    Bug Fixes

    8db1053 codegen: Require sourcemap for example (#26047) (camc314)

    8a9bdbd estree: Include decorators in FormalParameterRest spans (#26021) (camc314)

    6f0c7cf minifier: Avoid merging if to for in sloppy mode when containing function declaration (#25638) (sapphi-red)

    2cde1f6 rust: Address nightly deprecations (#25998) (Boshen)

    6c5ad1b codegen: Only add mapping names for PrivateIdentifiers which have changed (#25958) (overlookmotel)

    2dad1e0 parser: Track irregular line terminators in trivia (#25947) (camc314)

    58ba651 minifier: Avoid merging if to for when the body contains a function declaration (#25637) (sapphi-red)

    a185ac3 codegen: Print # before private identifier in TS signature key (#25938) (overlookmotel)

    af82a07 minifier: Keep unary + when the other operand has side effects (#25645) (Kotaro Chikuba)

    Performance

    20711f4 packages/codegen: Remove node param from write and markMap functions in sourcemap builds (#25989) (overlookmotel)

    29a7749 packages/codegen: Pass start and end to write and mark functions (#25986) (overlookmotel)

    8ae741b packages/codegen: Replace write calls with writeIdent (#25984) (overlookmotel)

    a78ed30 packages/codegen: Remove last param from writeWithMapNamed (#25983) (overlookmotel)

    53f6270 packages/codegen: Eagerly initialize mapNames (#25979) (overlookmotel)

    5b43c60 packages/codegen: Split recording mappings into multiple functions (#25978) (overlookmotel)

    cc947b5 packages/codegen: Reduce property lookups (#25977) (overlookmotel)

    c22a9cc packages/codegen: Combine condition checks (#25976) (overlookmotel)

    215a6a5 packages/codegen: Add functions for writing/marking unnamed mappings (#25975) (overlookmotel)

    fe444cc codegen: Avoid allocations for single comment anchors (#25598) (camc314)

    a0aee81 minifier: Do not rebuild expression when substituting void to null (#25964) (Armano)

    1004439 packages/codegen: Merge mark and write calls in printImportAttributes (#25972) (overlookmotel)

    94c8a34 packages/codegen: Remove node param from printString and printNonNegativeFloat (#25971) (overlookmotel)

    7e2b4b3 packages/codegen: printNonNegativeFloat write mapping directly (#25968) (overlookmotel)

    f09c8ab minifier: Avoid creation of unnecessary conditional expressions (#25931) (Armano)

    53ff080 packages/codegen: Remove lastWasPostfixClose (#25888) (overlookmotel)

    Documentation

    07de646 packages/codegen: Fix JSDoc comments on write* methods (#25966) (overlookmotel)

    3b09c04 packages/codegen: Clarify comment (#25959) (overlookmotel)

    Original source