Linting and Formatting Release Notes

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

Products (5)

Latest Linting and Formatting Updates

  • Mar 6, 2026
    • Date parsed from source:
      Mar 6, 2026
    • First seen by Releasebot:
      Mar 6, 2026
    Microsoft logo

    TypeScript by Microsoft

    Announcing TypeScript 6.0 RC - TypeScript

    Microsoft announces the Release Candidate of TypeScript 6.0, a bridge to the Go-based 7.0 future. The RC aligns with 7.0 goals and adds es2025 target, Temporal and upsert types, subpath imports, stableTypeOrdering, and DOM lib improvements, inviting users to try and provide feedback.

    Release Candidate (RC) for TypeScript 6.0

    Today we are excited to announce the Release Candidate (RC) of TypeScript 6.0! To get started using the RC, you can get it through npm with the following command:

    • npm install -D typescript@rc

    TypeScript 6.0 is a unique release in that we intend for it to be the last release based on the current JavaScript codebase. As announced last year (with recent updates here), we are working on a new codebase for the TypeScript compiler and language service written in Go that takes advantage of the speed of native code and shared-memory multi-threading. This new codebase will be the foundation of TypeScript 7.0 and beyond. TypeScript 6.0 will be the immediate precursor to that release, and in many ways it will act as the bridge between TypeScript 5.9 and 7.0. As such, most changes in TypeScript 6.0 are meant to help align and prepare for adopting TypeScript 7.0.

    With that said, there are some new features and improvements that are not just about alignment. Let’s take a look at some of the highlights of this release, followed by a more detailed look at what’s changing for 7.0 and how to prepare for it.

    What’s New Since the Beta?

    Since TypeScript 6.0 beta, we have made a few noteworthy changes – mostly to align with the behavior of TypeScript 7.0.

    One adjustment is in type-checking for function expressions in generic calls, especially those occurring in generic JSX expressions (see this pull request). This will typically catch more bugs in existing code, though you may find that some generic calls may need an explicit type argument.

    We have also extended our deprecation of import assertion syntax (i.e. import ... assert {...}) to import() calls to import() calls like import(..., { assert: {...}})

    Finally, we have updated the DOM types to reflect the latest web standards, including some adjustments to the Temporal APIs as well.

    Less Context-Sensitivity on this-less Functions

    When parameters don’t have explicit types written out, TypeScript can usually infer them based on an expected type, or even through other arguments in the same function call.

    [code examples omitted]

    Here, TypeScript can infer the type of y in the consume function based on the inferred T from the produce function, regardless of the order of the properties. But what about if these functions were written using method syntax instead of arrow function syntax?

    [more examples omitted]

    Strangely enough, the second call to callIt results in an error because TypeScript is not able to infer the type of y in the consume method. What’s happening here is that when TypeScript is trying to find candidates for T, it will first skip over functions whose parameters don’t have explicit types. It does this because certain functions may need the inferred type of T to be correctly checked – in our case, we need to know the type of T to analyze our consume function.

    These functions are called contextually sensitive functions – basically, functions that have parameters without explicit types. Eventually the type system will need to figure out types for these parameters – but this is a bit at odds with how inference works in generic functions because the two "pull" on types in different directions.

    [more code/examples omitted]

    To solve this, TypeScript skips over contextually sensitive functions during type argument inference, and instead checks and infers from other arguments first. If skipping over contextually sensitive functions doesn’t work, inference just continues across any unchecked arguments, going left-to-right in the argument list. In the example immediately above, TypeScript will skip over the callback during inference for T, but will then look at the second argument, 42, and infer that T is number. Then, when it comes back to check the callback, it will have a contextual type of (x: number) => void, which allows it to infer that x is a number as well.

    So what’s going on in our earlier examples?

    [examples omitted]

    In both examples, produce is assigned a function with an explicitly-typed x parameter. Shouldn’t they be checked identically?

    The issue is subtle: most functions (like the ones using method syntax) have an implicit this parameter, but arrow functions do not. Any usage of this could require "pulling" on the type of T – for example, knowing the type of the containing object literal could in turn require the type of consume, which uses T.

    But we’re not using this! Sure, the function might have a this value at runtime, but it’s never used!

    TypeScript 6.0 takes this into account when it decides if a function is contextually sensitive or not. If this is never actually used in a function, then it is not considered contextually sensitive. That means these functions will be seen as higher-priority when it comes to type inference, and all of our examples above now work!

    This change was provided thanks to the work of Mateusz Burzyński.

    Subpath Imports Starting with #/

    When Node.js added support for modules, it added a feature called "subpath imports". This is basically a field called imports which allows packages to create internal aliases for modules within their package.

    [example package.json omitted]

    This allows modules in my-package to import from #root instead of having to use a relative path like ../../index.js, and basically allows any other module to write something like import * as utils from "#root/utils.js";

    [more examples omitted]

    One minor annoyance with this feature has been that developers always had to write something after the # when specifying a subpath import. Here, we used root, but it is a bit useless since there is no directory we’re mapping over other than ./dist/

    Developers who have used bundlers are also accustomed to using path-mapping to avoid long relative paths. A familiar convention with bundlers has been to use a simple @/ as the prefix. Unfortunately, subpath imports could not start with #/ at all, leading to a lot of confusion for developers trying to adopt them in their projects.

    But more recently, Node.js added support for subpath imports starting with #/. This allows packages to use a simple #/ prefix for their subpath imports without needing to add an extra segment.

    [example package.json omitted]

    This is supported in newer Node.js 20 releases, and so TypeScript now supports it under the options node20, nodenext, and bundler for the --moduleResolution setting.

    This work was done thanks to magic-akari, and the implementing pull request can be found here.

    Combining --moduleResolution bundler with --module commonjs

    TypeScript’s --moduleResolution bundler setting was previously only allowed to be used with --module esnext or --module preserve; however, with the deprecation of --moduleResolution node (a.k.a. --moduleResolution node10), this new combination is often the most suitable upgrade path for many projects.

    Projects will often want to instead plan out a migration towards either

    • --module preserve and --moduleResolution bundler
    • --module nodenext

    depending on your project type (e.g. bundled web app, Bun app, or Node.js app).

    More information can be found at this implementing pull request.

    The --stableTypeOrdering Flag

    As part of our ongoing work on TypeScript’s native port, we’ve introduced a new flag called --stableTypeOrdering intended to assist with 6.0-to-7.0 migrations.

    Today, TypeScript assigns type IDs (internal tracking numbers) to types in the order they are encountered, and uses these IDs to sort union types in a consistent manner. A similar process occurs for properties. As a result, the order in which things are declared in a program can have possibly surprising effects on things like declaration emit.

    [code examples omitted]

    One of the major architectural improvements in TypeScript 7 is parallel type checking, which dramatically improves overall check time. However, parallelism introduces a challenge: when different type-checkers visit nodes, types, and symbols in different orders, the internal IDs assigned to these constructs become non-deterministic. This in turn leads to confusing non-deterministic output, where two files with identical contents in the same program can produce different declaration files, or even calculate different errors when analyzing the same file. To fix this, TypeScript 7.0 sorts its internal objects (e.g. types and symbols) according to a deterministic algorithm based on the content of the object. This ensures that all checkers encounter the same object order regardless of how and when they were created. As a consequence, in the given example, TypeScript 7 will always print 100 | 500, removing the ordering instability entirely.

    This means that TypeScript 6 and 7 can and do sometimes display different ordering. While these ordering changes are almost always benign, if you’re comparing compiler outputs between runs (for example, checking emitted declaration files in 6.0 vs 7.0), these different orderings can produce a lot of noise that makes it difficult to assess correctness. Occasionally though, you may witness a change in ordering that causes a type error to appear or disappear, which can be even more confusing.

    To help with this situation, in 6.0, you can specify the new --stableTypeOrdering flag. This makes 6.0’s type ordering behavior match 7.0’s, reducing the number of differences between the two codebases. Note that we don’t necessarily encourage using this flag all the time as it can add a substantial slowdown to type-checking (up to 25% depending on codebase).

    If you encounter a type error using --stableTypeOrdering, this is typically due to inference differences. The previous inference without --stableTypeOrdering happened to work based on the current ordering of types in your program. To help with this, you’ll often benefit from providing an explicit type somewhere. Often, this will be a type argument

    • someFunctionCall(/.../);
    • someFunctionCall(/.../);

    or a variable annotation for an argument you intend to pass into a call.

    [example omitted]

    Note that this flag is only intended to help diagnose differences between 6.0 and 7.0 – it is not intended to be used as a long-term feature

    See more at this pull-request.

    es2025 option for target and lib

    TypeScript 6.0 adds support for the es2025 option for both target and lib. While there are no new JavaScript language features in ES2025, this new target adds new types for built-in APIs (e.g. RegExp.escape), and moves a few declarations from esnext into es2025 (e.g. Promise.try, Iterator methods, and Set methods). Work to enable the new target was contributed thanks to Kenta Moriuchi.

    New Types for Temporal

    The long-awaited Temporal proposal has reached stage 3 and is expected to be added to JavaScript in the near future. TypeScript 6.0 now includes built-in types for the Temporal API, so you can start using it in your TypeScript code today via --target esnext or "lib": ["esnext"] (or the more-granular temporal.esnext).

    [example code omitted]

    Temporal is already usable in several runtimes, so you should be able to start experimenting with it soon. Documentation on the Temporal APIs is available on MDN, though it may still be incomplete.

    This work was contributed thanks to GitHub user Renegade334.

    New Types for "upsert" Methods (a.k.a. getOrInsert)

    A common pattern with Maps is to check if a key exists, and if not, set and fetch a default value.

    [example code omitted]

    This pattern can be tedious. ECMAScript’s "upsert" proposal recently reached stage 4, and introduces 2 new methods on Map and WeakMap:

    • getOrInsert
    • getOrInsertComputed

    These methods have been added to the esnext lib so that you can start using them immediately in TypeScript 6.0.

    With getOrInsert, we can replace our code above with the following:

    [example code omitted]

    getOrInsertComputed works similarly, but is for cases where the default value may be expensive to compute (e.g. requires lots of computations, allocations, or does long-running synchronous I/O). Instead, it takes a callback that will only be called if the key is not already present.

    [example omitted]

    This callback is also given the key as an argument, which can be useful for cases where the default value is based on the key.

    This update was contributed thanks to GitHub user Renegade334.

    RegExp.escape

    When constructing some literal string to match within a regular expression, it is important to escape special regular expression characters like *, +, ?, (, ), etc. The RegExp Escaping ECMAScript proposal has reached stage 4, and introduces a new RegExp.escape function that takes care of this for you.

    [example code omitted]

    RegExp.escape is available in the es2025 lib, so you can start using it in TypeScript 6.0 today.

    This work was contributed thanks Kenta Moriuchi.

    The dom lib Now Contains dom.iterable and dom.asynciterable

    TypeScript’s lib option allows you to specify which global declarations your target runtime has. One option is dom to represent web environments (i.e. browsers, who implement the DOM APIs). Previously, the DOM APIs were partially split out into dom.iterable and dom.asynciterable for environments that didn’t support Iterables and AsyncIterables. This meant that you had to explicitly add dom.iterable to use iteration methods on DOM collections like NodeList or HTMLCollection.

    In TypeScript 6.0, the contents of lib.dom.iterable.d.ts and lib.dom.asynciterable.d.ts are fully included in lib.dom.d.ts. You can still reference dom.iterable and dom.asynciterable in your configuration file’s "lib" array, but they are now just empty files.

    [example code omitted]

    This is a quality-of-life improvement that eliminates a common point of confusion, since no major modern browser lacks these capabilities. If you were already including both dom and dom.iterable, you can now simplify to just dom.

    See more at this issue and its corresponding pull request.

    Breaking Changes and Deprecations in TypeScript 6.0

    TypeScript 6.0 arrives as a significant transition release, designed to prepare developers for TypeScript 7.0, the upcoming native port of the TypeScript compiler. While TypeScript 6.0 maintains full compatibility with your existing TypeScript knowledge and continues to be API compatible with TypeScript 5.9, this release introduces a number of breaking changes and deprecations that reflect the evolving JavaScript ecosystem and set the stage for TypeScript 7.0.

    [long list of deprecations and changes omitted for brevity]

    Preparing for TypeScript 7.0

    TypeScript 6.0 is designed as a transition release. While options deprecated in TypeScript 6.0 will continue to work without errors when "ignoreDeprecations": "6.0" is set, those options will be removed entirely in TypeScript 7.0 (the native TypeScript port). If you’re seeing deprecation warnings after upgrading to TypeScript 6.0, we strongly recommend addressing them before adopting TypeScript 7.0 (or trying native previews) in your project.

    As for the schedule, we expect TypeScript 7.0 to follow soon after TypeScript 6.0. This should help us maintain continuity while giving us a faster feedback loop for migration issues discovered during adoption.

    What’s Next?

    At this point, TypeScript 6.0 is feature-complete, and we anticipate very few changes apart from critical bug fixes to the compiler. Over the next few weeks, we’ll focus on addressing issues reported on the 6.0 branch, so we encourage you to try the RC and share feedback.

    We also publish nightly builds on npm and in Visual Studio Code, which can provide a faster snapshot of recently fixed issues.

    We are also continuing to work on TypeScript 7.0, and we publish nightly builds of our native previews along with a VS Code extension too. Feedback on both 6.0 and 7.0 are very much appreciated, and we encourage you to try out both if you can.

    So give TypeScript 6.0 RC a try in your project, and let us know what you think!

    Happy Hacking!

    – Daniel Rosenwasser and the TypeScript Team

    Original source Report a problem
  • Mar 2, 2026
    • Date parsed from source:
      Mar 2, 2026
    • First seen by Releasebot:
      Mar 2, 2026
    Oxc logo

    Oxc

    oxlint_v1.51.0: release(apps): oxlint v1.51.0 && oxfmt v0.36.0 (#19912)

    Oxlint gains experimental fix modes, typeCheck and typeAware options plus smarter undefined-name suggestions, plus a wave of diagnostics improvements and bug fixes. Oxfmt adds trailing ignore support, multi-scheme LSP access, and stability fixes across formatter and parser.

    Oxlint

    🚀 Features

    • 2e0e1d0 linter/no-unused-vars: Add experimental fix mode controls
    • (off|suggestion|fix) (#19774) (camc314)
    • f34f6fa linter: Introduce typeCheck config option (#19764) (camc314)
    • 694be7d linter: Introduce typeAware as config options (#19614)
    • (camc314)
    • 655c38f semantic: Add "did you mean?" suggestions to undefined name
    • errors (#19102) (copilot-swe-agent)
    • e97a57e linter/id-length: Use serde to deserialize rule options
    • (#19636) (camc314)
    • c4a3677 parser: Report error for initializer in ambient context
    • (#19187) (camc314)
    • 346045a linter/id-length: Add checkGeneric option (#19634) (camc314)

    🐛 Bug Fixes

    • 1b7a937 linter: Correct double-comparisons fix with swapped operands
    • (#19846) (camc314)
    • c308857 linter/consistent_type_imports: Add missing help and notes to
    • diagnostics (#19827) (Daniel Osmond)
    • 7682e5a linter/plugins: Decode escapes in identifier tokens (#19838)
    • (overlookmotel)
    • f368fcd linter/consistent_type_assertions: Add missing with_help and
    • with_note to diagnostics (#19826) (Daniel Osmond)
    • 04e6223 npm: Add preferUnplugged for Yarn PnP compatibility (#19829)
    • (Boshen)
    • 86d5037 linter: Add help text to no-extend-native,
    • no-useless-backreference (#19733) (Anthony Amaro)
    • 50e8eff linter: Add .with_help() to operator-assignment,
    • no-nonoctal-decimal-escape (#19732) (Anthony Amaro)
    • 1417bdc linter/no-wrapper-object-types: Add help messages to missing
    • diagnostics (#19771) (Daniel Osmond)
    • 0838477 linter/ban_ts_comment: Add help and notes to missing
    • diagnostics (#19781) (Daniel Osmond)
    • e8c77cf linter/adjacent_overload_signatures: Add missing diagnostics
    • (#19780) (Daniel Osmond)
    • 28834ac linter/ban_types: Add missing help and note to diagnostics
    • (#19782) (Daniel Osmond)
    • fd938d3 linter/prefer-enum-initializers: Add help messages to missing
    • diagnostics (#19772) (Daniel Osmond)
    • eb928ee linter/no-dynamic-delete: Add help messages to missing
    • diagnostics (#19768) (Daniel Osmond)
    • a985666 linter/no-empty-interface: Add help messages to missing
    • diagnostics (#19769) (Daniel Osmond)
    • 2dc0ceb linter/no-extra-non-null-assertion: Add help messages to
    • missing diagnostics (#19770) (Daniel Osmond)
    • 95d5d66 linter/no-dupe-keys: Handle proto proto setters in
    • (#19762) (camc314)
    • 24ff0db linter/exhaustive-deps: False positive for member expressions
    • in IIFEs (#19751) (Dennis Chen)
    • 7243a58 linter/no-use-before-define: Honor ignoreTypeReferences when
    • value and type name collisions (#19747) (Dimava)
    • eefd818 linter/explicit-module-boundary-types: Add help messages to
    • missing diagnostics (#19736) (Daniel Osmond)
    • 0440e9a linter: Add help text to no_control_regex, no_fallthrough,
    • no_param_reassign (#19655) (Anthony Amaro)
    • e84cb2f react/display-name: Handle merged type+value context symbols
    • (#19608) (camc314)
    • ce7e253 linter/prefer-object-from-entries: Require exact path match in
    • unicorn helper (#19687) (camc314)
    • f5694ce estree/tokens: Reverse field order of regex object in tokens
    • (#19679) (overlookmotel)
    • b2b7a55 estree/tokens: Generate tokens for files with BOM (#19535)
    • (overlookmotel)
    • 0722721 linter/jsx-curly-brace-presence: False positive with prop &
    • mixed quotes (#19674) (camc314)
    • 3496acd linter: Enhance diagnostic help messages for eslint rules
    • (#19653) (Anthony Amaro)
    • e384e94 linter: Enhance help diagnostic messages for more eslint rules
    • (#19658) (Anthony Amaro)
    • a4d5b34 linter: Avoid non-promise catch false positives (#19574)
    • (camc314)
    • 5706f38 linter: unicorn/no-array-callback-reference skip Effect.*
    • array-like methods name. (#19633) (Said Atrahouch)

    ⚡ Performance

    • 05ccf9f linter/plugins: Transfer tokens via raw transfer (#19893)
    • (overlookmotel)
    • 4b0611a estree/tokens: Introduce ESTreeTokenConfig trait (#19842)
    • (overlookmotel)
    • ec88f6a estree/tokens: Serialize tokens while visiting AST (#19726)
    • (overlookmotel)
    • d4dcf26 linter/plugins: Remove typescript from bundle (#19531)
    • (overlookmotel)
    • 6a6513c linter/plugins: Use Oxc tokens in plugins (#19498) (camc314)

    📚 Documentation

    • d86f59e linter: Improve docs for no-useless-concat, mark as pending
    • fixer. (#19859) (connorshea)
    • caa091d linter/plugins: Correct doc comments for initTokens (#19530)
    • (overlookmotel)
    • 2fa936f README.md: Map npm package links to npmx.dev (#19666) (Boshen)
    • dc0ff73 linter/no-useless-constructor: Warn for parameter properties
    • as well (#19638) (Ole Asteo)

    Oxfmt

    🚀 Features

    • 5141bc2 formatter: Support trailing ignore comments (#19304) (Andreas
    • Lubbe)
    • 4888a99 oxfmt/lsp: Support other schemes beside file:// and
    • untitled:// (#19872) (Sysix)
    • 14a0181 oxfmt: Support graphql() variant for gql-in-js (#19703)
    • (leaysgur)
    • ca68ea6 oxfmt: Support gql-in-js substitution (#19670) (leaysgur)
    • 035933c formatter,oxfmt: Support js-in-vue (partially) (#19514)
    • (leaysgur)
    • 9e11dc6 parser,estree,coverage: Collect tokens in parser and convert
    • to ESTree format (#19497) (camc314)

    🐛 Bug Fixes

    • 8e3842d oxfmt: Avoid embedded TSFN crash by returning errors as data
    • (take2) (#19806) (Yuji Sugiura)
    • 04e6223 npm: Add preferUnplugged for Yarn PnP compatibility (#19829)
    • (Boshen)
    • e540585 oxfmt: Support tailwind sort for CSS/LESS/SCSS (#19803)
    • (leaysgur)
    • 93bb861 formatter: Trim trailing whitespace before breaking line
    • (#19740) (leaysgur)
    • b85f97b formatter: Drop blank line between terminal call and first
    • chain member (#19659) (Dunqing)

    ⚡ Performance

    • b3b2d30 parser: Introduce ParserConfig (#19637) (overlookmotel)

    📚 Documentation

    • 2fa936f README.md: Map npm package links to npmx.dev (#19666) (Boshen)

    Co-authored-by: Boshen [email protected]

    Original source Report a problem
  • All of your release notes in one feed

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

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

    Oxc

    oxfmt_v0.36.0: release(apps): oxlint v1.51.0 && oxfmt v0.36.0 (#19912)

    Oxlint introduces experimental fix mode controls, typeCheck config, typeAware options, and smarter undefined-name suggestions, plus broad lint improvements and diagnostics. Oxfmt adds trailing ignore comments, multi-scheme LSP, gql-in-js support, and assorted bug fixes and perf tweaks.

    Oxlint

    🚀 Features

    • 2e0e1d0 linter/no-unused-vars: Add experimental fix mode controls
    • (off|suggestion|fix) (#19774) (camc314)
    • f34f6fa linter: Introduce typeCheck config option (#19764) (camc314)
    • 694be7d linter: Introduce typeAware as config options (#19614)
    • (camc314)
    • 655c38f semantic: Add "did you mean?" suggestions to undefined name
    • errors (#19102) (copilot-swe-agent)
    • e97a57e linter/id-length: Use serde to deserialize rule options
    • (#19636) (camc314)
    • c4a3677 parser: Report error for initializer in ambient context
    • (#19187) (camc314)
    • 346045a linter/id-length: Add checkGeneric option (#19634) (camc314)

    🐛 Bug Fixes

    • 1b7a937 linter: Correct double-comparisons fix with swapped operands
    • (#19846) (camc314)
    • c308857 linter/consistent_type_imports: Add missing help and notes to
    • diagnostics (#19827) (Daniel Osmond)
    • 7682e5a linter/plugins: Decode escapes in identifier tokens (#19838)
    • (overlookmotel)
    • f368fcd linter/consistent_type_assertions: Add missing with_help and
    • with_note to diagnostics (#19826) (Daniel Osmond)
    • 04e6223 npm: Add preferUnplugged for Yarn PnP compatibility (#19829)
    • (Boshen)
    • 86d5037 linter: Add help text to no-extend-native,
    • no-useless-backreference (#19733) (Anthony Amaro)
    • 50e8eff linter: Add .with_help() to operator-assignment,
    • no-nonoctal-decimal-escape (#19732) (Anthony Amaro)
    • 1417bdc linter/no-wrapper-object-types: Add help messages to missing
    • diagnostics (#19771) (Daniel Osmond)
    • 0838477 linter/ban_ts_comment: Add help and notes to missing
    • diagnostics (#19781) (Daniel Osmond)
    • e8c77cf linter/adjacent_overload_signatures: Add missing diagnostics
    • (#19780) (Daniel Osmond)
    • 28834ac linter/ban_types: Add missing help and note to diagnostics
    • (#19782) (Daniel Osmond)
    • fd938d3 linter/prefer-enum-initializers: Add help messages to missing
    • diagnostics (#19772) (Daniel Osmond)
    • eb928ee linter/no-dynamic-delete: Add help messages to missing
    • diagnostics (#19768) (Daniel Osmond)
    • a985666 linter/no-empty-interface: Add help messages to missing
    • diagnostics (#19769) (Daniel Osmond)
    • 2dc0ceb linter/no-extra-non-null-assertion: Add help messages to
    • missing diagnostics (#19770) (Daniel Osmond)
    • 95d5d66 linter/no-dupe-keys: Handle proto proto setters in
    • (#19762) (camc314)
    • 24ff0db linter/exhaustive-deps: False positive for member expressions
    • in IIFEs (#19751) (Dennis Chen)
    • 7243a58 linter/no-use-before-define: Honor ignoreTypeReferences when
    • value and type name collisions (#19747) (Dimava)
    • eefd818 linter/explicit-module-boundary-types: Add help messages to
    • missing diagnostics (#19736) (Daniel Osmond)
    • 0440e9a linter: Add help text to no_control_regex, no_fallthrough,
    • no_param_reassign (#19655) (Anthony Amaro)
    • e84cb2f react/display-name: Handle merged type+value context symbols
    • (#19608) (camc314)
    • ce7e253 linter/prefer-object-from-entries: Require exact path match in
    • unicorn helper (#19687) (camc314)
    • f5694ce estree/tokens: Reverse field order of regex object in tokens
    • (#19679) (overlookmotel)
    • b2b7a55 estree/tokens: Generate tokens for files with BOM (#19535)
    • (overlookmotel)
    • 0722721 linter/jsx-curly-brace-presence: False positive with prop &
    • mixed quotes (#19674) (camc314)
    • 3496acd linter: Enhance diagnostic help messages for eslint rules
    • (#19653) (Anthony Amaro)
    • e384e94 linter: Enhance help diagnostic messages for more eslint rules
    • (#19658) (Anthony Amaro)
    • a4d5b34 linter: Avoid non-promise catch false positives (#19574)
    • (camc314)
    • 5706f38 linter: unicorn/no-array-callback-reference skip Effect.*
    • array-like methods name. (#19633) (Said Atrahouch)

    ⚡ Performance

    • 05ccf9f linter/plugins: Transfer tokens via raw transfer (#19893)
    • (overlookmotel)
    • 4b0611a estree/tokens: Introduce ESTreeTokenConfig trait (#19842)
    • (overlookmotel)
    • ec88f6a estree/tokens: Serialize tokens while visiting AST (#19726)
    • (overlookmotel)
    • d4dcf26 linter/plugins: Remove typescript from bundle (#19531)
    • (overlookmotel)
    • 6a6513c linter/plugins: Use Oxc tokens in plugins (#19498) (camc314)

    📚 Documentation

    • d86f59e linter: Improve docs for no-useless-concat, mark as pending
    • fixer. (#19859) (connorshea)
    • caa091d linter/plugins: Correct doc comments for initTokens (#19530)
    • (overlookmotel)
    • 2fa936f README.md: Map npm package links to npmx.dev (#19666) (Boshen)
    • dc0ff73 linter/no-useless-constructor: Warn for parameter properties
    • as well (#19638) (Ole Asteo)

    Oxfmt

    🚀 Features

    • 5141bc2 formatter: Support trailing ignore comments (#19304) (Andreas
    • Lubbe)
    • 4888a99 oxfmt/lsp: Support other schemes beside file:// and
    • untitled:// (#19872) (Sysix)
    • 14a0181 oxfmt: Support graphql() variant for gql-in-js (#19703)
    • (leaysgur)
    • ca68ea6 oxfmt: Support gql-in-js substitution (#19670) (leaysgur)
    • 035933c formatter,oxfmt: Support js-in-vue (partially) (#19514)
    • (leaysgur)
    • 9e11dc6 parser,estree,coverage: Collect tokens in parser and convert
    • to ESTree format (#19497) (camc314)

    🐛 Bug Fixes

    • 8e3842d oxfmt: Avoid embedded TSFN crash by returning errors as data
    • (take2) (#19806) (Yuji Sugiura)
    • 04e6223 npm: Add preferUnplugged for Yarn PnP compatibility (#19829)
    • (Boshen)
    • e540585 oxfmt: Support tailwind sort for CSS/LESS/SCSS (#19803)
    • (leaysgur)
    • 93bb861 formatter: Trim trailing whitespace before breaking line
    • (#19740) (leaysgur)
    • b85f97b formatter: Drop blank line between terminal call and first
    • chain member (#19659) (Dunqing)

    ⚡ Performance

    • b3b2d30 parser: Introduce ParserConfig (#19637) (overlookmotel)

    📚 Documentation

    • 2fa936f README.md: Map npm package links to npmx.dev (#19666) (Boshen)

    Co-authored-by: Boshen [email protected]

    Original source Report a problem
  • Mar 2, 2026
    • Date parsed from source:
      Mar 2, 2026
    • First seen by Releasebot:
      Mar 2, 2026
    Oxc logo

    Oxc

    oxc crates_v0.116.0

    A sweeping release brings parser and codegen upgrades, new macros, and performance boosts across estree, data_structures and tokens. It adds Vec::into_bump_slice_mut, consts for Kind, improved error reporting and token handling, plus broader bug fixes.

    🚀 Features

    • 733d6dc parser: Report error on infer outside conditional type (#19879) (camc314)
    • c2a42f6 allocator: Add Vec::into_bump_slice_mut (#19895) (overlookmotel)
    • ee4982b parser: Add VARIANTS const to Kind via fieldless_enum! macro (#19877) (overlookmotel)
    • b3dceae data_structures: Add fieldless_enum! macro (#19876) (overlookmotel)
    • 12b841e parser: Make all Kind::is_* methods const (#19874) (overlookmotel)
    • 25c2e25 estree/tokens: Add function to update tokens in place (#19856) (overlookmotel)
    • f78e6df parser: Add mutate_tokens Cargo feature (#19853) (overlookmotel)
    • 5036bb6 parser: Report error on for await in static blocks (#19844) (camc314)
    • 42bd431 parser: Report error for missing initializer in using decl (#19824) (camc314)
    • a2f58e5 parser: Report error for implements clause in non-ts files (#19820) (Cameron)
    • b25228a estree: Add IS_COMPACT const to Formatter trait (#19787) (overlookmotel)
    • e2a1b79 estree: Expose buffer and formatter of serializers (#19773) (overlookmotel)
    • 4699498 data_structures: Add CodeBuffer::print_strs_array (#19760) (overlookmotel)
    • 233f947 estree: oxc_estree crate export config and formatter types (#19724) (overlookmotel)
    • 5937a32 semantic: Introduce symbol_declarations method (#19609) (camc314)
    • ea6b796 parser: Add LexerConfig::TOKENS_METHOD_IS_STATIC const (#19683) (overlookmotel)
    • 655c38f semantic: Add "did you mean?" suggestions to undefined name errors (#19102) (copilot-swe-agent)
    • 9e11dc6 parser,estree,coverage: Collect tokens in parser and convert to ESTree format (#19497) (camc314)
    • c4a3677 parser: Report error for initializer in ambient context (#19187) (camc314)

    🐛 Bug Fixes

    • abc7e19 codegen: Improve parenthesised checks when printing types (#19880) (camc314)
    • 017de5d parser: Update error code for type annotation in for...in statement (#19882) (camc314)
    • 7682e5a linter/plugins: Decode escapes in identifier tokens (#19838) (overlookmotel)
    • 06767ed estree/tokens: Convert this tokens in TSTypeName (#19815) (overlookmotel)
    • ef798af parser: Use TS8037 for satisfies expression in JS files diagnostic (#19819) (camc314)
    • 98ea5c5 parser: Use TS8016 for type assertions in JS files diagnostic (#19818) (camc314)
    • 1710f56 codegen: Remove double indentation for enum inside namespace (#19775) (Dunqing)
    • 9e4995c codegen: Print type annotation on CatchParameter (#19790) (camc314)
    • 297b2bb codegen: Wrap TSConditionalType in parens when necessary (#19788) (camc314)
    • cec7878 codegen: Print definite property on AccessorProperty (#19786) (camc314)
    • 6f395cf codegen: Print definite property on PropertyDefinition (#19785) (camc314)
    • b749373 codegen: Correctly parenthesise TSArrayType (#19784) (camc314)
    • 876dc1b codegen: Print object property this param (#19783) (camc314)
    • 93bb861 formatter: Trim trailing whitespace before breaking line (#19740) (leaysgur)
    • ed17bbf codegen: Print override keyword for method and property definitions (#19753) (Dunqing)
    • 6a59a76 parser: Improve error recovery for private identifiers in property names (#19710) (Boshen)
    • 3b96f41 codegen: Print comments in JSX expression containers and spread attributes (#19701) (Boshen)
    • f5694ce estree/tokens: Reverse field order of regex object in tokens (#19679) (overlookmotel)
    • b2b7a55 estree/tokens: Generate tokens for files with BOM (#19535) (overlookmotel)
    • 50a7514 estree: Fix tokens for JSX (#19524) (overlookmotel)
    • a35063e minifier: Preserve side effects for meta property url reads (#19668) (Boshen)
    • 8ad3430 semantic/jsdoc: Handle even-numbered backtick sequences in JSDoc parsing (#19664) (Boshen)

    ⚡ Performance

    • 05ccf9f linter/plugins: Transfer tokens via raw transfer (#19893) (overlookmotel)
    • c1bfdcf estree/tokens: Preallocate sufficient space for tokens JSON (#19851) (overlookmotel)
    • 4b0611a estree/tokens: Introduce ESTreeTokenConfig trait (#19842) (overlookmotel)
    • 81bab90 estree/tokens: Do not JSON-encode keyword, punctuator, etc tokens (#19814) (overlookmotel)
    • 6260ddd estree/tokens: Do not JSON-encode this identifiers (#19813) (overlookmotel)
    • b378f4a estree/tokens: Do not JSON-encode JSX identifiers (#19812) (overlookmotel)
    • 5016d92 estree/tokens: Handle regex tokens separately (#19796) (overlookmotel)
    • 780a68e estree/tokens: Use strings from AST for identifier tokens (#19744) (overlookmotel)
    • dc9c2e3 estree: Use CodeBuffer::print_strs_array to reduce bounds checks (#19766) (overlookmotel)
    • 845da35 estree: Use CodeBuffer::print_indent (#19727) (overlookmotel)
    • ec88f6a estree/tokens: Serialize tokens while visiting AST (#19726) (overlookmotel)
    • bc6507f estree/tokens: Serialize with ESTree not serde (#19725) (overlookmotel)
    • ec24859 estree/tokens: Do not branch on presence of override twice (#19721) (overlookmotel)
    • dac14be estree/tokens: Replace hash map with Vec (#19718) (overlookmotel)
    • b9d2443 estree/tokens: Replace multiple hash sets into a single hash map (#19716) (overlookmotel)
    • 7233548 parser: Remove branches from finish_next_inner (#19695) (overlookmotel)
    • b5d9845 parser: Remove const generic param from finish_next_inner (#19684) (overlookmotel)
    • 8940f66 estree/tokens: Serialize tokens to compact JSON (#19572) (overlookmotel)
    • 136e39b parser/tokens: Pre-allocate capacity for tokens (#19543) (overlookmotel)
    • 6a6513c linter/plugins: Use Oxc tokens in plugins (#19498) (camc314)
    • b3b2d30 parser: Introduce ParserConfig (#19637) (overlookmotel)

    📚 Documentation

    • b2b7a64 estree/tokens: Correct comment (#19873) (overlookmotel)
    • 0399311 estree/tokens: Improve comments (#19836) (overlookmotel)
    • 1b392de minifier: Add Function.prototype.toString assumption (#19758) (sapphi-red)
    • 75c9cd8 parser: Improve doc comments for ParserConfig and LexerConfig (#19682) (overlookmotel)
    • 2fa936f README.md: Map npm package links to npmx.dev (#19666) (Boshen)
    Original source Report a problem
  • Mar 2, 2026
    • Date parsed from source:
      Mar 2, 2026
    • First seen by Releasebot:
      Mar 2, 2026
    Oxc logo

    Oxc

    oxlint v1.51.0 & oxfmt v0.36.0

    OxLint and Oxfmt land together with new experimental fix controls, type-aware options, and smarter undefined-name suggestions. The updates bring diagnostics strength, performance tweaks, and docs polish for a smoother linting and formatting experience.

    Oxlint v1.51.0

    🚀 Features

    • 2e0e1d0 linter/no-unused-vars: Add experimental fix mode controls (off|suggestion|fix) (#19774) (camc314)
    • f34f6fa linter: Introduce typeCheck config option (#19764) (camc314)
    • 694be7d linter: Introduce typeAware as config options (#19614) (camc314)
    • 655c38f semantic: Add "did you mean?" suggestions to undefined name errors (#19102) (copilot-swe-agent)
    • e97a57e linter/id-length: Use serde to deserialize rule options (#19636) (camc314)
    • c4a3677 parser: Report error for initializer in ambient context (#19187) (camc314)
    • 346045a linter/id-length: Add checkGeneric option (#19634) (camc314)

    🐛 Bug Fixes

    • 1b7a937 linter: Correct double-comparisons fix with swapped operands (#19846) (camc314)
    • c308857 linter/consistent_type_imports: Add missing help and notes to diagnostics (#19827) (Daniel Osmond)
    • 7682e5a linter/plugins: Decode escapes in identifier tokens (#19838) (overlookmotel)
    • f368fcd linter/consistent_type_assertions: Add missing with_help and with_note to diagnostics (#19826) (Daniel Osmond)
    • 04e6223 npm: Add preferUnplugged for Yarn PnP compatibility (#19829) (Boshen)
    • 86d5037 linter: Add help text to no-extend-native, no-useless-backreference (#19733) (Anthony Amaro)
    • 50e8eff linter: Add .with_help() to operator-assignment, no-nonoctal-decimal-escape (#19732) (Anthony Amaro)
    • 1417bdc linter/no-wrapper-object-types: Add help messages to missing diagnostics (#19771) (Daniel Osmond)
    • 0838477 linter/ban_ts_comment: Add help and notes to missing diagnostics (#19781) (Daniel Osmond)
    • e8c77cf linter/adjacent_overload_signatures: Add missing diagnostics (#19780) (Daniel Osmond)
    • 28834ac linter/ban_types: Add missing help and note to diagnostics (#19782) (Daniel Osmond)
    • fd938d3 linter/prefer-enum-initializers: Add help messages to missing diagnostics (#19772) (Daniel Osmond)
    • eb928ee linter/no-dynamic-delete: Add help messages to missing diagnostics (#19768) (Daniel Osmond)
    • a985666 linter/no-empty-interface: Add help messages to missing diagnostics (#19769) (Daniel Osmond)
    • 2dc0ceb linter/no-extra-non-null-assertion: Add help messages to missing diagnostics (#19770) (Daniel Osmond)
    • 95d5d66 linter/no-dupe-keys: Handle proto proto setters in (#19762) (camc314)
    • 24ff0db linter/exhaustive-deps: False positive for member expressions in IIFEs (#19751) (Dennis Chen)
    • 7243a58 linter/no-use-before-define: Honor ignoreTypeReferences when value and type name collisions (#19747) (Dimava)
    • eefd818 linter/explicit-module-boundary-types: Add help messages to missing diagnostics (#19736) (Daniel Osmond)
    • 0440e9a linter: Add help text to no_control_regex, no_fallthrough, no_param_reassign (#19655) (Anthony Amaro)
    • e84cb2f react/display-name: Handle merged type+value context symbols (#19608) (camc314)
    • ce7e253 linter/prefer-object-from-entries: Require exact path match in unicorn helper (#19687) (camc314)
    • f5694ce estree/tokens: Reverse field order of regex object in tokens (#19679) (overlookmotel)
    • b2b7a55 estree/tokens: Generate tokens for files with BOM (#19535) (overlookmotel)
    • 0722721 linter/jsx-curly-brace-presence: False positive with prop & mixed quotes (#19674) (camc314)
    • 3496acd linter: Enhance diagnostic help messages for eslint rules (#19653) (Anthony Amaro)
    • e384e94 linter: Enhance help diagnostic messages for more eslint rules (#19658) (Anthony Amaro)
    • a4d5b34 linter: Avoid non-promise catch false positives (#19574) (camc314)
    • 5706f38 linter: unicorn/no-array-callback-reference skip Effect.* array-like methods name. (#19633) (Said Atrahouch)

    ⚡ Performance

    • 05ccf9f linter/plugins: Transfer tokens via raw transfer (#19893) (overlookmotel)
    • 4b0611a estree/tokens: Introduce ESTreeTokenConfig trait (#19842) (overlookmotel)
    • ec88f6a estree/tokens: Serialize tokens while visiting AST (#19726) (overlookmotel)
    • d4dcf26 linter/plugins: Remove typescript from bundle (#19531) (overlookmotel)
    • 6a6513c linter/plugins: Use Oxc tokens in plugins (#19498) (camc314)

    📚 Documentation

    • d86f59e linter: Improve docs for no-useless-concat, mark as pending fixer. (#19859) (connorshea)
    • caa091d linter/plugins: Correct doc comments for initTokens (#19530) (overlookmotel)
    • 2fa936f README.md: Map npm package links to npmx.dev (#19666) (Boshen)
    • dc0ff73 linter/no-useless-constructor: Warn for parameter properties as well (#19638) (Ole Asteo)
    • Oxfmt v0.36.0
    - This line indicates the following content belongs to Oxfmt v0.36.0 documentation or notes.
    

    Oxfmt v0.36.0

    🚀 Features

    • 5141bc2 formatter: Support trailing ignore comments (#19304) (Andreas Lubbe)
    • 4888a99 oxfmt/lsp: Support other schemes beside file:// and untitled:// (#19872) (Sysix)
    • 14a0181 oxfmt: Support graphql() variant for gql-in-js (#19703) (leaysgur)
    • ca68ea6 oxfmt: Support gql-in-js substitution (#19670) (leaysgur)
    • 035933c formatter,oxfmt: Support js-in-vue (partially) (#19514) (leaysgur)
    • 9e11dc6 parser,estree,coverage: Collect tokens in parser and convert to ESTree format (#19497) (camc314)

    🐛 Bug Fixes

    • 8e3842d oxfmt: Avoid embedded TSFN crash by returning errors as data (take2) (#19806) (Yuji Sugiura)
    • 04e6223 npm: Add preferUnplugged for Yarn PnP compatibility (#19829) (Boshen)
    • e540585 oxfmt: Support tailwind sort for CSS/LESS/SCSS (#19803) (leaysgur)
    • 93bb861 formatter: Trim trailing whitespace before breaking line (#19740) (leaysgur)
    • b85f97b formatter: Drop blank line between terminal call and first chain member (#19659) (Dunqing)

    ⚡ Performance

    • b3b2d30 parser: Introduce ParserConfig (#19637) (overlookmotel)

    📚 Documentation

    • 2fa936f README.md: Map npm package links to npmx.dev (#19666) (Boshen)
    Original source Report a problem
  • Feb 23, 2026
    • Date parsed from source:
      Feb 23, 2026
    • First seen by Releasebot:
      Feb 24, 2026
    Eslint logo

    Eslint

    ESLint v10.0.2 released

    ESLint releases patch 10.0.2 with key bug fixes and a security update. It upgrades ajv to 6.14.0 to address vulnerabilities and includes documentation tweaks and dependency bumps for a smoother sprint.

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

    Highlights

    This release updates the ajv dependency to v6.14.0 which includes the fix for a recently published security issue.

    Bug Fixes

    • 2b72361 fix: update ajv to 6.14.0 to address security vulnerabilities (#20537) (루밀LuMir)

    Documentation

    • 13eeedb docs: link rule type explanation to CLI option --fix-type (#20548) (Mike McCready)
    • 98cbf6b docs: update migration guide per Program range change (#20534) (Huáng Jùnliàng)
    • 61a2405 docs: add missing semicolon in vars-on-top rule example (#20533) (Abilash)

    Chores

    • 951223b chore: update dependency @eslint/eslintrc to ^3.3.4 (#20553) (renovate[bot])
    • 6aa1afe chore: update dependency eslint-plugin-jsdoc to ^62.7.0 (#20536) (Milos Djermanovic)
    Original source Report a problem
  • Feb 23, 2026
    • Date parsed from source:
      Feb 23, 2026
    • First seen by Releasebot:
      Feb 24, 2026
    typescript-eslint logo

    typescript-eslint

    v8.56.1

    8.56.1 (2026-02-23)

    What's Changed

    • chore(deps): update dependency minimatch to v10.2.2 by @benmccann in #12074

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

    Original source Report a problem
  • Feb 23, 2026
    • Date parsed from source:
      Feb 23, 2026
    • First seen by Releasebot:
      Feb 23, 2026
    Oxc logo

    Oxc

    oxlint_v1.50.0: release(apps): oxlint v1.50.0 && oxfmt v0.35.0 (#19627)

    Oxlint and Oxfmt release highlights new lint rules and bug fixes. Oxlint adds unicorn/prefer-module and unicorn/prefer-ternary, improves diagnostics and type handling. Oxfmt updates sort behavior and API types for sortPackageJsonOptions.

    Oxlint

    🚀 Features

    • 46177dd linter: Implement unicorn/prefer-module (#19603) (camc314)
    • 42f78bb linter: Implement unicorn/prefer-ternary (#19605) (camc314)

    🐛 Bug Fixes

    • 43df857 react/exhaustive-deps: Normalize .current callback deps (#19610) (camc314)
    • 574f48f linter/no-throw-literal: Close warning block (#19612) (camc314)
    • 79fe3b4 linter/prefer-mock-return-shorthand: Avoid unsafe autofixes for call-like returns (#19581) (camc314)
    • 85045e8 linter: Check protected members in explicit-module-boundary-types (#19594) (camc314)
    • e38115e linter: Catch missing return type on exported arrow/function expressions (#19587) (Peter Wagenet)
    • 419d3fd linter: Fix false negatives in typescript/no-require-imports (#19589) (Peter Wagenet)
    • 7958b56 linter: Fix syntax error reporting in some output formatters. (#19590) (connorshea)
    • 024f51c linter: Add help text to more eslint diagnostics (#19591) (Anthony Amaro)
    • a8489a1 linter: Warning eslint/no-throw-literal rule to be deprecated, better use typescript/only-throw-error (#19593) (Said Atrahouch)
    • 50fc70d linter/type-aware: Use correct span for disable directives (#19576) (camc314)
    • 421a99c linter: Add help guidance to eslint diagnostic messages (#19562) (Anthony Amaro)
    • e81364a linter: Add help text to eslint rule diagnostics (#19560) (Anthony Amaro)
    • 89b58d0 linter: Add help text to more eslint rule diagnostics (#19561) (Anthony Amaro)
    • 74f7833 linter/jest/prefer-mock-return-shorthand: Preserve typed arrow returns (#19556) (camc314)
    • bdd6f34 linter: Restrict prefer-import-in-mock to mock calls (#19555) (camc314)

    📚 Documentation

    • a331993 linter: Improve docs for eslint/radix rule. (#19611) (connorshea)

    🛡️ Security

    • c67f9dc linter: Update ajv version. (#19613) (connorshea)

    Oxfmt

    🚀 Features

    • 984dc07 oxfmt: Strip "experimental"SortXxx prefix (#19567) (leaysgur)

    🐛 Bug Fixes

    • d7b63a4 oxfmt: Update API types for sortPackageJsonOptions (#19569) (leaysgur)

    Co-authored-by: Boshen [email protected]

    Original source Report a problem
  • Feb 23, 2026
    • Date parsed from source:
      Feb 23, 2026
    • First seen by Releasebot:
      Feb 23, 2026
    Oxc logo

    Oxc

    oxfmt_v0.35.0: release(apps): oxlint v1.50.0 && oxfmt v0.35.0 (#19627)

    Oxlint and Oxfmt release notes reveal new lint rules and bug fixes that enhance correctness and stability. The updates bring unicorn/prefer-module and unicorn/prefer-ternary, plus many fixes and improved diagnostics, signaling shipped product changes.

    Oxlint

    🚀 Features

    • 46177dd linter: Implement unicorn/prefer-module (#19603) (camc314)
    • 42f78bb linter: Implement unicorn/prefer-ternary (#19605) (camc314)

    🐛 Bug Fixes

    • 43df857 react/exhaustive-deps: Normalize .current callback deps (#19610) (camc314)
    • 574f48f linter/no-throw-literal: Close warning block (#19612) (camc314)
    • 79fe3b4 linter/prefer-mock-return-shorthand: Avoid unsafe autofixes for call-like returns (#19581) (camc314)
    • 85045e8 linter: Check protected members in explicit-module-boundary-types (#19594) (camc314)
    • e38115e linter: Catch missing return type on exported arrow/function expressions (#19587) (Peter Wagenet)
    • 419d3fd linter: Fix false negatives in typescript/no-require-imports (#19589) (Peter Wagenet)
    • 7958b56 linter: Fix syntax error reporting in some output formatters. (#19590) (connorshea)
    • 024f51c linter: Add help text to more eslint diagnostics (#19591) (Anthony Amaro)
    • a8489a1 linter: Warning eslint/no-throw-literal rule to be deprecated, better use typescript/only-throw-error (#19593) (Said Atrahouch)
    • 50fc70d linter/type-aware: Use correct span for disable directives (#19576) (camc314)
    • 421a99c linter: Add help guidance to eslint diagnostic messages (#19562) (Anthony Amaro)
    • e81364a linter: Add help text to eslint rule diagnostics (#19560) (Anthony Amaro)
    • 89b58d0 linter: Add help text to more eslint rule diagnostics (#19561) (Anthony Amaro)
    • 74f7833 linter/jest/prefer-mock-return-shorthand: Preserve typed arrow returns (#19556) (camc314)
    • bdd6f34 linter: Restrict prefer-import-in-mock to mock calls (#19555) (camc314)

    📚 Documentation

    • a331993 linter: Improve docs for eslint/radix rule. (#19611) (connorshea)

    🛡️ Security

    • c67f9dc linter: Update ajv version. (#19613) (connorshea)

    Oxfmt

    🚀 Features
    • 984dc07 oxfmt: Strip "experimental"SortXxx prefix (#19567) (leaysgur)
    🐛 Bug Fixes
    • d7b63a4 oxfmt: Update API types for sortPackageJsonOptions (#19569) (leaysgur)

    Co-authored-by: Boshen [email protected]

    Original source Report a problem
  • Feb 23, 2026
    • Date parsed from source:
      Feb 23, 2026
    • First seen by Releasebot:
      Feb 23, 2026
    Oxc logo

    Oxc

    oxc crates_v0.115.0

    🚀 Features

    • e814049 oxc_data_structure/rope: Add get_offset_from_line_and_column (#18133) (Sysix)

    🐛 Bug Fixes

    • 7958b56 linter: Fix syntax error reporting in some output formatters. (#19590) (connorshea)
    • e316694 codegen: Avoid sourcemap panic on U+2028/U+2029 (#19548) (camc314)
    • 933ff72 semantic: Emit correct error code for reserved type name (#19545) (camc314)

    ⚡ Performance

    • b5fa195 codegen: Remove bounds check from SourcemapBuilder (#19578) (overlookmotel)
    Original source Report a problem