From 270b61ca4f1d8dc78df03f3abc49b421ccf146b2 Mon Sep 17 00:00:00 2001 From: Miranda Mundt Date: Thu, 4 Jun 2026 12:29:08 -0600 Subject: [PATCH 1/5] Initial changelog --- CHANGELOG.md | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index dbd9f8663ff..17903c0d91a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,76 @@ Pyomo CHANGELOG =============== +------------------------------------------------------------------------------- +Pyomo 6.10.1 (04 Jun 2026) +------------------------------------------------------------------------------- + +- General + - Resolve `capture_output` deadlock in multiprocessing environments (#3957) + - Add SetOf domain; improve config's mock yaml dumper (#3872) + - Bugfixes and testing of linear templates (#3781) +- Core + - Remove `pyomo.duality` and `pyomo.core.plugins.transform.model` (#3876) + - Improved `ConstraintData.equality` relational expression generation (#3893) + - KKT Transform code refactor (#3881) + - New options/mappings in the core.add_slack_variables Transformation (#3869) + - Centralize processing of monomial terms in LinearRepn compiler (#3956) +- Documentation + - Remove references to `scipopt.org`; update DoE paper reference (#3968) + - Add AI policy to contribution guide (#3959) + - Add a new template for tracking tasks (#3935) + - Document use of 'Draft' status when reviewing PRs (#3918) + - Improve documentation for mutable vs immutable Params (#3890) + - Update README processing, version management (#3873) + - Update URL for cyipopt documentation (#3909) +- GDP + - GDP Hull transform: add handling for cases of constraint functions not + well-defined at the origin (#3880) + - Exact hull reformulation for quadratic constraints (#3874) +- Solver Interfaces + - Fix memory leak in LegacySolverInterface wrapper (#3915) + - Direct and Persistent Interfaces to SCIP (#3744) + - KNITRO: Add warm start support (#3833) + - Handle cuOpt UnboundedOrInfeasible termination status (11) (#3916) + - IPOPT bug: version checking incorrect (#3862) + - Add tests for trivial constraints (#3703) + - Rework `SolutionLoader` (#3701) +- Testing + - Add missing Ipopt guards (parmest); add GHA nosolvers test (#3962) + - Unpin GAMS release; rebuild GHA package cache (#3950) + - Update GHA TPL cache; resolve new test failures (#3865) + - Temporarily pin to PyPy 7.3.20 (#3899) + - Update actions; exclude mathworks from URL checks (#3900, #3929) + - Bugfix for non-standard sed on OSX (#3901) + - Update osx installers and urlchecker environment (#3914) + - GHA: run tests on draft PRs (#3926) + - Add NEOS solvers (#3919, #3924) + - Disallow cplex 22.1.2.1 from conda (#3910) +- Contributed Packages + - DoE: Fix trace/Cholesky initialization consistency (#3867) + - DoE: Update documentation (#3812) + - iis: Fix interface for current CPLEX releases (#3965) + - initialization: Add initialization module (#3912) + - mpc: Load data ignore expressions (#3868) + - MindtPy: Internal short circuit base (#3907) + - MindtPy: Fix results returned when no discrete variables present (#3861) + - parmest/DoE: Reorganizing Documentation Pages (#3904) + - parmest: Simplify _Q_opt with block scenario structure (#3789) + - parmest: Adding regularization objective option (#3550) + - piecewise: Factorable Programming for PWL Approximations (#3821) + - piecewise: Separate Linear Terms in Nonlinear to Piecewise Linear + Transformation (#3814) + - PyNumero: Efficiency change to sensitivity toolbox calculations (#3905) + - PyNumero: Use Hessian approximation in CyIpopt when grey-box without + Hessian is present (#3892) + - PyROS: Fix typos in PyROS `CardinalitySet` documentation (#3972) + - PyROS: Extend the `CardinalitySet` to allow negative deviations (#3969) + - PyROS: Add `CartesianProductSet` (#3927, #3951) + - PyROS: Add caching for computed uncertain parameter bounds (#3877) + - PyROS: Amend documentation of `BudgetSet.budget_membership_mat` (#3954) + - TrustRegion: Remove direct manipulation of `stdout` (#3902) + - TrustRegion: Add funnel globalization mechanism (#3832) + ------------------------------------------------------------------------------- Pyomo 6.10.0 (20 Feb 2026) ------------------------------------------------------------------------------- From 0ce54c1d486b0a9530eecaedb80f83730b5420e7 Mon Sep 17 00:00:00 2001 From: blnicho Date: Thu, 4 Jun 2026 14:08:57 -0600 Subject: [PATCH 2/5] Edits to CHANGELOG --- CHANGELOG.md | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 17903c0d91a..adbb35edcd1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,11 +12,11 @@ Pyomo 6.10.1 (04 Jun 2026) - Core - Remove `pyomo.duality` and `pyomo.core.plugins.transform.model` (#3876) - Improved `ConstraintData.equality` relational expression generation (#3893) - - KKT Transform code refactor (#3881) + - Add new KKT Transformation for generating KKT reformulations (#3881) - New options/mappings in the core.add_slack_variables Transformation (#3869) - Centralize processing of monomial terms in LinearRepn compiler (#3956) - Documentation - - Remove references to `scipopt.org`; update DoE paper reference (#3968) + - Remove "deep" references to `scipopt.org`; update DOI for DoE paper (#3968) - Add AI policy to contribution guide (#3959) - Add a new template for tracking tasks (#3935) - Document use of 'Draft' status when reviewing PRs (#3918) @@ -24,15 +24,14 @@ Pyomo 6.10.1 (04 Jun 2026) - Update README processing, version management (#3873) - Update URL for cyipopt documentation (#3909) - GDP - - GDP Hull transform: add handling for cases of constraint functions not - well-defined at the origin (#3880) - - Exact hull reformulation for quadratic constraints (#3874) + - Modify hull transform to allow a nonzero base point (#3880) + - Add exact hull reformulation for quadratic constraints (#3874) - Solver Interfaces - Fix memory leak in LegacySolverInterface wrapper (#3915) - - Direct and Persistent Interfaces to SCIP (#3744) + - Add direct and persistent interfaces to SCIP (#3744) - KNITRO: Add warm start support (#3833) - Handle cuOpt UnboundedOrInfeasible termination status (11) (#3916) - - IPOPT bug: version checking incorrect (#3862) + - Fix bug in IPOPT version checking (#3862) - Add tests for trivial constraints (#3703) - Rework `SolutionLoader` (#3701) - Testing @@ -50,19 +49,17 @@ Pyomo 6.10.1 (04 Jun 2026) - DoE: Fix trace/Cholesky initialization consistency (#3867) - DoE: Update documentation (#3812) - iis: Fix interface for current CPLEX releases (#3965) - - initialization: Add initialization module (#3912) - - mpc: Load data ignore expressions (#3868) + - initialization: New tools for initializing nonconvex NLPs (#3912) + - mpc: Skip Expressions when loading MPC data (#3868) - MindtPy: Internal short circuit base (#3907) - MindtPy: Fix results returned when no discrete variables present (#3861) - parmest/DoE: Reorganizing Documentation Pages (#3904) - parmest: Simplify _Q_opt with block scenario structure (#3789) - - parmest: Adding regularization objective option (#3550) + - parmest: Add regularization objective option (#3550) - piecewise: Factorable Programming for PWL Approximations (#3821) - - piecewise: Separate Linear Terms in Nonlinear to Piecewise Linear - Transformation (#3814) + - piecewise: Separate linear terms in ``nonlinear_to_pwl`` transform. (#3814) - PyNumero: Efficiency change to sensitivity toolbox calculations (#3905) - - PyNumero: Use Hessian approximation in CyIpopt when grey-box without - Hessian is present (#3892) + - PyNumero: Use Hessian approximation for grey-boxes sent to CyIpopt (#3892) - PyROS: Fix typos in PyROS `CardinalitySet` documentation (#3972) - PyROS: Extend the `CardinalitySet` to allow negative deviations (#3969) - PyROS: Add `CartesianProductSet` (#3927, #3951) From 6c5bd4aca546b5e25dab0ffe42642ef7cd3e7445 Mon Sep 17 00:00:00 2001 From: Miranda Mundt Date: Thu, 4 Jun 2026 14:17:03 -0600 Subject: [PATCH 3/5] Update deprecations and version --- .coin-or/projDesc.xml | 4 ++-- pyomo/contrib/parmest/parmest.py | 2 +- pyomo/version/info.py | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.coin-or/projDesc.xml b/.coin-or/projDesc.xml index 67f5732ec7e..b8c4144c0cf 100644 --- a/.coin-or/projDesc.xml +++ b/.coin-or/projDesc.xml @@ -208,8 +208,8 @@ Carl D. Laird, Chair, Pyomo Management Committee, claird at andrew dot cmu dot e Use explicit overrides to disable use of automated version reporting. --> - 6.10.0 - 6.10.0 + 6.10.1 + 6.10.1 diff --git a/pyomo/contrib/parmest/parmest.py b/pyomo/contrib/parmest/parmest.py index 6e6d040b792..6643485fc9b 100644 --- a/pyomo/contrib/parmest/parmest.py +++ b/pyomo/contrib/parmest/parmest.py @@ -2328,7 +2328,7 @@ def objective_at_theta(self, theta_values=None, initialize_parmest_model=False): "The `initialize_parmest_model` option in `objective_at_theta()` is " "deprecated and will be removed in future releases. Please ensure the " "model is initialized within the Experiment class definition.", - version="6.10.1.dev0", + version="6.10.1", ) if theta_values is None: diff --git a/pyomo/version/info.py b/pyomo/version/info.py index 4beebf57adf..0f53372269f 100644 --- a/pyomo/version/info.py +++ b/pyomo/version/info.py @@ -20,8 +20,8 @@ major = 6 minor = 10 micro = 1 -# releaselevel = 'final' -serial = 0 +releaselevel = 'final' +# serial = 0 def _estimate_release_level(): From 454dedb8dbc1a13a46c81f2f7aa7575dd0d96f7d Mon Sep 17 00:00:00 2001 From: blnicho Date: Thu, 4 Jun 2026 14:43:55 -0600 Subject: [PATCH 4/5] Update RELEASE.md file --- RELEASE.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/RELEASE.md b/RELEASE.md index 878c2c723e5..e321515bd59 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -1,4 +1,4 @@ -We are pleased to announce the release of Pyomo 6.10.0. +We are pleased to announce the release of Pyomo 6.10.1. Pyomo is a collection of Python software packages that supports a diverse set of optimization capabilities for formulating and analyzing @@ -9,9 +9,11 @@ The following are highlights of the 6.10 release series: - Removed support for Python 3.9 - Removed hard dependency on `ply` - New Model Observer package +- New `initialization` module for nonconvex, nonlinear problems - New solver interfaces: - `gams_v2` solver, writer, and solution loader - `cuopt` direct solver interface + - `scip` direct and persistent solver interfaces - v2: Ongoing solver interface refactor - ...and of course numerous minor bug fixes and performance enhancements From 9f21d5c4be677eb1db0e41c2d975c2e894c1af61 Mon Sep 17 00:00:00 2001 From: blnicho Date: Thu, 4 Jun 2026 14:53:32 -0600 Subject: [PATCH 5/5] Fix typo because we forgot John changed things and are creatures of habit --- pyomo/version/info.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyomo/version/info.py b/pyomo/version/info.py index 0f53372269f..c84019701e4 100644 --- a/pyomo/version/info.py +++ b/pyomo/version/info.py @@ -21,7 +21,7 @@ minor = 10 micro = 1 releaselevel = 'final' -# serial = 0 +serial = 0 def _estimate_release_level():