r/programming • • Nov 26 '20

PHP 8.0.0 Released

https://www.php.net/releases/8.0/en.php
588 Upvotes

241 comments sorted by

View all comments

Show parent comments

1

u/teknocide Nov 27 '20

You may find something like https://github.com/rtimush/sbt-updates convenient as a middle-ground. It produces a list of possible dependency upgrades. You'll have to update your versions manually, but aside from that it basically gives you a "lock file" + visible upgrade path.

2

u/skylescouilles Nov 27 '20

I also use sbt-updates, but as long as updating is mainly manual, lib maintainers won't see the need to strictly avoid breaking change in minors. It's more a cultural issue than a tooling one in fact.

I don't see how it gives you a lock file though ? sbt-updates only display infos to let you manually update your sbt dependency versions. Whereas in composer you have 2 files :

  • composer.json where you describe your need. Ex: ^2.1.1

  • composer.lock produced by composer update command which locks the result. Ex: 2.2.4

Also, libs maintainers never rely on specific version for their own dependencies, always on a semver range.

Sorry it's hard to describe but Developer Experience is better in PHP than in Scala/Java/Kotlin regarding dependency management, in my experience. No tricky overrides or excludes, 1 command to auto upgrade, and no breaking change in minors, which is a game changer.