JLD.jl stuck on an old version

I’m using julia v0.5, and while precompiling one of my packages I ran into a JLD.jl issue – one that seems to have been fixed months ago. I checked the installed version, and it was only v0.5.5 (the current latest version is v0.6.9). I tried Pkg.free, then removing and re-adding, but it kept installing v0.5.5. (Interestingly, Pkg.free gives me the message: INFO: Downgrading JLD: v0.6.9 => v0.5.5.)

I tried grep "JLD" ~/.julia/v0.5/*/REQUIRE, but didn’t find any restrictive requirements in my installed packages. It does let me Pkg.pin("JLD",v"0.6.9"), and it upgrades several packages in the process. Keeping it pinned doesn’t really seem tenable to me, so can someone help me understand what’s going on? Thanks.

You’ll need to post the output of Pkg.status()

Here it is as a gist

Aside from some unregistered packages there which would use the REQUIRE files that you looked at, doesn’t look like anything funny there.

The difference between JLD 0.5.5 and later versions is that 0.5.5 was the last version to not require FileIO. You have FileIO installed for other packages anyway, but the resolver is doing something funny there to try and avoid additional dependencies. I think this is the bug that https://github.com/JuliaLang/julia/pull/20319 fixed.