JuMP 0.21 is released

tl;dr: Callbacks are back! Lots of new features. with_optimizer is deprecated.

Reminder: The deadline to submit talk proposals for JuMP-dev 2020 is February 29th.


@miles.lubin I love JuMP!
In roadmap for JuMP 1.0 it says:

  • Deprecate the JuliaOpt organization and move repositories to the JuMP-dev organization.

What does this mean?

It means that the JuMP.jl GitHub repository and related packages will literally move from https://github.com/JuliaOpt/ to https://github.com/jump-dev. The reason this is slightly non-trivial (and hence a roadmap item) is that we would like to make this move without breaking previous links to documentation.

I see. What are the advantages to having JuMP in a separate organization vs being part of JuliaOpt?

My principle for GitHub organizations is that they should be used primarily for facilitating the administration of shared permissions across repositories (this is what they were designed to do) and less so for branding. The repositories in the JuMP ecosystem are a natural cluster that share contributors and hence benefit from shared permissions.

Also, JuliaOpt has been synonymous with JuMP and Convex.jl since Optim split off into JuliaNLSolvers a few years ago. We’re simplifying the organization by having one name (JuMP) instead of two (JuMP and JuliaOpt) for essentially the same thing. It hasn’t been determined where Convex.jl will end up yet; it will mostly be a function of whether global permission management is needed across Convex.jl and the JuMP ecosystem.


Got it.
I’ve personally found organizations helpful for branding, discovery etc.
For example I’d be more likely to submit PRs to an underused package in a well known organization bc I’m less concerned it will die off & won’t be updated.
That’s why it might be easier for some to see all optimization packages under one roof, even if they end up have mini-organizations w/i an organization.

Anyhow, I trust you guys thought it through carefully & will do what’s best

Despite the name, JuliaOpt has not, in practice, been the organization for “all optimization packages in Julia” for a number of years now. See https://github.com/JuliaNLSolvers, https://github.com/JuliaSmoothOptimizers, and https://github.com/kul-forbes among others. Moving to jump-dev is also correcting this misleading impression.

Discoverability is an important issue, and we would like to keep an up-to-date list of optimization-related packages in a highly visible place. The list is currently at http://www.juliaopt.org/packages/ and will be moving to jump.dev.

Hey @miles.lubin, congrats on the new release. I’m very happy to know callbacks are back.

On the topic of name change, I’m glad you decided to really adopt JuMP as the main name for everything. I remember you guys talking about it a few months back, maybe in JuMP-dev’18.

We’d like to use the opportunity to say we’re still interested in changing back from JuliaSmoothOptimizers to JuliaOptimizers, specially now that we’re converging to 1.0 in our packages as well. Can you see any issues if we start to migrate our packages now. It would be very beneficial for us since we’re working on papers citing the URL and organization name, and we’d like to avoid the confusion.

@abelsiqueira, that’s a reasonable request. I will discuss with the rest of the team and will follow up over email.