Upcoming Changes
- IDAES will be switching to the new Pyomo solver interface in the next release. Whilst this will hopefully be a smooth transition for most users, there are a few important changes to be aware of.
- The new solver interface uses a different version of the IPOPT writer (“ipopt_v2”) and thus any custom configuration options you might have set for IPOPT will not carry over and will need to be reset.
- By default, the new Pyomo linear presolver will be activated with ipopt_v2. Whilst are working to identify any bugs in the presolver, it is possible that some edge cases will remain.
- IDAES will begin deploying a new set of scaling tools and APIs over the next few releases that make use of the new solver writers.
- The old scaling tools and APIs will remain for backward compatibility but will begin to be deprecated.
New Models, Tools and Features
- New Intersphinx extension automatically linking Jupyter notebook examples to project documentation
- New end-to-end diagnostics example demonstrated on a real problem
- New complementarity formulation for VLE with cubic equations of state, backward compatibility for old formulation
- New solver interface with presolve (ipopt_v2) in support of upcoming changes to the initialization and APIs methods, with default set to ipopt to maintain backwards compatibility; this will deprecate once all examples have been updated
- New forecaster and parameterized bidder methods within grid integration library
- Updated surrogates API and examples to support Keras 3, with backwards compatibility for older formats such as TensorFlow SavedModel (TFSM)
- Updated costing base dictionary to include the 2023 cost year index value
- Updated `ProcessBlock` to include information on the constructing block class
- Updated Flowsheet Visualizer to allow `visualize()` method to return value and functions
Bug Fixes
- Fixed bug in the Modular Property Framework that would cause errors when trying to use phase-based material balances with phase equilibria.
- Fixed bug in Modular Properties Framework that caused errors when initializing models with non-vapor-liquid phase equilibria.
- Fixed typos flagged by June update to `crate-ci/typos` and removed DMF-related exceptions
- Minor corrections of units of measurement handling in power plant waste/transport costing expressions, control volume material holdup expressions, and BTX property package parameters
- Fixed throwing >7500 `numpy` deprecation warnings by replacing scalar value assignment with element extraction and item iteration calls
Testing and Robustness
- Migrated slow tests (>10s) to integration, impacting test coverage but also yielding a nearly 30% decrease in local test runtime
- Pinned `pint` to avoid issues with older supported Python versions
- Pinned `codecov` versions to avoid tokenless upload behavior with latest version
- Bumped `extensions` to version 3.4.2 to allow pointing to non-standard install location
Deprecations and Removals
- Python 3.8 is no longer supported. The supported Python versions are 3.9 through 3.12
- The Data Management Framework (DMF) is no longer supported. Importing `idaes.core.dmf` will cause a deprecation warning to be displayed until the next release
- The SOFC Keras surrogates have been removed. The current version of the SOFC surrogate model in the examples repository is a PySMO Kriging model.
What's Changed
* Fix some bugs in the modular properties implementation by andrewlee94 in https://github.com/IDAES/idaes-pse/pull/1425
* Limiting pint version by andrewlee94 in https://github.com/IDAES/idaes-pse/pull/1438
* Add new Complementarity formualtion for VLE with cubic EoSs by andrewlee94 in https://github.com/IDAES/idaes-pse/pull/1397
* Activating IPOPT_V2 with presolver by andrewlee94 in https://github.com/IDAES/idaes-pse/pull/1436
* Moving some slow tests to integration by andrewlee94 in https://github.com/IDAES/idaes-pse/pull/1442
* Fix Typos From June Spell Checker Update by bpaul4 in https://github.com/IDAES/idaes-pse/pull/1448
* Add 2023 CEPCI Value by bpaul4 in https://github.com/IDAES/idaes-pse/pull/1447
* Specify Codecov version to work around codecov/codecov-action1487 by lbianchi-lbl in https://github.com/IDAES/idaes-pse/pull/1441
* Minor Power Plant Costing Fixes by bpaul4 in https://github.com/IDAES/idaes-pse/pull/1418
* Updating copyright to 2024 by ksbeattie in https://github.com/IDAES/idaes-pse/pull/1440
* Add code references to gas solid contactors docs by bpaul4 in https://github.com/IDAES/idaes-pse/pull/1451
* Renewable + PEM Parameterized Bidder by Xinhe-Chen in https://github.com/IDAES/idaes-pse/pull/1407
* Remove support for Python 3.8 by lbianchi-lbl in https://github.com/IDAES/idaes-pse/pull/1467
* Repair erroneous units for material_holdup in CV0D when mass basis defined by adam-a-a in https://github.com/IDAES/idaes-pse/pull/1460
* Keras file format updates by rundxdi in https://github.com/IDAES/idaes-pse/pull/1401
* Bump extensions version to 3.4.2 by Robbybp in https://github.com/IDAES/idaes-pse/pull/1473
* Add reference to constructing class in ProcessBlock by bknueven in https://github.com/IDAES/idaes-pse/pull/1414
* Update Pyomo requirement to 6.8.0 release by blnicho in https://github.com/IDAES/idaes-pse/pull/1465
* PySMO: fix warnings by OOAmusat in https://github.com/IDAES/idaes-pse/pull/1472
* Remove SOFC Keras Surrogates And Tests by bpaul4 in https://github.com/IDAES/idaes-pse/pull/1475
* add UI return, then visualize() can return now by CopyDemon in https://github.com/IDAES/idaes-pse/pull/1466
* Updating BTX param with units by JavalVyas2000 in https://github.com/IDAES/idaes-pse/pull/1478
* Pin typos version to latest currently available tag v1.24.5 by lbianchi-lbl in https://github.com/IDAES/idaes-pse/pull/1486
* Remove idaes.core.dmf and related code by lbianchi-lbl in https://github.com/IDAES/idaes-pse/pull/1484
* Add basis to conc example on property naming conventions docs by kurbansitterley in https://github.com/IDAES/idaes-pse/pull/1482
New Contributors
* Xinhe-Chen made their first contribution in https://github.com/IDAES/idaes-pse/pull/1407
* CopyDemon made their first contribution in https://github.com/IDAES/idaes-pse/pull/1466
* kurbansitterley made their first contribution in https://github.com/IDAES/idaes-pse/pull/1482
**Full Changelog**: https://github.com/IDAES/idaes-pse/compare/2.5.0...2.6.0