JuMP v0.23 is released

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.

Cheers,
Oscar

12 Likes

Seems like I need to finish my PhD as soon as possible, as I will locked be out of new version, XD, I will not all my experiments on Julia 1.6.

Never thought I would have a problem with the technologies I use advancing too fast for me to accompany them.

Good luck on the first major release, I have grown attached to the project, and it is great that it has evolved over time.

3 Likes

The rationale for minimum bounding Julia 1.6 instead of Julia 1.0 is:

  • Julia 1.6 has replaced Julia 1.0 as the long-term support version of Julia:
  • Intermediate minor releases (i.e., 1.1, 1.2, 1.3, 1.4 and 1.5) are not officially supported by Julia.
  • Julia 1.0 is no longer officially supported
  • Users should either use the current long-term support, or the most recent stable release. For more information, read:
  • 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.

3 Likes

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.

2 Likes

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 :smile:

1 Like

Should a new release be made for these solvers (rather than using master version)?

The solvers with ticks under “Step: Update all solvers to MOI 1.0.0” in The plan for 1.0 · Issue #2564 · jump-dev/JuMP.jl · GitHub have had new releases tagged. We’re working on the remaining ones. Which one do you need?

1 Like

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.

But I think Clp and Cbc have been updated, but not yet released? I think these two are holding things back for me.

You should try HiGHS instead.

There’s a delay because we’re still considering a change in Clp and Cbc.

I understand will be updated later since they have dependency on MOI and JuMP.

Yip. These are a little more complicated to update and will take a few more days.

2 Likes