After I upgraded to the latest stable node and npm, I tried npm install moment --save. It saves the entry in the package.json with the caret ^ prefix. Previously, it was a tilde ~ prefix. Why are these changes made in npm? What is the difference between tilde ~ and caret ^? What are the advantages over others? See the NPM docs and semver docs: ~version “Approximately equivalent to version”, will..