Skip to main content

Release History

VersionDate
2.12.021 October 2024
2.11.021 May 2024
2.10.027 November 2023
2.9.031 May 2023
2.8.008 February 2023
2.7.024 October 2022
2.6.026 August 2022
2.5.004 March 2022
2.4.023 September 2021
2.3.006 April 2021
2.2.001 February 2021
2.1.013 January 2021
2.0.010 November 2020
1.2.08 November 2019
1.1.021 June 2019
1.0.07 March 2019

[2.12.0]

Breaking Changes

  • The default pattern for extracting switch names to be used on map tiles has been removed (from "^([0-9]{4,})[ ].*$"). A new configuration option switchNamePattern has been added to GeoViewConfig to allow the user to specify their own pattern for extracting switch names. This must be specified to be "^([0-9]{4,})[ ].*$" if you were relying on the existing behaviour for switch names on the map.
  • Renamed TablePowerElectronicsUnit to TablePowerElectronicsUnits.
  • Equipment to EquipmentContainer links for LV feeders are no longer written to the database, they should never have been.
  • Switch.ratedCurrent has been converted to a double (used to be an integer). Type safe languages will need to be updated to support floating point arithmatic/syntax.
  • Removed obsolete gRPC SwitchStateService which only logged the functionality was not implemented. This will be replaced in a future release.

New Features

  • Data Model changes:
    • Added specialNeed to Customer to capture any special needs of the customer, e.g. life support.
    • Added phaseCode field to the UsagePoint. This field contains the phases supported by this UsagePoint.
    • Added new classes:
      • Curve
      • CurveData
      • EarthFaultCompensator
      • GroundingImpedance
      • PetersenCoil
      • ReactiveCapabilityCurve
      • RotatingMachine
      • SynchronousMachine
  • Added /graphql/customers GraphQL endpoint for querying data held by the CustomerService. This is a separate endpoint which requires specific authorisation for accessing customer data.
    • This endpoint implements queries getIdentifiedObject, getIdentifiedObjects, findIdentifiedObjects, findIdentifiedObjectsByName, and getMetadata.
  • Added bounding boxes to GraphQL responses. A BoundingBox will now be returned as part of a GQL query which plots a bounding polygon encapsulating the IdentifiedObjects contained within the result of the query.
  • Added polygon field to the GqlResponse. This field contains a convex polygon encompassing the locations(if available) of the IdentifiedObject's returned in the response.

Enhancements

  • None.

Fixes

  • Any DiagramObject returned via the GraphQL interface now correctly references the IdentifiedObject it represents, rather than having a self-reference.

Notes

  • Upgraded to support ewb-sdk-jvm 0.23.0

[2.11.0]

Breaking Changes

  • Updated to JVM SDK version 0.18.0, which introduces the following breaking changes:
    • IdentifiedObject.addName has been refactored to take in a NameType and a String. This is doing the same thing under the hood as previous addName() function, but simplifies the input by lowering the amount of objects that needed to be created prior to adding names. Example usage change: obj.addName(nameType, "name", obj)) or obj.addName(nameType.getOrAddName("name", obj)) becomes obj.addName(nameType, "name")
    • addName()/removeName() related function for both IdentifiedObject and NameType will now also perform the same function on the other object type. i.e. Removing a name from the identified object will remove it from the name type and vice versa. Same interaction is also applied to adding a name.
    • Removed ProtectionEquipment.
    • Change of inheritance: CurrentRelay ProtectionEquipment. becomes CurrentRelay ProtectionRelayFunction.
    • Removed symmetric relation ProtectionEquipment ProtectedSwitch.
    • Renamed CurrentRelayInfo to RelayInfo.
      • The override assetInfo: RelayInfo? has been moved from CurrentRelay to its new parent class, ProtectionRelayFunction.
      • Renamed RelayInfo.removeDelay to RelayInfo.removeDelayAt. The original method name has been repurposed to remove a delay by its value rather than its index.
    • Reworked values for enumerable type ProtectionKind.
  • The database has been split into three databases:
    1. The existing database containing the network model (*-network-model.sqlite) with classes in the network package.
    2. A new database containing the customer information (*-customers.sqlite) with classes in the customer package.
    3. A new database containing the diagrams (*-diagrams.sqlite) with classes in the diagram package.
  • Renamed the following tables (and their associated indexes):
    • battery_unit to battery_units
    • photo_voltaic_unit to photo_voltaic_units
    • power_electronics_connection to power_electronics_connections
    • power_electronics_connection_phase to power_electronics_connection_phases
    • power_electronics_wind_unit to power_electronics_wind_units
    • transformer_star_impedance to transformer_star_impedances
  • All GraphQL tracing queries have new signatures and response types.
  • The command line argument --days-to-search has been deprecated in favour of the renamed option --days-to-search-network, which provides clarity from the new search options.

New Features

  • Metadata can now be retrieved via the GraphQL end point using the getMetadata function.
  • Added getMetadata() gRPCs to *ConsumerService for providing service information to clients.
  • Metadata can now be retrieved via the GraphQL end point using the getMetadata function.
  • Added gRPCs:
    • getCustomersForContainer - gets all the Customers associated with Meters on a given EquipmentContainer.
    • getDiagramObjects - gets all DiagramObjects associated with a given mRID.
  • Loading of the customers database can be disabled with the new --disable-customers CLI option.
  • Added new classes and fields to support advanced modelling of protection relays:
    • SeriesCompensator: A series capacitor or reactor or an AC transmission line without charging susceptance.
    • Ground: A point where the system is grounded used for connecting conducting equipment to ground.
    • GroundDisconnector: A manually operated or motor operated mechanical switching device used for isolating a circuit or equipment from ground.
    • ProtectionRelayScheme: A scheme that a group of relay functions implement. For example, typically schemes are primary and secondary, or main and failsafe.
    • ProtectionRelayFunction: A function that a relay implements to protect equipment.
    • ProtectionRelaySystem: A relay system for controlling ProtectedSwitches.
    • RelaySetting: The threshold settings for a given relay.
    • VoltageRelay: A device that detects when the voltage in an AC circuit reaches a preset voltage.
    • DistanceRelay: A protective device used in power systems that measures the impedance of a transmission line to determine the distance to a fault, and initiates circuit breaker tripping to isolate the faulty section and safeguard the power system.
    • RelayInfo.recloseFast: True if recloseDelays are associated with a fast Curve, False otherwise.
    • RegulatingControl.ratedCurrent: The rated current of associated CT in amps for a RegulatingControl.
  • You can now load from a specific date, rather than using the latest available model. See --network-date for details.
  • You can control how far from the network model the customer and diagram database can be. See --days-to-search-customer and --days-to-search-diagram.
  • Added designTemperature and designRating to Conductor to support span level ratings based on how each conductor has been constructed for Essential Energy.

Enhancements

  • None.

Fixes

  • findIdentifiedObjects and /network/api/v1/find APIs now support symbol characters that could either cause no matching results to be found or errors to be returned.

Notes

  • None.

[2.10.0]

Breaking Changes

  • Updated to support ewb-network-routes 2.16.0.

New Features

  • None.

Enhancements

  • None.

Fixes

  • None.

Notes

  • None.

[2.9.0]

Breaking Changes

  • Updated to ewb-network-routes 2.15.0 and latest SDK version. This removed RecloseSequences and corresponding CIM + Gql types.

New Features

  • Added GraphQl query getDownstreamEquipment() which given an mRID and a network state will perform a downstream trace from the mRID and provide all objects

Enhancements

  • None.

Fixes

  • getUpstreamEquipment() GraphQL query will no longer stop on LvFeeder heads, and will instead exhaustively trace if no stop type/mRID is given.

Notes

  • None.

[2.8.0]

Breaking Changes

  • None.

New Features

  • The evolve-sdk now includes an EquivalentNetworkUtils class to add equivalent networks at the edge of equipment containers.
  • Added support for version 0.14.0 of the Evolve SDK. This includes support for the following CIM types:
    • CurrentTransformer
    • CurrentTransformerInfo
    • PotentialTransformer
    • PotentialTransformerInfo
    • ProtectionEquipment
    • CurrentRelay
    • CurrentRelayInfo
    • SwitchInfo
    • RecloseSequence
  • Added support for version 2.14.0 of ewb-network-routes.
  • The evolve-sdk now includes an EquivalentNetworkUtils class to add equivalent networks at the edge of equipment containers.

Enhancements

  • Added the following properties to the Mapbox vector tiles:
    • a partially off supply flag for equipment that is only partially energised.
    • a flag to indicate if something is a switch, allowing detection of switches with invalid/missing symbols.
  • Add container mRIDs to equipment in vector tiles features.
  • normalPhases and currentPhases (traced phases) are now exposed through GqlTerminal

Fixes

  • From SDK 0.14.0: Fixed limited connected traces with maximumSteps = 1 were including equipment 2 steps away.
  • Fixes issue in the evolve-sdk where the AuxiliaryEquipment and ProtectionEquipment was not getting properly assigned by the AssignToFeeder class.

Notes

  • None.

[2.7.0]

Breaking Changes

  • Database versions prior to v43 are no longer supported.
  • Feeder instances are now only assigned to HV/MV equipment. LvFeeder instances are assigned to LV equipment.
  • The GraphQL Equipment.currentFeeders field has been replaced with Equipment.currentContainers, which takes an optional list of CIM type names to filter the collection. If you wish to keep your GraphQL requests backwards compatible, you can use the following to return only the current feeders in the previous field:
// old:
currentFeeders {
<field selectors>
}

// equivalent:
currentFeeders: currentContainers(types: ["Feeder"]) {
... on Feeder {
<field selectors>
}
}

New Features

  • Added support for YYN single phase transformers when setting phases.
  • Added support for LvFeeder, which contains a section of network below a distribution transformer.
  • Added the following GraphQL queries:
    • getUpstreamEquipment(): Performs an upstream trace, configurably stopping on either a particular type or a certain mRID, or the feeder head if neither were found.
    • getNetworkHierarchy(): Retrieve the network hierarchy classes.
    • getIsolatedEquipment(): Request the equipment that belongs to an isolation area.
  • Added the following optional arguments to the getEquipmentForContainers gRPC call:
    • includeEnergizingContainers: Specifies whether to include equipment from containers energizing the ones listed in mRIDs. This is of the enum type IncludedEnergizingContainers, which has three possible values:
      • EXCLUDE_ENERGIZING_CONTAINERS: No additional effect (default).
      • INCLUDE_ENERGIZING_FEEDERS: Include HV/MV feeders that power LV feeders listed in mRIDs.
      • INCLUDE_ENERGIZING_SUBSTATIONS: In addition to INCLUDE_ENERGIZING_FEEDERS, include substations that energize a HV/MV feeder listed in mRIDs or included via INCLUDE_ENERGIZING_FEEDERS.
    • includeEnergizedContainers: Specifies whether to include equipment from containers energized by the ones listed in mRIDs. This is of the enum type IncludedEnergizedContainers, which has three possible values:
      • EXCLUDE_ENERGIZED_CONTAINERS: No additional effect (default).
      • INCLUDE_ENERGIZED_FEEDERS: Include HV/MV feeders powered by substations listed in mRIDs.
      • INCLUDE_ENERGIZED_LV_FEEDERS: In addition to INCLUDE_ENERGIZED_FEEDERS, include LV feeders that are energizes by a HV/MV feeder listed in mRIDs or included via INCLUDE_ENERGIZED_FEEDERS.
  • Added an isSwer flag to the Mapbox vector tiles, indicating if a feature is part of the SWER network.

Enhancements

  • None.

Fixes

  • None.

Notes

  • None.

v2.6.0

Breaking Changes
  • None.
New Features
  • Added GraphQL route /ewb/graphql/api. This includes the following queries:
    • getIdentifiedObject: Request an IdentifiedObject by mRID.
    • getIdentifiedObjects: Request many IdentifiedObject instances by their mRIDs
    • findIdentifiedObjects: Find all IdentifiedObject instances that match the provided criteria.
    • findIdentifiedObjectsByName: Find multiple objects by their name and NMI nametype.
    • getAssetInfo: Returns all AssetInfo and PerLengthLineParameter objects that match the requested types.
    • getDownstreamEquipmentTree: Performs a downstream trace and return the paths found.
    • findUpstreamEquipment: Performs an upstream trace looking for objects of a particular type.
    • getConnectedEquipment: Performs a trace outwards from a selected object for a set number of steps, and optionally, only in a specified direction.
Enhancements
  • None.
Fixes
  • None.
Notes
  • None.

v2.5.0

Breaking Changes
  • NMI and load aggregation processing has been updated for semantic relocation in the CIM model.
  • PowerTransformer instances are now distinguished using their function rather than an associated DiagramObject.
  • Updated isPrimary flag in old JSON API's to reference isExternalGrid rather than an EnergySource having any associated EnergySourcePhase.
  • Feeder API's that return infeeds will now return the head of the feeder rather than the external grid source.
  • Renamed PhaseDirection to FeederDirection:
    • IN renamed to UPSTREAM
    • OUT renamed to DOWNSTREAM
  • Separated feeder direction from phase.
    • Direction has been removed from TracedPhases and is now accessed directly off the Terminal.
    • Direction has been removed from PhaseStatus and is now accessed via DirectionStatus.
  • The following Terminal fields are now Kotlin properties rather than accessor functions:
    • connectivityNodeId
    • isConnected
    • normalPhases
    • currentPhases
  • PhaseCode.singlePhases is now a Kotlin read-only property rather than an accessor function.
New Features
  • The connection point identifier is now configurable via the config file option connectionPointIdentifier. Defaults to NMI if not specified.
  • PowerTransformer now has a function and constructionKind.
Enhancements
  • Updated GQL filtering mechanism to allow more precise matching of objects.
  • Expanded the number of fields available for a StreetAddress
  • Added fields to EnergySource to allow representation of a higher-level power grid connection modelled as a slack bus.
  • Reworked phase connectivity to better handle unknown primary phases (X/Y).
Fixes
  • JASNI startup exception has been resolved.
  • nmis-transformers-feeders API now correctly populates feeders for NMIs / usage points that have no upstream transformer on the feeder.
  • Relaxed the constraint on power_electronics_connection_mrid (no longer unique) in the following tables:
    • battery_unit
    • photo_voltaic_unit
    • power_electronics_wind_unit
    • power_electronics_connection_phase
Notes
  • None.

v2.4.0

Breaking Changes
  • All classes will now send their class name via the REST API rather than BasicNode if they did not exist in the old network model.
  • ID correlations are no longer used. Equivalent functionality has been introduced into the CIM.
New Features
  • The gRPC API now supports the following CIM classes:
    • EquivalentBranch
    • NoLoadTest
    • OpenCircuitTest
    • ShortCircuitTest
    • ShuntCompensatorInfo
  • Added isVirtual and connectionCategory to UsagePoint
Enhancements
  • None.
Fixes
  • Conductor colouring has been corrected in the graphics routes.
  • Switch states have been corrected in the graphics routes.
Notes
  • None.

v2.3.0

Breaking Changes

None.

New Features
  • Added support for:

    • BusBarSection
    • LoadBreakSwitch
    • TransformerEndInfo
    • TransformerTankInfo
    • TransformerStarImpedance
  • gRPC service to listen for switch state changes. Note functionality is not implemented yet, the request is just logged.

  • Added endpoint to request associated transformers and feeders for nmis - /ewb/network/api/v1/nmi-transformers-feeders. See the API documentation for details.

Enhancements
  • Asset response for equipment now includes location.
Fixes
  • None.
Notes
  • Updated to Vert.x 3.9.6.

v2.2.0

Breaking Changes

None.

New Features
  • None.
Enhancements
  • None.
Fixes
  • None.
Notes
  • None.

v2.1.0

Breaking Changes
  • Updated ewb-network-routes version to latest snapshot.
New Features
  • Added a new route for retrieving metadata about the network - /ewb/network/api/v1/metadata. See the API documentation for details.
Enhancements
  • None.
Fixes
  • Transformer voltage is extracted from the first of the transformer's ends.
Notes
  • None.

v2.0.0

Breaking Changes
  • Fault indicators are no longer included in network traces (including feeder assets).
  • Updated database version.
  • Updated to use new patch API JSON format and layers.
New Features
  • Added a new trace to find conducting equipment with attached usage points downstream from the specified conducting equipment, with an optional conducting equipment stop condition to support "between" tracing. If there is no path between from -> to, a trace in the opposite direction will also be performed (i.e. to -> from)
  • Support for load profile manipulation has been added to the patch processor. The final manipulation value is quantity / df.
  • A REST API has been added to retrieve load manipulations at /ewb/patch/api/v1/load-manipulations. See the online documentation for details.
Enhancements
  • The mapbox vector tiles now include conductor paths if available.
Fixes
  • None.
Notes
  • None.

v1.2.0

Breaking Changes
  • Updated to use v11.0 network database.
New Features
  • Underground/Overhead conductors are now supported. A flag isUnderground has been added to all JSON payloads that return conductor details.
  • Conductor styling has been added in the Mapbox Vector Tile feature properties. You can use the lineColor, lineWidth and isUnderground properties of conductor features to control the rendering of map layers.
  • Added an isolation trace API that can find all assets within a proposed isolation area.
Enhancements
  • HV supply point assets now include connected meter information like other supply points.
  • A new field rating has been added to all JSON payloads that return transformer details.
Fixes
  • Phases are now being inferred when the core configuration drops phases.
Notes
  • None.

v1.1.0

Breaking Changes
  • Updated to use v10.0 network database.
New Features
  • Patch actions are now processed in order based on type (add, modify then remove).
  • Support for system tags (e.g. GIS) has been added to all routes that use asset ID's.
  • Filtering has been added to all routes.
  • Routes that return terminals now include the terminals lat/lon.
  • Added support for cut conductor processing.
Enhancements
  • Feeder start points can now be the feeder circuit breaker, but it will trace the zone if there is one.
  • No longer warning about primary sources on feeders if the primary source is the feeder start point.
  • Unknown layers now result in an error rather than aborting.
Fixes
  • None.
Notes
  • None.