diff --git a/Project.toml b/Project.toml index d84c8fff2f9..aeb9ce16a2a 100644 --- a/Project.toml +++ b/Project.toml @@ -1,6 +1,6 @@ name = "JuMP" uuid = "4076af6c-e467-56ae-b986-b466b2749572" -version = "1.30.0" +version = "1.30.1" repo = "https://github.com/jump-dev/JuMP.jl.git" [deps] diff --git a/docs/Project.toml b/docs/Project.toml index 1479ce9990e..0944b326059 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -50,39 +50,39 @@ tectonic_jll = "d7dd28d6-a5e6-559c-9131-7eb760cdacc5" [compat] CDDLib = "=0.10.2" CSV = "0.10.16" -Clarabel = "=0.11.0" +Clarabel = "=0.11.1" Clustering = "0.15.8" DSP = "0.8.4" -DataFrames = "1.8.1" +DataFrames = "1.8.2" DifferentiationInterface = "0.7.16" DimensionalData = "=0.30.1" -Distributions = "0.25.123" +Distributions = "0.25.125" Documenter = "=1.17.0" DocumenterCitations = "1.4.1" -Dualization = "0.7.1" -Enzyme = "0.13.134" -ForwardDiff = "1.3.2" +Dualization = "0.7.5" +Enzyme = "0.13.138" +ForwardDiff = "1.3.3" Gurobi = "=1.9.2" HTTP = "1.11.0" -HiGHS = "=1.22.2" +HiGHS = "=1.23.0" Images = "0.26.2" Interpolations = "0.16.2" Ipopt = "=1.14.1" -JSON = "0.21.4" +JSON = "1.5.0" JSONSchema = "1.5.0" LinearOperatorCollection = "2.4.2" Literate = "2.21.0" MarkdownAST = "0.1.3" MathOptChordalDecomposition = "=0.2.0" -MathOptInterface = "=1.50.0" -MultiObjectiveAlgorithms = "=1.10.0" +MathOptInterface = "=1.50.1" +MultiObjectiveAlgorithms = "=1.11.0" PATHSolver = "=1.7.9" ParametricOptInterface = "0.15.2" Plots = "1.41.6" RegularizedLeastSquares = "0.16.11" SCS = "=2.6.3" SQLite = "1.8.0" -SpecialFunctions = "2.7.1" +SpecialFunctions = "2.7.2" StatsPlots = "0.15.8" Tables = "1.12.1" Wavelets = "0.10.1" diff --git a/docs/make_utilities.jl b/docs/make_utilities.jl index 23627fad846..d29cf6a4d3b 100644 --- a/docs/make_utilities.jl +++ b/docs/make_utilities.jl @@ -344,15 +344,6 @@ function add_moi_pages() r"^# Infeasibility certificates$"m => "# [Infeasibility certificates](@id moi_infeasibility_certificates)", ], "reference/models.md" => ["# ResultStatusCode" => "# Result Status"], - # This can be removed once we support JSON@1 in the documentation - "submodules/FileFormats/overview.md" => ["JSON.Object" => "Dict"], - # These can be removed once we support MOI@1.48.1 or later - "reference/models.md" => ["# ResultStatusCode" => "# Result Status"], - "submodules/Nonlinear/SymbolicAD.md" => [ - "# `simplify`" => "# [`simplify`](@id symbolic_ad_manual_simplify)", - "# `variables`" => "# [`variables`](@id symbolic_ad_manual_variables)", - "# `derivative`" => "# [`derivative`](@id symbolic_ad_manual_derivative)", - ], ] filename = joinpath(moi_dir, filename) write(filename, replace(read(filename, String), replacements...)) diff --git a/docs/packages.toml b/docs/packages.toml index fdd6d61c061..103409d754a 100644 --- a/docs/packages.toml +++ b/docs/packages.toml @@ -47,7 +47,7 @@ [CSDP] rev = "v1.1.2" [cuOpt] - rev = "v0.1.2" + rev = "v0.2.1" [DiffOpt] rev = "v0.5.6" extension = true @@ -55,7 +55,7 @@ # [DSDP] # rev = "v0.2.1" [Dualization] - rev = "v0.7.1" + rev = "v0.7.5" [ECOS] rev = "v1.1.3" [GLPK] @@ -63,16 +63,16 @@ [Gurobi] rev = "v1.9.2" [HiGHS] - rev = "v1.22.2" + rev = "v1.23.0" [Hypatia] - rev = "v0.9.1" + rev = "v0.9.2" has_html = true [Ipopt] rev = "v1.14.1" [KNITRO] rev = "v1.2.1" [MathOptAnalyzer] - rev = "v0.1.1" + rev = "v0.1.2" [MathOptIIS] rev = "v0.2.0" [MiniZinc] @@ -80,7 +80,7 @@ [MosekTools] rev = "v0.15.10" [MultiObjectiveAlgorithms] - rev = "v1.10.0" + rev = "v1.11.0" has_html = true [NEOSServer] rev = "v1.2.0" @@ -100,7 +100,7 @@ rev = "f674332f09b8f4c1216a9c4cf309fa27cbad9e1b" extension = true [PolyJuMP] - rev = "v0.7.6" + rev = "v0.8.0" extension = true [SCS] rev = "v2.6.3" @@ -118,7 +118,7 @@ rev = "v0.7.6" extension = true [Xpress] - rev = "v0.17.2" + rev = "v0.18.0" # =========================== non-jump-dev packages ========================== # @@ -140,7 +140,7 @@ rev = "v0.10.2" [Clarabel] user = "oxfordcontrol" - rev = "v0.11.0" + rev = "v0.11.1" has_html = true [CoolPDLP] user = "JuliaDecisionFocusedLearning" @@ -157,7 +157,7 @@ rev = "v0.2.7" [DAQP] user = "darnstrom" - rev = "v0.7.1" + rev = "v0.8.0" [DisjunctiveProgramming] user = "hdavid16" rev = "6a4d0ac4a7484e52b1dbff9cee310a73d2d23e81" @@ -221,7 +221,7 @@ rev = "v0.12.8" [SDDP] user = "odow" - rev = "v1.13.1" + rev = "v1.13.2" has_html = true extension = true [SDPLRPlus] diff --git a/docs/src/changelog.md b/docs/src/changelog.md index 4639e004aba..c2044441e35 100644 --- a/docs/src/changelog.md +++ b/docs/src/changelog.md @@ -7,6 +7,24 @@ 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.30.1 (April 24, 2026) + +### Fixed + + - Fixed [`primal_feasibility_report`](@ref) with [`NonlinearExpr`](@ref) and + `skip_missing=true` (#4153) + +### Other + + - Documentation updates (#4130), (#4137), (#4141), (#4143), (#4146), (#4152), + (#4155), (#4156) + - Updated versions for GitHub actions (#4131), (#4145) + - Added a CI test for PackageCompiler.jl (#4135) + - Updated `CODE_OF_CONDUCT` to the NumFOCUS CoC (#4136), (#4140) + - Remove outdated sentence from LICENSE.md (#4142) + - Added [AI Policy](@ref), a policy for AI assisted contributions (#4138) + - Fixed various issues identified by JET (#4148), (#4149) + ## Version 1.30.0 (March 4, 2026) This release is a minor release because we are changing the Julia compat bounds. diff --git a/docs/src/developers/extensions.md b/docs/src/developers/extensions.md index df4fa869786..3656f3c7944 100644 --- a/docs/src/developers/extensions.md +++ b/docs/src/developers/extensions.md @@ -475,8 +475,8 @@ Integer infeasibilities 0 0 0 Row infeasibilities 0 0 0 Row residuals 0 0 0 Presolving model -0 rows, 0 cols, 0 nonzeros 0s -0 rows, 0 cols, 0 nonzeros 0s +0 rows, 0 cols, 0 nonzeros 0s +0 rows, 0 cols, 0 nonzeros 0s Presolve reductions: rows 0(-0); columns 0(-1); nonzeros 0(-0) - Reduced to empty Presolve: Optimal diff --git a/docs/src/tutorials/applications/web_app.jl b/docs/src/tutorials/applications/web_app.jl index 8d0997a6ea6..ce26567850f 100644 --- a/docs/src/tutorials/applications/web_app.jl +++ b/docs/src/tutorials/applications/web_app.jl @@ -79,7 +79,8 @@ endpoint_solve(Dict{String,Any}()) function wrap_endpoint(endpoint::Function) function serve_request(request::HTTP.Request)::HTTP.Response task = Threads.@spawn try - ret = request.body |> String |> JSON.parse |> endpoint |> JSON.json + input = request.body |> String |> JSON.parse + ret = convert(Dict{String,Any}, input) |> endpoint |> JSON.json HTTP.Response(200, ret) catch err HTTP.Response(500, "internal error: $err")