Releases: oxc-project/oxc
Releases · oxc-project/oxc
oxlint v0.16.3
[0.16.3] - 2025-03-25
Features
- 1b41cb3 linter: Add suggested fix to
unicorn/prefer-structured-clone
(#9994) (Ulrich Stark 🦀) - 24cbe51 linter: Add suggested fixer to
typescript/no_unnecessary_parameter_property_assignment
and fix false positive (#9973) (Ulrich Stark 🦀)
Bug Fixes
- 6c4b533 linter: False positive in
import/no-empty-named-blocks
(#9974) (shulaoda) - ff13be6 linter: Correct fixer for spread in function arguments (#9972) (shulaoda)
Refactor
- 0f1e0e8 linter: Gate rule docs behind feature (#10027) (camchenry)
- ad06194 linter: Add fixer for
typescript-eslint/no-non-null-asserted-optional-chain
(#9993) (camchenry) - 402d8b7 linter: Improve
eslint/no-redeclare
(#9976) (shulaoda) - be62d38 rust: Remove usages of
lazy_static
(#10007) (Boshen) - 6432707 rust: Use
lazy-regex
(#10004) (Boshen) - 0fa58d7 semantic: Always use
SymbolFlags::Function
for function id (#7479) (Dunqing)
Testing
- 878bec6 editor: Add test for
oxc.toggleEnable
command (#9987) (Sysix) - 093e7e5 editor: Add
oxc.showOutputChannel
command test (#9986) (Sysix) - c3af9a4 editor: Add tests for listing all oxc commands (#9930) (Sysix)
- 71dce1f editor: Add end-to-end tests for linter output (#9979) (Cam McHenry)
- c2f1be0 editor: Add tests for
offset_to_position
(#9978) (camchenry)
oxlint v0.16.2
oxlint v0.16.1
[0.16.1] - 2025-03-20
Features
- 0973356 editor: Support nested configs (#9743) (Nicholas Rayburn)
- 8e3d9be linter: Support
--report-unused-disable-directive
(#9223) (1zumii) - 62c0132 linter: Add import/no-empty-named-blocks rule (#9710) (yefan)
- ea7e3f0 oxc_language_server: Support nested configs (#9739) (Nicholas Rayburn)
Bug Fixes
- e9565c9 linter: Parse vue custom tag that starts with script (#9887) (Boshen)
- e6f7c74 linter: Import and fix tests for typescript::no_unnecessary_parameter_property_assignment (#9720) (Ulrich Stark)
- 4e39ba0 linter: Ignore modules with invalid source (#9801) (branchseer)
- 73fe248 linter/no_case_declarations: Fix span of error for
await using
(#9854) (overlookmotel) - 2e023ab linter/react:
exhaustive-deps
report longest dependency (#9891) (overlookmotel) - a113f7e parser: Error when
}
and>
appear inJSXText
(#9777) (Boshen) - 3d4c5f3 semantic: Correctly visit
IfStmt
test
when building cfg (#9864) (camc314)
Performance
- d44ab9b linter: Return early in loop in
promise/no-nesting
(#9808) (therewillbecode) - 2b65ed2 linter/no_unescaped_entities: Optimize string search and error generation (#9832) (overlookmotel)
- 84fa538 minify: Use mimalloc-safe to replace mimalloc (#9810) (LongYinan)
Documentation
- 8bc70b3 language_server: Tell about Initialization options + didChangeWatchedFiles for nested configuration (#9876) (Alexander S.)
- e408db8 linter: Improve docs for
unicorn/no-abusive-eslint-disable
(#9834) (shulaoda) - 187fe39 linter: Add correctness examples to
typescript-prefer-as-const
(#9805) (therewillbecode)
Refactor
- 723fdfb linter: Improve
jest-prefer-hooks-in-order
(#9892) (therewillbecode) - 544a090 linter: Remove not implemented rule
constructor-super
(#9877) (Sysix) - 8bdac56 linter: Improve
ast_util::is_method_call
(#9874) (shulaoda) - a68e45c linter: Improve
unicorn/no-anonymous-default-export
(#9847) (dalaoshu) - 6407200 linter: Improve
unicorn/new-for-builtins
(#9804) (dalaoshu) - b34cf94 oxlint: Remove
jemallocator
(#9823) (Boshen)
oxlint v0.16.0
Announcing Oxlint Beta: https://oxc.rs/blog/2025-03-15-oxlint-beta.html
[0.16.0] - 2025-03-16
- 225e266 linter: [BREAKING] Enable
--experimental-nested-config
by default and add--disable-nested-config
option (#9760) (camchenry)
Features
- 27d6e9b editor: Only watch .oxlintrc.json or user supplied config paths (#9731) (Nicholas Rayburn)
- 8dd6809 linter: Add
eslint/no-lonely-if
(#9660) (therewillbecode) - c22276e oxc_linter: Sort rules by plugin and rule name when outputting resolved config as a JSON string (#9799) (Nicholas Rayburn)
Bug Fixes
- 22f18ac linter: Improve
jsx-a11y/anchor-ambiguous-text
diagnostic message (#9789) (1zumii) - 6c11740 linter: False positive in
unicorn/catch-error-name
(#9763) (shulaoda)
Documentation
- ea6b6d9 linter: Improve docs for
eslint-valid-typeof
(#9797) (therewillbecode) - 2c48fba linter: Fix typo in
oxc/bad-min-max-func
(#9791) (Flo) - 210b876 linter: Improve
eslint-no-async-promise-executor
(#9778) (therewillbecode) - f8628bc linter: Improve
eslint-no-class-assign
(#9779) (therewillbecode) - faca7a8 linter: Improve
eslint-no-self-assign
(#9768) (therewillbecode)
Refactor
- 227d203 linter: Improve
typescript-no-unnecessary-type-constraint
(#9798) (therewillbecode) - 05fe2cd linter: Use
is_lexical
when checking for lexical decl (#9781) (camc314) - fcdd810 linter: Remove if let nesting from
unicorn-no-date-clone
(#9767) (therewillbecode) - 5a9e1b9 linter: Improve
typescript-no-misused-new
(#9766) (therewillbecode) - 9df5565 linter: Improve
unicorn/filename-case
(#9762) (shulaoda) - b0b1f18 linter: Remove if let nesting from
nextjs-no-async-client-component
(#9764) (therewillbecode)
oxlint v0.15.15
[0.15.15] - 2025-03-13
This release introduces a new multi-file analysis runtime that addresses numerous bugs reported by the import plugin.
Features
Bug Fixes
- 6c0978b linter: No-single-promise-in-promise-methods: do not fix Promise.all when chained (#9697) (camchenry)
- ab594f1 linter: Turn oxc/no-redundant-constructor-init into typescript/no-unnecessary-parameter-property-assignment (#9618) (Uli)
- 91c009a linter: Add missing fail cases in
eslint-no-array-constructor
(#9659) (therewillbecode) - 2810e5b linter: Add missing fail cases in eslint/no-self-compare (#9693) (therewillbecode)
Performance
- bcbb468 linter: Use
OsStr
for faster path comparison and hashing (#9685) (Boshen)
Refactor
oxlint v0.15.14
[0.15.14] - 2025-03-11
Features
- 0815fe8 linter: Add
promise/no-return-wrap
(#9537) (therewillbecode) - ae7bb75 linter: Add react/jsx-filename-extension rule (#9474) (Cédric DIRAND)
- 50327f3 linter: Add import/exports-last (#9578) (yefan)
- 75e4b8d linter: Add import/no-anonymous-default-export rule (#9481) (yefan)
- 2f08b16 linter: Add
promise/prefer-catch
(#9488) (therewillbecode) - 41f32ea linter: Allow adding more overrides via
extends
configs (#9475) (camchenry) - fb7cf10 linter: Allowing
plugins
to be extended withextends
(#9473) (camchenry) - fc74849 linter: Inherit
rules
via the extended config files (#9308) (camchenry) - 3fce826 linter: Add support for
extends
property in oxlintrc (#9217) (camchenry) - 6b95d25 parser: Disallow
TSInstantiationExpression
inSimpleAssignmentTarget
(#9586) (Boshen)
Bug Fixes
- 2d42569 linter: Rule
eslint/no-unsafe-optional-chaining
(#9632) (therewillbecode) - a9d7df9 linter: False positive in
unicorn/escape-case
(#9638) (shulaoda) - 3831819 linter: Fix example lint declaration and macro syntax (#9626) (Uli)
- 4ca62ab linter: Output right file line and column for
.vue
,.astro
and.svelte
files (#9484) (Sysix) - 3105159 linter: Do not output number of rules with nested configs (#9476) (camchenry)
- 5ecda01 linter: Support nested extending (#9472) (camchenry)
Documentation
- b7c61e9 linter: Improve docs for
eslint-guard-for-in
(#9658) (therewillbecode) - 1cc43f7 linter: Improve the documentation of
eslint-no-console
(#9612) (therewillbecode) - 608bb77 linter: Improve the docs and add test case for
typescript-no-extra-non-null-assertion
(#9609) (therewillbecode) - 43add5d linter: Better docs for
typescript-no-non-null-asserted-nullish-coalescing
rule (#9610) (therewillbecode) - bd90ce6 linter: Improve the docs and add test cases for
eslint-no-shadow-restricted-names
(#9597) (therewillbecode) - a0c9f7c linter: Improve the documentation of
eslint-no-func-assign
(#9596) (therewillbecode) - ec922e9 linter: Improve the documentation of
typescript-consistent-type-definitions
(#9575) (therewillbecode) - 165c89d linter: Improve the documentation of
typescript-no-namespace
(#9545) (therewillbecode)
Refactor
- c174600 linter: Improve
eslint/no-duplicate-imports
(#9627) (therewillbecode) - 31ba425 linter: Improve
eslint/no-self-assign
(#9635) (therewillbecode) - 03a40df linter: Access scoping from
ctx
directly (#9624) (Boshen) - be5e5dc linter: Improve
unicorn/escape-case
(#9568) (shulaoda) - b7f82fc linter: Improve
unicorn/error-message
(#9560) (shulaoda) - 069ef2d linter: Improve
promise/no-nesting
(#9544) (therewillbecode)
Testing
oxlint v0.15.13
[0.15.13] - 2025-03-04
Features
- 7bb0121 linter: Add
react/no-namespace
(#9404) (Mikhail Baev) - 0a7ca20 linter: Support allowable method diagnostic for eslint/no-console (#9454) (Boshen)
- d99bc51 linter: Add import/no-absolute-path rule (#9415) (yefan)
- 8c71590 linter: Add import/no-mutable-exports rule (#9434) (yefan)
- b65f8a5 linter: Add
promise/no-nesting
(#9345) (Tom) - d38e6de linter: Add
eslint/no-spaced-func
(#9360) (Tom) - 25392de linter: Add eslint/operator-assignment rule (#9208) (yefan)
- bf77167 linter: Add
curly
rule (#8123) (Yuichiro Yamashita) - e3b6eeb linter: Add
unicorn/consistent-date-clone
(#9346) (Amol Bhave) - 5ee2cab linter: Improve no_invalid_fetch_options (#9347) (Brooooooklyn)
- 4ad328b linter: Add oxc/no-redundant-constructor-init (#9299) (Ben Jones)
Bug Fixes
- c4624a6 linter: Fix panic in
import/no-absolute-path
(#9500) (camc314) - 4b0327b linter: False positive in
eslint/curly
(#9471) (Kevin Deng 三咲智子) - 8804555 linter: Skip
no-absolute-path
tests on windows (#9435) (Cameron) - 06fe76d linter: Rule
no-restricted-imports
use right span for exports statements (#9442) (Sysix) - 3da3565 linter: Rule
unicorn/no-invalid-fetch-options
(#9416) (Tom) - 85fbe8c linter: Rule
eslint/radix
look into globals config (#9407) (Sysix) - 1113e3b linter: Rule
eslint/no-object-constructor
look into globals config (#9406) (Sysix) - 0217ebb linter: Support more cases for no_redundant_constructor_init (#9364) (Ben Jones)
Documentation
- 24850e7 linter: Add example of how configure rule (#9469) (Cédric DIRAND)
- acb1e2c linter: Add end code tag on rule doc (#9470) (Cédric DIRAND)
- d43b456 linter: Add full documentation to rule
no-restricted-imports
(#9440) (Sysix)
Refactor
- ffec3f6 linter: Improve
eslint/no-new
(#9423) (Tom) - 7c27f10 linter: Move rule
no-restricted-imports
to categoryrestriction
(#9443) (Sysix) - 7e118a3 linter: Improve
typescript/explicit-function-return-type
(#9439) (Tom) - 5318cf2 linter: Improve
eslint/no-spaced-func
(#9419) (shulaoda) - 802f00e linter: Use the
javascript-globals
crate (#9412) (Boshen) - bff83c9 linter: Improve
eslint/no-unsafe-negation
(#9362) (dalaoshu) - 228bf99 linter: Improve
unicorn/empty-brace-spaces
(#9341) (dalaoshu) - 55d071b linter: Improve
unicorn/consistent-existence-index-check
(#9339) (dalaoshu) - 17acece linter: Improve
eslint/no-template-curly-in-string
(#9090) (dalaoshu)
oxlint v0.15.12
[0.15.12] - 2025-02-24
Features
- 914dd46 linter: Add eslint/max-depth (#9173) (ikkz)
- 0b08159 linter: Add eslint/max-lines-per-function (#9161) (ikkz)
- cc8dd48 linter: Add unicorn/no-invalid-fetch-options rule (#9212) (Mikhail Baev)
- af13b1b linter: Promote
eslint/no-eval
tocorrectness
(#9231) (dalaoshu) - 542bbd7 linter: Support
import-x
plugin name (#9074) (Sysix) - d266c29 linter: Add eslint/max-nested-callbacks (#9172) (ikkz)
- 86795d0 linter: Implement grouped-accessor-pairs (#9065) (yefan)
- d70bad3 linter: Add eslint/no-unneeded-ternary rule (#9160) (Cédric DIRAND)
- 4bd86e6 linter: Add
fixer
forunicorn/catch-error-name
(#9165) (dalaoshu)
Bug Fixes
- 94bd2d8 language_server: Fix
clippy::significant_drop_in_scrutinee
warning (#9234) (Boshen) - 69091c0 linter: Correct default for
eslint/no-eval
(#9312) (dalaoshu) - 3031845 linter: Add option "allowTypeImports" for rule "no-restricted-imports" (#7894) (Alexander S.)
Documentation
- 6c0f006 linter: Improve the documentation of eslint/no-useless-concat (#9179) (Tom)
- 3414824 oxc: Enable
clippy::too_long_first_doc_paragraph
(#9237) (Boshen)
Refactor
oxlint v0.15.11
[0.15.11] - 2025-02-16
Features
- d93bf0e linter: Implement func-style rule (#8977) (yefan)
- a870526 linter: Add vitest/no-standalone-expect rule (#8986) (Tyler Earls)
- addaa8e linter: Support es2025 env (#8985) (Sysix)
- 5d508a4 linter: Support
env
andglobals
inoverrides
configuration (#8915) (Sysix) - 41ad42a linter: Add init-declarations rule (#8909) (yefan)
- 125d610 minifier: Fold String::charAt / String::charCodeAt more precisely (#9082) (sapphi-red)
Bug Fixes
- 47c1649 linter: Output line/column for
--format=stylish
instead of offset + length (#9136) (Sysix) - b68e240 linter: Rule
unicorn/new-for-builtins
do not look intoglobals
(#9146) (Sysix) - 490c77d linter: Rule
no-constant-binary-expression
do not look intoglobals
(#9145) (Sysix) - b36734c linter: Rule
promise/avoid-new
do not look intoglobals
(#9144) (Sysix) - 091a5c1 linter: Rule
no-new-native-nonconstructor
do not look into globals (#9143) (Sysix) - 1c1d2e6 linter: Rule
symbol-description
do not look intoglobals
(#9142) (Sysix) - 6d15153 linter: Rule
prefer-object-spreads
do not look intoglobals
(#9141) (Sysix) - 9214661 linter: Rule
valid-typeof
do not check forglobals
(#9140) (Sysix) - 29141d6 linter: Rule
no-restricted-globals
: do not check forglobals
entries (#9139) (Sysix) - 23d0d95 linter: Report
no-console
when theglobals.console
isoff
(#9138) (Sysix) - 157e1a1 linter: False positive in
jest/no-conditional-expect
(#9053) (dalaoshu) - 28b5990 linter: Rule
no-restricted-imports
: improve diagnostics (#8113) (Alexander S.) - b191390 linter:
no-global-assign
look intoglobals
config (#8963) (Sysix) - 44d985b linter: Correct the
is_reference_to_global_variable
(#8920) (dalaoshu)
Documentation
Refactor
oxlint v0.15.10
[0.15.10] - 2025-02-06
Features
- d6d80f7 linter: Add suggestion fixer for
eslint/no-iterator
(#8894) (dalaoshu) - 7e8568b linter: Junit reporter (#8756) (Tapan Prakash)
- f4662a9 oxc_language_server: Implement
oxc.fixAll
workspace command (#8858) (Marek Vospel)
Bug Fixes
- baf3e4e linter: Correctly replace rule severity with duplicate rule name configurations (#8840) (dalaoshu)
Performance
- 8a4988d linter: Use parallel iterator directly instead of iter and parallel bridge (#8831) (Cam McHenry)