From 90f6901c51ca5272d5ccfd1ce6787bfdce1ad499 Mon Sep 17 00:00:00 2001 From: Bethany Nicholson Date: Wed, 21 Feb 2024 01:30:42 -0700 Subject: [PATCH 1/8] Updating CHANGELOG in preparation for the release --- CHANGELOG.md | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 553a4f1c3bd..747025a8bdf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,81 @@ Pyomo CHANGELOG =============== +------------------------------------------------------------------------------- +Pyomo 6.7.1 (21 Feb 2024) +------------------------------------------------------------------------------- + +- General + - Add support for tuples in `ComponentMap`; add `DefaultComponentMap` (#3150) + - Update `Path`, `PathList`, and `IsInstance` Domain Validators (#3144) + - Remove usage of `__all__` (#3142) + - Extend Path and Type Checking Validators of `common.config` (#3140) + - Update Copyright Statements (#3139) + - Update `ExitNodeDispatcher` to better support extensibility (#3125) + - Create contributors data gathering script (#3117) + - Prevent duplicate entries in ConfigDict declaration order (#3116) + - Remove unnecessary `__future__` imports (#3109) + - Import pandas through pyomo.common.dependencies (#3102) + - Update links to workshop slides (#3079) + - Remove incorrect use of identity (is) comparisons (#3061) +- Core + - Add `Block.register_private_data_initializer()` (#3153) + - Generalize the simple_constraint_rule decorator (#3152) + - Fix edge case assigning new numeric types to Var/Param with units (#3151) + - Add private_data to `_BlockData` (#3138) + - Convert implicit sets created by `IndexedComponent`s to "anonymous" sets (#3075) + - Add `all_different` and `count_if` to the logical expression system (#3058) + - Fix RangeSet.__len__ when defined by floats (#3119) + - Overhaul the `Suffix` component (#3072) + - Enforce expression immutability in `expr.args` (#3099) + - Improve NumPy registration when assigning numpy to Param (#3093) + - Track changes in PyPy behavior introduced in 7.3.14 (#3087) + - Remove automatic numpy import (#3077) + - Fix `range_difference` for Sets with nonzero anchor points (#3063) + - Clarify errors raised by accessing Sets by positional index (#3062) +- Documentation + - Update MPC documentation and citation (#3148) + - Fix an error in the documentation for LinearExpression (#3090) + - Fix bugs in the documentation of Pyomo.DoE (#3070) + - Fix a latex_printer vestige in the documentation (#3066) +- Solver Interfaces + - Make error msg more explicit wrt different interfaces (#3141) + - NLv2: only raise exception for empty models in the legacy API (#3135) + - Add `to_expr()` to AMPLRepn, fix NLWriterInfo return type (#3095) +- Testing + - Update Release Wheel Builder Action (#3149) + - Actions Version Update: Address node.js deprecations (#3118) + - New Black Major Release (24.1.0) (#3108) + - Use scip for PyROS tests (#3104) + - Add missing solver dependency flags for OnlineDocs tests (#3094) + - Re-enable `contrib.viewer.tests.test_qt.py` (#3085) + - Add automated testing of OnlineDocs examples (#3080) + - Silence deprecation warnings emitted by Pyomo tests (#3076) + - Fix Python 3.12 tests (manage `pyutilib`, `distutils` dependencies) (#3065) +- DAE + - Replace deprecated `numpy.math` alias with standard `math` module (#3074) +- GDP + - Handle nested GDPs correctly in all the transformations (#3145) + - Fix bugs in nested models in gdp.hull transformation (#3143) + - Various bug fixes in gdp.mbigm transformation (#3073) + - Add GDP => MINLP Transformation (#3082) +- Contributed Packages + - GDPopt: Fix lbb solve_data bug (#3133) + - GDPopt: Adding missing import for gdpopt.enumerate (#3105) + - FBBT: Extend `fbbt.ExpressionBoundsVisitor` to handle relational + expressions and Expr_if (#3129) + - incidence_analysis: Method to add an edge in IncidenceGraphInterface (#3120) + - incidence_analysis: Add subgraph method to IncidencegraphInterface (#3122) + - incidence_analysis: Add `ampl_repn` option (#3069) + - incidence_analysis: Fix config documentation of `linear_only` argument in + `get_incident_variables` (#3067) + - interior_point: Workaround for improvement in Mumps memory prediction + algorithm (#3114) + - MindtPy: Various bug fixes (#3034) + - PyROS: Update Solver Argument Resolution and Validation Routines (#3126) + - PyROS: Update Subproblem Initialization Routines (#3071) + - PyROS: Fix DR polishing under nominal objective focus (#3060) + ------------------------------------------------------------------------------- Pyomo 6.7.0 (29 Nov 2023) ------------------------------------------------------------------------------- From 434c1dadeeed7531a6b372661891dbf17b7d647b Mon Sep 17 00:00:00 2001 From: Bethany Nicholson Date: Wed, 21 Feb 2024 09:11:46 -0700 Subject: [PATCH 2/8] More updates to the CHANGELOG --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 747025a8bdf..c548a8c830c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -35,6 +35,7 @@ Pyomo 6.7.1 (21 Feb 2024) - Fix `range_difference` for Sets with nonzero anchor points (#3063) - Clarify errors raised by accessing Sets by positional index (#3062) - Documentation + - Update intersphinx links, remove docs for nonfunctional code (#3155) - Update MPC documentation and citation (#3148) - Fix an error in the documentation for LinearExpression (#3090) - Fix bugs in the documentation of Pyomo.DoE (#3070) From 3e5cca27025a04d09ecf938433a9afb3534d501b Mon Sep 17 00:00:00 2001 From: Bethany Nicholson Date: Wed, 21 Feb 2024 09:30:29 -0700 Subject: [PATCH 3/8] More updates to the CHANGELOG --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c548a8c830c..daba7cac96c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -77,6 +77,7 @@ Pyomo 6.7.1 (21 Feb 2024) - PyROS: Update Solver Argument Resolution and Validation Routines (#3126) - PyROS: Update Subproblem Initialization Routines (#3071) - PyROS: Fix DR polishing under nominal objective focus (#3060) + - solver: Solver Refactor Part 1: Introducing the new solver interface (#3137) ------------------------------------------------------------------------------- Pyomo 6.7.0 (29 Nov 2023) From d027b190e1331db30b40bf25c2ff4b4a0fccd621 Mon Sep 17 00:00:00 2001 From: Bethany Nicholson Date: Wed, 21 Feb 2024 09:35:49 -0700 Subject: [PATCH 4/8] Updating deprecation version --- pyomo/contrib/solver/base.py | 2 +- pyomo/core/base/suffix.py | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pyomo/contrib/solver/base.py b/pyomo/contrib/solver/base.py index f3d60bef03d..13bd5ddb212 100644 --- a/pyomo/contrib/solver/base.py +++ b/pyomo/contrib/solver/base.py @@ -396,7 +396,7 @@ def _map_config( "`keepfiles` has been deprecated in the new solver interface. " "Use `working_dir` instead to designate a directory in which " f"files should be generated and saved. Setting `working_dir` to `{cwd}`.", - version='6.7.1.dev0', + version='6.7.1', ) self.config.working_dir = cwd # I believe this currently does nothing; however, it is unclear what diff --git a/pyomo/core/base/suffix.py b/pyomo/core/base/suffix.py index 0c27eee060f..be2f732650d 100644 --- a/pyomo/core/base/suffix.py +++ b/pyomo/core/base/suffix.py @@ -341,7 +341,7 @@ def clear_all_values(self): @deprecated( 'Suffix.set_datatype is replaced with the Suffix.datatype property', - version='6.7.1.dev0', + version='6.7.1', ) def set_datatype(self, datatype): """ @@ -351,7 +351,7 @@ def set_datatype(self, datatype): @deprecated( 'Suffix.get_datatype is replaced with the Suffix.datatype property', - version='6.7.1.dev0', + version='6.7.1', ) def get_datatype(self): """ @@ -361,7 +361,7 @@ def get_datatype(self): @deprecated( 'Suffix.set_direction is replaced with the Suffix.direction property', - version='6.7.1.dev0', + version='6.7.1', ) def set_direction(self, direction): """ @@ -371,7 +371,7 @@ def set_direction(self, direction): @deprecated( 'Suffix.get_direction is replaced with the Suffix.direction property', - version='6.7.1.dev0', + version='6.7.1', ) def get_direction(self): """ From 156bf168ce817ad3a9c942b94535bf2876baae64 Mon Sep 17 00:00:00 2001 From: Bethany Nicholson Date: Wed, 21 Feb 2024 09:36:26 -0700 Subject: [PATCH 5/8] Updating RELEASE.md --- RELEASE.md | 1 + 1 file changed, 1 insertion(+) diff --git a/RELEASE.md b/RELEASE.md index 03baa803ac9..8313c969f25 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -11,6 +11,7 @@ The following are highlights of the 6.7 release series: - New writer for converting linear models to matrix form - New packages: - latex_printer (print Pyomo models to a LaTeX compatible format) + - contrib.solve: Part 1 of refactoring Pyomo's solver interfaces - ...and of course numerous minor bug fixes and performance enhancements A full list of updates and changes is available in the From 63cc14d28a4b15552bb2e8d82eae5dcc75bbac2b Mon Sep 17 00:00:00 2001 From: Bethany Nicholson Date: Wed, 21 Feb 2024 10:02:09 -0700 Subject: [PATCH 6/8] More edits to the CHANGELOG --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index daba7cac96c..faa2fa094f8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -77,7 +77,7 @@ Pyomo 6.7.1 (21 Feb 2024) - PyROS: Update Solver Argument Resolution and Validation Routines (#3126) - PyROS: Update Subproblem Initialization Routines (#3071) - PyROS: Fix DR polishing under nominal objective focus (#3060) - - solver: Solver Refactor Part 1: Introducing the new solver interface (#3137) + - solver: Solver Refactor Part 1: Introducing the new solver interface (#3137, #3156) ------------------------------------------------------------------------------- Pyomo 6.7.0 (29 Nov 2023) From 83040cdfd08a26aab94966a50b1e5e4d16cc62fa Mon Sep 17 00:00:00 2001 From: Bethany Nicholson Date: Wed, 21 Feb 2024 10:10:41 -0700 Subject: [PATCH 7/8] More updates to the CHANGELOG --- CHANGELOG.md | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index faa2fa094f8..c06e0f71378 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,7 +24,7 @@ Pyomo 6.7.1 (21 Feb 2024) - Generalize the simple_constraint_rule decorator (#3152) - Fix edge case assigning new numeric types to Var/Param with units (#3151) - Add private_data to `_BlockData` (#3138) - - Convert implicit sets created by `IndexedComponent`s to "anonymous" sets (#3075) + - IndexComponent create implicit sets as "anonymous" sets (#3075) - Add `all_different` and `count_if` to the logical expression system (#3058) - Fix RangeSet.__len__ when defined by floats (#3119) - Overhaul the `Suffix` component (#3072) @@ -38,9 +38,11 @@ Pyomo 6.7.1 (21 Feb 2024) - Update intersphinx links, remove docs for nonfunctional code (#3155) - Update MPC documentation and citation (#3148) - Fix an error in the documentation for LinearExpression (#3090) - - Fix bugs in the documentation of Pyomo.DoE (#3070) - - Fix a latex_printer vestige in the documentation (#3066) + - Fix Pyomo.DoE documentation (#3070) + - Fix latex_printer documentation (#3066) - Solver Interfaces + - Preview release of new solver interfaces as pyomo.contrib.solver + (#3137, #3156) - Make error msg more explicit wrt different interfaces (#3141) - NLv2: only raise exception for empty models in the legacy API (#3135) - Add `to_expr()` to AMPLRepn, fix NLWriterInfo return type (#3095) @@ -69,15 +71,12 @@ Pyomo 6.7.1 (21 Feb 2024) - incidence_analysis: Method to add an edge in IncidenceGraphInterface (#3120) - incidence_analysis: Add subgraph method to IncidencegraphInterface (#3122) - incidence_analysis: Add `ampl_repn` option (#3069) - - incidence_analysis: Fix config documentation of `linear_only` argument in - `get_incident_variables` (#3067) - - interior_point: Workaround for improvement in Mumps memory prediction - algorithm (#3114) + - incidence_analysis: Update documentation (#3067) + - interior_point: Resolve test failure due to Mumps update (#3114) - MindtPy: Various bug fixes (#3034) - PyROS: Update Solver Argument Resolution and Validation Routines (#3126) - PyROS: Update Subproblem Initialization Routines (#3071) - PyROS: Fix DR polishing under nominal objective focus (#3060) - - solver: Solver Refactor Part 1: Introducing the new solver interface (#3137, #3156) ------------------------------------------------------------------------------- Pyomo 6.7.0 (29 Nov 2023) From 7b7f3881103a0333453417b268f87a259d1eeeec Mon Sep 17 00:00:00 2001 From: Miranda Mundt Date: Wed, 21 Feb 2024 10:21:32 -0700 Subject: [PATCH 8/8] Update for 6.7.1 release --- .coin-or/projDesc.xml | 4 ++-- README.md | 2 +- RELEASE.md | 5 +++-- pyomo/version/info.py | 4 ++-- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/.coin-or/projDesc.xml b/.coin-or/projDesc.xml index 1ee247e100f..da977677d1f 100644 --- a/.coin-or/projDesc.xml +++ b/.coin-or/projDesc.xml @@ -227,8 +227,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.7.0 - 6.7.0 + 6.7.1 + 6.7.1 diff --git a/README.md b/README.md index 2f8a25403c2..95558e52a42 100644 --- a/README.md +++ b/README.md @@ -83,7 +83,7 @@ To get help from the Pyomo community ask a question on one of the following: ### Developers -Pyomo development moved to this repository in June, 2016 from +Pyomo development moved to this repository in June 2016 from Sandia National Laboratories. Developer discussions are hosted by [Google Groups](https://groups.google.com/forum/#!forum/pyomo-developers). diff --git a/RELEASE.md b/RELEASE.md index 8313c969f25..9b101e0999a 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -1,4 +1,4 @@ -We are pleased to announce the release of Pyomo 6.7.0. +We are pleased to announce the release of Pyomo 6.7.1. Pyomo is a collection of Python software packages that supports a diverse set of optimization capabilities for formulating and analyzing @@ -9,9 +9,10 @@ The following are highlights of the 6.7 release series: - Added support for Python 3.12 - Removed support for Python 3.7 - New writer for converting linear models to matrix form + - Improved handling of nested GDPs - New packages: - latex_printer (print Pyomo models to a LaTeX compatible format) - - contrib.solve: Part 1 of refactoring Pyomo's solver interfaces + - contrib.solver: preview of redesigned solver interfaces - ...and of course numerous minor bug fixes and performance enhancements A full list of updates and changes is available in the diff --git a/pyomo/version/info.py b/pyomo/version/info.py index 0db00ac240f..dae1b6b6c7f 100644 --- a/pyomo/version/info.py +++ b/pyomo/version/info.py @@ -27,8 +27,8 @@ major = 6 minor = 7 micro = 1 -releaselevel = 'invalid' -# releaselevel = 'final' +# releaselevel = 'invalid' +releaselevel = 'final' serial = 0 if releaselevel == 'final':