A full version history of the karma package with size, number of distributed files and dependency evolution.
Karma, the "Spectacular Test Runner for JavaScript," has undergone numerous iterations since its initial release. Early versions, from 0.8.0 to 0.9.8 (released in 2013) already featured core dependencies like q, glob, and socket.io, crucial to its functionality. A significant shift arrived with the 0.10.0 release, introducing more structured peer dependencies like karma-jasmine and launcher dependencies.
Transitioning into the 0.11.x and 0.12.x lines (from 2013 to 2014), Karma saw refinements in its dependency management and introduced new features. Peer dependencies became more defined and version-specific. Notably, the 0.11 series integrated karma-coverage and karma-junit-reporter via GitHub links, pointing to a more modular framework.
The release of 0.12.0 marked the introduction of CoffeeScript support, expanding the tools capabilities. Versions 0.12.5 and onwards had to incorporate Chokidar 0.8.2 to fix the vulnerabilities that were present on less newer versions.
Karma 1.0.0 (2016) was a major milestone marked by a significant restructuring in the dependency and development ecosystem. Several components such as dom-serialize and isbinaryfile were integrated into the list dependencies. Future versions such as version 1.1.1 fixed the bugs and had compatibility for Jasmine 2. Further releases in the 1.x branch, and subsequently the 2.x branch fixed minor bugs like compatibility of third pary libraries. Some of the important additions with the time include: isbinaryfile, flatted that were crucial for testing environment.
As Karma entered its 3.x, 4.x, 5.x and eventually version 6 some of its core components saw an upgrade like chokidar for file watching capabilities. Its latest versions in the 6.x line are actively maintained, introducing newer bug fixes and minor stability improvements as part of its continued commitment to providing a robust testing workflow.