We've had an ongoing issue around the complexity of managing version numbers for Clojure libraries across all of our Clojure projects. We have well over 20 different Clojure repos now, and each of them can potentially specify its own version of every dependency that it consumes (including transitive dependencies). Lein's :pedantic?
feature helps us ensure that we're using well-known, consistent versions of any given dependency within the context of an individual Clojure project, but it doesn't give us any guarantees of consistency across the projects, or in the final uberjar artifacts that we produce and package.
This is painful in terms of daily maintenance of the repos; any time you bump the version of one dependency for a project, there's a high likelihood that you'll end up needing to play the "lein whack-a-mole" game to resolve the versions of the other libraries that it brings in transitively. This led us to put together [this best practices document for mana