A full version history of the qs package with size, number of distributed files and dependency evolution.
The qs npm package, a vital tool for parsing and stringifying URL query strings, has undergone numerous iterations since its initial release in February 2011. The early versions, from 0.0.1 to 0.6.6, crafted by TJ Holowaychuk, focused on foundational querystring parsing functionality, primarily utilizing mocha and expect.js as dev dependencies.
A shift occurred around version 1.0.0 in August 2014, marking a change in maintainership to Nathan LaFreniere under the hapi.js banner and introducing a depth limit for nesting, enhancing its array handling capabilities. This transition brought along lab for testing. The package continued to evolve, reaching version 2.4.2 by May 2015.
Later versions (3.0.0 and onward), owned by Jordan Harband (ljharb) and the jshttp organization, showed an increasing emphasis on robust testing and security. Dependencies like tape, eslint, and iconv-lite were added, increasing test coverage and enhanced character encoding support. This phase also focused on addressing potential vulnerabilities, as evidenced by the introduction of the safer-buffer dependency. Continuous updates are still being implemented, and there are funding links available for the user to donate to.