Semantic Versioning and Security — Why Your Version Ranges Could Be a Risk (opens in new tab)
A single character in your dependency file can change what code runs in production. lodash: "4.17.21", lodash: "^4.17.21", and lodash: "*" do not mean the same thing. One locks the package to an exact release. One allows compatible updates. One allows almost anything. That small difference is where semantic versioning security becomes practical. Version numbers are not just labels for developers. They control which package releases your application can install, whether a security patch reache...
Read the original article