Skip to content

The plan for 1.0 #2564

@odow

Description

@odow

We're now at a point where the "big" points on our Roadmap are complete, so it's time to start actively planning the release of JuMP 1.0.

We should prioritize our attention on things that need to be fixed before JuMP 1.0. Things that can be fixed afterwards can wait.

Step: Release MOI 0.10.0

There are a bunch of MOI breaking changes that have been piling up. We should:

Step: Update all packages to MOI 0.10.0

Once MOI 0.10.0 is released, we need to go through (almost) every solver and update any breakages.

To help update, read the MOI release notes.

The new test suite will likely expose some bugs in the solver wrappers. For now it's okay to skip these failing tests. The main emphasis is to get things mostly working. We can fix previously undetected bugs at a later date.

Step: Release JuMP 0.22.0

Solvers which require MOI and JuMP

These packages have a dependency on MOI and JuMP. That makes it hard to update them sequentially. We may be better off waiting until MOI and JuMP are both at v1.0.

Step: Release MOI 1.0.0

  • This should be non-breaking compared to 0.10.0, just with deprecations removed.

Step: Update all solvers to MOI 1.0.0

Updating checklist

  • Update minimum Julia 1.6
  • Drop all support for BinaryProvider and custom binaries via ENV overloads
  • Optimizer has a docstring, and that docstring goes on the mutable struct, not the inner constructor
  • Optimizer doesn't accept kwargs
  • All deprecation warnings removed
  • Uses JuliaFormatter
  • Follows JuMP style guide
    • _private names are particularly important to allow breakages in the post 1.0 world

Tag 1.0 releases of all solvers:

Step: Release JuMP 0.23.0

  • With some minor breaking changes compared to v0.22

Solvers which require MOI and JuMP v0.23

These packages have a dependency on MOI and JuMP. That makes it hard to update them sequentially. We may be better off waiting until MOI and JuMP are both at v1.0.

Step: Release JuMP 1.0.0

Solvers which require MOI and JuMP v1.0

These packages have a dependency on MOI and JuMP.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions