github oxc-project/oxc oxlint_v1.16.0
oxlint v1.16.0

5 hours ago

[1.16.0] - 2025-09-16

๐Ÿš€ Features

  • 97c8d06 linter: Add preserve-caught-error rule (#13748) (ๅญ”่พ‰)
  • 8c19b18 linter/exhaustive-deps: Implement fixer for dep in global scope (#13783) (camc314)
  • 06bce8f linter/exhaustive-deps: Implement fixer for missing dep (#13782) (camc314)
  • a8675f4 linter: Add eslint/class-methods-use-this rule (#12977) (Peter Cardenas)
  • db33196 parser: Adds typescript rule for empty argument list (#13730) (Karan Kiri)
  • 2751193 linter: Add eslint/no-useless-computed-key rule (#13428) (yefan)
  • 9a205d1 regex-parser: Parse simple TemplateLiterals (#13265) (Sysix)

๐Ÿ› Bug Fixes

  • a2c91cd linter: Drop rules to allow mutable access to ctx_host in run_external_rules (#13832) (camc314)
  • 3af1e5d linter/no-unsafe-declaration-merging: Always mark first span as primary (#13830) (camc314)
  • 1c43c7c linter: Keep message when merging composite fixes (#13827) (camc314)
  • 26af302 linter/exhaustive-deps: Check stable value is on lhs of assignment expr (#13815) (camc314)
  • 4bc12d0 linter/exhaustive-deps: Remove impossible comparison with parent kind (#13814) (camc314)
  • 12baf5e linter/exhaustive-deps: Respect primary span when identifying disable directive location (#13781) (camc314)
  • fa7400a linter/no-undef: False positive with arguments in functions (#13763) (camc314)
  • 50e6e3c editor: Restrict servers paths for oxc.path.server (#13740) (Sysix)
  • b45077d editor: Strip leading slash for bin path on windows (#13738) (Sysix)
  • 8fa6227 editor: Don't allow oxc.path.server for untrusted workspaces (#13734) (Sysix)
  • 56da114 linter/react/jsx-handler-names: Do not detect the function name within the inline-function's body block (#13456) (Takuji Shimokawa)
  • b2bc5b4 linter/react-perf/jsx-no-new-object-as-prop: Skip as/satisfies exprs (#13718) (camc314)
  • ab51394 raw_transfer: Disable layout assertions on some 32-bit platforms (#13716) (overlookmotel)
  • 09428f6 linter/plugins: Remove outdated comment (#13691) (overlookmotel)
  • a294721 linter/plugins: Exit early if JS plugins enabled on unsupported platforms (#13689) (overlookmotel)
  • 68a2280 linter/plugins: More graceful exit for --experimental-js-plugins CLI option (#13688) (overlookmotel)

๐Ÿšœ Refactor

  • 395d40d linter: Derive inmpls for PartialEq, Eq over manual ones (#13828) (camc314)
  • 8e4cd8f linter/func-names: Use run_once over looping over all nodes (#13798) (camc314)
  • 7f4e2fe eslint/func-names: Clean up implementation and improve documentation (#13601) (Antoine Zanardi)
  • 137896a language_server: Split options for linting and formatting (#13627) (Sysix)
  • 7346099 linter: Move oxlint application code into separate module (#13745) (overlookmotel)
  • 6dd4107 linter: Remove #[cfg(test)] attributes from tester module (#13714) (overlookmotel)
  • c40c6ef linter/plugins: Directory for JS plugins-related code (#13701) (overlookmotel)
  • a0022c1 linter/plugins: Improve error messages for JS plugins (#13699) (overlookmotel)
  • 1fd993f napi/oxlint: Rename napi/oxlint2 to napi/oxlint (#13682) (overlookmotel)

โšก Performance

  • 90c8286 linter: Detect node types from let..else statements (#13690) (camchenry)
  • 08c05df semantic: Make CFG construction a compile-time feature (#13678) (Boshen)

๐ŸŽจ Styling

  • 99a7638 linter: Add comments + re-organise imports (#13715) (overlookmotel)

๐Ÿงช Testing

  • 18a1145 linter: Add debug assertions for skipping rules (#13724) (camc314)
  • cb080de linter/no-unused-vars: Add test for non ASCII chars in JSX components (#13820) (camc314)
  • b6eba27 linter/no-undef: Add more test cases for arguments (#13764) (camc314)
  • fb2d087 linter: Set CWD for tests (#13722) (overlookmotel)

๐Ÿ’ผ Other

Don't miss a new oxc release

NewReleases is sending notifications on new releases.