Release History
Version | Date |
---|---|
2.20.0 | 21 October 2024 |
2.19.1 | 18 June 2024 |
2.19.0 | 07 June 2024 |
2.18.0 | 02 June 2024 |
2.17.1 | 23 May 2024 |
2.17.0 | 20 May 2024 |
2.16.0 | 27 November 2023 |
2.15.0 | 01 May 2023 |
2.14.0 | 08 February 2023 |
2.13.0 | 24 October 2022 |
2.12.0 | 25 August 2022 |
2.11.1 | 17 March 2022 |
2.11.0 | 09 March 2022 |
2.10.0 | 04 March 2022 |
2.9.0 | 23 September 2021 |
2.8.3 | 07 December 2021 |
2.8.2 | 25 November 2021 |
2.8.1 | 24 November 2021 |
2.8.0 | 06 April 2021 |
2.7.0 | 01 February 2021 |
2.6.0 | 13 January 2021 |
2.5.0 | 10 November 2020 |
2.4.0 | 04 September 2020 |
2.3.0 | 18 August 2020 |
2.2.0 | 25 July 2020 |
2.1.0 | 15 June 2020 |
2.0.2 | 11 March 2020 |
2.0.1 | 6 February 2020 |
2.0.0 | 16 December 2019 |
1.9.0 | 30 October 2019 |
1.8.1 | 10 September 2019 |
1.8.0 | 20 August 2019 |
1.7.1 | 4 June 2019 |
1.7.0 | 31 May 2019 |
1.6.1 | 21 January 2019 |
1.6.0 | 21 December 2018 |
1.5.2 | 29 October 2018 |
1.5.1 | 17 September 2018 |
1.5.0 | 5 September 2018 |
1.4.2 | 29 August 2018 |
1.4.1 | 28 August 2018 |
1.4.0 | 24 August 2018 |
1.3.2 | 27 July 2018 |
1.3.1 | 26 April 2018 |
1.3.0 | 20 April 2018 |
1.2.1 | 15 March 2018 |
1.2.0 | 26 Feburary 2018 |
1.1.0 | 30 November 2017 |
1.0.0 | 14 November 2017 |
[2.20.0]
Breaking Changes
- The default switch name pattern has changed FROM
"^([0-9]{4,})[ ].*$"
to null. By default, switch names will not be rendered on the map unlessswitchNamePattern
is configured. You should set it to this pattern if you relied on the old behaviour and could see switch numbers on the map. - Removed
Auth.permissionsKey
configuration option. EWB will attempt to retrieve permissions claims from eitherpermissions
orroles
fields, withpermissions
taking precedence. - Removed
Auth.issuer
configuration option. JWT issuers trusted by EWB are now provided as a list of URLs toAuth.trustedIssuers
. (Note: URLs must now include protocol) - Added
Auth.trustedIssuers
configuration option. This expects a list of issuer domains to be trusted by EWB. Only the first domain in the list will be returned to clients requesting auth configuration from the/config/auth
endpoint. - Added support for trusting JWT tokens from multiple issuers. (Note: When clients request client auth configuration from the
/config/auth
end point, EWB will return only the first issuer in theAuth.trustedIssuers
list.) Switch.ratedCurrent
has been converted to adouble
(used to be aninteger
). Type safe languages will need to be updated to support floating point arithmetic/syntax.- The
routeFactory
forAuthConfigRoute
now only takes inavailableRoute
,audience
,issuer
, andauthType
. - Refactored
EwbDataFilePaths
:- The
EwbDataFilePaths
class has been refactored into an interface to enhance flexibility and abstraction. - A new class,
LocalEwbDataFilePaths
, has been introduced to specifically handle the resolution of database paths for the local file system.
- The
- The
s0
(suppress-zero-length
) command line option has been relocated to the configuration file underdebug.suppressZeroLength
. - All previously deprecated configuration parameters are no longer supported.
- The log messages for invalid configuration options have changed, and message about default values have been removed.
- Removed obsolete gRPC
SwitchStateService
which only logged the functionality was not implemented. This will be replaced in a future release.
New Features
- Switch name pattern for inclusion in map tiles is now configurable via
geoViewConfig.switchNamePattern
. - Added support for trusting JWT tokens from multiple issuers. (Note: When clients request client auth configuration from the
/config/auth
endpoint, EWB will return only the first issuer in theAuth.trustedIssuers
list.) - GraphQl trace queries now include a
polygon
field in their response types. This field contains a convex polygon encompassing the locations(if available) of theIdentifiedObject
's returned in the response. - Added support for an optional second "public" map tile endpoint at
/ewb/network/graphics/api/v1/mvt/geo-view/public/:z/:x/:y
. This "public" map tile endpoint is enabled by supplying a secondgeoViewConfig
aspublicGeoView
in the configuration file and can be configured completely independently of the existing map tile endpoint. - Added GraphQL query
getPublicGeoViewConfig
to retrieve thegeoViewConfig
of the "public" map tile endpoint. If the "public" endpoint is not enabled NULL is returned. - Added support for AWS S3 as a source storage option for databases. To enable this, specify the optional configuration keys:
ewbData.awsRegion
andewbData.awsBucket
. The Default credentials provider chain is used as authentication mechanism. - Added
phaseCode
field to theUsagePoint
andGqlUsagePoint
classes. This field contains the phases supported by thisUsagePoint
.
Enhancements
- Failure to load the configuration file is no longer ignored and a correct error is logged.
- Added log message when EWB is loading a fixed/locked network date.
- Following CIM classes are now supported:
Curve
CurveData
EarthFaultCompensator
GroundingImpedance
PetersenCoil
ReactiveCapabilityCurve
RotatingMachine
SynchronousMachine
- Added the following Gql classes to support data model change:
GqlCurve
GqlEarthFaultCompensator
GqlGroundingImpedance
GqlPetersenCoil
GqlReactiveCapabilityCurve
GqlRotatingMachine
GqlSynchronousMachine
Fixes
- Use updated version of ewb-conn (0.11.0) to properly support issuers ending with a
/
. - Fixed issue causing authentication to not be applied to some API endpoints when configured.
- The gRPC shutdown no longer throws an exception when the server fails to load the application cache.
Notes
- Upgraded to support ewb-sdk-jvm 0.23.0
[2.19.1]
Fixes
- Use updated version of ewb-conn (0.10.1) to properly support issuers ending with a /
[2.19.0]
Breaking Changes
- Auth configuration has now been simplified; for EntraID or Auth0; use the following fields (consult the docs if needed):
- authType (use "entraid" or "auth0" accordingly)
- issuer (the url for the token provider)
- audience
- permissions
New Features
- Added
/ewb/api/graphql/customers
GraphQL endpoint for querying data held by theCustomerService
. This is a separate endpoint which requires specific authorisation for accessing customer data.- This endpoint only implements queries
getIdentifiedObject
,getIdentifiedObjects
,findIdentifiedObjects
,findIdentifiedObjectsByName
, andgetMetadata
.
- This endpoint only implements queries
- Added bounding boxes to GraphQL responses. A
BoundingBox
will now be returned as part of a GQL query which plots a bounding rectangle encapsulating the IdentifiedObjects contained within the result of the query.
Enhancements
- None.
Fixes
- None.
Notes
- None.
[2.18.0]
Breaking Changes
- None.
New Features
- Add new option to
debug
config -logException
which will log the stacktrace when EWB returns an internal server error in the catch all route
Enhancements
- The
debug
optionslogExceptions
andlogRequests
is now enabled by default - Added
specialNeed
toCustomer
to capture any special needs of the customer, e.g. life support.
Fixes
- None.
Notes
- None.
[2.17.1]
Fixes
- Fixed an error where
designTemperature
anddesignRating
fields were throwing aMethodNotFound
exception when selected via a GraphQL query.
[2.17.0]
Breaking Changes
- Updated to JVM SDK version 0.21.0, which introduces the following breaking changes:
IdentifiedObject.addName
has been refactored to take in aNameType
and aString
. This is doing the same thing under the hood as previousaddName()
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))
orobj.addName(nameType.getOrAddName("name", obj))
becomesobj.addName(nameType, "name")
addName()
/removeName()
related function for bothIdentifiedObject
andNameType
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
. becomesCurrentRelay
→ProtectionRelayFunction
. - Removed symmetric relation
ProtectionEquipment
↔ProtectedSwitch
. - Renamed
CurrentRelayInfo
toRelayInfo
.- The override
assetInfo: RelayInfo?
has been moved fromCurrentRelay
to its new parent class,ProtectionRelayFunction
. - Renamed
RelayInfo.removeDelay
toRelayInfo.removeDelayAt
. The original method name has been repurposed to remove a delay by its value rather than its index.
- The override
- Reworked values for enumerable type
ProtectionKind
.
- The database has been split into three databases:
- The existing database containing the network model (
*-network-model.sqlite
) with classes in thenetwork
package. - A new database containing the customer information (
*-customers.sqlite
) with classes in thecustomer
package. - A new database containing the diagrams (
*-diagrams.sqlite
) with classes in thediagram
package.
- The existing database containing the network model (
- Renamed the following tables (and their associated indexes):
battery_unit
tobattery_units
photo_voltaic_unit
tophoto_voltaic_units
power_electronics_connection
topower_electronics_connections
power_electronics_connection_phase
topower_electronics_connection_phases
power_electronics_wind_unit
topower_electronics_wind_units
transformer_star_impedance
totransformer_star_impedances
- All GraphQL tracing queries have new signatures and response types.
- The filename of the
results cache
database has been changed toresults-cache
fromresults_cache
. Any existingresults cache
database files will need to be renamed toresults-cache
to continue to be used. - The Azure auth configuration is now using the term
EntraID
instead, so use 'entraid' in the auth method config.
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. - Loading of the
customers
database can be disabled with the newewbData.excludeCustomers
configuration 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 controllingProtectedSwitch
es.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.
- Added configuration option
ewbData.previousDaysToSearchForDiagram
to control the number of days prior to the date of thenetwork-model
database being loaded to search for adiagrams
database, if an exact match did not exist. - Added configuration option
ewbData.previousDaysToSearchForCustomer
to control the number of days prior to the date of thenetwork-model
database being loaded to search for acustomers
database, if an exact match did not exist. - Loading a
network-model
database of a specific date can be accomplished with the newewbData.networkDate
configuration option. When provided,ewbData.previousDaysToSearchForNetwork
is ignored and EWB will only load anetwork-model
database of that exact date. The behaviour ofewbData.previousDaysToSearchForDiagram
andewbData.previousDaysToSearchForCustomer
is unchanged.
Enhancements
- Added
designTemperature
anddesignRating
toConductor
to capture limitations in the conductor based on the network design and physical surrounds of the conductor.
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.- Updated to evolve-conn 0.9.0:
- Correct authorisation for user permissions
- Fix where
permissionsKey
set in config was not passed through for HTTP requests
Notes
- None.
[2.16.0]
Breaking Changes
- Updated to latest JVM SDK - see release notes in version 0.16.0.
New Features
- Updated to latest ewb-network-routes - see release notes in version 2.16.0.
- Notables:
- IsolationTrace now supports undirected network (sub-trans), as long as you provide equipment
insideIsolation
.
- IsolationTrace now supports undirected network (sub-trans), as long as you provide equipment
- Notables:
- Geo view tile caching can now be configured (memory and disk). See configuration docs for details.
- GeoViewConfig is now exposed through GraphQL
getGeoViewConfig()
- ItemMatcher now backed by Apache Lucene. See ewb-network-routes changelog for details.
- Added support for Azure as an Auth provider. See docs for configuration instructions.
- Added option
allowAllPermissions
which will effectively disable authorisation and allow full access to all endpoints.
Enhancements
- Docusaurus config and versions update.
Fixes
- None.
Notes
- None.
[2.15.0]
Breaking Changes
- Removed support for RecloseSequences.
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. - Added gRPCs:
getCustomersForContainer
- gets all the Customers associated with Meters on a given EquipmentContainer.getDiagramObjects
- gets all DiagramObjects associated with a given mRID.
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.- Added
content-type
header toallowed headers
in CORS options call
Notes
- None.
[2.14.0]
Breaking Changes
- None.
New Features
- 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
andcurrentPhases
(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. This will be reflected in getConnectedEquipment GraphQL queries. - Fixes issue in the evolve-sdk where the AuxiliaryEquipment and ProtectionEquipment was not getting properly assigned by the AssignToFeeder class.
Notes
- None.
v2.13.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 REST API call
feeder-assets
has been made backwards compatible by including equipment in LV feeders energized by the specified HV/MV feeder.
- The REST API call
- The GraphQL
Equipment.currentFeeders
field has been replaced withEquipment.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
LvFeeder
, a branch of LV network starting at a distribution substation and continuing until the end of the LV network.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 support for the following optional arguments in the gRPC function
getEquipmentForContainers
:includeEnergizingContainers
: Specifies whether to include equipment from containers energizing the ones listed inmRIDs
. This is of the enum typeIncludedEnergizingContainers
, which has three possible values:EXCLUDE_ENERGIZING_CONTAINERS
: No additional effect (default).INCLUDE_ENERGIZING_FEEDERS
: Include HV/MV feeders that power LV feeders listed inmRIDs
.INCLUDE_ENERGIZING_SUBSTATIONS
: In addition toINCLUDE_ENERGIZING_FEEDERS
, include substations that energize a HV/MV feeder listed inmRIDs
or included viaINCLUDE_ENERGIZING_FEEDERS
.
includeEnergizedContainers
: Specifies whether to include equipment from containers energized by the ones listed inmRIDs
. This is of the enum typeIncludedEnergizedContainers
, which has three possible values:EXCLUDE_ENERGIZED_CONTAINERS
: No additional effect (default).INCLUDE_ENERGIZED_FEEDERS
: Include HV/MV feeders powered by substations listed inmRIDs
.INCLUDE_ENERGIZED_LV_FEEDERS
: In addition toINCLUDE_ENERGIZED_FEEDERS
, include LV feeders that are energizes by a HV/MV feeder listed inmRIDs
or included viaINCLUDE_ENERGIZED_FEEDERS
.
Added an
isSwer
flag to the Mapbox vector tiles, indicating if a feature is part of the SWER network.
Enhancements
- You can now suppress warnings about zero length energy profiles with the
-s0
or--suppress-zero-length
command line option. - Added
seriesName
attribute to the load profile REST API responses. This is calculated from the requested objects, and will defer to a transformer if the requested object is an LV aggregation usage point.
Fixes
- You can now correctly request load for a
Meter
.
Notes
- None.
v2.12.0
Breaking Changes
- The mapbox vector tile route now correctly sends a
NO_CONTENT [204]
response for empty tiles instead of the previousOK [200]
response. BusbarSection
instances are now rendered by the Mapbox vector tiling engine as lines on a newbusbars
layer, rather than as points on thenodes
layer.
New Features
- Phases are now set through transformers allowing for phase changes. Only valid phase mappings are currently supported. If a valid mapping has been missed, please contact Zepben.
Diagram
andDiagramObject
instances are now accessible through the GraphQL API.- Added the following GraphQL queries:
getAssetInfo
: Returns allAssetInfo
andPerLengthLineParameter
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.findIdentifiedObjectsByName
: Find multiple objects by theirname
and NMInametype
.getConnectedEquipment
: Performs a trace outwards from a selected object for a set number of steps, and optionally, only in a specified direction.
Enhancements
- GRPC server now compresses responses, reducing network latency.
- Added more decimal places for impedance values in the REST API.
Fixes
- The
connectionPointIdentifier
setting is now correctly passed to the network API. SetPhases
no longer removes phases when there is an LV loop with mixed single and 3-phase.
Notes
- Sequence impedance values through the asset API are now 9 decimal places.
v2.11.1
Fixes
- The connectionPointIdentifier setting is now correctly passed to the network API.
v2.11.0
No changes - test release
Breaking Changes
- None.
New Features
- None.
Enhancements
- None.
Fixes
- The
connectionPointIdentifier
setting is now correctly passed to the network API.
Notes
- None.
v2.10.0
Breaking Changes
- NMI and load aggregation processing has been updated for semantic relocation in the CIM model.
PowerTransformer
instances are now distinguished using theirfunction
rather than an associatedDiagramObject
.- Updated
isPrimary
flag in old JSON API's to referenceisExternalGrid
rather than anEnergySource
having any associatedEnergySourcePhase
. - Feeder API's that return
infeeds
will now return the head of the feeder rather than the external grid source. - Renamed
PhaseDirection
toFeederDirection
:IN
renamed toUPSTREAM
OUT
renamed toDOWNSTREAM
- Separated feeder direction from phase.
- Direction has been removed from
TracedPhases
and is now accessed directly off theTerminal
. - Direction has been removed from
PhaseStatus
and is now accessed viaDirectionStatus
.
- Direction has been removed from
- 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 toNMI
if not specified. PowerTransformer
now has afunction
andconstructionKind
.
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.9.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.
- The network hierarchy gRPC API has been updated to use CIM classes.
- Changed
DiagramObject.style
to be a string and removedDiagramObjectStyle
enum. - Updated to use v0.15.0 gRPC protocols.
New Features
- Preview of a GraphQL API to query the model using via CIM terminology. Try at:
/ewb/api/graphql
- The gRPC API now supports the following CIM classes:
EquivalentBranch
NoLoadTest
OpenCircuitTest
ShortCircuitTest
ShuntCompensatorInfo
- Added
isVirtual
andconnectionCategory
to `UsagePoint
Enhancements
- The GraphQL API is in preview while we understand the usefulness and limitations. In practice this means:
- Existing fields returned in CIM based objects are unlikely to be modified as they conform to our profile, however their nullability may change.
- Query parameters may have their optionality changed, or their meaning modified.
- Operations that are added will have their usefulness assessed and may be modified or removed before stabilising.
Fixes
- Conductor colouring has been corrected in the graphics routes.
- Switch states have been corrected in the graphics routes.
- gRPC calls no longer send incomplete objects when items are not found.
Notes
- None.
v2.8.3
Breaking Changes
- None.
New Features
- None.
Enhancements
- None.
Fixes
- nmis-transformers-feeders API now returns correct feeders for NMIs that have no upstream transformers.
Notes
- None.
v2.8.2
Breaking Changes
- None.
New Features
- None.
Enhancements
- None.
Fixes
- nmis-transformers-feeders API now maps supplyPointIds to EnergyConsumers as well as UsagePoints.
Notes
- None.
v2.8.1
Breaking Changes
- None.
New Features
- None.
Enhancements
- None.
Fixes
- nmis-transformers-feeders API now correctly populates feeders for NMIs / usage points that have no upstream transformer on the feeder.
Notes
- None.
v2.8.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.
Enhancements
- Asset response for equipment now includes location.
- Added endpoint to request associated transformers and feeders for nmis -
/ewb/network/api/v1/nmi-transformers-feeders
. See the API documentation for details.
Fixes
- None.
Notes
- Updated to Vert.x 3.9.6.
v2.7.0
Breaking Changes
- The json payload for a PowerTransformer now returns null for values of transformerUtilisation equal to NaN (the json spec doesn't support NaN).
New Features
- Added power electronic connections and units to the map tile.
Enhancements
- Added powerTransformerInfo property to the json payload for PowerTransformers.
- Added the nominalPhases property to the toJson method for terminals.
Fixes
- None.
Notes
- None.
v2.6.0
Breaking Changes
- Changed key name for issuer domain in auth config from issuerDomain -> issuer
New Features
- Added a new route for retrieving metadata about the network -
/ewb/network/api/v1/metadata
. See the API documentation for details. - Added a new route to get auth config needed for clients -
/ewb/auth
See the API documentation for details.
Enhancements
- All files in
config
dir underwebroot
is now served for use by the web app.
Fixes
- Transformer voltage is extracted from the first of the transformer's ends.
Notes
- None.
v2.5.0
Breaking Changes
- None.
New Features
- None.
Enhancements
- None.
Fixes
- None.
Notes
- None.
v2.4.0
Breaking Changes
- None.
New Features
- New assets by location route which allows you to find assets that are associated with a specific location. See API Documentation for details.
- Added ability to configure at which zoom levels specific objects get added to the vector tiles for visualisation on the map. Refer to the geoView configuration section of the documentation for more information.
Enhancements
- None.
Fixes
- None.
Notes
- None.
v2.3.0
Breaking Changes
- Updated to use CIM based database (v19.0).
New Features
- Added an upstream trace API that can find upstream assets by their type. See API documentation for details.
Enhancements
- Meter information is now included in the asset API JSON payload. See API documentation for details.
- Supply point name is now included in the JSON payload. See API documentation for details.
- Pole information is now included in the asset API JSON payload. See API documentation for details.
- Enhanced the find endpoint to allow to filter by object class through the use of a new query parameter (includeClass).
- Poles have been added to the geo-view mapbox vector tiles.
Fixes
- Scada readings via date range query now return profiles for intermediate dates with empty readings.
- EV analysis endpoint now returns expected charging capacity response.
- Tracing feeders correctly when power transformers have ends instead of a base voltage.
Notes
- None.
v2.2.0
Breaking Changes
- None.
New Features
- None.
Enhancements
- Nominal phase information has been added to the vector tiles for all conducting equipment.
- Added equipment containers to asset JSON payloads. See API documentation for details.
- Added EHV classes to the network hierarchy end point. See API documentation for details.
Fixes
- The load cache now works if the top-level directory is a symlink.
Notes
- None.
v2.1.0
Breaking Changes
- Updated to use CIM based database (v14.0).
New Features
- TLS is now supported for the web server with a PEM key and cert, and optionally a PEM CA chain if client authentication is configured. It can be configured with the http options
tlsEnabled
,keyPath
,certPath
, andclientAuth
. - You can now configure a pass-through for pulling back readings from SCADA via the date range query. See notes for more details.
Enhancements
- Added REST API port number to the startup log.
- Added
name
property to the GeoJSON responses. - You can now specify a location on an AC line segment to isolate rather than isolating the entire line when performing an isolation trace. See API documentation for details.
Fixes
- Feeder tracing will no longer trace through a feeder breaker when the feeder head terminal belongs to the feeder breaker.
Notes
- There is no upgrade path for the database, it will need to be regenerated from the source system.
- To retrieve SCADA readings you need to include the optional
scada=true
query parameter in your request. - To configure SCADA you need to add the following options to your EWB configuration:
"scada": {
"host": "<HOSTNAME>",
"port": <PORT_NUMBER>,
"basePath": "<HOSTED_PATH>"
}
v2.0.2
Fixes
- Map tiles are now correctly displaying the normal state of the network.
v2.0.1
Fixes
- Now loading correct basic switch symbols.
v2.0.0
Breaking Changes
- Updated to use database schema version 13.0.
New Features
- The network model used internally has been refactored to be CIM based. These classes will be exposed via new APIs in a future release, for now the APIs remain unchanged.
Enhancements
- The mapbox vector tiles now include conductor paths if available.
Fixes
- None.
Notes
- None.
v1.9.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.
Enhancements
- A new field rating has been added to all JSON payloads that return transformer details.
Fixes
- None.
Notes
- None.
v1.8.1
Fixes
- HV customer loads are no longer being double counted in some situations.
v1.8.0
New Features
- 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.
Fixes
- Phases are now being inferred when the core configuration drops phases.
Notes
- None.
v1.7.1
Fixes
- Updated SQLite driver to support JDK 11.
- Fixed startup process to remove "thread blocked" errors.
v1.7.0
Breaking Changes
- Updated to use network database v10.0.
New Features
- You can now terminate to the middle of conductors, not just the ends.
- You can now filter many of the API responses to reduce payload size.
- Support for system tags (e.g. GIS) has been added to all network routes that use asset ID's.
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.
- Routes that return terminals now include the terminals lat/lon.
Fixes
- Fixed a bug in the load tracing when load was stored against the load ID rather than the ID.
- Now correctly returning the request ID's in the response for load traces.
Notes
- The database version upgrade will happen automatically and will create a backup copy of the database. Ensure you have enough disk space before performing this upgrade.
v1.6.1
Fixes
- Fixed a race condition when accessing disk based load readings from multiple client requests.
v1.6.0
Breaking Changes
- The energy profiles "find-names" route has been deprecated. You should use the network "find" route instead.
New Features
- Max demand API's now support multiple date periods in a single request.
- Feeder tracing will now stop at zone transformers to prevent cross zone leakage when feeder CB's are not correctly identified or are missing.
- Geographic tiles are now served asynchronously.
Enhancements
- No longer generating "Response closed" exceptions.
Fixes
- HTTP body debugging will now create the output file if it does not exist.
Notes
- None.
v1.5.2
Fixes
- None.
v1.5.1
Fixes
- The time boxing for load requests no longer accepts ambiguous midnight values.
- Fixed ansi colouring for windows machines.
v1.5.0
Breaking Changes
- None.
New Features
- Updated the find names criteria to include all assets that are connected rather than those with downstream phasing.
- Replaced the find names engine to improve performance.
Enhancements
- None.
Fixes
- None.
Notes
- None.
v1.4.2
Fixes
- Fixed an error in the date boxing of min/max demand load requests.
v1.4.1
Fixes
- Fixed an error in the time boxing of min/max demand load requests.
- The
includeReadings
option now works for the max/min demand queries when providing a single asset.
v1.4.0
Breaking Changes
- Energy profile API calls which used to specify the to-asset via a path parameter have been changed to specify it as an optional query parameter. See the API documentation for details.
New Features
- Added new network graphics end points for retrieving the geographic co-ordinates for assets.
Enhancements
- Performance improvements to the downstream tree trace.
- Added support to the find names API for finding assets when searching via id even if they are excluded.
- Excluded more items from the find names API to reduce the amount of unwanted results.
Fixes
- Fixed path issues with the unadorned profiles page.
Notes
- None.
v1.3.2
Fixes
- Time boxed and max/min demand queries now work correctly with 15 minute profiles.
v1.3.1
Fixes
- Suppressed warnings logged when the client closes a connection before the server has finished responding.
v1.3.0
Breaking Changes
- None.
New Features
- None.
Enhancements
- None.
Fixes
- Various exceptions were being logged even though they were handled.
Notes
- None.
v1.2.1
Fixes
- Added a new static asset route for IE11 support fix.
v1.2.0
Breaking Changes
- Requires new network database schema.
New Features
- Added a Weather API.
- Added a new network API endpoint to request the attached load points for an LV supply point.
Enhancements
- Load profile autocomplete API now has more refined results.
Fixes
- Fix where requesting weather could cause an HTTP 500 exception.
- Fix where load by weather queries would return the wrong results.
- Fix to the format of the results cache 'key not found' error.
- Fixes to API endpoints that take bodies.
- Load profiles with 0 length could cause a crash.
Notes
- None.
v1.1.0
Breaking Changes
- Results cache database path no longer needs to be specified in the config file as it now stored in the EWB data directory.
New Features
- Now logs when the server finishes loading or if it fails to load to the syslog if configured.
Enhancements
- Results cache database has been moved into the EWB data directory and is no longer manually configured.
- Server now has more thorough logging when it fails to start.
Fixes
- Content type HTTP header is now added to the default index page.
- The current log is now logged to the specified log path instead of just archive logs.
Notes
- To enable logging important server messages to the syslog, add the required options in the config file. Refer to Load Aggregator config options for more info.