Skip to main content

Release History

VersionReleased
0.6.103 December 2025
0.6.002 October 2025
0.5.118 August 2025
0.5.030 July 2025

NOTE: This library is not yet stable, and breaking changes should be expected until a 1.0.0 release.


[0.6.1]

Breaking Changes

  • Dropped and recreated the qa_event_log table in the results database. The table now include a new id column in the primary key to uniquely identify events within the execution of a SYF. The second column has also been changed from Integer to Double.

New Features

  • Added new field inputDb.forecastEquipmentCommissionMonthDay to configuration. This value is passed to the model generator as a command line argument --forecast-equipment-commission-month-day.

Enhancements

  • Add configuration for requesting pqv-fallback functionality from the model processor.

  • All timestamp strings being parsed to Kotlin/Java types must include seconds. This is due to the update of kotlinx-datetime to 0.6.1.

  • Result queues are now assumed to be streams, so a compatible version of opendss-jvm-executor must be used.

  • RabbitMQ instance must use the rabbitmq_stream plugin and the stream.advertised_host and stream.advertised_port must be configured. resources.rabbitmq.streamPortForContainers in the HC service config must match stream.advertised_port.

  • Configuration change from hosting-capacity-utils

    • Added new configuration class SyfConfig to group variables moved out of WorkPackageRequest and WorkPackageConfig.
      • ForecastConfig - Functionally similar to old set up where it holds a list of feeders, years, scenarios and load time.
      • FeederConfigs - Holds a list of individual feeder settings so each feeder can run a hosting capacity study with distinct settings.
    • Added new configuration class LoadTime and LocalLoadTime which holds load specific variables.
      • FixedTime/LocalFixedTime - Fixed time setting for the study, includes an optional map of FixedTimeLoadOverrides.
      • TimePeriod/LocalTimePeriod - Time period setting for the study, includes an optional map of TimePEriodLoadOverrides.
    • Major refactoring of configuration.
      • WorkPackageRequest
        • Moved feeders, years, scenarios, timePeriod and fixedTime into SyfConfig and LocalLoadTime.
      • WorkPackageConfig
        • Moved feeders, years, scenarios, timePeriod and fixedTime into SyfConfig and LocalLoadTime.
      • CommonConfig
        • Moved timePeriod and fixedTime into LoadTime.
      • ModelConfig
        • Moved fixedTimeLoadOverride and timePeriodLoadOverride into LoadTime and LocalLoadTime
      • Introducing WorkPackageInput change and access of load time.

New Features

  • Support intervention
    • PRRP is run at the start of a work package (before model generation) if intervention.cadidateGeneration is specified in the work package's request.
    • Intervention config is passed through to the model generator via the Job protobuf message.
  • Schema migration scripts for load, result and input db.
  • From hosting-capacity-utils, volumes can now be specified for docker container templates. Notably useful when combined with the config field generator.cli.outputModelsPath, by setting generator.containers.volumes.<volume name> to the same directory name e.g. /opendss-models.
  • Support applying transformer tap settings from input db by specifying a transformerTapSettings in the model config when building models.
  • Added new config option ewb.accessToken to allow authenticating to EWB with an EAS generated AccessToken.
  • Added new table calibrated_taps to the input database to store transformer tap settings for use by the model generator.
  • Create new end point for hosting capacity work package cost estimation /v1/estimate
  • Added new table calibration_meter_results to the results database to store meter level voltage results from a calibration run.
  • Takes in FixedTimeLoadOverride or TimePeriodLoadOverride in appConfig to allow load profile overriding for specified meters.

Enhancements

  • Supports kubernetes image pull secrets in container template configuration.
  • Added support for passing a ewb authentication issuer and audience to the model generator.
  • Can now specify service account name in the template for kubernetes containers.
  • Now the service will clean up queues left over by work package failures.
  • Models output from the generator to disk are now suffixed by the work package ID.

Fixes

  • Fixed the configured client secret for authenticating with EWB using M2M auth not getting passed to the opendss-generator.
  • Fixed issue where the hosting capacity service did not support config outputs from zconf.
  • Fixed issue where you had to specify both cpu and memory for kubernetes resource limits and request.
  • Cluster autoscaler will no longer evict jobs created by this service when using Kubernetes

Notes

  • Changelog for upcoming load schema placed in resources/db/changelog/load2. Work still needs to be done to support generic aggregations.

[0.6.0]

Breaking Changes

  • Renamed configuration property maxActivePipelines to maxActiveWorkPackages as part of the refactor to support running multiple work packages concurrently.

New Features

  • Support running multiple work packages concurrently. This simplifies the service's architecture and allows for more efficient use of RabbitMQ resources.
  • Added new table node_level_results to the results database to support node level opendss results.
  • Added useSpanLevelThreshold, simplifyPLSIThreshold, spanLevelThreshold, and emergAmpScaling to ModelConfig
    • simplifyPLSIThreshold is required to Enable ImpedanceNormalizre in NetworkSimplifier
    • spanLevelThreshold can be supplied to CommonImpedanceCollapsor to include DesignedRating of Conductor to be considered during AcLineSegment collapse.
    • if useSpanLevelThreshold is set to true, designRating will be used during current comparison during CommonImpedanceCollapsor instead of ratedCurrent
    • emergAmpScaling is used to calculate the emergAmps of LineCode. It was previously hard set to 1.5 times but now exposed as a configuration.
  • Added new table inverter_control_profiles to the input database to support translating generators to PvSystems in OpenDss(Advanced PV).
  • Containers started using the Kubernetes Runtime are now also labelled with the work package id

Enhancements

  • Support Super-Pom 0.45.1
  • Support up to com.zepben.commons and com.zepben.ewb v1.1.0

Fixes

  • None.

Notes

  • None.

[0.5.1]

Breaking Changes

  • Rework load schema with a new set of Liquibase migrations, starting with version 0.5.0. This new schema was previously placed in the load2 folder, which has since been removed. You will need to create a new database (possibly in the same Postgres server) and point to it for the new schema, then migrate any data from old tables (e.g. network_hierarchy).
  • PQV schema has been updated to be long form with more types of values supported. This will break anything using the pqv schema.
  • Existing calibration_meter_results table will be dropped and recreated with a new schema. Deleting any existing data in the table.

New Features

  • None.

Enhancements

  • Support up to Super-Pom 0.39.0

Fixes

  • None.

Notes

  • None.\n\n---\n

[0.5.0]

Breaking Changes

  • None.

New Features

  • None.

Enhancements

  • None.

Fixes

  • Support configuration of impedance collapsing and span thresholds for ratings.

Notes

  • None.\n\n---\n