Skip to content

Releases: powsybl/powsybl-core

v3.2.0

28 Feb 16:59
Compare
Choose a tag to compare

To fix any issues due to migration, please go to the migration guide.

Release notes

Action DSL

  • Bug fix: a scalable can be reused in a network and get the same result, even if it has been considered saturated before

CGMES (beta)

  • Bug fix on CGMES import of temporary current limits of branches
  • Bug fix: when a mixed node/breaker and bus/branch CGMES file does not contain EquipmentOperation profile, the import, including the import of topology, is done in bus/branch
  • Bug fix: when a switch does not have any equipment container in a CGMES file, the switch will be converted to a low impedance line during CGMES import
  • Improvement of CGMES import of TwoWindingsTransformer and ThreeWindingsTransformer
  • Sort changelog for a CGMES simple update
  • SSH continuous values which are imported as discrete values are now rounded, not truncated anymore
  • Support CGMES import of remote regulating control for StaticVarCompensator

Computation Manager

  • Bug fix: support LazyCreatedComputationManager.execute(ExecutionEnvironment, ExecutionHandler<R>, ComputationParameters)

Configuration

  • Allow to chose the name of the default IIDM implementation instead of the hard-coded Default Breaking Change
  • Harmonize the configuration of default API implementation (loadflow, IIDM, etc.) Deprecated

IEEE-CDF

  • Format name is not IEEE CDF anymore but IEEE-CDF Breaking Change

IIDM

  • Bug fix: correct log error when trying to assign an extension already assigned to another equipment
  • Bug fix: ensure that traversers searching a terminal do no set back to null if a terminal is found
  • Bug fix: InternalConnectionAdder does not inherit from IdentifiableAdder anymore Breaking Change
  • Bug fix: naming of CalculatedBus and MergedBus
  • Deprecate AbstractConnectableXml.writeCurrentLimits methods without an IidmXmlVersion parameter Deprecated
  • Merging view:
    • Implement merging view modules for DanglingLine
    • Implement merging view modules for HvdcLine
    • Implement merging view modules for MergedLine
    • Implement variant manager for merging view
  • Refactoring of merging view of BusView and BusBreakerView
  • Support *.iidm.xml as IIDM-XML extension
  • Update IIDM/XIIDM version from 1.0 to 1.1Breaking Change
    • Add a regulatingTerminal for StaticVarCompensator
    • Add b, g and potentially ratioTapChanger and phaseTapChanger for all legs of three windings transformer
    • Add versioning support to IIDM extensions
    • Support a new way to express voltages and angles in Node/Breaker topology
    • Support reading and writing XIIDM files from previous versions
    • Support reading and writing extensions from provious versions
  • Refactor the extension design to allow several implementations Breaking Change
  • Refactor the XNode extension to follow the new API
  • Refactor the ActivePowerControl to follow the new API
  • Add convenient method to get a network path or a stream based on a specific IIDM version

IIDM scripting

  • Bug fix: Fix the loading of the Load/Save groovy extension

Load-flow validation

  • Allow to calculate branches', two windings transformers' and three windings transformers' flows while considering which ends are connected in every possible configuration
  • Handle the case when nominal voltages at ends of a line are different: add a structural ratio
  • Fix static VAR compensator checks to support remote control Breaking Change

Security analysis

  • Bug fix: fix IllegalStateException with SecurityAnalysisImpl in multi-thread mode

UCTE

  • Bug fix: a merged XNode is exported with 0 active and reactive generation
  • Bug fix: a merged XNode keeps the properties of the two DanglingLine that compose it
  • Bug fix: deals with the fact that, when a line and a 2WT have the same Id, a modified Id is generated
  • Support the import of target flow of PhaseTapChanger from UCTE files
  • Update the list of accepted order codes for branches

Quality

  • Aggregated javadoc automatically added to releases
  • Generate javadoc for groovy modules (loadflow-scripting)
  • Creation of a Technology Compatibility Kit (Tck) to reuse tests previously from iidm-impl testing iidm-api
  • Switch from guru.nidi:graphivz-java library to org.anarres.graphviz:graphviz-builder
  • Update commons-compress version from 1.17 to 1.19
  • Update jackson-databind version from 2.8.11.3 to 2.10.1
  • Use powsybl-parent to refactor parent pom.xml file

v3.1.0

08 Jan 14:05
Compare
Choose a tag to compare

Release notes

Action DSL

  • Add support for generator modifications
  • Change PST taps in relative
  • Fix proportional scalable scaling algorithm

AFS

  • Remove all AFS modules Breaking Change

CGMES

  • Improve HVDC converters import
  • Improve two or three windings transformer import
  • Improve shunts import
  • Import PhaseAngleClock as an extension in three windings transformers
  • Import regulating control import for SVC and T3X
  • Improve CGMES update for incremental export
  • Improve CGMES validation functions
  • Fix fix alpha conversion
  • Fix LoadBreakSwitches import
  • Fix handling of duplicate RDF:ID with RDF4J
  • Improve triplestore copy

Computation

  • Improve computation exceptions logging Breaking Change

Entsoe

  • Fix writer used in extensions XML export (separate mode)

Groovy

  • Update Groovy version to 2.5 Breaking Change
  • Remove groovy dependency from powsybl-commons Breaking Change

IEEE CDF

  • Add IEEE CDF importer

IIDM

  • Change T3X model Breaking Change
  • Add merging view module
  • Fix properties access regression in groovy scripts
  • Fix checks on RTC attributes related to the regulation

Scripting

  • Refactor scripting module to prepare the removal of AFS Breaking Change
  • Move everything related to IIDM and Groovy to IIDM scripting module Breaking Change

UCTE

  • The NamingStrategy used during the export is configurable through the properties or the platform configuration
  • Fix import to not lack the final character of a node line anymore
  • Fix export to not export real numbers in scientific notation

Quality

  • Replace Travis/AppVeyor by GitHub Actions for the continuous integration
  • Update maven-checkstyle-plugin version up to 3.1.0
  • Remove unused maven-build-helper-plugin

v3.0.0

23 Oct 07:47
Compare
Choose a tag to compare

Release notes

Action util

  • Add iterative process for scaling on ProportionalScalable instances

AFS

  • Detect incomplete nodes

CGMES (beta)

  • Allow user to define SSH or SV profile to retrieve state values
  • Extend support for CGMES export
  • Fix CGMES import of EquivalentInjection
  • Fix CGMES import of remote regulating terminal
  • Fix CGMES import of StaticVarCompensator
  • Make CGMES catalogs final Breaking Change
  • Make public some conversion tester tools
  • Partially correct CGMES import of PhaseTapChanger
  • Refactoring of CGMES import of generator regulating control
  • Support CGMES import of SVInjection
  • Support CGMES import of qPercent (coordinated reactive control) for SynchronousMachines
  • Various fixes:
    • A CGMES import is considered node-breaker if and only if all FullModel objects that have profile EquipmentCore or EquipmentBoundary have also EquipmentOperation or EquipmentBoundaryOperation profile.
    • Conversion for phase tap changers takes into account that the associated transformer may have been considered invalid and not imported when looking for the transformed side in the cached list of transformer tap changers.
    • CGMES EquivalentInjection attributes regulationStatusandregulationTarget` are treated as optional, following its definition in the SSH profile.
    • The CGMES conversion tester has been modified so it does not use a now deprecated version of the Importers.importData method.

Computation

  • Add bytes into ComputationException

Configuration

  • Change method to retrieve configuration Breaking Change
  • Use ClassicPlatformConfigProvider in distribution-core
  • Use TestPlatformConfigProvider in tests

IIDM

  • Add getNetwork() method in Identifiable
  • Add methods to retrieve the HVDCLine from the converter stations
  • Deprecate ShuntCompensator::getMaximumB() Deprecated
  • Fix AbstractTapChanger change notifications
  • Fix BusTerminal::BusBreakerView::setConnectableBus()
  • Fix NodeBreakerVoltageLevel::CalculatedBusTopology::getConnectableBus()
  • Fix StaticVarCompensator change notifications
  • Publish CoordinatedReactiveControl extension
  • Publish AbstractMultiVariantConnectable extension
  • Replace getProperties by getter and setter Deprecated
  • Send NetworkListeners a notification when a variant is added or removed
  • Systematically send NetworkListeners a notification when network values change

IIDM Network State Comparator

  • Support comparator of IIDM networks' states

Loadflow

  • Change Loadflow API Breaking Change
  • In LoadflowResultsCompletion, check that there is a bus in BusView

Local Computation Manager

  • Fix CompletableFuture contract of cancel

Time series

  • Fix CalculatedTimeSeries::split(int newchunksize)
  • Fix time series cleaning within mapDB by completely removing chunks
  • Fix split precision at huge index values
  • Implement nonrecursive ast visitors
  • Use supercsv to parse csv

UCTE

  • Fix YNODE import/export
  • Solve some issues on UCTE import of merged lines
  • Support UCTE export

Variant Manager

  • Improve VariantManagerImpl::removeVariant performance

XIIDM

  • Fix HVDC line XIIDM export anonymization bug
  • Fix reading of partially missing IIDM extensions in XIIDM files
  • Fix XmlUtil.readUntilEndElementWithDepth in case of handler consuming XIIDM file

Quality

  • Add automatic module name in iidm-extensions
  • Add missing modules to dependencies in distribution-core to get coverage report
  • Correct automatic module name in sensitivity-api
  • Generate individual Jacoco reports by default
  • Increase code coverage
  • Remove deprecated sonar configuration and try to use the default configuration
  • Restore checks on java 11 normal maven executions
  • Travis CI improvements

Misc

  • Fix: all tests use Jimfs in unix mode
  • Move enforcer's dependencyConvergence from top pom.xml to distribution-core's pom.xml
  • Use v1.0.1 of powsybl-math-native (MacOS support)

v2.6.1

09 Oct 08:06
Compare
Choose a tag to compare

AFS

  • Fix the clean of timeseries in MapDB implementation

IIDM

  • Add methods to retrieve the HVDCLine from the converter stations
  • Fix the read of IIDM extensions in case of missing some XML serializer
  • Fix the BusBreakerView::setConnectableBus in case of an invalid bus ID
  • Fix the algorithm to retrieve a connectableBus in a BusView from a N/B voltage level

Loadflow validation

  • Assert for a valid bus from the BusView to avoid NullPointerException

Security Analysis

  • Fix a regression in the selection of the computation manager (short vs long task) in security analysis sub-tasks

Quality

  • Cleanup .gitignore

v2.6.0

17 Jul 08:27
Compare
Choose a tag to compare

AFS

  • Add a function to retrieve a ProjectFolder for a project ID
  • Add a consistency flag in AFS to avoid access to a partially created node Breaking Change

CGMES (beta)

  • Bug fixes
    • Fix boundaries convertion for Node/Breaker networks
    • Fix regulating control conversion for ratio and phase tap changers
    • Fix statements processing order in RDF4J triple store implementation
    • Use ltcFlag attribute when importing RTC and PTC

IIDM

  • Add an optional targetDeadband attributes to tap changers Breaking Change
  • Add an extension for Generators and Batteries for active power control
  • Add the variant ID in notifications sent by the network Breaking Change
  • IIDM network import using alternative IIDM implementation Deprecated
  • Bug fixes
    • Export network properties in XML
    • Use the right writer to export references to terminals in XML
    • Allow null regulating terminals in tap changers when it's consistent

iTools packager

  • Stop bundling provided dependencies

Contingency DSL

  • Support of comparison operations in DSL
  • Support of ShuntCompensator and StaticVarCompensator contingencies in DSL

Computation MPI

  • Move powsybl-mpi to powsybl-hpc repository Breaking Change

Math

  • Move math native code to powsybl-math-native

Security Analysis

  • Distributed security analysis reports logs in exceptions
  • Add input preprocessors for security analysis
  • Bug fixes
    • Fix multi-thread mode activation in security analysis

Technical debt

  • Replace ZipHelper class by ZipPackager Deprecated
  • Prepare support of Java 11
  • Update MapDB version to 3.0.6

v2.5.2

26 Jun 08:27
Compare
Choose a tag to compare

Release notes

IIDM

  • Fix a NullPointerException in Node/Breaker voltage levels containing internal connections

v2.5.1

19 Jun 08:35
Compare
Choose a tag to compare

Release notes

IIDM

  • Add integrity checks for Generators and Batteries
  • Release integrity check for regulating terminal of tap changers
  • Fix voltage, angle, connected and synchronous component number from buses that contain no NodeTerminal

Scripting

  • Fix regression due to the change of the return type of Substation::getCountry.

v2.5.0

15 May 09:47
Compare
Choose a tag to compare

Release notes

CGMES (beta)

  • Skip current limits if no PATL is defined
  • Remove deprecated cim1 modules Breaking Change
  • Support default boundary files
  • Bug fixes:
    • Fix reactive capability curves import
    • Fix regulating terminal import
    • Fix country code for XNodes
    • Fix ConcurrentModificationException in Node mapping

Computation

  • Add Javadoc for computation module
  • Add extendable computation parameters

Contingencies

  • Remove generics from the ContingenciesProviderFactory interface Breaking Change

IIDM

  • Variant can be copied into an existing one [BC#790]
  • Remove deprecated getShunt and getShuntStream methods Breaking Change
  • Add getBus methods to network BusView and BusBreakerView
  • Print balance summary to a Writer instead of a Logger
  • Change getName implementation of merged lines to get a human readable name
  • Add support of batteries
  • An exception is thrown if no importer is found to load a network Breaking Change
  • The import/export of a terminal reference have been moved to a specific class
  • Substation's countries are optional Breaking Change
  • Bug fixes:
    • Fix removal of extensions
    • Fix merged network ID modification and renaming
    • Fix bus name in BusAdder

iTools

  • Fix handling of spaces in paths

Loadflow validation

  • check methods are not static anymore Breaking Change

Math

  • Add Javadoc for graph module
  • Add Javadoc for matrix module
  • Add add method to sparse matrix
  • Rename some methods in matrix API Deprecated

Security analysis

  • Refactor SecurityAnalysisBuilder, make the API cleaner Deprecated
  • LimitViolationDetector has access to the current contingency
  • LimitViolationDetector have been moved to com.powsybl.security.detectors Deprecated
  • Get logs from a security analysis computation

Quality

  • Add TopIssue GitHub App.
  • Add a link to Spectrum community
  • Add a link to Javadoc.io

v2.4.1

22 Mar 16:32
Compare
Choose a tag to compare

Release notes

Security analysis

  • Fix the violation detection based on current value

v2.4.0

13 Mar 12:33
Compare
Choose a tag to compare

Release notes

CGMES (beta)

  • Correct missing or invalid data in CGMES files and log these corrections
  • Fix bug with angle and tension of buses
  • Fix bug with internal connections
  • Fix bug with p0 and q0 for EnergyConsumer
  • Resilient to special double values and invalid ID in CGMES files
  • Support for import of CGMES files in Node/Breaker topology into IIDM files in Node/Breaker topology

Computation

  • Local computation manager hangs when a java.lang.Error is thrown

iAL

  • Support for getShunt(), getShuntCount(), getShunts() and getShuntStream() methods in iAL

Import/Export

  • Allow global import/export parameters configuration for all exporters and importers

iTools

  • Allow global import/export parameters configuration in iTools commands using import or export
  • Display the list of available SecurityAnalysis extensions with the iTools command plugins-info

Loadflow-validation

  • Support to validate zero-impedance lines

Quality

  • Add javadoc for matrix package
  • Migrate to guru.nidi:graphviz-java

Time series

  • Fix bug in RegularTimeSeriesIndex.getPointCount method for huge values
  • Allow to have more than 2GB of data in TimeSeriesTable

Topology

  • Fix bug to export Bus/Breaker topology
  • Fix bug to traverse Node/Breaker topology containing internal connections