We are pleased to announce the release of JuMP v0.23 and MathOptInterface v1.0.
This is an important release for two reasons.
First, it serves as a release candidate for JuMP v1.0. Our criteria for tagging an official JuMP 1.0 release are:
there have been no bugs requiring a breaking change detected in JuMP v0.23 for at least one week
all commonly used solvers in the JuMP ecosystem have been updated to be compatible with JuMP v0.23. You can track our progress in Issue #2564.
Second, this release contains a number of breaking changes in preparation for JuMP v1.0. In particular, the minimum supported version of Julia is 1.6, and all previously deprecated functionality has been removed.
Read more about the latest release here, which also contains instructions for updating:
If you encounter any issues upgrading, please open an issue or comment below.
Going forward, JuMP will always support the long-term support version and the most recent stable release.
However…, and this is the important part:
All code written for Julia 1.0 is compatible with Julia 1.6. Therefore, there should be no upgrade cost to switching from Julia 1.0 to Julia 1.6. Your code will not break if you update.
A secondary consideration was that Julia 1.0 does not support JLL packages, which greatly simplifies the distribution of binary releases.
I agree that it is a solid decision, even if I do have some qualms about how the long-term support for Julia versions sometimes means less than it should (i.e., fixes that should be backported aren’t). In my case (the case of a PhD student focused on empirical results), the problem is that I end up with not-so-great options: (i) I update the package and now have to re-run all my hundreds/thousands of hours of experiments; (b) I update the package and now I have to explain in my thesis defense why I have so many experiments with different versions of the technologies; (c) I do not update and will probably hear a remark in my thesis defense asking why I am not using JuMP 1.0 (“did you not heard the first stable version is out?”). Not a Julia/JuMP problem per se, more of a PhD student problem, XD.
For a thesis defense, you should just be able to say “I used these versions.” And if someone asks why, say you felt it was important to use a stable and consistent version at the time you ran the experiments. And that you don’t expect newer version to change the substance of your results, but that it would be a good avenue of future work to validate that assumption
The solvers with ticks under “Step: Update all solvers to MOI 1.0.0” in https://github.com/jump-dev/JuMP.jl/issues/2564 have had new releases tagged. We’re working on the remaining ones. Which one do you need?
OK, I’ve just tidied up my environment.
Removed AmplNLWriter and Juniper, which I understand will be updated later since they have dependency on MOI and JuMP.
But I think Clp and Cbc have been updated, but not yet released? I think these two are holding things back for me.