[Pkg-javascript-commits] [uglifyjs] annotated tag upstream/3.3.10 created (now 9a7f448)
Jonas Smedegaard
dr at jones.dk
Wed Feb 14 19:52:09 UTC 2018
This is an automated email from the git hooks/post-receive script.
js pushed a change to annotated tag upstream/3.3.10
in repository uglifyjs.
at 9a7f448 (tag)
tagging 7d393c3f37a16f65bf0cd2d4ce516a430dfac187 (commit)
replaces upstream/2.4.13
tagged by Jonas Smedegaard
on Wed Feb 14 13:57:10 2018 +0100
- Log -----------------------------------------------------------------
Upstream version 3.3.10
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEn+Ppw2aRpp/1PMaELHwxRsGgASEFAlqEMicACgkQLHwxRsGg
ASFVqg/+NlgAA7nM7XaUkqVPRmwRGeYWUxlh8/TAHyUf6ToFWsouK3hWlQbs5bja
3A4SCoXLWlrXjxTFFwRK/61HfMZy5rDtUQl5XZgXjrTtF/GOPebMudNNCCJpVLRT
DnnLuawnJhK76t0ROz4g0yLZSVzO8c2/x+aZ01zyMb9rJu7tDp+8Eav58LYsNuro
7+tXaRB8aiunMNBwgmpifeFj7wAwPmO7bezZFZE+8MYt2KpnFHq4WAAspc7An8KD
2hnBlgVrf7TaoEezYS9HSGw7tJc63GuWf6UpPHurlDb4ZXdW5BKcM10OcAFlrt2q
r83AWdmXLbNffKiouv+dppaC0K0BmtU0gi7kPx5aT1HlIOQfaEXeImrL4QysPkeC
q3E5Wlr3R9aDzcFPb82wbFiZOZQ6YR3hO2KemdgPQDmdNlXjjW2y3/+Whf8NGrZO
ucceccEsrOzX489nrHRDJXxUK09yUwRE1ZHIa0+6XLRNdCwoaPttOpiXB7NhVefN
7WIKdLNhTJPjWSyjDig89r962dNkl0ib808UE+kvTn9pzex/eV/XtpEfLSmLgwoB
NzWRVSlIL/GeFw0RaZ+GJ6kc7HycJVCXYvAAzB5ckoF/LoUqMlQPgBHwnx6eGw5p
t7FjY1KcqBbDIgfsKgyaeD475DVGTEd9pj8GIA9gILdFKsJCzGE=
=v6qy
-----END PGP SIGNATURE-----
1111hui (2):
feat: add option.outFileName for JS API, if absense, sourceMap.file field will deduced
docs: add doc for option.outFileName
Aaron Blohowiak (1):
make the module exports a convenience function so minifying src with the defaults is just a one-lininer: min = require('uglify-js')(src);
Alberto González Palomo (1):
fromString option, use index from argument array for filename instead of "?"
Alex Lam S.L (589):
augment evaluate to extract within objects (#1425)
optimise binary operands with evaluate() (#1427)
fix mangling collision with keep_fnames (#1431)
update test (#1441)
Merge pull request #1485 from alexlamsl/merge-2.8.0
allow --in-source-map inline (#1490)
update docs for `pure_funcs` & `drop_console` (#1503)
consolidate `evaluate` & `reduce_vars` (#1505)
faster tree transversal (#1462)
improve error messages (#1506)
v2.8.0
warn & drop `#__PURE__` iff IIFE is dropped (#1511)
temporarily disables `reduce_vars` (#1517)
v2.8.1
fix `evaluate` on object getter & setter (#1515)
invert `reduce_vars` tracking flag (#1519)
v2.8.2
fix crash on missing `props` to `string_template()` (#1523)
v2.8.3
fix corner cases in `reduce_vars` (#1524)
v2.8.4
minor improvement to string optimisation (#1514)
trim unused invocation parameters (#1526)
disable do{...}while(false) optimisation (#1534)
fix reference marking in for-in loops (#1535)
properly cover all cases of for-in loop variables (#1536)
fix chained assignment with `unused` (#1540)
v2.8.5
facilitate fix for #1531 (#1542)
compress numerical expressions (#1513)
process code with implicit return statement (#1522)
resolve issue with outdated version of async (#1549)
fix a corner case in #1530 (#1552)
fix handling of shebang and preamble (#1545)
stay safe with constants in IE8- (#1547)
improve `unsafe` on undefined (#1548)
handle variable declaration within catch blocks (#1546)
collapse assignment with adjacent subsequent usage (#1553)
v2.8.6
fixup for #1553 (#1555)
v2.8.7
suppress semicolons after do/while (#1556)
avoid substitution of global variables (#1557)
transform function calls to IIFEs (#1560)
fix deep cloning of labels (#1565)
include benchmark.js in test suite (#1564)
v2.8.8
fix return from recursive IIFE (#1570)
plan B for IE8 do-while semi-colon fix (#1572)
only run benchmark & jetstream on CI (#1571)
fix function name eliminiation (#1576)
v2.8.9
scan assignment value in drop_unused() (#1578)
explain how to make a proper bug report (#1579)
remove checkboxes from Issues template
scan RHS of dropped assignments (#1581)
v2.8.10
fix & improve function argument compression (#1584)
fix catch variable reference in IE8 (#1587)
v2.8.11
fixup for #1585 (#1589)
support multi-line string in tests (#1590)
disallow parameter substitution for named IIFEs (#1596)
temporary fix for boolean bug (#1597)
v2.8.12
minor clean-ups (#1600)
fix `AST_Node.optimize()` (#1602)
fix stack issues with `AST_Node.evaluate()` (#1603)
fix `hoist_vars` on `reduce_vars` (#1607)
make `collapse_vars` consistent with `toplevel` (#1608)
extend `test/run-tests.js` to optionally execute uglified output (#1604)
fix chained evaluation (#1610)
v2.8.13
fix top-level directives in compress tests (#1615)
handle runtime errors in `expect_stdout` (#1618)
transform String.charAt() to index access (#1620)
fix AST_Binary.lift_sequences() (#1621)
fix commit 88fb83a (#1622)
make `expect_stdout` work on Node.js 0.12 (#1623)
v2.8.14
throw parse error on invalid assignments (#1627)
metadata cleanup (#1630)
fix a bug in simple_glob (#1632)
introduce compressor.info() (#1633)
account for cross-scope modifications in `collapse_vars` (#1634)
v2.8.15
improve collapsible value detection (#1638)
fix expect_stdout (#1642)
improve error marker placement (#1644)
fix assignment substitution in sequences (#1643)
fix assignment extraction from conditional (#1651)
fix corner case in `AST_For.init` (#1652)
fix cascade of `evaluate` optimisation (#1654)
Update ISSUE_TEMPLATE.md
introduce ufuzz.js (#1655)
fix invalid `AST_For.init` (#1657)
v2.8.16
fix `dead_code` on `AST_Switch` (#1667)
fix typeof side-effects (#1669)
fix `reduce_vars` on `AST_Switch` (#1671)
fix `has_side_effects()` (#1675)
improve switch optimisations (#1677)
fix side-effects detection on switch statements (#1678)
suppress switch branch de-duplication upon side effects (#1682)
fallthrough should not execute case expression (#1683)
fix `cascade` on `delete` operator (#1687)
ufuzz: workaround function name and toString() (#1688)
fix `delete` related issues in `collapse_vars` and `reduce_vars` (#1689)
handle overlapped variable definitions (#1691)
fix `cascade` on anonymous function reference (#1693)
preserve side effects in switch expression (#1694)
fix typeof side effects (#1696)
`has_side_effects()` should take `AST_Switch.expression` into account (#1699)
ufuzz: workaround for Function.toString() v2 (#1700)
fix mangle for variable declared within catch block (#1706)
fix tail trimming of switch blocks (#1707)
handle var within catch of the same name (#1711)
drop anonymous function name when overshadowed by other declarations (#1712)
fix `is_number()` on `+=` (#1714)
fix `unused` on var of the same name within catch (#1716)
v2.8.17
fix corner case in `unused` (#1718)
remove UGLIFY_DEBUG (#1720)
v2.8.18
improve beautified output of switch blocks (#1721)
output optimal representations of NaN & Infinity (#1723)
fix missing parentheses around NaN/Infinity shorthands (#1726)
speed up `equivalent_to()` and `AST_Switch` (#1727)
speed up IIFE elimination (#1728)
improve tests from #1726 (#1729)
optimize try-catch-finally (#1731)
remove paranthesis for `-(x*y)` (#1732)
fix catch symbol mangling (#1734)
v2.8.19
fix missing preamble when shebang is absent (#1742)
v2.8.20
sort options in alphabetical order (#1743)
combine rules for binary boolean operations (#1744)
improve compression of undefined, NaN & Infinitiy (#1748)
implement `test/sandbox.js` (#1749)
minor tweaks to fuzzer (#1751)
fix switch branch elimination (#1752)
upgrade fuzzer (#1754)
minor tweaks to `test/ufuzz.js` (#1756)
speed up fuzzer code generation (#1757)
fix corner cases in switch and undefined (#1762)
avoid confusion of `NaN` & `Infinity` with `catch` symbol of the same name (#1763)
fix corner case in `switch` (#1765)
v2.8.21
extend `test/ufuzz.js` (#1769)
fix mangleProperties of `undefined` & `Infinity` (#1772)
workaround Node.js bugs (#1775)
fix `mangleProperties` on identifiers (#1776)
exclude mangling of special property names (#1779)
remove `--mangle-props` from fuzzing (#1777)
optimise `do{...}while(false)` (#1785)
implement delayed resolution for `reduce_vars` (#1788)
improve `pure_getters` (#1786)
enable `inline_script` by default (#1793)
fix incorrect context in variable substitution (#1791)
fix `reduce_vars` on catch variable (#1794)
introduce "strict" to `pure_getters` (#1795)
fix corner cases with `delete` (#1796)
fix `pure_getters` for chained property access (#1798)
extend ufuzz generator (#1783)
fix `delete` corner cases (#1799)
fix a couple of bugs in `global_defs` (#1802)
enhance `test/ufuzz.js` (#1803)
fix LHS cases for NaN & friends (#1804)
v2.8.22
convert `AST_Seq` from binary tree to array (#1460)
drop `angular` (#1812)
unify CLI & API under `minify()` (#1811)
update README (#1813)
fix variable substitution (#1816)
enhance `reduce_vars` (#1814)
fix `reduce_vars` within try-block (#1818)
compress duplicated variable definitions (#1817)
fix `reduce_vars` on boolean binary expressions (#1819)
fix `reduce_vars` on conditionals (#1822)
support safe reassignments in `reduce_vars` (#1823)
clean up `collapse_vars` (#1826)
extend `cascade` into `a.b` (#1829)
fix parser bugs & CLI reporting (#1827)
improve `collapse_vars` on `AST_Var` (#1828)
fix `unused` on labeled for-loop (#1831)
improve `unused` (#1832)
fix label-related bugs (#1835)
fix `AST_For.init` patch-up in `drop_unused()` (#1839)
improve parser under "use strict" (#1836)
fix `unused` on for-in statements (#1843)
fix fuzzer on `this` (#1842)
enforce `toplevel` on other compress options (#1855)
restore report of supported options (#1861)
update `test/benchmark.js` resources (#1864)
rename variables for better readability (#1863)
enhance `collapse_vars` (#1862)
kill `opera` (#1869)
fix `unsafe` on `evaluate` of `reduce_vars` (#1870)
v3.0.0
fix test for #1865 (#1873)
update documentation
support `minify()` output as AST (#1878)
deprecate low level API (#1877)
support dumping AST (#1879)
return `Error` from `minify()` (#1880)
v3.0.1
update `minify()` usage in `test/ufuzz.js` (#1888)
mention `minify().error`
print error stack in CLI (#1890)
v3.0.2
extend test timeout
gracefully handle non-`Error` being thrown (#1893)
v3.0.3
update documentation (#1909)
fix invalid transform on `const` (#1919)
v3.0.4
avoid `arguments` and `eval` in `reduce_vars` (#1924)
remove support for `const` (#1910)
fix bugs with getter/setter (#1926)
fix & improve coverage of `estree` (#1935)
v3.0.5
improve keyword-related parser errors (#1941)
fix parsing of property access after new line (#1944)
print package name alongside version in CLI (#1946)
v3.0.6
export `TreeTransformer` (#1950)
v3.0.7
remove `space_colon` (#1960)
improve `RegExp` handling (#1959)
make `expect_stdout` node version specific (#1963)
v3.0.8
introduce `unsafe_regexp` (#1970)
v3.0.9
enhance `if_return` to handle `return void...` (#1977)
v3.0.10
improve usability of `global_defs` in `minify()` (#1987)
fix source map offset (#1993)
v3.0.11
reinstate `describe_ast()` on CLI (#1996)
ensure new line after `describe_ast()` (#1999)
report timing breakdown (#2000)
clean up `lib/scope.js` (#2003)
fix `dead_code` on block-scoped `function` under "use strict" (#2006)
fix `if_return` on `AST_Defun` (#2010)
fix `hoist_funs` on block-scoped `function` under "use strict" (#2013)
v3.0.12
extend `node_version` range on applicable tests (#2015)
improve CLI usability (#2016)
implement `--help options` (#2017)
display default values in `--help options` (#2018)
better fix for #512 & #2010 (#2019)
v3.0.13
widen CLI parse error code fragment displayed (#2032)
introduce `unsafe_Func` (#2033)
v3.0.14
enhance `unsafe` `evaluate` (#2037)
whitelist `unsafe` `evaluate` candidates (#2039)
fix non-identifier getter/setter name (#2041)
v3.0.15
clean up `lib/parse.js` (#2047)
add tests for `AST_SymbolAccessor` (#2049)
fix `AST_Function` scope invariance (#2052)
workaround webkit parsing error (#2056)
implement function inlining (#2053)
implement `test/jetstream.js --debug` (#2058)
fix `inline` handling of `AST_Call.args` (#2059)
fix CLI output corruption (#2061)
fix `cascade` on multi-branch evaluations (#2067)
fix iteration over object with inherited properties (#2068)
marshal `mangle[.properties].reserved` from non-Array values (#2072)
report `test/ufuzz.js` failures in `process.stderr` (#2074)
fix non-string parameters (#2076)
fix portability of `sandbox.run_code()` on Node.js 0.1x (#2078)
suppress false positives for-in loops (#2080)
fix variable accounting in `inline` (#2085)
allow `expect_stdout` to specify `Error` (#2087)
add Node.js 8 to Travis CI (#2086)
cache web assets between CI runs (#2089)
v3.0.16
fix parsing of `expect_stdout` (#2096)
compute `uses_arguments` correctly in `figure_out_scope()` (#2099)
avoid intermittent test time-out failures (#2100)
suppress `inline` of `this` (#2103)
v3.0.17
enforce `inline` scope restriction (#2106)
correctly determine scope of `AST_This` (#2109)
in-place `tigten_body()` (#2111)
fix loss of context in `collapse_vars` & `cascade` (#2112)
make defensive copies when `inline` (#2116)
v3.0.18
ensure mangling works if catch reuses a scope variable (#2123)
v3.0.19
fix for-in loop parsing (#2144)
fix `reduce_vars` on `this` (#2145)
minimise `reduce_vars` cloning overhead (#2148)
refactor `Compressor.toplevel` (#2149)
synchronise `mangle.properties` for `minify()` & `test/compress` (#2151)
refactor `compute_char_frequency()` (#2152)
fix `cascade` & `collapse` on property access of constants (#2158)
more tests for #2158 (#2160)
v3.0.20
parse `@global_defs` as expressions (#2169)
improve `unsafe_Func` (#2171)
v3.0.21
improve usability of name cache under `minify()` (#2176)
v3.0.22
improve `inline` efficiency (#2188)
drop argument value after `collapse_vars` (#2190)
v3.0.23
refactor `throw` usage within `compress` (#2193)
clean up `TreeWalker.pop()` (#2195)
improve parenthesis emission (#2196)
minor clean-ups to `evaluate` (#2197)
improve `compress` granularity through `typeofs` (#2201)
suppress `collapse_vars` of `this` as call argument (#2204)
inline property access of object literal (#2209)
inlining of static methods & constants (#2211)
handle duplicate argument names in `collapse_vars` (#2215)
v3.0.24
benchmark gzipped output (#2220)
enhance source mapping on IIFEs (#2224)
fix gzip stream in `test/benchmark.js` (#2228)
enhance `passes` (#2229)
drop `unused` compound assignments (#2230)
fix `unsafe` `evaluate` of `Object` static methods (#2232)
drop `unused` builtin globals under `unsafe` (#2236)
ensure `ie8` works with mangled properties (#2238)
reject malformed CLI parameters (#2239)
v3.0.25
update dependencies (#2241)
unescape surrogate pairs only (#2246)
v3.0.26
improve `mangle.properties` (#2261)
v3.0.27
fix `ie8` mangling of top-level `AST_SymbolCatch` (#2263)
v3.0.28
fix `unused` patching of `AST_For.init` blocks (#2289)
correctly count declarations after `hoist_vars` (#2297)
fix `collapse_vars` on default function argument (#2299)
extend `unsafe` on pure global functions (#2303)
v3.1.0
improve source mapping (#2312)
handle LHS side-effects on `cascade` & `collapse_vars` (#2314)
v3.1.1
suppress `collapse_vars` of `this` into "use strict" (#2326)
v3.1.2
trap invalid use of reserved words (#2338)
enhance `reduce_vars` for `AST_Accessor` (#2339)
v3.1.3
collapse `a.b` whenever safe (#2350)
perform `reduce_vars` on safe literals (#2351)
more tests for #2351 (#2357)
fix-ups for #2356 (#2360)
update dependency (#2362)
v3.1.4
account for side-effects from `AST_This` in `collapse_vars` (#2365)
fix `AST_PropAccess` in `collapse_vars` (#2370)
fix `AST_PropAccess` in `collapse_vars` (take 2) (#2372)
clean up lazy operator detection (#2373)
fix `AST_PropAccess` in `collapse_vars` (take 3) (#2375)
enhance `collapse_vars` around lazy operations (#2369)
backport #2374 (#2376)
`unsafe` fix-ups for #2351 (#2379)
v3.1.5
fix `unsafe` escape analysis in `reduce_vars` (#2387)
fix `unsafe` evaluation of objects (#2388)
fix `unsafe` evaluation of `AST_Sub` (#2389)
fix `unsafe` expansion of object literals (#2390)
safer `properties` transform (#2391)
deduplicate declarations regardless of `toplevel` (#2393)
enhance `unsafe` `evaluate` of arrays & objects (#2394)
fix `unsafe` `reduce_vars` on arrays & objects (#2397)
implement `hoist_props` (#2396)
compress self comparisons (#2398)
fix `reduce_vars` on `AST_Array.length` (#2404)
remove dead code (#2405)
enhance `properties` (#2412)
v3.1.6
compress `new` `function` containing `this` (#2417)
reduce `this` within functions (#2421)
improve variations on call arguments for `ufuzz` (#2424)
maintain call argument order in `collapse_vars` (#2426)
consolidate single-use `function` reduction (#2427)
extend function inlining safety checks (#2430)
tweak #2424 (#2432)
v3.1.7
inline single-use functions that are not constant expressions (#2434)
consolidate & enhance `unused` (#2439)
account for `eval` & `with` in `reduce_vars` (#2441)
handle circular `function` reference gracefully (#2446)
v3.1.8
preserve function identity in `reduce_vars` (#2451)
remove hack in `collapse_vars` (#2457)
fix multiple nested function substitutions (#2458)
fix object literal tracing in `reduce_vars` (#2461)
implement compress option `reduce_funcs` (#2466)
extend `reduce_funcs` to cover cross-scope substitutions (#2469)
v3.1.9
allow symbol replacement on multiple occurrences (#2472)
fix `top_retain` on `hoist_props` (#2474)
fix replacement logic in `collapse_vars` (#2475)
minor consolidations (#2484)
fix cross-scope inlining of `AST_Function`s (#2486)
v3.1.10
enable `hoist_props` by default (#2492)
expand symbol space to improve compression (#2460)
fix `rename` (#2501)
eliminate invalid state caching in `collapse_vars` (#2502)
make `AST_Lambda.contains_this()` less magical (#2505)
fix argument/atom collision by `collapse_vars` (#2507)
extend escape analysis on constant expression properties (#2509)
fix wording and formatting (#2512)
fix argument/atom collision by `properties` (#2514)
v3.2.0
drop assignment in `AST_VarDef.value` (#2522)
improve synergy between `collapse_vars` & `unused` (#2521)
fix nested `hoist_props` substitution (#2523)
fix `inline` on nested substitutions (#2533)
backport test from #2526 (#2534)
fix corner case in call binding (#2541)
improve code reuse (#2542)
improve compression of loop conditions (#2543)
improve compression of `if` conditions (#2544)
convert to number under boolean context (#2545)
improve `AST_For.init` & `AST_Switch.expression` compression (#2546)
improve switch case compression (#2547)
improve boolean compression (#2548)
improve `evaluate` on `typeof` (#2550)
more tests for #2535 (#2551)
fix `dead_code` on `for` (#2552)
v3.2.1
improve `if_return` (#2558)
eliminate noop calls more aggressively (#2559)
account for side-effects in conditional call inversion (#2562)
fix escape analysis for `AST_Conditional` & `AST_Sequence` (#2563)
fix escape analysis for `AST_Throw` (#2564)
improve `unused` on assign-only symbols (#2568)
v3.2.2
handle exceptional flow correctly in `collapse_vars` (#2574)
rename tests (#2575)
escape consecutive unpaired surrogates (#2576)
remove unused code (#2579)
fix `collapse_vars` on `switch` (#2578)
fix `AST_VarDef.may_throw()` (#2580)
avoid `Function.prototype` pollution by `test/sandbox.js` (#2581)
minor clean-up for IIFE (#2582)
improve `collapse_vars` on side-effect-free replacements (#2583)
recover lost opportunities from #2574 (#2584)
fold `cascade` functionality into `collapse_vars` (#2586)
drop local assign-only variable in `return` (#2587)
fix `dead_code` on `return`/`throw` within `try` (#2588)
improve `collapse_vars` (#2591)
improve `reduce_vars` (#2592)
fix `reduce_vars` on single `AST_Defun` reference across loop (#2593)
inline single-use `function` across loop (#2594)
handle `inline` of function arguments (#2590)
fix `reduce_vars` on `do...while` (#2596)
fix `dead_code` on nested `try` (#2599)
fix escape analysis on `||` and `&&` (#2600)
fix nested `inline` (#2602)
account for `catch` variable when `inline` (#2605)
improve `reset_opt_flags()` (#2610)
export `parse()` (#2608)
improve transversal efficiency in `collapse_vars` (#2611)
drop property assignment to constants (#2612)
compress `apply()` & `call()` of `function` (#2613)
handle global constant collision with local variable after `inline` (#2617)
add test for #2613 (#2618)
fix `inline` after single-use `reduce_vars` (#2623)
avoid `inline` of function with special argument names (#2625)
disable `hoist_funs` by default (#2626)
remove AST hack from `inline` (#2627)
extend `test/ufuzz.js` to `inline` & `reduce_funcs` (#2620)
make comments output more robust (#2633)
fix escape analysis on `AST_PropAccess` (#2636)
fix corner cases with `collapse_vars`, `inline` & `reduce_vars` (#2637)
fix comments output & improve `/*@__PURE__*/`
v3.3.0
fix infinite loop during `inline` (#2645)
add `html-minifier` to benchmarks (#2646)
v3.3.1
parse LF & comment correctly (#2653)
v3.3.2
improve `unused` over duplicate variable names (#2656)
suppress `inline` within substituted `AST_Scope` (#2658)
replace single-use recursive functions (#2659)
fix bugs on substituted `AST_Defun` (#2661)
retain recursive function names (#2667)
fix `dead_code` on `return` assignments (#2668)
fix function inlining within loops (#2675)
improve assignment variations (#2671)
fix `pure_getters` on `AST_Binary` (#2681)
v3.3.3
minor clean-ups (#2686)
fix `dead_code` on escaped `return` assignment (#2693)
v3.3.4
reduce hoisting declarations (#2687)
fix `inline` on duplicate argument names (#2698)
enhance `join_vars` & `sequences` (#2697)
scan within IIFEs of assigned values (#2702)
reset argument value within loop after `inline` (#2699)
enhance `if_return` (#2703)
enhance `collapse_vars` (#2704)
inline functions with `AST_Var` (#2688)
extend `__PURE__` to `AST_New` (#2706)
fix `reduce_vars` on `AST_Defun` (#2708)
drop `unused` assignment based on `reduce_vars` (#2709)
apply `collapse_vars` to loop conditions (#2712)
extend `inline` (#2714)
preserve constant modification under strict mode (#2717)
forbid block-scoped `AST_Defun` in strict mode (#2718)
reminify tests upon `expect_stdout` (#2716)
fix corner case in `inline` (#2720)
fix `mangle` name collision across files (#2722)
warn on deprecated features (#2726)
improve `if_return` (#2727)
fix corner case with `arguments` as function name (#2729)
enhance `unsafe_proto` (#2733)
compress `RegExp()` in `unsafe` (#2735)
handle trailing line comments correctly (#2736)
enable AppVeyor CI (#2739)
fix recursive function `inline` (#2738)
improve `process.exit()` workaround (#2741)
v3.3.5
compress loops with immediate `break` (#2746)
improve `rename` reproducibility (#2754)
patch variable declaractions extracted within `catch` (#2753)
improve synergy between `compress` and `rename` (#2755)
enhance `conditionals` (#2758)
skip only `var`s in `if_return` (#2759)
join object assignments (#2763)
fix corner case in #2763 (#2766)
fix nested `unused` assignments (#2769)
update dependencies (#2770)
fix output of imported AST (#2771)
fix `reduce_vars` on `AST_Accessor` (#2776)
v3.3.6
fix & extend `join_vars` for object assigments (#2781)
v3.3.7
run `test/ufuzz.js` when Travis CI is idle (#2784)
improve `test/travis-ufuzz.js` (#2786)
avoid double counting within single-use functions (#2785)
avoid suboptimal termination in `passes` (#2787)
enhance `collapse_vars` (#2788)
improve `test/travis-ufuzz.js` (#2789)
handle VM failure gracefully (#2791)
general improvements around `AST_ForIn` (#2796)
improve `test/travis-ufuzz.js` (#2795)
improve `mocha` tests (#2797)
extend `join_vars` & `sequences` (#2798)
configure `rename` with CLI (#2802)
suppress `unsafe_proto` for LHS expressions (#2804)
fix `AST_Scope.clone()` (#2803)
faster output of comments (#2806)
enhance `test/ufuzz.js` (#2808)
compress `undefined` property names (#2811)
fix time-out for respawned `test/ufuzz.js` (#2814)
fix & improve `test/ufuzz.js` (#2815)
avoid duplicate property names in object literals under "use strict" (#2818)
improve `unused` on built-in functions (#2817)
enable `unsafe` for `test/ufuzz.js` (#2819)
fix `unsafe` `evaluate` of `AST_Array` (#2825)
v3.3.8
handle duplicate function declarations correctly (#2837)
drop assignments to constant expressions only (#2839)
backport of #2835 (#2841)
fix accounting after conversion to assignment (#2847)
v3.3.9
compress chained compound assignments (#2850)
improve symbol replacement heuristic (#2851)
relax `collapse_vars` on `AST_Exit` (#2855)
account for declaration assignment in `collapse_vars` (#2859)
avoid `evaluate` of compound assignment after `dead_code` transform (#2861)
simplify comparisons with `undefined` & `null` (#2862)
account for side-effects in `comparisons` of `null` & `undefined` (#2863)
better fix for #2858 (#2864)
always test for `rename` (#2865)
fix missing corner case in #2855 (#2868)
fix assignment logic in `reduce_vars` (#2872)
allow `collapse_vars` across conditional branches (#2867)
handle `break` & `continue` in `collapse_vars` (#2875)
maintain order between side-effects and externally observable assignments (#2879)
improve exceptional flow compression by `collapse_vars` (#2880)
evaluate `to{Low,Upp}erCase()` under `unsafe` (#2886)
mention file encoding (#2887)
update dependencies (#2889)
account for exceptions in `AST_Assign.left` (#2892)
v3.3.10
Alexis Tyler (1):
fix typo (#1913)
Anat Dagan (1):
in mangle_names there is a check that the variable name is legal and that it is not a reserved word. This should apply to propsmangle as well.
Andrew Levine (1):
Add keep_fnames compressor option to README.md
Andrey Tarantsov (1):
Fix broken calls of complex binary expressions [#471]
Anthony Van de Gejuchte (48):
Update unicode letter
Add unicode digit parsing support
Add test
Keep single line comments after nlb, after nlb
Parse regexes properly
Add node 4.x in Travis
Implement shebang support
Semicolon after do...while statement is optional
Add tests
Disable loop optimization for parse-only tests
Do not allow newlines in string literals
Fix ch that could contain other newline characters
Add mocha tests
Add test case for line continuation
Never mangle arguments and keep them in their scope
Add scope test for arguments
Make arguments test slightly more strict
Add some tests for comment-filters through api
Add keywords to package.json
Allow operator names as getters/setters
Add node 6 to travis
Fix regression causing tests to fail on windows
Do not allow newlines in regex
Fix uglify attempting to rewrite invalid new expressions
Catch errors when compression test fails to parse
Throw errors in strict mode for octal strings
Don't drop unused if scope uses with statement
Stop dropping args in new expressions
Don't allow with statements in strict mode
Re-add parens after new expression in beautify mode
Fix test262 failures related to <, <=, in and instanceof
Don't mix strings with directives in output
Normalize error messages
Keep master in sync with harmony
Move OctalEscapeSequence to read_escape_char
Various LineTerminator changes
Don't convert all strings to directives from moz-ast
Backport mocha with test from harmony
Fix error style for regex errors
Keep const in own scope while compressing
Legacy octal integer strict mode fixes
Make all comment options in cli available in js api
Don't filter shebangs when using the 'some' comment filter
Pass mangle options to figure_out_scope before mangling in tests
Do not overwrite options.comments + cleanup
Add preventive test involving non-ascii function identifiers
Improve optimizing `function() { if(c){return foo} bar();}`
Add .gitattributes to checkout lf eol style
Arnavion (2):
Allow colons in the pairs passed to AST_Toplevel.wrap_enclose
Don't warn for an unreferenced exception symbol in a catch block.
Artemy Tregubenko (2):
added @ngInject support for inline functions
added newline at the end of the file
Ashley (Scirra) (1):
Add --mangle-props-debug and fix --mangle-props=unquoted collision
Asia (1):
Document the except option to mangle
Austin Brown (1):
Update README.md
Boris Letocha (1):
Fixes #951 missing export for SymbolDef
Bryan Rayner (1):
Add mangleProperties documentation to README
Bryce Cronkite-Ratcliff (1):
fixes issue #621 SourceMap toString JSON format
Caridy Patino (1):
using the original sourcemap as the base
Cedric Vivier (1):
Extend name mangling from base54 to base64 after first character. Provides better compression on libraries with a large number of variables.
ChALkeR (1):
Export tokenizer function
Cheng Liangyu (1):
fix base54
Chris Cowan (2):
Give a good error message if an invalid regular expression is found.
Re-use the caught exception's error message in the parse error call.
Chris Hoffman (1):
Make the package.json work when npm linking again
Christian Maughan Tegnér (1):
Add `--in-source-map inline` documentation (#1611)
Christopher Chedeau (1):
[Fix] --define replaces SymbolRefs in LHS of assignments
Conrad Irwin (1):
Handle TryStatements trees from acorn >=0.2.0
Damian Krzeminski (2):
upgrade yargs 3.5.4 -> 3.10.0
add `--pure-funcs` option
Dan (3):
change `undefined == x` to `null == x` (#2882)
describe a few compiler assumptions (#2883)
add information on testing and code style (#2885)
Dan Wolff (1):
Evaluate "foo".length ==> 3
David Bau (1):
Escape null characters as \0 unless followed by 0-7.
David Caldwell (1):
Document passing source maps directly to minify() using inSourceMap
David Šanda (2):
Fix CLI source-maps examples (#2291)
Fix CLI example for mangle reserved list of names (#2294)
Derek Wickern (1):
Fix backslashes in source-map paths on Windows
Edward Casbon (1):
Add filename to the JS_Parse_Error exception.
Eirikur Nilsson (1):
Added a failing test for with statements.
Emil Hesslow (12):
Added an easy way to create unittests and created units test for 16 of the fixed issues on github
Add support for compressing 'a + "str1" + "str2" + b' to 'a+"str1str2"+b'
compress assignments more
compress assignments more
Be even better with assignments
Be even better with assignments
Treat the first statement in a for-loop the same as a normal statement. So do seq with previous statements. Put together var and const declarations. And if it is empty move the last statement there
Add some more types to find_first_execute. Gives a few bytes on jquery and processingjs
Add a decompress step first so we don't have to add a lot of code to handle special cases around sequences and first statement in for-loops.
Move i++, ++i, i+=1 forward into the next statement if possible
Fix issue 48 where 0 and "" was treated as same and wrongful optimizations where done
- Removed --extra because of bugs in the optimizations. After the bugs are fixed I will move them into --unsafe so they get some testing.
Erik Desjardins (1):
don't escape null characters as \0 when followed by any digit (#2273)
Fintan Fairmichael (1):
Fixes printing printing small floating point numbers.
Fábio Santos (2):
Added expect_exact for testing the OutputStream
Fix #836
Geraint (1):
Allow input files to be map (url->filename)
Ingo Struck (1):
allow for anonymous map generation using string type check
Ingvar Stepanyan (9):
Improved UglifyJS<->SpiderMonkey AST conversions.
Fixes and improvements for UglifyJS->SM AST conversion.
Small fixes for AST conversion.
SpiderMonkey `Identifier` nodes should contain mangled names.
Added generative testing for AST conversions.
Install newest NPM on oldest Node.js.
Added example for usage with SpiderMonkey AST.
Track ending lines/columns; fix end locations in Mozilla AST.
Location fix for Mozilla AST start token.
Isaac Z. Schlueter (1):
Remove whitespace in #! line
Jacob Kristhammar (1):
Use uglify source map token names if missing
Jann Horn (3):
compile `a=a+b` to `a+=b` and so on
put the assignment types into an array literal instead of stringsplit
fix uses_arguments handling (broken since 6605d1578351)
Jason Davies (1):
Fix sparse array literals e.g. [,]
Jeremy Marzka (1):
Added a mangle properties option
Jez Ng (1):
Allow defines even when not mangling.
Joao Carlos (3):
Add --mangle-regex option
Show descriptive error when --mangle-regex is invalid
Change --mangle-regex to accept a full regex
Jonas Smedegaard (4):
Strip .gitignore file.
Imported Upstream version 1.3.5
Merge branch 'upstream' into upstream-experimental
New upstream version 3.3.10
Jordan Harband (1):
Test on latest `node` and `io.js`
Joseph Gentle (1):
Added null as a constant.
Joël Galeran (1):
fix typo in README (#2792)
Kara (1):
fix docs for side_effects flag to reflect current behavior (#1966)
Kenneth Powers (1):
Use yargs instead of optimist.
Kosei Kitahara (1):
Support wrap and exportAll options.
Kyle Mitchell (1):
use a valid SPDX license identifier
Lauri Pokka (1):
lib/sourcemap.js: Copy sourceContent from old souce-map to the new source-map. Should fix #882
Lucas Wiener (3):
Fixed sourceMapIncludeSources and inSourceMap = string combination of the UglifyJS.minify function.
Added test for #1236
Moved test input files to test/input.
Mal Graty (6):
Improved strict mode support
Don't bother save/restoring in_directives
Apply ascii only option to regexps
Squashable directives
Adding tests for squeezing directives
Fix make for newer versions of node
Marijn Haverbeke (1):
add an ascii_only option to gen_code
Martii (1):
Create and map `bare-returns` into new `parse` property name
Martijn Swaagman (1):
Generate source map data from normalized files
Mateusz Burzyński (1):
Testing all leading comments against being PURE comments (#2305)
Mathias Bynens (2):
Only a subset of whitespace characters is problematic after `</script`, so use `[\t\n\f\r ]` instead of `\s`.
`</script/` is problematic, too.
Matt Glazar (4):
More sane unit testing script
Merge commit '9472f4ff19e0daf3adb7fdb0304ab77f19d3cc52'
Compress ifs further
Failing test cases for name mangling
Michael Ficarra (3):
version test for node was missing a leading `v` and was not compatible
fixed issue #112: `_ == true` -> `_ == 1` and similar
fixes #845: \v escaping should be restricted to "screw_ie8" mode
Michael Mior (1):
Correctly raise a parse exception with a missing loop body (#1585)
Mickaël Delahaye (1):
Add syntax error on newline after 'throw'
Mihai Bazon (567):
git init (moved from a mercurial repo, but I don't care about previous history)
minor
fixed some issues with code generation; it's now hopefully complete.
added process_ast which mangles variable names and will eventually apply
resolve simple binary ops on constants
mangling/compression finally works fine (compress itself, run the compressed
fix parsing problem (only allow minus as part of the number when it's the first character)
allow function(){return} (no semicolon after return) when not in strict-semicolons
"new Foo;" should still insert an empty argument list
added "with" and "atom" generators for codegen
handle return with no arguments in codegen
fixed parsing conditionals (thanks Marijn!)
support "with" and "atom" in process_ast
minor
disorganized tests
always add space between consecutive [+-] operators (handles "i + ++j").
add parens around called expression if not "name" or "dot" (should cover all cases)
display empty blocks as "{}"
minor
Better fix from the master programmer for some issues that I identified:
better fix for "{return}" case (http://marijn.haverbeke.nl/git/?p=parse-js;a=blobdiff;f=src/parse.lisp;h=da8409d1e7078dea43c5c5de7ce5afcf1caf6562;hp=80438c39afad5ca5d5fc3fca35a13d3daae63de3;hb=732969c989144e56a74b51dea6b9e227a7e9d031;hpb=2e09d491179be4a838e9435cdacfd7f1e84e9646)
fix for parsing ".1" (discard the dot from punc. chars)
minor
minor
minor style changes
rewrote proper mangler/compressor (in process.js); revised code generator.
some reorganization, some fixes (moved gen_code to process.js, handle
minor
Fixed bug that showed up when processing jQuery: I was using the "token in
lots of other fixes while testing on jQuery:
another fix: don't shadow a name that is referenced but not defined -- it's possibly a global defined elsewhere
dropping spurious brackets got back, but this time it's safer
further optimizations for IFs:
more optimization for IF statements
comments + small cleanups
minor
added some documentation
README.org for github
symlink not good enough for github.
README for github, take 3
fixed doc rendering for github
minor doc changes (link to the Google Group)
links
links
squeeze a few more bytes: if (!foo) bar(); else baz(); ==> foo ? baz() : bar();
minor: transform !foo?bar():baz() ==> foo?baz():bar() for all conditionals (16 less bytes on DL and 3 on jQ :-p)
Fix for: http://github.com/mishoo/UglifyJS/issues#issue/2 --
Allow unescaped slash character in literal regexps, when inside a character class.
we must add semicolon after do{...}while()
newline after return shouldn't cause the next token to become the returned value:
maybe_before_semicolon no longer in use
add parens to "seq" in conditionals; fixed typo that caused this to break in
support for '2e-3' (http://github.com/mishoo/UglifyJS/issues#issue/4)
newline normalization (http://github.com/mishoo/UglifyJS/issues#issue/7)
small fix (content of line comment tokens had the last char cut)
Multiline comments that contain a newline will trigger semicolon insertion
when not in "strict semicolons", allow trailing comma in hash and array literals
add parens around "assign" when it's used as condition in the ?/: operator.
add parens around "seq" when used as constructor.
fixed again http://github.com/mishoo/UglifyJS/issues/issue/11/#comment_361674
`new (X ? A : B)` → `new X?A:B` --- now fixed.
Fixed parsing [^[ ... ] in regexp.
adding space before the colon in literal objects is now optional
minor cleanup
some cleanups
removed old/unused files
no more JSON.stringify to output strings
small script to call the uglifier/beautifier
add parens around "seq" when used as condition in the ?/: operator
minor improvement: if (!foo) bar(); else baz(); ==> if (foo) baz(); else bar();
minor: don't add parens around "binary" when used in combination with an operator of the same precedence
reverted previous commit [ a-(b-c) was translated to a-b-c which is wrong ]
minor
block brackets are required in try/catch/finally
small cleanup
some cleanups regarding "block" nodes -- and gained a few more bytes by properly adding the brackets *only* when really needed.
Fixed bug when adding blocks to THEN clause:
fix: don't add a mangled name to anonymous functions
minor optimizations/experiments:
minor fix gains another few hundred bytes on DL, Ymacs and jQuery.
default make_seqs => true
update docs
fixed links
no need to escape slashes in regexp, since we store the backslash as well
fixed parsing for x++ / 5
minor
escape \r and \f when in output strings
parenthesize "dot" in "new" calls; sometimes this can add unnecessary
back to using JSON.stringify to output strings (still the safest variant)
support "const"
fixed parsing 0xC1BDCEEE
fixed issue with mangling: http://github.com/mishoo/UglifyJS/issues#issue/17
added option to mangle toplevel scope
minor improvements:
Handle EOF when reading blocks.
minor fix for numbers
fixed again parsing unterminated blocks (handle EOF)
don't enforce for/do/while/switch in label_statement
in fact, do check for do/for/while/switch after label, but only in "strict_mode"
croak on try{} without catch{} and finally{}
added --ast
when --ast is specified we should still go through all the requested tree processing
"case" and "default" nodes no longer appear in the tree; instead, since they
removed unused code
added --overwrite to overwrite the original file
Merge branch 'master' into macros
remove final "break" statement in switch (only when unlabelled)
some doc updates
allow regexp immediately after else
allow a literal regexp to start a statement
looks like comma-expressions should be explicitly forbidden in expressions of the "conditional" (?) operator.
Accept operator &=
disallow assignment to 'this'
NaN is not a keyword
when parsing a function, reset in_loop to disallow break/continue
mark 'i' as referenced in the current scope on "for (i in foo)"
tighten try/catch/finally blocks
ability to remove some dead code, and warn about it (ON by default):
updated doc
update doc
fix for http://github.com/mishoo/UglifyJS/issues#issue/25
some cleanups/fixes that were figure out in the Lisp version [1]. Big speed improvement.
when the condition in a conditional is a conditional, should add the parens
don't quote object keys when they are integers
cut off a few more bytes by being a bit smarter about adding parens around function literals
more cases to handle before discarding parens around function literals
skip literal functions when detecting calls in "new" expression
handle <<, >> and >>> when resolving binary operations
should be safe not to force numbers in evaluating <<, >>, >>>
more accurately support numbers as keys in literal objects
fixed regression (we always quoted object props)
fixed another regression (we always added parens in unary-prefix/postfix)
discarded other unnecessary parens -- before, !!b used to turn into !(!b)
convert string properties to numbers where possible in literal objects
reverted previous commit (not such a good idea, as it changes semantics)
fix parsing for 1e+2
in Node-0.3 "sys" has been renamed "util"
minor
Merge branch 'master' of http://github.com/michaelficarra/UglifyJS
make sure *this* is quoted
Merge branch 'master' of http://github.com/satyr/UglifyJS
sys = require("util") for node 0.3+
some cleanup
squeeze a few more bytes with an apparently safe transformation:
Small note: we beat GCL on jQuery ;-) Should update the stats in the documentation.
small change in handling the first comment (only keep the first X comments
small change in the way the lib is loaded (officially named "uglify-js";
Merge branch 'assignment' of http://github.com/WizKid/UglifyJS into wizkid-master
whatever I'm commiting right now should just be a merge operation
Merge https://github.com/WizKid/UglifyJS into wizkid-master
renamed uglify-js.js to index.js since it appears to be too complicated to
Merge commit '38f691e'
minor optimization for if (foo) { ... return }
Merge branch 'wizkid-master'
fixes issue #43 (restore regex_allowed after skipping a comment)
minor
removed unused code
added --extra option, which will enable optimizations that we're not yet
fixed issue #50 and added test case. also:
Merge remote branch 'wizkid/master'
oops, fixed regression (var joining is safe, should be enabled by default)
true => !0, false => !1 -- seems safe; this cuts 1K on DynarchLIB
be smarter about negation:
fixed issue #53: x = (y, z) should not discard the parens
foo.toString() ==> foo.""
removed useless check
disabled foo.toString() ==> foo+""; it's still available if you pass
minor (got rid of try/finally)
fix for issue #58
fixed issue #57 -- add block brackets around do/while in code like this:
fixed issue #59 ("!--x" incorrectly yield "--x")
fixed issue #61: f((a, b)) was incorrectly rendered f(a, b)
removed Node dependency from process.js (issue #60)
fixed issue #62: properly handle negation such that:
got rid of JSON.stringify for writing strings; having our own function now,
compress new Array(1, 2, 3) into [1,2,3]
fixed regression: new Array(x) should be left as is.
properly handle the case where Array exists in current scope:
updated expected test result (broken since we added support for quoting with
but then indeed, "new Array(x)" can be safely written "Array(x)" if we're
compress Array(1,2,3) into [1,2,3] too
updated doc to point out the potentially unsafe Array transformations
doc fix
added an array mapping utility that allows us to push stuff at the top
fixed issue #68: push function definitions to the top of the current scope
updated "expected" version for tests affected by the last change
fixed issue #69
fixed issue #70: for reasons unknown to humanity, you can have an
switched to the simplified BSD license
support parsing getter/setter declarations in object literals (patch by Pavel Podivilov)
support mangling/squeezing/gen_code for getter/setters in object literals
fixed comment
issue #71 -- increment line count in multiline comments
issue #72: (0).toString -> 0..toString
fixed parsing "5..toString()"
support [1,,3] (an array with 3 elements)
Added the ability to insert some newlines in the generated code
moved split_lines into the library code and exported it
reversed the previous patch; the ideea was good, but implementation seems to
fixed issue #77 -- endless recursion if the stream ends with ++/--
remove bogus ~= operator and extra %= mention
fixes #78 -- quote numeric property names when they're negative
don't call output.end() when we're writing to standard output
semicolon removal less aggresive:
Employ the full parser, rather than just the tokenizer, for splitting
read --max-line-len argument as an integer
fixes #83 -- show a cleaner error when the input file isn't found
fixes #84 -- safer dealing with boolean expressions,
refs #84 -- consider a = !b a boolean expression too
transform !(a?b:c) ==> !a?c:b
minor optimizations:
oops, fixed regression: !(a?b:c) can't convert to !a?c:b
fixed negating conditionals again :-\
fixes #86 -- dropped unsafe transformation
mostly cosmetic change
removed unused code
removed more unused code
fixes #65 -- moved the following transformations under --unsafe:
keep the first token in ast_walker, ast_add_scope and ast_mangle (useful for
more embed_tokens: do lambdas too
fixes #87 -- transform while(true){...} into for(;;){...}. Drop the block
but don't try to warn when the "unreachable code" is empty
resolved conflict
don't display warnings unless --verbose
fixes #94 -- drop names of inline functions when they aren't referenced anywhere
slightly better fix, in case your inline function is named toString,
Merge branch 'master' of https://github.com/cadorn/uglify-js into cadorn-master
fixes #92 -- added --reserved-names command line argument (pass one or more
updated doc of ast_mangle (there was a small API change)
issue #96 -- added parser test suite, thanks to Peter van der Zee
issue #96 (regular expression flags) -- accept any identifier character for
support unicode chars in identifiers
disabled some checks by default (they're enabled in strict_mode):
treat ZWSP (zero-width space, U+200B) as whitespace
issue #96 -- support UnicodeEscapeSequence in names
fixed some regexps
minor
allow new Date++
allow call expressions to be lvalues too
don't check whether the left side is assignable, unless strict_mode == true
support funny cases of for-in:
renamed variable "strict_mode" to "exigent_mode", to avoid confusion with
reverted 687382e4d2f55401483e6823cb814d7c9cab5dbc and updated testparser.js
fixes #99
warn when "conditional comments" are encountered
added --ascii option, useful to encode non-ASCII characters as \uXXXX.
updated gen_code API description
transform a["123"] into a[123] (fixes #107)
only add a second dot in forms like (5).toFixed() if the number is integer.
fixed parsing for stuff like 0x12.toFixed() (when we have 0x, the dot cannot
removed duplicated operator
fixes #117 -- don't parenthesize literal objects
add parens around object literal when used as first thing in a statement
fix more pathological cases of parens around literal object
again: it can be first thing in a statement when in unary-prefix too...
more parens around literal objects/functions when first thing in a statement
handle conditional operator too
NPM changes
comments (fixes #120)
Merge branch 'master' of https://github.com/chriskr/UglifyJS into chriskr-master
fixes issue #129 -- initializers in var/const cannot be seq-s (parens needed)
only defuns define a new name in the current scope; named lambdas seem
better fix for issue #128:
support "splice" node, which is like "block" but doesn't add the brackets in gen_code
added a sample on how to use the parser/walker to instrument some code
embed tokens in expr_atom and expression parsers too
add brackets around splice nodes when they're directly under "for",
Merged pull request #133 from aaronblohowiak/master.
Merged pull request #137 from tav/master.
can't optimize away do{ ... }while(false) - fixes #150
options.defines is optional..
Merge pull request #149 from killdream/master
simple "make" utility. ideas welcome.
v1.0.2 -- fixes #152
newline after continue/break ends the statement (fixes #154)
minor
mangled name of a function expression should not clash with a name in the
version 1.0.3
small cleanup
fixed mangling of lambda names (regressed as of ae88177)
version 1.0.4
fixed regression after ae88177fde6a7e54b047: mangling the name of function
give unary postfix ops the right precedence (fixes #173)
added --inline-script option to escape `</script`, by popular demand
updated doc
version 1.0.5
minor (`</script` needs escape only if followed by `>` or whitespace)
Merge pull request #177 from mathiasbynens/master
support deprecated OctalEscapeSequence in strings (fixes #178)
Merge pull request #179 from eirikurn/master
fixed compression of `with` statements (regressed at 9053435497e6ab53b100ead72aa399e48f3df8c3)
version 1.0.6
parenthesize seq values in object literals (fixes #180)
discard backslashed literal newlines in strings (fixes #183)
Added ast_lift_variables, which does a little more than its name says:
attempt to group assignments into the var declaration
minor
more solid check need of semicolons after the last statement of a block.
Easy yet safe optimization. Saves 119b on jQuery.
Updated readme. Follow @UglifyJS on Twitter. ;-)
no point to keep initialization values in var/const in unreachable code
mangle label names (fixes #151)
more fixes:
Merge pull request #199 from thorn0/patch-1
moved Array ==> [] transforms in squeeze-more (so they now apply on `--unsafe`)
Merge pull request #200 from johnjbarton/01a83b461f541898cb4b2f9ef033245c1a7ee18b
Merge pull request #202 from lautis/fix-broken-tests
Merge branch 'master' of github.com:mishoo/UglifyJS
updated doc
exit with code 1 in case of error (fixes #204)
version 1.0.7
fixed parsing in exigent_mode + embed_tokens (fixes #208)
merged cade4f252e5f4db715d9 from @schmerg, other minor doc updates
fixed codegen for `(function(){...}()) && bar()`.
Added an utility that allows walking depth-first easily.
fixed rendering of extremely "large" negative numbers (fixes #214)
err, fixed again negative numbers. (#214)
Merge pull request #220 from proxv/master
Merge pull request #216 from jasondavies/sparse-arrays
Merge pull request #230 from thejh/assign-to-modifyassign
support empty "then" IF branch in codegen
fix for parsing regexps like /=/ where statement is expected
Merge pull request #232 from proxv/master
add parens around literal object as statement (fixes #234)
Merge branch 'master' of github.com:mishoo/UglifyJS
fixed removal of `if (false) { ... }`
Merge pull request #235 from josephg/patch-1
Merge pull request #237 from proxv/parenthesize-no-prop-object-literals
Merge branch 'issue112' of https://github.com/michaelficarra/UglifyJS into michaelficarra
Merge branch 'master' of github.com:mishoo/UglifyJS
Merge pull request #172 from 5long/master
semicolons
Merge pull request #211 from lautis/unicode-whitespace
in fact, new Error().stack is enough to get a stacktrace
Merge branch 'master' of github.com:mishoo/UglifyJS
try negation in make_conditional (closes #227)
Merge branch 'encode-nulls' of https://github.com/lautis/UglifyJS into lautis
version 1.1
fixed version for NPM
Merge branch 'parenthesize-function-expressions' of https://github.com/proxv/UglifyJS into tmp
Merge pull request #238 from proxv/multiline-strings-semicolons
keep literal newlines in strings as \n
reverted last patch
fix parenthesization of anonymous function calls
better fix instead of f896f690500f11130435c495a7b1eaf9338c59dd
negating >= and <= operators is back to --unsafe (closes #239)
add final semicolon (closes #126)
version 1.1.1
use == instead of === in `member` (fixes #244)
escaped slash character in regexp
String(a) => a+"" (with --unsafe)
at most one ';' at EOF
some cleanup
Merge pull request #263 from ikokostya/object
Use a different scope for labels than for variables.
Merge pull request #258 from ikokostya/fix-error-pos
Merge pull request #248 from WolfgangKluge/endpos-in-tokens
fixes embed_tokens for functions (#260)
option to prevent mangling or dropping of function names (#267)
updated doc
version 1.2
made npm happy
don't walk label statements twice (closes #272)
version 1.2.1
walk label statement *after* mangling it (really fixes #272)
v1.2.2
support `debugger` statement (closes #278)
improved redo_if (closes #283)
v1.2.3
Merge pull request #291 from isaacs/patch-1
v1.2.4
Merge pull request #295 from WolfgangKluge/master
handle null constant (closes #299)
v1.2.5
avoid parens for getter/setters (closes #301)
avoid double-parens on calls on function expressions (fixes #313)
output literal TABs in strings (fixes #318)
fix parsing `x = {}/1` (closes #320)
Merge pull request #327 from RGustBardon/master
Merge pull request #328 from RGustBardon/fix-162-and-271
Merge pull request #329 from RGustBardon/implement-325
v1.2.6
support "use-strict" as a statement (refs #339)
Merge pull request #345 from mal/master
Merge pull request #355 from proxv/debugger-semicolon-insertion
Merge pull request #356 from proxv/fix-failing-test
Merge pull request #357 from proxv/handle-comment-newlines
Merge pull request #358 from proxv/package-improvements
Merge pull request #359 from proxv/fix-consolidator
Merge pull request #369 from mal/ascii-regex
Merge pull request #373 from mal/master
fix parsing 1e5..toFixed(5)
don't generate double-dot for 10000..toFixed(5)
Merge branch 'master' of github.com:mishoo/UglifyJS
avoid some double-parens
Merge pull request #342 from int3/master
Merge pull request #384 from RGustBardon/fix-383
Merge pull request #385 from RGustBardon/implement-368
Merge pull request #387 from rvanvelzen/master
when the statement of a for is not empty, check if it requires semicolon
Merge pull request #397 from rvanvelzen/optimize_gzip
Undo commit 133b36f54d0e8f78fc649e99983798bf05445b18
Merge branch 'fix-222-and-324' of https://github.com/RGustBardon/UglifyJS into RGustBardon-fix-222-and-324
propagate newline_before for comment tokens (fixes #398)
when --unsafe, replace "foo".toString() with "foo", rather than "foo"+""
Merge pull request #400 from proxv/override-digits-in-tests
Merge pull request #401 from proxv/ast-squeeze-call
v1.3.0
ast_mangle should, well, mangle by default. (fixes #404)
also don't mangle function names if !options.mangle (#404)
fix options for ast_mangle
Merge pull request #407 from RGustBardon/1e+21
Merge pull request #408 from RGustBardon/if-not
Merge pull request #410 from RGustBardon/infinite
cleaner fix for 0/0, 1/0, -1/0 (issue #410)
minor --make stuff
v1.3.1
add the space in “return λ” and similar cases
v1.3.2
revert f5419ec2d6b7e341f99a1f09a63ff6b6a0e3fc95 (squashable directives)
emacs vars
added separate step to discard redundant directives
fix for redundant directives in same scope
"sys" → "util"
be wary of some conditional operators in lift_variables (fixes #435)
fix --lift-vars for "for(var i; ...)" (var declared in for but uninitialized)
Merge pull request #432 from rvanvelzen/fix-431
v1.3.3
I'm officially switching to 4-space indentation.
add note about UglifyJS 2.0
Merge pull request #458 from rvanvelzen/div-with-regexp
discard all \uFEFF characters (close #462)
disallow newlines in strings (fix #463)
Merge pull request #343 from spadgos/patch-1
Reverting "discard all \uFEFF characters (close #462)"
treat \uFEFF as whitespace
v1.3.4
add note about the NPM package, which switched to v2
drop the pledgie link
v1.3.5
Merge pull request #454 from Arnavion/allow-colons-in-wrap_enclose
Merge pull request #470 from ebednarz/master
Always quote property names that contain non-ASCII characters.
Update tests.
Merge pull request #445 from ConradIrwin/try-statement
Merge branch 'master' of github.com:mishoo/UglifyJS2
Fix parens in +(+x). Close #475
Better fix for #475
Actually, even better. #475
v2.4.14
Merge pull request #499 from shinnn/master
Check for the case an AST_For's init is an EmptyStatement
Lock source-map to 0.1.34
v2.4.15
Fix parens for AST_Undefined
Merge branch 'patch-1' of https://github.com/gdw2/UglifyJS2
Merge branch 'master' of https://github.com/RReverser/UglifyJS2
Merge pull request #529 from RReverser/master
Prevent error for Function(""). Close #538
Turn foo.new into foo["new"] when not --screw-ie8. Fix #534
Merge pull request #541 from TalAter/conditional-improvements
Merge pull request #549 from Arnavion/unreferenced-catch-symbol
Referencing a global is assumed to have side effects.
Document `keep_fargs`. Close #557
Add option to allow return outside of functions.
Merge pull request #546 from jacobk/patch-1
v2.4.16
Merge pull request #599 from rvanvelzen/fix-597
Support keep_fnames in compressor, and --keep-fnames. #552
Merge branch 'keep-function-expression-names' of https://github.com/rvanvelzen/UglifyJS2
Declare boolean type for --keep-fnames
Fix handling \r\n
AST_Do nodes: walk body before condition
aborts(AST_If) returns the `if` node
Fix make_node_from_constant for Regexp-s
Merge pull request #606 from rvanvelzen/document-double-dash
Merge pull request #482 from arty-name/inline-ng-inject
Merge pull request #612 from rvanvelzen/issue-611
Merge pull request #615 from avdg/unicode
Add option to preserve/enforce string quote style
v2.4.17
Add property name mangler
Fix --reserved-file
Fix prop mangling
rename --prop-cache to --name-cache
Export readNameCache / writeNameCache
Add tool to list DOM properties/methods
tools/props.html: use try/catch in a few more places
Fix parsing for U+2028 / U+2029
Fix parsing for U+2028 / U+2029
Bump yargs version (for .array arguments)
Support multiple --reserved-file args
Add --reserve-domprops along with a default exclusion list in tools/domprops.json
tools/props.html: output complete JSON
Don't use Object.create
Keep unused function arguments by default
Export readDefaultReservedFile
Add start/end nodes for NaN/Infinity transformations
Avoid sequencesize for more than 2000 statements.
[sequencesize] Actually even better:
Fix compressing `![foo()];` as a statement
Merge in more DOM properties.
Add tool to extract property names
Merge branch 'propmangle'
Update README
v2.4.18
Disable testing with Node 0.8
Merge pull request #660 from ntkme/fix-long-options
v2.4.19
Merge pull request #669 from galvanix/documentation-inSourceMap
More fixes for the breaking changes in yargs
Use the `before` visitor in mangle props
Fix compression of conditionals
v2.4.20
Drop NaN -> 0/0 transformation.
Fix tests
If name_cache is specified, do rename cached properties
Fix parsing strings with literal DOS newlines
Avoid spurious brackets when dropping unused vars
Remove deprecated calls to utils.print/utils.error
Fix blank lines in the output.
v2.4.21
Only drop the BOM when it's the first character.
Make reserved names take priority over the name cache
fix again reserved props
Fix compressing conditionals
v2.4.22
Treat \uFEFF as whitespace.
v2.4.23
Merge pull request #733 from jcxplorer/add-mangle-regex-option
Don't drop parens in a * (b * c). Close #744
Merge pull request #735 from kzc/master
Don't attempt to negate non-boolean AST_Binary
v2.4.24
Merge pull request #757 from rvanvelzen/semicolon-fix
Fix wrap_commonjs to include code first
No longer use `vm` to load code.
Fix mozilla-ast after module loading changes
Disable node 0.8 in Travis
Merge pull request #808 from avdg/travis
v2.5.0
Only encode <!-- and --> in strings when inline_script
Fix tests
Merge pull request #829 from kzc/html_comment_ops
Fix parsing invalid input
Merge pull request #854 from kzc/moz-regexp-2
Rework has_directive
Replace util.error with console.log
Build label def/refs info when figuring out scope
Fix output for "use asm" code from SpiderMonkey AST
v2.6.0
Limit max iterations for tighten_body
Fix endless loop
v2.6.1
Fix hoisting the var in ForIn
Add start/end in the `arguments` definition
Merge pull request #949 from kzc/collapse_vars_conditions
v2.6.2
Merge pull request #1019 from kzc/escape-ascii-only
Merge pull request #1011 from kzc/dont-produce-let-in-mangle
Avoid using inherited hasOwnProperty
Merge pull request #1032 from kzc/member
Actually limit sequence length.
Merge pull request #1053 from rvanvelzen/hoist_if_return_funs
Merge pull request #1155 from kzc/issue_1154
Merge pull request #1277 from kzc/fix-string-plus-opt
Merge pull request #1481 from anatdagan/propsmangle_only_identifiers
Nick Fisher (2):
Added an example of how to use the `defines` option (see #281)
Fixed syntax
OiNutter (1):
add sourceMappingUrl to output in node module
Ondřej Španěl (3):
Fix: AST_Accessor missing start / end tokens
Avoid using exports when undefined (#1471)
Transform can be simplified when clone is not done. (#2621)
Paul Baumgart (16):
Constant fold modulo operator.
Parenthesize sequences in constructor calls.
Parenthesize object literals with no properties.
Parenthesize function expressions.
Don't insert semicolons before multi-line strings.
add semicolon after debugger statements if necessary (closes #353)
add tests for issue 353
fix expected output for issue14 test to have literal tab instead of escaped tab
make note of newlines in comments for ASI purposes (closes #349)
add nodeunit devDependency and add 'npm test' script to package.json
require local version of uglify instead of global
fix consolidator to use new 'directive' AST node
move consolidator tests to test/ dir and run them via 'npm test'
add npm-debug.log to .gitignore
Add base54 digits override for unit tests.
Also descend arg AST nodes in ast_squeeze function-call handler
Peter Dave Hello (1):
Use svg instead of png to get better image quality
Peter van der Zee (2):
Improve fuzzer. :) (#1665)
Massive extension of the fuzzer (#1697)
Quildreen Motta (1):
Adds missing whitespace characters to WHITESPACE_CHARS
ReadmeCritic (1):
Update README URLs based on HTTP redirects
Richard van Velzen (68):
Fix for issue #386
Optimize list of digits for generating identifiers for gzip compression.
Fix issue #431
Fix division with regexp as right generating invalid code.
Fix #597
Fix #569
Merge pull request #600 from KenPowers/master
Merge pull request #592 from micschro/patch-1
Merge pull request #584 from clyfish/fix-base54
Merge pull request #570 from rvanvelzen/fix-569
Fix #556
Add a "keep_fnames" option to the compressor to retain function expression names
Add an option to prevent function names from being mangled
Pass mangle options to `figure_out_scope` and `compute_char_frequence`
Document `--` for usage in CLI class
Replace the correct node when replacing in `void` sequences
Make empty source map values more reasonable in .minify()
Drop all `console` statements properly
Fix invalid removal of left side in && and || compression
Clean up unit test breakage
Replace util.puts in run-tests with console.log
Fix semicolon printing when restricting max line length
Revert "Fix semicolon printing when restricting max line length"
Fix semicolon printing when restricting max line length
Merge pull request #753 from Surgo/master
Fix mangling of property names which overwrite unmangleable properties
Merge pull request #729 from DrewML/keep_fnames_docs
Merge pull request #736 from AlbertoGP/master
Merge pull request #767 from vjeux/208
Don't change sequences that influence lexical binding in calls
Fix bad parsing of `new new x()()` constructs
Merge pull request #786 from istr/anonymous-source-map
Stop building for io.js
Allow specification beautify options in tests
Prevent ReDoS by not using a regexp to verify floating point numbers
Merge pull request #864 from plievone/patch-1
Merge pull request #879 from ReadmeCritic/master
Merge pull request #896 from avdg/do-while-semicolon
Merge pull request #874 from kzc/fix-conditionals
Merge pull request #905 from avdg/unit-tests
Merge pull request #918 from avdg/fix-arguments-handling
Merge pull request #928 from STRML/constPragma
Allow cli options to be specified in separate definitions
Merge pull request #948 from kzc/collapse_vars_doc
Don't compress (0, eval)() to eval()
Allow --no-* options to disable their respective parameter
Add base54.reset() to compress tests
Prevent endless recursion when evaluating self-referencing consts
Hoist functions when reversing if (x) return; ... vs. if (!x) ...
Add test case for hoisting a single function
Add test cases for slightly more esoteric cases
Never produce -0 when evaluating expressions (like -"")
Completely allow evaluating -0
Fix octal string strict mode tests
v2.6.3
Don't assume DEBUG is defined when exporting --self
v2.6.4
Introduce a test that tests the --self build
v2.7.0
Build with AppVeyor on windows
v2.7.1
v2.7.2
Fix negate_iife transform to return a correct tree for nested IIFEs
v2.7.3
Add an option to wrap IIFEs in parenthesis
Remove console.log and add extra test case
v2.7.4
v2.7.5
Rob Garrison (1):
update output options in readme (#1958)
Rob Loach (1):
Add .npmignore
Robert Gust-Bardon (9):
Consolidate null, Boolean, and String values
Fix issues #162 and #271
Implement the idea from issue #325
Fix issues #222 and #324
Revoke #368 and fix issue #383 to make jQuery tests pass
Implement #368 (too many parentheses)
Remove unnecessary "+" sign in SignedInteger
Remove NOT in IfStatement with EmptyStatement (-s)
Fix representation of infinite values
Roger Peppe (1):
update README to include defaults (#2356)
Roman Dvornov (1):
Fix API reference examples (#1834)
Ryan Gunn (1):
Update License Copyright Year to 2018 (#2866)
Samuel Reed (5):
Mark vars with /** @const */ pragma as consts so they can be eliminated.
Update README for /** @const */
Use TreeWalker for more accurate @const results and update tests
Simplify by skipping extra tree walk.
Tighten up @const regex.
Sebastien Daniel (1):
added documentation on conditional compilation using API
Shinnosuke Watanabe (1):
Do not run a test for Node v0.4
Shrey Banga (1):
Respect quote style in object literals
SpainTrain (1):
Pin dependencies with npm shrinkwrap
Tal Ater (4):
Compress conditional assignments where all possible outcomes are equivalant and condition has no side effects
Added a test for else if
Compress conditions that have side effects using sequences
Optimize conditionals where the consequent and alternative are both booleans and not equivalent
Thomas Mayfield (2):
add package.json for installation via npm
don't die on byte order mark at the beginning of files
Tim Malone (1):
Update README.md - sourceMappingURL directive note (#2355)
Tim Meadowcroft (1):
Added option to define symbols for replacement (cf #define) and improved constant folding for shortcut operators ('&&', '||' and ternary conditional operator)
Timothy Gu (1):
Add missing `{` in README
Tom MacWright (1):
docs: Fix spelling and style (#2395)
Ville Lautanala (4):
Encode null characters as '\0'
Fix tests broken after 3cd9829a
Recognize various Unicode whitespace
Control keeping function arguments with a single option
Whyme.Lyu (1):
Better parser error message for node
Wiktor Kwapisiewicz (1):
Add note about name mangling when using --mangle-props=unquoted (#1314)
Wolfgang Kluge (2):
Keep end position of each token
Test the local instead of the installed version.
XhmikosR (2):
Normalize package.json.
Make node.js 0.8 the minimum supported version.
Yotam Spenser (1):
Source map URL override from programmatic API
Ziad El Khoury Hanna (1):
fix CLI parsing of `--source-map content` (#2088)
achingbrain (1):
passes in references to process and Buffer to silence ReferenceErrors
alexlamsl (28):
Preserve ThisBinding in conditionals & collapse_vars
preserve ThisBinding for side_effects
Optimize unmodified variables
add missing LHS cases which global_defs should avoid
fix crash in unsafe replacement of undefined
remove unused AST_Scope.nesting & AST_SymbolRef.frame
fix corner case in keep_fnames
enable typeof "undefined" for general use
drop unused: toplevel, assign-only
fixes & improvements to [].join()
tweak do-while loops
`-c sequences=N` suboptimal at N expression cutoff
improve string concatenation
clean up `negate_iife`
fix duplicated test names
improve keep_fargs & keep_fnames
improve reduce_vars and fix a bug
evaluate AST_SymbolRef as parameter
enhance `global_defs`
add benchmark & JetStream tests
improve `--beautify bracketize`
remove extraneous spaces between ++/+/--/-
introduce `unsafe_proto`
clean up `max_line_len`
fix `pure_funcs` & improve `side_effects`
enable `collapse_vars` & `reduce_vars` by default
minor fixes to README.md
remove Travis CI badge
cadorn (2):
More ignore rules
Reserved variable names option
chrisk (1):
Support unicode newlines in make_string (make uglifyjs work for the Dragonfly project).
ebednarz (1):
Fix sourceMapIncludeSources exception in Node API
gdw2 (1):
Added license
homuler (1):
Fix the document of keep_fnames option
ikokostya (8):
Fixed parse error position: start line number and column number from 1.
Unsafe Object constructor transformations:
new RegExp() => RegExp() (with --unsafe)
new Error() => Error() (with --unsafe)
Unsafe: new Function() => Function()
Fixed #286: Only one variable declaration allowed in for..in loop
Check abort else statement in make_real_if() when t[0] is "stat"
Merge branch 'master' into abort-else
iliashk (1):
Add Node API documentation for mangling options
johnjbarton (1):
parameter start arrives 'undefined' or 'null', any falsy value should be zero
kzc (111):
optimizations for && and || where left side is constant expression
operator && and || optimization: add "else" before "if" as intended
spacing
Add proper support for "use asm"; blocks. Disable -c optimization within "use asm"; sections and preserve floating point literals in their original form. Non-asm.js sections are optimized as before. Asm.js sections can still be mangled and minified of whitespace. No special command line flags are required.
add asm.js test
Fix handling of "use asm" when no command line flags are passed to uglifyjs. SCOPE_IS_NEEDED is unconditionally true now. Refactored floating point literal parsing to be more in keeping with the AST class design.
get rid of SCOPE_IS_NEEDED as it was always true
have minify() call figure_out_scope() if needed to produce well formed "use asm" code
Output `-- >` instead of `-->` in expressions. Escape `<!--` and `-->` within string literals.
Fix other operator output related to <!-- or -->
optimize `return undefined` and `return void 0`
more tests for `return undefined` optimization
`return undefined` optimization no longer uses `return_void_0` option
Fixed RegExp literal in mozilla AST generation/output and added a --dump-spidermonkey-ast flag
rename To_Moz_Literal to To_Moz_RegExp
Have mozilla AST RegExpLiteral parser use regex.pattern and regex.flags rather than non-standard `raw` property.
simplify mozilla AST RegExpLiteral token parse and handle corner cases of regex.pattern better
#873 Fix `conditionals` optimizations with default compress options
Collapse single use var definitions
fix bug in collapse_vars for right side of "||" and "&&"
collapse_vars: fix bug in repeated var defs of same name
collapse_vars: document option in README
collapse_vars: small change to README
collapse_vars: fix if/else and ternary operator side effects
collapse_vars: avoid replacement across AST_Case nodes to be on safe side even though no issues seen.
Take operator || precendence into account for AST_If optimization.
boolean_expression ? true : false --> boolean_expression
#877 Ignore mangle sort option
Do not produce `let` as a variable name in mangle.
Attempt to increase timeout for mocha let test.
Escape all ASCII control characters within strings when using ascii_only.
Speedup `unused` compress option for already minified code
Optimize ternaries with boolean consequent or alternative.
Simplify member(name, array) implementation.
Fix warnings for referenced non-hoisted functions.
Parse comments without recursion to avoid RangeError.
Add `passes` compress option. Fix duplicate compress warnings.
Handle CR line endings in comments.
Workaround for process.exit() tty output truncation.
Retain comments before AST_Constants during mangle.
Do not apply negate_iife optimization to `new` expression
Simplify iife `new` fix
Optimize if_return for single if/return cases.
collapse_vars: Do not consider RegExp literals to be constants
Don't replace undefined, NaN and Infinity within with scope
Fix conditional expressions of form (x ? -1 : -1)
Fix spidermonkey AST (ESTree) export and import, Array holes
Enable --screw-ie8 by default.
Allow sequences maximum length to be user configurable.
Change the default sequences limit to 200 to speed up compress.
Document that the smallest sequences optimization length is 2
Fix mangle with option keep_fnames=true for Safari.
Test reparsing test/compress/*.js output
Fix unneeded parens around unary args in new expression.
Add simple file globbing to bin/uglifyjs for Windows
Add input file glob support to minify()
Additional object literal property tests
Fix --mangle-props and --mangle-props=unquoted
Fix negate_iife regression #1254
implement optimization: (x = 2 * x) ---> (x *= 2)
Account for side effects in `string + expr` optimization
Fix (typeof side_effect()) in boolean context
remove npm-shrinkwrap.json to work around npm at 4.0.2 bug (#1384)
Have minify() and tests use figure_out_scope() as uglifyjs CLI does
fix stray else in compress with conditionals=false
smarter const replacement taking name length into account
Support marking a call as pure
add harmony branch details in README (#1507)
optimize trivial IIFEs returning constants (#1530)
collapse_vars should not replace constant in for-in init section (#1538)
disallow collapse_vars constant replacement in for-in statements (#1543)
collapse_vars: do not replace a constant in loop condition or init (#1562)
fix regression: CLI options with hyphens like -b ascii-only (#1640)
optimize conditional when condition symbol matches consequent (#1684)
fuzz regexp literals, more constant numbers, typeof expression (#1755)
update README for 3.x (#1840)
Update ISSUE_TEMPLATE.md (#1846)
improve literal return optimization (#1860)
[3.x] fix documentation for beautify options (#1882)
Change `harmony` to `uglify-es` in master README (#1895)
Remove unnecessary `git clone` instructions in README (#1897)
Update issue template: change harmony to uglify-es (#1900)
update README (#1918)
Tweak README Notes (#1934)
reorg README for 3.x (#1942)
document minify `warnings` and add an error example (#1973)
document 3.x minify() does not throw errors (#1975)
document minify() option `toplevel` (#1979)
add "es5" to package.json keywords (#1980)
more refinement of minify() documentation (#1983)
add another minify() options example (#1988)
fix and expand --mangle-props documentation (#2008)
better document mangle properties options (#2009)
clarify what --mangle-props does (#2012)
reformat mangle options section of README (#2036)
better document behavior of unsafe_Func (#2043)
add comment about quote_style and gzip (#2092)
document fast mangle-only minify mode (#2194)
docs: update benchmarks using node 8, add babili (#2218)
issue template: describe acceptable JS input (#2255)
add `Date` and other known globals to `unsafe` compress option (#2302)
fix "use asm" numeric output (#2328)
document compress option `hoist_props` (#2399)
update documentation for `reduce_funcs` (#2478)
Update ISSUE_TEMPLATE.md (#2481)
document the `webkit` output option (#2490)
improve `dead_code` tests (#2589)
ufuzz: add strings "a", "b", "c" to VALUES (#2732)
add SymbolDef IDs to --output ast (#2772)
improve SymbolDef info in `--output ast` (#2778)
fix `join_vars` property assignment for negative array index (#2810)
micschro (1):
Fix max_line_len not working for JSON files
olsonpm (3):
add documentation for `side_effects` & `[#@]__PURE__` (#1925)
clarify wording (#1931)
document 3 max passes (#1928)
pengzhenqing (1):
Add an option for writing inline source map
philippsimon (1):
Fix: Uglified Number.prototype functions on big numbers
plievone (1):
Fix docs for keep_fargs
satyr (2):
reimplemented #28 in a sane way
unstrict equals operator when operands share the same type
sergeyv (1):
Revert "using the original sourcemap as the base"
slavic (1):
make 2 symbol variable names range bigger (from 2862 to 3402)
startswithaj (1):
Make_string was missing \v and wasnt reversing vertical tabs even though read_escaped_char coverts them
tav (1):
Implemented --define-from-module constant substitution.
thorn0 (2):
Compatibility with the JScript engine, which doesn't support the \v escape sequence
Advanced way to specify if a function call might have side effects. #400
truiken (1):
Resolve the relative path to lib files last
なつき (1):
Fix long options
-----------------------------------------------------------------------
No new revisions were added by this update.
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-javascript/uglifyjs.git
More information about the Pkg-javascript-commits
mailing list