Lockfiles Let You Deal With Breaking Changes on Your Own Terms

Most package managers have some form of a lockfile which freezes the exact version of a installed libraries. This makes building the environment again reproducible (with some big caveats around system libraries) so you won’t suddenly encounter a breaking change from an upstream library or dependence changing from yesterday to today. Lockfiles don’t fix the problem of breaking changes, but it allows you to choose when you have to deal with it (at upgrade time).