A full version history of the uglify-js package with size, number of distributed files and dependency evolution.
UglifyJS, a widely used JavaScript parser, mangler, compressor, and beautifier toolkit, has undergone extensive development and refinement since its initial release. The early versions, starting from 0.0.1 in January 2011, were primarily focused on establishing the core functionality and were rapidly iterated upon.
The 1.x series, beginning in April 2011, marked a significant step forward with the addition of features like dependencies and development dependencies. The 2.x releases, initiated in late 2012, introduced a more robust architecture with enhanced parsing, compression, and beautification capabilities, along with external dependencies such as optimist and source-map.
The 2.4.x versions in 2013 showed a refinement and stabilization of its feature set, before adding yargs as a dependency. The 2.5.0 and 2.6.0 series introduce source-map version 0.5, and a large amount of 2.7 and 2.8 releases that address smaller issues.
Starting with version 3.0.0 in 2017, UglifyJS adopted a more modular approach, relying on commander for command-line argument parsing. The 3.x series saw continuous improvements in performance, ES6+ compatibility, and bug fixes, with consistent version increments and maintenance throughout 2017 and 2018. Later versions focused on updating dependencies like acorn and semver, ensuring compatibility with modern JavaScript features. The latest releases in late 2024 continue to build upon this foundation, offering a reliable and up-to-date solution for JavaScript minification and optimization. The numerous iterations highlight the project's commitment to staying current with evolving JavaScript standards and addressing user needs as the ecosystem evolves.