mirror of
https://github.com/oxc-project/oxc.git
synced 2026-11-04 10:29:58 +00:00
# Oxlint ### 🚀 Features -004647atrack_memory_allocs: Add allocation tracking for linter rules (#28470) (Cam McHenry) -419c1b0linter: Add allow and allowPattern options to react/capitalized-calls (Christian Vuerings) ### 🐛 Bug Fixes -a205cd3linter/eslint/no-control-regex: Detect raw control characters (#28548) (camc314) -7c65777linter/unicorn/prefer-global-this: Align typeof and worker API handling (#28549) (camc314) -987d5f1linter/unicorn/no-invalid-fetch-options: Avoid treating unknown methods as GET (#28547) (camc314) -e234dc8linter/unicorn/no-useless-error-capture-stack-trace: Move to suspicious category (#28545) (camc314) -b3dc411linter/typescript/no-non-null-asserted-nullish-coalescing: Move to suspicious category (#28546) (camc314) -cb64638regular_expression: Reject incomplete Unicode atom escapes (#28448) (Boshen) -c67167elinter: Only run React Compiler rules on files with top-level components or hooks (Boshen) -4c9d5aalinter: Treat Reanimated shared values as ref-like in React Compiler rules (Boshen) -61fe2aflinter/react: Ignore impure calls in async components in react/purity (Rahul Kashyap) -ed7df7dast/estree: Include comments in TS Program span (#28326) (camc314) -31cbe37linter: Make gitlab fingerprints unique per diagnostic (#28307) (camc314) ### ⚡ Performance -bb947dclinter: Skip numeric separator formatting for short integers (#28485) (Cam McHenry) -1043dfalinter: Avoid collecting prefer-const binding identifiers (#28484) (Cam McHenry) -7c93eeflinter: Reduce branches-sharing-code scratch allocations (#28483) (Cam McHenry) -c0065fdlinter: Allocate escape-case replacements only when needed (#28482) (Cam McHenry) -d837414linter: Lazily normalize capitalized-comments text (#28481) (Cam McHenry) -6baaad6linter: Avoid no-var binding identifier allocations (#28480) (Cam McHenry) -882053blinter: Skip read-only parameters in no-param-reassign (#28479) (Cam McHenry) -92deebflinter: Reduce no-unmodified-loop-condition allocations (#28478) (Cam McHenry) -f01d52dlinter: Reduce no-duplicate-case allocations (#28477) (Cam McHenry) -6a72d84linter: Reduce no-dupe-class-members allocations (#28476) (Cam McHenry) -77599eflinter: Reduce no-this-before-super allocations (#28475) (Cam McHenry) -2ea9f58linter/no-dupe-else-if: Use smallvec to reduce allocs (#28474) (Cam McHenry) -69f0204linter/react/rules-of-hooks: Reduce allocs (#28473) (Cam McHenry) -b138c20linter: Reduce allocs in no-dupe-keys (#28472) (Cam McHenry) -6f3e982linter: Avoid operator allocations in no-useless-length-check (#28471) (Cam McHenry) -fd68928react-compiler: Skip passes lint does not need (Yagiz Nizipli) -224f4ddlinter/eslint/sort-keys: Reserve initial capacity for string (#27624) (Cam McHenry) -e4e01a3linter/import/no-cycle: Compare visited modules by absolute resolved path (#27517) (Cam McHenry) -741b29blinter/import/no-cycle: Cache sorted module record snapshots (#27516) (Cam McHenry) -20022bblinter/import/no-cycle: Reuse traversal buffers between imports (#27481) (Cam McHenry) -fd5edb7linter/import/no-cycle: Reuse module records in diagnostic stack (#27480) (Cam McHenry) -73e877clinter/import/no-cycle: Don't allocate paths already seen (#27478) (Cam McHenry) -1515d53linter/react/forward-ref-uses-ref: Narrow forward-ref-uses-ref dispatch (#28367) (Cam McHenry) -ee51c01linter/react/no-string-refs: Narrow AST dispatch (#28366) (Cam McHenry) - bbfd692 linter/react/no-children-pop: Narrow AST dispatch (#28365) (Cam McHenry) -a86158blinter/unicorn/prefer-set-size: Narrow AST dispatch (#28364) (Cam McHenry) -a777fa6linter/eslint/no-iterator: Narrow member dispatch (#28363) (Cam McHenry) -bc5e94dlinter/eslint/no-extra-boolean-cast: Narrow AST dispatch (#28362) (Cam McHenry) -93c6e6dlinter/unicorn/no-useless-fallback-in-spread: Narrow AST dispatch (#28361) (Cam McHenry) -1a1f66elinter/typescript/no-this-alias: Narrow AST dispatch (#28360) (Cam McHenry) -b102a91linter/typescript/no-wrapper-object-types: Index references (#28359) (Cam McHenry) -dbd8a0blinter/eslint/no-unassigned-vars: Batch by declaration (#28358) (Cam McHenry) -1108352linter/typescript/prefer-as-const: Narrow AST dispatch (#28357) (Cam McHenry) -d65531flinter/eslint/no-const-assign: Batch by declaration (#28356) (Cam McHenry) -1ec9991linter/oxc/number-arg-out-of-range: Narrow AST dispatch (#28355) (Cam McHenry) -7a1243elinter/unicorn/no-invalid-fetch-options: Narrow AST dispatch (#28354) (Cam McHenry) -2ab73cclinter/unicorn/no-single-promise-in-promise-methods: Narrow AST dispatch (#28353) (Cam McHenry) -483c4c9linter/eslint/no-compare-neg-zero: Narrow no-compare-neg-zero dispatch (#28352) (Cam McHenry) -56c99c6linter/eslint/no-unsafe-negation: Narrow AST dispatch (#28351) (Cam McHenry) -84d974blinter/unicorn/prefer-string-starts-ends-with: Narrow AST dispatch (#28350) (Cam McHenry) -142ef4funicorn: Narrow no-await-in-promise-methods dispatch (#28349) (Cam McHenry) -a3dc7a2linter/unicorn/no-await-expression-member: Optimize AST dispatch (#28348) (Cam McHenry) -481b638linter/plugins: Create AST nodes with `Object.create` instead of `__proto__` literals (#27816) (Charles Wang) # Oxfmt ### 💥 BREAKING CHANGES -296623doxfmt: [**BREAKING**] Format `parser:html` files by `oxc_formatter_htmlish` (#28273) (Yuji Sugiura) ### 🚀 Features -336b2c1oxfmt: Support html-in-js templates closing a dynamic tag name (#28389) (Yuji Sugiura) -0a42af6formatter_htmlish: Format end tags of omitted `html`, `head` and `body` (#28388) (Yuji Sugiura) -44d8c2bformatter_htmlish: Implement HTML-ish formatter `Html` variant (#28272) (Yuji Sugiura) -36e5ddboxfmt: Add debug span for reading files (#28204) (leaysgur) ### 🐛 Bug Fixes -dbcc358formatter: Keep arrow conditional body parens before a leading `function`/`class` (#28710) (Yuji Sugiura) -fef809aformatter_htmlish: Handle XHTML (#28703) (leaysgur) -f3dd201formatter_htmlish: Keep SVG text under `xml:space="preserve"` as written (#28382) (Yuji Sugiura) -fb3aefaformatter: Keep source parens around html-in-js placeholders past comments (#28381) (Yuji Sugiura) -e738daeformatter: Quote keys added in an HTML event handler with single quotes (#28380) (Yuji Sugiura) -2e7a629oxfmt: Format HTML in a `<script>` body as an embedded part (#28379) (Yuji Sugiura) -f00862bformatter: Keep parens around a generic function type in a type assertion (#28173) (vidigoat) -9ead5c4formatter: Handle `this.b` and `super.b` like `foo.b` (#28200) (leaysgur) -72a54cfformatter: Break parens of `(a + b)[c]` like `(a + b).c` (#28199) (leaysgur) -b8f4f34formatter: Print `x.b` and `x.#b` samely (#28193) (leaysgur) -9ddccb7formatter: Keep parens for private field (#28188) (leaysgur) ### ⚡ Performance -b6f1ac9formatter_markdown: Bump parser to 0.0.4 and skip unread work (#28713) (leaysgur) -633ee96formatter_css: Use `u32` spans (#28708) (leaysgur) -f680ee1formatter_yaml: Use `multiline` flag for flow scalars (#28707) (leaysgur) -ff7c203formatter_css: Avoid repeated scans and allocations in values (#28706) (leaysgur) -7cd46cbformatter_htmlish: Search script end tags by `<` in embedded (#28704) (leaysgur) -46f8efdformatter_graphql: Print block string lines borrowed from the source (#28701) (leaysgur) -dce1485formatter_htmlish: Skip escaping attr values without the chosen quote (#28700) (leaysgur) -e9392c8formatter_core: Search line terminators with memchr (#28699) (leaysgur) -ceb26beformatter_htmlish: Use `char` to escape attr quotes (#28697) (leaysgur) -8239dacparser: Replace dragonbox_ecma with zmij_ecma (#28282) (Boshen) ### 📚 Documentation -303d9e8formatter: Strengthen `start-token-no-double-parens` rationale (#28711) (Yuji Sugiura) -a82ce83oxfmt: Update unclassified divergence (#28685) (Yuji Sugiura) -7f18c20formatter_htmlish: Note `class` and `srcset` are formatted with `embeddedLanguageFormatting: off` (#28465) (Yuji Sugiura) -01ed68aoxfmt,formatter_htmlish,formatter: Clean up behavior comments (#28384) (Yuji Sugiura) -a363c27formatter_css,formatter_yaml: Point parser citations at AGENTS.md (#28466) (Yuji Sugiura) -6586050formatter_core: Document tab width in text width policy (#28393) (leaysgur) -49fbffbformatter_core: Tighten FORMATTER_POLICY (#28206) (leaysgur)
2.8 KiB
2.8 KiB
Changelog
All notable changes to this package will be documented in this file.
The format is based on Keep a Changelog.
[0.76.0] - 2026-11-02
⚡ Performance
46f8efdformatter_graphql: Print block string lines borrowed from the source (#28701) (leaysgur)
[0.74.0] - 2026-10-19
🐛 Bug Fixes
c78e80eformatter_core: Report parse error positions relative to the BOM-headed source (#27776) (leaysgur)
⚡ Performance
e5fdc9cformatter_core: Write into one element stack through a concreteFormatter(#27559) (leaysgur)
[0.69.0] - 2026-09-21
📚 Documentation
97dc427formatter_graphql: Unify DIVERGENCES reference (#26747) (leaysgur)
[0.68.0] - 2026-09-14
🚀 Features
dc45cc3formatter_test: Test Prettier dynamic snippet tests (#26469) (leaysgur)
[0.67.0] - 2026-09-07
🐛 Bug Fixes
3b054deformatter_graphql: Align comment printing after open{(#26271) (leaysgur)
📚 Documentation
4fabdccformatter,formatter_css,formatter_graphql,formatter_yaml: Update DIVERGENCES.md (#26267) (leaysgur)
[0.66.0] - 2026-08-31
📚 Documentation
b879608formatter,formatter_graphql,formatter_yaml: Annotate own-line comment inlining as known policy violation (#26131) (leaysgur)181953boxfmt,formatter_core,formatter,formatter_yaml,formatter_css,formatter_graphql: ExtractDIVERGENCES.mdout fromAGENTS.md(#26121) (leaysgur)
[0.63.0] - 2026-08-10
🐛 Bug Fixes
2eaede9formatter_core: Unify leading-BOM handlings (#25340) (leaysgur)
[0.62.0] - 2026-08-03
⚡ Performance
b91d5a8formatter_css,formatter_graphql,formatter_yaml,formatter_json: Pre alloc IR buffers (#25234) (leaysgur)
📚 Documentation
eaa7c69formatter_core: Extract FORMATTER_POLICY (#25233) (leaysgur)
[0.61.0] - 2026-07-27
📚 Documentation
69126a0formatter_css,fomatter_graphql,formatter_yaml: Update AGENTS.md (#24821) (leaysgur)
[0.60.0] - 2026-07-20
🐛 Bug Fixes
5f76998formatter_graphql: Keep same line comments pending across intervening tokens (#24579) (leaysgur)
[0.58.0] - 2026-07-06
🚀 Features
0ccd8a1formatter_graphql: Update oxc-graphql-parser 0.0.5 (#24106) (leaysgur)0e5bcc9formatter_graphql: Update oxc-graphql-parser 0.0.4 (#24039) (leaysgur)
🐛 Bug Fixes
e1ece97formatter_graphql: Breakimplementslist by print-width (#23997) (leaysgur)
[0.57.0] - 2026-06-29
💥 BREAKING CHANGES
259e0cdoxfmt,formatter_graphql: [BREAKING] Support draft syntax with removing prettier fallback (#23326) (leaysgur)
🚀 Features
4e66212formatter_graphql: Implement oxc_formatter_graphql (#23317) (leaysgur)
🐛 Bug Fixes
3f355e5formatter_graphql: Improve major prettier diffs (#23419) (leaysgur)