ANN: Convex.jl v0.16 is released

Dear all,

We are pleased to announce the release of Convex.jl v0.16.0.

This release of Convex involved a substantial internal rewrite of Convex.jl to integrate better with MathOptInterface. The result is a faster, simpler, and more maintainable package that is nearly ready for a 1.0 release.

Detailed release notes are available at: Release notes · Convex.jl

Most of the very large number of changes (131 commits, 270 files changed) affect only the internal representation of Convex.jl models, and most user models should require few, if any, changes to update. However, some user-facing breakage was unavoidable.

In most cases, informative errors and deprecation warnings will be thrown, but there are two subtle changes to be particularly aware of.

Compared to version 0.15.4:

  1. The sign of the dual on a a <= b constraint is now reversed, so that it now matches the conventions in MathOptInterface. We decided to make this change because the previous convention was non-standard and had a high potential for incorrect usage.
  2. Scalar row indexing like x[i, :] now produces a column vector instead of a row vector. This matches the conventions in Julia Base, but it is a breaking change because x[i, :] * x[j, :]' used to be the inner product and now it is the outer product. We decided to make this change because the previous indexing was non-standard and had a high potential for incorrect usage.

If you need help updating, please comment below, start a new forum post, or open a GitHub issue.

Cheers,
Benoit (@blegat), Eric (@ericphanson), and Oscar (@odow)

22 Likes

:tada:

3 Likes