Confusing mix deps.get error

I get the following error while trying to upgrade to ecto 3.0 in a largish umbrella project. Due to some conflicting dependencies I have currently set {:ecto, "~> 3.0", override: true}, {:ecto_sql, "~> 3.0", override: true}. This is the output that I get when I run deps.get:

$ mix deps.get
Resolving Hex dependencies...

Failed to use "ecto" because
  apps/web_interface/mix.exs requires >= 0.0.0 *
  timber (version 2.8.4) requires >= 2.0.0 and < 2.3.0 *
  mix.lock specifies 3.0.0

* This requirement does not match pre-releases. To match pre-releases include a pre-release in the requirement, such as: "~> 2.0-beta".

** (Mix) Hex dependency resolution failed, change the version requirements of your dependencies or unlock them (by using mix deps.update or mix deps.unlock). If you are unable to resolve the conflicts you can try overriding with {:dependency, "~> 1.0", override: true}

But I’m really not sure why it’s talking about pre-release versions when I’m not trying to specify a pre-release version.

Also, if you use a dependency multiple times in an umbrella app, do you need to set override: true in each of apps in the umbrella? And is there a way to get the “final” dependency list used by mix?

Afaik if you use override it needs to be in the top level mix.exs of the umbrella. Override can only be applied globally over each application running.