Skip to content

Migration guide v7.3.0

Nicolas Rol edited this page May 6, 2026 · 32 revisions

Breaking Change Breaking changes for all users

IIDM

IIDM 1.17

Adaptations for IIDM 1.17

Downstream projects should:

  • TBD

  • Upgrade the version in their XIIDM / JIIDM unit test files corresponding to the current version:

    • For ".xiidm" or ".xml" files: replace xmlns:iidm="http://www.powsybl.org/schema/iidm/1_16" with xmlns:iidm="http://www.powsybl.org/schema/iidm/1_17";

    • For ".json" or ".jiidm" files: replace "version" : "1.16" with "version" : "1.17".

TBD

N/A

Detail of the renamed classes, methods, constants, ...


Classes

The following classes were renamed:

Old name New name
TBD TBD
Methods

The following methods were renamed:

Old name New name
TBD TBD
Constants

The following constants were renamed:

Old name New name
TBD TBD
Reports

The following ReportNode keys were renamed:

Old name New name
TBD TBD

In the messages of the following ReportNode keys, some variables were renamed:

  • ReportNode keys:
    • TBD
Old name New name
TBD TBD

Security analysis

Limit Reductions

The LimitReduction JSON format has been bump to version 1.2. This is not a breaking change per se, but you should be aware of this if your project communicates with another one based on an older version of PowSyBl:

  • LimitReduction JSON files generated by an older version of PowSyBl could still be read;
  • but LimitReduction JSON files generated by this version of PowSyBl won't be readable by older versions.

TBD

N/A


CGMES

TBD

N/A

TBD

N/A


Dependencies

The following dependencies have been replaced:

Old dependency New dependency
TBD TBD

Other

PSS/E

A few classes were either moved to a new package or removed entirely. This should however not impact users as those are internal classes and are not expected to be used directly.

Moved classes
Old classes New classes
c.p.p.m.pf.PsseSubstation.PsseSubstationEquipmentTerminal c.p.p.m.pf.internal.PsseSubstationEquipmentTerminal
c.p.p.m.pf.PsseSubstation.PsseSubstationEquipmentTerminalCommonStart c.p.p.m.pf.internal.PsseSubstationEquipmentTerminalCommonStart
c.p.p.m.pf.PsseSubstation.PsseSubstationEquipmentTerminalx c.p.p.m.pf.internal.PsseSubstationEquipmentTerminalx
c.p.p.m.pf.PsseSubstation.PsseSubstationNode c.p.p.m.pf.internal.PsseSubstationNode
c.p.p.m.pf.PsseSubstation.PsseSubstationNodex c.p.p.m.pf.internal.PsseSubstationNodex
c.p.p.m.pf.PsseSubstation.PsseSubstationRecord c.p.p.m.pf.internal.PsseSubstationRecord
c.p.p.m.pf.PsseSubstation.PsseSubstationSwitchingDevice c.p.p.m.pf.internal.PsseSubstationSwitchingDevice
c.p.p.m.pf.PsseSubstation.PsseSubstationSwitchingDevicex c.p.p.m.pf.internal.PsseSubstationSwitchingDevicex
c.p.p.m.pf.PsseTransformer.TransformerImpedances c.p.p.m.pf.internal.TransformerImpedances
c.p.p.m.pf.PsseTransformer.TransformerWindingRecord c.p.p.m.pf.internal.TransformerWindingRecord
c.p.p.m.pf.PsseMultiTerminalDcTransmissionLine.PsseMultiTerminalDcBus c.p.p.m.pf.internal.PsseMultiTerminalDcBus
c.p.p.m.pf.PsseMultiTerminalDcTransmissionLine.PsseMultiTerminalDcBusx c.p.p.m.pf.internal.PsseMultiTerminalDcBusx
c.p.p.m.pf.PsseMultiTerminalDcTransmissionLine.PsseMultiTerminalDcConverter c.p.p.m.pf.internal.PsseMultiTerminalDcConverter
c.p.p.m.pf.PsseMultiTerminalDcTransmissionLine.PsseMultiTerminalDcConverterx c.p.p.m.pf.internal.PsseMultiTerminalDcConverterx
c.p.p.m.pf.PsseMultiTerminalDcTransmissionLine.PsseMultiTerminalDcLink c.p.p.m.pf.internal.PsseMultiTerminalDcLink
c.p.p.m.pf.PsseMultiTerminalDcTransmissionLine.PsseMultiTerminalDcLinkx c.p.p.m.pf.internal.PsseMultiTerminalDcLinkx
c.p.p.m.pf.PsseMultiTerminalDcTransmissionLine.PsseMultiTerminalDcMain c.p.p.m.pf.internal.PsseMultiTerminalDcMain
c.p.p.m.pf.io.TransformerImpedanceCorrectionTablesData.ZCorr33 c.p.p.m.pf.internal.ZCorr33
c.p.p.m.pf.io.TransformerImpedanceCorrectionTablesData.ZCorr35First c.p.p.m.pf.internal.ZCorr35First
c.p.p.m.pf.io.TransformerImpedanceCorrectionTablesData.ZCorr35Points c.p.p.m.pf.internal.ZCorr35Points
c.p.p.m.pf.io.TransformerImpedanceCorrectionTablesData.ZCorr35X c.p.p.m.pf.internal.ZCorr35X
Removed classes
Removed classes
c.p.p.m.pf.io.WindingHeaderTransformer
c.p.p.m.pf.io.WindingRatesHeaderTransformer

Custom IIDM Impl Notice for custom IIDM implementations maintainers

IIDM

TBD

N/A

TBD

N/A


Deprecated Deprecated methods

Contingency

LimitViolation constructors deprecation

If you are using the following constructors:

  • LimitViolation(String subjectId, @Nullable String subjectName, String operationalLimitsGroupId, LimitViolationType limitType, @Nullable String limitName, int acceptableDuration, double limit, double limitReduction, double value, @Nullable ThreeSides side, @Nullable ViolationLocation voltageLocation)
  • LimitViolation(String subjectId, LimitViolationType limitType, double limit, double limitReduction, double value, ViolationLocation voltageLocation)

Then no change is required.

Otherwise you can:

  • use LimitViolationBuilder, either with new LimitViolationBuilder() or with LimitViolation.builder(), add the values and then use .build()
  • use the constructor of LimitViolation with all the variables (mentionned above), and provide null values for all the variables you do not have a value for

Note that if you were using a constructor and were providing null values to it, you do not need to do that with the Builder. Also note that the default limitReduction is 1 and the default acceptableDuration is Integer.MAX_VALUE.

Clone this wiki locally