A full version history of the better-sqlite3 package with size, number of distributed files and dependency evolution.
better-sqlite3 boasts a long and rich history, marked by frequent updates and improvements centered around speed and simplicity. Initial versions (0.5.0 - 0.10.3) focused on providing "simple and expressive" SQLite3 bindings before evolving their description to tout themselves as "the fastest and most carefully designed" and finally as “The fastest and simplest library for SQLite3 in Node.js.” Core dependencies like nan, bindings, and to-descriptor remained consistent in early releases, indicating a solid foundation.
A significant shift occurred around version 1.4.0 with an upgrade to nan@^2.5.1. The 3.x series introduced integer and lzz-gyp as dependencies and this signifies a move towards greater internal optimization. This trend continues into the 4.x versions, but lzz-gyp is removed by 4.1.2. Later, version 5.0.0 switched from bindings to tar as a primary dependency, signalling an update to the packages internal structure.
The 7.x cycle demonstrates continuous updates to development dependencies, notably sqlite and sqlite3, reflecting a commitment to modern testing methodologies. We can also see the addition of prebuild-install as a dependency in the 6.x and 7.x versions, showing the need to facilitate easier installation. Further evolutions in dependency management occurred within versions 7.4.4–7.5.0. Versions 8.x onward to the present 12.x continue the trend of incremental improvements and dependency upgrades, with the project actively maintained with the primary focus on the speed and simplicity. In the most recent version 12.2.0, the mocha version was upped past version 10. This history of updates suggests that better-sqlite3 strives to deliver the most performant and streamlined SQLite3 experience in Node.js.