Skip to main content

Release Notes: Version 26.05

What's New

Trigger schedules from Flows

It is now possible to start trigger schedules from a flow, via the newly added function execute_trigger_schedule. For more details please check out our documentation here.

New UI pages available in Beta

Additional pages are now available in the new console for Beta users:

  • File Management, Market Adapters, and Transformation Configurations
  • Channel Classifiers, Datasource Classifiers, and Trigger Schedules

Notable improvements that ship with these pages:

  • Auto-ingestion property on Market Adapters: You can now configure the market_adapters property for auto ingestion directly from the Market Adapter page in the new console.
  • Load a file from a Transformation Configuration: You can now navigate from a Transformation Configuration to a file uploaded in File Management. Previously, navigation was only possible in the opposite direction (file → Transformation Configuration).
  • SQL formatting for Trigger Schedule queries: Trigger Schedule queries are now displayed with SQL syntax formatting, making them easier to read and review.

⚠️ MDM — Datasource and Flow API V2 services merged

The Datasource and Flow API V2 services have been merged into a single MDM (Meter Data Management) service.

  • URL change:
    • Before: datasource.<project>.ewxapis.com / flow.<project>.ewxapis.com
    • After: mdm.<project>.ewxapis.com
  • API version change:
    • Before: /v1alpha1/
    • After: /v1/
  • What to update: Replace datasource or flow in the hostname with mdm, and replace /v1alpha1/ with /v1/ in all request paths.
  • Affected endpoints: Datasources, Datasource Classifiers, Channel Classifiers, Channel Families, Computed Flags, Flow Designs, Tags, Timeseries, Profiling.
  • Not affected: Identity, Process Monitoring, and Market Adapter services remain on their existing hostnames with /v1alpha1/.
  • Increased downtime after deployment: The MDM service will have a slightly increased downtime after deployment, meaning the New UI and API will not be available for around 30–60 minutes after deployment finishes.

⚠️ Deprecation Notice

  • Channel Flows: Channel Flows are deprecated as of 26.05 and will be removed in release 26.11. All Channel Flows must be migrated to Datasource Flows before that release. Please reach out through our Service Desk if you have any questions regarding this migration.

🖥️ UI Improvements

  • Project documentation (Preview): You can now add project-specific documentation that lets you surface implementation details to business users. This is possible by uploading a markdown file via API or ewx-cli. More information can be found here. The feature ships in preview; shape and lifecycle may still change.
  • Profiling filters fix: Fixed the issue which caused profiling filters to disappear.
  • File Management search: Now, the filter by day respects the user's local timezone and searches for files within that day in the user's local timezone.
  • User settings respected on Datasource Detail page: Default date range is now applied correctly on the Datasource Detail page; from/to dates are pre-filled when opening a datasource. All time units (hours, days, months, years) are now supported (previously a configured "3 months back" was being interpreted as "3 years back"). The Audit Events page also reflects current settings — caching that previously required manual browser-storage clearing has been removed.
  • Date picker cursor fix: Fixed an issue in the new console which caused the cursor to jump to the end of the input when changing the date in the datasource view.
  • Chart zoom on large datasets: Fixed an issue that prevented zooming in on the chart when a lot of data was loaded (e.g. 1 year of 15-min data across 4 channels).
  • KB / Service Desk duplicate tabs: Fixed an issue which caused the knowledge base to open duplicate tabs when opening it in a new tab via right click or cmd+click.
  • Tag property keys are now read-only: Fixed an issue in the new console where the property key of an existing tag was editable; existing keys are now read-only and adding a property with a duplicate key is blocked.
  • Sign out redirection with beta features: Fixed an issue which prevented correct redirection when signing out from the new console with beta features enabled.
  • New console sign in page background: Added a new background to the new console sign in page.
  • Datapoints clickable in "Show flags" mode: Fixed an issue where datapoints with flags could not be clicked in "Show flags" mode on the datasource chart, preventing the datapoint info panel from opening.
  • "Last edited" field accuracy: Fixed an issue when retrieving timeseries edits that occurred when the same timestamp had edits for different channels with different versions.
  • First-time login fix: Fixed an issue that prevented newly whitelisted accounts from logging in to the new console for the first time.
  • Adblocker info message on Process Monitoring page: Added a message to Process Monitoring when there is an error advising the user to check for adblocker usage.
  • German language support: Added support for the German language in the platform.

⚙️ Custom Business Logic

  • Timezone comparison fixes in rule framework: Resolved timezone-naive vs offset-aware datetime comparison errors in two code paths: filtering timeslice groups by start or end, and get_active_tag_versions when tag valid_from is timezone-naive. Timezone-naive objects are now converted to timezone-aware before comparison.
  • Chain rules created upon namespace creation: The conditional_chain_flow and bulk_chain_flow rules are now created automatically when a new namespace is added. This was previously only true for the chain_flow.
  • Tag validation: Added validation for tag property values across two paths: when stored via the rule framework (raising a ValueError that the user must handle, otherwise the flow is canceled and an audit event generated) and when applied during datasource creation/update on file ingestion (so failures due to transformation configuration type mismatches now generate proper audit events).
  • ML prediction restored for FlowRule: The get_prediction() and promote_model() methods are available again on FlowRule.

🔐 API & Permissions

  • File storage datetime search: The file storage API now accepts complete datetime values in UTC, searching within a 24-hour range after the provided timestamp. If the user wants files in their local timezone, they need to convert to UTC beforehand.
  • Client credentials creation: Fixed an issue where users could only create client credentials when they were whitelisted to the energyworx.org namespace. Any whitelisted user can now create client credentials for themselves.
  • Datapoint versions on continuous flows: Fixed an issue that prevented the creation of a new datapoint version when editing a datapoint via API v2 on a continuous flow.
  • Datasource fields after Flow runs via APIv2: Fixed an issue that was causing the datasource to be updated with wrong information when triggering a Flow through APIv2.
  • Editable DPA enforcement on NUI / API v2: Fixed an issue that was allowing edit of DPAs even when the DPA was explicitly set to not be editable.
  • Datasource IDs accept dashes: Datasource IDs may now contain dashes (-).

🛠️ ewx-cli

  • Dashboard transfer auto-remap: When transferring or uploading dashboards, the ewx-cli now automatically remaps flow IDs in dashboard string replacements, by matching flow names between source and destination. More information can be found here.
  • Transactional config uploads with rollback: config upload is now transactional. If any step fails, the CLI automatically rolls back every configuration it had already applied, restoring the destination namespace to its pre-upload state and exiting non-zero with the original platform error. Behaviour on a fully successful upload is unchanged.
  • dashboards fix: Fixed a crash in config dashboards that caused an AttributeError: 'tuple' object has no attribute 'iter_all_pages'. The command now correctly unpacks the client tuple returned by create_client().

📚 Documentation Updates

  • APIv1 documentation — clearer button label: The button in the APIv1 documentation now reads Execute instead of Try it out, making it explicit that the button executes the command.
  • Customer onboarding & ewx-public testing framework: Added in-depth documentation about how to work with the ewx-public testing framework for developing flow and transform rules.

🚀 Notable Backend Changes

  • Python dependency security update: Updated urllib3 across all platform services to address a known vulnerability.
  • Base image security updates: Updated container base images across all platform services to resolve HIGH and CRITICAL OS-level vulnerabilities identified by security scanning.
  • Gateway security updates: Upgraded key dependencies in the API gateway to patch three known vulnerabilities (CVE-2025-30204, CVE-2025-46569, CVE-2025-22868).
  • Infrastructure security hardening: Resolved multiple GCP Security Command Center findings by tightening network access controls and Terraform resource configurations on the platform infrastructure.
  • Improved reliability of data processing pipeline: Improved how the platform handles recovery when a processing worker is unexpectedly interrupted (for example, during a node restart or scaling event). What you'll notice:
    • More consistent end-to-end processing latency, especially during high-volume ingestion.
    • Fewer cases where a single file appears "stuck" while others around it complete normally.
  • Trace ID propagation: Trace IDs are now propagated through all processing and API components (Python and Go), making it easier to track messages through the entire system.
  • User & namespace context in API logs: API request logs now include user and namespace information on all log entries, enabling easier filtering and tracing of individual user requests.

📡 Integration Component

  • SEL meter aggregate values fix: Fixed a bug in the modbus service so that the current data is only calculated once and reused for each LDP read retrieval, addressing insufficient meter reads on umic_com_001.
  • Outbound acknowledgement tags fix: Tags on acknowledgement files uploaded to GCS were incorrectly populated from the original inbound message fields (senderId, creationTimestamp, messageId). The fields are now overridden with the ACK's own metadata before forwarding to the file service.

26.05.01

  • Audit Events schema compatibility: The writers service now accepts both the current and legacy Avro schemas for Audit Events, preventing write failures during the migration period until the legacy schema is fully retired.
  • Search indexing for market adapter datasources: Fixed a bug where datasources created or updated by pluggable market adapters were never published to the search index.
  • pyarrow in prepare-payload image: Added an explicit import pyarrow in the market-adapter loader so Pants' import inference keeps pyarrow in the prepare-payload build artifact and can be used in the Market-adapter codeBlobs.

26.05.02

Platform Bug Fixes

  • get_active_tag_versions fix: Fixed a timezone comparison error. The function now ensures all returned tags utilize timezone-aware "valid from" timestamps.

26.05.03

  • SOAP list URL routing fix: Fixed an issue where SOAP integrations configured with a dedicated list URL in the URL map would incorrectly route requests to the default URL instead.
  • SOAP MetaData header fix: Resolved an issue where SOAP requests for the MetaData message type incorrectly included a Content-Type header, causing those requests to fail.

Security Improvements

* Enhanced security hardening — Cloud Armor WAF: The platform's existing security infrastructure can now be extended with per-environment Cloud Armor WAF policies across all public-facing gateway and EnerGPT services. This adds an extra layer of protection against OWASP Top 10 attack patterns, automated scanner detection, and login brute-force attempts — complementing the existing network-level and application-level controls already in place.

26.05.04

  • Namespace properties admin-only: The Namespace properties page in the old console is now restricted to admins, the entry button no longer appears for other users, and saving only patches the defaults key via the admin API so unrelated namespace properties can no longer be accidentally lost when the page fails to load.

26.05.05

  • Flow chaining fix: Fixed an issue where bulk chain flows could silently fail to trigger downstream flows due to incorrect Datastore key type resolution.

26.05.06

ewx-public testing utilities: Fixed the ewx-public package so it now includes the ewx_public.testing module, restoring the ability to write unit tests for custom flow rules as documented.

  • Datasource OR/AND search fix: Searching for multiple datasource IDs using boolean operators (for example, A OR B) now returns the expected results in the OUI datasource search bar. Note: mixed operators (e.g. A OR B AND C) are not yet fully supported and will be improved in a future release.