🚀 Features
- 733d6dc parser: Report error on
inferoutside conditional type (#19879) (camc314) - c2a42f6 allocator: Add
Vec::into_bump_slice_mut(#19895) (overlookmotel) - ee4982b parser: Add
VARIANTSconst toKindviafieldless_enum!macro (#19877) (overlookmotel) - b3dceae data_structures: Add
fieldless_enum!macro (#19876) (overlookmotel) - 12b841e parser: Make all
Kind::is_*methodsconst(#19874) (overlookmotel) - 25c2e25 estree/tokens: Add function to update tokens in place (#19856) (overlookmotel)
- f78e6df parser: Add
mutate_tokensCargo feature (#19853) (overlookmotel) - 5036bb6 parser: Report error on
for awaitin static blocks (#19844) (camc314) - 42bd431 parser: Report error for missing initializer in using decl (#19824) (camc314)
- a2f58e5 parser: Report error for
implementsclause in non-ts files (#19820) (Cameron) - b25228a estree: Add
IS_COMPACTconst toFormattertrait (#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_estreecrate export config and formatter types (#19724) (overlookmotel) - 5937a32 semantic: Introduce
symbol_declarationsmethod (#19609) (camc314) - ea6b796 parser: Add
LexerConfig::TOKENS_METHOD_IS_STATICconst (#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...instatement (#19882) (camc314) - 7682e5a linter/plugins: Decode escapes in identifier tokens (#19838) (overlookmotel)
- 06767ed estree/tokens: Convert
thistokens inTSTypeName(#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
TSConditionalTypein parens when necessary (#19788) (camc314) - cec7878 codegen: Print
definiteproperty on AccessorProperty (#19786) (camc314) - 6f395cf codegen: Print
definiteproperty on PropertyDefinition (#19785) (camc314) - b749373 codegen: Correctly parenthesise TSArrayType (#19784) (camc314)
- 876dc1b codegen: Print object property
thisparam (#19783) (camc314) - 93bb861 formatter: Trim trailing whitespace before breaking line (#19740) (leaysgur)
- ed17bbf codegen: Print
overridekeyword 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
regexobject 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
ESTreeTokenConfigtrait (#19842) (overlookmotel) - 81bab90 estree/tokens: Do not JSON-encode keyword, punctuator, etc tokens (#19814) (overlookmotel)
- 6260ddd estree/tokens: Do not JSON-encode
thisidentifiers (#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_arrayto 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
ESTreenotserde(#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.toStringassumption (#19758) (sapphi-red) - 75c9cd8 parser: Improve doc comments for
ParserConfigandLexerConfig(#19682) (overlookmotel) - 2fa936f README.md: Map npm package links to npmx.dev (#19666) (Boshen)