NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #3776 most downloaded on crates.io
A collection of JavaScript tools written in Rust.
Last release 3 days ago
05 Oct 2026
Ships on a steady schedule
a new release about every 2 weeks
Most releases are documented
notes for 42 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
4 years old
214 releases · first in 2023
One column per quarter.
4056560 ast/estree: [BREAKING] Option to return JS-only AST (#9520) (overlookmotel)
AstBuilder::*_with_pure etc methods (#9417) (Dunqing)Property have consistent field order (#9547) (overlookmotel)ExportNamedDeclaration always have attributes field (#9546) (overlookmotel)RegExpFlags to string (#9550) (overlookmotel)RegExpFlags::to_string return flags in alphabetical order (#9548) (overlookmotel)RegExpLiterals (#9551) (overlookmotel)098f652 codegen: [BREAKING] Add CommentAnnotation to avoid parsing comments again (#9506) (Boshen)
098f652 codegen: [BREAKING] Add CommentAnnotation to avoid parsing comments again (#9506) (Boshen)
a8d1d48 parser,codegen: [BREAKING] Parse and print#__NO_SIDE_EFFECTS__ (#9496) (Boshen)
a5cde10 visit_ast: [BREAKING] Add oxc_visit_ast crate (#9428) (Boshen)
abb15e0 ast: [BREAKING] Add pure field to Function, CallExpression, and NewExpression (#9207) (overlookmotel)
remove_unused_expression (#9465) (sapphi-red)typeAnnotation field (#9420) (overlookmotel)5c775ea ast/estree: Enable serialization without TS fields (#9285) (overlookmotel)
JSXOpeningFragment and JSXClosingFragment (#9342) (overlookmotel)CodeBuffer for JSON output (#9340) (overlookmotel)ExportDefaultDeclaration fields (#9348) (overlookmotel)ESTree impls for enums (#9275) (overlookmotel)216b33f ast/estree: [BREAKING] Replace serde with custom ESTree serializer (#9256) (overlookmotel)
216b33f ast/estree: [BREAKING] Replace serde with custom ESTree serializer (#9256) (overlookmotel)
611b029 ast: [BREAKING] Remove AstBuilder::copy (#9210) (Dunqing)
WithClause (#9250) (overlookmotel)get_identifier methods on JSX types (#9225) (overlookmotel)AstBuilder *_with_* methods list extra field names, not field types (#9206) (overlookmotel)TSLiteral::NullLiteral (replaced by TSNullKeyword) (#9147) (Boshen)BindingProperty (#9255) (overlookmotel)FormalParameters (#9195) (overlookmotel)21a9476 ast: [BREAKING] Remove TSLiteral::RegExpLiteral (#9056) (Dunqing)
21a9476 ast: [BREAKING] Remove TSLiteral::RegExpLiteral (#9056) (Dunqing)
9091387 ast: [BREAKING] Remove TSType::TSQualifiedName (#9051) (Dunqing)
CatchParameter do not include type and Span twice (#9125) (overlookmotel)FormalParameter do not include Span twice (#9124) (overlookmotel)AssignmentTargetPropertyIdentifier (#9092) (overlookmotel)BigIntLiteral and RegExpLiteral (#9091) (overlookmotel)#[estree(add_fields)] converters (#9116) (overlookmotel)d9189f1 ast: [BREAKING] Remove PrivateInExpression::operator field (#9041) (overlookmotel)
PrivateInExpression::operator field (#9041) (overlookmotel)AssignmentTargetPropertyIdentifier (#9006) (hi-ogawa)RegExpLiteral (#9043) (overlookmotel)PrivateInExpression as BinaryExpression (#9033) (hi-ogawa)ExportAllDeclaration attributes (#9032) (hi-ogawa)attributes (#9030) (hi-ogawa)RegExpLiteral flags (#9027) (overlookmotel)PrivateFieldExpression (#9025) (overlookmotel)ImportExpressions (#9024) (overlookmotel)BigInts (#9022) (overlookmotel)#[estree(append_to)] for TSModuleBlock (#9020) (overlookmotel)ts_type (#9037) (hi-ogawa)#[estree] attribute (#9016) (overlookmotel)bbb075d ast: [BREAKING] Name AstBuilder enum builders after variant name not type name (#8890) (overlookmotel)
bbb075d ast: [BREAKING] Name AstBuilder enum builders after variant name not type name (#8890) (overlookmotel)
b7ff7e1 span: [BREAKING] Export ContentEq trait from root of oxc_span crate (#8869) (overlookmotel)
#[visit(args)] attr (#8887) (overlookmotel)AssignmentTargetPropertyProperty (#9005) (hi-ogawa)ArrayAssignmentTarget (#8998) (hi-ogawa)ArrowFunctionExpression.body: FunctionBody | Expression (#8988) (Hiroshi Ogawa)directives in body (#8981) (hi-ogawa)ArrowFunctionExpression (#8980) (camchenry)CatchClause (#8975) (hi-ogawa)Property (#8974) (hi-ogawa)UnaryExpression (#8973) (hi-ogawa)Function (#8972) (hi-ogawa)Program.sourceType (#8919) (Hiroshi Ogawa)MemberExpression (#8921) (Hiroshi Ogawa)Serialize impls (#8899) (overlookmotel)Function.params like estree (#8772) (Hiroshi Ogawa)serde_json output is valid UTF8 string (#8928) (overlookmotel)r# prefix in doc comments for AstBuilder methods (#8873) (overlookmotel)NULL value for serializing null types (#8987) (camchenry)#[estree(ts_alias)] attr on enums and use it on RegExpPattern and RegExpFlags (#8953) (overlookmotel)impl Serialize for Elision (#8940) (overlookmotel)#[estree(ts_alias)] attr and use it on Elision (#8939) (overlookmotel)SourceType (#8936) (overlookmotel)#[estree(add_entry)] to #[estree(add_fields)] (#8926) (overlookmotel)Serialize impls flatten struct fields (#8904) (overlookmotel)via on struct fields implement From (#8898) (overlookmotel)#[estree(custom_ts_def)] attribute on type (#8897) (overlookmotel)Visit methods in order of type definitions (#8891) (overlookmotel)#[plural] attr (#8889) (overlookmotel)GetSpan (#8883) (overlookmotel)ContentEq on literal types (#8880) (overlookmotel)= syntax for #[scope] attrs (#8878) (overlookmotel)#[estree(skip)] to types (#8877) (overlookmotel)#[clone_in(default)] to types (#8876) (overlookmotel)RegExpFlags to oxc_ast_tools with alias type (#8868) (overlookmotel)oxc_ast_tools (#8844) (overlookmotel)#[ast] attr to semantic ID types (#8867) (overlookmotel)#[allow] with #[expect] (#8930) (overlookmotel)d553318 minifier: Complete MangleIf (#8810) (Boshen)
MangleIf (#8810) (Boshen)a != null ? a.b : undefined to a?.b (#8802) (sapphi-red)JSXExpression::EmptyExpression (#8816) (Dunqing)AstBuilder doc comments (#8774) (overlookmotel)Visit more understandable (#8825) (overlookmotel)AstKind in generated code for Visit trait (#8796) (overlookmotel)VisitMut (#8795) (overlookmotel)AstKind (#8794) (overlookmotel)Visit trait (#8793) (overlookmotel)#[estree(type)] attr on struct fields to #[estree(ts_type)] (#8767) (overlookmotel)#[estree(type)] attr on types to #[estree(rename)] (#8766) (overlookmotel)mangleStmts (#8770) (Boshen)b7f13e6 ast: Implement utf8 to utf16 span converter (#8687) (Boshen)
const with let for non-exported read-only variables (#8733) (sapphi-red)997859c ast: Align #[estree(via)] behavior (#8599) (sapphi-red)
#[estree(via)] behavior (#8599) (sapphi-red)Copy on Atom (#8596) (branchseer)Nothing published for this version
19d3677 ast: [BREAKING] Always return Array for ImportDeclaration.specifiers (#8560) (sapphi-red)
19d3677 ast: [BREAKING] Always return Array<ImportDeclarationSpecifier> for ImportDeclaration.specifiers (#8560) (sapphi-red)
7066d1c ast, span, syntax, regular_expression: [BREAKING] Remove ContentHash (#8512) (overlookmotel)
AstKind::ty method (#8521) (overlookmotel)Span same as usize (#8298) (overlookmotel)String type (#8568) (overlookmotel)#[estree(with)] to #[estree(via)] (#8564) (overlookmotel)ContentEq implementations (#8519) (overlookmotel)7eb6ccd ast: [BREAKING] Remove unused and not useful ContentHash (#8483) (Boshen)
ContentHash (#8483) (Boshen)7f69561 ast: [BREAKING] oxc_ast do not export BigUint (#8428) (overlookmotel)
7f69561 ast: [BREAKING] oxc_ast do not export BigUint (#8428) (overlookmotel)
d8b27af ast: [BREAKING] No unneccesary trailing underscores on AstBuilder method names (#8283) (overlookmotel)
5106088 ast: [BREAKING] Remove FromIn<Expression> for Statement (#8280) (overlookmotel)
raw field of NumericLiteral and StringLiteral in ContentEq (#8417) (Boshen)1==x => x==1 (#8240) (Boshen)if (x) if (y) z -> if (x && y) z (#8136) (Boshen)var into for loop initializer (#8119) (Boshen)ContentEq and ContentHash impls for literal types (#8426) (overlookmotel)AstBuilder enum builder methods use alloc_* methods (#8281) (overlookmotel)get_identifier_reference of TSType and TSTypeName (#8273) (Dunqing)ad2a620 ast: [BREAKING] Add missing AssignmentTargetProperty::computed (#8097) (Boshen)
AssignmentTargetProperty::computed (#8097) (Boshen)Expression::into_inner_expression (#8048) (overlookmotel)63a95e4 ast: Add AstBulder::move_property_key (#7998) (overlookmotel)
AstBulder::move_property_key (#7998) (overlookmotel)move_expression and move_statement produce dummy with no span (#7995) (overlookmotel)AstBuilder::move_* methods (#7994) (overlookmotel)8b7c5ae ast: Add AstBuilder::atom_from_cow (#7974) (overlookmotel)
AstBuilder::atom_from_cow (#7974) (overlookmotel)impl From<ArenaString> for Atom (#7973) (overlookmotel)Comment::is_jsdoc (#7905) (overlookmotel)Expression::is_* methods (#7853) (overlookmotel)Argument to ArrayExpressionElement conversion (#7848) (overlookmotel)cargo +nightly fmt (#7877) (Boshen)fb325dc ast: [BREAKING] span field must be the first element (#7821) (Boshen)
fb325dc ast: [BREAKING] span field must be the first element (#7821) (Boshen)
96a26d3 ast: [BREAKING] Rename is_strict methods to has_use_strict_directive (#7783) (overlookmotel)
visit_span to Visit and VisitMut (#7816) (overlookmotel)ArrowFunctionExpression::has_use_strict_directive method (#7784) (overlookmotel)Nothing published for this version
72eab6c parser: [BREAKING] Stage 3 import source and import defer (#7706) (Boshen)
72eab6c parser: [BREAKING] Stage 3 import source and import defer (#7706) (Boshen)
ebc80f6 ast: [BREAKING] Change 'raw' from &str to Option<Atom> (#7547) (Song Gao)
AstBuilder::use_strict_directive method (#7770) (overlookmotel)BigIntLiteral::raw prop in ESTree AST optional (#7663) (overlookmotel)raw: null in ESTree AST for generated NullLiterals (#7662) (overlookmotel)raw: null in ESTree AST for generated BooleanLiterals (#7661) (overlookmotel)AstBuilder extra methods use SPAN (#7769) (overlookmotel)Atom (#7657) (overlookmotel)b0e1c03 ast: [BREAKING] Add StringLiteral::raw field (#7393) (Boshen)
StringLiteral::raw field (#7393) (Boshen)eb70219 ast: Derive GetAddress on all enum types (#7472) (overlookmotel)
GetAddress on all enum types (#7472) (overlookmotel)f059b0e ast: [BREAKING] Add missing ChainExpression from TSNonNullExpression (#7377) (Boshen)
f059b0e ast: [BREAKING] Add missing ChainExpression from TSNonNullExpression (#7377) (Boshen)
41a0e60 ast: [BREAKING] Remove impl GetAddress for Function (#7343) (overlookmotel)
44375a5 ast: [BREAKING] Rename TSEnumMemberName enum variants (#7250) (overlookmotel)
Vec::from_array_in (#7331) (overlookmotel)raw (#7263) (ottomated)AstBuilder::vec1 use Vec::from_array_in (#7334) (overlookmotel)PropertyDefinition (#7287) (overlookmotel)StringLiteral (#7255) (overlookmotel)StringLiteral definition higher up (#7270) (overlookmotel)inherit_variants! from TSEnumMemberName (#7248) (overlookmotel)b11ed2c ast: [BREAKING] Remove useless ObjectProperty::init field (#7220) (Boshen)
b11ed2c ast: [BREAKING] Remove useless ObjectProperty::init field (#7220) (Boshen)
0e4adc1 ast: [BREAKING] Remove invalid expressions from TSEnumMemberName (#7219) (Boshen)
092de67 types: [BREAKING] Append rest field into elements for objects and arrays to align with estree (#7212) (ottomated)
d1d1874 ast: [BREAKING] Change comment.span to real position that contain // and /* (#7154) (Boshen)
843bce4 ast: [BREAKING] IdentifierReference::reference_id return ReferenceId (#7126) (overlookmotel)
scope_id etc (#7127) (overlookmotel)AstKind::as_* methods take self (#5546) (overlookmotel)scope_id etc methods (#7130) (overlookmotel)f543a8d ast: [BREAKING] Remove AstBuilder::*_from_* methods (#7073) (overlookmotel)
AstBuilder::*_from_* methods (#7073) (overlookmotel)oxc/no-map-spread (#6751) (DonIsaac)StaticMemberExpression.get_first_object (#6969) (tomoya yanagibashi)TSIndexSignature (#7016) (Boshen)Comment (#6921) (overlookmotel)StaticMemberExpression::get_first_object use loop instead of recursion (#7065) (overlookmotel).d.ts file (#6931) (overlookmotel)*_with_scope_id builder methods where possible (#7055) (overlookmotel)StatementInjector to insert statements (#6881) (Dunqing)1145341 ast_tools: Output typescript to a separate package (#6755) (ottomated)
clippy::wildcard_imports (#6860) (Boshen)718ccde ast: [BREAKING] Remove unused new methods (#6789) (overlookmotel)
718ccde ast: [BREAKING] Remove unused new methods (#6789) (overlookmotel)
4d2d214 ast, transformer: [BREAKING] Remove StringLiteral::new method (#6788) (overlookmotel)
a1ca964 ast, parser: [BREAKING] Remove NumericLiteral::new method (#6787) (overlookmotel)
aeaa27a ast, parser, transformer, traverse: [BREAKING] Remove BindingIdentifier::new methods (#6786) (overlookmotel)
ecc9151 ast, parser, transformer, traverse: [BREAKING] Remove IdentifierReference::new methods (#6785) (overlookmotel)
c91ffbc ast, transformer: [BREAKING] Remove IdentifierName::new method (#6784) (overlookmotel)
2bee4e2 ast, transformer: [BREAKING] Remove BlockStatement::new methods (#6783) (overlookmotel)
1248557 ast: [BREAKING] Remove AstKind::FinallyClause (#6744) (Boshen)
202c7f6 ast: [BREAKING] Remove AstKind::ExpressionArrayElement and AstKind::ClassHeritage (#6740) (Boshen)
AstBuilder::*_with_scope_id etc methods (#6760) (overlookmotel)GetAddress trait (#6652) (Dunqing)ArrayExpressionElement and Elision (#6683) (overlookmotel)ClassElement::r#static (#6771) (overlookmotel)ClassElement::r#static (#6731) (_Kerman)AstBuilder doc comments (#6756) (overlookmotel)GetAddress trait into oxc_allocator (#6738) (overlookmotel)impl GetAddress for Statement (#6742) (overlookmotel)plain_function to accept FunctionBody as a required parameter (#6709) (Dunqing)ESTree derive (#6680) (overlookmotel)impl Serialize (#6684) (overlookmotel)#[allow] attrs to top of generated files (#6679) (overlookmotel)ref in matches (#6675) (overlookmotel)5200960 oxc: [BREAKING] Remove passing Trivias around (#6446) (Boshen)
5200960 oxc: [BREAKING] Remove passing Trivias around (#6446) (Boshen)
2808973 ast: [BREAKING] Add Program::comments (#6445) (Boshen)
ToBoolean, ToNumber, ToString (#6502) (Boshen)Serialize impls in ast_tools (#6404) (ottomated)ChainExpression (#6430) (Dunqing)for statements during DCE (#6551) (magic-akari)TSConditionalType scope enter/exit locations (#6351) (DonIsaac)AstBuilder methods (#6664) (overlookmotel)01b878e parser: [BREAKING] Use BindingIdentifier for namespace declaration names (#6003) (DonIsaac)
01b878e parser: [BREAKING] Use BindingIdentifier for namespace declaration names (#6003) (DonIsaac)
5a73a66 regular_expression: [BREAKING] Simplify public APIs (#6262) (leaysgur)
oxc_ecmascript (#6202) (Boshen)Nothing published for this version
Nothing published for this version
Nothing published for this version
60c52ba ast: Allow passing span to void_0 method (#6065) (Dunqing)
void_0 method (#6065) (Dunqing)** with bigint literals (#6023) (Boshen)global symbol for declare global {} (#6040) (DonIsaac)ast_impl (#6015) (Dunqing)5a0d17c ast: Document more AST nodes (#6000) (DonIsaac)
SymbolTable (#5998) (DonIsaac)033b907 ast: [BREAKING] Apply #[non_exhaustive], must use AstBuilder (#5787) (Boshen)
#[non_exhaustive], must use AstBuilder (#5787) (Boshen)#[non_exhaustive] change (#5885) (Boshen)Comment::real_span (#5764) (Boshen)export in the namespace correctly (#5950) (Dunqing)typescript/no-duplicate-enum-values a correctness rule (#5810) (DonIsaac)JSXMemberExpressionObject to estree (#5883) (overlookmotel)JSXElementName to estree (#5882) (Boshen).iter() where not needed (#5904) (camchenry)Comment struct (#5783) (Boshen)GetSpan requirement to Gen trait (#5772) (Boshen)c3dd2a0 ast: [BREAKING] Revert: reduce byte size of TaggedTemplateExpression::quasi by Boxing it (#5679) (#5715) (overlookmotel)
TaggedTemplateExpression::quasi by Boxing it (#5679) (#5715) (overlookmotel)NONE type for AST builder calls (#5737) (overlookmotel)afc4548 ast: [BREAKING] Educe byte size of TaggedTemplateExpression::quasi by Boxing it (#5679) (Boshen)
afc4548 ast: [BREAKING] Educe byte size of TaggedTemplateExpression::quasi by Boxing it (#5679) (Boshen)
7415e85 ast: [BREAKING] Reduce byte size of TSImportType::attributes by Boxing it (#5678) (Boshen)
ee4fb42 ast: [BREAKING] Reduce size of WithClause by Boxing it (#5677) (Boshen)
JSXElementName::get_identifier method (#5556) (overlookmotel)void 1 -> void 0 (#5670) (Boshen)always_strict to test262 and typescript per the specifcation (#5555) (Boshen)AstKind::as_* methods (#5547) (overlookmotel)cba93f5 ast: [BREAKING] Add ThisExpression variants to JSXElementName and JSXMemberExpressionObject (#5466) (overlookmotel)
cba93f5 ast: [BREAKING] Add ThisExpression variants to JSXElementName and JSXMemberExpressionObject (#5466) (overlookmotel)
87c5df2 ast: [BREAKING] Rename Expression::without_parentheses (#5448) (overlookmotel)
ContentHash trait; remove noop Hash implementation from Span (#5451) (rzvxa)ContentEq trait. (#5427) (rzvxa)oxc_regular_expression types to the parser and AST. (#5256) (rzvxa)Derive trait. (#5278) (rzvxa)as_ast_kind method for each variant (#5491) (IWANABETHATGUY)RegExpPattern (#5497) (overlookmotel)JSXMemberExpressionObject discriminants (#5464) (overlookmotel)IdentifierName from TSThisParameter (#5327) (overlookmotel)no_div_regex rule. (#5417) (rzvxa)generate_derive for CloneIn in types outside of oxc_ast crate. (#5280) (rzvxa)1aa49af ast: [BREAKING] Remove JSXMemberExpressionObject::Identifier variant (#5358) (Dunqing)
1aa49af ast: [BREAKING] Remove JSXMemberExpressionObject::Identifier variant (#5358) (Dunqing)
32f7300 ast: [BREAKING] Add JSXElementName::IdentifierReference and JSXMemberExpressionObject::IdentifierReference (#5223) (Dunqing)
234a24c ast: [BREAKING] Merge UsingDeclaration into VariableDeclaration (#5270) (Kevin Deng 三咲智子)
c100826 semantic: [BREAKING] Always create a scope for for statements (#5110) (overlookmotel)
d304d6f semantic: [BREAKING] Always create a scope for CatchClause (#5109) (overlookmotel)
Function::name() (#5361) (DonIsaac)accessibility field to AccessorProperty (#5290) (Dunqing)definite flag to AccessorProperty node (#5182) (DonIsaac)TSTypeAnnotations on AccessorProperty (#5179) (DonIsaac)oxc/no-async-endpoint-handlers (#5364) (DonIsaac)TSParenthesizedType with camelCase (#5199) (Kevin Deng 三咲智子)_ or $ as IdentifierReferences (#5343) (overlookmotel)JSXIdentifier::is_reference (#5344) (overlookmotel)AstBuilder::move_assignment_target (#5367) (overlookmotel)TSThisParameter (#5325) (overlookmotel)IdentifierReference::new_with_reference_id (#5157) (overlookmotel)#[non_exhaustive] attr from AstBuilder (#5130) (overlookmotel)JSXIdentifier conversion code into parser (#5345) (overlookmotel)78f135d ast: [BREAKING] Remove ReferenceFlag from IdentifierReference (#5077) (Boshen)
78f135d ast: [BREAKING] Remove ReferenceFlag from IdentifierReference (#5077) (Boshen)
c4c08a7 ast: [BREAKING] Rename IdentifierReference::reference_flags field (#5024) (overlookmotel)
d262a58 syntax: [BREAKING] Rename ReferenceFlag to ReferenceFlags (#5023) (overlookmotel)
f88970b ast: [BREAKING] Change order of fields in CallExpression (#4859) (Burlin)
inherit_variants! macro add into_* methods (#5005) (overlookmotel)AstBuilder::copy call for TS AssignmentTarget transform (#4984) (overlookmotel)- b7db235 Comments gen regression (#5003) (IWANABETHATGUY)AstBuilder::move_statement_vec with move_vec (#4988) (overlookmotel)AstBuilder::move_identifier_reference do not allocate empty string (#4977) (overlookmotel)move_expression (#4982) (overlookmotel)fd34640 traverse: Support generate_uid_based_on_node method in TraverseCtx (#4940) (Dunqing)
generate_uid_based_on_node method in TraverseCtx (#4940) (Dunqing)scope_id fields in JSON AST (#4858) (overlookmotel)require calls for cjs-module-lexer (#4875) (Boshen)SimpleAssignmentTarget with MemberExpressions is not stripped (#4920) (Dunqing)Ast helper attributes. (#4856) (rzvxa)allocator as var name for Allocator (#4900) (overlookmotel)AstBuilder::copy as an unsafe function (#4907) (overlookmotel)oxc_ast_codegen to oxc_ast_tools. (#4846) (rzvxa)8827659 ast: More doc comments for JSX nodes (#4830) (DonIsaac)
CloneIn implementations now initialize semantic related cells with Default value. (#4819) (rzvxa)fff9da3 ast, ast_codegen: Use generate_derive instead of visitable for generating span derives. (#4747) (rzvxa)
generate_derive instead of visitable for generating span derives. (#4747) (rzvxa)generate_derive input. (#4766) (rzvxa)oxc_ast crate re-export AST types from other crates (#4773) (overlookmotel)51c1ca0 ast: Derive CloneIn for AST types, using generate_derive. (#4732) (rzvxa)
CloneIn for AST types, using generate_derive. (#4732) (rzvxa)AstKind::debug_name (#4553) (DonIsaac)GetSpanMut trait (#4609) (overlookmotel)#[ast] enums (#4373) (rzvxa)derive_clone_in generator. (#4731) (rzvxa)syntax types. (#4694) (rzvxa)Span through ast_codegen (#4703) (overlookmotel)SourceType through ast_codegen. (#4696) (rzvxa)assert keyword in TSImportAttributes (#4610) (Boshen)CloneIn::Cloned GAT. (#4738) (rzvxa)assert_layouts.rs behind debug_assertions (#4621) (rzvxa)generate_derive for implementing GetSpan and GetSpanMut traits. (#4735) (rzvxa)assert_layouts.rs offset tests on 32bit platforms. (#4620) (rzvxa)fd2d9da ast: Improve AstKind::debug_name (#4553) (DonIsaac)
AstKind::debug_name (#4553) (DonIsaac)GetSpanMut trait (#4609) (overlookmotel)#[ast] enums (#4373) (rzvxa)assert keyword in TSImportAttributes (#4610) (Boshen)assert_layouts.rs behind debug_assertions (#4621) (rzvxa)assert_layouts.rs offset tests on 32bit platforms. (#4620) (rzvxa)35654e6 codegen: Align operator precedence with esbuild (#4509) (Boshen)
2477330 ast: Add AstKind::TSExportAssignment (#4501) (Dunqing)
AstKind::TSExportAssignment (#4501) (Dunqing)AstKind::AssignmentTargetPattern, AstKind::ArrayAssignmentTarget and AstKind::ObjectAssignmentTarget (#4456) (Dunqing)#[visit(ignore)] from ExportDefaultDeclarationKind's TSInterfaceDeclaration (#4497) (Dunqing)Box::new_in over .into_in (#4428) (overlookmotel)f68b659 ast: [BREAKING] Reorder fields of ArrowFunctionExpression (#4364) (Dunqing)
ArrowFunctionExpression (#4364) (Dunqing)#[ast] attribute to non-visited AST types. (#4309) (rzvxa)Programs hashbang field first (#4368) (overlookmotel)#[cfg_attr] boilerplate in AST type defs (#4375) (overlookmotel)visited_node marker to ast. (#4289) (rzvxa)af4dc01 ast: Align ts ast scope with typescript (#4253) (Dunqing)
ScopeFlags::CatchClause for use in CatchClause (#4205) (Dunqing)ScopeFlags into visit_function (#4283) (overlookmotel)enter_scope after visit_binding_identifier (#4246) (Dunqing)visit_function and Visit fields in the builder to be consistent (#4248) (Dunqing)#[inline] to empty functions (#4330) (overlookmotel)5731e39 ast: [BREAKING] Store span details inside comment struct (#4132) (Luca Bruno)
scope_id to the enter_scope event. (#4168) (rzvxa)decorators before everything else. (#4143) (rzvxa)ast_codegen markers. (#4149) (rzvxa)b936162 ast/ast_builder: [BREAKING] Shorter allocator utility method names. (#4122) (rzvxa)
Expression into Statement with FromIn trait. (#4124) (rzvxa)d347aed ast: [BREAKING] Generate ast_builder.rs. (#3890) (rzvxa)
ast_builder.rs. (#3890) (rzvxa)e386b62 semantic: Check for invalid type import assignments (#4097) (DonIsaac)
aa585d3 ast_codegen, ast: Visit ExpressionArrayElement as Expression. (#4061) (rzvxa)
ExpressionArrayElement as Expression. (#4061) (rzvxa)e32b4bc ast: [BREAKING] Store trivia comments in a sorted slice (#4045) (Luca Bruno)
e32b4bc ast: [BREAKING] Store trivia comments in a sorted slice (#4045) (Luca Bruno)
1df6ac0 ast: [BREAKING] Rename visit_enum_memeber to visit_ts_enum_member. (#4000) (rzvxa)
4a0eaa0 ast: [BREAKING] Rename visit_enum to visit_ts_enum_declaration. (#3998) (rzvxa)
c98d8aa ast: [BREAKING] Rename visit_arrow_expression to visit_arrow_function_expression. (#3995) (rzvxa)
#[span] hint. (#4012) (rzvxa)b257d53 linter: Support report @typescript-eslint/consistent-type-imports (#3895) (mysteryven)
@typescript-eslint/consistent-type-imports (#3895) (mysteryven)dc6d45e ast,codegen: Add TSParenthesizedType and print type parentheses correctly (#3979) (Boshen)
TSParenthesizedType and print type parentheses correctly (#3979) (Boshen)31e4c3b isolated-declarations: declare global {} should be kept even if it is not exported (#3956) (Dunqing)
declare global {} should be kept even if it is not exported (#3956) (Dunqing)6796891 ast: [BREAKING] Rename all instances of BigintLiteral to BigIntLiteral. (#3898) (rzvxa)
6796891 ast: [BREAKING] Rename all instances of BigintLiteral to BigIntLiteral. (#3898) (rzvxa)
1f85f1a ast: [BREAKING] Revert adding span field to the BindingPattern type. (#3899) (rzvxa)
ae09a97 ast: [BREAKING] Remove Modifiers from ts nodes (#3846) (Boshen)
1af5ed3 ast: [BREAKING] Replace Modifiers with declare and const on EnumDeclaration (#3845) (Boshen)
0673677 ast: [BREAKING] Replace Modifiers with declare on Function (#3844) (Boshen)
ee6ec4e ast: [BREAKING] Replace Modifiers with declare and abstract on Class (#3841) (Boshen)
9b38119 ast: [BREAKING] Replace Modifiers with declare on VariableDeclaration (#3839) (Boshen)
cfcef24 ast: [BREAKING] Add directives field to TSModuleBlock (#3830) (Boshen)
4456034 ast: [BREAKING] Add IdentifierReference to ExportSpecifier (#3820) (Boshen)
intrinsic keyword (#3767) (Boshen)ast_kind.rs. (#3888) (rzvxa)ImplGetSpanGenerator. (#3852) (rzvxa)TSModuleBlock (#3858) (overlookmotel)BindingPattern (#3856) (overlookmotel)&Atom to functions (#3818) (overlookmotel)AstBuilder::copy (#3905) (overlookmotel)AstBuilder::copy (#3891) (overlookmotel)Serialize impls (#3859) (overlookmotel)BindingPattern type. (#3855) (rzvxa)Modifiers (#3849) (Boshen)#[scope] attr (#3901) (overlookmotel)scope(enter_before) attr (#3882) (overlookmotel)0578ece ast: [BREAKING] Remove ExportDefaultDeclarationKind::TSEnumDeclaration (#3666) (Dunqing)
ExportDefaultDeclarationKind::TSEnumDeclaration (#3666) (Dunqing)no_unreachable rule. (#3238) (rzvxa)--isolatedDeclarations dts transform (#3664) (Dunqing)Function (#3685) (overlookmotel)gen method to ast nodes (#3687) (Boshen)Your coding agent can read these notes before it upgrades. Set up the MCP server →