20 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.39.0] - 2024-12-04
-
f2f31a8traverse: [BREAKING] Remove unsound APIs (#7514) (overlookmotel) -
b0e1c03ast: [BREAKING] AddStringLiteral::rawfield (#7393) (Boshen)
Features
97af341minifier: Minify alternated one child if block (#7231) (7086cmd)ac0d25cminifier: Minify one child if statement expression (#7230) (Ethan Goh)
Bug Fixes
896ff86minifier: Do not fold if statement block with lexical declaration (#7519) (Boshen)
Performance
c133693minifier: Fuse ast passes (#7493) (Boshen)
Refactor
63a66cfminifier: Remove unused ast pass from DCE (#7540) (Boshen)625a5baminifier: Improve ast passes (#7518) (Boshen)
Testing
9d6e14becmascript: Move tests tooxc_minifierdue to cyclic dependency withoxc_parser(#7542) (Boshen)
[0.37.0] - 2024-11-21
Features
39afb48allocator: IntroduceVec::from_array_in(#7331) (overlookmotel)
Bug Fixes
cf99be0minifier: Do not compare bigint with object (#7294) (7086cmd)
Testing
0d6a66aminifier: Fix minimize condition tests (#7222) (7086cmd)
[0.36.0] - 2024-11-09
Refactor
a297765minifier: Usemapandand_theninstead of let else (#7178) (7086cmd)
[0.35.0] - 2024-11-04
Refactor
97caae1minifier: Do not useAstBuilder::*_from_*methods (#7072) (overlookmotel)2c7ac29minifier: RemoveTri, useOption<bool>instead (#6912) (Boshen)
[0.34.0] - 2024-10-26
Features
4429754ecmascript: Constant evalnullto number (#6879) (Boshen)fd57e00ecmascript: Add abstract_relational_comparison to dce (#6846) (Boshen)8bcaf59minifier: Late peeophole optimization (#6882) (Boshen)860cbcaminifier: Implement folding simple arrow fns (#6875) (camc314)c26020eminifier: Implement folding String.prototype.replaceAll (#6871) (camc314)50744f3minifier: Implement folding String.prototype.replace (#6870) (camc314)fccf82eminifier: Implement foldingsubstringstring fns (#6869) (camc314)e6a5a1bminifier: Implement foldingcharCodeAtstring fns (#6475) (camc314)
Bug Fixes
a47c70eminifier: Fix remaining runtime bugs (#6855) (Boshen)686727fminifier: Reference read has side effect (#6851) (Boshen)c658d93minifier: Keep template literals with expressions (#6849) (Boshen)
Refactor
423d54crust: Remove the annoyingclippy::wildcard_imports(#6860) (Boshen)
[0.33.0] - 2024-10-24
Features
b4bc300minifier: Improve folding block stmts (#6793) (camc314)34fe7c0minifier: Dce meaningless labeled statements (#6688) (7086cmd)
Bug Fixes
2f6ad42codegen: Print negative bigint1n- -1ncorrectly after constant folding (#6798) (Boshen)ca79993minifier: Do not dce object literals yet (#6839) (Boshen)ec5a19bminifier: Do not remove binary expressions (#6829) (Boshen)22355f7minifier: Do not removeundefinedfor destructuring patterns (#6828) (Boshen)
Refactor
8b25131minifier: Binary operations useConstantEvaluation(#6700) (Boshen)
[0.32.0] - 2024-10-19
Features
e5ed6a5codegen: Print negative numbers (#6624) (Boshen)15c04e5ecmascript: Add feature flag for constant evaluation (Boshen)e561880ecmascript: Add constant_evaluation and side_effects code (#6550) (Boshen)3556062ecmascript: AddConstantEvaluation(#6549) (Boshen)39c2e66ecmascript: AddToBigIntandStringToBigInt(#6508) (Boshen)6f22538ecmascript: AddToBoolean,ToNumber,ToString(#6502) (Boshen)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: Implementcollapse-variable-declarations(#6464) (dalaoshu)096e590minifier: Implement foldingcharAtstring 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 foldingindexOfandlastIndexOfstring 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 forStatementFusion(#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)
Bug Fixes
389d261minifier:~~operator should only work on numbers (#6598) (Boshen)16bea12minifier: Useto_js_string()instead offs64::to_string(#6597) (Boshen)a71e8a0minifier: Preserve init variable declarations when removingforstatements during DCE (#6551) (magic-akari)
Refactor
6d041fbecmascript: RemoveNumberValue(#6519) (Boshen)856cab5ecmascript: Move ToInt32 fromoxc_syntaxtooxc_ecmascript(#6471) (Boshen)f4cdc56minifier: Use constant folding unary expression fromoxc_ecmascript(#6647) (Boshen)67ad08aminifier: UnifyValueType(#6545) (Boshen)bbca743minifier: Move string methods tooxc_ecmascript(#6472) (Boshen)702c049minifier: Move compress block to dce (#6468) (7086cmd)46a38c6minifier: Remove allowclippy::unused_self(#6441) (Boshen)994b60bminifier: Use builtin get_number_value. (#6335) (7086cmd)435a89coxc: Remove uselessallocator.alloc(program)calls (#6571) (Boshen)1a90ec4rust: Backport v1.82.0 changes to main branch first (#6690) (Boshen)
Testing
c5deb32minifier: Port the rest of tests (#6420) (7086cmd)e59da61minifier: Add all test cases forcollapse_variable_declarations(#6421) (dalaoshu)73d6a4aminifier: Port all replace_known_methods tests. (#6418) (7086cmd)
[0.31.0] - 2024-10-08
-
020bb80codegen: [BREAKING] Change toCodegenReturn::codeandCodegenReturn::map(#6310) (Boshen) -
82ab689transformer,minifier: [BREAKING] Move define and inject plugin from minifier to transformer (#6199) (Boshen)
Features
e304e8cminifier: Minify exponential arithmetic operation. (#6281) (7086cmd)f9ae70cminifier: Minify basic arithmetic calculations. (#6280) (7086cmd)4008afeminifier: Fold array and object constructors (#6257) (camchenry)115ccc9minifier: Bitwise not in exceeded value. (#6235) (7086cmd)ee6c850minifier: Scaffold peephole replace known methods. (#6245) (7086cmd)c32af57minifier: Fold demical bitwise not for bigint. (#6233) (7086cmd)23b6464minifier: Fold true / false comparison. (#6225) (7086cmd)585ccdaminifier: Support subtraction assignment. (#6214) (7086cmd)cca0034minifier: Handle positiveNaNandInfinity. (#6207) (7086cmd)dac8f09minifier: Minify unary plus negation. (#6203) (7086cmd)3b79e1bminifier: Evaluate bigint in fold constant (#6178) (Boshen)9e62396syntax_operations: Add crateoxc_ecmascript(#6202) (Boshen)
Bug Fixes
d953a6bminifier: Correct the reference link (#6283) (dalaoshu)37cbabbminifier: Should not handle the strict operation for bool comparison. (#6261) (7086cmd)e29c067minifier: Handle exceeded shifts. (#6237) (7086cmd)
Refactor
ac5a23fminifier: Use ctx.ast.vec instead of Vec::new. (#6331) (7086cmd)1cee207minifier: Some boilerplate work for PeepholeFoldConstants (#6054) (Boshen)
Testing
964d71eminifier: Add arithmetic tests for fold constants. (#6269) (7086cmd)fcb4651minifier: Enable null comparison with bigint. (#6252) (7086cmd)
[0.30.2] - 2024-09-27
Features
60c52baast: Allow passing span tovoid_0method (#6065) (Dunqing)
Bug Fixes
e0a8959minifier: Computevoid numberasundefined(#6028) (Boshen)
[0.30.1] - 2024-09-24
Features
5c323a2minifier: Loop compressor passes (#6013) (Boshen)
Refactor
0a2f687minifier: Move dce conditional expression toRemoveDeadCode(#5971) (Boshen)
[0.30.0] - 2024-09-23
Features
9076deeminifier: Implement part ofStatementFusion(#5936) (Boshen)
Bug Fixes
362c427mangler,codegen: Do not mangle top level symbols (#5965) (Boshen)
Refactor
943bd76minifier: Move tests to their src files (#5912) (Boshen)cbaeea6minifier: Clean up some tests (#5910) (Boshen)144611eminifier: Align ast pass names with closure compiler (#5908) (Boshen)
[0.29.0] - 2024-09-13
Features
953fe17ast: ProvideNONEtype for AST builder calls (#5737) (overlookmotel)e968e9fminifier: Constant fold nullish coalescing operator (#5761) (Boshen)6bc13f6minifier: AddMinimizeConditionspass (#5747) (Boshen)
Bug Fixes
8ff013aminifier: Handle dce CallExpression::callee (#5752) (Boshen)
Performance
d18c896rust: Usecow_utilsinstead (#5664) (dalaoshu)
Refactor
2890c98minifier: Add tests forremove_syntax(#5749) (Boshen)9a9d8f6minifier: Replaceself.astwithctx.ast(#5748) (Boshen)746f7b3minifier: Align code with closure compiler (#5717) (Boshen)21e2df5minifier: ReplaceVisitMutwithTraversefor inject and define plugins (#5705) (Boshen)
[0.28.0] - 2024-09-11
-
ee4fb42ast: [BREAKING] Reduce size ofWithClausebyBoxing it (#5677) (Boshen) -
4a8aec1span: [BREAKING] ChangeSourceType::jstoSourceType::cjsandSourceType::mjs(#5606) (Boshen) -
b060525semantic: [BREAKING] Removesource_typeargument fromSemanticBuilder::new(#5553) (Boshen)
Features
68c3cf5minifier: Foldvoid 1->void 0(#5670) (Boshen)c6bbf94minifier: Constant fold unary expression (#5669) (Boshen)86256eaminifier: Constant foldtypeof(#5666) (Boshen)
Bug Fixes
b8f8dd6minifier/replace_global_defines: Do not replace shadowed identifiers (#5691) (Boshen)
Performance
Refactor
067f9b5semantic: IntroduceIsGlobalReferencetrait (#5672) (Boshen)
[0.27.0] - 2024-09-06
Features
ba4b68cminifier: Remove parenthesized expression for dce (#5439) (Boshen)
[0.25.0] - 2024-08-23
-
78f135dast: [BREAKING] RemoveReferenceFlagfromIdentifierReference(#5077) (Boshen) -
c4c08a7ast: [BREAKING] RenameIdentifierReference::reference_flagsfield (#5024) (overlookmotel) -
d262a58syntax: [BREAKING] RenameReferenceFlagtoReferenceFlags(#5023) (overlookmotel) -
ce4d469codegen: [BREAKING] Remove const genericMINIFY(#5001) (Boshen)
Features
2b21be3oxc_minifier: Define plugin with postfix wildcard (#4979) (IWANABETHATGUY)
Refactor
0f64d10minifier: Remove duplicated helpermove_out_expression(#5007) (IWANABETHATGUY)b4407c4oxc,mangler:oxccrate add mangler; mangler use options API (Boshen)
[0.24.3] - 2024-08-18
Bug Fixes
46cb1c1minifier: HandleObject.definedPropert(exportsfor @babel/types/lib/index.js (#4933) (Boshen)81fd637minifier: Do not fold0 && (module.exports = {})forcjs-module-lexer(#4878) (Boshen)879a271minifier: Do not joinrequirecalls forcjs-module-lexer(#4875) (Boshen)
[0.24.2] - 2024-08-12
Performance
504ac0bminifier:InjectGlobalVariablesonly add toreplaced_dot_definesonce for each (#4803) (overlookmotel)35f2742minifier: Avoid repeatedAtomcreation inInjectGlobalVariables(#4802) (overlookmotel)
[0.24.1] - 2024-08-10
Features
c519295minifier: AddInjectGlobalVariablesplugin (@rollup/plugin-inject) (#4759) (Boshen)
[0.24.0] - 2024-08-08
Features
229a0e9minifier: Implement dot define for member expressions (#3959) (camc314)
Bug Fixes
94d3c31minifier: Avoid removing function declaration fromKeepVar(#4722) (Boshen)bf43148minifier: Do notremove_syntaxin dead_code_elimination (Boshen)bf48c7fminifier: Fixkeep_varkeeping vars from arrow functions (#4680) (Boshen)9be29afminifier: Temporarily fix shadowedundefinedvariable (#4678) (Boshen)e8b662aminifier: Various fixes to pass minifier conformance (#4667) (Boshen)
Performance
0f5e982minifier: Only visit arrow expression after droppingconsole.log(#4677) (Boshen)
Refactor
fbfd852minifier: AddNodeUtiltrait for accessing symbols on ast nodes (#4734) (Boshen)e0832f8minifier: Useoxc_traversefor AST passes (#4725) (Boshen)17602dbminifier: Move tests and files around (Boshen)3289477minifier: Clean up tests (#4724) (Boshen)e78cba6minifier: Ast passes infrastructure (#4625) (Boshen)
[0.23.1] - 2024-08-06
Features
229a0e9minifier: Implement dot define for member expressions (#3959) (camc314)
Bug Fixes
bf48c7fminifier: Fixkeep_varkeeping vars from arrow functions (#4680) (Boshen)9be29afminifier: Temporarily fix shadowedundefinedvariable (#4678) (Boshen)e8b662aminifier: Various fixes to pass minifier conformance (#4667) (Boshen)
Performance
0f5e982minifier: Only visit arrow expression after droppingconsole.log(#4677) (Boshen)
Refactor
e78cba6minifier: Ast passes infrastructure (#4625) (Boshen)
[0.23.0] - 2024-08-01
Features
a558492codegen: ImplementBinaryExpressionVisitor(#4548) (Boshen)
Bug Fixes
6a94e3fcodegen: Fixes for esbuild test cases (#4503) (Boshen)
[0.22.0] - 2024-07-23
Features
0deb027minfier: Dceif (xxx) else if (false) { REMOVE }(#4407) (Boshen)e33ec18minifier: Compresstypeof foo == "undefined"intotypeof foo > "u"(#4412) (Boshen)
Bug Fixes
267f7c4minifier: SkipObject.defineProperty(exports, ...)forcjs-module-lexer(#4409) (Boshen)
[0.21.0] - 2024-07-18
Features
83c2c62codegen: Add option for choosing quotes; remove slowchoose_quotmethod (#4219) (Boshen)5d17675mangler: Add debug mode (#4314) (Boshen)e3e663bmangler: Initialize crate and integrate into minifier (#4197) (Boshen)c818472minifier: Dce conditional expression&&or||(#4190) (Boshen)
Bug Fixes
e167ef7codegen: Print parenthesis properly (#4245) (Boshen)f144082minifier: RemoveDeadCode should visit nested expression (#4268) (underfin)
Refactor
2c7bb9fast: Pass finalScopeFlagsintovisit_function(#4283) (overlookmotel)
[0.20.0] - 2024-07-11
Features
54cd04aminifier: Implement dce with var hoisting (#4160) (Boshen)44a894aminifier: Implement return statement dce (#4155) (Boshen)
[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
c6c16a5minifier: Dce all conditional expressions (#4135) (Boshen)
[0.17.1] - 2024-07-06
Bug Fixes
719fb96minifier: Omit dceundefinedwhich can be a shadowed variable (#4073) (Boshen)
[0.17.0] - 2024-07-05
Features
0da9dfbminifier: Add constant folding to remove dead code (#4058) (Boshen)
Bug Fixes
aaac2d8codegen: Preserve parentheses from AST instead calculating from operator precedence (#4055) (Boshen)
Refactor
edb557cminifier: Add a folder struct for constant folding (#4057) (Boshen)
[0.16.2] - 2024-06-30
Performance
1eac3d2semantic: UseAtom<'a>forReferences (#3972) (Don Isaac)
[0.16.0] - 2024-06-26
6796891ast: [BREAKING] Rename all instances ofBigintLiteraltoBigIntLiteral. (#3898) (rzvxa)
Features
dd540c8minifier: Add skeleton for ReplaceGlobalDefines ast pass (#3803) (Boshen)f3c3970minifier: Add skeleton for RemoveDeadCode ast pass (#3802) (Boshen)
Bug Fixes
Refactor
8027b1eminifier: Change prepass to ast_passes::remove_parens (#3801) (Boshen)
[0.15.0] - 2024-06-18
-
5c38a0fcodegen: [BREAKING] New code gen API (#3740) (Boshen) -
534242acodegen: [BREAKING] RemoveCodegenOptions::enable_typescript(#3674) (Boshen)
Features
38a75e5coverage: Improve codegen (#3729) (Boshen)
Bug Fixes
8f64d99minifier: Respectjoin_vars: falseoption (#3724) (mysteryven)
[0.14.0] - 2024-06-12
Refactor
e90e6a2minifier: MakePrepassCopy(#3603) (overlookmotel)
[0.13.4] - 2024-06-07
Bug Fixes
affb2c8codegen: Print indentation before directive (#3512) (Dunqing)
[0.13.2] - 2024-06-03
Features
0cdb45aoxc_codegen: Preserve annotate comment (#3465) (IWANABETHATGUY)
[0.13.1] - 2024-05-22
Features
e2dd8acsyntax: Exportis_reserved_keywordandis_global_objectmethod (#3384) (Boshen)
[0.13.0] - 2024-05-14
Refactor
7e1fe36ast: Squash nested enums (#3115) (overlookmotel)a8af5desyntax: Move number related functions to number module (#3130) (Boshen)
[0.11.0] - 2024-03-30
Refactor
fc38783ast: Add walk_mut functions (#2776) (Ali Rezvani)d9b77d8sourcemap: Change sourcemap name to take a reference (#2779) (underfin)
[0.10.0] - 2024-03-14
Features
4f9dd98span: RemoveFrom<String>andFrom<Cow>API because they create memory leak (#2628) (Boshen)
Refactor
cbc2f5fRemove unused dependencies (#2718) (Boshen)-8001b2fMakeCompactStrimmutable (#2620) (overlookmotel)-0646bf3RenameCompactStringtoCompactStr(#2619) (overlookmotel)
[0.9.0] - 2024-03-05
Refactor
ef932a3codegen: Clean up API around building sourcemaps (#2602) (Boshen)903f17cspan: Move base54 method to mangler (#2523) (Boshen)
[0.8.0] - 2024-02-26
Features
6b3b260Codegen: Improve codegen (#2460) (Andrew McClenaghan)e6d536ccodegen: Configurable typescript codegen (#2443) (Andrew McClenaghan)
Refactor
d08abc6ast: S/NumberLiteral/NumericLiteral to align with estree (Boshen)e6b391aast: S/ArrowExpression/ArrowFunctionExpression to align estree (Boshen)-a2c173dRemovepanic!from examples (#2454) (Boshen)-70a0076Remove global allocator from non-user facing apps (#2401) (Boshen)
[0.7.0] - 2024-02-09
Refactor
1822cfeast: Fix BigInt memory leak by removing it (#2293) (Boshen)
[0.6.0] - 2024-02-03
Features
1ee6d8ccodegen: Move string test to codegen (#2150) (Wenzhe Wang)18a58d4minifier: Handle more expressions for side effects (#2062) (Bradley Farias)
Bug Fixes
29dc5e6codegen: Add parenthesis in binary expression by precedence (#2067) (Wenzhe Wang)
[0.4.0] - 2023-12-08
Features
c6ad660semantic: Support scope descendents starting from a certain scope. (#1629) (Miles Johnson)
Refactor
1a576f6rust: Move to workspace lint table (#1444) (Boshen)
[0.3.0] - 2023-11-06
Features
e0ca09bcodegen: Implement the basics of non-minifying codegen (#987) (Boshen)809f050codegen: Move minifying printer to codegen crate (#985) (Boshen)ef8aaa7minifier: Re-enable mangler (#972) (Boshen)14e1dacminifier: Reenable minifier tests (#969) (Boshen)f0029d5minifier: Reenable mangler (Boshen)55b2f03minifier: Partially re-enable minifier (#963) (Boshen)5b1e1e5parser: TypeScript 5.2 (#811) (Cameron)2e2b758playground: Add transform and minify (#993) (Boshen)ce79bc1transform_conformance: Move Formatter to codegen (#986) (Boshen)678db1dtransformer: ES2020 Nullish Coalescing Operator (#1004) (Boshen)0f72066transformer: Finish 2016 exponentiation operator (#996) (Boshen)-0e91044Adjust the order of print semicolon (#1003) (Wenzhe Wang)
Refactor
4787220ast: Clean up some methods (Boshen)903854dast: Fix the lifetime annotations around Vist and VisitMut (#973) (Boshen)db5417fclippy: Allow clippy::too_many_lines (Boshen)eaeb630clippy: Allow struct_excessive_bools (Boshen)801d78aminifier: Make the minifier api only accept an ast (#990) (Boshen)110059frust: ChangeRefCell.clone().into_inner()toRefCell.get()(Boshen)
[0.2.0] - 2023-09-14
Features
027a67dminifier: Constant addition expression folding (#882) (Don Isaac)e090b56minifier: Initialize conditions folding (#658) (阿良仔)c5ff534semantic: Addnode_idtoReference(#689) (Makoto Tateno)
Refactor
3516759ast: UseatomforDirectiveandHashbang(#701) (Yunfei He)