Handling #18465 on v0.5

https://github.com/JuliaLang/julia/issues/18465

This issue causes some really weird performance regressions. I have a potential one related to using Roots.jl in a new release of the StochasticDiffEq.jl module for DifferentialEquations.jl that I would like to do. However, there doesn’t seem to be any Julia v0.5.x coming and no posted workaround, so I was wondering what I should do in terms of package release.

  • I could just make a last v0.5 release pre-using Roots.jl, and then have a version with Roots.jl and drop support for v0.5. This would leave users of v0.5 with almost all of the features (missing just the newest one), and would not have the performance issue (it’s about a 4x loss on some standard problems, in something that is very performance sensitive).

  • I could keep v0.5 compatibility, but the next release will have all users get the massive performance hit for everything related to the package.

I am wondering what the suggested course of action is, or if there’s a known workaround.

1 Like

When v0.5 came out, there were a few bug reports at Optim about this. It’s super unfortunate, and I had hoped for a v0.5.1 with this fixed. We’re just waiting for v0.6 at this point. Not super helpful, sorry! :expressionless:

1 Like

Same with ApproxFun… very annoying when zeros(Float64,10,10) no longer infers type

My fault for having too many things to do and not getting any progress made on a proper 0.5.1 release. Could always use help so there’s less for me to do on my own - the first step is figuring out which combination of backports can get CI passing again on release-0.5.

1 Like

You’re one of the most helpful people in julia! I wish I was good enough at programming to pitch in :cry:

No one in their right mind would blame (is blaming) you.

Also, I havn’t noted too many people asking for a v0.5.1, so maybe the time is simply better spent getting v0.6 ready at this point. If someone really needs it, I’m sure they’ll find time to help out!

1 Like

Thanks for the update, and all of your hard work. I was just trying to make sure I’d release something that follows sensible rules. I’ll follow @pkofod and @dlfivefifty 's lead and just release in a way that assumes the bugs are fixed in v0.6 but still asserts v0.5 compatbility, and if v0.5.1 comes along that’ll be cool but definitely isn’t required.

1 Like