## [0.25.0] - 2024-08-23 -78f135dast: [**BREAKING**] Remove `ReferenceFlag` from `IdentifierReference` (#5077) (Boshen) -f2b8d82semantic: [**BREAKING**] `ScopeTree::get_child_ids` + `get_child_ids_mut` return value not `Option` (#5058) (overlookmotel) -5f4c9absemantic: [**BREAKING**] Rename `SymbolTable::get_flag` to `get_flags` (#5030) (overlookmotel) -58bf215semantic: [**BREAKING**] Rename `Reference::flag` and `flag_mut` methods to plural (#5025) (overlookmotel) -c4c08a7ast: [**BREAKING**] Rename `IdentifierReference::reference_flags` field (#5024) (overlookmotel) -d262a58syntax: [**BREAKING**] Rename `ReferenceFlag` to `ReferenceFlags` (#5023) (overlookmotel) -c30e2e9semantic: [**BREAKING**] `Reference::flag` method return `ReferenceFlag` (#5019) (overlookmotel) -ce4d469codegen: [**BREAKING**] Remove const generic `MINIFY` (#5001) (Boshen) -b2ff2dfparser: [**BREAKING**] Remove builder pattern from `Parser` struct (#5000) (Boshen) -f88970bast: [**BREAKING**] Change order of fields in CallExpression (#4859) (Burlin) ### Features -714373dast: `inherit_variants!` macro add `into_*` methods (#5005) (overlookmotel) -6800e69oxc: Add `Compiler` and `CompilerInterface` (#4954) (Boshen) -2b21be3oxc_minifier: Define plugin with postfix wildcard (#4979) (IWANABETHATGUY) -afe728aparser: Parse regular expression with regex parser (#4998) (Boshen) -4b49cf8transformer: Always pass in symbols and scopes (#5087) (Boshen) -f51d3f9transformer/nullish-coalescing-operator: Handles nullish coalescing expression in the FormalParamter (#4975) (Dunqing) -f794870transformer/nullish-coalescing-operator: Generate the correct binding name (#4974) (Dunqing) -72ff2c6transformer/nullish-coalescing-operator: Add comments in top of file (#4972) (Dunqing) -6b885fetraverse: Expose `generate_uid_based_on_node` and `generate_uid_in_current_scope_based_on_node` from `TraverseCtx` (#4965) (Dunqing) ### Bug Fixes -7f3129east: Correct code comment (#5004) (overlookmotel) -1bd9365coverage: Correctly check semantic data after transform (#5035) (Boshen) -185eb20isolated_declarations: Namespaces that are default exported should be considered for expando functions (#4935) (michaelm) -2a5e15dnpm: `libc` field should not be `null` (Boshen) -efbdcedparser: Only show flow error if it's a flow file (#5069) (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) -6ffbd78transformer: Remove an `AstBuilder::copy` call from TS namespace transform (#4987) (overlookmotel) -a8dfddatransformer: Remove an `AstBuilder::copy` call from TS module transform (#4986) (overlookmotel) -1467eb3transformer: Remove an `AstBuilder::copy` call from TS enum transform (#4985) (overlookmotel) -1365febtransformer: Remove an `AstBuilder::copy` call for TS `AssignmentTarget` transform (#4984) (overlookmotel) -edacf93transformer: Remove an `AstBuilder::copy` call (#4983) (overlookmotel) -3b35332transformer/logical-assignment-operators: Fix semantic errors (#5047) (Dunqing)-b7db235Comments gen regression (#5003) (IWANABETHATGUY) ### Documentation -178d1bdtransformer: Add documentation for exponentiation-operator plugin (#5084) (Dunqing) -d50eb72transformer: Add documentation for `optional-catch-binding` plugin (#5064) (Dunqing) -4425b17transformer: Add documentation for `logical-assignment-operators` plugin (#5012) (Dunqing) -1bd5853transformer: Updated README re: order of methods (#4993) (overlookmotel) ### Refactor -a4247e9allocator: Move `Box` and `Vec` into separate files (#5034) (overlookmotel) -cca7440ast: Replace `AstBuilder::move_statement_vec` with `move_vec` (#4988) (overlookmotel) -4012260ast: `AstBuilder::move_identifier_reference` do not allocate empty string (#4977) (overlookmotel) -96422b6ast: Make AstBuilder non-exhaustive (#4925) (DonIsaac) -ca70cc7linter, mangler, parser, semantic, transformer, traverse, wasm: Rename various `flag` vars to `flags` (#5028) (overlookmotel) -0f64d10minifier: Remove duplicated helper `move_out_expression` (#5007) (IWANABETHATGUY) -cd9cf5eoxc: Remove `remove_whitespace` (Boshen) -b4407c4oxc,mangler: `oxc` crate add mangler; mangler use options API (Boshen) -9da6a21semantic: Rename transform checker output for reference symbol mismatches (#5091) (overlookmotel) -fb46eafsemantic: Add remap functions to transform checker (#5082) (overlookmotel) -a00bf18semantic: Add `IdMapping` to transform checker (#5079) (overlookmotel) -b14a302semantic: Transform checker: change symbol name mismatch error (#5075) (overlookmotel) -b8c6ce5semantic: Rename vars in transform checker (#5072) (overlookmotel) -7156fd2semantic: Transform checker `Pair` structure (#5053) (overlookmotel) -0ba6f50semantic: Simplify raising errors in transform checker (#5051) (overlookmotel) -ee7ac8bsemantic: Store all data in `PostTransformChecker` in transform checker (#5050) (overlookmotel) -4e1f4absemantic: Add `SemanticIds` to 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 from `flag` to `flags` (#5032) (overlookmotel) -83dfb14semantic: Rename vars from `flag` to `flags` (#5031) (overlookmotel) -3b7de18semantic: Rename `SemanticBuilder::current_reference_flags` field (#5027) (overlookmotel) -0bacdd8semantic: Rename `Reference::flag` field to `flags` (#5026) (overlookmotel) -896b92fsemantic: Correct typo in doc comment (#5009) (overlookmotel) -d677b8esemantic: Do not reserve space in `resolved_references` (#4962) (overlookmotel) -a7ef30dsemantic: `UnresolvedReferencesStack` contain only `ReferenceId` (#4960) (overlookmotel) -59d15c7semantic: `root_unresolved_references` contain only `ReferenceId` (#4959) (overlookmotel) -7706523span: Clarify `Atom` conversion methods lifetimes (#4978) (overlookmotel) -4fdf26dtransform_conformance: Add driver (#4969) (Boshen) -8d15e65transformer: Use `into_member_expression` (#5006) (overlookmotel) -4796ecetransformer: TS annotations transform use `move_expression` (#4982) (overlookmotel) -a9fcf29transformer/es2016: Move all entry points to implementation of Traverse trait (#5085) (Dunqing) -deda6actransformer/es2019: Move all entry points to implementation of Traverse trait (#5065) (Dunqing) -9df2f80transformer/es2020: Move all entry points to implementation of Traverse trait (#4973) (Dunqing) -3f9433ctransformer/es2021: Move all entry points to implementation of Traverse trait (#5013) (Dunqing) -c60a50dtransformer/exponentiation-operator: Use built-in `ctx.clone_identifier_reference` (#5086) (Dunqing) -bcc8da9transformer/logical-assignment-operator: Use `ctx.clone_identifier_reference` (#5014) (Dunqing) -38d4434transformer/nullish-coalescing-operator: Move internal methods to bottom of the file (#4996) (Dunqing) ### Testing -0df1a94semantic: Add more symbol and reference checks to `PostTransformChecker` (Boshen) Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
24 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.25.0] - 2024-08-23
-
b2ff2dfparser: [BREAKING] Remove builder pattern fromParserstruct (#5000) (Boshen) -
f88970bast: [BREAKING] Change order of fields in CallExpression (#4859) (Burlin)
Features
6800e69oxc: AddCompilerandCompilerInterface(#4954) (Boshen)afe728aparser: Parse regular expression with regex parser (#4998) (Boshen)
Bug Fixes
efbdcedparser: Only show flow error if it's a flow file (#5069) (Boshen)
Refactor
ca70cc7linter, mangler, parser, semantic, transformer, traverse, wasm: Rename variousflagvars toflags(#5028) (overlookmotel)
[0.24.3] - 2024-08-18
Bug Fixes
21f5762codegen: Minify large numbers (#4889) (Boshen)1bdde2cparser: Detect @flow in `/** @flow */ comment (#4861) (Boshen)
[0.24.2] - 2024-08-12
Documentation
559baa5parser: Clean up doc regarding performance; remove conformance (Boshen)
[0.24.0] - 2024-08-08
Bug Fixes
a40a217parser: Parseassertkeyword inTSImportAttributes(#4610) (Boshen)
Refactor
d25dea7parser: Useast_builderin more places. (#4612) (rzvxa)
[0.23.1] - 2024-08-06
Bug Fixes
a40a217parser: Parseassertkeyword inTSImportAttributes(#4610) (Boshen)
Refactor
d25dea7parser: Useast_builderin more places. (#4612) (rzvxa)
[0.23.0] - 2024-08-01
Features
7446e98codegen: Align more esbuild implementations (#4510) (Boshen)35654e6codegen: Align operator precedence with esbuild (#4509) (Boshen)
Bug Fixes
d5c4b19parser: Fix enum member parsing (#4543) (DonIsaac)
Performance
55a8763parser: Faster decoding unicode escapes in identifiers (#4579) (overlookmotel)ae1d38fparser: Fast path for ASCII when checking char after numeric literal (#4577) (overlookmotel)56ae615parser: Make not at EOF the hot path inSourcemethods (#4576) (overlookmotel)25679e6parser: OptimizeLexer::hex_digit(#4572) (overlookmotel)bb33bccparser: Speed up lexing non-decimal numbers (#4571) (overlookmotel)ab8509eparser: Use-notsaturating_sub(#4561) (overlookmotel)c9c38a1parser: Support peeking over bytes (#4304) (lucab)0870ee1parser: Get and check lookahead token (#4534) (lucab)
Refactor
e68ed62parser: Convert lexer byte handler for|to a single match (#4575) (overlookmotel)bba824bparser: ConvertLexer::read_minusto a single match (#4574) (overlookmotel)ef5418aparser: ConvertLexer::read_left_angleto a single match (#4573) (overlookmotel)9e5be78parser: AddLexer::consume_2_chars(#4569) (overlookmotel)649913eparser: Extractu8not&u8when iterating over bytes (#4568) (overlookmotel)59f00c0parser: Rename function (#4566) (overlookmotel)8e3e910parser: Rename vars (#4565) (overlookmotel)0c0601fparser: Rename function (#4564) (overlookmotel)0acc4a7parser: Fetch 2 bytes in?byte handler (#4563) (overlookmotel)565eccfparser: Shorten lexer code (#4562) (overlookmotel)148bdb5parser: Adjust function inlining (#4530) (overlookmotel)
[0.22.1] - 2024-07-27
Performance
868fc87parser: Optimize conditional advance on ASCII values (#4298) (lucab)
[0.22.0] - 2024-07-23
f68b659ast: [BREAKING] Reorder fields ofArrowFunctionExpression(#4364) (Dunqing)
Bug Fixes
aece1dfast: VisitProgramshashbangfield first (#4368) (overlookmotel)
Refactor
a2eabe1parser: Use error codes for ts diagnostics (#4335) (DonIsaac)
[0.21.0] - 2024-07-18
Features
20cdb1fsemantic: Align class scope with typescript (#4195) (Dunqing)
Bug Fixes
9a87e41parser: Avoid crashing on invalid const modifier (#4267) (lucab)641a78bparser: Fix tests for number parsing (#4254) (overlookmotel)
Performance
a8dc4f3parser: Speed up parsing numbers with_separators (#4259) (overlookmotel)b94540dparser: Speed up parsing octal literals (#4258) (overlookmotel)a7b328cparser: Faster parsing decimal numbers (#4257) (overlookmotel)
Refactor
2c7bb9fast: Pass finalScopeFlagsintovisit_function(#4283) (overlookmotel)ace4f1fsemantic: Update the order ofvisit_functionandVisitfields in the builder to be consistent (#4248) (Dunqing)
[0.20.0] - 2024-07-11
5731e39ast: [BREAKING] Store span details inside comment struct (#4132) (Luca Bruno)
Bug Fixes
48947a2ast: Putdecoratorsbefore everything else. (#4143) (rzvxa)4a656c3lexer: Incorrect lexing of large hex/octal/binary literals (#4072) (DonIsaac)28eeee0parser: Fix asi error diagnostic pointing at invalid text causing crash (#4163) (Boshen)
Refactor
[0.19.0] - 2024-07-09
b936162ast/ast_builder: [BREAKING] Shorter allocator utility method names. (#4122) (rzvxa)
Refactor
[0.18.0] - 2024-07-09
d347aedast: [BREAKING] Generateast_builder.rs. (#3890) (rzvxa)
Features
3a0f2aaparser: Check for illegal modifiers in modules and namespaces (#4126) (DonIsaac)
[0.17.1] - 2024-07-06
Performance
7fe2a2fparser: Do not copy comments (#4067) (overlookmotel)
[0.17.0] - 2024-07-05
e32b4bcast: [BREAKING] Store trivia comments in a sorted slice (#4045) (Luca Bruno)
Refactor
243c9f3parser: Use function instead of trait to parse list with rest element (#4028) (Boshen)1dacb1fparser: Use function instead of trait to parse delimited lists (#4014) (Boshen)
[0.16.3] - 2024-07-02
Refactor
d0eac46parser: Use function instead of trait to parse normal lists (#4003) (Boshen)
[0.16.2] - 2024-06-30
Features
dc6d45east,codegen: AddTSParenthesizedTypeand print type parentheses correctly (#3979) (Boshen)63f36daparser: Parse modifiers withparse_modifiers(take 2) (#3977) (DonIsaac)
[0.16.1] - 2024-06-29
Features
7b38bdeparser: Parse modifiers withparse_modifiers(#3948) (DonIsaac)
Refactor
2705df9linter: Improve diagnostic labeling (#3960) (DonIsaac)
[0.16.0] - 2024-06-26
-
6796891ast: [BREAKING] Rename all instances ofBigintLiteraltoBigIntLiteral. (#3898) (rzvxa) -
1f85f1aast: [BREAKING] Revert addingspanfield to theBindingPatterntype. (#3899) (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) -
cfcef24ast: [BREAKING] Adddirectivesfield toTSModuleBlock(#3830) (Boshen) -
4456034ast: [BREAKING] AddIdentifierReferencetoExportSpecifier(#3820) (Boshen)
Features
5847e16ast,parser: Addintrinsickeyword (#3767) (Boshen)dd540c8minifier: Add skeleton for ReplaceGlobalDefines ast pass (#3803) (Boshen)
Bug Fixes
275349aparser: Parse function type parameter nameaccessor(#3926) (Boshen)ef82c78parser: Trailing comma is not allowed in ParenthesizedExpression (#3885) (Dunqing)13754cbparser: Change diagnostic to "modifier cannot be used here" (#3853) (Boshen)
Performance
4bf405dparser: Add a few more inline hints to cursor functions (#3894) (Boshen)-4f7ff7eDo not pass&Atomto functions (#3818) (overlookmotel)
Refactor
363d3d5ast: Add span field to theBindingPatterntype. (#3855) (rzvxa)a471e62parser: Clean uptry_parse(#3925) (Boshen)3db2553parser: Improve parsing of TypeScript type arguments (#3923) (Boshen)4cf3c76parser: Improve parsing of TypeScript types (#3903) (Boshen)187f078parser: Improve parsing ofparse_function_or_constructor_type(#3892) (Boshen)97d59fcparser: Move code around for parsingModifiers(#3849) (Boshen)-d6437feClean up some usages ofwith_labels(#3854) (Boshen)
[0.15.0] - 2024-06-18
Features
d65c652parser: Display jsx mismatch error, e.g.<Foo></Bar>(#3696) (Boshen)
Bug Fixes
da1e2d0codegen: Improve typescript codegen (#3708) (Boshen)
[0.13.2] - 2024-06-03
Bug Fixes
350cd91parser: Should parser error when function declaration has no name (#3461) (Dunqing)cf41513parser: Parse const extends in arrow functions correctly (#3450) (Dunqing)6078a6dparser: Fix lexer error while parsing parenthesized arrow expressions (#3400) (Boshen)
[0.13.1] - 2024-05-22
Performance
27030b9lexer: Use bitshifting when parsing known integers (#3296) (Don Isaac)508dae6lexer: Dedupe numeric separator check (#3283) (Don Isaac)fdb31c3parser: More efficient number parsing (#3342) (overlookmotel)46cb5f9parser: UseFxHashSetfornot_parenthesized_arrow(#3344) (Boshen)
Refactor
6b3d019paresr: Move some structs to js module (#3341) (Boshen)89a1f97parser: Improve expression parsing (#3352) (Boshen)e818fbaparser: Improveparse_simple_arrow_function_expression(#3349) (Boshen)1e802c7parser: Clean upParserState(#3345) (Boshen)0742081parser: Improve is_parenthesized_arrow_function_expression (#3343) (Boshen)9ced605parser: Start porting arrow function parsing from tsc (#3340) (Boshen)
[0.13.0] - 2024-05-14
Features
eefb66fast: Add type to AccessorProperty to support TSAbractAccessorProperty (#3256) (Dunqing)
Bug Fixes
c4ccf9fparser: ParseDecoratorCallExpressionwhenArgumentscontainsMemberExpression(#3265) (Boshen)0ba7778parser: Correctly parse cls.fn = x (#3208) (Dunqing)
Performance
7338364lexer: Improve comment building performance by using a vec instead of btreemap (#3186) (Boshen)
Refactor
7e1fe36ast: Squash nested enums (#3115) (overlookmotel)0185eb2ast: Remove duplicateTSNamedTupleMemberrepresentation (#3101) (overlookmotel)942b2baast: Add array elementElisiontype (#3074) (overlookmotel)312f74bdiagnostics: S/OxcDiagnostic::new/OxcDiagnostic::error (Boshen)b27a905parser: SimplifyContextpassing (#3266) (Boshen)2064ae9parser,diagnostic: One diagnostic struct to eliminate monomorphization of generic types (#3214) (Boshen)a8af5desyntax: Move number related functions to number module (#3130) (Boshen)-1b4ebb3Run fmt (Boshen)
[0.12.5] - 2024-04-22
Features
92d709bast: AddCatchParameternode (#3049) (Boshen)
Bug Fixes
d44301cparser: Fix comment typos (#3036) (overlookmotel)
Performance
6c82961ast: Box typescript enum variants. (#3065) (Ali Rezvani)48e2088ast: Box enum variants (#3058) (overlookmotel)383b449ast: BoxImportDeclarationSpecifierenum variants (#3061) (overlookmotel)2804e7dast: Reduce indirection in AST types (#3051) (overlookmotel)
[0.12.3] - 2024-04-11
Refactor
5974819ast: Clean up the ts type visit methods (Boshen)
[0.11.0] - 2024-03-30
Bug Fixes
b76b02dparser: Add support for empty module declaration (#2834) (Ali Rezvani)798a1fdparser: Fix failed to parseJSXChildafterJSXEmptyExpression(#2726) (Boshen)
Performance
e793063parser: Faster lexing JSX identifiers (#2557) (overlookmotel)
Refactor
fc38783ast: Add walk_mut functions (#2776) (Ali Rezvani)198eea0ast: Add walk functions to Visit trait. (#2791) (Ali Rezvani)
[0.10.0] - 2024-03-14
-
c3477deast: [BREAKING] Rename BigintLiteral to BigIntLiteral (#2659) (Arnaud Barré) -
7768123parser: [BREAKING] Drop TSImportEqualsDeclaration.is_export (#2654) (Arnaud Barré)
Features
697b6b7Merge featuresserdeandwasmtoserialize(#2716) (Boshen)-265b2fbMiette v7 (#2465) (Boshen)
Bug Fixes
6c6adb4ast: Parse rest parameter with the correct optional and type annotation syntax (#2686) (Boshen)2a235d3ast: Parsewith_clausein re-export declaration (#2634) (magic-akari)86ee074parser: Remove all duplicated comments in trivia builder (#2689) (Boshen)cda9c93parser: Improve lexing of jsx identifier to fix duplicated comments after jsx name (#2687) (Boshen)b378e7eparser: Fix span for JSXEmptyExpression with comment (#2673) (Arnaud Barré)8226031parser: Fix span start for return type in function type (#2660) (Arnaud Barré)b453a07parser: Parse named rest element in type tuple (#2655) (Arnaud Barré)
Refactor
0f86333ast: RefactorTriviasAPI - have less noise around it (#2692) (Boshen)240ff19parser: Improve parsing ofBindingPatternin TypeScript (#2624) (Boshen)-0646bf3RenameCompactStringtoCompactStr(#2619) (overlookmotel)
[0.9.0] - 2024-03-05
f66059east: [BREAKING] Align TSImportType with ESTree (#2578) (Arnaud Barré)
Features
20c7bf7ast: AddAssignmentTargetRest(#2601) (Boshen)3efbbb2ast: Add "abstract" type toMethodDefinitionandPropertyDefinition(#2536) (Boshen)9479865napi/parser: ExposepreserveParansoption (#2582) (Boshen)e2d2ce3parser: Parse decorators properly (#2603) (Boshen)
Bug Fixes
637cd1dast: Support TSIndexSignature.readonly (#2579) (Arnaud Barré)258b9b1ast: Support FormalParameter.override (#2577) (Arnaud Barré)78f30bcast: Change TSMappedType.type_annotation from TSTypeAnnotation to TSType (#2571) (Arnaud Barré)97aa9cfparser: Fix span end for TSEmptyBodyFunctionExpression (#2606) (Arnaud Barré)9cc960eparser: Fix duplicated comments during parser rewind (#2600) (Boshen)24d46bcparser: Fix span start for TSModuleDeclaration (#2593) (Arnaud Barré)ac520d0parser: Fix span start for TSExportAssignment (#2594) (Arnaud Barré)d9cc429parser: Parse empty method declaration as TSEmptyBodyFunctionExpression (#2574) (Arnaud Barré)32028ebparser: TSConditionalType span start (#2570) (Arnaud Barré)6700810parser: Set span end for TSEnumDeclaration (#2573) (Arnaud Barré)8a81851parser: Don't parse null as a literal type (#2572) (Arnaud Barré)
Performance
bf42158parser: Inlineend_spanandparse_identifier_kindwhich are on the hot path (#2612) (Boshen)78f8c2cparser: Lex JSXText with memchr (#2558) (overlookmotel)5a13714parser: Faster lexing template strings (#2541) (overlookmotel)24ded3cparser: Lex JSX strings withmemchr(#2528) (overlookmotel)
Refactor
dd31c64parser:byte_searchmacro evaluate to matched byte (#2555) (overlookmotel)c579620parser: Small efficiencies inbyte_searchmacro usage (#2554) (overlookmotel)18cff6aparser: Remove start params forbyte_searchmacro arms (#2553) (overlookmotel)34ecdd5parser: Simplifybyte_searchmacro (#2552) (overlookmotel)ddccaa1parser: Remove unsafe code in lexer (#2549) (overlookmotel)9d7ea6bparser: Single function for all string slicing (#2540) (overlookmotel)0ddfc85parser: Remove unsafe code (#2527) (overlookmotel)
[0.8.0] - 2024-02-26
Features
6b3b260Codegen: Improve codegen (#2460) (Andrew McClenaghan)70295a5ast: Update arrow_expression to arrow_function_expression (#2496) (Dunqing)7a796c4ast: AddTSModuleDeclaration.kind(#2487) (Boshen)60db720parser: Parse import attributes in TSImportType (#2436) (Dunqing)ef336cbparser: Recover fromasync x [newline] => x(#2375) (Boshen)197fa16semantic: Add check for duplicate class elements in checker (#2455) (Dunqing)
Bug Fixes
5212f7bparser: Fix missing end span fromTSTypeAliasDeclaration(#2485) (Boshen)73e116eparser: Incorrect parsing of class accessor property name (#2386) (Dunqing)
Performance
996a9d2parser:byte_searchmacro always unroll main loop (#2439) (overlookmotel)383f5b3parser: Consume multi-line comments faster (#2377) (overlookmotel)c4fa738parser: Consume single-line comments faster (#2374) (overlookmotel)0be8397parser: Optimize lexing strings (#2366) (overlookmotel)
Refactor
9087f71ast: S/TSThisKeyword/TSThisType to align with estree (Boshen)d08abc6ast: S/NumberLiteral/NumericLiteral to align with estree (Boshen)3cbe786ast: Update TSImportType parameter to argument (#2429) (Dunqing)a78303dparser:continue_ifinbyte_searchmacro not unsafe (#2440) (overlookmotel)a5a3c69parser: Correct comment (#2441) (overlookmotel)cc2ddbeparser: Catch all illegal UTF-8 bytes (#2415) (overlookmotel)b29719dparser: Add methods toSource+SourcePosition(#2373) (overlookmotel)79ae9a9parser: Extendbyte_searchmacro (#2372) (overlookmotel)-a2c173dRemovepanic!from examples (#2454) (Boshen)
[0.7.0] - 2024-02-09
Features
a3570d4semantic: Report parameter related errors for setter/getter (#2316) (Dunqing)
Bug Fixes
2f6cf73parser: Remove erroneous debug assertion (#2356) (overlookmotel)
Performance
c0d1d6bparser: Lex strings as bytes (#2357) (overlookmotel)8376f15parser: Eat whitespace after line break (#2353) (overlookmotel)d3a59f2parser: Lex identifiers as bytes not chars (#2352) (overlookmotel)
Refactor
1822cfeast: Fix BigInt memory leak by removing it (#2293) (Boshen)6910e4fparser: Macro for ASCII identifier byte handlers (#2351) (overlookmotel)6f597b1parser: All pointer manipulation throughSourcePosition(#2350) (overlookmotel)185b3dbparser: Fix outdated comment (#2344) (overlookmotel)f347016parser: MakeSource::set_positionsafe (#2341) (overlookmotel)0bdecb5parser: Wrapper type for parser (#2339) (overlookmotel)cdef41dparser: Lexer replaceCharswithSource(#2288) (overlookmotel)9811c3aparser: Name byte handler functions (#2301) (overlookmotel)
[0.6.0] - 2024-02-03
Features
2578bb3ast: Remove generator property from ArrowFunction (#2260) (Dunqing)165f948ast: Remove expression property from Function (#2247) (Dunqing)36c718etasks: Benchmarks for lexer (#2101) (overlookmotel)
Bug Fixes
ea8cc98ast: AcessorProperty is missing decorators (#2176) (Dunqing)2beacd3lexer: Correct the span for irregular whitespaces (#2245) (Boshen)e123be0parser: Correct MAX_LEN for 32-bit systems (#2204) (overlookmotel)2f5afffparser: Fix crash on TSTemplateLiteralType in function return position (#2089) (Boshen)712e99cparser: Restore regex flag parsing (#2007) (overlookmotel)
Performance
81e33a3parser: Faster offset calculation (#2215) (overlookmotel)20679d1parser: PadTokento 16 bytes (#2211) (overlookmotel)66a7a68parser: Lexer byte handlers consume ASCII chars faster (#2046) (overlookmotel)60a927dparser: Lexer match byte not char (#2025) (overlookmotel)1886a5bparser: ReduceTokensize from 16 to 12 bytes (#2010) (Boshen)
Refactor
766ca63ast: Rename RestElement to BindingRestElement (#2116) (Dunqing)622a2c3lexer: Don't uselexer.current.charsdirectly (#2237) (overlookmotel)d0d7082parser: Consume chars when parsing surrogate pair escape (#2243) (overlookmotel)5279e89parser: Byte handler for illegal bytes (#2229) (overlookmotel)3d79d77parser: Split lexer into multiple files (#2228) (overlookmotel)51ac392parser: MarkByteHandlers unsafe (#2212) (overlookmotel)872d751parser: Re-order match branches (#2209) (overlookmotel)71898ffparser: Move source length check into lexer (#2206) (overlookmotel)bc7ea0bparser: Makeis_identifiermethods consistent (overlookmotel)3f2b48fparser: Remove useless string builder from jsx text lexer (#2096) (Boshen)0e32618parser: Combine token kinds for skipped tokens (#2072) (overlookmotel)8d5f5b8parser: Macro for ASCII byte handlers (#2066) (overlookmotel)408acb9parser: Lexer handle unicode without branch (#2039) (overlookmotel)b4d76f0parser: Remove noop code (#2028) (overlookmotel)6996948parser: Remove extraneous code from regex parsing (#2008) (overlookmotel)
[0.5.0] - 2024-01-12
Features
c1cfd17linter: No-irregular-whitespace rule (#1835) (Deivid Almeida)
Bug Fixes
b50c5ecparser: Unexpected ts type annotation in get/set (#1942) (Dunqing)eb2966cparser: Fix incorrectly identified directives (#1885) (overlookmotel)c3090c2parser: Terminate parsing if an EmptyParenthesizedExpression error occurs (#1874) (Dunqing)62bc8c5parser: Error on source larger than 4 GiB (#1860) (overlookmotel)2b4d1bfparser: Await in jsx expression (Boshen)19e77b0parser: False postive for "Missing initializer in const declaration" in declare + namespace (#1724) (Boshen)
Refactor
a2858edast: IntroduceThisParameter(#1728) (magic-akari)aa91fdeparser: Only allocate for escaped template strings (#2005) (Boshen)38f86b0parser: Remove string builder from number parsing (#2002) (Boshen)c731685parser: Reduce work parsing regexps (#1999) (overlookmotel)4706765parser: ReduceTokensize from 32 to 16 bytes (#1962) (Boshen)6e0bd52parser: Remove TokenValue::Number from Token (#1945) (Boshen)08438e0parser: Remove TokenValue::RegExp fromToken(#1926) (Boshen)7eb2573parser: Parse BigInt lazily (#1924) (Boshen)5b2696bparser: Reportthisparameter error (#1788) (magic-akari)
[0.4.0] - 2023-12-08
Features
9ff0ffcast: Implement new proposal-import-attributes (#1476) (magic-akari)07b0109parser: Addpreserve_parensoption (default: true) (#1474) (Boshen)1554f7cparsr: Parselet.a = 1with error recovery (#1587) (Boshen)567c6edprettier: Print directives (#1497) (Boshen)0218ae8prettier: Print leading comments with newlines (#1434) (Boshen)
Bug Fixes
a7e0706parser: Correctimport_kindofTSImportEqualsDeclaration(#1449) (magic-akari)4453529parser: Fix type import (#1291) (magic-akari)9c0aafcparser: Disallow ReservedWord in NamedExports (#1230) (magic-akari)8afb81aparser: ASI of async class member (#1214) (magic-akari)
Refactor
9842be4parser: Remove duplicated code (Boshen)1a576f6rust: Move to workspace lint table (#1444) (Boshen)
[0.3.0] - 2023-11-06
Features
854b55acodegen: Json strings proposal (#1039) (Boshen)55b2f03minifier: Partially re-enable minifier (#963) (Boshen)5b1e1e5parser: TypeScript 5.2 (#811) (Cameron)af1a76btransformer: Implement some of needs_explicit_esm for typescript (#1047) (Boshen)
Bug Fixes
6295f9cast: Jsx attribute value and text child should be jsx string (#1089) (Boshen)a455c81linter: Revert changes to JSX attribute strings (#1101) (Boshen)-266253cTs parsing error (#940) (IWANABETHATGUY)
Refactor
4787220ast: Clean up some methods (Boshen)70189f9ast: Change the arguments order for somenewfunctions (Boshen)db5417fclippy: Allow clippy::too_many_lines (Boshen)
[0.2.0] - 2023-09-14
Features
e7c2313ast: AddSymbolIdandReferenceId(#755) (Yunfei He)
Bug Fixes
7c8e6abparser: Parse [+In] in object binding initializer (#874) (Boshen)2f48bdfparser,semantic: Make semantic ownTrivias(#711) (Boshen)
Performance
f447cf3lexer: Only check the first lower case formatch_keyword(#913) (Boshen)7962e81lexer: Remove an extra branch fromidentifier_name_handler(#912) (Boshen)d25355clexer: Reduce an extra branch from peek (#841) (Boshen)a272c1flexer: Reduce checks on ident -> keyword (#783) (Boshen)c8a215elexer: Jump table (#779) (Boshen)babbc47parser: Lazily build trivia map instead of build in-place (#903) (Boshen)1793397parser: Remove an extra branch fromparse_member_expression_rhshot path (#896) (Boshen)