## [0.32.0] - 2024-10-19 -c0e9d7ecodegen: [**BREAKING**] `Codegen::into_source_text` consume `Codegen` (#6539) (overlookmotel) -782f0a7codegen: [**BREAKING**] Rename `print_char` method to `print_ascii_byte` (#6512) (overlookmotel) -91c87ddcodegen: [**BREAKING**] Remove `Codegen::enableSourceMap` API (#6452) (Boshen) -7645e5ccodegen: [**BREAKING**] Remove CommentOptions API (#6451) (Boshen) -5200960oxc: [**BREAKING**] Remove passing `Trivias` around (#6446) (Boshen) -2808973ast: [**BREAKING**] Add `Program::comments` (#6445) (Boshen) ### Features -5ee1ef3allocator: Add `Vec::into_boxed_slice` (#6195) (DonIsaac) -d9718adast_tools: Support `#[scope(exit_before)]` (#6350) (DonIsaac) -e5ed6a5codegen: Print negative numbers (#6624) (Boshen) -15c04e5ecmascript: Add feature flag for constant evaluation (Boshen) -d11770decmascript: Add `StringToNumber` (#6576) (Boshen) -e561880ecmascript: Add constant_evaluation and side_effects code (#6550) (Boshen) -3556062ecmascript: Add `ConstantEvaluation` (#6549) (Boshen) -39c2e66ecmascript: Add `ToBigInt` and `StringToBigInt` (#6508) (Boshen) -6f22538ecmascript: Add `ToBoolean`, `ToNumber`, `ToString` (#6502) (Boshen) -15dfc1disolated-declarations: Impl `Default` for options (#6372) (DonIsaac) -071e564minifier: Finish implementing folding object expressions (#6586) (camc314) -590925aminifier: Finish implementing folding array expressions (#6575) (camc314) -ef237cfminifier: Complete implementation of statement fusion (#6566) (camc314) -97c8a36minifier: Implement `collapse-variable-declarations` (#6464) (dalaoshu) -096e590minifier: Implement folding `charAt` string fns (#6436) (camc314) -e5a6f5dminifier: Implement converting template literals to strings (#6486) (camc314) -14d0590minifier: Implement folding of simple function calls (`Boolean`) (#6484) (camc314) -7fbc7b6minifier: Implement folding of simple function calls (`String`) (#6483) (camc314) -a4f57a4minifier: Implement folding `indexOf` and `lastIndexOf` string fns (#6435) (camc314) -3677ef8minifier: Dce ExpressionStatements with no side effect (#6457) (7086cmd) -06ea121minifier: Fold for statement (#6450) (7086cmd) -a9544aeminifier: Partially implement minification for some known string methods (#6424) (camc314) -9dc4ee9minifier: Implement block stmt support for `StatementFusion` (#6422) (camc314) -ebbf77dminifier: Implement calculations for NumberValue (#6419) (7086cmd) -97ac179minifier: Arithmetic operations for infinity. (#6332) (7086cmd) -13b0b0bminifier: Fold literal object constructors on window (#6379) (dalaoshu) -e310e52parser: Generate `Serialize` impls in ast_tools (#6404) (ottomated) -58467a5parser: Better handling of invalid modifiers (#6482) (DonIsaac) -8ea6b72parser: Better errors for reserved words used as identifier names (#6478) (DonIsaac) -b5b0af9regular_expression: Support RegExp Modifiers (#6410) (leaysgur) -a01a5dftransformer: Pass TransformerCtx to async-to-generator plugin (#6633) (Dunqing) -a9260cftransformer: `async-to-generator` plugin. (#5590) (Ethan Goh) -8fe1b0atransformer: Support helper loader (#6162) (Dunqing) -ab51c2atransformer: Support `DefaultImport` in `ModuleImports` (#6434) (Dunqing) -a3dea9ctransformer/async-to-generator: Handle arrow-function correctly (#6640) (Dunqing) -41c8675transformer/object-rest-spread: Using helper loader (#6449) (Dunqing) ### Bug Fixes -ba385fccodegen: Panic occurred when printing the comment of the right parenthesis (#6593) (Dunqing) -02bfbfecodegen: Preserve parenthesis for `ChainExpression` (#6430) (Dunqing) -2ade16ecodegen: Invalid codegen when `in` inside bin expr in or loop (#6431) (camc314) -6896efccodegen: Fix `in` in sequence expr in for loops (#6428) (camc314) -7cc05f1data_structures: Fix compilation failure on older Rust versions (#6526) (overlookmotel) -2ce3e5fidentifier: Add `ZWSP` to `is_irregular_whitespace` (#6662) (Boshen) -2673397isolated_declarations: Fix potential memory leak (#6622) (overlookmotel) -389d261minifier: `~~` operator should only work on numbers (#6598) (Boshen) -16bea12minifier: Use `to_js_string()` instead of `fs64::to_string` (#6597) (Boshen) -a71e8a0minifier: Preserve init variable declarations when removing `for` statements during DCE (#6551) (magic-akari) -721cf0fparser: Should be treated comments where after `(` as leading comments of next token (#6588) (Dunqing) -b1bf12cparser: Do not parse `as` and `satisfies` expression in javascript (#6442) (Boshen) -9f9057bregular_expression: Fixed control Y regular expression (#6524) (Tapan Prakash) -c822b48regular_expression: Fix CharacterClass negative codegen (#6415) (leaysgur) -384d5beregular_expression: Flatten Spans on regex AST nodes (#6396) (ottomated) -834ee2asemantic: `TSConditionalType` scope enter/exit locations (#6351) (DonIsaac) -1d3d256transformer: Correctly trim JSX (#6639) (magic-akari) -c6f2b5ftransformer: `HelperLoader` common transform: do not assume `babelHelpers` is global (#6569) (overlookmotel) -85d93edtransformer: Arrow function transform: correctly resolve `this` in class accessor properties (#6386) (overlookmotel) ### Performance -77f3a1acodegen: Check last char with byte methods (#6509) (overlookmotel) -18b68ffcodegen: Optimize `CodeBuffer::print_ascii_byte` (#6516) (overlookmotel) -4d8bc8cparser: Precompute `is_typescript` (#6443) (Boshen) -7c20056regex: Reduce string allocations in `Display` impls (#6528) (DonIsaac) -f70a413transformer: Object spread transform: do not lookup `Object` binding if not needed (#6570) (overlookmotel) -ac77c87traverse: Optimize `TraverseScoping::generate_uid_name` (#6663) (overlookmotel) ### Documentation -9f555d7allocator: Clarify docs for `Box` (#6625) (overlookmotel) -06e75b0allocator: Enable lint warnings on missing docs, and add missing doc comments (#6613) (DonIsaac) -7e909a7codegen: Fix example for `CodeBuffer::print_ascii_bytes` (#6535) (overlookmotel) -235d357codegen: Improve doc comments for `CodeBuffer` (#6511) (overlookmotel) -c8fa2ebcodegen: Correct and reformat doc comments for `CodeBuffer` (#6504) (overlookmotel) -40d1ee4codegen: Fix and reformat `CodeBuffer` examples (#6499) (overlookmotel) -de22b81data-structures: Enable lint warnings on missing docs, and add missing doc comments (#6612) (DonIsaac) -9e9fa9espan: Enable lint warnings on missing docs (#6617) (overlookmotel) -6a194f9span: Document validity of `ModuleKind::Unambiguous` (#6423) (Boshen) -335b7f2syntax: Enable lint warnings on missing docs, and add a lot of documentation (#6611) (DonIsaac) -f3451d7transformer/async-to-generator: Remove empty lines from doc comment (#6642) (overlookmotel) -448388atransformer/module_imports: Update outdated comments (#6574) (Dunqing) ### Refactor -073b02aast: Type params field before params in TS function declaration types (#6391) (overlookmotel) -458f8f3ast_tools: Consistent comments on `AstBuilder` methods (#6664) (overlookmotel) -51fc63dcodegen: Rename `CodeBuffer::print_bytes_unchecked` method (#6517) (overlookmotel) -05a2ebdcodegen: Reorder dependencies in `Cargo.toml` (#6514) (overlookmotel) -e7f3e28codegen: Rename var in `CodeBuffer` (#6510) (overlookmotel) -1bbd383codegen: Rename `CodeBuffer::print_ascii_bytes` method (#6507) (overlookmotel) -cd9fe9ecodegen: Rename vars in `CodeBuffer` methods (#6506) (overlookmotel) -fc536a5codegen: Inline `CodeBuffer` methods (#6501) (overlookmotel) -7420620codegen: Add `CodeBuffer::as_bytes` method (#6498) (overlookmotel) -8ae174bcodegen: Rename `CodeBuffer::print_byte_unchecked` method (#6496) (overlookmotel) -5843e01codegen: Shorten `CodeBuffer::take_source_text` (#6495) (overlookmotel) -951def6codegen: Clarify safety comments in `CodeBuffer` (#6494) (overlookmotel) -84a51eecodegen: Rename vars in `CodeBuffer` (#6493) (overlookmotel) -05bd616codegen: Add line break (#6492) (overlookmotel) -204bf55codegen: Add `CodeBuffer` to fix soundness hole (#6148) (DonIsaac) -702b574codegen: Only print necessary parentheses in TSAsExpression (#6429) (Dunqing) -aa6ba24ecmascript: Improve string to number conversion (#6577) (magic-akari) -6d041fbecmascript: Remove `NumberValue` (#6519) (Boshen) -856cab5ecmascript: Move ToInt32 from `oxc_syntax` to `oxc_ecmascript` (#6471) (Boshen) -1ba2a24ecmascript: Remove `HasProto` which is not part of the spec (#6470) (Boshen) -a504f96isolated-declarations: Mark return struct as non exhaustive (#6374) (DonIsaac) -f4cdc56minifier: Use constant folding unary expression from `oxc_ecmascript` (#6647) (Boshen) -67ad08aminifier: Unify `ValueType` (#6545) (Boshen) -bbca743minifier: Move string methods to `oxc_ecmascript` (#6472) (Boshen) -702c049minifier: Move compress block to dce (#6468) (7086cmd) -46a38c6minifier: Remove allow `clippy::unused_self` (#6441) (Boshen) -994b60bminifier: Use builtin get_number_value. (#6335) (7086cmd) -435a89coxc: Remove useless `allocator.alloc(program)` calls (#6571) (Boshen) -c45723bparser: Fix typo in var name (#6500) (overlookmotel) -1a90ec4rust: Backport v1.82.0 changes to main branch first (#6690) (Boshen) -3faee66span: Remove unused `ContentHash::content_hash_slice` (#6609) (DonIsaac) -9281234transformer: Shorten imports (#6643) (overlookmotel) -3af0840transformer: `HelperLoader`: add import immediately (#6601) (overlookmotel) -f81aa7ftransformer: `HelperLoader` common transform: comments (#6599) (overlookmotel) -679cc68transformer: `HelperLoader` common transform: construct string directly in arena (#6596) (overlookmotel) -c346ebbtransformer: `HelperLoader` common transform: `Helper` enum (#6595) (overlookmotel) -7a028b3transformer: Remove unnecessary `#![warn]` attr (#6585) (overlookmotel) -8c6afe0transformer: Reorder imports (#6582) (overlookmotel) -779ff46transformer: `HelperLoader` common transform: `Helper` struct (#6568) (overlookmotel) -bc24a24transformer: `HelperLoader` common transform: use hashmap `Entry` API (#6567) (overlookmotel) -9f02fc7transformer: `HelperLoader` common transform: re-order fields (#6565) (overlookmotel) -50ecadetransformer: `HelperLoader` common transform: remove `Rc`s (#6564) (overlookmotel) -1c1e9fctransformer: `HelperLoader` common transform: reorder methods (#6563) (overlookmotel) -c9054c8transformer: Rename `ImportKind` to `Import` (#6561) (overlookmotel) -9542c4etransformer: Add more specific methods to `ModuleImportsStore` (#6560) (overlookmotel) -7e57a1dtransformer: `ImportKind` use `BoundIdentifier` (#6559) (overlookmotel) -602df9dtransformer: Re-order fields of `Common` and `TransformCtx` (#6562) (overlookmotel) -390abcatransformer/async-to-generator: Use `helper_call_expr` (#6634) (Dunqing) -2ff917ftransformer/async-to-generator: Move internal methods below entry points (#6632) (Dunqing) ### Styling -fb916b2regular_expression: Re-order dependencies in `Cargo.toml` (#6672) (overlookmotel) -9d43a11transformer: Re-order dependencies (#6659) (overlookmotel) ### Testing -e7c89a5codegen: Uncomment passed tests that are related to trailing comments (#6589) (Dunqing) -d816b0bcodegen: Add test for `CodeBuffer::print_byte_unchecked` (#6497) (overlookmotel) -c5deb32minifier: Port the rest of tests (#6420) (7086cmd) -e59da61minifier: Add all test cases for `collapse_variable_declarations` (#6421) (dalaoshu) -73d6a4aminifier: Port all replace_known_methods tests. (#6418) (7086cmd) --------- Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
43 KiB
Changelog
All notable changes to this package will be documented in this file.
The format is based on Keep a Changelog, and this project does not adhere to Semantic Versioning until v1.0.0.
[0.32.0] - 2024-10-19
-
5200960oxc: [BREAKING] Remove passingTriviasaround (#6446) (Boshen) -
2808973ast: [BREAKING] AddProgram::comments(#6445) (Boshen)
Features
e310e52parser: GenerateSerializeimpls in ast_tools (#6404) (ottomated)
Bug Fixes
834ee2asemantic:TSConditionalTypescope enter/exit locations (#6351) (DonIsaac)
Refactor
073b02aast: Type params field before params in TS function declaration types (#6391) (overlookmotel)435a89coxc: Remove uselessallocator.alloc(program)calls (#6571) (Boshen)
[0.31.0] - 2024-10-08
-
01b878eparser: [BREAKING] UseBindingIdentifierfornamespacedeclaration names (#6003) (DonIsaac) -
95ca01ccfg: [BREAKING] Make BasicBlock::unreachable private (#6321) (DonIsaac)
Features
14275b1cfg: Color-code edges in CFG dot diagrams (#6314) (DonIsaac)9e62396syntax_operations: Add crateoxc_ecmascript(#6202) (Boshen)
Bug Fixes
6159560parser: StringImportSpecifiers for type imports (#6352) (DonIsaac)
Refactor
40932f7cfg: Use IndexVec for storing basic blocks (#6323) (DonIsaac)bdd9e92semantic: Rename vars fromast_node_idtonode_id(#6304) (overlookmotel)d110700semantic: Dereference IDs as quickly as possible (#6303) (overlookmotel)
Testing
d4f2ee9transformer: Tidy up transform checker (#6287) (overlookmotel)0f5afd7transformer: Transform checker output symbol name for mismatches (#6286) (overlookmotel)
[0.30.4] - 2024-09-28
Refactor
2090fcesemantic: Fix lint warning in nightly (#6110) (overlookmotel)
[0.30.3] - 2024-09-27
Bug Fixes
933a743semantic: Add interfaces and functions toSymbolFlags::ClassExcludes(#6057) (DonIsaac)
[0.30.2] - 2024-09-27
Features
f866781semantic: Check for type annotations on left side offor..inandfor..ofiterators (#6043) (DonIsaac)8b2e9aasemantic: Check for JSDoc types in TS type annotations (#6042) (DonIsaac)
Bug Fixes
b1af73dsemantic: Do not create aglobalsymbol fordeclare global {}(#6040) (DonIsaac)c8682e9semantic,codegen,transformer: Handle definite!operator in variable declarator (#6019) (Boshen)
Documentation
efabfc8semantic: Improve doc comments onReferencemethods (#6076) (overlookmotel)
Testing
93575cdsemantic: Add comprehensive regression test suite (#5976) (DonIsaac)
[0.30.1] - 2024-09-24
Performance
2b17003linter, prettier, diagnostics: UseFxHashMapinstead ofstd::collections::HashMap(#5993) (camchenry)
Documentation
1abfe8fsemantic: DocumentSymbolTable(#5998) (DonIsaac)f5eee72semantic: Correct docs forReference(#5992) (overlookmotel)
[0.30.0] - 2024-09-23
c96b712syntax: [BREAKING] RemoveSymbolFlags::ArrowFunction(#5857) (overlookmotel)
Features
a111bb6oxc_wasm: Addverbseoption todebug_dot(#5879) (IWANABETHATGUY)74d8714semantic: Add help message for invalidlet x?: number(#5969) (DonIsaac)3230ae5semantic: AddSemanticBuilder::with_excess_capacity(#5762) (overlookmotel)a07f03atransformer: SyncProgram::source_typeafter transform (#5887) (Boshen)
Bug Fixes
f1551d6semantic:?on variable declaration type annotations is a syntax error (#5956) (DonIsaac)a23879csemantic: AnalyzeReferenceFlagsincorrectly when there are nestedAssignmentTarget(#5847) (Dunqing)
Performance
c3e0fb6semantic: Simplify resetting ReferenceFlags inAssignmentExpression(#5846) (Dunqing)
Documentation
1ccf290semantic: DocumentAstNodeandAstNodes(#5872) (DonIsaac)
Refactor
6dd6f7cast: ChangeCommentstruct (#5783) (Boshen)d910304semantic: Rename lifetime onimpl IntoIterator for &AstNodes(#5881) (overlookmotel)f360e2csemantic: Remove redundunt is_leading check for JSDoc (#5877) (leaysgur)9115dd9semantic: UseComment::attached_tofor jsdoc attachment (#5876) (Boshen)db4f16asemantic: Callwith_triviasbeforebuild_with_jsdoc(#5875) (Boshen)3d13c6dsemantic: ImplIntoIteratorfor&AstNodes(#5873) (DonIsaac)47d9ad8semantic: Remove unused vars warning in release mode (#5803) (overlookmotel)
[0.29.0] - 2024-09-13
Features
805fbacoxc_cfg: Better control flow graph dot dot repr (#5731) (IWANABETHATGUY)f3baa49semantic: AddSemanticBuilder::with_stats(#5757) (overlookmotel)7fa0cb3semantic: ExposeStats(#5755) (overlookmotel)
Refactor
4bdc202rust: Remove some #[allow(unused)] (#5716) (Boshen)a35fb14semantic:Stats::assert_accuratetakeself(#5758) (overlookmotel)4b896f1semantic: MakeStatsCopy(#5756) (overlookmotel)b4b460fsemantic:Statsstore counts asu32(#5754) (overlookmotel)667170csemantic: RenameCountstoStats(#5753) (overlookmotel)cc0408bsemantic: S/AstNodeId/NodeId (#5740) (Boshen)7dfcdfcsemantic: Removemore-assertsdependency (#5739) (overlookmotel)6436524semantic: Fix dead code warning in release mode (#5728) (overlookmotel)e02621dsemantic: Re-order use statements (#5712) (overlookmotel)ac6203csemantic: MoveCountscode into counter module (#5710) (overlookmotel)339fcfcsemantic: RenameCountsin transform checker (#5709) (overlookmotel)d8ec781semantic: Removerecord_ast_nodecall forProgram(#5701) (overlookmotel)
Styling
1857ff0semantic: Rename vars for node IDs (#5699) (overlookmotel)
[0.28.0] - 2024-09-11
-
1fa3e56semantic: [BREAKING] RenameSymbolTable::itertosymbol_ids(#5621) (overlookmotel) -
96a1552semantic: [BREAKING] RemoveSymbolTable::iter_rev(#5620) (overlookmotel) -
4a8aec1span: [BREAKING] ChangeSourceType::jstoSourceType::cjsandSourceType::mjs(#5606) (Boshen) -
603817boxc: [BREAKING] AddSourceType::Unambiguous; parse.jsas unambiguous (#5557) (Boshen) -
b060525semantic: [BREAKING] Removesource_typeargument fromSemanticBuilder::new(#5553) (Boshen)
Features
86256eaminifier: Constant foldtypeof(#5666) (Boshen)642295csemantic: AddSymbolTable::delete_resolved_referencemethod (#5558) (overlookmotel)
Bug Fixes
f9e3a41semantic: BindSymbolIdto function name inif (foo) function id() {}(#5673) (Boshen)36d864atransformer/react: Don't transform if the variable does not have a value reference (#5528) (Dunqing)
Refactor
0ac420dlinter: Use meaningful names for diagnostic parameters (#5564) (Don Isaac)731ffaasemantic: Compare nodes by pointer equality (#5686) (overlookmotel)067f9b5semantic: IntroduceIsGlobalReferencetrait (#5672) (Boshen)d22a9b7semantic:SymbolTable::is_emptyuseis_empty(#5622) (overlookmotel)
Testing
dc92489Add trailing line breaks to conformance fixtures (#5541) (overlookmotel)
[0.27.0] - 2024-09-06
bd820f9semantic: [BREAKING] RemoveSymbolTable::get_symbol_id_from_nameandSymbolTable::get_scope_id_from_name(#5480) (overlookmotel)
Features
0f50b1esemantic: Check for initializers in ambientVariableDeclarations (#5463) (DonIsaac)62f7fffsemantic: Check for non-declared, non-abstract object accessors without bodies (#5461) (DonIsaac)5407143semantic: Check for non-declared, non-abstract class accessors without bodies (#5460) (DonIsaac)052e94csemantic: Check for parameter properties in constructor overloads (#5459) (DonIsaac)
Bug Fixes
7a797acsemantic: Incorrect reference whenMemberExpressionused inTSPropertySignature(#5525) (Dunqing)d8b9909semantic:IdentifierReferencewithinTSPropertySignaturecannot reference type-only import binding (#5441) (Dunqing)
Refactor
e4ed41dsemantic: Change the reference flag toReferenceFlags::Typeif it is used within aTSTypeQuery(#5444) (Dunqing)
Styling
2a43fa4linter: Introduce the writing style from PR #5491 and reduce the if nesting (#5512) (dalaoshu)
Testing
340b535linter/no-unused-vars: Arrow functions in tagged templates (#5510) (Don Isaac)
[0.26.0] - 2024-09-03
-
01cc2cesemantic: [BREAKING] AddScopeTree:get_child_idsAPI behind a runtime flag (#5403) (Boshen) -
32f7300ast: [BREAKING] AddJSXElementName::IdentifierReferenceandJSXMemberExpressionObject::IdentifierReference(#5223) (Dunqing) -
234a24cast: [BREAKING] MergeUsingDeclarationintoVariableDeclaration(#5270) (Kevin Deng 三咲智子) -
c100826semantic: [BREAKING] Always create a scope forforstatements (#5110) (overlookmotel) -
d304d6fsemantic: [BREAKING] Always create a scope forCatchClause(#5109) (overlookmotel)
Features
c2fa725ast,parser: ParseTSTypeAnnotationsonAccessorProperty(#5179) (DonIsaac)be4642fsemantic: Transform checker check child scope IDs (#5410) (overlookmotel)6e969f9semantic: AddScopeTree::delete_root_unresolved_reference(#5305) (overlookmotel)
Bug Fixes
293413fsemantic: Implicit returnUpdateExpressioninArrowFunctionExpressiondoes not as read reference (#5161) (Dunqing)f8bb022transformer/arrow-functions: RemoveSymbolFlags::ArrowFunction(#5190) (Dunqing)d594818traverse:insert_scope_belowupdate child scopes records (#5409) (overlookmotel)
Refactor
3ae94b8semantic: Changebuild_module_recordto accept &Path instead of PathBuf (Boshen)05d25e2semantic: Combine add scope methods (#5262) (overlookmotel)fdedc0fsemantic: Transform checker: renameSemanticDatatoScoping(#5261) (overlookmotel)1086109semantic: Transform checker do not output spans in errors (#5260) (overlookmotel)af5713esemantic: Transform checker continue checks if missing IDs (#5259) (overlookmotel)943454fsemantic: Update transform checker for no conditional scopes (#5252) (overlookmotel)892a7fasemantic: Replacerefsyntax (#5253) (overlookmotel)cbb4725semantic: Add comment to transform checker (#5250) (overlookmotel)a17cf33semantic: RemoveScopeTree::child_ids(#5232) (Boshen)d5a4940semantic: Rewrite handling of label statement errors (#5138) (Boshen)
Testing
be7b8c6semantic: AddJSXIdentifierReference-related tests (#5224) (Dunqing)
[0.25.0] - 2024-08-23
-
f2b8d82semantic: [BREAKING]ScopeTree::get_child_ids+get_child_ids_mutreturn value notOption(#5058) (overlookmotel) -
5f4c9absemantic: [BREAKING] RenameSymbolTable::get_flagtoget_flags(#5030) (overlookmotel) -
58bf215semantic: [BREAKING] RenameReference::flagandflag_mutmethods to plural (#5025) (overlookmotel) -
d262a58syntax: [BREAKING] RenameReferenceFlagtoReferenceFlags(#5023) (overlookmotel) -
c30e2e9semantic: [BREAKING]Reference::flagmethod returnReferenceFlag(#5019) (overlookmotel) -
f88970bast: [BREAKING] Change order of fields in CallExpression (#4859) (Burlin)
Bug Fixes
1bd9365coverage: Correctly check semantic data after transform (#5035) (Boshen)ad2be97semantic: Incorrect semantic check for label has same name (#5041) (heygsc)d5de97dsemantic: Transform checker check reference flags (#5092) (overlookmotel)90c74eesemantic: Transform checker check reference symbol IDs (#5090) (overlookmotel)a8005b9semantic: Transform checker check symbol redeclarations (#5089) (overlookmotel)205bff7semantic: Transform checker check symbol references (#5088) (overlookmotel)4a57086semantic: Transform checker check symbol IDs (#5078) (overlookmotel)ea7d216semantic: Transform checker check symbol spans (#5076) (overlookmotel)1b6b27asemantic: Transform checker check symbol flags (#5074) (overlookmotel)6d87b0fsemantic: Fix error message for duplicated label (#5071) (Boshen)05fff16semantic: Transform checker compare binding symbol IDs (#5057) (overlookmotel)f187b71semantic: Transform checker compare scope children (#5056) (overlookmotel)b52c6a4semantic: Transform checker compare scope parents (#5055) (overlookmotel)da64014semantic: Transform checker catch more scope flags mismatches (#5054) (overlookmotel)67d1a96semantic: Transform checker compare scope flags (#5052) (overlookmotel)863b9cbsemantic: Transform checker handle conditional scopes (#5040) (overlookmotel)47029c4semantic: Transform checker output symbol names in errors (#5038) (overlookmotel)
Refactor
ca70cc7linter, mangler, parser, semantic, transformer, traverse, wasm: Rename variousflagvars toflags(#5028) (overlookmotel)9da6a21semantic: Rename transform checker output for reference symbol mismatches (#5091) (overlookmotel)fb46eafsemantic: Add remap functions to transform checker (#5082) (overlookmotel)a00bf18semantic: AddIdMappingto transform checker (#5079) (overlookmotel)b14a302semantic: Transform checker: change symbol name mismatch error (#5075) (overlookmotel)b8c6ce5semantic: Rename vars in transform checker (#5072) (overlookmotel)7156fd2semantic: Transform checkerPairstructure (#5053) (overlookmotel)0ba6f50semantic: Simplify raising errors in transform checker (#5051) (overlookmotel)ee7ac8bsemantic: Store all data inPostTransformCheckerin transform checker (#5050) (overlookmotel)4e1f4absemantic: AddSemanticIdsto transformer checker (#5048) (overlookmotel)c1da574semantic: Add comments to transformer checker (#5045) (overlookmotel)8cded08semantic: Rename error labels in transformer checker snapshots (#5044) (overlookmotel)602244fsemantic: Rename vars in transformer checker (#5043) (overlookmotel)ae94b9asemantic: Remove unused function params in transformer checker (#5042) (overlookmotel)586e15csemantic: Reformat transform checker errors (#5039) (overlookmotel)d69e34esemantic: Fix indentation (#5037) (overlookmotel)4336a32semantic: Rename fields in snapshots fromflagtoflags(#5032) (overlookmotel)83dfb14semantic: Rename vars fromflagtoflags(#5031) (overlookmotel)3b7de18semantic: RenameSemanticBuilder::current_reference_flagsfield (#5027) (overlookmotel)0bacdd8semantic: RenameReference::flagfield toflags(#5026) (overlookmotel)896b92fsemantic: Correct typo in doc comment (#5009) (overlookmotel)d677b8esemantic: Do not reserve space inresolved_references(#4962) (overlookmotel)a7ef30dsemantic:UnresolvedReferencesStackcontain onlyReferenceId(#4960) (overlookmotel)59d15c7semantic:root_unresolved_referencescontain onlyReferenceId(#4959) (overlookmotel)
Testing
0df1a94semantic: Add more symbol and reference checks toPostTransformChecker(Boshen)
[0.24.3] - 2024-08-18
Features
80d0d1fsemantic: Check for invalid interface heritage clauses (#4928) (DonIsaac)48821c0semantic,syntax: Add SymbolFlags::ArrowFunction (#4946) (DonIsaac)
Documentation
0a01a47semantic: Improve documentation (#4850) (DonIsaac)
Refactor
ea1e64asemantic: Make SemanticBuilder opaque (#4851) (DonIsaac)
[0.24.0] - 2024-08-08
Features
fd2d9daast: ImproveAstKind::debug_name(#4553) (DonIsaac)33f1312semantic: Impl GetSpan for AstNode (#4717) (DonIsaac)
Bug Fixes
03c643asemantic: Incorrectscope_idfor catch parameter symbols (#4659) (Dunqing)6c612d1semantic/jsdoc: Handle whitespace absence (#4642) (leaysgur)0d2c41asemantic/jsdoc: Panic on parsingtype_name_comment. (#4632) (rzvxa)
Refactor
09d9822semantic: Simplify setting scope flags (#4674) (overlookmotel)6e453dbsemantic: Simplify inherit scope flags from parent scope (#4664) (Dunqing)
[0.23.1] - 2024-08-06
Features
fd2d9daast: ImproveAstKind::debug_name(#4553) (DonIsaac)
Bug Fixes
03c643asemantic: Incorrectscope_idfor catch parameter symbols (#4659) (Dunqing)6c612d1semantic/jsdoc: Handle whitespace absence (#4642) (leaysgur)0d2c41asemantic/jsdoc: Panic on parsingtype_name_comment. (#4632) (rzvxa)
Refactor
09d9822semantic: Simplify setting scope flags (#4674) (overlookmotel)6e453dbsemantic: Simplify inherit scope flags from parent scope (#4664) (Dunqing)
[0.23.0] - 2024-08-01
Features
b952942linter: Add eslint/no-unused-vars (⭐ attempt 3.2) (#4445) (DonIsaac)cf1854bsemantic: RemoveReferenceFlags::Valuefrom non-type-only exports that referenced type binding (#4511) (Dunqing)
Bug Fixes
d5c4b19parser: Fix enum member parsing (#4543) (DonIsaac)
Refactor
16c7b98semantic: Move CatchClause scope binding logic to visit_block_statement (#4505) (Dunqing)d6974d4semantic:AstNodeParentIterfetch nodes lazily (#4533) (overlookmotel)d914b14semantic: Reusing the same reference (#4529) (Dunqing)7b5e1f5semantic: Useis_empty()instead oflen() == 0(#4532) (overlookmotel)9db4259semantic: Inline trivial methods (#4531) (overlookmotel)
[0.22.1] - 2024-07-27
Features
2477330ast: AddAstKind::TSExportAssignment(#4501) (Dunqing)aaee07east: AddAstKind::AssignmentTargetPattern,AstKind::ArrayAssignmentTargetandAstKind::ObjectAssignmentTarget(#4456) (Dunqing)
Bug Fixes
36bb680semantic:TSExportAssignmentcannot reference type binding (#4502) (Dunqing)cb2fa49semantic:typeofoperator cannot reference type-only import (#4500) (Dunqing)ef0e953semantic: Generic passed to typeof not counted as a reference (#4499) (Dunqing)40cafb8semantic: Params inexport default (function() {})flagged asSymbolFlags::Export(#4480) (Dunqing)2e01a45semantic: Non-exported namespace member symbols flagged as exported (#4493) (Don Isaac)e4ca06asemantic: Incorrect symbol’s scope_id after var hoisting (#4458) (Dunqing)77bd5f1semantic: Use correct span for namespace symbols (#4448) (Don Isaac)
Performance
348c1adsemantic: Removespanfield fromReference(#4464) (overlookmotel)6a9f4dbsemantic: Reduce storage size for symbol redeclarations (#4463) (overlookmotel)
Documentation
871b3d6semantic: Add doc comments for SymbolTester and SemanticTester (#4433) (DonIsaac)
Refactor
ccb1835semantic: Methods takeSpanas param, not&Span(#4470) (overlookmotel)f17254asemantic: Populatedeclarationsfield inSymbolTable::create_symbol(#4461) (overlookmotel)a49f491semantic: Re-orderSymbolTablefields (#4459) (overlookmotel)7cd53f3semantic: Var hoisting (#4379) (Dunqing)4f5a7cbsemantic: Mark SemanticTester and SymbolTester as must_use (#4430) (DonIsaac)c99b3ebsyntax: GiveScopeIda niche (#4468) (overlookmotel)
Testing
4b274a8semantic: Add more test cases for symbol references (#4429) (DonIsaac)
[0.22.0] - 2024-07-23
85a7ceasemantic: [BREAKING] Remove name fromreference(#4329) (Dunqing)
Bug Fixes
ac08de8linter/react_perf: Allow new objects, array, fns, etc in top scope (#4395) (DonIsaac)bc8d4e5semantic: Correct comment (#4410) (overlookmotel)6ffce86semantic: Alignvisit_arrow_function_expressionfield visit order with ast (#4366) (Dunqing)f8565aetransformer/typescript: Unexpectedly removed class binding from ExportNamedDeclaration (#4351) (Dunqing)
Performance
1b51511semantic: UseAtominstead ofCompactStrforUnresolvedReferencesStack(#4401) (Dunqing)40f9356semantic: Calculate number of nodes, scopes, symbols, references before visiting AST (#4367) (Dunqing)da13d93semantic: Remove bounds checks on unresolved references stack (#4390) (overlookmotel)e70c67bsemantic: Remove a branch fromadd_scope(#4384) (overlookmotel)402006fsemantic: Simplify logic inenter_scope+leave_scope(#4383) (overlookmotel)7469e01semantic: Remove branch fromNodes::add_node(#4361) (overlookmotel)-a207923Replace some CompactStr usages with Cows (#4377) (DonIsaac)
Refactor
58f6ec2ast: Enter node before scope (#4347) (Dunqing)5d77b36semantic:visit_programvisithashbangfield (#4370) (overlookmotel)f7b9adasemantic:Programvisitor leave scope before node (#4369) (overlookmotel)729b288semantic: Shorten code (#4358) (overlookmotel)21d0eeesemantic: Use error codes for ts diagnostics (#4336) (DonIsaac)
[0.21.0] - 2024-07-18
d7ab0b8semantic: [BREAKING] Simplify node creation (#4226) (lucab)
Features
af4dc01ast: Align ts ast scope with typescript (#4253) (Dunqing)20cdb1fsemantic: Align class scope with typescript (#4195) (Dunqing)92ee774semantic: AddScopeFlags::CatchClausefor use in CatchClause (#4205) (Dunqing)
Bug Fixes
9badac0semantic: Avoid var hosting insert the var variable to theCatchClausescope (#4337) (Dunqing)95e15b6semantic: Incorrect resolve references forExportSpecifier(#4320) (Dunqing)c362bf7semantic: Incorrect resolve references forTSInterfaceHeritage(#4311) (Dunqing)351ecf2semantic: Incorrect resolve references forTSTypeQuery(#4310) (Dunqing)1108f2asemantic: Resolve references to the incorrect symbol (#4280) (Dunqing)22d56bdsemantic: Do not resolve references afterFormalParametersin TS type (#4241) (overlookmotel)
Performance
f9d3f2esemantic: Inline ast record functions (#4272) (overlookmotel)23743dbsemantic: Do not record ast nodes for cfg if cfg disabled (#4263) (overlookmotel)da69076semantic: Reduce overhead of cfg recording ast nodes (#4262) (overlookmotel)cb15303semantic: Reduce memory copies (#4216) (overlookmotel)ef4c1f4semantic: Reduce lookups (#4214) (overlookmotel)f23e54fsemantic: Recycle unresolved references hash maps (#4213) (overlookmotel)2602ce2semantic: Reuse existing map of unresolved refs (#4206) (lucab)
Refactor
2c7bb9fast: Pass finalScopeFlagsintovisit_function(#4283) (overlookmotel)3e099feast: Moveenter_scopeaftervisit_binding_identifier(#4246) (Dunqing)aab7aaaast/visit: Fire node events as the outermost one. (#4203) (rzvxa)c5731a5semantic: Remove defunct code setting ScopeFlags twice (#4286) (overlookmotel)16698bcsemantic: Move function/class-specific code into specific visitors (#4278) (overlookmotel)ee16668semantic: Rename function param (#4277) (overlookmotel)25f0771semantic: Alter syntax ofcontrol_flow!macro (#4275) (overlookmotel)639fd48semantic: Comment why extra CFG enabled check (#4274) (overlookmotel)c418bf5semantic: Directly recordcurrent_node_idwhen adding a scope (#4265) (Dunqing)ace4f1fsemantic: Update the order ofvisit_functionandVisitfields in the builder to be consistent (#4248) (Dunqing)8bfeabfsemantic: Simplify addingSymbolFlags::Export(#4249) (Dunqing)dc2b3c4semantic: Add strict mode in scope flags for class definitions (#4156) (Dunqing)81ed588semantic: Convert scope fields to IndexVecs (#4208) (lucab)bbe5dedsemantic: Setcurrent_scope_idtoscope_idinenter_scope(#4193) (Dunqing)7f1adddsemantic: Correct scope in CatchClause (#4192) (Dunqing)fc0b17dsyntax: Turn theAstNodeId::dummyinto a constant field. (#4308) (rzvxa)
[0.20.0] - 2024-07-11
5731e39ast: [BREAKING] Store span details inside comment struct (#4132) (Luca Bruno)
Features
67fe75east, ast_codegen: Pass thescope_idto theenter_scopeevent. (#4168) (rzvxa)
Performance
2203143semantic: Store unresolved refs in a stack (#4162) (lucab)fca9706semantic: Faster search for leading comments (#4140) (Boshen)
Refactor
03ad1e3semantic: Tweak comment argument type (#4157) (lucab)
[0.18.0] - 2024-07-09
Features
2f53bdfsemantic: Check for abstract ClassElements in non-abstract classes (#4127) (DonIsaac)c4ee9f8semantic: Check for abstract initializations and implementations (#4125) (Don Isaac)
[0.17.2] - 2024-07-08
Features
e386b62semantic: Check for invalid type import assignments (#4097) (DonIsaac)
Bug Fixes
0f02608semantic: BindTSImportEqualsDeclarations (#4100) (Don Isaac)
Performance
9114c8esemantic: Keep a single map of unresolved references (#4107) (Luca Bruno)
[0.17.0] - 2024-07-05
-
1df6ac0ast: [BREAKING] Renamevisit_enum_memebertovisit_ts_enum_member. (#4000) (rzvxa) -
4a0eaa0ast: [BREAKING] Renamevisit_enumtovisit_ts_enum_declaration. (#3998) (rzvxa) -
c98d8aaast: [BREAKING] Renamevisit_arrow_expressiontovisit_arrow_function_expression. (#3995) (rzvxa)
Refactor
[0.16.3] - 2024-07-02
Bug Fixes
d995f94semantic: Resolve reference incorrectly when a parameter references a parameter that hasn't been defined yet (#4004) (Dunqing)
[0.16.2] - 2024-06-30
Performance
b234dddsemantic: Only check for jsdoc if jsdoc building is enabled (Boshen)1eac3d2semantic: UseAtom<'a>forReferences (#3972) (Don Isaac)
[0.16.1] - 2024-06-29
Features
f64ad4bsemantic: Make jsdoc building optional (turned off by default) (#3955) (Boshen)
Refactor
2705df9linter: Improve diagnostic labeling (#3960) (DonIsaac)15ec254semantic: Remove the unusedSemantic::build2function (Boshen)
[0.16.0] - 2024-06-26
-
6796891ast: [BREAKING] Rename all instances ofBigintLiteraltoBigIntLiteral. (#3898) (rzvxa) -
ae09a97ast: [BREAKING] RemoveModifiersfrom ts nodes (#3846) (Boshen) -
1af5ed3ast: [BREAKING] ReplaceModifierswithdeclareandconstonEnumDeclaration(#3845) (Boshen) -
0673677ast: [BREAKING] ReplaceModifierswithdeclareonFunction(#3844) (Boshen) -
ee6ec4east: [BREAKING] ReplaceModifierswithdeclareandabstractonClass(#3841) (Boshen) -
9b38119ast: [BREAKING] ReplaceModifierswithdeclareonVariableDeclaration(#3839) (Boshen) -
4456034ast: [BREAKING] AddIdentifierReferencetoExportSpecifier(#3820) (Boshen)
Features
d5f6aebsemantic: Check for illegal symbol modifiers (#3838) (Don Isaac)
Bug Fixes
8c9fc63semantic: Apply strict mode scope flag for strict mode TS Modules (#3861) (overlookmotel)99a40cesemantic:export default fooshould haveExportLocalName::Default(NameSpan)entry (#3823) (Boshen)17ad8f7transformer: Create new scopes for new blocks in TS transform (#3908) (overlookmotel)
Performance
10d1de5semantic: Remove uneccessary allocation in builder (#3867) (DonIsaac)-4f7ff7eDo not pass&Atomto functions (#3818) (overlookmotel)
Refactor
187f078parser: Improve parsing ofparse_function_or_constructor_type(#3892) (Boshen)-d6437feClean up some usages ofwith_labels(#3854) (Boshen)
[0.15.0] - 2024-06-18
-
0537d29cfg: [BREAKING] Move control flow to its own crate. (#3728) (rzvxa) -
4bce59dsemantic/cfg: [BREAKING] Re-exportpetgraphascontrol_flow::graph. (#3722) (rzvxa) -
0578eceast: [BREAKING] RemoveExportDefaultDeclarationKind::TSEnumDeclaration(#3666) (Dunqing)
Features
046ff3flinter/eslint: Addno_unreachablerule. (#3238) (rzvxa)9c31ed9semantic/cfg: Propagate unreachable edges through subgraphs. (#3648) (rzvxa)d9c5b33semantic/cfg: AddConditioninstruction. (#3567) (Ali Rezvani)f2dfd66semantic/cfg: Add iteration instructions. (#3566) (rzvxa)
Bug Fixes
70fc69bsemantic: Add Eq to CtxFlags (#3651) (Yuji Sugiura)7a58fecsemantic/cfg: Issue in unlabeledCtxs. (#3678) (rzvxa)abd6ac8semantic/cfg: Discrete finalization path afterNewFunctions. (#3671) (rzvxa)e148a32semantic/cfg: Correct unreachability propagation in try-finally. (#3667) (Ali Rezvani)
Performance
2717a1asemantic/cfg: Lower the visits inneighbors_filtered_by_edge_weight. (#3676) (rzvxa)
Refactor
7ec44f8semantic: Renamecfgmacro tocontrol_flow. (#3742) (rzvxa)d8ad321semantic: Make control flow generation optional. (#3737) (rzvxa)a94a72dsemantic: Expose 1 checker function instead of 2 (#3694) (Boshen)bd8d115semantic/cfg: Remove unused types. (#3677) (rzvxa)f702fb9semantic/cfg: Cleanup control flow and it's builder. (#3650) (rzvxa)
[0.14.0] - 2024-06-12
Refactor
84304b4linter: Add actx.module_record()method (#3637) (Boshen)7d61832semantic: PassRcby value (#3586) (overlookmotel)5793ff1transformer: Replace&’a TriviaswithRc<Trivias>(#3580) (Dunqing)60cbdectraverse:generate_uid_in_root_scopemethod (#3611) (overlookmotel)
[0.13.4] - 2024-06-07
Bug Fixes
c00598btransformer: JSX setreference_idon refs to imports (#3524) (overlookmotel)
Refactor
6978269transformer/typescript: Replace reference collector with symbols references (#3533) (Dunqing)
[0.13.3] - 2024-06-04
Refactor
7bbd3datraverse:generate_uidreturnSymbolId(#3520) (overlookmotel)
[0.13.2] - 2024-06-03
Features
3a5f088linter/jsdoc: Implement require-returns rule (#3218) (Yuji Sugiura)bcdc658transformer: AddTraverseCtx::generate_uid(#3394) (overlookmotel)
Bug Fixes
5e06298linter: Memorize visited block id inneighbors_filtered_by_edge_weight(#3407) (mysteryven)6f71541semantic: Set program scope_id for TS definition files (#3496) (overlookmotel)d4371e8transformer: Use UIDs in TS namespace transforms (#3395) (overlookmotel)
Refactor
55bbde2ast: Move scope fromTSModuleBlocktoTSModuleDeclaration(#3488) (overlookmotel)9c58231semantic: Use a simpler way to resolve reference for ReferenceFlag::Type (#3430) (Dunqing)-de75fb2Compile less test binaries to speed up CI (#3414) (Boshen)
[0.13.1] - 2024-05-22
Refactor
6f3b1c8semantic: Semantic populatescope_idfields in AST (#3303) (overlookmotel)78e6326semantic/cfg: Alias petgraph'sNodeIndexasBasicBlockId. (#3380) (rzvxa)
[0.13.0] - 2024-05-14
Features
44b16eflinter/eslint: Implement max-classes-per-file (#3241) (Jelle van der Waa)5866086linter/jsdoc: Implement no-defaults rule (#3098) (Yuji Sugiura)1f135celinter/react: Add therules_of_hooksrule. (#3071) (rzvxa)c3d8a85semantic: Report that enum member must have initializer (#3113) (Dunqing)2dd96dfsemantic: Report namespace related errors (#3093) (Dunqing)
Bug Fixes
5e36e0dsemantic: Addcfgnodes forConditionalExpressions. (#3127) (Ali Rezvani)c91d261semantic: Connecttestexpression offorstatements to the cfg. (#3122) (Ali Rezvani)dcb2528semantic: Revert test code pushed to the main by accident. (#3085) (Ali Rezvani)8d17ab3semantic: Allowroot_nodeto be empty for empty trees. (#3084) (Ali Rezvani)
Refactor
7e1fe36ast: Squash nested enums (#3115) (overlookmotel)dbde5b3diagnostics: Remove export ofmiette(Boshen)312f74bdiagnostics: S/OxcDiagnostic::new/OxcDiagnostic::error (Boshen)c5588c9semantic: Clean up redeclaration diagnostic (Boshen)09f34fcsemantic: Unify diagnostic in checker (Boshen)a8af5desyntax: Move number related functions to number module (#3130) (Boshen)-893af23Clean up more diagnostics usages (Boshen)-d8173e1Remove all usages ofInto<Error>(Boshen)
[0.12.5] - 2024-04-22
Features
92d709bast: AddCatchParameternode (#3049) (Boshen)57ad6c4semantic: Add root node to theAstNodesstructure. (#3032) (Ali Rezvani)
Bug Fixes
84c43c8semantic: Correctly resolve identifiers inside catch parameter initializers (#3050) (Boshen)1f7033esemantic: Correctly resolve identifiers inside parameter initializers (#3046) (Boshen)
[0.12.4] - 2024-04-19
Features
40af2b1semantic/jsdoc: Handle optional type syntax for type name part (#2960) (Yuji Sugiura)
Bug Fixes
2c325efsemantic/jsdoc: Skip parsing@inside of backticks (#3017) (Yuji Sugiura)
[0.12.3] - 2024-04-11
Refactor
0a77d62semantic/jsdoc: Rework JSDoc struct for better Span handling (#2917) (Yuji Sugiura)
[0.12.2] - 2024-04-08
Features
aa63b64linter: Implement jsdoc/check-access (#2642) (Yuji Sugiura)
Bug Fixes
1ea24easemantic: Symbols inside functions and classes incorrectly flagged as exported (#2896) (Don Isaac)
[0.12.1] - 2024-04-03
Bug Fixes
d3eb1c3semantic: Flag function expressions withSymbolFlags::Function(#2891) (Don Isaac)
[0.11.0] - 2024-03-30
Features
712b3d2semantic: Distinguish type imports in ModuleRecord (#2785) (Dunqing)df744b2semantic/jsdoc: AddSpanfor JSDoc, JSDocTag (#2815) (Yuji Sugiura)
Bug Fixes
df62828linter/import: Ignore export declaration in no-duplicates (#2863) (Dunqing)947a9f0semantic: Missing SymbolFlags::Export when identifier used in ExportDefaultDeclaration (#2837) (Dunqing)b28b617semantic: Incorrect ExportEntry span for ExportAllDeclaration in ModuleRecord (#2793) (Dunqing)b6e493bsemantic: ModuleRecord's indirect_export_entires missing reexported imports (#2792) (Dunqing)
Refactor
1b5e544semantic: Distinguish whether requested_modules is type imports/exports (#2848) (Dunqing)4a42c5fsemantic/jsdoc: JSDocTag parser rework (#2765) (Yuji Sugiura)
[0.10.0] - 2024-03-14
Features
57ce737semantic: Move redeclare varaibles to symbol table (#2614) (Dunqing)4f9dd98span: RemoveFrom<String>andFrom<Cow>API because they create memory leak (#2628) (Boshen)-697b6b7Merge featuresserdeandwasmtoserialize(#2716) (Boshen)
Bug Fixes
b00d4b8semantic/jsdoc: Support multibyte chars (#2694) (Yuji Sugiura)2609e90semantic/jsdoc: Fix up builder (#2623) (Yuji Sugiura)
Refactor
0f86333ast: RefactorTriviasAPI - have less noise around it (#2692) (Boshen)cba1e2fast: ImportTsifyto shorten code (#2665) (overlookmotel)6b5723cast: Shorten manual TS defs (#2638) (overlookmotel)-cbc2f5fRemove unused dependencies (#2718) (Boshen)-3c1e0dbReducecfg_attrboilerplate withSerAttrsderive (#2669) (overlookmotel)-d76ee6b"wasm" feature enable "serde" feature (#2639) (overlookmotel)-8001b2fMakeCompactStrimmutable (#2620) (overlookmotel)-0646bf3RenameCompactStringtoCompactStr(#2619) (overlookmotel)
[0.9.0] - 2024-03-05
Features
d41dcc3linter: Remove all commonjs logic for import plugin (#2537) (Boshen)f760108transformer: Call build module record (#2529) (Dunqing)
Bug Fixes
37de80dsemantic: Jsx reference with an incorrect node id (#2546) (Dunqing)1519b90semantic: Incorrect scope for switch statement (#2513) (Dunqing)
Refactor
1391e4asemantic/jsdoc: Misc fixes for JSDoc related things (#2531) (Yuji Sugiura)-c56b6cbReplace InlinableString with CompactString forAtom(#2517) (Boshen)
[0.8.0] - 2024-02-26
Features
f5aadc7linter: Handle cjs `module.exports = {} as default export (#2493) (Boshen)f64c7e0linter: Handle cjsmodule.exports.foo = barandexports.foo = bar(#2492) (Boshen)d0a9c46linter: Handle top-levelrequirefor import plugin (#2491) (Boshen)197fa16semantic: Add check for duplicate class elements in checker (#2455) (Dunqing)950298dsemantic: Add static property, ElementKind::Getter, ElementKind::Setter in ClassTable (#2445) (Dunqing)
Bug Fixes
fba66dclinter: Improve import/no-named-as-default (#2494) (Boshen)4c2e2bdsemantic: Add export symbol flag to identifiers in export declarations (#2508) (Dunqing)04f4621semantic: Should return nearest JSDoc (#2490) (Yuji Sugiura)bc22ae5semantic: Refactor jsdoc finding (#2437) (Yuji Sugiura)5bd2ce6semantic: Incorrect reference flag for MemberExpression assign (#2433) (Dunqing)
Performance
8110288semantic: Reduce visit parent nodes in resolve_reference_usages (#2419) (Dunqing)
Refactor
d08abc6ast: S/NumberLiteral/NumericLiteral to align with estree (Boshen)e6b391aast: S/ArrowExpression/ArrowFunctionExpression to align estree (Boshen)7c2d868semantic: Delete the redundant code in binder (#2423) (Dunqing)c6767fasemantic: Reduce allocation in resolve_references_for_current_scope (#2414) (Dunqing)28ba28fsemantic: Check directive by current_scope_id (#2411) (Dunqing)-a2c173dRemovepanic!from examples (#2454) (Boshen)
[0.7.0] - 2024-02-09
Features
d571839ast: Enter AstKind::ExportDefaultDeclaration, AstKind::ExportNamedDeclaration and AstKind::ExportAllDeclaration (#2317) (Dunqing)40e9541semantic: Add export binding for ExportDefaultDeclarations in module record (#2329) (Dunqing)a3570d4semantic: Report parameter related errors for setter/getter (#2316) (Dunqing)9ca13d0semantic: Report type parameter list cannot be empty (#2315) (Dunqing)f53c54csemantic: Report unexpected type annotation in ArrayPattern (#2309) (Dunqing)f3035f1semantic: Apply ImportSpecifier's binder and remove ModuleDeclaration's binder (#2307) (Dunqing)6002560span: Fix memory leak by implementing inlineable string for oxc_allocator (#2294) (Boshen)
Bug Fixes
540b2a0semantic: Remove unnecessary SymbolFlags::Import (#2311) (Dunqing)cb17a83semantic: Remove ignore cases (#2300) (Dunqing)
[0.6.0] - 2024-02-03
Features
f673e41ast: Remove serde skip for symbol_id and reference_id (#2220) (Dunqing)cd5026cast: TypeScript definition for wasm target (#2158) (Nicholas Roberts)721a869linter: Improve no_redeclare rule implementation (#2084) (Dunqing)2768195oxc_semantic: Improve sample visualization (#2251) (Tzvi Melamed)28daf83semantic: Report no class name error (#2273) (Boshen)da2ffdfsemantic: Check parameters property (#2264) (Dunqing)d71175esemantic: Check optional parameters (#2263) (Dunqing)8d99a15semantic: Report error on optional variable declaration in TypeScript (#2261) (Boshen)e561457semantic: Track cfg index per ast node (#2210) (Tzvi Melamed)8898377semantic: Cfg prototype (#2019) (Boshen)ead4e8dtransformer/typescript: Remove import if only have type reference (#2001) (Dunqing)
Bug Fixes
989ab88codegen: PrintDirectiveoriginal string (#2157) (underfin)f4674f3oxc_semantic: Handle short-circuiting operators in CFG (#2252) (Tzvi Melamed)73ccf8aoxc_semantic: Proper traversal of try statements (#2250) (Tzvi Melamed)972be83semantic: Fix incorrect semantic example (#2198) (Dunqing)122abd5semantic: Replace ClassStatickBlockAwait with ClassStaticBlockAwait (#2179) (Dunqing)24ac957semantic: Incorrect reference flag (#2057) (Dunqing)
Refactor
766ca63ast: Rename RestElement to BindingRestElement (#2116) (Dunqing)2924258semantic: Adding binder for ImportSpecifier replaces the ModuleDeclaration's binder (#2230) (Dunqing)c62495dsemantic: Get function by scope_id in set_function_node_flag (#2208) (Dunqing)f59e87fsemantic: Checking label in ContinueStatement based on LabelBuilder (#2202) (Dunqing)56adfb1semantic: Use LabelBuilder instead of UnusedLabeled (#2184) (Dunqing)fc1592bsemantic: Remove all #[dead_code[ from tester (Boshen)8bccdabsemantic: Add binder for FormalParameters and RestElement, replacing the binder for FormalParameters (#2114) (Dunqing)8e43eefsemantic: Improve declare symbol logic in FormalParameters (#2088) (Dunqing)-87b9978Move all miette usages tooxc_diagnostics(Boshen)
[0.5.0] - 2024-01-12
Features
f45a3cclinter: Support eslint/no-unused-private-class-members rule (#1820) (Dunqing)f1b433bplayground: Visualize symbol (#1886) (Dunqing)45a7985playground: Visualize scope (#1882) (Dunqing)3b4fe0esemantic: Allow reserved keyword defined in ts module block (#1907) (Dunqing)b0569bcsemantic: Add current_scope_flags function in SemanticBuilder (#1906) (Dunqing)b9bdf36semantic: Improve check super implementation, reduce access nodes (#1827) (Dunqing)f7b7f0asemantic: Support get node id by scope id (#1826) (Dunqing)ca04312semantic: Add ClassTable (#1793) (Dunqing)edc6fa4semantic: Add SymbolFlags::Function for FunctionDeclaration (#1713) (Dunqing)78b427btransform: Support es2015 new target (#1967) (underfin)
Bug Fixes
9c9d882semantic: Remove duplicate errors in ModuleDeclaration::ImportDeclaration (#1846) (Dunqing)
Performance
0080638linter/react: Find class node by symbols in get_parent_es6_component (#1657) (Dunqing)dae5f62semantic: Check duplicate parameters in Binder of FormalParameters (#1840) (Dunqing)a743d06semantic: Just need to find the AstKind::FormalParameter in is_in_formal_parameters (#1852) (Dunqing)0e0f258semantic: Reduce calls to span() (#1851) (Dunqing)
Refactor
6c5b22fsemantic: Improve ClassTable implmention and merge properties and methods to elements (#1902) (Dunqing)bfd5cd9semantic: Improve check function declaration implementation (#1854) (Dunqing)497a0b8semantic: Renameadd_node_idtoadd_current_node_id_to_current_scope(#1847) (Dunqing)d63c50asemantic: Improve check private identifier implementation (#1794) (Dunqing)da67fe1semantic: Remove unused methods fromAstNode(Boshen)
[0.4.0] - 2023-12-08
Features
446ba16ast: Add to_string function to VariableDelcartionKind (#1303) (Dunqing)0115314ast/semantic: Parse jsdoc onPropertyDefinition(#1517) (Shannon Rothe)5f31662prettier: Add the basics of comment printing (#1313) (Boshen)c6ad660semantic: Support scope descendents starting from a certain scope. (#1629) (Miles Johnson)
Refactor
be043c3ast: VariableDeclarationKind::to_string -> as_str (#1321) (Boshen)1a576f6rust: Move to workspace lint table (#1444) (Boshen)
[0.3.0] - 2023-11-06
Features
2453954linter: Add no-redeclare rule. (#683) (cin)ef8aaa7minifier: Re-enable mangler (#972) (Boshen)55b2f03minifier: Partially re-enable minifier (#963) (Boshen)a442fadsemantic: Bind function expression name (#1049) (Boshen)1661385semantic: Check non-simple lhs expression of assignment expression (#994) (Boshen)af1a76btransformer: Implement some of needs_explicit_esm for typescript (#1047) (Boshen)dfee853transformer: Add utils to make logical_assignment_operators pass (#1017) (Boshen)678db1dtransformer: ES2020 Nullish Coalescing Operator (#1004) (Boshen)0f72066transformer: Finish 2016 exponentiation operator (#996) (Boshen)203cf37transformer/react: Read comment pragma @jsxRuntime classic / automatic (#1133) (Boshen)
Bug Fixes
0f02d37semantic: Make ExportDeclaration span accurate (#928) (Wenzhe Wang)
Refactor
903854dast: Fix the lifetime annotations around Vist and VisitMut (#973) (Boshen)69150d8transformer: Move Semantic into Transformer (#1130) (Boshen)
Testing
b4b39b8semantic: Add scoping test cases (#954) (Don Isaac)
[0.2.0] - 2023-09-14
Features
e7c2313ast: AddSymbolIdandReferenceId(#755) (Yunfei He)4e5f63alinter: Implement re-exports (#877) (Boshen)ee54575linter: Add runner for import-plugin (#858) (Boshen)c5ff534semantic: Addnode_idtoReference(#689) (Makoto Tateno)75d928asyntax: Add loaded_modules to ModuleRecord (Boshen)
Bug Fixes
2f48bdfparser,semantic: Make semantic ownTrivias(#711) (Boshen)815db57semantic: Symbol of identifier of top level function declaration should be in the root scope (#843) (Yunfei He)d3accc1semantic: Nested references (#661) (Don Isaac)
Performance
babbc47parser: Lazily build trivia map instead of build in-place (#903) (Boshen)
Testing
38fb4c2semantic: Test harness (#679) (Don Isaac)