Skip to content

Commit 2ebd087

Browse files
authored
Merge pull request #3858 from mrmundt/finalize-release-6.10.0
Finalize Pyomo 6.10.0 for Release
2 parents 3c400c1 + c7b1426 commit 2ebd087

7 files changed

Lines changed: 76 additions & 20 deletions

File tree

.coin-or/projDesc.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -208,8 +208,8 @@ Carl D. Laird, Chair, Pyomo Management Committee, claird at andrew dot cmu dot e
208208
Use explicit overrides to disable use of automated
209209
version reporting.
210210
-->
211-
<stableVersionNumber>6.9.5</stableVersionNumber>
212-
<releaseNumber>6.9.5</releaseNumber>
211+
<stableVersionNumber>6.10.0</stableVersionNumber>
212+
<releaseNumber>6.10.0</releaseNumber>
213213

214214
</developmentStatus>
215215

CHANGELOG.md

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,59 @@
11
Pyomo CHANGELOG
22
===============
33

4+
-------------------------------------------------------------------------------
5+
Pyomo 6.10.0 (20 Feb 2026)
6+
-------------------------------------------------------------------------------
7+
8+
- General
9+
- Remove support for Python 3.9 (#3760)
10+
- Typo corrections (#3779, #3831)
11+
- Remove external `ply` dependency (#3840)
12+
- Apply 2026 `black` formatting updates (#3820)
13+
- Update copyright to 2026 (#3846)
14+
- Improvements to `Config` classes, tests, and docs (#3790)
15+
- Improve efficiency of nested `StreamIndenter` objects (#3813)
16+
- Core
17+
- Remove sorting from `tabular_writer` (#3804)
18+
- Enhance static typing (#3803)
19+
- Update `SuffixFinder` to look in context for external data objects (#3844)
20+
- Documentation
21+
- Add support for Sphinx 9.1 (#3815, #3818)
22+
- Add formal documentation for future `pyomo.contrib` changes (#3768)
23+
- Fix docstrings in `core.lp_dual` transformation (#3842)
24+
- Update related packages page (#3849, #3853)
25+
- GDP
26+
- Fix bug transforming Blocks in `gdp.mbigm` transformation (#3811)
27+
- Solver Interfaces
28+
- Update `ipopt_v2` interface (#3792)
29+
- Add cuOpt direct solver (#3620)
30+
- Improvements for KNITRO interface (#3762, #3765, #3766, #3802, #3824,
31+
#3826, #3827, #3837, #3794)
32+
- Remove `iteration_count` as a default Results object value (#3767)
33+
- Compute `wall_time` using `time.perf_counter` (#3825)
34+
- Incorporate Model observer into `gurobi_v2` interface (#3698)
35+
- Add new GAMS interface, writer, and solution loader (#3683)
36+
- Testing
37+
- Testing infrastructure cleanup/rework (#3764, #3770, #3773, #3810)
38+
- Correct broken URLs (#3761, #3796, #3845, #3847, #3848)
39+
- Pytest version workarounds (#3780, #3784)
40+
- Specify `openmpi` build type in testing environment (#3797)
41+
- Add flexibility to error checking for `gurobi_minlp` (#3822)
42+
- Update solver tests for gurobiasl 13.0.0 (#3850)
43+
- Rework `conftest.py` to support solver/writer marker expressions (#3854)
44+
- Relax mumps reallocation test (#3857)
45+
- Contributed Packages
46+
- DoE: Disable unreliable test (#3776)
47+
- DoE: Correct A optimality (#3803)
48+
- DoE: Replace computationally expensive example with Rooney Biegler (#3828)
49+
- GDPopt: Improvements to LDSDA (#3830)
50+
- observer: Add in Model observer package (#3695, #3829)
51+
- Parmest: Consolidate Rooney Biegler (#3793)
52+
- Parmest: Update documentation (#3791)
53+
- PyROS: Update tests for Python 3.14 (#3782)
54+
- PyROS: Fix `IntersectionSet` implementation (#3786)
55+
- PyROS: Fix scaling typo in separation objectives (#3817)
56+
457
-------------------------------------------------------------------------------
558
Pyomo 6.9.5 (17 Oct 2025)
659
-------------------------------------------------------------------------------

RELEASE.md

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,17 @@
1-
We are pleased to announce the release of Pyomo 6.9.5.
1+
We are pleased to announce the release of Pyomo 6.10.0.
22

33
Pyomo is a collection of Python software packages that supports a
44
diverse set of optimization capabilities for formulating and analyzing
55
optimization models.
66

7-
The following are highlights of the 6.9 release series:
7+
The following are highlights of the 6.10 release series:
88

9-
- Removed support for Python 3.8
10-
- Added support for Python 3.14
11-
- New Logic-Based Discrete-Steepest Descent Algorithm in GDPOpt
12-
- New External Function for Cubic Spline Interpolation
13-
- New ASL External Functions Library
9+
- Removed support for Python 3.9
10+
- Removed hard dependency on `ply`
11+
- New Model Observer package
1412
- New solver interfaces:
15-
- `knitro_direct` KNITRO Python bindings interface
16-
- Add `gurobi_direct` support for MINLP
13+
- `gams_v2` solver, writer, and solution loader
14+
- `cuopt` direct solver interface
1715
- v2: Ongoing solver interface refactor
1816
- ...and of course numerous minor bug fixes and performance enhancements
1917

doc/OnlineDocs/getting_started/solvers.rst

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,19 @@ the license requirements for their desired solver.
2828
- License |br| Docs
2929
* - cplex
3030
- ``pip install cplex``
31-
- ``conda install ‑c ibmdecisionoptimization \ cplex``
31+
- ``conda install ‑c \ ibmdecisionoptimization cplex``
3232
- `License <https://www.ibm.com/products/ilog-cplex-optimization-studio/pricing>`__
3333
`Docs <https://www.ibm.com/docs/en/icos/latest?topic=cplex-installing>`__
3434
* - CPoptimizer
35-
- ``pip install cplex \ docplex``
36-
- ``conda install ‑c ibmdecisionoptimization \ cplex docplex``
35+
- ``pip install cplex docplex``
36+
- ``conda install ‑c \ ibmdecisionoptimization \ cplex docplex``
3737
- `License <https://github.com/IBMDecisionOptimization/docplex-doc/blob/master/LICENSE.txt>`__
3838
`Docs <https://ibmdecisionoptimization.github.io/docplex-doc/getting_started_python.html>`__
39+
* - cuOpt
40+
- CUDA-version dependent; see the official `documentation <https://docs.nvidia.com/cuopt/user-guide/latest/cuopt-python/quick-start.html>`__.
41+
- CUDA-version dependent; see the official `documentation <https://docs.nvidia.com/cuopt/user-guide/latest/cuopt-python/quick-start.html>`__.
42+
- `License <https://docs.nvidia.com/cuopt/user-guide/latest/license.html>`__
43+
`Docs <https://docs.nvidia.com/cuopt/user-guide/latest/cuopt-python/quick-start.html>`__
3944
* - cyipopt
4045
- ``pip install cyipopt``
4146
- ``conda install ‑c conda‑forge cyipopt``

pyomo/contrib/solver/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
moved_module(
3939
'pyomo.contrib.solver.solvers.sol_reader',
4040
'pyomo.contrib.solver.solvers.asl_sol_reader',
41-
version='6.10.0.dev0',
41+
version='6.10.0',
4242
)
4343

4444
del _module, moved_module

pyomo/core/base/param.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -471,7 +471,7 @@ def sparse_items(self, sort=SortComponents.UNSORTED):
471471
@deprecated(
472472
"The sparse_iterkeys method is deprecated. Use sparse_keys()",
473473
# This should have been deprecated when we dropped Python 2.7
474-
version='6.10.0.dev0',
474+
version='6.10.0',
475475
)
476476
def sparse_iterkeys(self):
477477
"""Return an iterator for the keys in the defined parameters"""
@@ -480,7 +480,7 @@ def sparse_iterkeys(self):
480480
@deprecated(
481481
"The sparse_itervalues method is deprecated. Use sparse_values()",
482482
# This should have been deprecated when we dropped Python 2.7
483-
version='6.10.0.dev0',
483+
version='6.10.0',
484484
)
485485
def sparse_itervalues(self):
486486
"""Return an iterator for the defined param data objects"""
@@ -489,7 +489,7 @@ def sparse_itervalues(self):
489489
@deprecated(
490490
"The sparse_iteritems method is deprecated. Use sparse_items()",
491491
# This should have been deprecated when we dropped Python 2.7
492-
version='6.10.0.dev0',
492+
version='6.10.0',
493493
)
494494
def sparse_iteritems(self):
495495
"""Return an iterator of (index,data) tuples for defined parameters"""

pyomo/version/info.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@
2525
major = 6
2626
minor = 10
2727
micro = 0
28-
releaselevel = 'invalid'
29-
# releaselevel = 'final'
28+
# releaselevel = 'invalid'
29+
releaselevel = 'final'
3030
serial = 0
3131

3232
if releaselevel == 'final':

0 commit comments

Comments
 (0)