Even more Pkg troubles



A recent Pkg.update() caused a couple of packages to get downgraded:

julia> Pkg.update()
INFO: Updating METADATA...
INFO: Updating cache of Lazy...
INFO: Updating cache of IJulia...
INFO: Updating cache of RecipesBase...
INFO: Updating cache of Parameters...
INFO: Updating cache of Codecs...
INFO: Updating cache of NLSolversBase...
INFO: Updating Devices master...
INFO: Computing changes...
INFO: Upgrading Codecs: v0.3.0 => v0.4.0
INFO: Downgrading DiffBase: v0.3.2 => v0.2.0
INFO: Downgrading DiffEqBase: v1.23.1 => v1.14.1
INFO: Downgrading ForwardDiff: v0.6.0 => v0.4.2
INFO: Upgrading IJulia: v1.6.1 => v1.6.2
INFO: Installing Iterators v0.3.1
INFO: Upgrading Lazy: v0.11.7 => v0.12.0
INFO: Downgrading LineSearches: v2.2.1 => v0.1.5
INFO: Downgrading NLsolve: v0.11.0 => v0.9.1
INFO: Downgrading Optim: v0.9.3 => v0.7.8
INFO: Downgrading OrdinaryDiffEq: v2.19.1 => v2.4.0
INFO: Upgrading Parameters: v0.7.3 => v0.8.0
INFO: Upgrading RecipesBase: v0.2.2 => v0.2.3
INFO: Downgrading ReverseDiff: v0.2.0 => v0.1.5
INFO: Removing CommonSubexpressions v0.0.1
INFO: Removing DiffEqDiffTools v0.0.2
INFO: Removing DiffResults v0.0.1
INFO: Removing DiffRules v0.0.1
INFO: Removing MuladdMacro v0.0.2
INFO: Building SpecialFunctions

None of the upgraded packages seem to have upper bounds on any of the packages that got downgraded. This issue occasionally occurs, and becomes more and more frustrating each time. How can I find the culprit?



The problem used to be that ReverseDiff required an ancient version of ForwardDiff. Now it requires only the very latest version of ForwardDiff (v0.6) that DiffEq cannot support because of https://github.com/JuliaDiff/ForwardDiff.jl/issues/270. My plan is to try and get https://github.com/JuliaDiff/ForwardDiff.jl/pull/274 merged ASAP and ask for a patch to be tagged, then make sure DiffEq tests pass and do a version upgrade there. But if you remove either ReverseDiff or DiffEq until this goes through then you’ll be fine.


Thanks Chris. Pkg3 cannot come soon enough!