Skip to content

Releases: powsybl/powsybl-core

v3.8.0

02 Dec 09:18
Compare
Choose a tag to compare

To fix any issues due to migration, please go to the migration guide. Labels Deprecated and Breaking Change are clickable and lead to the section of the migration guide corresponding to the associated described change.

Release notes

CGMES

  • Add option in CGMES import to ensure IDs and aliases unicity (#1508) Breaking Change
  • Fix unit test for operational limits on node-breaker (#1509)
  • Update rdf4j version (#1424)
  • CGMES conversion performance improvement: avoid duplicated queries ( (#1500)
  • CGMES non impedant AcLineSegment located inside a voltage level are now converted in a fictitious switch (#1500)
  • CGMES conversion: join voltage levels connected by switches (Initial voltage levels id are stored as aliases) (#1332)
  • Check the presence of a EQ profile in CgmesOnDataSource (#1542)

Computation

  • Implement getStdOut and getStdErr to get outputs of local computations (#1511) Breaking Change

IIDM

  • Allow to ensure alias unicity (#1508)
  • Allow to reuse DanglingLineAdder twice (#1496 & #1552)
  • Allow to reuse ThreeWindingsTransformerAdder twice (#1501)
  • Allow to reuse TieLineAdder twice (#1507) Breaking Change
  • Assert that the XML serializer is not null when writeExtension() is called (#1516)
  • Bug fix in LineAdderAdapter (node1 used to be set twice) (#1521)
  • Add names to node-breaker voltage level graphviz export (#1531)
  • Fix error message in 3WT leg adder to give more contextual information (#1495)
  • Allow to log error rather than throwing exceptions when there is an IIDM-XML version incompatibility during export (#1535)

Load flow

  • Enable LoadFlowResult Json export (#1517)

Matpower

  • Fix line detection during branch conversion (#1541)

Merging view

  • Merge DanlingLines with the same ID and Xnode code (#1518)
  • Fix error message in the merging view (#1520)

PSS/E

  • Parse by field instead of by index to prepare support of v35 (#1460)

Sensitivity analysis

  • A more run and runAsync methods in the SensitivityAnalysis interface (#1529)

v3.8.0-RC1

16 Nov 12:37
Compare
Choose a tag to compare
v3.8.0-RC1 Pre-release
Pre-release

To fix any issues due to migration, please go to the migration guide. Labels Deprecated and Breaking Change are clickable and lead to the section of the migration guide corresponding to the associated described change.

Release notes

CGMES

  • Fix unit test for operational limits on node-breaker (#1509)
  • Update rdf4j version (#1424)
  • CGMES conversion performance improvement: avoid duplicated queries ( (#1500)
  • CGMES non impedant AcLineSegment located inside a voltage level are now converted in a fictitious switch (#1500)
  • CGMES conversion: join voltage levels connected by switches (Initial voltage levels id are stored as aliases) (#1332)
  • Check the presence of a EQ profile in CgmesOnDataSource (#1542)

Computation

  • Implement getStdOut and getStdErr to get outputs of local computations (#1511) Breaking Change

IIDM

  • Allow to reuse DanglingLineAdder twice (#1496)
  • Allow to reuse ThreeWindingsTransformerAdder twice (#1501)
  • Allow to reuse TieLineAdder twice (#1507) Breaking Change
  • Assert that the XML serializer is not null when writeExtension() is called (#1516)
  • Bug fix in LineAdderAdapter (node1 used to be set twice) (#1521)
  • Add names to node-breaker voltage level graphviz export (#1531)
  • Fix error message in 3WT leg adder to give more contextual information (#1495)
  • Allow to log error rather than throwing exceptions when there is an IIDM-XML version incompatibility during export (#1535)

Load flow

  • Enable LoadFlowResult Json export (#1517)

Matpower

  • Fix line detection during branch conversion (#1541)

Merging view

  • Merge DanlingLines with the same ID and Xnode code (#1518)
  • Fix error message in the merging view (#1520)

PSS/E

  • Parse by field instead of by index to prepare support of v35 (#1460)

Sensitivity analysis

  • A more run and runAsync methods in the SensitivityAnalysis interface (#1529)

v3.7.1

16 Oct 20:58
Compare
Choose a tag to compare

Release notes

Action

  • Avoid adding duplicate contingencies to an ActionDB (#1506)

IIDM

  • Fix bug in AbstractTerminalTopologyVisitor to visit terminals of BusbarSections (#1512)

iTools

  • Allow itools.bat to be run several time in the same cmd.exe (#1505)

Loadflow

  • Add per component results (#1497)

Quality

  • Move tests on SlackTerminal and LoadDetail in TCK (#1504)

v3.3.2

16 Oct 19:29
Compare
Choose a tag to compare

Release notes

Commons

  • Use WeakReference in listener cache (#1440)

v3.7.0

14 Oct 08:51
Compare
Choose a tag to compare

To fix any issues due to migration, please go to the migration guide. Labels Deprecated and Breaking Change are clickable and lead to the section of the migration guide corresponding to the associated described change.

Release notes

Action

  • Avoid adding duplicate contingencies to an ActionDB (#1506)
  • Fix encoding issue in ExpressionPrinter (#1486)

AMPL

  • Fix AMPL conversion of ThreeWindingsTransformer and Shunts (#1475)
  • Bug fix: consider network's extensions during AMPL export (#1514)

CGMES

  • Add aliases during CGMES import for unmapped IDs (terminals, tap changers, etc) (#1466)
  • Add an extension containing SV metadata information for CGMES SV import/export (#1459) Breaking Change
  • Export SV profile from scratch (beta) (#1480)
  • Fix property name of shunt compensator sections in previous SV export (#1477)
  • Import SynchronousMachine.referencePriority as SlackTerminal extension (#1467) Breaking Change
  • Introduce CimCharacteristics extension and use in CGMES import (#1464) Breaking Change
  • Prevent x of step to be undefined (NaN) during CGMES import for non tabular ptc (#1491)
  • Small fixes and corrections of CGMES RegulatingControl import (#1484 & #1487)
  • Support of CGMES import of swicthes located at boundary: they are converted to DanglingLine with zero impedance (#1408)

Contingency DSL

  • Support of DanglingLine contingencies in DSL (#1483)

Entsoe Util

  • Fix a NullPointerException when getting the country code from a UX or UC filename (#1479)

IIDM

  • Update IIDM/XIIDM version from 1.3 to 1.4 Breaking Change
    • Add the possibility to associate a type to an alias (#1402)
  • Fix: Invalidate the cache when an equipment is removed in node/breaker topology (#1472)
  • Fix missing call to MultiVariantObject implementations (#1476)
  • Move LoadDetailXmlSerializer in iidm-xml-converter (#1494)
  • Fix bug in AbstractTerminalTopologyVisitor to visit terminals of BusbarSections (#1512)

iTools

  • Allow itools.bat to be run several time in the same cmd.exe (#1505)

Loadflow

  • Add new parameters: dc, distributed slack and balance type (#1481)
  • Add per component results (#1497)

PSS/E

  • Rename PSSE option to fit powsybl standards (#1498)

Security analysis

  • Fix Limit violation builder (#1473, #1499)
  • Remove powsybl-security-analysis aggregator module (#1503)

Sensitivity analysis

  • Refactor sensitivity computation API (#1474 ) Breaking Change

UCTE

  • Don't export 999999.0 IMAX value when a line or transformer has no permanent limit (#1465)

Quality

  • Upgrade junit version up to 4.13.1 (#1470, #1515)
  • Add logback-core dependency in dependencyManagement (#1471)
  • Move tests on SlackTerminal and LoadDetail in TCK (#1504)

v3.6.0

09 Sep 09:39
Compare
Choose a tag to compare

To fix any issues due to migration, please go to the migration guide. Labels Deprecated and Breaking Change are clickable and lead to the section of the migration guide corresponding to the associated described change.

Release notes

Action simulator

  • Add a method to get the actions from ActionDB (#1441)

CGMES (beta)

  • Full model fast parser (#1420)

Commons

  • Use WeakReference in listener cache (#1440)

Dynamic simulation

  • Fix typo in dynamic simulation tool option (#1443)
  • Add support of events (#1442)

IIDM

  • Add an option to XML export to sort elements (#1337)
  • Bug fix: Correct default implementation of getVoltageSetpoint method for static var compensators (#1458)
  • Make LoadDetail extension multi variant (#1448)

Merging View (beta)

  • First implementation (#1445 & #1450)
    • Implement getLineStream(), getLines(), getDanglingLineStream() and getDanglingLines() in BusAdapter
    • Implement VoltageLevelAdapter
    • Use IIDM TCK to validate the merging view
    • Add implementation of MergingLine.getHalf(Side)
  • Implement TopologyTraverserAdapter to traverse mergingview from TerminalAdapter (#1452)

Network Conversion

  • Add some javadoc to import API (#1419)

Time series

  • Fix constant time series creation (in Groovy script) from a BigDecimal literal (#1422)

UCTE

  • Create stable substation IDs at import (#1449)

Utils

  • Add utility function to quickly jump to a XML path (#1418)

Quality

  • IIDM SVC : remove blank line to fix checkstyle complain (#1462)
  • Update jgrapht version (#1451) Breaking Change

v3.5.0

29 Jul 09:01
Compare
Choose a tag to compare

To fix any issues due to migration, please go to the migration guide. Labels Deprecated and Breaking Change are clickable and lead to the section of the migration guide corresponding to the associated described change.

Release notes

CGMES

  • Intilialize the PATL if undefined with the lowest TATL (#1360)
  • Bug fix after (#1360): Add hasTemporaryLimits() to CurrentLimitsAdder in order to correct CGMES conversion (#1372)
  • Bug fix:use SychronousMachine.name for generator's name, not GeneratingUnit.name (#1387)
  • Fix file leak in CGMES import (#1405)
  • Import load details to separate conform loads than non conform loads for further slack distribution (#1383)
  • CGMES updates: reduce size of changelog not recording state variables (#1386)

Commons

  • Fix locking in WeakListenerList to prevent deadlock (#1376)

Dynamic simulation

  • Add support for dynamic model mapping (#1345)
  • Remove skip-proc option from the dynamic simulation tool (#1403)

Extension

  • Add a new extension VoltageExtension similar to CurrentExtension (#1355)
  • add an Abstract Extension AbstractPrecontingencyValueExtension. CurrentExtension and VoltageExtension inherits from it (#1355)
  • add LoadDetail extension (#1377)

Grid Conversion

  • Add a utility function to support double parameters (#1380)

IEEE

  • Add support of SlackBus import (#1381)

IIDM

  • Add convenient methods to transformers to check if there is any tap changers (hasRatio/PhaseTapChanger & getOptionalRatio/PhaseTapChanger) (#1346 & #1391)
  • Addition of an alias system on Identifiables in IIDM (#1319, #1406)
  • Always use get/set[...]Setpoint instead of get/set[...]SetPoint (#1393) Deprecated Breaking Change
  • Bug fix in DanglingLine's CurrentLimits notifications update (#1400)
  • Correcting bug for MultiVariant extensions of VoltageLevels (#1404)
  • Implement a getAllSteps() method for tap changers (#1395)
  • Implementation of LoadDetail extension (handles fixed and variable power for Load) (#1377)
  • Improvement: using identifiable.getNetwork() when possible instead of identifiable.getVoltageLevel().getSubstation().getNetwork() (#1401)
  • In the bus view calculation, a DanglingLine is not more considered as a feeder. We need to consider it as a branch, as it is in reality (#1340) to avoid bus losses from the merging view.
  • Split shunt admittance when calculating flows in SV util (#1394)
  • Runnables in XIIDM util methods can now throw XmlStreamException (#1399)
  • Update the javadoc with the Tables copied from the current website (#1397)
  • Add getters for terminals from a Bus (#1396)
  • Update IIDM/XIIDM version from 1.2 to 1.3 Breaking Change
    • ShuntCompensator API has evolved and we have exceptionally decided not to support the compatibility (#1373). The documentation will be updated soon.
    • Add generation attributes to the DanglingLine (#1357)
  • Add SlackTerminal extension (#1038)

LoadFlow

  • Add slackBus parameters to LoadFlowParameters (#1416)

Math

  • Support LU transposition solvation (#1411)

MathPower

  • Fix a memory leak (#1407)

PSS/E

  • Improve PSSE import: switched shunts, phase shifters, 3 windings transformers (#1356, #1382)
  • Remove duplicated connect in generators conversion (#1385)
  • Add support of SlackBus import (#1381)

UCTE

  • Fixes element statuses import export to handle all the use cases (REAL vs EQUIVALENT, IN_OPERATION vs OUT_OF_OPERATION) (#1358)
  • Add support of SlackBus import/export (#1381)

Quality

  • Fix sonar smells (#1370, #1374 & #1390)
  • Update guava version to 29.0-jre (#1366)
  • Fix file descriptor leak (#1405, #1407)
  • Update powsybl-math-native to v1.0.3 (#1142)
  • Deploy XIIDM xsd files (#1414)
  • Fix powsybl-config-classic dependencies (#1415)

v3.3.1

04 Aug 10:00
Compare
Choose a tag to compare

Release notes

Commons

  • Fix locking in WeakListenerList to prevent deadlock (#1376)

v3.4.0

17 Jun 08:03
Compare
Choose a tag to compare

To fix any issues due to migration, please go to the migration guide. Labels Deprecated and Breaking Change are clickable and lead to the section of the migration guide corresponding to the associated described change.

Release notes

CGMES

  • Consider only .xml files that contain valid namespaces (RDF, CIM) (#1296)
  • Cgmes conversion: add phaseTapChangerLinear (#1306)
  • Cgmes conversion: remove old conversion of transformers (#1320)
  • Fix conversion of opened switches between voltage levels (#1344)
  • Migrate CgmesConversionContextExtension to new Extension API (#1341) Breaking Change
  • Migrate CgmesModelExtension to new Extension API (#1339) Breaking Change
  • Remove noisy logs in datasource (#1352)

Dynamic simulation

  • Add curves support for dynamic simulation (#1330)

Extensions

  • Extendable: move newExtension from AbstractExtendable to default Extendable for broader compatibility. Override getImplementationName where needed (#1305)
  • Add the new `VoltagePerReactivePowerControl extension for StaticVarCompensator (#1321)
  • Cleanup the javadoc (#1298)

IEEE

  • Fix generator active power limits default value (#1304)

IIDM

  • Migrate extension EntsoeArea to new extension API (#1342) Breaking Change
  • Migrate extension MergedXnode to new extension API (#1343) Breaking Change
  • Migrate extension ThreeWindingsTransformerPhaseAngleClock to new extension API (#1336) Breaking Change
  • Migrate extension TwoWindingsTransformerPhaseAngleClock to new extension API (#1272) Breaking Change
  • Quality: Replace a log info to trace for node count removal (#1299)
  • Fix ImporterWrapper implementation by passing the NetworkFactory to the importer (#1324)
  • Add a clone method based on NetworkXml that accepts a NetworkFactory (#1350)

iTools

  • Remove the skip-postproc option from all the simulation tools (#1313)

Loadflow

  • Introduction of new parameter twtSplitShuntAdmittance for split shunt admittance for two windings transformers and three windings transformers (#1276) Breaking Change

MatPower

Merging view

  • Add an abstract connectable adapter to factorize the code (#1331)

PSS/E

  • First version of PSS/E importer (it only works on simple networks like IEEE 14 buses) (#1338)

Security Analysis

  • Fix the worker count in the SecurityAnalysisImpl when the contingency list is empty (#1323)

Sensitivity

  • Allow to use a JSON file to update the configuration for sensitivity computation (#1302)

Triplestore

  • Add method to write a unique subset (#1301)
  • Quality: Replace rdf4j-runtime dependency by the dependencies actually used (#1303)

UCTE

  • Fix incorrect management of power plant type in UCTE import/export (#1270)
  • Fix tie-line current limit export when different on both sides of the XNode (#1333)
  • Add a check on voltage level consistencies of both side of the lines (#1325)
  • Logs level adjustments in UCTE importer and network merge (#1351)

Quality

  • Update Mockito to v3.3.3 (#1328)

v3.3.0

29 Apr 08:52
Compare
Choose a tag to compare

To fix any issues due to migration, please go to the migration guide. Labels Deprecated and Breaking Change are clickable and lead to the section of the migration guide corresponding to the associated described change.

Release notes

CGMES (beta)

  • Bug fix: regulating terminal TN can be obtained through CN (#1251)
  • Change in CGMES import of SVC regulation (#1238 & #1295)
  • Check that node has attached equipment attached to them before setting voltages and angles during CGMES import of a node/breaker network (#1233)
  • Improve performance of the PropertyBag::tabulate() method (#1264)
  • Let Connectivity Nodes find Topological Node SvVoltage through Terminals (#1237)
  • Optimize SPARQL request (#1246)
  • Support CGMES export with simple modifications in bus/branch topology (#1201)
  • Support shunt's regulation (#1220)
  • Update CGMES conversion of DC components to interpret correctly atypical DC configuration (no simple single DC line) (#1230, #1275 & #1291)
  • Unhandled update notifications do not throw exceptions anymore while preparing CGMES export (#1283)
  • Optimize the performance of the logging methods in the conversion context (#1266)

Configuration

  • Add mechanism to allow the configuration file to be updated by a JSON file in command line (#1248)

Dynamic simulation

  • Add a parameters-file option to the dynamic-simulation command (#1107)

IEEE

  • Bug fix: align isTransformer's logic to createBranches line and transformer detection logic (#1236)

IIDM

  • Add a convenient method to get an Optional<Terminal> from its node in the NodeBreakerView (#1235 )
  • Add a convenient method to check if a node in the NodeBreakerView has equipment (Connectable, Switch or InternalConnection) attached to it (#1233)
  • Add more restrictive integrity tests on HVDC lines and converter stations (#1262)
  • Add a new predicate type for network reduction: allow to keep a voltage level and its neighbors up to a specified depth (#1261)
  • Bug fix: ensure that voltageLevel.getConnectables() and voltageLevel.getConnectableStream() return distinct elements (#1218)
  • Bug fix: fix a NullPointerException when removing a voltage level that contains an internal connection (#1259)
  • Bug Fix: fix the filtering of buses for the Synchronous component (#1258)
  • Extension MergedXNode constructor throws exception if rdp or xdp is NaN (#1222)
  • Extension CoordinatedReactiveControl and ActivePowerControl follow the new API design (#1255) Breaking Change
  • Fix in destructive merging of two DanglingLine in a MergedLine (#1142)
  • Introduce Identifiable.getOptionalName(), Identifiable.getNameOrId() and deprecate Identifiable.getName() (#1243) Deprecated
  • Introduce new convenient methods to run through connectables from network (#1232)
  • Merging view
    • Implement all Shunt methods in ShuntAdapter (#1217)
    • Implement creation of a Line between two different networks (#1162)
    • Implement visit of equipments (#1239)
  • Refactor XMLExport to remove the multi file export feature (#1215 & #1281) Breaking Change
  • Remove skip-extensions property in XMLExporter (#1212)
  • Update IIDM/XIIDM version from 1.1 to 1.2 Breaking Change
    • Add a ratedS attribute to TwoWindingsTransformer and ThreeWindingsTransformer.Leg to model apparent power (#1199)
    • Add regulation for ShuntCompensator (#958)
    • Any Identifiable can fictitious, not only Switch (#1209)
    • Change behavior of targetDeadband for tap changers (#958 & #1204)
    • Change mechanism for creating and cleaning vertices in a node/breaker voltage level's graph (#1161)
    • Delete nodeCount attribute in nodeBreakerTopology XML element (#1161)
    • The lossFactor is a percentage (#1280)

Loadflow

  • Fix LoadFlowParameters copy constructor to also clone the extension (#1154)
  • specificCompatibility parameter is renamed t2wtSplitShuntAdmittance (#1198) Breaking Change

Network extraction

  • Add a new network predicate based on a voltage level and a depth (#1261)

PSS/E (alpha)

  • Support PSS/E import

Security

  • Change the design of the SecurityAnalysisResultBuilder and improve security analysis interceptors (#1247)

Sensitivity

  • Modify the sensitivity API to support for post-contingency sensitivity analyses (#1155 & #1245)
  • Support a CSV export of sensitivity calculation results (#1190)

UCTE

  • Bug fix: in a mergedXnode, R1/(R1+R2) is set to 0 when R1+R2 is equal to 0 (resp X) (#1222 )
  • Bug fix: Add a comment in the UCTE header to specify the tool used and the case date (#1223)
  • Equivalent UCTE bus are tagged as fictitious IIDM bus and vice versa (#1249)
  • Fix EntsoeFileName to parse IDCF (#1284)
  • Fix on rdp and xdp values of mergedXnode during UCTE import (#1222 & #1241)
  • Fix loss of element names on tie-lines (#1263)

Quality

  • Pretty code: delete empty lines (#1219 & #1252 )
  • Update powybl-math-native version to 1.0.2 (#1278) Breaking Change
  • Update snakeyaml version to 1.2.6 (#1286)