github oxc-project/oxc crates_v0.141.0
oxc crates_v0.141.0

9 hours ago

💥 BREAKING CHANGES

  • 5293431 str: [BREAKING] Move IdentBuildHasher to oxc_str crate (#24717) (overlookmotel)
  • 54cc121 ast: [BREAKING] Split MetaProperty into ImportMeta and NewTarget (#24557) (camc314)

🚀 Features

  • 87823d0 minifier: Merge combined assign expression in conditional expression (#24707) (sapphi-red)
  • 03a54c9 minifier: Merge assign expression against member expression in conditional expression (#24706) (sapphi-red)
  • effd3c8 allocator: Add Vec::from_raw_parts_in (#24732) (overlookmotel)
  • ddacf61 semantic: Add context notes for strict assignments (#24728) (camc314)
  • 7e9b84a data_structures: Add implements! macro (#24721) (overlookmotel)
  • 39e141b data_structures: Add const_str_eq function (#24720) (overlookmotel)
  • cc3d17f semantic: Add context notes for reserved keyword diagnostic (#24715) (camc314)
  • 4c71560 parser: More friendly error for spread element in dynamic imports (#24705) (sapphi-red)
  • 7b045cd minfier: Drop last break from last switch case (#24673) (Armano)
  • 7d3c178 minifier: Remove unreachable recursive functions (#24125) (Dunqing)
  • 94f99b3 ast: Allow NONE to be passed to AST builder methods where Option<ArenaVec> is expected (#24629) (overlookmotel)
  • 77230c5 ast: Accept arrays for ArenaVec params of AST builder methods (#24621) (overlookmotel)
  • f08b152 allocator: Implement FromIn for array to Vec conversion (#24620) (overlookmotel)
  • 2338c13 track-memory-allocations: Track heap deallocs, alloc bytes, and peak growth (#24619) (Boshen)
  • 7aa4739 syntax,transformer: Move JSX entity decoder to oxc_syntax (#24617) (camc314)
  • 2b097c4 str: Export Str as ArenaStr (#24604) (overlookmotel)
  • 3acf4c1 minifier: Expand switch optimiation to remove empty cases (#24520) (Armano)
  • 129b759 parser: Improve diagnostics for unparenthesized LHS on exponential expr (#24569) (camc314)
  • 4d0c601 minifier: Fold arithmetic over undefined and null operands (#24485) (Dunqing)
  • 91541dd minifier: Drop empty switch statements (#24527) (Armano)
  • d05224d ast_visit: Generate VisitJs visitor that skips TypeScript type-space (#24499) (Boshen)
  • 3d22307 parser: Add ParseOptions::enable_ident_hashes (#24491) (Boshen)

🐛 Bug Fixes

  • 61e02bf minifier: Avoid reordering this before super (#24755) (Dunqing)
  • 79e6d77 minifier: Preserve RegExp feature detection (#24712) (Dunqing)
  • 47ddedf semantic: Allow arguments in ambient declarations (#24758) (camc314)
  • 9f3e300 react_compiler: Preserve aliasing diagnostic locations (#24757) (Boshen)
  • 4b81f4d react_compiler: Honor default suppressions (#24747) (Boshen)
  • 6cc4a34 codegen: Wrap negative BigInt literal base of ** in parentheses (#23621) (Jerry Zhao)
  • d85276c minifier: Avoid incorrect logical assignment transformation when base object may be mutated (#24718) (sapphi-red)
  • 99b1dc4 isolated-declarations: Separate static accessors (#24716) (camc314)
  • 76ec104 semantic: Resolve import-equals namespaces (#22696) (camc314)
  • 0ffa88e str: Enable hashbrown feature inline-more (#24719) (overlookmotel)
  • 0e9b460 isolated-declarations: Normalize accessor keys (#24690) (Cameron)
  • 64c2241 minifier: Align class heritage removal with assumptions (#24533) (Dunqing)
  • 48b59f4 parser: Span ambient generator diagnostics (#24711) (camc314)
  • e750a82 ecmascript: Fix false negative for may_have_side_effects on dynamic property access (#24709) (sapphi-red)
  • f145d73 minifier: Guard reordered identifier reads (#24698) (Dunqing)
  • a2ef382 isolated-declarations: Reject window.Symbol as global symbol reference (#24689) (camc314)
  • b1bcf72 minifier: Invalidate facts for redeclared bindings (#24658) (Dunqing)
  • 921b834 minifier: Don't treat a conditionally-assigned var as write-once (#24650) (Dunqing)
  • 061af1f minifier: Avoid stale pure function summaries (#24636) (Dunqing)
  • 40c2f43 allocator: Vec::from_array_in do not allocate zero-length array (#24628) (overlookmotel)
  • 70994ae codegen: Preserve comments before expression operands (#24510) (Dunqing)
  • 7b4baff parser: Reject new import member access (#23459) (camc314)
  • 128b385 minifier: Clippy warning with no-debug-assertions (#24547) (camc314)
  • 8421feb parser: Use first as span for imported name (#24537) (leaysgur)
  • c517aa0 parser: Reject invalid accessor assertions (#24504) (camc314)

⚡ Performance

  • 3fe5c87 react_compiler: Transform reactive blocks in place (#24703) (Boshen)
  • 2e24c7e allocator: Speed up CloneIn for Vec and Box<[T]> (#24733) (overlookmotel)
  • 884d9eb parser: Pre-size cover-grammar assignment target buffers (#24683) (Boshen)
  • d3f07a0 diagnostics: Box OxcDiagnosticInner to reduce binary size (#24665) (Boshen)
  • bcc9de0 parser: Defer diagnostic creation until parse exit (#24663) (Boshen)
  • c35d8ab allocator: Mark ReplaceWith panic path cold (#24515) (camc314)
  • ba65790 semantic, allocator: Branchless clone_in for semantic IDs (#24564) (overlookmotel)
  • 747feec parser: Build AST nodes with the AST builder instead of cloning (#24540) (Boshen)
  • ba35a0d react_compiler: Use IndexVec for dense id-keyed maps (#24549) (Boshen)
  • b685062 react_compiler: Keep small hot-path collections inline (#24514) (Marius Schulz)
  • a149e95 transformer: Outline rare expression exits (#24512) (camc314)
  • 7808a6e react_compiler: Make aliasing effects cheap to intern and clone (#24506) (Marius Schulz)
  • 3a36f2a react_compiler: Store AbstractValue reasons as a u16 bitmask (#24480) (Boshen)
  • 1c96753 react_compiler: Use FxHashMap for the lookup-only aliasing node map (#24490) (Boshen)

📚 Documentation

  • cef20b5 napi/parser: Remove erroneous comment (#24730) (overlookmotel)

Don't miss a new oxc release

NewReleases is sending notifications on new releases.