Skip to content

Commit 5609a8a

Browse files
authored
Merge pull request #3356 from blnicho/finalize-release-6.8.0
Finalize release 6.8.0
2 parents 9b7c132 + feef6d9 commit 5609a8a

File tree

8 files changed

+89
-32
lines changed

8 files changed

+89
-32
lines changed

.coin-or/projDesc.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -227,8 +227,8 @@ Carl D. Laird, Chair, Pyomo Management Committee, claird at andrew dot cmu dot e
227227
Use explicit overrides to disable use of automated
228228
version reporting.
229229
-->
230-
<stableVersionNumber>6.7.3</stableVersionNumber>
231-
<releaseNumber>6.7.3</releaseNumber>
230+
<stableVersionNumber>6.8.0</stableVersionNumber>
231+
<releaseNumber>6.8.0</releaseNumber>
232232

233233
</developmentStatus>
234234

CHANGELOG.md

+63
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,69 @@ Pyomo CHANGELOG
22
===============
33

44

5+
-------------------------------------------------------------------------------
6+
Pyomo 6.8.0 (20 Aug 2024)
7+
-------------------------------------------------------------------------------
8+
9+
SIGNIFICANT CHANGE NOTICE
10+
11+
- Internal data storage for Constraint objects (see #3293)
12+
- No longer release cythonized wheel for Python 3.11+ (see #3355)
13+
14+
CHANGELOG
15+
16+
- General
17+
- Add ParameterizedQuadraticRepn and corresponding walker (#3324)
18+
- Update Pyomo for NumPy 2.0 compatibility (#3292, #3353)
19+
- Add ParameterizedLinearRepn and corresponding walker (#3268)
20+
- Update Release Process Workflow for changes in `pip` (#3355)
21+
- Core
22+
- Handle uninitialized variable in `propagate_solution` of scaling
23+
transformation (#3275)
24+
- Add `context` option to `SuffixFinder` (#3348)
25+
- Remove the `_suppress_ctypes` attribute from Block (#3347)
26+
- Improve `Set` initialization performance (#3302)
27+
- Update Constraint to only store the original expression (not
28+
lower/body/upper) (#3293)
29+
- Kernel: fix bug in conic geomean (#3310)
30+
- Fix bug with IndexedSet objects and the within argument (#3288)
31+
- Support validate/filter for IndexedSet components using index (#3338)
32+
- Solver Interfaces
33+
- Resolve NLv2 incompatibility with multithreading (#3332)
34+
- Resolve writer performance degradation (#3343)
35+
- Fix bug with inconsistent use of `result` and `results` (#3337)
36+
- LegacySolverWrapper: restore 'options' attribute (#3334)
37+
- Fix bug in XpressDirect._load_slacks (#3318)
38+
- NLv2: support expressions with nested external functions (#3319)
39+
- Ignore errors on ASL solver version check (#3298)
40+
- Add SAS solver interface (#2886, #3309)
41+
- Testing
42+
- Omnibus testing / platform portability fixes (#3335)
43+
- Change BARON download URL (#3328)
44+
- Disable interface/testing for NEOS/octeract (#3322)
45+
- Fix typo in Jenkins driver (#3312)
46+
- Jenkins: update logic for recording variables (#3311)
47+
- Unpin Codecov / Update coverage (#3303)
48+
- GDP
49+
- Don't transform known-to-be infeasible Disjuncts in multiple BigM (#3314)
50+
- Contributed Packages
51+
- alternative_solutions: Add a new contrib package for generating
52+
alternative solutions (#3270)
53+
- APPSI: Allow maingo_solvermodel to be imported without maingopy (#3330)
54+
- APPSI: Sort indices while removing constraints to fix bug in HiGHs
55+
interface (#3281)
56+
- CP: Add beforeChild handling for bools in logical expressions (#3315)
57+
- DoE: Refactor to improve API and maintainability (#3317)
58+
- incidence_analysis: Raise error in `generate_strongly_connected_components`
59+
instead of asserting (#3305)
60+
- parmest: Add missing main call for example file (#3349)
61+
- piecewise: Add incremental PW linear to MIP transformation (#3287)
62+
- piecewise: Add nonlinear-to-piecewise-linear transformation (#3333)
63+
- PyNumero: Support user-provided CyIpopt callbacks with 13 arguments (#3289)
64+
- PyNumero: Support PyomoNLP scaling factors on sub-blocks (#3295)
65+
- PyROS: Temporarily Adjust NL Writer Feasibility Tolerance (#3280)
66+
- viewer: Add option to specify the model by variable name (#3271)
67+
568
-------------------------------------------------------------------------------
669
Pyomo 6.7.3 (29 May 2024)
770
-------------------------------------------------------------------------------

RELEASE.md

+11-16
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,19 @@
1-
We are pleased to announce the release of Pyomo 6.7.3.
1+
We are pleased to announce the release of Pyomo 6.8.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.7 release series:
8-
9-
- Added support for Python 3.12
10-
- Removed support for Python 3.7
11-
- New writer for converting linear models to matrix form
12-
- Improved handling of nested GDPs
13-
- Redesigned user API for parameter estimation
14-
- New packages:
15-
- iis: new capability for identifying minimal intractable systems
16-
- latex_printer: print Pyomo models to a LaTeX compatible format
17-
- contrib.solver: preview of redesigned solver interfaces
18-
- simplification: simplify Pyomo expressions
19-
- New solver interfaces
20-
- MAiNGO: Mixed-integer nonlinear global optimization
21-
- ...and of course numerous minor bug fixes and performance enhancements
7+
The following are highlights of the 6.8 release series:
8+
9+
- Support for Numpy2
10+
- Refactor of Design of Experiments (`contrib.doe`)
11+
- New packages:
12+
- alternative_solutions: alternative (near) optimal solutions
13+
- New solver interfaces:
14+
- SAS: Statistical Analysis System
15+
- v2: Ongoing solver interface refactor
16+
- ...and of course numerous minor bug fixes and performance enhancements
2217

2318
A full list of updates and changes is available in the
2419
[`CHANGELOG.md`](https://github.com/Pyomo/pyomo/blob/main/CHANGELOG.md).

pyomo/contrib/doe/__init__.py

+3-4
Original file line numberDiff line numberDiff line change
@@ -24,24 +24,23 @@
2424

2525

2626
@deprecated(
27-
"Use of MeasurementVariables in Pyomo.DoE is no longer supported.",
28-
version='6.7.4.dev0',
27+
"Use of MeasurementVariables in Pyomo.DoE is no longer supported.", version='6.8.0'
2928
)
3029
class MeasurementVariables:
3130
def __init__(self, *args):
3231
raise RuntimeError(deprecation_message)
3332

3433

3534
@deprecated(
36-
"Use of DesignVariables in Pyomo.DoE is no longer supported.", version='6.7.4.dev0'
35+
"Use of DesignVariables in Pyomo.DoE is no longer supported.", version='6.8.0'
3736
)
3837
class DesignVariables:
3938
def __init__(self, *args):
4039
raise RuntimeError(deprecation_message)
4140

4241

4342
@deprecated(
44-
"Use of ModelOptionLib in Pyomo.DoE is no longer supported.", version='6.7.4.dev0'
43+
"Use of ModelOptionLib in Pyomo.DoE is no longer supported.", version='6.8.0'
4544
)
4645
class ModelOptionLib:
4746
def __init__(self, *args):

pyomo/contrib/pynumero/interfaces/cyipopt_interface.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -310,7 +310,7 @@ def __init__(self, nlp, intermediate_callback=None, halt_on_evaluation_error=Non
310310
# cyipopt.Problem.__init__
311311
super(CyIpoptNLP, self).__init__()
312312

313-
# Pre-Pyomo 6.7.4.dev0, we had no way to pass the cyipopt.Problem object
313+
# Pre-Pyomo 6.8.0, we had no way to pass the cyipopt.Problem object
314314
# to the user in an intermediate callback. This prevented them from calling
315315
# the useful get_current_iterate and get_current_violations methods. Now,
316316
# we support this by adding the Problem object to the args we pass to a user's
@@ -496,7 +496,7 @@ def intermediate(
496496
"""
497497
if self._intermediate_callback is not None:
498498
if self._use_13arg_callback:
499-
# This is the callback signature expected as of Pyomo 6.7.4.dev0
499+
# This is the callback signature expected as of Pyomo 6.8.0
500500
return self._intermediate_callback(
501501
self._nlp,
502502
self,
@@ -513,7 +513,7 @@ def intermediate(
513513
ls_trials,
514514
)
515515
else:
516-
# This is the callback signature expected pre-Pyomo 6.7.4.dev0 and
516+
# This is the callback signature expected pre-Pyomo 6.8.0 and
517517
# is supported for backwards compatibility.
518518
return self._intermediate_callback(
519519
self._nlp,

pyomo/core/base/set.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1489,7 +1489,7 @@ def _cb_validate_filter(self, mode, val_iter):
14891489
"callback signature matched (block, *value). "
14901490
"Please update the callback to match the signature "
14911491
f"(block, value{', *index' if comp.is_indexed() else ''}).",
1492-
version='6.7.4.dev0',
1492+
version='6.8.0',
14931493
)
14941494
orig_fcn = fcn._fcn
14951495
fcn = ParameterizedScalarCallInitializer(
@@ -1512,7 +1512,7 @@ def _cb_validate_filter(self, mode, val_iter):
15121512
"callback signature matched (block, *value, *index). "
15131513
"Please update the callback to match the signature "
15141514
"(block, value, *index).",
1515-
version='6.7.4.dev0',
1515+
version='6.8.0',
15161516
)
15171517
if fcn.__class__ is not ParameterizedInitializer:
15181518
orig_fcn = fcn._fcn

pyomo/repn/plugins/nl_writer.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@
7474

7575
logger = logging.getLogger(__name__)
7676

77-
relocated_module_attribute('AMPLRepn', 'pyomo.repn.ampl.AMPLRepn', version='6.7.4.dev0')
77+
relocated_module_attribute('AMPLRepn', 'pyomo.repn.ampl.AMPLRepn', version='6.8.0')
7878

7979
inf = float('inf')
8080
minus_inf = -inf

pyomo/version/info.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,10 @@
2525
# should generally be left at 0, unless a downstream package is tracking
2626
# main and needs a hard reference to "suitably new" development.
2727
major = 6
28-
minor = 7
29-
micro = 4
30-
releaselevel = 'invalid'
31-
# releaselevel = 'final'
28+
minor = 8
29+
micro = 0
30+
# releaselevel = 'invalid'
31+
releaselevel = 'final'
3232
serial = 0
3333

3434
if releaselevel == 'final':

0 commit comments

Comments
 (0)