| ▲ | vintagedave 5 hours ago | |||||||||||||
Sometimes I think the issue here is churn. Security fixes aside, what is it that updated dependencies really give? Can't some of these projects just... stop? | ||||||||||||||
| ▲ | chrisweekly 8 minutes ago | parent | next [-] | |||||||||||||
"Security fixes aside" is too dismissive. Transitive dependencies with real CVEs can feel like the tail wagging the dog, but ignore them at your peril. | ||||||||||||||
| ▲ | zelphirkalt 3 hours ago | parent | prev | next [-] | |||||||||||||
The issue with that is, that the longer you wait to upgrade dependencies, the more pronounced the problems upgrading it will become generally speaking, because more incompatibilities accumulate. If those 5-6 year old projects were updated every now and then, then the pain to get them updated would be far less. As you point out, security is an aspect too, so you can leave the project inactive, but then you might hit that problem. | ||||||||||||||
| ▲ | igsomething 3 hours ago | parent | prev | next [-] | |||||||||||||
Dependency hell. Usually how it goes is you have to develop a new feature, you find a library or a newer version of the framework that solves the problem but it depends on a version of another library that is incompatible with the one in your project. You update the conflicting dependency and get 3 new conflicts, and when you fix those conflicts you get 5 new conflicts, and repeat. | ||||||||||||||
| ||||||||||||||
| ▲ | comboy 4 hours ago | parent | prev | next [-] | |||||||||||||
I agree, but let's say you are looking for a library to solve your problem - you see one repo updated 2 weeks ago and the other one updated 5 years ago - which one do you choose? | ||||||||||||||
| ||||||||||||||
| ▲ | jmusall 4 hours ago | parent | prev | next [-] | |||||||||||||
I think you could only get around this by forcing your whole dependency chain to only add non-breaking security fixes (or backport them for all versions in existence). Otherwise small changes will propagate upwards and snowball into major updates. | ||||||||||||||
| ▲ | ch4s3 4 hours ago | parent | prev [-] | |||||||||||||
Indeed that’s what a lot of Elixir and Erlang packages do, if it’s done then it’s done. | ||||||||||||||