Releases: powsybl/powsybl-core
v6.4.1
To fix any issues due to migration, please go to the migration guide (search "(v6.4.1)"). Labels are clickable and lead to the section of the migration guide corresponding to the associated described change.
indicates a breaking change which could impact all users;
indicates a breaking change or a special notice impacting only custom IIDM implementations (most of the time, new IIDM methods/classes to implement). Note that this label is not added when another breaking change impacting all users is also present.
📜 Release notes
IIDM
- Fix: Update TapChanger neutralPosition after using a stepsReplacer (#3094)
- Rename Area acInterchangeTarget to interchangeTarget (#3095)
TCK
- TCK: Remove reference comparison for TapChangers step (#3090)
Utils
- Make method to compute hvdc line losses public (#3098)
CGMES
- CGMES export: report multiple model identifiers (#3093)
- CGMES metadata models: allow clear of supersedes (#3099)
PSS/E
- Open setters for all properties in PsseTransformerWinding class (#3091)
v6.4.0
To fix any issues due to migration, please go to the migration guide. Labels are clickable and lead to the section of the migration guide corresponding to the associated described change.
indicates that some methods were deprecated;
indicates a breaking change which could impact all users;
indicates a breaking change impacting only custom IIDM implementations (most of the time, new IIDM methods/classes to implement). Note that this label is not added when another breaking change impacting all users is also present.
⚠️ Important
Do not use this version, but use the new 6.4.1
release instead. It introduces slight changes in the area modeling (and so the serialization…) and fixes the CGMES supersedes management.
⭐ Key features
- Generic Area model in IIDM (#2955, #3081)
- Dynamic security analysis (#2675)
- Add network modification to action (#2924)
📜 Release notes
IIDM
- Factorize PhaseTapChangerAdderImpl and RatioTapChangerAdderImpl (#3033)
- IIDM Validation Util rework (#3021)
- Remove name unicity constraint on temporary limits (#3043)
- Boundary P, Q, angle and voltage with zero impedance (#3048)
- Three-windings transformer manipulation improvements (#3014)
- Allow to use checkLimits methods with LimitReductions (#3056)
- Allow zero value for limits in loading limits (#3061)
- Add connect/disconnect on Tie Lines and HVDC Lines (#3072)
IIDM 1.13
Please refer to the detailed documentation of new version IIDM v1.13.
- Update to IIDM version 1.13 (#2976)
- Generic Area model in IIDM (#2955, #3081)
- Support of condensers (#3065)
Extensions
- Add an import post-processor to fill geographical extensions from ODRE data (#2998, #3077)
- Allow OperatingStatus extension on busbar sections (#3057)
- Active power control: add the ability to override minP and maxP (#3054, #3068, #3084)
- Fix VoltageRegulation extension XSDs for compatibility (#3083)
Identifiers
- Add a new identifier with wildcards support (#2965)
Network modifications
- Report removed injections when removing voltage levels (#2984)
- Add network modification to action (#2924)
- Support HVDC line action to network modification (#3031)
- Three windings transformer RatedU0 modification (#3016)
- Fix exception for connectable not found in Network Modification connection and disconnection (#3069)
- TerminalsConnectionAction: handle Tie Lines and HVDC Lines (#3079, #3072)
Network reducer
- Tie lines in network reduction (#3038)
TCK
- Add a TCK test ensuring that all TCK tests are extended in an implementation (#2985)
- Changes in TCK to ease the compatibility tests of custom IIDM implementations (#3025, #3019, #3020, #3022)
Commons
- Move
Ref
interface and implementations topowsybl-commons
(#3008) - ReportNode V2.1 (#3011)
- Fix
ReportNode
's include: the included ReportNode's root was missing (#3007) - ReportNode: make TypedValue constructor public (#3012)
- Add an optional category in parameters (#3046)
Contingency
- Add missing battery contingency validation (#2973)
Load flow
- Fix hvdcAcEmulation option loading from a yaml config file (#2966)
- Load default loadflow parameters from json file with ServiceLoader (#3040)
Security analysis
- Security analysis runner parameters (#3017)
- Remove violation detector from SecurityAnalysis API (#2943)
- Consider sides when applying limitReductions with IdentifiableCriterion (#3050)
- Dynamic security analysis (#2675)
CGMES
- Unit tests for transformer conversion (#2987)
- CGMES metadata model interface and implementation (#2988)
- Export: fix regression on external explicit SV dependencies using network properties (#2991)
- Export: allow external metadata model definition through parameter (#2993)
- Export: modeling authority must be preserved (#2996)
- Fix CGMES GL import (#2992)
- Fix SlackTerminal.isEmpty misuses (#3009)
- Export: fix equivalent injection base voltage reference in EQ (#3006)
- Add slack bus mismatch at CGMES export: slack terminal can be disconnected (#3027)
- Export: retained switch with same TN at both ends as non-retained (#3029)
- Export: fix the fictitious load SvInjection should refer to TopologicalNode UUID (#3037)
- CGMES SvInjection for slack unit test: referred topological node must be defined (#3039)
- Export: output max number values as float, not double (#3044)
- CGMES export: handle quick CGM export for SSHs and SV (#2927)
- Fix equivalent injection missing regulation target (#3087)
Matpower
PSS/E
- Copy of the imported PSSE model to make the updates and export (deep copy) (#2946)
AMPL
- Modify AMPL export per unitage of lines with different nominal voltage at ends (#3013)
Scalable
- Add a parameter to the scaling parameters to allow to skip some injections (#3010)
Time series
- Add back static method parseCsv without ReportNode for TimeSeries (#2962)
Math
- Proposition to create a complex matrix class (#2835)
Shortcircuit
- Add side in FeederResult (#2994)
Quality
- Refactor assert command for tool tests (#2777, #3088)
- Code cleanup to correct issues reported by Sonar (Consistency) (#2967)
- Code cleanup to correct issues reported by Sonar (Severity: high) (#2971, #2974, #2981)
- Launch CI when new version tag is pushed (#2963)
- Change the reduction's type from float to double in the LimitViolation builder (#2990)
Documentation
- Migrating documentation from the website to readthedocs (#2983, #3034, #3041, #3052, #3053, #3055, #3045, #3035, #3047, #3051, #3059, #3063, #3058, #3064)
Dependencies
Library / component | Previous version | New version | PR |
---|---|---|---|
assertj | 3.24.2 | 3.26.0 | #2979, #3018 |
commons-cli | 1.5.0 | 1.8.0 | #3018 |
commons-compress | 1.26.0 | 1.26.2 | #3018 |
commons-io | 2.13.0 | 2.16.1 | #2979 |
commons-lang3 | 3.13.0 | 3.14.0 | #2979 |
commons-text | 1.10.0 | 1.12.0 | #3018 |
groovy | 4.0.14 | 4.0.21 | #3018 |
guava | 32.1.2-jre | 33.2.1-jre | #2979, #3018 |
jackson | 2.15.2 | 2.17.1 | #2980, #3018 |
junit-jupiter | 5.10.0 | 5.10.2 | #2979 |
logback | 1.4.14 | 1.5.6 | #2979 ... |
v6.4.0-RC2
To fix any issues due to migration, please go to the migration guide. Labels are clickable and lead to the section of the migration guide corresponding to the associated described change.
indicates that some methods were deprecated;
indicates a breaking change which could impact all users;
indicates a breaking change impacting only custom IIDM implementations (most of the time, new IIDM methods/classes to implement). Note that this label is not added when another breaking change impacting all users is also present.
⭐ Key features
- Generic Area model in IIDM (#2955)
- Dynamic security analysis (#2675)
- Identifiers: add a new identifier with wildcards support (#2965)
- Add network modification to action (#2924)
📜 Release notes
IIDM
- Factorize PhaseTapChangerAdderImpl and RatioTapChangerAdderImpl (#3033)
- IIDM Validation Util rework (#3021)
- Remove name unicity constraint on temporary limits (#3043)
- Boundary P, Q, angle and voltage with zero impedance (#3048)
- Three-windings transformer manipulation improvements (#3014)
- Allow to use checkLimits methods with LimitReductions (#3056)
IIDM 1.13
Please refer to the detailed documentation of new version IIDM v1.13.
- Update to IIDM version 1.13 (#2976)
- Generic Area model in IIDM (#2955)
- Support of condensers (#3065)
Extensions
- Add an import post-processor to fill geographical extensions from ODRE data (#2998, #3077)
- Allow OperatingStatus extension on busbar sections (#3057)
- Active power control: add the ability to override minP and maxP (#3054, #3068)
Identifiers
- Add a new identifier with wildcards support (#2965)
Network modifications
- Report removed injections when removing voltage levels (#2984)
- Add network modification to action (#2924)
- Support HVDC line action to network modification (#3031)
- Three windings transformer RatedU0 modification (#3016)
- Fix exception for connectable not found in Network Modification connection and disconnection (#3069)
- TerminalsConnectionAction: fix javadoc (#3079)
Network reducer
- Tie lines in network reduction (#3038)
TCK
- Add a TCK test ensuring that all TCK tests are extended in an implementation (#2985)
- Changes in TCK to ease the compatibility tests of custom IIDM implementations (#3025, #3019, #3020, #3022)
Commons
- Move
Ref
interface and implementations topowsybl-commons
(#3008) - ReportNode V2.1 (#3011)
- Fix
ReportNode
's include: the included ReportNode's root was missing (#3007) - ReportNode: make TypedValue constructor public (#3012)
- Add an optional category in parameters (#3046)
Contingency
- Add missing battery contingency validation (#2973)
Load flow
- Fix hvdcAcEmulation option loading from a yaml config file (#2966)
- Load default loadflow parameters from json file with ServiceLoader (#3040)
Security analysis
- Security analysis runner parameters (#3017)
- Remove violation detector from SecurityAnalysis API (#2943)
- Consider sides when applying limitReductions with IdentifiableCriterion (#3050)
- Dynamic security analysis (#2675)
CGMES
- Unit tests for transformer conversion (#2987)
- CGMES metadata model interface and implementation (#2988)
- Export: fix regression on external explicit SV dependencies using network properties (#2991)
- Export: allow external metadata model definition through parameter (#2993)
- Export: modeling authority must be preserved (#2996)
- Fix CGMES GL import (#2992)
- Fix SlackTerminal.isEmpty misuses (#3009)
- Export: fix equivalent injection base voltage reference in EQ (#3006)
- Add slack bus mismatch at CGMES export: slack terminal can be disconnected (#3027)
- Export: retained switch with same TN at both ends as non-retained (#3029)
- Export: fix the fictitious load SvInjection should refer to TopologicalNode UUID (#3037)
- CGMES SvInjection for slack unit test: referred topological node must be defined (#3039)
- Export: output max number values as float, not double (#3044)
- CGMES export: handle quick CGM export for SSHs and SV (#2927)
Matpower
- Matpower: export dclines (#2932)
PSS/E
- Copy of the imported PSSE model to make the updates and export (deep copy) (#2946)
AMPL
- Modify AMPL export per unitage of lines with different nominal voltage at ends (#3013)
Scalable
- Add a parameter to the scaling parameters to allow to skip some injections (#3010)
Time series
- Add back static method parseCsv without ReportNode for TimeSeries (#2962)
Math
- Proposition to create a complex matrix class (#2835)
Shortcircuit
- Add side in FeederResult (#2994)
Quality
- Refactor assert command for tool tests (#2777)
- Code cleanup to correct issues reported by Sonar (Consistency) (#2967)
- Code cleanup to correct issues reported by Sonar (Severity: high) (#2971, #2974, #2981)
- Launch CI when new version tag is pushed (#2963)
- Change the reduction's type from float to double in the LimitViolation builder (#2990)
Documentation
- Migrating documentation from the website to readthedocs (#2983, #3034, #3041, #3052, #3053, #3055, #3045, #3035, #3047, #3051, #3059, #3063, #3058)
Dependencies
Library / component | Previous version | New version | PR |
---|---|---|---|
assertj | 3.24.2 | 3.26.0 | #2979, #3018 |
commons-cli | 1.5.0 | 1.8.0 | #3018 |
commons-compress | 1.26.0 | 1.26.2 | #3018 |
commons-io | 2.13.0 | 2.16.1 | #2979 |
commons-lang3 | 3.13.0 | 3.14.0 | #2979 |
commons-text | 1.10.0 | 1.12.0 | #3018 |
groovy | 4.0.14 | 4.0.21 | #3018 |
guava | 32.1.2-jre | 33.2.1-jre | #2979, #3018 |
jackson | 2.15.2 | 2.17.1 | #2980, #3018 |
junit-jupiter | 5.10.0 | 5.10.2 | #2979 |
logback | 1.4.14 | 1.5.6 | #2979 |
maven-plugin-annotations | 3.9.0 | 3.13.0 | #3018 |
mockito | 5.5.0 | 5.12.0 | #2979, #3018 |
native-lib-loader | 2.4.0 | 2.5.0 | #3018 |
poi-ooxml | 5.2.3 | 5.2.5 | #3018 |
slf4j | 2.0.9 | 2.0.13 | #2979 |
threeten-extra | 1.7.2 | 1.8.0 | #3018 |
testcontainers | 1.19.0 | 1.19.8 | #2979, #3018 |
xmlunit-core | 2.9.1 | 2.10.0 | #2997 |
zstd-jni | 1.5.5-5 | 1.5.6-3 | #3018 |
- Update math native library to 1.3.1 (#3042)
🛡️ Vulnerability fix
- Bump org.xmlunit:xmlunit-core from 2.9.1 to 2.10.0. Fixes GHSA-chfm-68vv-pvw5 (#2997)
v6.3.2
Release notes
IIDM
- Boundary P, Q, angle and voltage with zero impedance (#3048)
CGMES
- CGMES export: fix equivalent injection base voltage reference in EQ (#3006)
- CGMES export: retained switch with same TN at both ends as non-retained (#3029)
- CGMES export: output max number values as float, not double (#3044)
Dependencies
- Update math native library to 1.3.1 (#3042)
v6.3.1
Release notes
IIDM
Network modifications
- Report removed injections when removing voltage levels (#2984)
Contingency
- Add missing battery contingency validation (#2973)
Load flow
- Fix hvdcAcEmulation option loading from a yaml config file (#2966)
CGMES
- CGMES metadata model interface and implementation (#2988)
- CGMES export: fix regression on external explicit SV dependencies using network properties (#2991)
- CGMES export: allow external metadata model definition through parameter (#2993)
- CGMES export: modeling authority must be preserved (#2996)
- Fix CGMES GL import (#2992)
Time series
- Add back static method parseCsv without ReportNode for TimeSeries (#2962)
🛡️ Vulnerability fix
- Bump org.xmlunit:xmlunit-core from 2.9.1 to 2.10.0. Fixes GHSA-chfm-68vv-pvw5 (#2997)
v6.3.0
To fix any issues due to migration, please go to the migration guide. Labels are clickable and lead to the section of the migration guide corresponding to the associated described change.
indicates that some methods were deprecated;
indicates a breaking change which could impact all users;
indicates a breaking change impacting only custom IIDM implementations (most of the time, new IIDM methods/classes to implement). Note that this label is not added when another breaking change impacting all users is also present.
⭐ Key features
- Reporter API v2 (#2201, #2957, #2958)
- Limit reduction API (#2760, #2948, #2949, #2950, #2954)
- CGMES import/export fixes and improvements
📜 Release notes
IIDM
- Add VoltageRegulation extension for batteries (#2919)
- Export ActivePowerControl extension in all versions of IIDM (#2914)
- Bug fix: move properties during network merge and detach (#2934)
- Limit reduction API (#2760, #2948, #2949, #2950, #2954)
- Utility classes for reduced limits computation (#2912)
⚠️ this is a beta feature: we do not guarantee that the general design will still be the same in the next releases - Add a pairing key setter for unpaired dangling lines (#2904)
- Support of validation level for missing permanent limit (#2939)
- Fix reference terminal extension managing cloned variants (#2956)
- Fix BoundaryImpl getters when generation not null (#2960)
Load flow
LoadFlowParameters
: default value ofwriteSlackBus
parameter to true (#2922)
Security analysis
- Limit reduction API (#2760, #2948, #2949, #2950, #2954)
- Use double format for limit reduction values (#2935)
- Conditional actions results (#2938)
Actions
- Move actions to a new
powsybl-action-api
module (#2923) - Dangling Line Action (#2903)
- Add action builders and a new action list with network element identifiers (#2952)
Contingency
- Add name in contingency for open rao (#2890)
- Add new field name in equals and hash code of Contingency (#2915)
- Add "tieLineCriterion" in options for contingency list type deserialization (#2881)
- Move criterion package and criterion serializer/deserializer to dedicated powsybl-iidm-criteria module (#2793)
- Add a way to get the elements not found in the network for every contingency (#2830)
- Allow JsonContingencyListLoader to load all json contingency lists (#2945)
- More robust
VoltageInterval
s (#2951)
Sensitivity analysis
- Sensitivity function: add new SensitivityFunctionType
BUS_REACTIVE_POWER
(#2930)
CGMES
- Export: Add custom model version for CGMES export (#2875)
- Export: UUID of fullModel on each file should be unique (#2888)
- Export: Add a business process parameter used for UUIDs generation (missing information) (#2889)
- Export: Updated export of busbar section terminals (#2886)
- Export: UUIDs with a leading underscore are considered valid master resource ids (#2896)
- Import: remove obsolete parameter and methods from config (#2882)
- Operational Limits conversion: minor improvements (#2873)
- Import: simplify the creation of tie lines when no subnetworks are present (assembled models) (#2872)
- Import: fix access to busbar section container in bus/breaker import (#2910)
- Import: condensers shall not have generating units (#2905)
- Export RegulatingControl only when generator has voltage regulation capability (#2909)
- Export: support of fossilFuel and hydroPowerPlant (#2749)
- Import and export: use reference priority extension instead of slack terminal extension (#2921)
- Export: tie lines as two separate equipment (ACLSs) (#2619)
- Import: fix performance regression checking for condensers (#2933)
- CGMES metadata models extension (#2898)
- Export tculControlMode as volt by default in CGMES 2.4.15 and prevent export of the attribute in 3.0 (#2929)
- Export: preserve original class of generators (#2726)
- Import: fix support for ACLineSegments contained in cim:Line containers (#2944)
AMPL
- Converter: add export sorting option (#2893)
iAL
- Move iAL actions DSL and simulator to new
powsybl-action-ial-...
modules (#2923)
Matpower
Math
- Sparse matrices serialization (#2834)
PSSE
- Fix Q record management (#2936)
Scalable
- LoadScalable: Do not apply constant power factor if P0 is zero (#2897)
Time series
- AbstractMinMaxNodeCalc extends AbstractSingleChildNodeCalc (#2906)
- Improving NodeCalc computing (#2899)
- Default version number for unversioned TimeSeries (#2925)
Tools
- Fix build timestamp when displaying powsybl version (#2911)
Commons
Dependencies
- Update to powsybl-parent 18 (#2823)
Quality
- Restrict permissions in github workflow (#2825)
- Missing license and author in test file (#2892)
- Short-circuits: corrections in javadoc (#2887, #2894, #2907)
- Update README.md with scorecard badge (#2902)
- Remove dead link to tutorial in README (#2858)
- More detailed exception when JSON parsing (#2941)
- Add missing SPDX license identifiers (#2953)
🛡️ Vulnerability fix
- Bump org.apache.commons:commons-compress from 1.24.0 to 1.26.0. Fixes CVE-2024-25710, CVE-2024-26308 (#2901)
- Bump org.apache.commons:commons-configuration2 from 2.9.0 to 2.10.1. Fixes CVE-2024-29131, CVE-2024-29133 (#2947)
6.2.4
Release notes
CGMES
- Import: fix performance regression checking for condensers (#2933)
🛡️ Vulnerability fix
- Bump org.apache.commons:commons-configuration2 from 2.9.0 to 2.10.1. Fixes CVE-2024-29131, CVE-2024-29133 (#2947)
v6.3.0-alpha-1
To fix any issues due to migration, please go to the migration guide. Labels are clickable and lead to the section of the migration guide corresponding to the associated described change.
indicates that some methods were deprecated;
indicates a breaking change which could impact all users;
indicates a breaking change impacting only custom IIDM implementations (most of the time, new IIDM methods/classes to implement). Note that this label is not added when another breaking change impacting all users is also present.
⭐ Key features
📜 Release notes
IIDM
- Add VoltageRegulation extension for batteries (#2919)
- Export ActivePowerControl extension in all versions of IIDM (#2914)
- Bug fix: move properties during network merge and detach (#2934)
- Limit reduction API (#2760)
- Add a pairing key setter for unpaired dangling lines (#2904)
Load flow
LoadFlowParameters
: default value ofwriteSlackBus
parameter to true (#2922)
Security analysis
- Dangling Line Action (#2903)
- Limit reduction API (#2760)
- Use double format for limit reduction values (#2935)
- Move actions to a new
powsybl-action-api
module (#2923)
Contingency
- Add name in contingency for open rao (#2890)
- Add new field name in equals and hash code of Contingency (#2915)
- Add "tieLineCriterion" in options for contingency list type deserialization (#2881)
- Move criterion package and criterion serializer/deserializer to dedicated powsybl-iidm-criteria module (#2793)
Sensitivity analysis
- Sensitivity function: add new SensitivityFunctionType
BUS_REACTIVE_POWER
(#2930)
CGMES
- Export: Add custom model version for CGMES export (#2875)
- Export: UUID of fullModel on each file should be unique (#2888)
- Export: Add a business process parameter used for UUIDs generation (missing information) (#2889)
- Export: Updated export of busbar section terminals (#2886)
- Export: UUIDs with a leading underscore are considered valid master resource ids (#2896)
- Import: remove obsolete parameter and methods from config (#2882)
- Operational Limits conversion: minor improvements (#2873)
- Import: simplify the creation of tie lines when no subnetworks are present (assembled models) (#2872)
- Import: fix access to busbar section container in bus/breaker import (#2910)
- Import: condensers shall not have generating units (#2905)
- Export RegulatingControl only when generator has voltage regulation capability (#2909)
- Export: support of fossilFuel and hydroPowerPlant (#2749)
- Import and export: use reference priority extension instead of slack terminal extension (#2921)
- Export: tie lines as two separate equipment (ACLSs) (#2619)
- Import: fix performance regression checking for condensers (#2933)
AMPL
- Converter: add export sorting option (#2893)
iAL
- Move iAL actions DSL and simulator to new
powsybl-action-ial-...
modules (#2923)
Matpower
Math
- Sparse matrices serialization (#2834)
Scalable
- LoadScalable: Do not apply constant power factor if P0 is zero (#2897)
Time series
- AbstractMinMaxNodeCalc extends AbstractSingleChildNodeCalc (#2906)
- Improving NodeCalc computing (#2899)
Tools
- Fix build timestamp when displaying powsybl version (#2911)
Commons
- Reporter API v2 (#2201)
Dependencies
- Update to powsybl-parent 18 (#2823)
Quality
- Restrict permissions in github workflow (#2825)
- Missing license and author in test file (#2892)
- Short-circuits: corrections in javadoc (#2887, #2894, #2907)
- Update README.md with scorecard badge (#2902)
- Remove dead link to tutorial in README (#2858)
🛡️ Vulnerability fix
- Bump org.apache.commons:commons-compress from 1.24.0 to 1.26.0. Fixes CVE-2024-25710, CVE-2024-26308 (#2901)
v6.2.3
Release notes
⚠️ Important
Do not use this version for CGMES purposes. The CGMES import takes a very long time (~ x8 longer)!
CGMES
- Import: fix access to busbar section container in bus/breaker import (#2910)
- Import: condensers shall not have generating units (#2905)
Tools
- Fix build timestamp when displaying powsybl version (#2911)
v6.2.2
Release notes
🛡️ Vulnerability fix
- Bump org.apache.commons:commons-compress from 1.24.0 to 1.26.0. Fixes CVE-2024-25710, CVE-2024-26308 (#2901)