The JuMP team is happy to announce the release of JuMP 0.13.

This is the most visible JuMP release in quite a while since *all of JuMP's 
macros and most exported methods have been renamed* to avoid the camelCase 
convention. The original naming scheme was put in place before the 0.1 
release of Julia and was never updated after the Julia community converged 
to its current naming conventions. We don't take this change lightly since 
it will require an update of all existing JuMP code, but we believe that 
now, before a JuMP 1.0 release, is the best time to take these steps to 
correct previous decisions so that we can continue to grow and remain 
visually appealing to new users. All of these changes are simple renamings, 
and it is sufficient to perform a find and replace on existing code in 
order to update it. We have put deprecation warnings in place so that *no 
existing code should break after updating to JuMP 0.13*. We expect to leave 
these deprecations in place for quite a while (at least 6 months) to 
minimize the impact. For the definitive list of the new names, see our 
deprecation 
list 
<https://github.com/JuliaOpt/JuMP.jl/blob/1e0228abc6f9e968d5c03f21d914f713bd7d334a/src/deprecated.jl#L30>
.

Here's a preview of the new names:

m = Model()
@variable(m, x >= 0)
@variable(m, y >= 0)
@objective(m, Max, 3x-2y)
@constraint(m, x+y <= 1)
@constraint(m, 2x+y <= 3)
status = solve(m)
@show getvalue(x)

Or, using the pretty block syntax:

m = Model()
@variables(m, begin
    x >= 0
    y >= 0
end)
@objective(m, Max, 3x-2y)
@constraints(m, begin
    x+y <= 1
    2x+y <= 3
end)
status = solve(m)
@show getvalue(x)

We request the help of the community to update existing code that may be 
posted on the internet. If you've written a blog post, stackoverflow post, 
public Jupyter notebook, or book(! <http://www.chkwon.net/julia/>) 
containing JuMP code, please make an effort to update it to the new naming 
scheme to avoid confusing new users.

I'd like to thank those who participated in the various discussions (here 
<https://github.com/JuliaOpt/JuMP.jl/pull/726> and here 
<https://github.com/JuliaOpt/JuMP.jl/pull/732>) which helped steer this 
change in the right direction. While this release focused on simple 
renaming, we may have some more interesting syntax changes or additions in 
the next release, so keep an eye on the JuMP repository if you are 
interested. For a more complete list of changes in this release, see the 
NEWS <https://github.com/JuliaOpt/JuMP.jl/blob/master/NEWS.md> entry.

Miles, Iain, and Joey

Reply via email to