A full version history of the underscore package with size, number of distributed files and dependency evolution.
Underscore.js, a foundational JavaScript library providing utility functions for functional programming, has seen numerous releases since its inception. Early versions, starting from 1.0.3 and progressing through the 1.1.x series, focused on providing basic functional programming aids, often emphasizing compatibility with jQuery. These initial releases, all dated around December 2011, quickly iterated to refine the core functionality.
The 1.2.x and 1.3.x branches introduced minor enhancements and bug fixes, gradually solidifying Underscore's role in JavaScript development. Versions 1.4.x and 1.5.x, appearing in 2012 and 2013, showed a shift towards more robust development practices, with the introduction of the MIT license and the inclusion of phantomjs as a dev dependency for testing.
The library's evolution continued with the 1.6.x, 1.7.x, and 1.8.x releases, seeing the addition of more sophisticated development tools like docco, eslint, and karma to ensure code quality and maintainability. The 1.9.x versions saw further refinement. Subsequent releases, particularly versions 1.10.x, 1.11.x, 1.12.x and 1.13.x, embraced modern JavaScript tooling like rollup and terser for bundling and minification, alongside enhanced testing frameworks, highlighting Underscore's commitment to staying current with the evolving JavaScript ecosystem. The jump in file count and unpacked size in later versions also reflects the addition of new features, tests, and build artifacts.