# JuMP 0.21 is released

**URL:** <https://discourse.julialang.org/t/jump-0-21-is-released/34808>\
**Category:** Optimization (Mathematical)\
**Created:** [February 18, 2020, 12:49pm UTC](https://discourse.julialang.org/t/jump-0-21-is-released/34808 "2020-02-18T12:49:11Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![miles.lubin](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/miles.lubin/32/279_2.png) [@miles.lubin](https://discourse.julialang.org/u/miles.lubin)\
**Post date:** [February 18, 2020, 12:49pm UTC](https://discourse.julialang.org/t/jump-0-21-is-released/34808/1 "2020-02-18T12:49:11Z")

</div>

> **[JuMP 0.21 is released](https://jump.dev/blog/0.21-release/)**
>
> We are happy to announce the release of JuMP 0.21! Since the 0.20 release, 32 pull requests have been merged and 34 issues closed (listed here). The release is packed with new features and contains a couple of breaking changes. We’ll give only a...

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

**Reminder** : The deadline to submit talk proposals for [JuMP-dev 2020](https://jump.dev/meetings/louvain2020/) is February 29th.

---

<div class="post-metadata">

**Author:** ![miles.lubin](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/miles.lubin/32/279_2.png) [@miles.lubin](https://discourse.julialang.org/u/miles.lubin)\
**Post date:** [February 18, 2020, 12:49pm UTC](https://discourse.julialang.org/t/jump-0-21-is-released/34808/2 "2020-02-18T12:49:47Z")

</div>



---

<div class="post-metadata">

**Author:** ![Albert\_Zevelev](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/albert_zevelev/32/11844_2.png) [@Albert\_Zevelev](https://discourse.julialang.org/u/Albert_Zevelev)\
**Post date:** [February 18, 2020, 9:13pm UTC](https://discourse.julialang.org/t/jump-0-21-is-released/34808/3 "2020-02-18T21:13:27Z")

</div>

@miles.lubin I love JuMP!  
In [roadmap for JuMP 1.0](http://www.juliaopt.org/JuMP.jl/v0.21.0/roadmap/) it says:

- Deprecate the JuliaOpt organization and move repositories to the [JuMP-dev](https://github.com/JuMP-dev) organization.

What does this mean?

---

<div class="post-metadata">

**Author:** ![miles.lubin](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/miles.lubin/32/279_2.png) [@miles.lubin](https://discourse.julialang.org/u/miles.lubin)\
**Post date:** [February 18, 2020, 9:29pm UTC](https://discourse.julialang.org/t/jump-0-21-is-released/34808/4 "2020-02-18T21:29:24Z")

</div>

It means that the JuMP.jl GitHub repository and related packages will literally move from [JuliaOpt · GitHub](https://github.com/JuliaOpt/) to [JuMP-dev · GitHub](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.

---

<div class="post-metadata">

**Author:** ![Albert\_Zevelev](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/albert_zevelev/32/11844_2.png) [@Albert\_Zevelev](https://discourse.julialang.org/u/Albert_Zevelev)\
**Post date:** [February 18, 2020, 9:31pm UTC](https://discourse.julialang.org/t/jump-0-21-is-released/34808/5 "2020-02-18T21:31:39Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![miles.lubin](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/miles.lubin/32/279_2.png) [@miles.lubin](https://discourse.julialang.org/u/miles.lubin)\
**Post date:** [February 18, 2020, 9:43pm UTC](https://discourse.julialang.org/t/jump-0-21-is-released/34808/6 "2020-02-18T21:43:51Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![Albert\_Zevelev](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/albert_zevelev/32/11844_2.png) [@Albert\_Zevelev](https://discourse.julialang.org/u/Albert_Zevelev)\
**Post date:** [February 18, 2020, 9:52pm UTC](https://discourse.julialang.org/t/jump-0-21-is-released/34808/7 "2020-02-18T21:52:33Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![miles.lubin](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/miles.lubin/32/279_2.png) [@miles.lubin](https://discourse.julialang.org/u/miles.lubin)\
**Post date:** [February 18, 2020, 10:16pm UTC](https://discourse.julialang.org/t/jump-0-21-is-released/34808/8 "2020-02-18T22:16:07Z")

</div>

Despite the name, JuliaOpt has not, in practice, been the organization for “all optimization packages in Julia” for a number of years now. See [JuliaNLSolvers · GitHub](https://github.com/JuliaNLSolvers), [https://github.com/JuliaSmoothOptimizers](https://github.com/JuliaSmoothOptimizers), and [https://github.com/kul-forbes](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 [Packages](http://www.juliaopt.org/packages/) and will be moving to jump.dev.

---

<div class="post-metadata">

**Author:** ![abelsiqueira](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/abelsiqueira/32/47269_2.png) [@abelsiqueira](https://discourse.julialang.org/u/abelsiqueira)\
**Post date:** [February 19, 2020, 9:29pm UTC](https://discourse.julialang.org/t/jump-0-21-is-released/34808/9 "2020-02-19T21:29:45Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![miles.lubin](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/miles.lubin/32/279_2.png) [@miles.lubin](https://discourse.julialang.org/u/miles.lubin)\
**Post date:** [February 19, 2020, 10:44pm UTC](https://discourse.julialang.org/t/jump-0-21-is-released/34808/10 "2020-02-19T22:44:24Z")

</div>

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