Highlight 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.solver: preview of redesigned solver interfaces
- ...and of course numerous minor bug fixes and performance enhancements
Changes in this release
- General
- Add support for tuples in
ComponentMap
; addDefaultComponentMap
(#3150) - Update
Path
,PathList
, andIsInstance
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)
- Add support for tuples in
- 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) - IndexComponent create implicit sets as "anonymous" sets (#3075)
- Add
all_different
andcount_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)
- Add
- Documentation
- Solver Interfaces
- 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 standardmath
module (#3074)
- Replace deprecated
- GDP
- 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: 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)