diff --git a/Project.toml b/Project.toml index aeb9ce16a2a..89020d7b321 100644 --- a/Project.toml +++ b/Project.toml @@ -1,6 +1,6 @@ name = "JuMP" uuid = "4076af6c-e467-56ae-b986-b466b2749572" -version = "1.30.1" +version = "1.31.0" repo = "https://github.com/jump-dev/JuMP.jl.git" [deps] diff --git a/docs/Project.toml b/docs/Project.toml index 43a00daffce..841d6cd530c 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -54,17 +54,17 @@ Clarabel = "=0.11.1" Clustering = "0.15.8" DSP = "0.8.5" DataFrames = "1.8.2" -DifferentiationInterface = "0.7.18" +DifferentiationInterface = "0.7.20" DimensionalData = "=0.30.1" Distributions = "0.25.129" Documenter = "=1.17.0" DocumenterCitations = "1.4.1" Dualization = "0.7.7" -Enzyme = "=0.13.173" +Enzyme = "=0.13.187" ForwardDiff = "1.4.1" Gurobi = "=1.9.2" HTTP = "1.11.0" -HiGHS = "=1.24.0" +HiGHS = "=1.24.1" Images = "0.26.2" Interpolations = "0.16.3" Ipopt = "=1.15.0" @@ -74,13 +74,13 @@ LinearOperatorCollection = "2.4.2" Literate = "2.21.0" MarkdownAST = "0.1.3" MathOptChordalDecomposition = "=0.2.0" -MathOptInterface = "=1.51.1" -MultiObjectiveAlgorithms = "=1.11.0" +MathOptInterface = "=1.51.2" +MultiObjectiveAlgorithms = "=1.12.0" PATHSolver = "=1.7.9" ParametricOptInterface = "0.15.3" Plots = "1.41.6" RegularizedLeastSquares = "0.16.12" -SCS = "=2.6.3" +SCS = "=2.6.4" SQLite = "1.8.1" SpecialFunctions = "2.8.0" StatsPlots = "0.15.8" diff --git a/docs/packages.toml b/docs/packages.toml index 21c6a1099a6..6fe418ed857 100644 --- a/docs/packages.toml +++ b/docs/packages.toml @@ -63,14 +63,14 @@ [Gurobi] rev = "v1.9.2" [HiGHS] - rev = "v1.24.0" + rev = "v1.24.1" [Hypatia] rev = "v0.10.0" has_html = true [Ipopt] rev = "v1.15.0" [KNITRO] - rev = "v1.2.1" + rev = "v1.3.0" [MathOptAnalyzer] rev = "v0.1.2" [MathOptIIS] @@ -78,18 +78,18 @@ [MathOptLazy] rev = "v0.1.0" [MiniZinc] - rev = "v0.3.14" + rev = "v0.3.15" [MosekTools] rev = "v0.15.10" [MultiObjectiveAlgorithms] - rev = "v1.11.0" + rev = "v1.12.0" has_html = true [NEOSServer] rev = "v1.2.0" [NLopt] rev = "v1.2.1" [Pajarito] - rev = "4c7efa915bdc900b51d1c8290dc771403b11230a" + rev = "v0.8.3" [ParametricOptInterface] rev = "v0.15.3" extension = true @@ -105,7 +105,7 @@ rev = "v0.8.1" extension = true [SCS] - rev = "v2.6.3" + rev = "v2.6.4" [SDPA] rev = "v0.6.1" [SDPLR] @@ -120,7 +120,7 @@ rev = "v0.8.0" extension = true [Xpress] - rev = "v0.18.0" + rev = "v0.18.1" # =========================== non-jump-dev packages ========================== # @@ -155,11 +155,11 @@ rev = "v1.1.33" [COSMO] user = "oxfordcontrol" - rev = "v0.8.10" + rev = "v0.8.11" has_html = true [CuPDLPx] user = "MIT-Lu-Lab" - rev = "v0.2.9" + rev = "v0.3.0" [DAQP] user = "darnstrom" rev = "v0.8.0" @@ -198,7 +198,7 @@ rev = "v0.2.2" [MathOptAI] user = "lanl-ansi" - rev = "v0.2.5" + rev = "v0.2.6" extension = true [MathOptChordalDecomposition] user = "samuelsonric" diff --git a/docs/src/changelog.md b/docs/src/changelog.md index c2044441e35..eddd275897e 100644 --- a/docs/src/changelog.md +++ b/docs/src/changelog.md @@ -7,6 +7,59 @@ CurrentModule = JuMP The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## Version v1.31.0 (July 21, 2026) + +### Added + + - As part of our long term goal to support vector-valued nonlinear expressions, + we added experimental support for `AbstractArray` in nonlinear expressions. + You can now build nonlinear expressions containing arrays, although there is + no corresponding support for this via solvers like Ipopt. We hope to change + this in future releases. (#3451) + - Common subexpressions are now cached when building + `MOI.ScalarNonlinearExpression`. This can result in a large speed-up for some + models, but we are also concerned about the potential for increased memory + usage in some models. If you notice changes (positive or negative), please + tell us via a GitHub issue. Related to this change, [`moi_function`](@ref) + now accepts a `model` as the first argument. Existing single-argument methods + will still work, but future callers should switch to the two-argument + version. (#4032), (#4189), (#4190), (#4200) + - We added various features to help AI agents understand JuMP (and also help + non-AI-assisted humans): + - We improved the `JuMP` module docstring so that `? JuMP` now describes + where to find the documentation and how to ask for help (#4174) + - We rewrote error messages to be clearer and include an actionable next + step. This may break tests if you relied on checking the exact string of + an error message (#4172), (#4176), (#4177), (#4178), (#4180), (#4182) + - We added learning intentions to all of the tutorials in the documentation + (#4170) + - We added an `AGENTS.md` (and `CLAUDE.md`), and added requests in multiple + parts of the documentation for users to report issues to the maintainers + (#4184), (#4185) + +### Fixed + + - Fixed a bug with `BridgeableConstraint` and `model_convert` (#4183) + - Fixed a failing test on Julia nightly (#4173) + - Fixed a bug hashing DenseAxisArray (#4192) + - Fixed a bug so that we maintain the order of expression arguments when + calling [`flatten!`](@ref) (#4196) + - Fixed a bug where `0.0` is added to `GenericNonlinearExpr` in operators like + `sum` (#4197) + - Fixed the error messages when Hermitian variables are passed invalid data to + explain what data was incorrect (#4198) + - Fixed checking if problem is an LP in [`lp_sensitivity_report`](@ref) (#4199) + - Removed some unnecessary parentheses when printing nonlinear expressions (#4201) + +### Other + + - Updated various parts of the documentation (#4158), (#4159), (#4164), + (#4165), (#4167), (#4179), (#4186), (#4187), (#4193), (#4195) + - Re-enabled `depwarn=error` in tests (#4161) + - Added a new [Sport scheduling](@ref) tutorial (#4160) (#4162) + - Updated various GitHub action versions (#4168), (#4181) + - Fixed formatting for new JuliaFormatter release (#4169) + ## Version v1.30.1 (April 24, 2026) ### Fixed diff --git a/docs/styles/config/vocabularies/JuMP/accept.txt b/docs/styles/config/vocabularies/JuMP/accept.txt index 42173089018..417e57a053c 100644 --- a/docs/styles/config/vocabularies/JuMP/accept.txt +++ b/docs/styles/config/vocabularies/JuMP/accept.txt @@ -63,6 +63,7 @@ sparsifying subexpression(?s) subgraph(?s) sublicense +subsolver subtyping SVM(?s) sysimage @@ -141,6 +142,7 @@ Artelys (Cbc|CBC) (cdd|CDD) (cddlib|CDDLib) +Chuffed Clarabel Clp CPLEXLink