<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://docs.energyworx.net/release-notes</id>
    <title>Energyworx Release Notes</title>
    <updated>2026-08-13T00:00:00.000Z</updated>
    <generator>https://github.com/jpmonette/feed</generator>
    <link rel="alternate" href="https://docs.energyworx.net/release-notes"/>
    <subtitle>Release notes for each version of the Energyworx platform.</subtitle>
    <icon>https://docs.energyworx.net/img/favicon.ico</icon>
    <rights>Copyright © 2026 Energyworx</rights>
    <entry>
        <title type="html"><![CDATA[Release Notes: Version 26.08]]></title>
        <id>https://docs.energyworx.net/release-notes/26.08</id>
        <link href="https://docs.energyworx.net/release-notes/26.08"/>
        <updated>2026-08-13T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[What's new in Energyworx platform version 26.08: new features, improvements, and fixes.]]></summary>
        <content type="html"><![CDATA[<p><em>Last updated: 27 August 2026</em></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="whats-new-"><strong>What's New</strong> ✨<a href="https://docs.energyworx.net/release-notes/26.08#whats-new-" class="hash-link" aria-label="Direct link to whats-new-" title="Direct link to whats-new-" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="dynamic-datasource-selection-for-scheduled-flows">Dynamic datasource selection for scheduled flows<a href="https://docs.energyworx.net/release-notes/26.08#dynamic-datasource-selection-for-scheduled-flows" class="hash-link" aria-label="Direct link to Dynamic datasource selection for scheduled flows" title="Direct link to Dynamic datasource selection for scheduled flows" translate="no">​</a></h3>
<p>Scheduled flow trigger schedules can now select their datasources with a query instead of a fixed list. A scheduled flow can target a self-maintaining set of datasources — for example, every datasource whose name starts with a given prefix — resolved fresh at each run, so datasources added or removed later are picked up automatically. See the <a href="https://docs.energyworx.net/platform/data-management/trigger-schedule#selecting-datasources-dynamically-with-a-query" target="_blank" rel="noopener noreferrer" class="">Trigger Schedule documentation</a>.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="channel-names">Channel names<a href="https://docs.energyworx.net/release-notes/26.08#channel-names" class="hash-link" aria-label="Direct link to Channel names" title="Direct link to Channel names" translate="no">​</a></h3>
<p>Channel classifiers can now show a different display name per datasource. The display name is set through a per-datasource channel name, which you can configure via a custom Market Adapter, a Transformation Configuration, or directly from a rule.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="analytics-dashboards-beta">Analytics dashboards (beta)<a href="https://docs.energyworx.net/release-notes/26.08#analytics-dashboards-beta" class="hash-link" aria-label="Direct link to Analytics dashboards (beta)" title="Direct link to Analytics dashboards (beta)" translate="no">​</a></h3>
<p>A beta version of Analytics dashboards — a new dashboarding tool with additional capabilities — is now available on request, at additional cost. Your existing native dashboards are unaffected and continue to work as expected. This is our first trial of the tool; if you'd like to try it, contact our service desk.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="️-deprecation-notice">⚠️ Deprecation Notice<a href="https://docs.energyworx.net/release-notes/26.08#%EF%B8%8F-deprecation-notice" class="hash-link" aria-label="Direct link to ⚠️ Deprecation Notice" title="Direct link to ⚠️ Deprecation Notice" translate="no">​</a></h2>
<ul>
<li class=""><strong>X-API-KEY authentication deprecated:</strong> Authenticating API requests with the X-API-KEY header is deprecated and will be removed in the next release (26.09), as this authentication method is being retired for security reasons. If needed, migrate to OAuth2 client credentials issued through the new console; requests that still use X-API-KEY now log a deprecation warning on the platform side. Requests using <code>Authorization</code> will continue to work.</li>
<li class=""><strong>Analyze command deprecation:</strong> The 'ewx-cli analyze' command family (rule and flow complexity analysis) is deprecated and will be removed in release <strong>27.02</strong>. Invoking any analyze command now prints a deprecation warning.</li>
<li class=""><strong>API v2 organization/project resource paths:</strong> The organization/project prefix in API v2 resource paths is deprecated and will be removed in release 27.02 — use the shorter <code>namespaces/{namespace}/…</code> form instead.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="️-ui-improvements">🖥️ UI Improvements<a href="https://docs.energyworx.net/release-notes/26.08#%EF%B8%8F-ui-improvements" class="hash-link" aria-label="Direct link to 🖥️ UI Improvements" title="Direct link to 🖥️ UI Improvements" translate="no">​</a></h2>
<ul>
<li class=""><strong>Dashboard action renamed:</strong> The dashboard-creation action in the new UI is now labeled "Add Dashboard" instead of "Create Dashboard", in all supported languages. (New console)</li>
<li class=""><strong>Audit event search fix:</strong> Audit event searches in the console now cover the selected dates in your own timezone instead of UTC, so events logged near midnight are no longer missing from the day they belong to. The severity counters on the datasource details page follow the same range. (New console)</li>
<li class=""><strong>Predefined values:</strong> You can now add new predefined values to an existing enum data point attribute when editing a channel classifier. Previously these values were read-only once the classifier had been created. (New console)</li>
<li class=""><strong>Custom separators in Transformation Configurations:</strong> Fixed an issue where custom separators for merged columns were ignored when creating a Transformation Configuration via the UI for tag names, channel attributes, and flow properties. (New console)</li>
<li class=""><strong>Correct default timeseries date range:</strong> Fixed an issue where the default timeseries date range was incorrectly calculated from midnight in the Original UI and in UTC in the New UI. The date range now correctly counts from the current time and respects the user's selected timezone. (Both consoles)</li>
<li class=""><strong>Duplicate channel-family names now show an error:</strong> Fixed an issue where creating a channel family with an already existing technical name would fail silently without displaying an error message. (New console)</li>
<li class=""><strong>Notifications:</strong> Error and info messages are no longer cut off behind the project documentation panel — when the panel is open, notifications shift alongside it and stay fully visible. (New console)</li>
<li class=""><strong>Search state preserved on navigation:</strong> The datasource search query and filters are now retained when navigating to a result's Details or Flows and back. (New console)</li>
<li class=""><strong>New console fixes:</strong> Resolved a range of UI issues across the new console, including dates now shown in your local timezone, full-name tooltips on truncated text, clearer action icons, better handling of long tag lists, loading feedback on task boards, and faster, smoother datasource search. (New console)</li>
<li class=""><strong>Faster analytics dashboard loads:</strong> Fixed an issue where opening an analytics dashboard would issue a redundant backend request, improving load times. (New console)</li>
<li class=""><strong>Easier date &amp; time filters:</strong> Made the date &amp; time filters on the Audit Events and File Management pages easier to use: the native time spinner is replaced with a calendar for the date plus hour/minute(/second) fields you can either type into or pick from a dropdown. (New console)</li>
<li class=""><strong>Permissions table clarity:</strong> Renamed the "Computedflag" permission resource to "Live Flags", removed the redundant "System" resource, and added clearer tooltips describing each resource (including how Timeseries and Datapoint differ, and what the Integration and Documentation resources control). (Original console)</li>
<li class=""><strong>Annotations show even without datapoints:</strong> Fixed an issue where annotations were not shown in charts if there were no related datapoints for the channel. (New console)</li>
<li class=""><strong>Multi-line task descriptions:</strong> Task descriptions now keep their line breaks in the taskboard, so multi-line and structured bodies (such as automated data-quality reports) stay readable instead of collapsing onto a single line. (New console)</li>
<li class=""><strong>Scrolling past charts:</strong> Scrolling the mouse wheel over a chart no longer zooms it, so the page scrolls normally when a chart is under the cursor. Use click-and-drag on the chart or the range selector buttons to zoom into a period. (New console)</li>
<li class=""><strong>Edit datasource classifiers:</strong> Existing datasource classifiers can now be edited in the new UI — description, datasource type, and source type. (New console)</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="️-custom-business-logic">⚙️ Custom Business Logic<a href="https://docs.energyworx.net/release-notes/26.08#%EF%B8%8F-custom-business-logic" class="hash-link" aria-label="Direct link to ⚙️ Custom Business Logic" title="Direct link to ⚙️ Custom Business Logic" translate="no">​</a></h2>
<ul>
<li class=""><strong>Non-existent Pub/Sub topics now raise a warning:</strong> When a flow forwards a message to a Pub/Sub topic that does not exist (for example a typo in the <code>pubsub_topic_name</code> namespace property), the audit events now show a warning naming the topic instead of reporting success. The flow still runs to completion, and the message is no longer retried indefinitely.</li>
<li class=""><strong>Channel rename from a rule:</strong> Renaming a channel from a rule now reliably persists, fixing an intermittent case where the channel could keep its previous name.</li>
<li class=""><strong>Easier testing for custom rules:</strong> The <code>ewx-public</code> package now includes the full toolkit for unit-testing custom rules — synthetic time-series data generators (monotonic, sinusoidal, and seasonal series, register channels, and more), the shared rule test base class, and the ability to build and inspect rules and tags directly in your tests. Teams can move existing tests off the legacy package with only a change to the import line, and invalid tags now fail a test instead of silently passing with a warning.</li>
<li class=""><strong>Custom-rule helpers load on a fresh install:</strong> The date-parsing and holiday-calendar helpers for custom rules no longer fail to load on a fresh install because of a missing dependency; they now work out of the box.</li>
<li class=""><strong>Direct imports from <code>standard-packages</code>:</strong> Custom rules and scripts can now import the shared helper modules from the <code>standard-packages</code> library directly (for example <code>StandardUtils</code>) without running into import errors.</li>
<li class=""><strong>Change channel names from rules:</strong> Rules can now rename a channel on a datasource with <code>set_channel_name()</code>. Previously a channel name could only be set during ingestion, through a Market Adapter or Transformation Configuration.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-api--permissions">🔐 API &amp; Permissions<a href="https://docs.energyworx.net/release-notes/26.08#-api--permissions" class="hash-link" aria-label="Direct link to 🔐 API &amp; Permissions" title="Direct link to 🔐 API &amp; Permissions" translate="no">​</a></h2>
<ul>
<li class=""><strong>API v2 tag search:</strong> Datasource search through API v2 now finds datasources by a tag property alone, such as <code>city=Houten</code>, instead of returning no results. Previously only the fully qualified form <code>location.city=Houten</code> matched, while API v1 already supported both.</li>
<li class=""><strong>Channel classifier consistency:</strong> Channel classifier attributes now behave consistently across API v1 and v2. The technical name is immutable, classifier ids may contain the '+' character, and the per-datasource channel name is optional.</li>
<li class=""><strong>User API response hardening:</strong> User detail and user list API responses no longer include the apiKeyToken, refreshToken and keyfile credential fields. Retrieving a keyfile remains available through the dedicated user keyfile endpoint.</li>
<li class=""><strong>Fixed access for users with mixed-case email addresses:</strong> Users whose identity provider (e.g. Microsoft Entra) returns their email with capital letters were incorrectly denied access to dashboards and other platform features. Authorization now matches the stored account regardless of email casing.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-documentation-updates">📚 Documentation Updates<a href="https://docs.energyworx.net/release-notes/26.08#-documentation-updates" class="hash-link" aria-label="Direct link to 📚 Documentation Updates" title="Direct link to 📚 Documentation Updates" translate="no">​</a></h2>
<ul>
<li class=""><strong>Integration service documentation refresh:</strong> The integration service documentation now covers SFTP-based integrations alongside SOAP, including a step-by-step quick start guide, routing and scheduling instructions, and a complete configuration reference. The existing SOAP documentation has also been updated to reflect current configuration options and acknowledgement mapping, and the architecture overview now includes integration services.</li>
<li class=""><strong>Documentation capability overview:</strong> Added a Platform Capabilities overview page and new guides for datasource search, flow orchestration, anomaly detection and alerting, and multi-tenancy and namespaces. Existing pages on market communication, billing determinants and virtual datasources now open with clearer business context.</li>
<li class=""><strong>Standard packages documentation:</strong> The shareable-packages section now documents the standard EDM packages (<code>standard-packages</code>) — what they contain, how to install them from the restricted Artifact Registry, and how to deploy a package to a namespace with ewx-cli. The packages are a separately licensed offering, available only to organizations with a standard-packages agreement.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-notable-backend-changes">🚀 Notable Backend Changes<a href="https://docs.energyworx.net/release-notes/26.08#-notable-backend-changes" class="hash-link" aria-label="Direct link to 🚀 Notable Backend Changes" title="Direct link to 🚀 Notable Backend Changes" translate="no">​</a></h2>
<ul>
<li class=""><strong>Security hardening:</strong> This release bundles a broad set of security and dependency updates across the platform, gateway, integration, and documentation-site services — patching known CVEs in cryptography, networking, SAML, TLS/JWT, gRPC authorization, and other libraries, hardening and slimming container images, and strengthening the automated dependency-update (Renovate) and vulnerability-scanning pipelines.</li>
<li class=""><strong>Process Monitoring instance counts:</strong> Fixed several issues that could make a Process Monitoring configuration's instance counts inaccurate under heavy or repeated processing — the total and successful counts could end up slightly too high or too low, and an instance could stay marked "in progress" after it had already finished. Counts are now accurate and the in-progress count settles to zero once processing completes.</li>
<li class=""><strong>Correct promo-metric reset across timezones:</strong> Promo metrics now reset at local midnight for timezones with fractional-hour offsets (e.g. India, Central Australia, Chatham Islands).</li>
<li class=""><strong>Classifier filter finds new datasources:</strong> Datasource search now correctly returns results when filtering by classifier for newly-added datasources.</li>
<li class=""><strong>Namespace-relative APIv2 resource names:</strong> APIv2 data endpoints now accept namespace-relative resource paths (<code>namespaces/{namespace}/...</code>) alongside the existing <code>organizations/{organization}/projects/{project}/namespaces/{namespace}/...</code> form, and responses now return resource names in the shorter namespace-relative form. The organization/project prefix is deprecated: it keeps working during the transition and will be removed in the 27.02 release. The web console and <code>ewx-cli</code> have moved to the namespace-relative paths. OAuth2 client-credential resources remain organization-scoped and are unaffected.</li>
<li class=""><strong>Datasource search fix:</strong> A datasource that had its classifier changed no longer appears twice in search results; it is now returned only under its current classifier.</li>
<li class=""><strong>Removed tags no longer searchable:</strong> Searching by a tag that has been removed from a datasource no longer returns that datasource; only its current tags are indexed for search.</li>
<li class=""><strong>Lower CPU on large timeseries loads:</strong> Fixed an issue that could cause high CPU usage when loading large amounts of timeseries data.</li>
<li class=""><strong>Scheduled flow triggers can select datasources by query:</strong> The <code>flow</code> trigger schedule now accepts a <code>datasource_ids_query</code> (a BigQuery <code>SELECT</code> whose first column is a datasource id) as an alternative to a static <code>datasource_ids</code> list, resolved at execution time so the flow runs on whatever datasources currently match — letting a scheduled flow target a dynamic, self-maintaining set (e.g. every datasource whose name starts with a given prefix) with no id list to maintain.</li>
<li class=""><strong>Behind-the-scenes platform modernization — no customer impact:</strong> A significant part of this release is internal engineering to standardize how platform services store and retrieve their configuration and metadata — spanning datasources, classifiers, rules, flows, triggers, transformation configurations, market adapters, namespaces, billing accounts, ML models, and tasks — on a single shared foundation. This is preparatory groundwork only: there is no change to how the platform behaves, no change to your data or APIs, and no action required on your part.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-integration-component">📡 Integration Component<a href="https://docs.energyworx.net/release-notes/26.08#-integration-component" class="hash-link" aria-label="Direct link to 📡 Integration Component" title="Direct link to 📡 Integration Component" translate="no">​</a></h2>
<ul>
<li class=""><strong>SFTP reconnection fix:</strong> The integration component now transparently reconnects when an SFTP connection becomes stale due to a server-side idle timeout, preventing file processing failures.</li>
<li class=""><strong>N243 validation fix:</strong> N243 settlement result messages for the same grid delivery station and allocation period are now validated per market participant (BRP), so responses for different BRPs are no longer incorrectly rejected as duplicates with error 704.</li>
<li class=""><strong>Unified integration messaging and logging:</strong> The SOAP, REST, Modbus, and RIBS integration services now run on the same messaging and logging foundations as the rest of the platform. Message delivery is unchanged — including handling of very large payloads — but every message now carries a standard identifier for end-to-end tracing, and all four services emit consistent, structured logs. The result is integration activity that's easier to monitor and faster to troubleshoot, with no configuration changes required on your side.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="️-ewx-cli">🛠️ ewx-cli<a href="https://docs.energyworx.net/release-notes/26.08#%EF%B8%8F-ewx-cli" class="hash-link" aria-label="Direct link to 🛠️ ewx-cli" title="Direct link to 🛠️ ewx-cli" translate="no">​</a></h2>
<ul>
<li class=""><strong>Detailed errors with <code>--debug</code>:</strong> <code>ewx-cli</code> now displays detailed error information when requesting a non-existent entity with the <code>--debug</code> flag enabled.</li>
<li class=""><strong>CLI error exit codes:</strong> ewx-cli commands that fail with a platform API error now exit with a non-zero status code, so scripts and pipelines can detect the failure. Connection failures now show a clean error message instead of a Python traceback.</li>
<li class=""><strong>Upload history fixes:</strong> 'ewx-cli config upload-history inspect' and 'revert' no longer crash on upload caches, 'purge --days' now deletes caches older than the given number of days as documented, and a reverted upload cache can no longer be reverted a second time.</li>
<li class=""><strong>Dry-run for configuration releases:</strong> 'ewx-cli config upload', 'config transfer', and 'config upload-history revert' now accept a '--dry-run' flag that resolves dependencies, checks permissions, and prints the full execution plan without changing anything, so a release plan can be reviewed before it is carried out.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="260801">26.08.01<a href="https://docs.energyworx.net/release-notes/26.08#260801" class="hash-link" aria-label="Direct link to 26.08.01" title="Direct link to 26.08.01" translate="no">​</a></h2>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="️-custom-business-logic-1">⚙️ Custom Business Logic<a href="https://docs.energyworx.net/release-notes/26.08#%EF%B8%8F-custom-business-logic-1" class="hash-link" aria-label="Direct link to ⚙️ Custom Business Logic" title="Direct link to ⚙️ Custom Business Logic" translate="no">​</a></h2>
<ul>
<li class=""><strong>Channel name fallback:</strong> Channels created by flows or ingestion no longer default their name to the technical classifier name. When a channel has no datasource-specific name, charts, tables and the channel list now show the classifier display name, falling back to the technical name only when no display name is set.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-notable-backend-changes-1">🚀 Notable Backend Changes<a href="https://docs.energyworx.net/release-notes/26.08#-notable-backend-changes-1" class="hash-link" aria-label="Direct link to 🚀 Notable Backend Changes" title="Direct link to 🚀 Notable Backend Changes" translate="no">​</a></h2>
<ul>
<li class=""><strong>Timeseries edit history:</strong> <code>TimeseriesService.load</code> can now return the datapoint edit history alongside the channel values (<code>include_edits=True</code>), in an additional <code>edits</code> column. This lets custom business logic detect which datapoints were manually corrected through the Console. It is off by default, so existing reads are unchanged.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="260802">26.08.02<a href="https://docs.energyworx.net/release-notes/26.08#260802" class="hash-link" aria-label="Direct link to 26.08.02" title="Direct link to 26.08.02" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="platform-bug-fixes">Platform Bug Fixes<a href="https://docs.energyworx.net/release-notes/26.08#platform-bug-fixes" class="hash-link" aria-label="Direct link to Platform Bug Fixes" title="Direct link to Platform Bug Fixes" translate="no">​</a></h3>
<ul>
<li class=""><strong>API tag writes now reach BigQuery:</strong> Fixed an issue where tags created through the API v2 tags endpoint were stored on the datasource but never synced to BigQuery, so they could not be found when querying tag data (for example in analytics or exports). Tags written through the API are now propagated to BigQuery the same way as tags created by flows.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="️-ui-improvements-1">🖥️ UI Improvements<a href="https://docs.energyworx.net/release-notes/26.08#%EF%B8%8F-ui-improvements-1" class="hash-link" aria-label="Direct link to 🖥️ UI Improvements" title="Direct link to 🖥️ UI Improvements" translate="no">​</a></h2>
<ul>
<li class=""><strong>Market adapters list:</strong> All available market adapters now appear in the market adapter list and file ingestion screens, instead of only the first 20. This unblocks ingesting files whose market adapter was previously missing. (New console)</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="️-custom-business-logic-2">⚙️ Custom Business Logic<a href="https://docs.energyworx.net/release-notes/26.08#%EF%B8%8F-custom-business-logic-2" class="hash-link" aria-label="Direct link to ⚙️ Custom Business Logic" title="Direct link to ⚙️ Custom Business Logic" translate="no">​</a></h2>
<ul>
<li class=""><strong>Partially written flow results:</strong> A flow result that cannot be written no longer reports the whole flow run as failed. The results that were written are kept and the rejected ones are reported against the affected datasource and flow, but any follow-up flow in a chain is held back, because the run did not produce everything it was supposed to.</li>
<li class=""><strong>Duplicate emails and tasks on retry:</strong> When a flow run had to be retried, any email it sent was sent again and any task without its own identifier was created again. Both are now recognised as already done and skipped on the retry.</li>
<li class=""><strong>Suppressed follow-up triggers:</strong> When flow results cannot be written, the follow-up triggers that were not published are now reported in an error audit event naming the flow configuration that did not start, instead of being dropped silently. Side effects unrelated to starting a flow, such as search indexing, still run.</li>
<li class=""><strong>Flow result write failures:</strong> When flow results cannot be written, the error audit event now names the affected datasource, flow and file instead of only the namespace, so the failure is findable from the entities you filter on. Repeated failures are each reported instead of only the first one.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="260803">26.08.03<a href="https://docs.energyworx.net/release-notes/26.08#260803" class="hash-link" aria-label="Direct link to 26.08.03" title="Direct link to 26.08.03" translate="no">​</a></h2>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-api--permissions-1">🔐 API &amp; Permissions<a href="https://docs.energyworx.net/release-notes/26.08#-api--permissions-1" class="hash-link" aria-label="Direct link to 🔐 API &amp; Permissions" title="Direct link to 🔐 API &amp; Permissions" translate="no">​</a></h2>
<ul>
<li class=""><strong>Google sign-in no longer blocked by the web application firewall:</strong> On environments with the Cloud Armor WAF enabled, signing in with Google returned a bare <code>403 Forbidden</code> page after the redirect back from Google. The firewall's remote-file-inclusion rule was tripping on the Google URLs that the callback carries in its <code>scope</code> parameter, because the rule that allow-lists the OAuth callback did not match the path the console serves it on. Both callback paths are now allow-listed.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-integration-component-1">📡 Integration Component<a href="https://docs.energyworx.net/release-notes/26.08#-integration-component-1" class="hash-link" aria-label="Direct link to 📡 Integration Component" title="Direct link to 📡 Integration Component" translate="no">​</a></h2>
<ul>
<li class=""><strong>Outbound SFTP delivery failures now raise tasks:</strong> A file that fails to reach an outbound SFTP server now always creates a task on the configured board, including for message types generated by processing rules that carry no message ID. Previously those failures were silently discarded — the task creation was rejected and the message acknowledged — so no task or alert was raised for an undelivered file.</li>
<li class=""><strong>ACK URL lookup fix:</strong> Resolved an issue where acknowledgement-specific URLs configured in the message URL map were silently discarded during URL resolution, causing non-GLDPM acknowledgements to fall back to the default URL and be rejected by the counterparty with a version mismatch.</li>
</ul>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Release Notes: Version 26.07]]></title>
        <id>https://docs.energyworx.net/release-notes/26.07</id>
        <link href="https://docs.energyworx.net/release-notes/26.07"/>
        <updated>2026-07-16T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[What's new in Energyworx platform version 26.07: new features, improvements, and fixes.]]></summary>
        <content type="html"><![CDATA[<p><em>Last updated: 17 July 2026</em></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="whats-new-"><strong>What's New</strong> ✨<a href="https://docs.energyworx.net/release-notes/26.07#whats-new-" class="hash-link" aria-label="Direct link to whats-new-" title="Direct link to whats-new-" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="new-console-nui">New console (NUI)<a href="https://docs.energyworx.net/release-notes/26.07#new-console-nui" class="hash-link" aria-label="Direct link to New console (NUI)" title="Direct link to New console (NUI)" translate="no">​</a></h3>
<p>With Beta features enabled, the new console gains a wave of improvements:</p>
<ul>
<li class=""><strong>New look and feel</strong> across the console, with refreshed page headers, tabs, and controls for a cleaner, more consistent experience.</li>
<li class=""><strong>New landing page</strong> — a card-based home screen for quick access to the areas you use most.</li>
<li class=""><strong>Datasource view</strong> — the datasource detail view (chart, data table, tags, and annotations) is now available in the new console.</li>
<li class=""><strong>Task management</strong> is now available in the new console.</li>
<li class=""><strong>Environment switcher</strong> (opt-in) — jump straight to another Energyworx instance and namespace you're signed in to, right from the top bar.</li>
<li class=""><strong>New settings page</strong> — User Settings reorganised into clear sections (Interface, Datasource, Tasks, Credentials, Account), plus a "Show namespace IDs" toggle.</li>
<li class=""><strong>Search parity</strong> with the original console — the same features, now in the new console.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="ordered-key-processing">Ordered key processing<a href="https://docs.energyworx.net/release-notes/26.07#ordered-key-processing" class="hash-link" aria-label="Direct link to Ordered key processing" title="Direct link to Ordered key processing" translate="no">​</a></h3>
<p>Files uploaded with the same <code>ordering_key</code> are now ingested one at a time, in the order the platform receives them, instead of in parallel — preventing race conditions when several files target the same datasource (for example, sequential corrections for the same meter). Give each independent stream its own key so unrelated files still process in parallel. Set the key as a path component when uploading to GCS — see <a href="https://docs.energyworx.net/platform/guides/how-to-upload-file-to-gcs#path-components" target="_blank" rel="noopener noreferrer" class="">Uploading files to Energyworx (GCS)</a>.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="process-monitoring-start-time-alerts">Process monitoring start time alerts<a href="https://docs.energyworx.net/release-notes/26.07#process-monitoring-start-time-alerts" class="hash-link" aria-label="Direct link to Process monitoring start time alerts" title="Direct link to Process monitoring start time alerts" translate="no">​</a></h3>
<p>Process monitoring can now alert on when a process starts. Configure a condition on the "Process Start Time" metric with an HH<!-- -->:MM<!-- --> threshold (e.g. alert if a process hasn't started by 09:00) — the alert fires as soon as that time passes with no activity, and holds other conditions until the process actually starts.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="️-ui-improvements">🖥️ UI Improvements<a href="https://docs.energyworx.net/release-notes/26.07#%EF%B8%8F-ui-improvements" class="hash-link" aria-label="Direct link to 🖥️ UI Improvements" title="Direct link to 🖥️ UI Improvements" translate="no">​</a></h2>
<ul>
<li class=""><strong>Automated access settings:</strong> OAuth2 client credentials now live in their own "Automated access" section, separate from personal Account settings — making it clear they're for API and automation.</li>
<li class=""><strong>No more freezing after a new release:</strong> If the web UI was open in a tab when a new version shipped, some pages could silently stop responding. The UI now detects this and refreshes itself so navigation keeps working.</li>
<li class=""><strong>Clearer Groups &amp; Permissions:</strong> The table now hides deprecated and internal resources and shows a short description for each one, so it's clearer what each permission governs.</li>
<li class=""><strong>Audit event search:</strong> Searching audit events with API v2 keywords (like 'flows' or 'datasources') no longer hits the wrong endpoint and fails.</li>
<li class=""><strong>Cleaner channel-classifier editing:</strong> The create-only "Datasource type" helper (not stored, and absent from the classic console and API) no longer appears when editing a channel classifier, so it can't show a misleading value for units used by more than one datasource type. The attribute-group editor was also restyled to match the rest of the form.</li>
<li class=""><strong>Faster datasource tag edits:</strong> Editing a single tag now sends only that tag to the API instead of re-submitting all tags on every save.</li>
<li class=""><strong>Trigger schedule version history restored:</strong> The version history panel is available again, and restoring a previous version now applies to the correct record.</li>
<li class=""><strong>Process monitoring alert links:</strong> Links in process-monitoring alert emails now open the correct configuration under Observability, scoped to the alert's namespace.</li>
<li class=""><strong>Default group protection:</strong> Users can no longer be removed from the default group — the option is hidden in the UI and rejected by the API.</li>
<li class=""><strong>Sign-in page links:</strong> The "Sign in with Google" screen now shows the correct support contact and links to the published General Conditions page (replacing a broken Terms of Service link).</li>
<li class=""><strong>Namespace properties:</strong> Saving a namespace property now works even when the namespace has none set yet (previously the first save silently did nothing).</li>
<li class=""><strong>Choose your default data view:</strong> A new "Default data view" setting opens datasource data as a chart or a table by default — per user, with a namespace-wide default admins can set.</li>
<li class=""><strong>Filter files by date range:</strong> File Management now filters files by a creation date range, with separate start and end datetime inputs.</li>
<li class=""><strong>Automatic tags on manual uploads:</strong> Files uploaded through File Management are now tagged "console" and "manual" automatically.</li>
<li class=""><strong>Warning before running a disabled trigger:</strong> Clicking "Run now" on a disabled trigger now shows a confirmation first, instead of failing with an unexpected error.</li>
<li class=""><strong>Map XML attributes:</strong> When mapping an XML file in a transformation configuration, element attributes (e.g. <code>id</code> on <code>&lt;meter id="123"&gt;</code>) are now selectable as columns alongside element values — no need to use the API.</li>
<li class=""><strong>File upload &amp; ingestion fixes:</strong> Uploads no longer fail with a CORS error; files stay editable even after a market adapter is assigned (the read-only lock now applies only to automated files); "ingest after upload" reliably starts ingestion; and re-ingesting an already-uploaded file no longer errors with "File IDs are required".</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="️-custom-business-logic">⚙️ Custom Business Logic<a href="https://docs.energyworx.net/release-notes/26.07#%EF%B8%8F-custom-business-logic" class="hash-link" aria-label="Direct link to ⚙️ Custom Business Logic" title="Direct link to ⚙️ Custom Business Logic" translate="no">​</a></h2>
<ul>
<li class=""><strong>Market adapter file splitting:</strong> The XML and JSON market adapters now support a <code>split_process_level</code> property, letting large files be split into smaller chunks before processing to avoid timeouts on very large inputs. The existing <code>json_process_level</code> property continues to work as before. Processing of large JSON files is also noticeably faster.</li>
<li class=""><strong>Duplicate datasource fix:</strong> Fixed a rare race during platform scale-up that could process an ingested file twice, creating duplicate datasource tags and audit events.</li>
<li class=""><strong>Datasource tag types preserved:</strong> A standard package update fixes a bug that caused datasource-type tag properties to lose their type (falling back to plain text); dependent rules now behave as expected.</li>
<li class=""><strong>Channel unit type available in BigQuery:</strong> A channel's unit type is now stored on the <code>datasources</code> table in BigQuery, so it can be used in dashboards and advanced search.</li>
<li class=""><strong>Standard validation annotation properties:</strong> Property keys inside annotations written by the standard validation rules are now consistently sentence-cased spaced strings (e.g. <code>Min n of intervals</code>, <code>Previous read value</code>, <code>Maximum allowed value</code>), replacing the previous mix of snake_case, CamelCase, and partially-capitalized labels.</li>
<li class="">Audit events for user group updates now correctly include details when a condition (additional specification) is added, modified, or removed.</li>
<li class=""><strong>Rule framework tag loading:</strong> Fixed an issue where <code>load_tags_multi_datasource</code> in the rule framework incorrectly returned channel properties alongside datasource tags.</li>
<li class=""><strong>ewx-public testing utilities:</strong> Fixed the <code>ewx-public</code> package so it now includes the <code>ewx_public.testing</code> module, restoring the ability to write unit tests for custom flow rules as documented.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-api--permissions">🔐 API &amp; Permissions<a href="https://docs.energyworx.net/release-notes/26.07#-api--permissions" class="hash-link" aria-label="Direct link to 🔐 API &amp; Permissions" title="Direct link to 🔐 API &amp; Permissions" translate="no">​</a></h2>
<ul>
<li class=""><strong>Larger timeseries queries no longer fail:</strong> Wide timeseries queries over multi-year ranges now return their full result instead of failing with a "message too large" (HTTP 429) error — the API accepts responses up to 64 MiB (raised from 4 MiB).</li>
<li class=""><strong>Long-running API requests no longer time out:</strong> Long requests such as wide timeseries queries — whether called directly or through the web UI — now have up to 5 minutes to complete instead of failing with a 502 after ~2–3 minutes.</li>
<li class=""><strong>Correct validation message for Channel Classifiers:</strong> Validating a Channel Classifier's technical name now returns a Channel Classifier error instead of incorrectly referring to a "datasource classifier".</li>
<li class=""><strong>Tag removal now sticks:</strong> Tags sent with <code>removed: true</code> via the API v2 tag service are now saved as removed instead of silently reverting to active.</li>
<li class=""><strong>Tags are searchable immediately:</strong> Tags created through API v2 are indexed for search as soon as they're created, matching API v1 behaviour.</li>
<li class=""><strong>Datasource search with AND / OR:</strong> Searching datasources with boolean operators (e.g. <code>A OR B</code>) now returns the expected results instead of treating the operator as part of the search term.</li>
<li class=""><strong>More reliable datasource listing:</strong> The datasource list endpoint now respects the requested page size and resumes correctly when paging through results. The <code>filter</code> and <code>order_by</code> options — previously accepted but ignored — were removed; use datasource search to filter by name or description.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-documentation-updates">📚 Documentation Updates<a href="https://docs.energyworx.net/release-notes/26.07#-documentation-updates" class="hash-link" aria-label="Direct link to 📚 Documentation Updates" title="Direct link to 📚 Documentation Updates" translate="no">​</a></h2>
<ul>
<li class=""><strong>Documentation Structure Update:</strong> Documentation pages now have clean, stable URLs and every section has an overview page with card-based navigation; old links and bookmarks keep working via redirects. Search results also show a short description for every page.</li>
<li class=""><strong>GCS file upload guide clarified:</strong> Updated the "Uploading files to Energyworx" client integration guide — the Python example now passes the project ID to the storage client, and the <code>curl</code> example uploads the object name verbatim (the object name must not be URL-encoded).</li>
<li class=""><strong>Rule framework batch tag loading:</strong> Added documentation for <code>load_tags_multi_datasource</code>, a rule framework method that retrieves tags for multiple datasources in a single batch call without loading full datasource objects.</li>
<li class=""><strong>Data ingestion guide:</strong> The data ingestion documentation now describes all five ways to get data into the platform - file upload through the file manager, inbound REST, scheduled REST polling, MODBUS headend, and SOAP messaging - with guidance on choosing between them.</li>
<li class=""><strong>Rule code examples:</strong> Updated the custom rule documentation examples to use the current ewx-public package (FlowRule and TransformRule), with the legacy imports still noted as supported.</li>
<li class=""><strong>Chained flow documentation:</strong> The Flow Design guide now documents the bulk chain flow rule and adds a comparison of the chain, bulk chain, and conditional chain flow rules - covering how many datasources each targets, whether they run conditionally, and their decision tree support - so it is clearer when to use each.</li>
<li class=""><strong>ewx-public migration guide:</strong> Expanded the legacy-to-ewx-public import mapping to cover enums, domain models, utility functions and the testing module, and updated the rule code examples across the docs to use the current ewx-public imports.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-notable-backend-changes">🚀 Notable Backend Changes<a href="https://docs.energyworx.net/release-notes/26.07#-notable-backend-changes" class="hash-link" aria-label="Direct link to 🚀 Notable Backend Changes" title="Direct link to 🚀 Notable Backend Changes" translate="no">​</a></h2>
<ul>
<li class=""><strong>Sign-in no longer re-prompts for consent:</strong> Signing in with Google or Microsoft no longer shows the IdP consent/permissions screen on every sign-in. Consent is now requested only the first time (or when a new refresh token is genuinely needed); the platform keeps the upstream refresh token server-side (encrypted) and reuses it on later sign-ins.</li>
<li class=""><strong>Latest datasource view fix:</strong> Datasources with no channel assigned are now correctly included in the latest datasource view.</li>
<li class=""><strong>Datasource update fix:</strong> Updating a datasource with no field changes no longer triggers an unnecessary write, preventing a new datasource version from being created and preserving the original creation timestamp.</li>
<li class=""><strong>Datasource ID case normalization:</strong> Files with datasource IDs in any casing are now correctly matched to existing datasources, preventing duplicate entries or processing failures caused by case mismatches between the submitted ID and the stored ID.</li>
<li class=""><strong>Flow-created channels stay linked to their datasource:</strong> Data a flow writes (derived channels, annotations) now keeps the datasource's original ID, so it no longer gets split from the source datasource by a casing mismatch.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-integration-component">📡 Integration Component<a href="https://docs.energyworx.net/release-notes/26.07#-integration-component" class="hash-link" aria-label="Direct link to 📡 Integration Component" title="Direct link to 📡 Integration Component" translate="no">​</a></h2>
<ul>
<li class=""><strong>Inbound message tag validation fix:</strong> Incoming messages that carry no tags (for example N10 MeasurementSeriesNotification messages) are no longer rejected with the <code>ewx-02: Object missing required field tags</code> validation error; the <code>tags</code> field is now correctly treated as optional and the messages are processed.</li>
<li class=""><strong>SFTP no longer re-uploads processed files:</strong> The SFTP integration now archives a file once it has been collected and forwarded, so the same file is no longer picked up and re-uploaded on every polling cycle.</li>
<li class=""><strong>GLDPM acknowledgement completeness fix:</strong> Acknowledgements returned for incoming GLDPM messages now include the mandatory <code>Reason/text</code> element (alongside <code>Reason/code</code>) and the <code>received_MarketDocument.type</code> element, so market parties can submit revised GLDPM messages that were previously blocked.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="️-ewx-cli">🛠️ ewx-cli<a href="https://docs.energyworx.net/release-notes/26.07#%EF%B8%8F-ewx-cli" class="hash-link" aria-label="Direct link to 🛠️ ewx-cli" title="Direct link to 🛠️ ewx-cli" translate="no">​</a></h2>
<ul>
<li class=""><strong>Namespace display names:</strong> <code>ewx-cli</code> commands now accept a namespace display name (e.g. <code>--namespace integration/automated_testing.dev</code>) in addition to the underlying namespace ID, resolving the name against the namespaces visible to your authenticated user. When a name is ambiguous, an interactive session prompts you to pick the ID; non-interactive runs error out and list the candidates.</li>
<li class=""><strong>Only require relevant permissions:</strong> ewx-cli config commands now check only the permissions for the resources you act on (viewer to read, owner to write) instead of requiring every config-management permission, and <code>--no-deps</code> no longer reads or requires permissions for unrelated dependencies.</li>
<li class=""><strong>Automatic retry on transient errors:</strong> ewx-cli now retries requests that hit transient server-side failures (502/503/504 responses, or a connection reset or timeout before the request reaches the backend) with exponential backoff, so a momentary platform hiccup no longer fails a command outright.</li>
<li class=""><strong>Process monitoring config transfer:</strong> Process monitoring configurations can now be downloaded and copied between namespaces using ewx-cli, removing the need to recreate them manually in the UI when promoting environments or onboarding new namespaces.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="260701">26.07.01<a href="https://docs.energyworx.net/release-notes/26.07#260701" class="hash-link" aria-label="Direct link to 26.07.01" title="Direct link to 26.07.01" translate="no">​</a></h2>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-integration-component-1">📡 Integration Component<a href="https://docs.energyworx.net/release-notes/26.07#-integration-component-1" class="hash-link" aria-label="Direct link to 📡 Integration Component" title="Direct link to 📡 Integration Component" translate="no">​</a></h2>
<ul>
<li class=""><strong>Inbound SFTP duplicate delivery fix:</strong> Successfully processed files are no longer removed from the Redis deduplication set immediately after archiving. Previously this caused duplicate Pub/Sub deliveries arriving within seconds to attempt to re-download an already-archived file, fail with a "file not found" error, and land in the dead-letter queue. Files now remain in the set for the full one-hour TTL so duplicate deliveries are recognised as already processed and skipped cleanly.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="260702">26.07.02<a href="https://docs.energyworx.net/release-notes/26.07#260702" class="hash-link" aria-label="Direct link to 26.07.02" title="Direct link to 26.07.02" translate="no">​</a></h2>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="️-ui-improvements-1">🖥️ UI Improvements<a href="https://docs.energyworx.net/release-notes/26.07#%EF%B8%8F-ui-improvements-1" class="hash-link" aria-label="Direct link to 🖥️ UI Improvements" title="Direct link to 🖥️ UI Improvements" translate="no">​</a></h2>
<ul>
<li class="">The datasource search query and filters are now retained when navigating to a result's Details or Flows and back.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-api--permissions-1">🔐 API &amp; Permissions<a href="https://docs.energyworx.net/release-notes/26.07#-api--permissions-1" class="hash-link" aria-label="Direct link to 🔐 API &amp; Permissions" title="Direct link to 🔐 API &amp; Permissions" translate="no">​</a></h2>
<ul>
<li class=""><strong>Channel classifier consistency:</strong> Channel classifier attributes now behave consistently across API v1 and v2. The technical name is immutable, classifier ids may contain the '+' character, and the per-datasource channel name is optional.</li>
<li class=""><strong>Channel labels:</strong> Charts, tables and the channel list now label a channel by its datasource-specific channel name when set, falling back to the classifier display name and then the technical name.</li>
<li class=""><strong>Fixed access for users with mixed-case email addresses:</strong> Users whose identity provider (e.g. Microsoft Entra) returns their email with capital letters were incorrectly denied access to dashboards and other platform features. Authorization now matches the stored account regardless of email casing.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-notable-backend-changes-1">🚀 Notable Backend Changes<a href="https://docs.energyworx.net/release-notes/26.07#-notable-backend-changes-1" class="hash-link" aria-label="Direct link to 🚀 Notable Backend Changes" title="Direct link to 🚀 Notable Backend Changes" translate="no">​</a></h2>
<ul>
<li class="">Datasource search now correctly returns results when filtering by classifier for newly-added datasources.</li>
<li class=""><strong>Scheduled flow triggers can select datasources by query:</strong> the <code>flow</code> trigger schedule now accepts a <code>datasource_ids_query</code> (a BigQuery <code>SELECT</code> whose first column is a datasource id) as an alternative to a static <code>datasource_ids</code> list, resolved at execution time so the flow runs on whatever datasources currently match — letting a scheduled flow target a dynamic, self-maintaining set (e.g. every datasource whose name starts with a given prefix) with no id list to maintain.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-integration-component-2">📡 Integration Component<a href="https://docs.energyworx.net/release-notes/26.07#-integration-component-2" class="hash-link" aria-label="Direct link to 📡 Integration Component" title="Direct link to 📡 Integration Component" translate="no">​</a></h2>
<ul>
<li class=""><strong>ACK URL lookup fix:</strong> Resolved an issue where acknowledgement-specific URLs configured in the message URL map were silently discarded during URL resolution, causing non-GLDPM acknowledgements to fall back to the default URL and be rejected by the counterparty with a version mismatch.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="260703">26.07.03<a href="https://docs.energyworx.net/release-notes/26.07#260703" class="hash-link" aria-label="Direct link to 26.07.03" title="Direct link to 26.07.03" translate="no">​</a></h2>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="️-custom-business-logic-1">⚙️ Custom Business Logic<a href="https://docs.energyworx.net/release-notes/26.07#%EF%B8%8F-custom-business-logic-1" class="hash-link" aria-label="Direct link to ⚙️ Custom Business Logic" title="Direct link to ⚙️ Custom Business Logic" translate="no">​</a></h2>
<ul>
<li class=""><strong>Rule unit-test helpers restored (<code>standard_test_utils</code>):</strong> The <code>ewx_public.testing</code> module now includes the synthetic-timeseries generators — <code>create_monotonic_series</code>, <code>create_sinusoidal_series</code>, <code>create_seasonal_series</code>, <code>create_register_channels</code> and related helpers — available via <code>from ewx_public.testing import standard_test_utils as stu</code>. These restore the <code>standard_test_utils</code> generators that were previously only shipped with the legacy <code>energyworx_public</code> package, so custom-rule unit tests can build test series without it.</li>
<li class="">Fixed a bug that prevented custom rules and scripts from importing the <code>standard-packages</code> library directly.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="260704">26.07.04<a href="https://docs.energyworx.net/release-notes/26.07#260704" class="hash-link" aria-label="Direct link to 26.07.04" title="Direct link to 26.07.04" translate="no">​</a></h2>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="️-custom-business-logic-2">⚙️ Custom Business Logic<a href="https://docs.energyworx.net/release-notes/26.07#%EF%B8%8F-custom-business-logic-2" class="hash-link" aria-label="Direct link to ⚙️ Custom Business Logic" title="Direct link to ⚙️ Custom Business Logic" translate="no">​</a></h2>
<ul>
<li class=""><strong>Custom rules can be constructed and unit-tested directly (<code>FlowRule</code>):</strong> <code>ewx_public.flow_rule.FlowRule</code> now supports direct construction with keyword arguments, and <code>add_tags</code> records tag mutations onto <code>tag_mutations</code> (keyed by datasource id) exactly as the platform does — so custom-rule tests can build a rule and assert on the tags it produced without a mock.</li>
<li class=""><strong><code>RuleTestCase</code> and datasource mocks restored (<code>standard_test_utils</code>):</strong> <code>ewx_public.testing.standard_test_utils</code> is now a full drop-in for the legacy std-grid module — adding the <code>RuleTestCase</code> base class, <code>mock_datasource_with_tags</code>, and the remaining channel/timeslice helpers — so existing custom-rule test suites migrate with only the import line changing.</li>
<li class=""><strong><code>Tag.to_dict()</code> / <code>TagProperty.to_dict()</code> restored:</strong> <code>Tag</code> and <code>TagProperty</code> in <code>ewx_public</code> can again be serialized back to dictionaries and round-trip through <code>from_dict()</code>, with <code>value_type</code> emitted as a string — letting custom-rule tests assert tag mutations against expected dicts.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-notable-backend-changes-2">🚀 Notable Backend Changes<a href="https://docs.energyworx.net/release-notes/26.07#-notable-backend-changes-2" class="hash-link" aria-label="Direct link to 🚀 Notable Backend Changes" title="Direct link to 🚀 Notable Backend Changes" translate="no">​</a></h2>
<ul>
<li class=""><strong>Datasource <code>unit_type</code> backfill fix:</strong> The 26.07 BigQuery datasource migration now backfills <code>channels.unit_type</code> on existing datasource version rows (preserving channel order), not only on newly-written rows. Previously the column was added but left empty, which blocked upgrading existing clients.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="260705">26.07.05<a href="https://docs.energyworx.net/release-notes/26.07#260705" class="hash-link" aria-label="Direct link to 26.07.05" title="Direct link to 26.07.05" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="platform-bug-fixes">Platform Bug Fixes<a href="https://docs.energyworx.net/release-notes/26.07#platform-bug-fixes" class="hash-link" aria-label="Direct link to Platform Bug Fixes" title="Direct link to Platform Bug Fixes" translate="no">​</a></h3>
<ul>
<li class=""><strong>API tag writes now reach BigQuery:</strong> Fixed an issue where tags created through the API v2 tags endpoint were stored on the datasource but never synced to BigQuery, so they could not be found when querying tag data (for example in analytics or exports). Tags written through the API are now propagated to BigQuery the same way as tags created by flows.</li>
</ul>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Release Notes: Version 26.06]]></title>
        <id>https://docs.energyworx.net/release-notes/26.06</id>
        <link href="https://docs.energyworx.net/release-notes/26.06"/>
        <updated>2026-06-01T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[What's new in Energyworx platform version 26.06: new features, improvements, and fixes.]]></summary>
        <content type="html"><![CDATA[<p><em>Last updated: 26 August 2026</em></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="whats-new-"><strong>What's New</strong> ✨<a href="https://docs.energyworx.net/release-notes/26.06#whats-new-" class="hash-link" aria-label="Direct link to whats-new-" title="Direct link to whats-new-" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="platform-version-in-the-new-console">Platform version in the new console<a href="https://docs.energyworx.net/release-notes/26.06#platform-version-in-the-new-console" class="hash-link" aria-label="Direct link to Platform version in the new console" title="Direct link to Platform version in the new console" translate="no">​</a></h3>
<p>You can now view the platform version directly from the console. This is available in the new console only — the version is shown at the bottom of the left-side menu, and clicking it takes you straight to the matching release notes. Please note that it may take a few hours after a deployment for the version to update.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="ewx-cli-updates">ewx-cli updates<a href="https://docs.energyworx.net/release-notes/26.06#ewx-cli-updates" class="hash-link" aria-label="Direct link to ewx-cli updates" title="Direct link to ewx-cli updates" translate="no">​</a></h3>
<p>This release brings a set of improvements to the <code>ewx-cli</code>:</p>
<ul>
<li class=""><strong>Auto ingestion fix:</strong> <code>ewx-cli config upload --namespace-property market_adapters</code> now merges new entries with the existing dict on the destination namespace instead of overwriting it, and prompts before replacing any colliding keys.</li>
<li class=""><strong>Dashboard group transfer:</strong> <code>ewx-cli config dashboards</code> and <code>ewx-cli config upload_dashboards</code> now accept a <code>--group</code> option that fans the dashboard out to every user in a permission group on the destination namespace.</li>
<li class=""><strong>Unchanged rules:</strong> <code>ewx-cli config upload</code> now labels rules whose display name, description, code, and parameters match the destination as <code>(Unchanged)</code> instead of <code>(Update)</code>, and skips the no-op API call.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="️-ui-improvements">🖥️ UI Improvements<a href="https://docs.energyworx.net/release-notes/26.06#%EF%B8%8F-ui-improvements" class="hash-link" aria-label="Direct link to 🖥️ UI Improvements" title="Direct link to 🖥️ UI Improvements" translate="no">​</a></h2>
<ul>
<li class=""><strong>Chart timezone change:</strong> Switching the chart timezone on the datasource detail view no longer triggers a redundant timeseries refetch, and the localized chart and datapoint table now rebuild correctly on change.</li>
<li class=""><strong>Namespace properties admin-only:</strong> 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 <code>defaults</code> key via the admin API so unrelated namespace properties can no longer be accidentally lost when the page fails to load.</li>
<li class=""><strong>Sticky actions column in Firefox:</strong> Fixed an issue where action buttons in data tables stayed off-screen in Firefox until users scrolled horizontally. They now stick to the right edge alongside the column header, matching the behaviour in Chrome.</li>
<li class=""><strong>Created-on filter for file management:</strong> The "Created on" date filter on the file management page now correctly returns matching files. It was previously returning empty after a recent API change.</li>
<li class=""><strong>API documentation session refresh:</strong> The new console's API Documentation page now refreshes the platform session and transparently retries the request when a "Try it out" call hits an expired session, so the same Execute click returns the real response. Previously the page kept returning unauthorised until a manual reload.</li>
<li class=""><strong>Profiling filter reload fix:</strong> Filter dropdown values in the Profiling view now reload automatically when the time range is switched while a filter is open, instead of remaining empty until the filter is closed and reopened.</li>
<li class=""><strong>Friendly server-error dialog:</strong> When a request to the backend fails with a server-side error, the new console now opens a dialog explaining that the error is on our side and offers a one-click button to copy a debug block (timestamp, request ID, trace IDs, app version, namespace) that users can paste into a support message so we can locate the matching backend logs immediately.</li>
<li class=""><strong>Fix for German language:</strong> Fixed an issue that prevented some German translations from being displayed correctly.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="️-custom-business-logic">⚙️ Custom Business Logic<a href="https://docs.energyworx.net/release-notes/26.06#%EF%B8%8F-custom-business-logic" class="hash-link" aria-label="Direct link to ⚙️ Custom Business Logic" title="Direct link to ⚙️ Custom Business Logic" translate="no">​</a></h2>
<ul>
<li class=""><strong>Process monitoring timezone:</strong> Process monitoring configurations now support a configurable timezone (IANA format, defaults to UTC) that controls when alerts are evaluated and when historical metric snapshots are taken. The timezone setting has been consolidated to the configuration level, replacing the previous per-alert timezone.</li>
<li class=""><strong>Batch datasource and tag loading in rules:</strong> Rule code can now call <code>self.load_multi_datasources(ids)</code> to load multiple datasources in a single batch call, and <code>self.load_tags_multi_datasource(ids)</code> to fetch tags for multiple datasources without loading the full datasource objects.</li>
<li class=""><strong>JSON market adapter performance:</strong> Improved the performance of the JSON market adapter so that it can now handle larger files without timing out during ingestion.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-api--permissions">🔐 API &amp; Permissions<a href="https://docs.energyworx.net/release-notes/26.06#-api--permissions" class="hash-link" aria-label="Direct link to 🔐 API &amp; Permissions" title="Direct link to 🔐 API &amp; Permissions" translate="no">​</a></h2>
<ul>
<li class=""><strong>Classifier ID validation:</strong> The API now rejects channel and datasource classifier IDs containing spaces, dots, or other special characters with a validation error. Only alphanumeric characters, hyphens, and underscores are allowed.</li>
<li class=""><strong>Client credentials user attribution:</strong> User email is now correctly recorded in datasource audit logs and access token subjects when authenticating via client credentials, replacing the opaque client ID that was previously used.</li>
<li class=""><strong>Datasource search filter fix:</strong> Datasource search now returns results when the search filter has leading or trailing spaces.</li>
<li class=""><strong>Empty static value validation:</strong> Creating or updating a transformation configuration with an empty staticValue in any datasource mapping field is no longer allowed. The API now returns a 400 error, and the old console form blocks saving when a static value field is cleared during an update.</li>
<li class=""><strong>IAM group API change:</strong> The <code>userIds</code> field has been removed from group responses and replaced with <code>userCount</code>. This also fixes inflated member counts that occurred when users were removed directly from the system without going through the IAM service.</li>
<li class=""><strong>Default group deletion fix:</strong> Fixed an issue where the default system permission groups could be deleted via the API or UI, which would lock all users in the namespace out of every resource.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-documentation-updates">📚 Documentation Updates<a href="https://docs.energyworx.net/release-notes/26.06#-documentation-updates" class="hash-link" aria-label="Direct link to 📚 Documentation Updates" title="Direct link to 📚 Documentation Updates" translate="no">​</a></h2>
<ul>
<li class=""><strong>Search help cleanup:</strong> Updated the search help sheet in both consoles to match what the backend actually supports — removed the outdated "Search suggestions" and "Multi-value queries" blocks, dropped the unsupported <code>NOT</code> and <code>&gt;</code> / <code>&gt;=</code> operator examples, and corrected the AND/OR precedence note (OR binds tighter than AND).</li>
<li class=""><strong>Shared package versions:</strong> Documented that customer-facing package versions (<code>ewx-cli</code>, <code>ewx-public</code>, <code>pytest-bdd-ewx</code>) follow the platform release version (e.g. platform 26.03 ships package version 26.3.0), and corrected the stale install example on the ewx-cli page.</li>
<li class=""><strong>ewx-public install docs:</strong> Corrected version references in the ewx-public package installation guide from 26.2.0 to 26.3.0.</li>
<li class=""><strong>How to upload files to GCS:</strong> Added a guide on how to upload files to a GCS bucket, describing the process for multiple scenarios.</li>
<li class=""><strong>Inbound integration service docs:</strong> Updated the inbound REST integration service documentation to use the correct per-environment endpoint URL format, removing outdated references.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-notable-backend-changes">🚀 Notable Backend Changes<a href="https://docs.energyworx.net/release-notes/26.06#-notable-backend-changes" class="hash-link" aria-label="Direct link to 🚀 Notable Backend Changes" title="Direct link to 🚀 Notable Backend Changes" translate="no">​</a></h2>
<ul>
<li class="">⚠️ <strong>In-house identity provider:</strong> We have migrated the platform's authentication from Google Firebase to an in-house identity solution. This is a behind-the-scenes change to how sign-in is handled and should not impact most users. However, if you sign in with Microsoft or SAML, additional configuration steps may be required.</li>
<li class=""><strong>Timeseries aggregation timestamp fix:</strong> Fixed an issue where aggregated timeseries events had timestamps in seconds instead of milliseconds, causing datasources to be stored with incorrect timestamps.</li>
<li class=""><strong>Large CSV ingestion fix:</strong> CSV ingestions that resolve more than 500 datasources per payload now succeed reliably; the datasource lookup is fanned out to Bigtable in batches instead of a single request that could time out. Payloads referencing more than 1,000 datasources also emit a warning audit event suggesting the user set <code>datasource_id_columns</code> on the market adapter or split the input file.</li>
<li class=""><strong>Enhanced security hardening — Cloud Armor WAF:</strong> 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.</li>
<li class=""><strong>Split column fix:</strong> Fixed a bug that prevented the <em>split column</em> function in transformation configurations from working in some namespaces. This functionality now works correctly out of the box, upon namespace creation.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="260601">26.06.01<a href="https://docs.energyworx.net/release-notes/26.06#260601" class="hash-link" aria-label="Direct link to 26.06.01" title="Direct link to 26.06.01" translate="no">​</a></h2>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="️-custom-business-logic-1">⚙️ Custom Business Logic<a href="https://docs.energyworx.net/release-notes/26.06#%EF%B8%8F-custom-business-logic-1" class="hash-link" aria-label="Direct link to ⚙️ Custom Business Logic" title="Direct link to ⚙️ Custom Business Logic" translate="no">​</a></h2>
<ul>
<li class=""><strong>Market adapter audit events:</strong> Datasources created or updated through the market adapter v2 now correctly emit audit events, ensuring a complete audit trail for all datasource changes.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-integration-component">📡 Integration Component<a href="https://docs.energyworx.net/release-notes/26.06#-integration-component" class="hash-link" aria-label="Direct link to 📡 Integration Component" title="Direct link to 📡 Integration Component" translate="no">​</a></h2>
<ul>
<li class=""><strong>GLDPM acknowledgement matching fix:</strong> Resolved a bug where outbound GLDPM messages were not being correctly matched to their returning acknowledgements,
causing the integration to be unable to confirm whether a GLDPM submission was accepted or rejected by the counterparty.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="260602">26.06.02<a href="https://docs.energyworx.net/release-notes/26.06#260602" class="hash-link" aria-label="Direct link to 26.06.02" title="Direct link to 26.06.02" translate="no">​</a></h2>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="️-custom-business-logic-2">⚙️ Custom Business Logic<a href="https://docs.energyworx.net/release-notes/26.06#%EF%B8%8F-custom-business-logic-2" class="hash-link" aria-label="Direct link to ⚙️ Custom Business Logic" title="Direct link to ⚙️ Custom Business Logic" translate="no">​</a></h2>
<ul>
<li class=""><strong>Large flow output files:</strong> Fixed issue where additional output files around 10MB or larger would fail the flow. Now larger file sizes are supported by the additional output functionality.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-integration-component-1">📡 Integration Component<a href="https://docs.energyworx.net/release-notes/26.06#-integration-component-1" class="hash-link" aria-label="Direct link to 📡 Integration Component" title="Direct link to 📡 Integration Component" translate="no">​</a></h2>
<ul>
<li class=""><strong>Large custom Pub/Sub payloads:</strong> Offloaded large payloads published via <code>publish_to_custom_pubsub_topic</code> now retain their original message attributes when delivered to EnergyWorx integration services, so downstream consumers receive the same metadata as for non-offloaded messages.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="260603">26.06.03<a href="https://docs.energyworx.net/release-notes/26.06#260603" class="hash-link" aria-label="Direct link to 26.06.03" title="Direct link to 26.06.03" translate="no">​</a></h2>
<ul>
<li class=""><strong>Cloud NAT static IP allocation:</strong> Environments that require stable outbound IP addresses (e.g. for client-side firewall whitelisting) can now be configured with reserved static external IPs for Cloud NAT, replacing automatic IP allocation. This prevents unwhitelisted IPs from being assigned during high-load events or deployments.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="platform-bug-fixes">Platform Bug Fixes<a href="https://docs.energyworx.net/release-notes/26.06#platform-bug-fixes" class="hash-link" aria-label="Direct link to Platform Bug Fixes" title="Direct link to Platform Bug Fixes" translate="no">​</a></h3>
<ul>
<li class=""><strong>Flow chaining fix:</strong> Fixed an issue where bulk chain flows could silently fail to trigger downstream flows due to incorrect Datastore key type resolution.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-integration-component-2">📡 Integration Component<a href="https://docs.energyworx.net/release-notes/26.06#-integration-component-2" class="hash-link" aria-label="Direct link to 📡 Integration Component" title="Direct link to 📡 Integration Component" translate="no">​</a></h2>
<ul>
<li class=""><strong>Inbound acknowledgement routing fix:</strong> Acknowledgements for incoming SOAP messages are now sent to the correct acknowledgement endpoint rather than the notification endpoint, preventing counterparties from rejecting them with a validation error and leaving messages stuck in a retry loop.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="260604">26.06.04<a href="https://docs.energyworx.net/release-notes/26.06#260604" class="hash-link" aria-label="Direct link to 26.06.04" title="Direct link to 26.06.04" translate="no">​</a></h2>
<p><strong>ewx-public testing utilities:</strong> Fixed the <code>ewx-public</code> package so it now includes the <code>ewx_public.testing</code> module, restoring the ability to write unit tests for custom flow rules as documented.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-integration-component-3">📡 Integration Component<a href="https://docs.energyworx.net/release-notes/26.06#-integration-component-3" class="hash-link" aria-label="Direct link to 📡 Integration Component" title="Direct link to 📡 Integration Component" translate="no">​</a></h2>
<ul>
<li class=""><strong>SFTP no longer re-uploads processed files:</strong> The SFTP integration now archives a file once it has been collected and forwarded, so the same file is no longer picked up and re-uploaded on every polling cycle.</li>
<li class=""><strong>Inbound SFTP duplicate delivery fix:</strong> Successfully processed files are no longer removed from the Redis deduplication set immediately after archiving. Previously this caused duplicate Pub/Sub deliveries arriving within seconds to attempt to re-download an already-archived file, fail with a "file not found" error, and land in the dead-letter queue. Files now remain in the set for the full one-hour TTL so duplicate deliveries are recognised as already processed and skipped cleanly.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="260605">26.06.05<a href="https://docs.energyworx.net/release-notes/26.06#260605" class="hash-link" aria-label="Direct link to 26.06.05" title="Direct link to 26.06.05" translate="no">​</a></h2>
<ul>
<li class=""><strong>Staging/production sign-in fix:</strong> Being signed in to a production environment no longer logs you out of its staging environment (and vice versa) when the staging site runs on a subdomain of the production site. The two sessions are now kept completely separate and no longer interfere. (<a href="https://energyworx.atlassian.net/browse/EWXDEV-16488" target="_blank" rel="noopener noreferrer" class="">EWXDEV-16488</a>)</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-integration-component-4">📡 Integration Component<a href="https://docs.energyworx.net/release-notes/26.06#-integration-component-4" class="hash-link" aria-label="Direct link to 📡 Integration Component" title="Direct link to 📡 Integration Component" translate="no">​</a></h2>
<ul>
<li class=""><strong>Outbound SFTP delivery failures now raise tasks:</strong> A file that fails to reach an outbound SFTP server now always creates a task on the configured board, including for message types generated by processing rules that carry no message ID. Previously those failures were silently discarded — the task creation was rejected and the message acknowledged — so no task or alert was raised for an undelivered file.</li>
<li class=""><strong>ACK URL lookup fix:</strong> Resolved an issue where acknowledgement-specific URLs configured in the message URL map were silently discarded during URL resolution, causing non-GLDPM acknowledgements to fall back to the default URL and be rejected by the counterparty with a version mismatch.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="260606">26.06.06<a href="https://docs.energyworx.net/release-notes/26.06#260606" class="hash-link" aria-label="Direct link to 26.06.06" title="Direct link to 26.06.06" translate="no">​</a></h2>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="️-custom-business-logic-3">⚙️ Custom Business Logic<a href="https://docs.energyworx.net/release-notes/26.06#%EF%B8%8F-custom-business-logic-3" class="hash-link" aria-label="Direct link to ⚙️ Custom Business Logic" title="Direct link to ⚙️ Custom Business Logic" translate="no">​</a></h2>
<ul>
<li class=""><strong>Rule unit-test helpers restored (<code>standard_test_utils</code>):</strong> The <code>ewx_public.testing</code> module now includes the synthetic-timeseries generators — <code>create_monotonic_series</code>, <code>create_sinusoidal_series</code>, <code>create_seasonal_series</code>, <code>create_register_channels</code> and related helpers — available via <code>from ewx_public.testing import standard_test_utils as stu</code>. These restore the <code>standard_test_utils</code> generators that were previously only shipped with the legacy <code>energyworx_public</code> package, so custom-rule unit tests can build test series without it.</li>
<li class="">Fixed a bug that prevented custom rules and scripts from importing the <code>standard-packages</code> library directly.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="260607">26.06.07<a href="https://docs.energyworx.net/release-notes/26.06#260607" class="hash-link" aria-label="Direct link to 26.06.07" title="Direct link to 26.06.07" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="platform-bug-fixes-1">Platform Bug Fixes<a href="https://docs.energyworx.net/release-notes/26.06#platform-bug-fixes-1" class="hash-link" aria-label="Direct link to Platform Bug Fixes" title="Direct link to Platform Bug Fixes" translate="no">​</a></h3>
<ul>
<li class=""><strong>API tag writes now reach BigQuery:</strong> Fixed an issue where tags created through the API v2 tags endpoint were stored on the datasource but never synced to BigQuery, so they could not be found when querying tag data (for example in analytics or exports). Tags written through the API are now propagated to BigQuery the same way as tags created by flows.</li>
</ul>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Release Notes: Version 26.05]]></title>
        <id>https://docs.energyworx.net/release-notes/26.05</id>
        <link href="https://docs.energyworx.net/release-notes/26.05"/>
        <updated>2026-05-04T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[What's new in Energyworx platform version 26.05: new features, improvements, and fixes.]]></summary>
        <content type="html"><![CDATA[<p><em>Last updated: 16 July 2026</em></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="whats-new-"><strong>What's New</strong> ✨<a href="https://docs.energyworx.net/release-notes/26.05#whats-new-" class="hash-link" aria-label="Direct link to whats-new-" title="Direct link to whats-new-" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="trigger-schedules-from-flows">Trigger schedules from Flows<a href="https://docs.energyworx.net/release-notes/26.05#trigger-schedules-from-flows" class="hash-link" aria-label="Direct link to Trigger schedules from Flows" title="Direct link to Trigger schedules from Flows" translate="no">​</a></h3>
<p>It is now possible to start trigger schedules from a flow, via the newly added function <code>execute_trigger_schedule</code>. For more details please check out our documentation <a class="" href="https://docs.energyworx.net/platform/data-processing/custom-business-logic/custom-rules/rule-framework-functions">here</a>.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="new-ui-pages-available-in-beta">New UI pages available in Beta<a href="https://docs.energyworx.net/release-notes/26.05#new-ui-pages-available-in-beta" class="hash-link" aria-label="Direct link to New UI pages available in Beta" title="Direct link to New UI pages available in Beta" translate="no">​</a></h3>
<p>Additional pages are now available in the new console for Beta users:</p>
<ul>
<li class=""><strong>File Management, Market Adapters, and Transformation Configurations</strong></li>
<li class=""><strong>Channel Classifiers, Datasource Classifiers, and Trigger Schedules</strong></li>
</ul>
<p>Notable improvements that ship with these pages:</p>
<ul>
<li class=""><strong>Auto-ingestion property on Market Adapters:</strong> You can now configure the <code>market_adapters</code> property for auto ingestion directly from the Market Adapter page in the new console.</li>
<li class=""><strong>Load a file from a Transformation Configuration:</strong> 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).</li>
<li class=""><strong>SQL formatting for Trigger Schedule queries:</strong> Trigger Schedule queries are now displayed with SQL syntax formatting, making them easier to read and review.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="️-mdm--datasource-and-flow-api-v2-services-merged">⚠️ MDM — Datasource and Flow API V2 services merged<a href="https://docs.energyworx.net/release-notes/26.05#%EF%B8%8F-mdm--datasource-and-flow-api-v2-services-merged" class="hash-link" aria-label="Direct link to ⚠️ MDM — Datasource and Flow API V2 services merged" title="Direct link to ⚠️ MDM — Datasource and Flow API V2 services merged" translate="no">​</a></h3>
<p>The Datasource and Flow API V2 services have been merged into a single <strong>MDM (Meter Data Management)</strong> service.</p>
<ul>
<li class=""><strong>URL change:</strong>
<ul>
<li class="">Before: <code>datasource.&lt;project&gt;.ewxapis.com</code> / <code>flow.&lt;project&gt;.ewxapis.com</code></li>
<li class="">After: <code>mdm.&lt;project&gt;.ewxapis.com</code></li>
</ul>
</li>
<li class=""><strong>API version change:</strong>
<ul>
<li class="">Before: <code>/v1alpha1/</code></li>
<li class="">After: <code>/v1/</code></li>
</ul>
</li>
<li class=""><strong>What to update:</strong> Replace <code>datasource</code> or <code>flow</code> in the hostname with <code>mdm</code>, and replace <code>/v1alpha1/</code> with <code>/v1/</code> in all request paths.</li>
<li class=""><strong>Affected endpoints:</strong> Datasources, Datasource Classifiers, Channel Classifiers, Channel Families, Computed Flags, Flow Designs, Tags, Timeseries, Profiling.</li>
<li class=""><strong>Not affected:</strong> Identity, Process Monitoring, and Market Adapter services remain on their existing hostnames with <code>/v1alpha1/</code>.</li>
<li class=""><strong>Increased downtime after deployment:</strong> 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.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="️-deprecation-notice">⚠️ Deprecation Notice<a href="https://docs.energyworx.net/release-notes/26.05#%EF%B8%8F-deprecation-notice" class="hash-link" aria-label="Direct link to ⚠️ Deprecation Notice" title="Direct link to ⚠️ Deprecation Notice" translate="no">​</a></h2>
<ul>
<li class=""><strong>Channel Flows:</strong> Channel Flows are deprecated as of 26.05 and will be removed in release <strong>26.11</strong>. 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.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="️-ui-improvements">🖥️ UI Improvements<a href="https://docs.energyworx.net/release-notes/26.05#%EF%B8%8F-ui-improvements" class="hash-link" aria-label="Direct link to 🖥️ UI Improvements" title="Direct link to 🖥️ UI Improvements" translate="no">​</a></h2>
<ul>
<li class=""><strong>Project documentation (Preview):</strong> 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 <code>ewx-cli</code>. More information can be found <a class="" href="https://docs.energyworx.net/platform/administration-and-api/project-documentation">here</a>. The feature ships in preview; shape and lifecycle may still change.</li>
<li class=""><strong>Profiling filters fix:</strong> Fixed the issue which caused profiling filters to disappear.</li>
<li class=""><strong>File Management search:</strong> Now, the filter by day respects the user's local timezone and searches for files within that day in the user's local timezone.</li>
<li class=""><strong>User settings respected on Datasource Detail page:</strong> 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.</li>
<li class=""><strong>Date picker cursor fix:</strong> 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.</li>
<li class=""><strong>Chart zoom on large datasets:</strong> 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).</li>
<li class=""><strong>KB / Service Desk duplicate tabs:</strong> 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.</li>
<li class=""><strong>Tag property keys are now read-only:</strong> 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.</li>
<li class=""><strong>Sign out redirection with beta features:</strong> Fixed an issue which prevented correct redirection when signing out from the new console with beta features enabled.</li>
<li class=""><strong>New console sign in page background:</strong> Added a new background to the new console sign in page.</li>
<li class=""><strong>Datapoints clickable in "Show flags" mode:</strong> 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.</li>
<li class=""><strong>"Last edited" field accuracy:</strong> Fixed an issue when retrieving timeseries edits that occurred when the same timestamp had edits for different channels with different versions.</li>
<li class=""><strong>First-time login fix:</strong> Fixed an issue that prevented newly whitelisted accounts from logging in to the new console for the first time.</li>
<li class=""><strong>Adblocker info message on Process Monitoring page:</strong> Added a message to Process Monitoring when there is an error advising the user to check for adblocker usage.</li>
<li class=""><strong>German language support:</strong> Added support for the German language in the platform.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="️-custom-business-logic">⚙️ Custom Business Logic<a href="https://docs.energyworx.net/release-notes/26.05#%EF%B8%8F-custom-business-logic" class="hash-link" aria-label="Direct link to ⚙️ Custom Business Logic" title="Direct link to ⚙️ Custom Business Logic" translate="no">​</a></h2>
<ul>
<li class=""><strong>Timezone comparison fixes in rule framework:</strong> Resolved timezone-naive vs offset-aware datetime comparison errors in two code paths: filtering timeslice groups by <code>start</code> or <code>end</code>, and <code>get_active_tag_versions</code> when tag <code>valid_from</code> is timezone-naive. Timezone-naive objects are now converted to timezone-aware before comparison.</li>
<li class=""><strong>Chain rules created upon namespace creation:</strong> The <code>conditional_chain_flow</code> and <code>bulk_chain_flow</code> rules are now created automatically when a new namespace is added. This was previously only true for the <code>chain_flow</code>.</li>
<li class=""><strong>Tag validation:</strong> Added validation for tag property values across two paths: when stored via the rule framework (raising a <code>ValueError</code> 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).</li>
<li class=""><strong>ML prediction restored for FlowRule:</strong> The <code>get_prediction()</code> and <code>promote_model()</code> methods are available again on <code>FlowRule</code>.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-api--permissions">🔐 API &amp; Permissions<a href="https://docs.energyworx.net/release-notes/26.05#-api--permissions" class="hash-link" aria-label="Direct link to 🔐 API &amp; Permissions" title="Direct link to 🔐 API &amp; Permissions" translate="no">​</a></h2>
<ul>
<li class=""><strong>File storage datetime search:</strong> 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.</li>
<li class=""><strong>Client credentials creation:</strong> Fixed an issue where users could only create client credentials when they were whitelisted to the <code>energyworx.org</code> namespace. Any whitelisted user can now create client credentials for themselves.</li>
<li class=""><strong>Datapoint versions on continuous flows:</strong> Fixed an issue that prevented the creation of a new datapoint version when editing a datapoint via API v2 on a continuous flow.</li>
<li class=""><strong>Datasource fields after Flow runs via APIv2:</strong> Fixed an issue that was causing the datasource to be updated with wrong information when triggering a Flow through APIv2.</li>
<li class=""><strong>Editable DPA enforcement on NUI / API v2:</strong> Fixed an issue that was allowing edit of DPAs even when the DPA was explicitly set to not be editable.</li>
<li class=""><strong>Datasource IDs accept dashes:</strong> Datasource IDs may now contain dashes (<code>-</code>).</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="️-ewx-cli">🛠️ ewx-cli<a href="https://docs.energyworx.net/release-notes/26.05#%EF%B8%8F-ewx-cli" class="hash-link" aria-label="Direct link to 🛠️ ewx-cli" title="Direct link to 🛠️ ewx-cli" translate="no">​</a></h2>
<ul>
<li class=""><strong>Dashboard transfer auto-remap:</strong> 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 <a class="" href="https://docs.energyworx.net/packages/ewx-cli/overview">here</a>.</li>
<li class=""><strong>Transactional config uploads with rollback:</strong> <code>config upload</code> 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.</li>
<li class=""><strong>dashboards fix:</strong> Fixed a crash in <code>config dashboards</code> that caused an <code>AttributeError: 'tuple' object has no attribute 'iter_all_pages'</code>. The command now correctly unpacks the client tuple returned by <code>create_client()</code>.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-documentation-updates">📚 Documentation Updates<a href="https://docs.energyworx.net/release-notes/26.05#-documentation-updates" class="hash-link" aria-label="Direct link to 📚 Documentation Updates" title="Direct link to 📚 Documentation Updates" translate="no">​</a></h2>
<ul>
<li class=""><strong>APIv1 documentation — clearer button label:</strong> The button in the APIv1 documentation now reads <strong>Execute</strong> instead of <strong>Try it out</strong>, making it explicit that the button executes the command.</li>
<li class=""><strong>Customer onboarding &amp; ewx-public testing framework:</strong> Added in-depth documentation about how to work with the <code>ewx-public</code> testing framework for developing flow and transform rules.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-notable-backend-changes">🚀 Notable Backend Changes<a href="https://docs.energyworx.net/release-notes/26.05#-notable-backend-changes" class="hash-link" aria-label="Direct link to 🚀 Notable Backend Changes" title="Direct link to 🚀 Notable Backend Changes" translate="no">​</a></h2>
<ul>
<li class=""><strong>Python dependency security update:</strong> Updated urllib3 across all platform services to address a known vulnerability.</li>
<li class=""><strong>Base image security updates:</strong> Updated container base images across all platform services to resolve HIGH and CRITICAL OS-level vulnerabilities identified by security scanning.</li>
<li class=""><strong>Gateway security updates:</strong> Upgraded key dependencies in the API gateway to patch three known vulnerabilities (CVE-2025-30204, CVE-2025-46569, CVE-2025-22868).</li>
<li class=""><strong>Infrastructure security hardening:</strong> Resolved multiple GCP Security Command Center findings by tightening network access controls and Terraform resource configurations on the platform infrastructure.</li>
<li class=""><strong>Improved reliability of data processing pipeline:</strong> 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:<!-- -->
<ul>
<li class="">More consistent end-to-end processing latency, especially during high-volume ingestion.</li>
<li class="">Fewer cases where a single file appears "stuck" while others around it complete normally.</li>
</ul>
</li>
<li class=""><strong>Trace ID propagation:</strong> Trace IDs are now propagated through all processing and API components (Python and Go), making it easier to track messages through the entire system.</li>
<li class=""><strong>User &amp; namespace context in API logs:</strong> API request logs now include user and namespace information on all log entries, enabling easier filtering and tracing of individual user requests.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-integration-component">📡 Integration Component<a href="https://docs.energyworx.net/release-notes/26.05#-integration-component" class="hash-link" aria-label="Direct link to 📡 Integration Component" title="Direct link to 📡 Integration Component" translate="no">​</a></h2>
<ul>
<li class=""><strong>SEL meter aggregate values fix:</strong> 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 <code>umic_com_001</code>.</li>
<li class=""><strong>Outbound acknowledgement tags fix:</strong> Tags on acknowledgement files uploaded to GCS were incorrectly populated from the original inbound message fields (<code>senderId</code>, <code>creationTimestamp</code>, <code>messageId</code>). The fields are now overridden with the ACK's own metadata before forwarding to the file service.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="260501">26.05.01<a href="https://docs.energyworx.net/release-notes/26.05#260501" class="hash-link" aria-label="Direct link to 26.05.01" title="Direct link to 26.05.01" translate="no">​</a></h2>
<ul>
<li class=""><strong>Audit Events schema compatibility:</strong> 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.</li>
<li class=""><strong>Search indexing for market adapter datasources:</strong> Fixed a bug where datasources created or updated by pluggable market adapters were never published to the search index.</li>
<li class=""><strong>pyarrow in prepare-payload image:</strong> Added an explicit <code>import pyarrow</code> 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.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="260502">26.05.02<a href="https://docs.energyworx.net/release-notes/26.05#260502" class="hash-link" aria-label="Direct link to 26.05.02" title="Direct link to 26.05.02" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="platform-bug-fixes">Platform Bug Fixes<a href="https://docs.energyworx.net/release-notes/26.05#platform-bug-fixes" class="hash-link" aria-label="Direct link to Platform Bug Fixes" title="Direct link to Platform Bug Fixes" translate="no">​</a></h3>
<ul>
<li class=""><strong><code>get_active_tag_versions</code> fix:</strong> Fixed a timezone comparison error. The function now ensures all returned tags utilize timezone-aware "valid from" timestamps.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="260503">26.05.03<a href="https://docs.energyworx.net/release-notes/26.05#260503" class="hash-link" aria-label="Direct link to 26.05.03" title="Direct link to 26.05.03" translate="no">​</a></h2>
<ul>
<li class=""><strong>SOAP list URL routing fix:</strong> Fixed an issue where SOAP integrations configured with a dedicated <code>list</code> URL in the URL map would incorrectly route requests to the default URL instead.</li>
<li class=""><strong>SOAP MetaData header fix:</strong> Resolved an issue where SOAP requests for the <code>MetaData</code> message type incorrectly included a <code>Content-Type</code> header, causing those requests to fail.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="security-improvements">Security Improvements<a href="https://docs.energyworx.net/release-notes/26.05#security-improvements" class="hash-link" aria-label="Direct link to Security Improvements" title="Direct link to Security Improvements" translate="no">​</a></h3>
<p>* <strong>Enhanced security hardening — Cloud Armor WAF:</strong> 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.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="260504">26.05.04<a href="https://docs.energyworx.net/release-notes/26.05#260504" class="hash-link" aria-label="Direct link to 26.05.04" title="Direct link to 26.05.04" translate="no">​</a></h2>
<ul>
<li class=""><strong>Namespace properties admin-only:</strong> 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 <code>defaults</code> key via the admin API so unrelated namespace properties can no longer be accidentally lost when the page fails to load.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="260505">26.05.05<a href="https://docs.energyworx.net/release-notes/26.05#260505" class="hash-link" aria-label="Direct link to 26.05.05" title="Direct link to 26.05.05" translate="no">​</a></h2>
<ul>
<li class=""><strong>Flow chaining fix:</strong> Fixed an issue where bulk chain flows could silently fail to trigger downstream flows due to incorrect Datastore key type resolution.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="260506">26.05.06<a href="https://docs.energyworx.net/release-notes/26.05#260506" class="hash-link" aria-label="Direct link to 26.05.06" title="Direct link to 26.05.06" translate="no">​</a></h2>
<p><strong>ewx-public testing utilities:</strong> Fixed the <code>ewx-public</code> package so it now includes the <code>ewx_public.testing</code> module, restoring the ability to write unit tests for custom flow rules as documented.</p>
<ul>
<li class=""><strong>Datasource OR/AND search fix:</strong> Searching for multiple datasource IDs using boolean operators (for example, <code>A OR B</code>) now returns the expected results in the OUI datasource search bar. Note: mixed operators (e.g. <code>A OR B AND C</code>) are not yet fully supported and will be improved in a future release.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="260507">26.05.07<a href="https://docs.energyworx.net/release-notes/26.05#260507" class="hash-link" aria-label="Direct link to 26.05.07" title="Direct link to 26.05.07" translate="no">​</a></h2>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="️-custom-business-logic-1">⚙️ Custom Business Logic<a href="https://docs.energyworx.net/release-notes/26.05#%EF%B8%8F-custom-business-logic-1" class="hash-link" aria-label="Direct link to ⚙️ Custom Business Logic" title="Direct link to ⚙️ Custom Business Logic" translate="no">​</a></h2>
<ul>
<li class=""><strong>Rule unit-test helpers restored (<code>standard_test_utils</code>):</strong> The <code>ewx_public.testing</code> module now includes the synthetic-timeseries generators — <code>create_monotonic_series</code>, <code>create_sinusoidal_series</code>, <code>create_seasonal_series</code>, <code>create_register_channels</code> and related helpers — available via <code>from ewx_public.testing import standard_test_utils as stu</code>. These restore the <code>standard_test_utils</code> generators that were previously only shipped with the legacy <code>energyworx_public</code> package, so custom-rule unit tests can build test series without it.</li>
<li class="">Fixed a bug that prevented custom rules and scripts from importing the <code>standard-packages</code> library directly.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="260508">26.05.08<a href="https://docs.energyworx.net/release-notes/26.05#260508" class="hash-link" aria-label="Direct link to 26.05.08" title="Direct link to 26.05.08" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="platform-bug-fixes-1">Platform Bug Fixes<a href="https://docs.energyworx.net/release-notes/26.05#platform-bug-fixes-1" class="hash-link" aria-label="Direct link to Platform Bug Fixes" title="Direct link to Platform Bug Fixes" translate="no">​</a></h3>
<ul>
<li class=""><strong>API tag writes now reach BigQuery:</strong> Fixed an issue where tags created through the API v2 tags endpoint were stored on the datasource but never synced to BigQuery, so they could not be found when querying tag data (for example in analytics or exports). Tags written through the API are now propagated to BigQuery the same way as tags created by flows.</li>
</ul>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Release Notes: Version 26.04]]></title>
        <id>https://docs.energyworx.net/release-notes/26.04</id>
        <link href="https://docs.energyworx.net/release-notes/26.04"/>
        <updated>2026-04-06T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[What's new in Energyworx platform version 26.04: new features, improvements, and fixes.]]></summary>
        <content type="html"><![CDATA[<p><em>Last updated: 16 July 2026</em></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="whats-new-"><strong>What's New</strong> ✨<a href="https://docs.energyworx.net/release-notes/26.04#whats-new-" class="hash-link" aria-label="Direct link to whats-new-" title="Direct link to whats-new-" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="ewx-public-package">ewx-public package:<a href="https://docs.energyworx.net/release-notes/26.04#ewx-public-package" class="hash-link" aria-label="Direct link to ewx-public package:" title="Direct link to ewx-public package:" translate="no">​</a></h3>
<p>Introduced a new package called <code>ewx-public</code> that contains all models and service stubs needed to develop and test rules outside the Energyworx platform. To learn more, check out our documentation <a href="https://docs.energyworx.net/platform/data-processing/custom-business-logic/custom-rules/ewx-public-package">here</a>.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="updated-search">Updated Search<a href="https://docs.energyworx.net/release-notes/26.04#updated-search" class="hash-link" aria-label="Direct link to Updated Search" title="Direct link to Updated Search" translate="no">​</a></h3>
<p>The datasource search service has been modernized, delivering faster searches and improved reliability. As a bonus, full re-syncs now complete in minutes instead of hours.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="️-deprecation-notice">⚠️ Deprecation Notice<a href="https://docs.energyworx.net/release-notes/26.04#%EF%B8%8F-deprecation-notice" class="hash-link" aria-label="Direct link to ⚠️ Deprecation Notice" title="Direct link to ⚠️ Deprecation Notice" translate="no">​</a></h2>
<ul>
<li class=""><strong>Legacy API URL:</strong> The <code>api.&lt;short_env_id&gt;.energyworx.net</code> URL format is officially deprecated and will be deactivated in release 26.10. All integrations must migrate to the new <code>ah.&lt;full_env_id&gt;.ewxapis.com</code> format. Please reach out through our Service Desk if you have any questions regarding this change.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="️-ui-improvements">🖥️ UI Improvements<a href="https://docs.energyworx.net/release-notes/26.04#%EF%B8%8F-ui-improvements" class="hash-link" aria-label="Direct link to 🖥️ UI Improvements" title="Direct link to 🖥️ UI Improvements" translate="no">​</a></h2>
<ul>
<li class=""><strong>New sign in page:</strong> The platform's sign in page has been updated to only show the default sign-in option. This is to avoid confusion between which provider to use - other options are available by clicking 'other sign-in options'</li>
<li class=""><strong>Simplified login:</strong> Removed the unsupported sign-up option to create a cleaner interface; this update has no impact on existing user functionality.</li>
<li class=""><strong>Expanded list views:</strong> Added support for loading 250 and 500 items at a time across all relevant list views in the platform.</li>
<li class=""><strong>Future tag deletion:</strong> Fixed a bug which prevented tags with a valid_from date in the future to be successfully deleted directly from the console.</li>
<li class=""><strong>Multiple transform rules:</strong> Resolved a UI limitation to allow multiple transform rules to be added to a single field in a Transformation Configuration. This was previously only possible via API.</li>
<li class=""><strong>Tag date formatting:</strong> Fixed a validation issue in the new console that caused invalid formatting when updating a tag's valid_from field.</li>
<li class=""><strong>Timezones in Advanced Search:</strong> Resolved a bug in Advanced Search that prevented localized timezones from displaying correctly in the frontend.</li>
<li class=""><strong>Annotation edit tracking:</strong> Fixed an issue where annotation edits were not correctly rendering in the "last edited" column within the new console.</li>
<li class=""><strong>User status accuracy:</strong> Updated the namespace user list to correctly display disabled users as "Inactive" instead of "Active."</li>
<li class=""><strong>First-time new console login fix:</strong> Fixed an issue that prevented newly whitelisted users from logging into the new console for the first time.</li>
<li class=""><strong>Audit Event performance:</strong> Optimized query performance for Audit Events within the new and original console to resolve loading delays in high-volume environments.</li>
<li class=""><strong>Audit Event search fix:</strong> Resolved a bug that prevented the system from finding audit events when search requests included single quotes.</li>
<li class=""><strong>Rule Profiler filtering:</strong> Fixed an issue where the Flow ID and Sequence ID filters were non-functional within the Rule Profiler interface as well as an issue which caused filters to not appear.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="️-custom-business-logic">⚙️ Custom Business Logic<a href="https://docs.energyworx.net/release-notes/26.04#%EF%B8%8F-custom-business-logic" class="hash-link" aria-label="Direct link to ⚙️ Custom Business Logic" title="Direct link to ⚙️ Custom Business Logic" translate="no">​</a></h2>
<ul>
<li class="">
<p><strong>Transform Rule error handling:</strong> Enhanced generic exception error messages in Transform Rules to provide clearer context for troubleshooting.</p>
</li>
<li class="">
<p><strong>Merged Column fix:</strong> Fixed bug which prevented 'Merged Column' function in Transformation Configurations from working.</p>
</li>
<li class="">
<p><strong>Tag type fix:</strong> Fixed issue which prevented tags of type 'link' and 'date' to be configured in a Transformation Configuration</p>
</li>
<li class="">
<p><strong>Rule validation accuracy:</strong> Fixed a bug that returned an incorrect error message when attempting to save a rule where the technical name and class name did not match.</p>
</li>
<li class="">
<p><strong>Tag retrieval fix:</strong> Resolved a "timezone-naive vs offset-aware" comparison error in the rule framework, within the get_tag method to ensure consistent datetime handling.</p>
</li>
<li class="">
<p><strong>Pytestbdd-ewx fix</strong>: Resolved a <code>pytest-bdd-ewx</code> issue encountered when checking tags with multiple versions that share the same <code>valid_from</code> timestamp.</p>
</li>
<li class="">
<p><strong>Market Adapter structural update:</strong> Resolved a naming conflict bug by separating Market Adapter implementations from their configurations, preventing 'NoneType' errors.</p>
</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-api--permissions">🔐 API &amp; Permissions<a href="https://docs.energyworx.net/release-notes/26.04#-api--permissions" class="hash-link" aria-label="Direct link to 🔐 API &amp; Permissions" title="Direct link to 🔐 API &amp; Permissions" translate="no">​</a></h2>
<ul>
<li class="">
<p><strong>Datapoint edit history fix:</strong> Resolved an APIv2 bug where the "previous value" was not correctly returned after editing a datapoint that held a value of 0.</p>
</li>
<li class="">
<p><strong>API documentation filtering:</strong> Fixed a bug in the APIv2 documentation interface that prevented users from successfully finding channels when applying filters.</p>
</li>
<li class="">
<p><strong>Latest Datapoint filter fix:</strong> Resolved an issue where the channel family filter was not functioning correctly within the Latest Datapoint API.</p>
</li>
<li class="">
<p><strong>Classifier case-sensitivity normalization:</strong> Fixed an issue that allowed Datasources to be created with lowercase classifiers by implementing automatic conversion to uppercase; additionally, both Datasource and Channel classifiers are now treated as case-insensitive within the processing pipeline.</p>
</li>
<li class="">
<p><strong>Process Monitoring access control:</strong> Introduced a dedicated Process Monitoring permission specifically for managing configuration access; users now also require permissions for flows and market adapters to fully utilize all monitoring functionalities.</p>
</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-documentation-updates">📚 Documentation Updates<a href="https://docs.energyworx.net/release-notes/26.04#-documentation-updates" class="hash-link" aria-label="Direct link to 📚 Documentation Updates" title="Direct link to 📚 Documentation Updates" translate="no">​</a></h2>
<ul>
<li class=""><strong>Enhanced documentation discovery:</strong> Release notes are now fully indexable and findable via the documentation search bar, with unique URLs assigned to each individual release note page.</li>
<li class=""><strong>Pandas 2.0 migration guide:</strong> Added a comprehensive migration guide for transitioning from Pandas 1.x to 2.x; Pandas 1.x is now officially deprecated and will be upgraded to 2.x starting in version 26.x.</li>
<li class=""><strong>Isolated Shareable Packages:</strong> Refactored the documentation structure to isolate "Shareable Packages" (such as <code>pytest-bdd</code> and <code>ewx-cli</code>) to improve navigation and clarity.</li>
<li class=""><strong>Independent doc deployments:</strong> Decoupled the documentation from platform deployments, allowing for content updates to be published independently and more frequently.</li>
<li class=""><strong>New technical guides:</strong> Published new documentation covering the usage of Decision Trees and updated the implementation guides for Flow Properties.</li>
<li class=""><strong>Live Flags limitations:</strong> Improved the Live Flags documentation by adding specific details regarding condition types and their current limitations.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-notable-backend-changes">🚀 Notable Backend Changes<a href="https://docs.energyworx.net/release-notes/26.04#-notable-backend-changes" class="hash-link" aria-label="Direct link to 🚀 Notable Backend Changes" title="Direct link to 🚀 Notable Backend Changes" translate="no">​</a></h2>
<ul>
<li class=""><strong>Pandas 2.x compatibility:</strong> The platform is now compatible with Pandas 2.x. Keep in mind that Pandas 1.x is currently still used, this is just for forward-compatibility.</li>
<li class=""><strong>Duplicate channel fix:</strong> Fixed multiple bugs that caused duplicate entries in the <code>latest_datasources</code> table — both when creating a datasource via API with a channel and running a flow, and when adding channels to an existing datasource via API v1.</li>
<li class=""><strong>Silent trigger failure now logged:</strong> Added an audit event when a trigger schedule fails due to a non-existent Market Adapter. Previously this failed silently.</li>
<li class=""><strong>Datasource ID validation:</strong> Added validation for datasource IDs created through the pipeline to prevent invalid entries.</li>
<li class=""><strong>Processing performance:</strong> Several small improvements to the data processing pipeline that should reduce processing overhead by approximately 20% in low-volume situations.</li>
<li class=""><strong>PubSub optimization:</strong> Refined message size validation and lowered internal limits to ensure reliable delivery.</li>
<li class=""><strong>Security scanning:</strong> Added Trivy for SAST (Static Application Security Testing) and SCA (Software Composition Analysis) to the platform's CI pipeline.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-integration-component">📡 Integration Component<a href="https://docs.energyworx.net/release-notes/26.04#-integration-component" class="hash-link" aria-label="Direct link to 📡 Integration Component" title="Direct link to 📡 Integration Component" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="sftp-integration-support">SFTP Integration Support<a href="https://docs.energyworx.net/release-notes/26.04#sftp-integration-support" class="hash-link" aria-label="Direct link to SFTP Integration Support" title="Direct link to SFTP Integration Support" translate="no">​</a></h3>
<p>The Integration Component now supports <strong>SFTP-based file integrations</strong> alongside the existing SOAP protocol. A unified scheduler architecture handles both protocols as a single cronjob, connecting to configured SFTP servers on schedule, retrieving files matching configured patterns, and forwarding them to filemanager for ingestion. Like SOAP, the SFTP service supports inbound and outbound flows, XSD validation, field mapping, and custom validation rules — all driven by namespace-specific configuration stored in the GCP bucket.</p>
<ul>
<li class=""><strong>DST timestamp correction</strong>: Resolved an issue with SEL meter timestamp generation during Daylight Saving Time (DST) transitions to ensure accurate data; updated the retrieval script logic to support specific start and end date ranges.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="260401">26.04.01<a href="https://docs.energyworx.net/release-notes/26.04#260401" class="hash-link" aria-label="Direct link to 26.04.01" title="Direct link to 26.04.01" translate="no">​</a></h2>
<ul>
<li class=""><strong>Improved reliability of data processing pipeline</strong>: We've made an improvement to how the platform handles recovery when a processing worker is unexpectedly interrupted (for example, during a node restart or scaling event).</li>
<li class=""><strong>What you'll notice</strong>:<!-- -->
<ul>
<li class="">More consistent end-to-end processing latency, especially during high-volume ingestion.</li>
<li class="">Fewer cases where a single file appears "stuck" while others around it complete normally.</li>
</ul>
</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-integration-component-1">📡 Integration Component<a href="https://docs.energyworx.net/release-notes/26.04#-integration-component-1" class="hash-link" aria-label="Direct link to 📡 Integration Component" title="Direct link to 📡 Integration Component" translate="no">​</a></h2>
<ul>
<li class="">
<p><strong>Inbound file corruption fix</strong>: Resolved a bug in the SFTP inbound logic that caused the file delivered to EDM to differ from the original file on the server, resulting in files consistently failing at the TC step when ingested via EDM.</p>
</li>
<li class="">
<p><strong>Insufficient meter reads fix</strong>: Resolved an issue where the SEL data retriever was computing a new timestamp for each LDP during execution. In long-running executions this caused a drift between the saved start time and the actual retrieval start time of the first channel, leading to missed reads and incorrect aggregate values.</p>
</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="260402">26.04.02<a href="https://docs.energyworx.net/release-notes/26.04#260402" class="hash-link" aria-label="Direct link to 26.04.02" title="Direct link to 26.04.02" translate="no">​</a></h2>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-integration-component-2">📡 Integration Component<a href="https://docs.energyworx.net/release-notes/26.04#-integration-component-2" class="hash-link" aria-label="Direct link to 📡 Integration Component" title="Direct link to 📡 Integration Component" translate="no">​</a></h2>
<ul>
<li class=""><strong>SFTP re-ingestion fix:</strong> Resolved a bug where an already-processed file on the SFTP server was re-uploaded on every scheduler cycle. Processed files are now archived under a unique timestamped name, preventing the same file from being picked up again on subsequent runs.</li>
<li class=""><strong>GLDPM acknowledgement completeness fix:</strong> Resolved an issue where GLDPM acknowledgements were missing two mandatory fields — <code>Reason/text</code> and <code>received_MarketDocument.type</code> — which caused counterparties to reject revised GLDPM messages. Both fields are now correctly populated. Requires the corresponding config update per namespace: add the document_type field map and reason_texts entries to the message map file for the GLDPM message type</li>
<li class=""><strong>DataSource tags validation fix:</strong> Fixed a crash where msgspec failed to decode a DataSource object when the tags field was absent from the payload by making the field optional with a default empty list.</li>
<li class=""><strong>SFTP outbound namespace filtering:</strong> Outbound SFTP messages arriving for namespaces that are not configured for SFTP in the active environment are now acknowledged and ignored, preventing spurious processing errors.</li>
<li class=""><strong>Outbound message broker timezone fix:</strong> Fixed a crash in the outbound message broker caused by a timezone mismatch when comparing message timestamps.</li>
<li class=""><strong>Outbound message broker header fix:</strong> Fixed a tuple unpacking error in the outbound message broker when processing SOAP message header namespaces.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="260403">26.04.03<a href="https://docs.energyworx.net/release-notes/26.04#260403" class="hash-link" aria-label="Direct link to 26.04.03" title="Direct link to 26.04.03" translate="no">​</a></h2>
<ul>
<li class=""><strong><code>get_active_tag_versions</code> fix:</strong> Fix timezone comparison error: resolves a TypeError when tags with timezone-naive valid_from are compared against timezone-aware datetimes.</li>
<li class=""><strong>Legacy API URL routing fix:</strong> Resolved an issue with routing for the legacy API URL (<code>api.&lt;short_env&gt;.energyworx.net</code>).</li>
<li class=""><strong><code>load_datasources_by_virtual_datasource_filter</code> restored:</strong> Restored the rule framework method <code>load_datasources_by_virtual_datasource_filter</code>, which had been raising <code>NotImplementedError</code> since the FlowRule refactor. Rules using this method to resolve a virtual datasource to its underlying concrete datasources now work as before.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-integration-component-3">📡 Integration Component<a href="https://docs.energyworx.net/release-notes/26.04#-integration-component-3" class="hash-link" aria-label="Direct link to 📡 Integration Component" title="Direct link to 📡 Integration Component" translate="no">​</a></h2>
<ul>
<li class=""><strong>SFTP Filenames fix:</strong>  Outbound SFTP filenames now preserve the full timestamp — files with ISO timestamps in their name were being silently truncated on Windows-backed SFTP servers, causing files to
overwrite each other. This is now resolved.</li>
<li class=""><strong>SFTP Filenames Improvement:</strong>  Outbound SFTP processor now honours a caller-supplied filename — when a filename is passed in the Pub/Sub message attributes, it is used as the upload filename on the SFTP server.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="260404">26.04.04<a href="https://docs.energyworx.net/release-notes/26.04#260404" class="hash-link" aria-label="Direct link to 26.04.04" title="Direct link to 26.04.04" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="platform-bug-fixes">Platform Bug Fixes<a href="https://docs.energyworx.net/release-notes/26.04#platform-bug-fixes" class="hash-link" aria-label="Direct link to Platform Bug Fixes" title="Direct link to Platform Bug Fixes" translate="no">​</a></h3>
<ul>
<li class=""><strong><code>get_active_tag_versions</code> fix:</strong> Fixed a timezone comparison error. The function now ensures all returned tags utilize timezone-aware "valid from" timestamps.</li>
<li class=""><strong>Search indexing for market adapter datasources:</strong> Fixed a bug where datasources created or updated by pluggable market adapters were never published to the search index.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-integration-component-4">📡 Integration Component<a href="https://docs.energyworx.net/release-notes/26.04#-integration-component-4" class="hash-link" aria-label="Direct link to 📡 Integration Component" title="Direct link to 📡 Integration Component" translate="no">​</a></h2>
<ul>
<li class=""><strong>GLDPM acknowledgement matching fix:</strong> Resolved a bug where outbound GLDPM messages were not being correctly matched to their returning acknowledgements, causing the integration to be unable to confirm whether a GLDPM submission was accepted or rejected by the counterparty.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="260405">26.04.05<a href="https://docs.energyworx.net/release-notes/26.04#260405" class="hash-link" aria-label="Direct link to 26.04.05" title="Direct link to 26.04.05" translate="no">​</a></h2>
<ul>
<li class=""><strong>Flow chaining fix:</strong> Fixed an issue where bulk chain flows could silently fail to trigger downstream flows due to incorrect Datastore key type resolution.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-integration-component-5">📡 Integration Component<a href="https://docs.energyworx.net/release-notes/26.04#-integration-component-5" class="hash-link" aria-label="Direct link to 📡 Integration Component" title="Direct link to 📡 Integration Component" translate="no">​</a></h2>
<ul>
<li class=""><strong>SOAP list URL routing fix:</strong> Fixed an issue where SOAP integrations configured with a dedicated <code>list</code> URL in the URL map would incorrectly route requests to the default URL instead.</li>
<li class=""><strong>SOAP MetaData header fix:</strong> Resolved an issue where SOAP requests for the <code>MetaData</code> message type incorrectly included a <code>Content-Type</code> header, causing those requests to fail.</li>
<li class=""><strong>ACK URL lookup fix:</strong> Resolved an issue where acknowledgement-specific URLs configured in the message URL map were silently discarded during URL resolution, causing non-GLDPM acknowledgements to fall back to the default URL and be rejected by the counterparty with a version mismatch.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="260406">26.04.06<a href="https://docs.energyworx.net/release-notes/26.04#260406" class="hash-link" aria-label="Direct link to 26.04.06" title="Direct link to 26.04.06" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="platform-bug-fixes-1">Platform Bug Fixes<a href="https://docs.energyworx.net/release-notes/26.04#platform-bug-fixes-1" class="hash-link" aria-label="Direct link to Platform Bug Fixes" title="Direct link to Platform Bug Fixes" translate="no">​</a></h3>
<ul>
<li class=""><strong>API tag writes now reach BigQuery:</strong> Fixed an issue where tags created through the API v2 tags endpoint were stored on the datasource but never synced to BigQuery, so they could not be found when querying tag data (for example in analytics or exports). Tags written through the API are now propagated to BigQuery the same way as tags created by flows.</li>
</ul>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Release Notes: Version 26.03]]></title>
        <id>https://docs.energyworx.net/release-notes/26.03</id>
        <link href="https://docs.energyworx.net/release-notes/26.03"/>
        <updated>2026-03-02T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[What's new in Energyworx platform version 26.03: new features, improvements, and fixes.]]></summary>
        <content type="html"><![CDATA[<p><em>Last updated: 16 July 2026</em></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="whats-new-"><strong>What's New</strong> ✨<a href="https://docs.energyworx.net/release-notes/26.03#whats-new-" class="hash-link" aria-label="Direct link to whats-new-" title="Direct link to whats-new-" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="rule-profiling">Rule Profiling<a href="https://docs.energyworx.net/release-notes/26.03#rule-profiling" class="hash-link" aria-label="Direct link to Rule Profiling" title="Direct link to Rule Profiling" translate="no">​</a></h3>
<p>The new Profiler gives you visibility into the CPU performance of your processing rules and flow configurations. Using interactive flame graphs and time-based analysis, you can quickly identify which rules are most CPU-intensive, pinpoint bottlenecks within individual functions, and compare performance across datasources — making it easier to optimize your data processing workflows. To learn more, check out our documentation <a class="" href="https://docs.energyworx.net/platform/profiler/overview">here</a>.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="trigger-schedule-versioning">Trigger schedule versioning<a href="https://docs.energyworx.net/release-notes/26.03#trigger-schedule-versioning" class="hash-link" aria-label="Direct link to Trigger schedule versioning" title="Direct link to Trigger schedule versioning" translate="no">​</a></h3>
<p>It is now possible view the edit history of trigger schedules and perform rollbacks to previous configurations directly from the UI.
⚠️ Please note: older trigger schedules, created before this release, will show the user ID  in the last edited by instead of the user's email. Once updated, the email will correctly show up. In any case, users with IAM permissions can convert user ids to user emails if necessary.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="market-adapter-framework">Market Adapter Framework<a href="https://docs.energyworx.net/release-notes/26.03#market-adapter-framework" class="hash-link" aria-label="Direct link to Market Adapter Framework" title="Direct link to Market Adapter Framework" translate="no">​</a></h3>
<p>Introduced several new functions to the Market Adapter framework, enabling users to directly <strong>create/retrieve Datasources, Tags, and Timeseries</strong>, as well as <strong>trigger flows</strong> directly from the <code>adapt()</code> method. On top of that, the following were updated:</p>
<ul>
<li class=""><strong>Domain object validation:</strong> Added strict validations for domain objects output from a Market Adapter, including ISO standard checks for Timezones and existence checks for channel classifiers.</li>
<li class=""><strong>Annotation handling:</strong> Updated Market Adapter timeseries output to ensure annotations and <code>sequence_id</code> are handled properly during direct ingestion.</li>
<li class=""><strong>Documentation:</strong> Updated documentation to reflect all these changes and make the market adapter framewor easy to use.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="deprecation-notice"><strong>Deprecation Notice</strong><a href="https://docs.energyworx.net/release-notes/26.03#deprecation-notice" class="hash-link" aria-label="Direct link to deprecation-notice" title="Direct link to deprecation-notice" translate="no">​</a></h2>
<p>Later this year, we’ll be moving the platform from pandas version 1 to version 2. We currently expect to make this switch in release 26.09; while this date may shift, the upgrade will occur no earlier than 26.09.</p>
<p>Since some functions are deprecated in pandas 2.0, some rules might need refactoring to stay compatible. To make this as painless as possible, we’re doing the following</p>
<ul>
<li class="">We’ll provide best-practice documentation on upgrading and testing your rules for compatibility</li>
<li class="">We’ll ensure that all rules in the standard package are updated by the time we upgrade</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="️-rule-framework">⚙️ Rule Framework<a href="https://docs.energyworx.net/release-notes/26.03#%EF%B8%8F-rule-framework" class="hash-link" aria-label="Direct link to ⚙️ Rule Framework" title="Direct link to ⚙️ Rule Framework" translate="no">​</a></h2>
<ul>
<li class=""><strong>Local development maintenance:</strong> Refactored the packages necessary to develop and test rules outside the Energyworx platform to simplify and standardize them. This has no impact in existing packages and imports, and it is not yet avaible. It will be made available in the next release, through the GAR.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="️-ui-improvements">🖥️ UI Improvements<a href="https://docs.energyworx.net/release-notes/26.03#%EF%B8%8F-ui-improvements" class="hash-link" aria-label="Direct link to 🖥️ UI Improvements" title="Direct link to 🖥️ UI Improvements" translate="no">​</a></h2>
<ul>
<li class=""><strong>Graph accuracy fix:</strong> Resolved an issue where "NULL" values that had a DPA were incorrectly displayed as "0" in frontend graphs; these are now clearly distinguished.</li>
<li class=""><strong>Last datapoint per channel:</strong> Added functionality to the new console which allows users to eaily see what is the most recent reading available for each channel classifier.</li>
<li class=""><strong>Clickable chart legends:</strong> Restored the ability in the original console to plot or unplot lines in a chart by clicking directly on the channel classifier name in the legend.</li>
<li class=""><strong>User edit traceability:</strong> Fixed a bug where edits made by users with "nan" in their email address appeared as "edited by no one"; this fix works retroactively for past edits.</li>
<li class=""><strong>Flow view:</strong> Fixed a bug that caused some flows to not be retrieved when clicking in the Get Latest Flows button.</li>
<li class=""><strong>Live flags:</strong> Fixed an issue that was preventing the first Enum option in the Live Flags to be picked when using the UI to set up live flags.</li>
<li class=""><strong>Spanish support</strong> The platform is now also avilable in Spanish. You can change the language in the user settings if you wish to use it.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-api--permissions">🔐 API &amp; Permissions<a href="https://docs.energyworx.net/release-notes/26.03#-api--permissions" class="hash-link" aria-label="Direct link to 🔐 API &amp; Permissions" title="Direct link to 🔐 API &amp; Permissions" translate="no">​</a></h2>
<ul>
<li class=""><strong>Last datapoint per channel:</strong> Added a new endpoint to API V2 to retrieve the last available datapoint for a channel classifier.</li>
<li class=""><strong>Least Privilege for Admins:</strong> Reduced the default power of the Admin resource to the bare minimum required for environment administration (global whitelisting and namespace management).</li>
<li class=""><strong>Read-only default groups:</strong> All default permission groups are now read-only by default and cannot have their roles changed, ensuring core security settings remain intact.</li>
<li class=""><strong>APIv2 Datasource validation:</strong> Fixed several validation issues in APIv2 to prevent the creation of datasources with invalid timezones, filters, or classifiers.</li>
<li class=""><strong>Duplicate tag prevention:</strong> Updated APIv2 to detect and reject duplicate tags where only the <code>valid_from</code> attribute was changed to a future date, returning a <strong>409 Conflict Error</strong>.</li>
<li class=""><strong>Endpoint cleanup:</strong> Removed the redundant and non-functional <code>PATCH</code> datasource endpoint in APIv2; users should use the <code>POST</code> method for updates.</li>
<li class=""><strong>ResouceInput in Flows:</strong> Fixed an API issue which caused flow runs to fail in some cases where a rule had a parameter of type ResourceInput</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-documentation-updates">📚 Documentation Updates<a href="https://docs.energyworx.net/release-notes/26.03#-documentation-updates" class="hash-link" aria-label="Direct link to 📚 Documentation Updates" title="Direct link to 📚 Documentation Updates" translate="no">​</a></h2>
<ul>
<li class=""><strong>Live Flags guide:</strong> Added a new page to the knowledge base covering the setup and visualization of Live Flags.</li>
<li class=""><strong>Admin access details:</strong> Improved documentation regarding the new "Administrator" tab and how to manage restricted admin rights.</li>
<li class=""><strong>Technical inheritance docs:</strong> Updated documentation for nested rules and multiple class inheritance.</li>
<li class=""><strong>Namespace properties:</strong> Added new guides on how to update namespace properties.</li>
<li class=""><strong>Tags updates via API:</strong> Updated documentation regarding how to update tags via the API</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-notable-backend-changes">🚀 Notable Backend Changes<a href="https://docs.energyworx.net/release-notes/26.03#-notable-backend-changes" class="hash-link" aria-label="Direct link to 🚀 Notable Backend Changes" title="Direct link to 🚀 Notable Backend Changes" translate="no">​</a></h2>
<ul>
<li class=""><strong>Tag version deduplication:</strong> Fixed a comparison method bug that was creating redundant tag versions for non-SCD tags even when properties remained unchanged.</li>
<li class=""><strong>Pod autoscaler improvement:</strong> Fixed a memory limit issue in the <code>ewx-pod-autoscaler</code> that caused processes to get stuck.</li>
<li class=""><strong>Collective trigger optimization:</strong> Significant performance improvements for collective triggers, ensuring faster processing of large message volumes (100k+).</li>
<li class=""><strong>Memory leak resolution:</strong> Fixed a memory leak within the Datasource service in APIv2 that was identified during performance testing.</li>
<li class=""><strong>Error handling on ewx-cli:</strong> Improved error handling in the ewx-cli, to ensure clear error messages are thrown where possible.</li>
<li class=""><strong>Package versioning:</strong> Fixed an issue where certain packages in the GAR were not correctly versioned. Documentation has also been improved to be more detailed on the required steps to use said packages.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="260301">26.03.01<a href="https://docs.energyworx.net/release-notes/26.03#260301" class="hash-link" aria-label="Direct link to 26.03.01" title="Direct link to 26.03.01" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="platform-bug-fixes">Platform Bug Fixes<a href="https://docs.energyworx.net/release-notes/26.03#platform-bug-fixes" class="hash-link" aria-label="Direct link to Platform Bug Fixes" title="Direct link to Platform Bug Fixes" translate="no">​</a></h3>
<ul>
<li class=""><strong>Improved Audit Event query performance:</strong> Optimized the Audit Event query in the new console to significantly improve loading times when retrieving large volumes of audit data.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="integration-component-fixes">Integration Component Fixes<a href="https://docs.energyworx.net/release-notes/26.03#integration-component-fixes" class="hash-link" aria-label="Direct link to Integration Component Fixes" title="Direct link to Integration Component Fixes" translate="no">​</a></h3>
<ul>
<li class=""><strong>SEL meter timestamp correction around DST transitions:</strong> Fixed an issue where SEL meter timestamp generation produced incorrect timestamps during Daylight Saving Time (DST) clock changes. The data retrieval script has also been updated to support fetching data for a specific date range (start and end date).</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="260302">26.03.02<a href="https://docs.energyworx.net/release-notes/26.03#260302" class="hash-link" aria-label="Direct link to 26.03.02" title="Direct link to 26.03.02" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="platform-bug-fixes-1">Platform Bug Fixes<a href="https://docs.energyworx.net/release-notes/26.03#platform-bug-fixes-1" class="hash-link" aria-label="Direct link to Platform Bug Fixes" title="Direct link to Platform Bug Fixes" translate="no">​</a></h3>
<ul>
<li class=""><strong><code>get_tag</code> fix:</strong> Fixed an issue in the <code>get_tag</code> function which failed when tags were manually created in the platform.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="260303">26.03.03<a href="https://docs.energyworx.net/release-notes/26.03#260303" class="hash-link" aria-label="Direct link to 26.03.03" title="Direct link to 26.03.03" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="platform-bug-fixes-2">Platform Bug Fixes<a href="https://docs.energyworx.net/release-notes/26.03#platform-bug-fixes-2" class="hash-link" aria-label="Direct link to Platform Bug Fixes" title="Direct link to Platform Bug Fixes" translate="no">​</a></h3>
<ul>
<li class=""><strong>PubSub Optimization:</strong> Refined message size validation and lowered internal limits to ensure reliable delivery.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="260304">26.03.04<a href="https://docs.energyworx.net/release-notes/26.03#260304" class="hash-link" aria-label="Direct link to 26.03.04" title="Direct link to 26.03.04" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="platform-bug-fixes-3">Platform Bug Fixes<a href="https://docs.energyworx.net/release-notes/26.03#platform-bug-fixes-3" class="hash-link" aria-label="Direct link to Platform Bug Fixes" title="Direct link to Platform Bug Fixes" translate="no">​</a></h3>
<ul>
<li class=""><strong>Profiler Optimization:</strong> Fixed sequence ID and flow ID filter in the rule profiler</li>
<li class=""><strong>Endpoints Optimization:</strong> Fixed issue that prevented valid certificates from being generated for one of the API url variants.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="260305">26.03.05<a href="https://docs.energyworx.net/release-notes/26.03#260305" class="hash-link" aria-label="Direct link to 26.03.05" title="Direct link to 26.03.05" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="platform-bug-fixes-4">Platform Bug Fixes<a href="https://docs.energyworx.net/release-notes/26.03#platform-bug-fixes-4" class="hash-link" aria-label="Direct link to Platform Bug Fixes" title="Direct link to Platform Bug Fixes" translate="no">​</a></h3>
<ul>
<li class=""><strong>Trigger local time DST fix:</strong> Fixed an issue where triggers migrated from UTC to local time execution produced incorrect timestamps during DST transitions, causing data drift in subsequent data exports.</li>
<li class=""><strong>New console account login fix:</strong> Resolved an authentication error that prevented newly whitelisted  accounts from logging into the new console (NUI), which resulted in a 500 Internal Server Error.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="260306">26.03.06<a href="https://docs.energyworx.net/release-notes/26.03#260306" class="hash-link" aria-label="Direct link to 26.03.06" title="Direct link to 26.03.06" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="platform-bug-fixes-5">Platform Bug Fixes<a href="https://docs.energyworx.net/release-notes/26.03#platform-bug-fixes-5" class="hash-link" aria-label="Direct link to Platform Bug Fixes" title="Direct link to Platform Bug Fixes" translate="no">​</a></h3>
<ul>
<li class=""><strong>Legacy API URL routing fix:</strong> Resolved an issue with routing for the legacy API URL (<code>api.&lt;short_env&gt;.energyworx.net</code>).</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="260307">26.03.07<a href="https://docs.energyworx.net/release-notes/26.03#260307" class="hash-link" aria-label="Direct link to 26.03.07" title="Direct link to 26.03.07" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="platform-bug-fixes-6">Platform Bug Fixes<a href="https://docs.energyworx.net/release-notes/26.03#platform-bug-fixes-6" class="hash-link" aria-label="Direct link to Platform Bug Fixes" title="Direct link to Platform Bug Fixes" translate="no">​</a></h3>
<ul>
<li class=""><strong><code>load_datasources_by_virtual_datasource_filter</code> restored:</strong> Restored the rule framework method <code>load_datasources_by_virtual_datasource_filter</code>, which had been raising <code>NotImplementedError</code> since the FlowRule refactor. Rules using this method to resolve a virtual datasource to its underlying concrete datasources now work as before.</li>
</ul>
<ul>
<li class=""><strong><code>get_active_tag_versions</code> fix:</strong> Fix timezone comparison error: resolves a TypeError when tags with timezone-naive valid_from are compared against timezone-aware datetimes.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="260308">26.03.08<a href="https://docs.energyworx.net/release-notes/26.03#260308" class="hash-link" aria-label="Direct link to 26.03.08" title="Direct link to 26.03.08" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="platform-bug-fixes-7">Platform Bug Fixes<a href="https://docs.energyworx.net/release-notes/26.03#platform-bug-fixes-7" class="hash-link" aria-label="Direct link to Platform Bug Fixes" title="Direct link to Platform Bug Fixes" translate="no">​</a></h3>
<ul>
<li class=""><strong><code>get_active_tag_versions</code> fix:</strong> Fixed a timezone comparison error. The function now ensures all returned tags utilize timezone-aware "valid from" timestamps.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="260309">26.03.09<a href="https://docs.energyworx.net/release-notes/26.03#260309" class="hash-link" aria-label="Direct link to 26.03.09" title="Direct link to 26.03.09" translate="no">​</a></h2>
<ul>
<li class=""><strong>Flow chaining fix:</strong> Fixed an issue where bulk chain flows could silently fail to trigger downstream flows due to incorrect Datastore key type resolution.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="260310">26.03.10<a href="https://docs.energyworx.net/release-notes/26.03#260310" class="hash-link" aria-label="Direct link to 26.03.10" title="Direct link to 26.03.10" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="platform-bug-fixes-8">Platform Bug Fixes<a href="https://docs.energyworx.net/release-notes/26.03#platform-bug-fixes-8" class="hash-link" aria-label="Direct link to Platform Bug Fixes" title="Direct link to Platform Bug Fixes" translate="no">​</a></h3>
<ul>
<li class=""><strong>Identity namespace access fix:</strong> Fixed an authorization issue where users not whitelisted in the <code>energyworx.org</code> namespace were unable to perform actions in the identity namespace.</li>
<li class=""><strong>Store rule channel updates:</strong> The Store rule now persists new channels through the asynchronous datasource sink instead of performing synchronous writes during rule execution, improving reliability and consistency with the rest of the processing pipeline.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="260311">26.03.11<a href="https://docs.energyworx.net/release-notes/26.03#260311" class="hash-link" aria-label="Direct link to 26.03.11" title="Direct link to 26.03.11" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="platform-bug-fixes-9">Platform Bug Fixes<a href="https://docs.energyworx.net/release-notes/26.03#platform-bug-fixes-9" class="hash-link" aria-label="Direct link to Platform Bug Fixes" title="Direct link to Platform Bug Fixes" translate="no">​</a></h3>
<ul>
<li class=""><strong>API tag writes now reach BigQuery:</strong> Fixed an issue where tags created through the API v2 tags endpoint were stored on the datasource but never synced to BigQuery, so they could not be found when querying tag data (for example in analytics or exports). Tags written through the API are now propagated to BigQuery the same way as tags created by flows.</li>
</ul>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Release Notes: Version 26.02]]></title>
        <id>https://docs.energyworx.net/release-notes/26.02</id>
        <link href="https://docs.energyworx.net/release-notes/26.02"/>
        <updated>2026-02-02T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[What's new in Energyworx platform version 26.02: new features, improvements, and fixes.]]></summary>
        <content type="html"><![CDATA[<p><em>Last updated: 16 July 2026</em></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="whats-new-"><strong>What's New</strong> ✨<a href="https://docs.energyworx.net/release-notes/26.02#whats-new-" class="hash-link" aria-label="Direct link to whats-new-" title="Direct link to whats-new-" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="get_latest_datapoint-function-added-in-rule-framework">Get_latest_datapoint Function Added In Rule Framework<a href="https://docs.energyworx.net/release-notes/26.02#get_latest_datapoint-function-added-in-rule-framework" class="hash-link" aria-label="Direct link to Get_latest_datapoint Function Added In Rule Framework" title="Direct link to Get_latest_datapoint Function Added In Rule Framework" translate="no">​</a></h3>
<p>We've added a function (<code>get_latest_datapoint</code>) to the rule framework which allows you to get the last available datapoint
for a channel directly, instead of repeatedly loading data to find it. To learn more, check out our documentation <a class="" href="https://docs.energyworx.net/platform/data-processing/custom-business-logic/custom-rules/timeseries-loading">here</a>.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="fixed-case-sensitive-issue-with-timeseries-data">Fixed case sensitive issue with timeseries data<a href="https://docs.energyworx.net/release-notes/26.02#fixed-case-sensitive-issue-with-timeseries-data" class="hash-link" aria-label="Direct link to Fixed case sensitive issue with timeseries data" title="Direct link to Fixed case sensitive issue with timeseries data" translate="no">​</a></h3>
<p>We've resolved an issue where Datasource IDs were treated as case-sensitive in the timeseries table, which previously caused data visibility issues when IDs didn't match exactly (e.g., 'DS_name' vs 'ds_name').
Datasource IDs in the timeseries table are now case-insensitive, aligning with all other platform tables.</p>
<p>⚠️ Important: This update includes a change to how data is stored in BigTable. A small data migration is required during deployment; this will be managed by our support team and is expected to have zero impact on environment downtime.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="disabled-energpt-preview">Disabled EnerGPT Preview<a href="https://docs.energyworx.net/release-notes/26.02#disabled-energpt-preview" class="hash-link" aria-label="Direct link to Disabled EnerGPT Preview" title="Direct link to Disabled EnerGPT Preview" translate="no">​</a></h3>
<p>EnerGPT preview has been disabled in the platform. The feature can be made available, at a cost, if you wish to enable it please contact our support team.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="️-ui">🖥️ UI<a href="https://docs.energyworx.net/release-notes/26.02#%EF%B8%8F-ui" class="hash-link" aria-label="Direct link to 🖥️ UI" title="Direct link to 🖥️ UI" translate="no">​</a></h2>
<ul>
<li class="">
<p><strong>Permission condition restrictions:</strong> Updated the interface to correctly reflect that conditions are not supported for MLModels, Channel Families, and Live Flags permissions.</p>
</li>
<li class="">
<p><strong>Improved tag traceability:</strong> Fixed an attribution error across both the original and new consoles to ensure that created or updated tags correctly display the actual user in the created_by field instead of "System."</p>
</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-error-handling">🛠 Error Handling<a href="https://docs.energyworx.net/release-notes/26.02#-error-handling" class="hash-link" aria-label="Direct link to 🛠 Error Handling" title="Direct link to 🛠 Error Handling" translate="no">​</a></h2>
<ul>
<li class="">
<p><strong>Rule inheritance:</strong> Resolved an issue that prevented audit events from being logged when a rule had an invalid parent class; an audit event is now triggered if a class attempts to inherit from multiple classes.</p>
</li>
<li class="">
<p><strong>Enhanced RuleResult validation:</strong> Improved audit event clarity when the return object in RuleResult is invalid by providing specific details on the cause of the validation failure.</p>
</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="api-and-permissions">🔐API and Permissions<a href="https://docs.energyworx.net/release-notes/26.02#api-and-permissions" class="hash-link" aria-label="Direct link to 🔐API and Permissions" title="Direct link to 🔐API and Permissions" translate="no">​</a></h2>
<ul>
<li class="">
<p><strong>User group removal sync:</strong> Fixed a synchronization issue ensuring all rights are correctly revoked and user details are updated immediately after a user is removed from a permission group.</p>
</li>
<li class="">
<p><strong>Cross-console permission parity:</strong> Resolved inconsistencies between consoles to ensure all permissions granted in the original console are correctly propagated to the new console.</p>
</li>
<li class="">
<p><strong>Append-only Datasource validation:</strong> Updated APIv1 to enforce "append-only" logic; any attempt to remove existing channels from a datasource will now return a 400 Bad Request to ensure data integrity and documentation alignment.</p>
</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="️-dpas">🏷️ DPAs<a href="https://docs.energyworx.net/release-notes/26.02#%EF%B8%8F-dpas" class="hash-link" aria-label="Direct link to 🏷️ DPAs" title="Direct link to 🏷️ DPAs" translate="no">​</a></h2>
<ul>
<li class="">
<p><strong>Improved documentation:</strong> Added comprehensive documentation and step-by-step instructions for creating Datapoint Attributes (DPAs) directly through the console.</p>
</li>
<li class="">
<p><strong>Timezone-aware DPA ingestion:</strong> Fixed a bug where Timestamp DPAs were incorrectly converted to naive objects; they now correctly remain timezone-aware during ingestion.</p>
</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="platform--backend-improvements">🚀Platform &amp; Backend Improvements<a href="https://docs.energyworx.net/release-notes/26.02#platform--backend-improvements" class="hash-link" aria-label="Direct link to 🚀Platform &amp; Backend Improvements" title="Direct link to 🚀Platform &amp; Backend Improvements" translate="no">​</a></h2>
<ul>
<li class=""><strong>Extended search capacity:</strong> Resolved a limitation in the search functionality that capped queries at 15 characters; users can now search using strings of any length.</li>
<li class=""><strong>Advanced Search view restoration:</strong> Fixed an issue preventing the use of the v_channel_data_and_annotations_latest_versions_pretty view, which is now fully queryable in Advanced Search.</li>
<li class=""><strong>Final deprecation of Transform Functions:</strong> Completed the removal of legacy Transform Functions (previously replaced by Transform Rules), ensuring they are no longer accessible within the platform.</li>
<li class=""><strong>Fixed auth bug:</strong> Fixed an issue that was causing users being not authorized in some namespaces after using APIv2 or JWT tokens.</li>
<li class=""><strong>Deployment Improvement:</strong> Included backend changes to reduce manual steps needed for deployment</li>
<li class=""><strong>Improved Logging</strong> Added JSON-formatted logs to BigTable and BigQuery writers</li>
<li class=""><strong>Record duplication cleanup</strong>: Fixed multiple backend logic errors that were causing duplicate and triplicate entries for the latest_datasource and datasource BigQuery tables.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="260201">26.02.01<a href="https://docs.energyworx.net/release-notes/26.02#260201" class="hash-link" aria-label="Direct link to 26.02.01" title="Direct link to 26.02.01" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="bug-fixes">Bug Fixes<a href="https://docs.energyworx.net/release-notes/26.02#bug-fixes" class="hash-link" aria-label="Direct link to Bug Fixes" title="Direct link to Bug Fixes" translate="no">​</a></h3>
<ul>
<li class=""><strong>Fixed Frontend bug:</strong>  Fixed an issue regarding the google analytics API, that was causing the Frontend Build to fail</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="260202">26.02.02<a href="https://docs.energyworx.net/release-notes/26.02#260202" class="hash-link" aria-label="Direct link to 26.02.02" title="Direct link to 26.02.02" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="bug-fixes-1">Bug Fixes<a href="https://docs.energyworx.net/release-notes/26.02#bug-fixes-1" class="hash-link" aria-label="Direct link to Bug Fixes" title="Direct link to Bug Fixes" translate="no">​</a></h3>
<ul>
<li class=""><strong>Fixed Tag Version bug:</strong>  Fixed an issue which caused multiple duplicate tag versions to be created for tags that were not slowly changnig dimension</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="260203">26.02.03<a href="https://docs.energyworx.net/release-notes/26.02#260203" class="hash-link" aria-label="Direct link to 26.02.03" title="Direct link to 26.02.03" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="bug-fixes-2">Bug Fixes<a href="https://docs.energyworx.net/release-notes/26.02#bug-fixes-2" class="hash-link" aria-label="Direct link to Bug Fixes" title="Direct link to Bug Fixes" translate="no">​</a></h3>
<ul>
<li class=""><strong>Fixed documentation bug:</strong>  Fixed an issue in the knowledge base which caused images and videos not to display</li>
</ul>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Release Notes: Version 26.01]]></title>
        <id>https://docs.energyworx.net/release-notes/26.01</id>
        <link href="https://docs.energyworx.net/release-notes/26.01"/>
        <updated>2026-01-05T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[What's new in Energyworx platform version 26.01: new features, improvements, and fixes.]]></summary>
        <content type="html"><![CDATA[<p><em>Last updated: 16 July 2026</em></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="whats-new-"><strong>What's New</strong> ✨<a href="https://docs.energyworx.net/release-notes/26.01#whats-new-" class="hash-link" aria-label="Direct link to whats-new-" title="Direct link to whats-new-" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="run-trigger-schedules-from-the-console">Run Trigger Schedules From The Console<a href="https://docs.energyworx.net/release-notes/26.01#run-trigger-schedules-from-the-console" class="hash-link" aria-label="Direct link to Run Trigger Schedules From The Console" title="Direct link to Run Trigger Schedules From The Console" translate="no">​</a></h3>
<p>We've added a <code>Run</code> button to the trigger schedule details page. Now, you no longer need to run it from the API, but can start your test directly from the configuration page.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="processing-time-span-added-as-alert-metric">Processing Time Span Added As Alert Metric<a href="https://docs.energyworx.net/release-notes/26.01#processing-time-span-added-as-alert-metric" class="hash-link" aria-label="Direct link to Processing Time Span Added As Alert Metric" title="Direct link to Processing Time Span Added As Alert Metric" translate="no">​</a></h3>
<p>Process monitoring alerts can now be configured for the <code>Processing Time Spam</code> metric. This means it is now possible to set alerts to be sent off if a process takes longer than X hours to complete.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="️-rule-framework">⚙️ Rule Framework<a href="https://docs.energyworx.net/release-notes/26.01#%EF%B8%8F-rule-framework" class="hash-link" aria-label="Direct link to ⚙️ Rule Framework" title="Direct link to ⚙️ Rule Framework" translate="no">​</a></h2>
<ul>
<li class="">
<p><strong>Improved rule parameter configuration</strong>: When adding a ResourceInput widget as a rule parameter, the default type is now a list. This means it is, by default, possible to add multiple resources (ie: multiple flows, datasources, etc).
⚠️Note: this means even if only one item is added, the rule framework will return a list. This does not impact existing rules, but all new rules created. It should be taken into account when inheriting rules which have a parameter of type ResourceInput</p>
</li>
<li class="">
<p><strong>Flexible rule inheritance</strong>: Enabled the use of custom rules as base classes, removing the requirement to inherit directly from AbstractRule or AbstractTransformRule. Please note: inheriting from multiple classes is not supported</p>
</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="️-ui-improvements">🖥️ UI improvements<a href="https://docs.energyworx.net/release-notes/26.01#%EF%B8%8F-ui-improvements" class="hash-link" aria-label="Direct link to 🖥️ UI improvements" title="Direct link to 🖥️ UI improvements" translate="no">​</a></h2>
<ul>
<li class="">
<p><strong>Versioned API documentation</strong>: Each api version now has its own dedicated documentation page, which is accessible from both consoles.</p>
</li>
<li class="">
<p><strong>Datasource View fix</strong>: Resolved a loading issue in the Datasource View that occurred when no source channels were present.</p>
</li>
<li class="">
<p><strong>Flow creation defaults</strong>: Updated the default setting for new flows to Continuous | Datasource to align with the most frequent use cases.</p>
</li>
<li class="">
<p><strong>Improved tag traceability</strong> Fixed issue where tags created from the console showed up as created by the System instead of the user who created it.</p>
</li>
<li class="">
<p><strong>User group sorting</strong>: Implemented numerical ordering by ID for user groups in the console.</p>
</li>
<li class="">
<p><strong>Faster search</strong> Added support for loading 250 and 500 results at a time for File Management, Search and Audit Events</p>
</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-api">🔌 API<a href="https://docs.energyworx.net/release-notes/26.01#-api" class="hash-link" aria-label="Direct link to 🔌 API" title="Direct link to 🔌 API" translate="no">​</a></h2>
<ul>
<li class="">
<p><strong>BigQuery Sync Fix</strong> Fixed issue which prevented updates to datasources made through APIv1.5 to be reflected in BigQuery.</p>
</li>
<li class="">
<p><strong>Improved ingestion validation</strong> When a trigger of type bigquery-ingest is executed with the same reference date (and a previous one has been executed successfully) a Conflict Error is returned (HTTP Error Code 409) as opposed to a 200, as it was the case.</p>
</li>
<li class="">
<p><strong>Cross-console tag compatibility</strong>: Resolved a corruption issue to ensure tags can be seamlessly created and edited across both the original and new consoles.</p>
</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-error-handling--stability">🛠 Error Handling &amp; Stability<a href="https://docs.energyworx.net/release-notes/26.01#-error-handling--stability" class="hash-link" aria-label="Direct link to 🛠 Error Handling &amp; Stability" title="Direct link to 🛠 Error Handling &amp; Stability" translate="no">​</a></h2>
<ul>
<li class="">
<p><strong>Virtual Datasource Filtering</strong>: Improved handling for cases where a filter returns no datasources within the rule framework.</p>
</li>
<li class="">
<p><strong>Sending Emails</strong>: Added audit events for errors that were previously failing silently. For instance, when having duplicate emails on
<code>to_emails</code> and <code>bcc_emails</code> lists.</p>
</li>
<li class="">
<p><strong>Timeseries Storage</strong>: Improved error messaging when attempting to use store_timeseries with an invalid channel_id.</p>
</li>
<li class="">
<p><strong>Nested Rules</strong>: When loading a nested rule fails, the error audit event will now show in the Datasource's detail page. The message was also improved to show the rule that is trying to use the rule that is failing to be loaded.</p>
</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-documentation-updates">📚 Documentation Updates<a href="https://docs.energyworx.net/release-notes/26.01#-documentation-updates" class="hash-link" aria-label="Direct link to 📚 Documentation Updates" title="Direct link to 📚 Documentation Updates" translate="no">​</a></h2>
<ul>
<li class="">
<p><strong>Flow Properties</strong>: Updated documentation regarding allowed types in flow properties.</p>
</li>
<li class="">
<p><strong>CLI Resource Files</strong>: Improved the ewx-cli documentation for managing resource files.</p>
</li>
<li class="">
<p><strong>Permissions</strong>: Refined documentation explaining the whitelisting permissions logic.</p>
</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-notable-backend-changes">🚀 Notable Backend Changes<a href="https://docs.energyworx.net/release-notes/26.01#-notable-backend-changes" class="hash-link" aria-label="Direct link to 🚀 Notable Backend Changes" title="Direct link to 🚀 Notable Backend Changes" translate="no">​</a></h2>
<ul>
<li class="">
<p>⚠️ <strong>Process Pools Implementation</strong> In processing, billing accounts are now replaced by process pools, which behave the same as before.
Process pools will be used, from now on, to separate the workloads in which processing happens.</p>
<p><strong>Note:</strong> Billing accounts remain as they are in terms of user whitelisting and access, but no longer define how processing is ran.</p>
</li>
<li class="">
<p><strong>Processing Standardization</strong>: The rule framework now only receives standardized objects instead of legacy. This backend change cleans up the usage of legacy components in our processing, which will streamline and standardize the backend and make it easier to fix errors and develop new features in the future.
(Note: This is a backend change with no impact on the end-user).</p>
</li>
<li class="">
<p><strong>Improved XML File Creation:</strong> Fix issue when trying to create XML response files. This issue was caused by the mechanism to remove duplicated elements and attributes.</p>
</li>
<li class="">
<p><strong>Fixed detector bug</strong> Fixed issue in Avro schema in the detectors writers</p>
</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="260101">26.01.01<a href="https://docs.energyworx.net/release-notes/26.01#260101" class="hash-link" aria-label="Direct link to 26.01.01" title="Direct link to 26.01.01" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="bug-fixes">Bug Fixes<a href="https://docs.energyworx.net/release-notes/26.01#bug-fixes" class="hash-link" aria-label="Direct link to Bug Fixes" title="Direct link to Bug Fixes" translate="no">​</a></h3>
<ul>
<li class=""><strong>Fixed auth bug:</strong> Fixed an issue that was causing users being not authorized in some namespaces after using APIv2 or JWT tokens.</li>
<li class=""><strong>Deployment Improvement:</strong> Included backend changes to reduce manual steps needed for deployment</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="260102">26.01.02<a href="https://docs.energyworx.net/release-notes/26.01#260102" class="hash-link" aria-label="Direct link to 26.01.02" title="Direct link to 26.01.02" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="bug-fixes-1">Bug Fixes<a href="https://docs.energyworx.net/release-notes/26.01#bug-fixes-1" class="hash-link" aria-label="Direct link to Bug Fixes" title="Direct link to Bug Fixes" translate="no">​</a></h3>
<ul>
<li class=""><strong>Fixed Frontend bug:</strong>  Fixed an issue regarding the google analytics API, that was causing the Frontend Build to fail</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="260103">26.01.03<a href="https://docs.energyworx.net/release-notes/26.01#260103" class="hash-link" aria-label="Direct link to 26.01.03" title="Direct link to 26.01.03" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="bug-fixes-2">Bug Fixes<a href="https://docs.energyworx.net/release-notes/26.01#bug-fixes-2" class="hash-link" aria-label="Direct link to Bug Fixes" title="Direct link to Bug Fixes" translate="no">​</a></h3>
<ul>
<li class=""><strong>API certificate fix:</strong>  Fixed issue that prevented valid certificates from being generated for one of the API url variants.</li>
<li class=""><strong>Fixed an issue with Trigger Schedules:</strong> Updated trigger logic to provide full support for daylight saving time (DST). Previously, triggers were locked to UTC offsets, which caused scheduled tasks to shift by one hour when regional time zones switched from DST to standard time. With this update, triggers now correctly respect regional time zone rules, ensuring that tasks run at the exact local time.</li>
</ul>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Release Notes: Version 25.12]]></title>
        <id>https://docs.energyworx.net/release-notes/25.12</id>
        <link href="https://docs.energyworx.net/release-notes/25.12"/>
        <updated>2025-12-01T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[What\'s New ✨]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="whats-new-"><strong>What's New</strong> ✨<a href="https://docs.energyworx.net/release-notes/25.12#whats-new-" class="hash-link" aria-label="Direct link to whats-new-" title="Direct link to whats-new-" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="send-emails-from-the-rule-framework">Send emails from the rule framework<a href="https://docs.energyworx.net/release-notes/25.12#send-emails-from-the-rule-framework" class="hash-link" aria-label="Direct link to Send emails from the rule framework" title="Direct link to Send emails from the rule framework" translate="no">​</a></h3>
<p>A send_email function has been added to the rule framework, which allows users to send emails from rules.
To find out how, check out our knowledge base by searching "Sending Emails" or by navigating to Platform &gt; 3- Data Processing &gt; Custom Business Logic &gt; Custom Rules &gt; 7- Sending Emails.md</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="trigger-schedule-supports-json-output">Trigger schedule supports JSON output<a href="https://docs.energyworx.net/release-notes/25.12#trigger-schedule-supports-json-output" class="hash-link" aria-label="Direct link to Trigger schedule supports JSON output" title="Direct link to Trigger schedule supports JSON output" translate="no">​</a></h3>
<p>Trigger schedules can now also output json files. To do that, you can add the property "format" and set it to "JSON".
More details are available in the trigger schedule documentation</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="ewx-cli-self-service-authentication">ewx-cli self-service authentication<a href="https://docs.energyworx.net/release-notes/25.12#ewx-cli-self-service-authentication" class="hash-link" aria-label="Direct link to ewx-cli self-service authentication" title="Direct link to ewx-cli self-service authentication" translate="no">​</a></h3>
<p>The ewx-cli tool has been updated such that the authentication no longer requires the help of the Service Desk team.
Users are able to authenticate themselves, through the Settings page in the new console.</p>
<p><strong>⚠️BREAKING CHANGE ⚠️</strong></p>
<ul>
<li class="">Existing authentication with the cli will no longer work, when running the ewx-cli the next time you will be prompted to reauthenticate.</li>
<li class="">Please note: The <code>ewx-cli</code> now supports using the subdomain from the platform URL to identify the project. While old project names are still supported, using the subdomain is the preferred method.<!-- -->
<ul>
<li class="">For example, if your platform URL is <code>test-t.energyworx.net</code>, you can use <code>test-t/enrx_org_001</code>.</li>
<li class="">Similarly, for <code>test.t.energyworx.net</code>, you can use <code>test.t/enrx_org_001</code>.</li>
</ul>
</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="notable-improvements--fixes-"><strong>Notable Improvements &amp; Fixes</strong> 🛠<a href="https://docs.energyworx.net/release-notes/25.12#notable-improvements--fixes-" class="hash-link" aria-label="Direct link to notable-improvements--fixes-" title="Direct link to notable-improvements--fixes-" translate="no">​</a></h2>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="️-ui-improvements">🖥️ UI improvements<a href="https://docs.energyworx.net/release-notes/25.12#%EF%B8%8F-ui-improvements" class="hash-link" aria-label="Direct link to 🖥️ UI improvements" title="Direct link to 🖥️ UI improvements" translate="no">​</a></h2>
<ul>
<li class="">
<p><strong>Process Monitoring</strong>: Process Monitoring is now available through the original console and no longer needs Beta features enabled to be accessed.</p>
</li>
<li class="">
<p><strong>Boolean Display Consistency</strong>: Booleans now read as True/False instead of Yes/No in the original console. This means that a tag property that is a boolean will now correctly display True instead of Yes. (Note: this is only a front-end change and does not impact rule implementation).</p>
</li>
<li class="">
<p><strong>User-Friendly Task Configuration</strong>: Improved the task configuration page to show more user-friendly wording in the original console.</p>
</li>
<li class="">
<p><strong>Clearer Rule Saving Warnings</strong>: When saving a rule, the warning message now specifies which fields require updating the flow, making it clearer to users when this use case applies.</p>
</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-error-handling">🐛 Error Handling<a href="https://docs.energyworx.net/release-notes/25.12#-error-handling" class="hash-link" aria-label="Direct link to 🐛 Error Handling" title="Direct link to 🐛 Error Handling" translate="no">​</a></h2>
<ul>
<li class="">
<p><strong>Improved Live Flag Validation Feedback</strong>: Corrected an issue where the system silently failed on saving invalid Live Flag configurations.
The platform now implements proper validation feedback, ensuring that users receive a descriptive error message specifying the configuration conflict.</p>
</li>
<li class="">
<p><strong>Datasource Audit Events</strong>: Fixed issue which prevented an Audit Event from being logged when a user accessed a datasource in the new console.
This corrects an issue with traceability and now allows audit events to track any user that accesses a datasource, regardless of which console they use.</p>
</li>
<li class="">
<p><strong>Improved DPA/Annotation Error Logs</strong>: Improved error log when saving DPA or annotations using store_timeseries.
The message now specifies clearly what the issue is, making it easier for the user to correct the code.</p>
</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="️-platform--backend-improvements">⚙️ Platform &amp; Backend Improvements<a href="https://docs.energyworx.net/release-notes/25.12#%EF%B8%8F-platform--backend-improvements" class="hash-link" aria-label="Direct link to ⚙️ Platform &amp; Backend Improvements" title="Direct link to ⚙️ Platform &amp; Backend Improvements" translate="no">​</a></h2>
<ul>
<li class="">
<p><strong>Flow Property Lists</strong>: It is now possible to pass lists as values within flow properties.</p>
</li>
<li class="">
<p><strong>Datasource Handling Standardization</strong>: Standardized datasource handling in the rule framework.
This backend change cleans up the usage of legacy components in our processing, which will streamline and standardize the backend and make it easier to fix errors and develop new features in the future.
(Note: This is a backend change with no impact on the end-user).</p>
</li>
<li class="">
<p><strong>FlowCancelException Fix</strong>: Fixed an issue which prevented the <code>show_exception_as_warning</code> parameter to work when imported from the energyworx module.</p>
</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-api--permissions">🔐 API &amp; Permissions<a href="https://docs.energyworx.net/release-notes/25.12#-api--permissions" class="hash-link" aria-label="Direct link to 🔐 API &amp; Permissions" title="Direct link to 🔐 API &amp; Permissions" translate="no">​</a></h2>
<ul>
<li class=""><strong>Channel Family API Permissions</strong>: Fixed a permission issue in APIv2 where the system incorrectly checked for the "datasource" permission for Channel Family resources. Access is now correctly granted through the dedicated "channelfamily" permission.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="251201">25.12.01<a href="https://docs.energyworx.net/release-notes/25.12#251201" class="hash-link" aria-label="Direct link to 25.12.01" title="Direct link to 25.12.01" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="bug-fixes">Bug Fixes<a href="https://docs.energyworx.net/release-notes/25.12#bug-fixes" class="hash-link" aria-label="Direct link to Bug Fixes" title="Direct link to Bug Fixes" translate="no">​</a></h3>
<ul>
<li class="">Fixed issue where sign in provider would be wrongly set to Google for new users. It now respects the sign in method used.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="251202">25.12.02<a href="https://docs.energyworx.net/release-notes/25.12#251202" class="hash-link" aria-label="Direct link to 25.12.02" title="Direct link to 25.12.02" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="bug-fixes-1">Bug Fixes<a href="https://docs.energyworx.net/release-notes/25.12#bug-fixes-1" class="hash-link" aria-label="Direct link to Bug Fixes" title="Direct link to Bug Fixes" translate="no">​</a></h3>
<ul>
<li class="">Corrected cleanup logic to ensure Docker images remain, as long as they are being used by active workloads.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="251203">25.12.03<a href="https://docs.energyworx.net/release-notes/25.12#251203" class="hash-link" aria-label="Direct link to 25.12.03" title="Direct link to 25.12.03" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="bug-fixes-2">Bug Fixes<a href="https://docs.energyworx.net/release-notes/25.12#bug-fixes-2" class="hash-link" aria-label="Direct link to Bug Fixes" title="Direct link to Bug Fixes" translate="no">​</a></h3>
<ul>
<li class=""><strong>Fixed Frontend bug:</strong>  Fixed an issue regarding the google analytics API, that was causing the Frontend Build to fail</li>
</ul>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Release Notes: Version 25.04]]></title>
        <id>https://docs.energyworx.net/release-notes/25.04</id>
        <link href="https://docs.energyworx.net/release-notes/25.04"/>
        <updated>2025-04-07T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[What\'s New ✨]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="whats-new-"><strong>What's New</strong> ✨<a href="https://docs.energyworx.net/release-notes/25.04#whats-new-" class="hash-link" aria-label="Direct link to whats-new-" title="Direct link to whats-new-" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="restricted-administrator-access-in-the-energyworx-console">Restricted Administrator Access in the Energyworx Console<a href="https://docs.energyworx.net/release-notes/25.04#restricted-administrator-access-in-the-energyworx-console" class="hash-link" aria-label="Direct link to Restricted Administrator Access in the Energyworx Console" title="Direct link to Restricted Administrator Access in the Energyworx Console" translate="no">​</a></h3>
<p>Any user can now be configured as admin.
When a user is first whitelisted, they are configured as non-admin. Admin access can <strong>only</strong> be granted individually, and not through User Groups in the <code>Administrator -&gt; Whitelist -&gt; Details</code> page.
This can only be done by an admin, so you will first need to request admin access through the service desk.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="self-service-client-credentials-setup-in-nui-user-settings">Self-service client credentials setup in NUI user settings<a href="https://docs.energyworx.net/release-notes/25.04#self-service-client-credentials-setup-in-nui-user-settings" class="hash-link" aria-label="Direct link to Self-service client credentials setup in NUI user settings" title="Direct link to Self-service client credentials setup in NUI user settings" translate="no">​</a></h3>
<p>Client Credentials can now be created through the NUI settings page. This means it is no longer necessary to contact the service desk to get credentials to connect to the platform.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="notable-improvements--fixes-"><strong>Notable Improvements &amp; Fixes</strong> 🛠<a href="https://docs.energyworx.net/release-notes/25.04#notable-improvements--fixes-" class="hash-link" aria-label="Direct link to notable-improvements--fixes-" title="Direct link to notable-improvements--fixes-" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="-platform--api-improvements">🚀 Platform &amp; API Improvements<a href="https://docs.energyworx.net/release-notes/25.04#-platform--api-improvements" class="hash-link" aria-label="Direct link to 🚀 Platform &amp; API Improvements" title="Direct link to 🚀 Platform &amp; API Improvements" translate="no">​</a></h3>
<ul>
<li class="">
<p><strong>Smarter Datapoint Attributes (DPAs):</strong> Datapoint Attributes symbols, used in DPA enums, are case-insensitive. It is not possible to use the same symbol with different cases in the same DPA.</p>
</li>
<li class="">
<p><strong>Real-time Annotation Updates:</strong> Annotations are now updated in the table and chart after editing</p>
</li>
<li class="">
<p><strong>Improved documentation of APIv2:</strong> Removed invalid descriptions and added more descriptive titles for some API calls.</p>
</li>
<li class="">
<p><strong>Improved Audit Event Search:</strong> Fixed bug that prevented search by subjects (ie: flow id) in the audit events from the Datasource Details page</p>
</li>
<li class="">
<p><strong>Improved Transformation Configuration:</strong> Adding a transform rule to a static field in version and valid from in Channels and Tags is now supported.</p>
</li>
<li class="">
<p><strong>Task Creation Fix:</strong> Fixed an issue that prevented tasks from being created in flows when using the <code>AbortOnError</code> setting.</p>
</li>
</ul>
<p>⚠️<strong>BREAKING CHANGE</strong>⚠️:</p>
<p><strong>Tag Versioning Requirement</strong>: You cannot update only a Tag's <code>valid\_from</code> to a later date via the API or pipeline (ingestion/flow).
To update the <code>valid\_from</code> to a later value, you must force a new version by modifying any other property in the same request. If necessary, you can then make a subsequent update to revert that property back to its original value.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="️-ui-improvements">🖥️ UI improvements<a href="https://docs.energyworx.net/release-notes/25.04#%EF%B8%8F-ui-improvements" class="hash-link" aria-label="Direct link to 🖥️ UI improvements" title="Direct link to 🖥️ UI improvements" translate="no">​</a></h3>
<ul>
<li class="">
<p><strong>Chart Toggles Consistency:</strong> Enabling or disabling a channel or annotation in any chart in the original console is now always done through the square next to its name</p>
</li>
<li class="">
<p><strong>Consistent Menu Order:</strong> The menu layout in the new console now exactly matches the original console for better consistency.</p>
</li>
<li class="">
<p><strong>Knowledge Base:</strong> Knowledge Base page now opens in a new tab</p>
</li>
<li class="">
<p><strong>Faster Transition Between Original and New Console:</strong> Updated loading screen and much improved loading times for the new console.</p>
</li>
<li class="">
<p><strong>Dashboard Widget Saving:</strong> Fixed an issue when adding the first widget to a new dashboard wouldn't save the string replacement</p>
</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="-ewx-cli">💻 ewx-cli<a href="https://docs.energyworx.net/release-notes/25.04#-ewx-cli" class="hash-link" aria-label="Direct link to 💻 ewx-cli" title="Direct link to 💻 ewx-cli" translate="no">​</a></h3>
<ul>
<li class="">
<p><strong>Non-Admin Access</strong>: The CLI now skips admin-only resources when the current user is not an administrator, preventing errors.</p>
</li>
<li class="">
<p><strong>Who Last Updated What</strong>: The Upload Overview in the CLI now includes a helpful feature showing who last updated the resource.</p>
</li>
<li class="">
<p><strong>Namespace Alias Fix</strong>: We resolved an issue related to the namespace alias functionality in the CLI.</p>
</li>
</ul>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Release Notes: Version 25.03]]></title>
        <id>https://docs.energyworx.net/release-notes/25.03</id>
        <link href="https://docs.energyworx.net/release-notes/25.03"/>
        <updated>2025-03-03T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[We\'ve been busy making a number of improvements and introducing new]]></summary>
        <content type="html"><![CDATA[<p>We've been busy making a number of improvements and introducing new
features to enhance your experience with the platform. Here's what's
new:</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="whats-new-"><strong>What's New</strong> ✨<a href="https://docs.energyworx.net/release-notes/25.03#whats-new-" class="hash-link" aria-label="Direct link to whats-new-" title="Direct link to whats-new-" translate="no">​</a></h2>
<ul>
<li class="">
<p><strong>Detailed Audit Event Filtering:</strong> You can now easily filter Audit
Events in the New console by specific dates and times, giving you more
granular control over your searches.</p>
</li>
<li class="">
<p><strong>Enhanced Datasource Tracking:</strong> Our BigQuery Datasources table now
automatically tracks new datasources as they are ingested and processed.
We've also added a table for simpler querying of the most up-to-date
datasource versions.</p>
</li>
<li class="">
<p><strong>Improved Platform Link Sharing:</strong> All links to platform resources now
consistently include namespaces. This means when you share a link with a
colleague, they'll land directly on the correct resource without
needing to manually switch namespaces.</p>
</li>
<li class="">
<p><strong>Flexible Trigger Timezones:</strong> When setting up triggers, you can now
specify a timezone. This ensures your triggers run at the exact time you
intend, based on your local timezone, rather than defaulting to UTC.
(Existing triggers without a specified timezone will continue to use
UTC).</p>
</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="custom-market-adapters-api-only">Custom Market Adapters (API-Only)<a href="https://docs.energyworx.net/release-notes/25.03#custom-market-adapters-api-only" class="hash-link" aria-label="Direct link to Custom Market Adapters (API-Only)" title="Direct link to Custom Market Adapters (API-Only)" translate="no">​</a></h3>
<p>You can now customize Market Adapters directly on the platform to meet
specific customer requirements. This allows for direct code
modifications and additions.</p>
<blockquote>
<p><strong>Please Note:</strong> Currently, this feature is only available via
<strong>APIv1</strong>. Support for custom Market Adapters will be added to the User
Interface in a future release.</p>
</blockquote>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="enhanced-security">Enhanced Security:<a href="https://docs.energyworx.net/release-notes/25.03#enhanced-security" class="hash-link" aria-label="Direct link to Enhanced Security:" title="Direct link to Enhanced Security:" translate="no">​</a></h3>
<ul>
<li class="">
<p><strong>File Uploads:</strong> Our API now
actively blocks the upload of files with potentially malicious
extensions, bolstering platform security.</p>
</li>
<li class="">
<p><strong>Data Disclosure:</strong> We've taken
steps to further secure sensitive data by no longer disclosing
Gunicorn in server headers.</p>
</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="core-platform-updates">Core Platform Updates:<a href="https://docs.energyworx.net/release-notes/25.03#core-platform-updates" class="hash-link" aria-label="Direct link to Core Platform Updates:" title="Direct link to Core Platform Updates:" translate="no">​</a></h3>
<ul>
<li class="">
<p><strong>GKE Version Update:</strong> The minimal
required GKE version has been updated from 1.33, bringing general
platform improvements and stability.</p>
</li>
<li class="">
<p><strong>Deployment Optimizations:</strong> We've
made improvements to our deployment processes for greater efficiency.</p>
</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="notable-improvements--fixes-"><strong>Notable Improvements &amp; Fixes</strong> 🛠<a href="https://docs.energyworx.net/release-notes/25.03#notable-improvements--fixes-" class="hash-link" aria-label="Direct link to notable-improvements--fixes-" title="Direct link to notable-improvements--fixes-" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="platform--console"><strong>Platform &amp; Console</strong><a href="https://docs.energyworx.net/release-notes/25.03#platform--console" class="hash-link" aria-label="Direct link to platform--console" title="Direct link to platform--console" translate="no">​</a></h3>
<ul>
<li class="">
<p><strong>Case-Sensitive Datasource IDs for Tags:</strong> Fixed an issue where tags
were not retrieved correctly if stored with an inconsistent datasource
ID case.</p>
</li>
<li class="">
<p><strong>Dashboard Widget String Replacement:</strong> Fixed a bug that prevented
all occurrences of a query string from being replaced in dashboard
widgets.</p>
</li>
<li class="">
<p><strong>UI Flow Update Feedback:</strong> Corrected an issue in the UI where
successful flow updates were shown even when a required rule parameter
was missing.</p>
</li>
<li class="">
<p><strong>New Tab Functionality:</strong> Buttons in
the console now support middle-click to open views in a new browser
tab.</p>
</li>
<li class="">
<p><strong>Reduced UI Switch Time:</strong> Significantly reduced the time it takes to
switch between the New and Old User Interfaces (OUI/NUI).</p>
</li>
<li class="">
<p><strong>Datasource View Time Range:</strong> Fixed an issue where the time range
selection for timeseries in the datasource view was not correctly
affecting the results.</p>
</li>
<li class="">
<p><strong>Channel Families List Fix:</strong>
Resolved an issue that prevented the listing of Channel Families via
the API endpoint.</p>
</li>
<li class="">
<p><strong>Accurate Collective Trigger Audit Events:</strong> Fixed an issue that prevented
Audit Events from Collective
Trigger pipelines from being written to BigQuery, especially when
deadlines were set in the past.</p>
</li>
<li class="">
<p><strong>Accurate Tag Creation Feedback:</strong> Corrected an issue where
"successful" messages were displayed even when an API error occurred
during tag creation using reserved keywords.</p>
</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="data-management--rule-framework"><strong>Data Management &amp; Rule Framework</strong><a href="https://docs.energyworx.net/release-notes/25.03#data-management--rule-framework" class="hash-link" aria-label="Direct link to data-management--rule-framework" title="Direct link to data-management--rule-framework" translate="no">​</a></h3>
<ul>
<li class="">
<p><strong>Flexible Trigger Execution:</strong> Introduced a <code>bypass_decision_tree</code> and
<code>send_collective_trigger</code> and <code>CrunchTrigger</code> objects. This allows for more
dynamic control, enabling you to skip decision tree evaluation based on
external logic.</p>
</li>
<li class="">
<p><strong>Data Ingestion Reliability:</strong> Resolved an unexpected error that could
halt execution during data ingestion, ensuring that all data ingestion
triggering flows now complete successfully.</p>
</li>
<li class="">
<p><strong>Improved Data Collection Retry:</strong>
Added a retry mechanism for internal exceptions in collect and adapt
functions of the Market Adapters (MA).</p>
</li>
<li class="">
<p><strong>Large Market Adapter Message
Handling:</strong> Market Adapter messages exceeding the internal limits are
now split and offloaded to Storage, where they will be processed
normally by the pipeline.</p>
</li>
<li class="">
<p><strong>BigQuery Timeseries Fix:</strong> Resolved an issue where a cached classifier
prevented timeseries data from being correctly written to BigQuery.</p>
</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="apiv2"><strong>APIv2</strong><a href="https://docs.energyworx.net/release-notes/25.03#apiv2" class="hash-link" aria-label="Direct link to apiv2" title="Direct link to apiv2" translate="no">​</a></h3>
<ul>
<li class="">
<p><strong>Consistent APIv2 Timestamps:</strong> All timestamps returned by APIv2 are
now consistently at microsecond precision, even if the most precise
number is in seconds. This provides a uniform data format.</p>
</li>
<li class="">
<p><strong>APIv2 Datasource Naming:</strong> Datasource creation in APIv2 now only
allows alphanumeric characters and underscores for storage reasons.
Special characters are no longer permitted.</p>
</li>
<li class="">
<p><strong>APIv2 Empty Value Responses:</strong> Fixed an issue where APIv2 list
endpoints were returning empty string for next page token instead of
omitting empty values from the JSON response.</p>
</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="edm-packages"><strong>EDM packages</strong>:<a href="https://docs.energyworx.net/release-notes/25.03#edm-packages" class="hash-link" aria-label="Direct link to edm-packages" title="Direct link to edm-packages" translate="no">​</a></h3>
<p>Dashboard Widget Accuracy: Corrected a widget to accurately count only METER
datasources when displaying the number of datasources with critical
events per day.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="pytest-bdd-ewx-improvements-"><strong>Pytest-bdd-ewx Improvements</strong> 🧪<a href="https://docs.energyworx.net/release-notes/25.03#pytest-bdd-ewx-improvements-" class="hash-link" aria-label="Direct link to pytest-bdd-ewx-improvements-" title="Direct link to pytest-bdd-ewx-improvements-" translate="no">​</a></h3>
<p>We've added several new steps to our <code>pytest-bdd-ewx</code> plugin, plugin,
enhancing our testing capabilities for data
editing and history verification:</p>
<ul>
<li class=""><strong>Datapoint Editing Scenarios:</strong> New steps to facilitate various
datapoint editing tests: Edit single or multiple datapoint value,
attribute or annotation values.</li>
<li class=""><strong>Edit History Verification</strong>: Check for datapoint versions for
continuous and scenario flow channels after editing.
Confirm the previous value of a
datapoint value, attribute or annotation in the edits history (with
optional verification of edit reason and user email).</li>
</ul>
<p>A full list of the available steps can be found <a class="" href="https://docs.energyworx.net/packages/pytest-bdd-ewx/available-gherkin-steps">here</a></p>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Release Notes: Version 25.02]]></title>
        <id>https://docs.energyworx.net/release-notes/25.02</id>
        <link href="https://docs.energyworx.net/release-notes/25.02"/>
        <updated>2025-02-03T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Discover the latest features and improvements in Version 25.02 for an]]></summary>
        <content type="html"><![CDATA[<p>Discover the latest features and improvements in Version 25.02 for an
enhanced user experience.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="whats-new"><strong>What's new</strong><a href="https://docs.energyworx.net/release-notes/25.02#whats-new" class="hash-link" aria-label="Direct link to whats-new" title="Direct link to whats-new" translate="no">​</a></h2>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="api-v2-enhancements"><strong>API v2 Enhancements:</strong><a href="https://docs.energyworx.net/release-notes/25.02#api-v2-enhancements" class="hash-link" aria-label="Direct link to api-v2-enhancements" title="Direct link to api-v2-enhancements" translate="no">​</a></h4>
<p>We have made several enhancements to our API v2 to give you more control
and visibility:</p>
<ul>
<li class=""><strong>Start Flows with API v2:</strong> You can now start flows directly through
our API v2.</li>
<li class=""><strong>Flow Metadata Search:</strong> A new endpoint has been added for
searching flow metadata, and it now returns flow configuration
information.</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="rule-framework"><strong>Rule Framework:</strong><a href="https://docs.energyworx.net/release-notes/25.02#rule-framework" class="hash-link" aria-label="Direct link to rule-framework" title="Direct link to rule-framework" translate="no">​</a></h4>
<p>The rule framework has also been enhanced with new capabilities:</p>
<ul>
<li class=""><strong>Custom Logging from Rules:</strong> It is now possible to create audit
events directly from your Transform Rules, by simply using the
self.rule_logger in a transform rule.</li>
<li class=""><strong>Split Step Monitoring:</strong> Rules in your flows can now retrieve the
amount of messages that were generated during the split step in the
ingestion process. Please refer to the documentation for details on
this new feature in the market_adapter_split_count
<a class="" href="https://docs.energyworx.net/platform/data-processing/custom-business-logic/custom-rules/rule-framework-functions">section</a>.</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="data-management"><strong>Data Management:</strong><a href="https://docs.energyworx.net/release-notes/25.02#data-management" class="hash-link" aria-label="Direct link to data-management" title="Direct link to data-management" translate="no">​</a></h4>
<p>Here is a list of improvements related to data management:</p>
<ul>
<li class=""><strong>Advanced Search Feedback:</strong> Advanced search now provides more
details if your query is not valid.</li>
<li class=""><strong>Timeseries Support:</strong> The platform now ensures microsecond support
for timeseries indices. Please note that flows and ingestions will
continue to support millisecond precision at this time.</li>
<li class=""><strong>Process Monitoring:</strong> We have added new "In Progress" metrics to
Process Monitoring, allowing you to easily track the number of process
instances that have started but not yet finished.</li>
<li class=""><strong>Deprecated Client Removed:</strong> The deprecated ewx-client has been
removed in this version.</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="whats-available-in-the-new-ui"><strong>What's Available in the New UI:</strong><a href="https://docs.energyworx.net/release-notes/25.02#whats-available-in-the-new-ui" class="hash-link" aria-label="Direct link to whats-available-in-the-new-ui" title="Direct link to whats-available-in-the-new-ui" translate="no">​</a></h4>
<p>The following functionalities are available in the new UI, which can be
used by enabling beta features:</p>
<ul>
<li class="">Searching for datasources</li>
<li class="">Managing channel classifiers (and underlying channel families)</li>
<li class="">Creating market adapters</li>
<li class="">Managing live flags and process monitoring</li>
<li class="">Viewing audit events (Note: Links still lead to the classic UI for
now)</li>
<li class="">Using enerGPT, our in-house AI assistant</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="integration-tooling"><strong>Integration tooling</strong><a href="https://docs.energyworx.net/release-notes/25.02#integration-tooling" class="hash-link" aria-label="Direct link to integration-tooling" title="Direct link to integration-tooling" translate="no">​</a></h3>
<p>We've made major improvements to our integration tooling, with a special
focus on making your development and testing workflows smoother.</p>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="enhanced-pytest-plugin"><strong>Enhanced Pytest Plugin:</strong><a href="https://docs.energyworx.net/release-notes/25.02#enhanced-pytest-plugin" class="hash-link" aria-label="Direct link to enhanced-pytest-plugin" title="Direct link to enhanced-pytest-plugin" translate="no">​</a></h4>
<p>Our <code>pytest-bdd-ewx</code> plugin is now more powerful, allowing you to easily
test a wider range of API v2 endpoints. You can now:</p>
<ul>
<li class=""><strong>Validate Datasource Tags</strong>: Check and verify tags and their
attributes on a datasource, just as you do for API v1.5.</li>
<li class=""><strong>Create Tags</strong>: Create tags with specific valid_from and version
fields directly from your tests.</li>
<li class=""><strong>Verify Channel Attributes</strong>: Easily confirm the number of
datapoints, attributes, and annotations for a channel in the
Timeseries API v2 response, with support for filtering by date range,
channel family, and more.</li>
<li class=""><strong>Validate Search Results</strong>: Ensure that your datasource search
returns only the specific datasources you are looking for.</li>
<li class=""><strong>Monitor Live Flags</strong>: Get a live flag by name and use it to filter
timeseries data, verifying the amount of flags per channel.</li>
</ul>
<p>A full list of the available steps can be found <a class="" href="https://docs.energyworx.net/packages/pytest-bdd-ewx/available-gherkin-steps">here</a></p>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="ewx-cli-api-v2-support"><code>ewx-cli</code> <strong>API v2 Support:</strong><a href="https://docs.energyworx.net/release-notes/25.02#ewx-cli-api-v2-support" class="hash-link" aria-label="Direct link to ewx-cli-api-v2-support" title="Direct link to ewx-cli-api-v2-support" translate="no">​</a></h4>
<p>We've added initial support for API v2 in ewx-cli, starting with
Channel Families. To use this new functionality, you'll need to update
your ewx-cli credentials. We've added a new add-apiv2-credentials
command to simplify this process for existing projects.</p>
<ul>
<li class=""><strong>Note</strong>: To use this new functionality, API v2 credentials must be
created by an admin and added to your configuration.</li>
<li class=""><strong>Backwards Compatibility</strong>: The ewx-cli won't fail if a Channel
Family configuration is missing, but it will show a warning to help
you identify missing configurations.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="notable-improvements--fixes"><strong>Notable Improvements &amp; Fixes</strong><a href="https://docs.energyworx.net/release-notes/25.02#notable-improvements--fixes" class="hash-link" aria-label="Direct link to notable-improvements--fixes" title="Direct link to notable-improvements--fixes" translate="no">​</a></h2>
<p>We've addressed several issues and introduced key fixes across the
platform for a more stable and intuitive experience.</p>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="platform--console"><strong>Platform &amp; Console</strong><a href="https://docs.energyworx.net/release-notes/25.02#platform--console" class="hash-link" aria-label="Direct link to platform--console" title="Direct link to platform--console" translate="no">​</a></h4>
<ul>
<li class=""><strong>Improved Search &amp; Visibility</strong>: Advanced Search now provides more
details on invalid queries, and the results table now displays all
columns correctly.</li>
<li class=""><strong>More Accurate Data</strong>: We've resolved an issue where older
annotations would appear on newer datapoints. Also, timeseries data
now has microsecond precision, and a bug was fixed where flow
timestamps were incorrectly set to zero.</li>
<li class=""><strong>User Experience</strong>: Linked the datasource flow in the TC to the flow
configuration page, and fixed an issue where Datasource classifiers
could not be changed more than once.</li>
<li class=""><strong>Access Control</strong>: All users now have access to the EnerGPT page, and
audit events are now properly filtered by severity.</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="api-v2"><strong>API v2</strong><a href="https://docs.energyworx.net/release-notes/25.02#api-v2" class="hash-link" aria-label="Direct link to api-v2" title="Direct link to api-v2" translate="no">​</a></h4>
<ul>
<li class=""><strong>More Accurate Filters</strong>: The Timeseries API now successfully filters
on a specific version instead of just on ranges. We've also added
support for comma-separated channel classifiers in API v1.5 timeseries
calls.</li>
<li class=""><strong>Improved Validations</strong>: Case-insensitive checks for duplicate names
have been added, and we no longer allow symbols for 'non-enum'
attributes, improving data integrity.</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="data-management--rule-framework"><strong>Data Management &amp; Rule Framework</strong><a href="https://docs.energyworx.net/release-notes/25.02#data-management--rule-framework" class="hash-link" aria-label="Direct link to data-management--rule-framework" title="Direct link to data-management--rule-framework" translate="no">​</a></h4>
<ul>
<li class=""><strong>New Channel Family Naming</strong>: Channel Family names prefixed
with EWX_ are no longer allowed to prevent conflicts between internal
and customer-specific families.</li>
<li class=""><strong>JSON Market Adapter</strong>: We fixed a bug in the JSON MA that prevented
multidimensional JSON files from being ingested.</li>
<li class=""><strong>Transform Rules</strong>: The get_existing_datasources method now
returns an object for each datasource ID, including None for
non-existing ones. Custom transform rules can now also be configured
for a tag's valid_from field.</li>
<li class=""><strong>Data Integrity</strong>: We've added validation to check for proper ISO
datetime values for a tag's valid_from and version attributes.</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="ml-serving"><strong>ML Serving</strong><a href="https://docs.energyworx.net/release-notes/25.02#ml-serving" class="hash-link" aria-label="Direct link to ml-serving" title="Direct link to ml-serving" translate="no">​</a></h4>
<ul>
<li class=""><strong>More Cost-Effective ML Models:</strong> Our ML models are now more
cost-effective when in an idle state, helping you optimize resource
usage.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="breaking-change"><strong>BREAKING CHANGE</strong><a href="https://docs.energyworx.net/release-notes/25.02#breaking-change" class="hash-link" aria-label="Direct link to breaking-change" title="Direct link to breaking-change" translate="no">​</a></h3>
<p><strong>EQL queries</strong>: dropped support for aliasing of <code>datasource_id</code> table
attribute in EQL. <code>internal_datasource_id</code> must now be used instead of
<code>datasource_id</code> in EQL queries. This affects dashboard and advanced
search queries.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="250201">25.02.01<a href="https://docs.energyworx.net/release-notes/25.02#250201" class="hash-link" aria-label="Direct link to 25.02.01" title="Direct link to 25.02.01" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="bug-fixes">Bug Fixes<a href="https://docs.energyworx.net/release-notes/25.02#bug-fixes" class="hash-link" aria-label="Direct link to Bug Fixes" title="Direct link to Bug Fixes" translate="no">​</a></h3>
<ul>
<li class="">Updated search to allow for more "fuzziness"</li>
<li class="">An issue was caused by an unexpected error in the code, which halted
execution. All data ingestion that triggers crunch flows should now
complete successfully.</li>
<li class="">Added retry mechanism in collect and adapt MA for google
<code>TransportError</code> exception, caused by <code>NewConnectionError</code>.</li>
<li class="">Resolved an issue where the BigQuery ingest trigger schedule did not
work due to a recent architectural change.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="250202">25.02.02<a href="https://docs.energyworx.net/release-notes/25.02#250202" class="hash-link" aria-label="Direct link to 25.02.02" title="Direct link to 25.02.02" translate="no">​</a></h2>
<p>Documentation</p>
<p>The Knowledge Base has been reintegrated directly into the platform and
reorganized to provide clearer structure and easier navigation.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="bug-fixes-1">Bug Fixes<a href="https://docs.energyworx.net/release-notes/25.02#bug-fixes-1" class="hash-link" aria-label="Direct link to Bug Fixes" title="Direct link to Bug Fixes" translate="no">​</a></h3>
<ul>
<li class="">Fixed issue that prevented replacing all occurrences of a query string
in a query.</li>
<li class="">Added a <code>bypass_decision_tree</code> parameter to the
<code>send_collective_trigger</code> method and CrunchTrigger object, enabling
callers to skip the evaluation of any associated decision tree. This
allows for conditional execution, where a decision tree may be defined
but not executed based on external logic. The default behavior remains
unchanged.</li>
<li class="">Increased autoscaler resources</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="250203">25.02.03<a href="https://docs.energyworx.net/release-notes/25.02#250203" class="hash-link" aria-label="Direct link to 25.02.03" title="Direct link to 25.02.03" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="bug-fixes-2">Bug Fixes<a href="https://docs.energyworx.net/release-notes/25.02#bug-fixes-2" class="hash-link" aria-label="Direct link to Bug Fixes" title="Direct link to Bug Fixes" translate="no">​</a></h3>
<ul>
<li class="">Removed Billing account page from UI</li>
<li class="">Fixed an issue that prevented "Created On" attribute from showing for Live Flags</li>
<li class="">Added retry mechanism in collect and adapt MA for google <code>TransportError</code> exception, caused by <code>NewConnectionError</code>.</li>
<li class="">Fixed an issue that was preventing Audit Events from Collective Trigger pipeline to be written to BigQuery.</li>
<li class="">Fix an issue that was preventing to list Channel Families</li>
<li class="">Fixed all/enabled/disabled buttons for flow design page</li>
<li class="">Added retry error in run flow method for google Abort exceptions.</li>
<li class="">Added missing permissions for Channel Families and Live Flag features. To keep viewing or managing these resource please ensure that the user groups have this permission added. These permissions are no longer managed separately from the User Groups in the Original UI.
<em>Note:</em> Live Flags is categorised under the Computed Flags permission category.</li>
<li class="">Fixed issue where Channels without DPAs could not be updated in the new UI</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="250204">25.02.04<a href="https://docs.energyworx.net/release-notes/25.02#250204" class="hash-link" aria-label="Direct link to 25.02.04" title="Direct link to 25.02.04" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="bug-fixes-3">Bug Fixes<a href="https://docs.energyworx.net/release-notes/25.02#bug-fixes-3" class="hash-link" aria-label="Direct link to Bug Fixes" title="Direct link to Bug Fixes" translate="no">​</a></h3>
<ul>
<li class="">Resolved an issue that prevented datasource view in the NUI from loading causing a permission denied error</li>
<li class="">Resolved an issue where live flags using Enum DPAs would not evaluate properly when loading in a datasource</li>
<li class="">Resolved an issue that prevented users from deleting Live Flag configs in the NUI</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="250205">25.02.05<a href="https://docs.energyworx.net/release-notes/25.02#250205" class="hash-link" aria-label="Direct link to 25.02.05" title="Direct link to 25.02.05" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="bug-fixes-4">Bug Fixes<a href="https://docs.energyworx.net/release-notes/25.02#bug-fixes-4" class="hash-link" aria-label="Direct link to Bug Fixes" title="Direct link to Bug Fixes" translate="no">​</a></h3>
<ul>
<li class="">Resolved an issue that prevented datasources with a dash in the ID from showing in the NUI</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="250206">25.02.06<a href="https://docs.energyworx.net/release-notes/25.02#250206" class="hash-link" aria-label="Direct link to 25.02.06" title="Direct link to 25.02.06" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="bug-fixes-5">Bug Fixes<a href="https://docs.energyworx.net/release-notes/25.02#bug-fixes-5" class="hash-link" aria-label="Direct link to Bug Fixes" title="Direct link to Bug Fixes" translate="no">​</a></h3>
<ul>
<li class="">ewx-cli documentation is corrected for deprecated commands</li>
<li class="">Resolved multiple issues with permissions in the new API that did not respect the permissions of the user through their groups.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="250207">25.02.07<a href="https://docs.energyworx.net/release-notes/25.02#250207" class="hash-link" aria-label="Direct link to 25.02.07" title="Direct link to 25.02.07" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="bug-fixes-6">Bug Fixes<a href="https://docs.energyworx.net/release-notes/25.02#bug-fixes-6" class="hash-link" aria-label="Direct link to Bug Fixes" title="Direct link to Bug Fixes" translate="no">​</a></h3>
<ul>
<li class="">Resolved issue that prevented ingestions from processing due to an issue with creating audit events from transform rules.</li>
<li class="">The following issue was resolved: with the removal of the prepare pipeline in 25.02 (a part of the data processing pipelines), a bug was introduced that caused all messages to be routed to the processing pipelines of a single billing account. All messages that were processed still ended up in the correct tables, there were no issues in data separation on database level.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="250208">25.02.08<a href="https://docs.energyworx.net/release-notes/25.02#250208" class="hash-link" aria-label="Direct link to 25.02.08" title="Direct link to 25.02.08" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="bug-fixes-7">Bug Fixes<a href="https://docs.energyworx.net/release-notes/25.02#bug-fixes-7" class="hash-link" aria-label="Direct link to Bug Fixes" title="Direct link to Bug Fixes" translate="no">​</a></h3>
<ul>
<li class="">Resolved issue that added an invalid suffix to some EQL table names that resulted in Table Not Found errors.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="250209">25.02.09<a href="https://docs.energyworx.net/release-notes/25.02#250209" class="hash-link" aria-label="Direct link to 25.02.09" title="Direct link to 25.02.09" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="bug-fixes-8">Bug Fixes<a href="https://docs.energyworx.net/release-notes/25.02#bug-fixes-8" class="hash-link" aria-label="Direct link to Bug Fixes" title="Direct link to Bug Fixes" translate="no">​</a></h3>
<ul>
<li class="">Lists (in addition to dictionaries) are now able to be used in flow properties.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="250210">25.02.10<a href="https://docs.energyworx.net/release-notes/25.02#250210" class="hash-link" aria-label="Direct link to 25.02.10" title="Direct link to 25.02.10" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="bug-fixes-9">Bug Fixes<a href="https://docs.energyworx.net/release-notes/25.02#bug-fixes-9" class="hash-link" aria-label="Direct link to Bug Fixes" title="Direct link to Bug Fixes" translate="no">​</a></h3>
<ul>
<li class="">
<p><strong>Improved Transformation Configuration:</strong> Adding a transform rule to a static field in version and valid from in Channels and Tags is now supported.</p>
</li>
<li class="">
<p><strong>Improved Permissions</strong> Fixed issue when trying to retrieve timeseries for permissions with conditions.</p>
</li>
<li class="">
<p><strong>Improved Audit Event Search:</strong> Fixed bug that prevented search by subjects (ie: flow id) in the audit events from the Datasource Details page</p>
</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="250211">25.02.11<a href="https://docs.energyworx.net/release-notes/25.02#250211" class="hash-link" aria-label="Direct link to 25.02.11" title="Direct link to 25.02.11" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="bug-fixes-10">Bug Fixes<a href="https://docs.energyworx.net/release-notes/25.02#bug-fixes-10" class="hash-link" aria-label="Direct link to Bug Fixes" title="Direct link to Bug Fixes" translate="no">​</a></h3>
<ul>
<li class="">We now use a set of fallback machine types, so that if one runs out there's probably another. This reduces the risk of workloads not being scheduled to near zero.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="250212">25.02.12<a href="https://docs.energyworx.net/release-notes/25.02#250212" class="hash-link" aria-label="Direct link to 25.02.12" title="Direct link to 25.02.12" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="bug-fixes-11">Bug Fixes<a href="https://docs.energyworx.net/release-notes/25.02#bug-fixes-11" class="hash-link" aria-label="Direct link to Bug Fixes" title="Direct link to Bug Fixes" translate="no">​</a></h3>
<ul>
<li class=""><strong>Improved Market adapter properties serialization:</strong> Fixed issue when trying to serialize Market adapter properties.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="250213">25.02.13<a href="https://docs.energyworx.net/release-notes/25.02#250213" class="hash-link" aria-label="Direct link to 25.02.13" title="Direct link to 25.02.13" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="bug-fixes-12">Bug Fixes<a href="https://docs.energyworx.net/release-notes/25.02#bug-fixes-12" class="hash-link" aria-label="Direct link to Bug Fixes" title="Direct link to Bug Fixes" translate="no">​</a></h3>
<ul>
<li class=""><strong>Improved Timeseries Service:</strong> Fix issue when trying to set namespace in timeseries service.</li>
<li class=""><strong>Improved XML File Creation:</strong> Fix issue when trying to create XML response files. This issue was caused by the mechanism to remove duplicated elements and attributes.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="250214">25.02.14<a href="https://docs.energyworx.net/release-notes/25.02#250214" class="hash-link" aria-label="Direct link to 25.02.14" title="Direct link to 25.02.14" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="bug-fixes-13">Bug Fixes<a href="https://docs.energyworx.net/release-notes/25.02#bug-fixes-13" class="hash-link" aria-label="Direct link to Bug Fixes" title="Direct link to Bug Fixes" translate="no">​</a></h3>
<ul>
<li class="">Send bypass_decision_tree to CrunchTrigger model correctly.</li>
<li class="">Fixed issue in Avro schema in the detectors writers.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="250215">25.02.15<a href="https://docs.energyworx.net/release-notes/25.02#250215" class="hash-link" aria-label="Direct link to 25.02.15" title="Direct link to 25.02.15" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="bug-fixes-14">Bug Fixes<a href="https://docs.energyworx.net/release-notes/25.02#bug-fixes-14" class="hash-link" aria-label="Direct link to Bug Fixes" title="Direct link to Bug Fixes" translate="no">​</a></h3>
<ul>
<li class=""><strong>Improved BQ Streaming Service:</strong> Fixed a connection error in the BQ streaming process.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="250216">25.02.16<a href="https://docs.energyworx.net/release-notes/25.02#250216" class="hash-link" aria-label="Direct link to 25.02.16" title="Direct link to 25.02.16" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="changes">Changes<a href="https://docs.energyworx.net/release-notes/25.02#changes" class="hash-link" aria-label="Direct link to Changes" title="Direct link to Changes" translate="no">​</a></h3>
<ul>
<li class=""><strong>Disabled EnerGPT:</strong> EnerGPT is no longer available. If you need to enable it, please reach out to the Service Desk to do it.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="250217">25.02.17<a href="https://docs.energyworx.net/release-notes/25.02#250217" class="hash-link" aria-label="Direct link to 25.02.17" title="Direct link to 25.02.17" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="bug-fixes-15">Bug Fixes<a href="https://docs.energyworx.net/release-notes/25.02#bug-fixes-15" class="hash-link" aria-label="Direct link to Bug Fixes" title="Direct link to Bug Fixes" translate="no">​</a></h3>
<ul>
<li class=""><strong>Improved Timeseries Service:</strong> Fixed a bug where Datapoint Attributes of type 'timestamp' were being converted to naive timestamp objects, instead of remaining timezone-aware.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="250218">25.02.18<a href="https://docs.energyworx.net/release-notes/25.02#250218" class="hash-link" aria-label="Direct link to 25.02.18" title="Direct link to 25.02.18" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="bug-fixes-16">Bug Fixes<a href="https://docs.energyworx.net/release-notes/25.02#bug-fixes-16" class="hash-link" aria-label="Direct link to Bug Fixes" title="Direct link to Bug Fixes" translate="no">​</a></h3>
<ul>
<li class=""><strong>Fixed Frontend bug:</strong>  Fixed an issue regarding the google analytics API, that was causing the Frontend Build to fail</li>
</ul>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Release Notes: Version 25.01]]></title>
        <id>https://docs.energyworx.net/release-notes/25.01</id>
        <link href="https://docs.energyworx.net/release-notes/25.01"/>
        <updated>2025-01-06T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[⚡ 10X Faster Search]]></summary>
        <content type="html"><![CDATA[<p><img decoding="async" loading="lazy" src="https://docs.energyworx.net/assets/images/MediamodifierDesignTemplate-bfb92181a2ccb703bca426cdf34a108d.png" width="1080" height="1080" class="img_ev3q"></p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="-10x-faster-search">⚡ 10X Faster Search<a href="https://docs.energyworx.net/release-notes/25.01#-10x-faster-search" class="hash-link" aria-label="Direct link to ⚡ 10X Faster Search" title="Direct link to ⚡ 10X Faster Search" translate="no">​</a></h3>
<p>We're excited to announce the launch of our redesigned search experience, delivering dramatically improved performance and enhanced functionality.</p>
<p>You told us you wanted a faster search, our new search engine delivers results at least <strong>ten times as fast</strong> as the previous version in initial tests. In addition to more responsive filtering.</p>
<p><strong>Key Features</strong></p>
<ul>
<li class=""><strong>Interactive Tag Filtering</strong> : Click directly on tags to instantly add them to your search filter Multiple tags are automatically combined with "AND" logic<!-- -->
<ul>
<li class="">Tagged items are automatically copied to your clipboard for easy reference</li>
</ul>
</li>
<li class=""><strong>Familiar Classifier Filtering</strong> : Continue using datasource classifier filtering just as you did before</li>
<li class=""><strong>Legacy Access Preserved</strong> : You can still access the original search page for "collections" and "bulk edit" functionality, by clicking "Go back to original view"</li>
<li class=""><strong>Fuzzy Search:</strong> You don't need to worry about exact literal matching of the results, we'll show you the most relevant results first, but also potential matches. Additionally, It's now possible to search "ID AND tag.value=abc".</li>
</ul>
<p><em><strong>Getting Started</strong></em></p>
<p>Visit the new search datasource page from the console sidebar to experience the performance boost immediately.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="simplified-market-adapter-configuration-experience">Simplified Market Adapter Configuration Experience<a href="https://docs.energyworx.net/release-notes/25.01#simplified-market-adapter-configuration-experience" class="hash-link" aria-label="Direct link to Simplified Market Adapter Configuration Experience" title="Direct link to Simplified Market Adapter Configuration Experience" translate="no">​</a></h3>
<p>New market adapter creation with intelligent pre-filling and guided configuration to reduce errors and technical complexity. Explore the new market adapter configuration view when creating adapters. Original view remains accessible if needed.</p>
<p><strong>Key Improvement</strong></p>
<ul>
<li class="">Pre-populated fields with validated options for the most common market adapters (CSV, JSON, XML)</li>
<li class="">Reduced risk of configuration errors</li>
<li class="">Minimised input requirements</li>
<li class="">Reduced configuration complexity</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="introducing-centralised-live-flag-management">Introducing Centralised Live Flag Management<a href="https://docs.energyworx.net/release-notes/25.01#introducing-centralised-live-flag-management" class="hash-link" aria-label="Direct link to Introducing Centralised Live Flag Management" title="Direct link to Introducing Centralised Live Flag Management" translate="no">​</a></h3>
<p>We're excited to announce the first full release of our Live Flags feature, expanding on the proof of concept previously delivered in 24.03. Live Flags now offers powerful cross-channel condition support, allowing you to create sophisticated validation rules that span multiple data streams.</p>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="key-features">Key Features<a href="https://docs.energyworx.net/release-notes/25.01#key-features" class="hash-link" aria-label="Direct link to Key Features" title="Direct link to Key Features" translate="no">​</a></h4>
<p><strong>Enhanced Cross-Channel Conditions</strong></p>
<ol>
<li class=""><strong>Multi-Channel Support</strong> : Create conditions that compare values across different channels</li>
<li class=""><strong>Centralised Flag Management</strong> : View and manage all configured flags from a single dashboard. Add new flags with the prominent "Create New Flag" button</li>
<li class=""><strong>Complex Condition Building</strong> : Combine conditions using AND/OR operators for precise validation rules</li>
<li class=""><strong>Flexible Flag Types</strong> : Configure datapoints as Valid, Invalid, or Custom with corresponding colour indicators</li>
</ol>
<p><strong>Powerful Visualisation</strong></p>
<ol>
<li class=""><strong>Colour-Coded Datapoints</strong> : Instantly identify valid and invalid readings in charts and tables</li>
<li class=""><strong>Toggle Visibility</strong> : Show or hide flags directly from the datasource view</li>
</ol>
<h4></h4>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="real-world-applications-examples">Real-World Applications Examples<a href="https://docs.energyworx.net/release-notes/25.01#real-world-applications-examples" class="hash-link" aria-label="Direct link to Real-World Applications Examples" title="Direct link to Real-World Applications Examples" translate="no">​</a></h4>
<p><strong>Meter Reading Invalid Meter Read Conditions:</strong></p>
<ul>
<li class="">Energy consumption (Channel A) shows activity BUT occupancy sensor (Channel B) indicates vacant property</li>
<li class="">Meter reading shows consumption BUT circuit status (Channel C) indicates disconnection</li>
<li class="">Reading exceeds historical maximum by 300% AND no change in customer profile</li>
<li class="">Meter diagnostic channel shows error code concurrent with reading timestamp</li>
</ul>
<p><strong>Advanced Cross-Channel Use Case Examples</strong></p>
<ul>
<li class=""><strong>Load Balancing Validation</strong> : “Invalid Reading” Flag on readings where phase balance exceeds threshold across multiple channels</li>
<li class=""><strong>Revenue Protection</strong> : “Custom” Flag when consumption channel shows minimal use but auxiliary channels indicate activity</li>
<li class=""><strong>Equipment Performance Monitoring</strong> : Flag when efficiency ratio between input and output channels falls below expected value</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="-1"><a href="https://docs.energyworx.net/release-notes/25.01#-1" class="hash-link" aria-label="Direct link to -1" title="Direct link to -1" translate="no">​</a></h4>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="-2"><a href="https://docs.energyworx.net/release-notes/25.01#-2" class="hash-link" aria-label="Direct link to -2" title="Direct link to -2" translate="no">​</a></h4>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="getting-started">Getting Started<a href="https://docs.energyworx.net/release-notes/25.01#getting-started" class="hash-link" aria-label="Direct link to Getting Started" title="Direct link to Getting Started" translate="no">​</a></h4>
<p>To access the new Live Flags feature:</p>
<ol>
<li class="">Navigate to the Smart Integration menu</li>
<li class="">Select “Live Flags”</li>
<li class="">Browse your existing flags or click "Create New Flag" to configure cross-channel validation rules</li>
</ol>
<p><em>Known Issue</em></p>
<p>When assigning Datapoint Attributes of type enum, then the console at the moment expects the enum numerical value (and not the enum display text), we’re working on improving this user experience.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="documentation-updates">Documentation Updates<a href="https://docs.energyworx.net/release-notes/25.01#documentation-updates" class="hash-link" aria-label="Direct link to Documentation Updates" title="Direct link to Documentation Updates" translate="no">​</a></h3>
<ul>
<li class="">Users can now access our knowledge base from the platform’s side menu</li>
<li class="">Renamed "Run" section to "Flow" and "Integration" to "Transformation Configuration" in API v1.5 docs</li>
<li class="">The API documentation is now sorted alphabetically, and APIs descriptions are visible again</li>
</ul>
<hr>
<h1>Added Partners Tools</h1>
<ul>
<li class="">Transform rules can now import other rules (including any other type, as long as it derives from AbstractRule)</li>
<li class="">Now pytest-bdd is available for the clients in GAR (python-shared repository) of the global project</li>
<li class="">Added Cucumber-style BDD statements for pubsub client usage in testing <code>pytest-bdd-ewx</code> framework that can be used in automated testing<!-- -->
<ul>
<li class="">Native support for pubsub client usage in Behaviour-Driven Development (BDD) tests</li>
<li class="">Streamlined test scenario development for pubsub-based workflows</li>
</ul>
</li>
<li class="">New <code>slice_by_version</code> method for the TimeseriesData object. When calling this function with a version timestamp, it returns a dictionary with the version and a TimeseriesData object containing only the data for that specific version. If no version is supplied, the dictionary contains a TimeseresData object for every version in the data</li>
<li class="">Introduced a new method to the TimeseriesService called get_versions that can retrieve multiple versions of timeseries data</li>
<li class="">Added a new argument for the TimeseriesData.as_df function called multiple_versions. When this is set to True, it will return all available versions of the data as a multi-index DataFrame. When multiple_versions is set to False, it will only return the latest version of the data as a single-index DataFrame. It is set to False by default</li>
<li class="">Added validations to <code>create_task</code> method in the rule framework. Now this function will validate:<!-- -->
<ul>
<li class="">Required fields are filled in:<!-- -->
<ul>
<li class="">title</li>
<li class="">task_type</li>
<li class="">status</li>
<li class="">priority</li>
</ul>
</li>
<li class="">Converts single item types to lists for corresponding fields (aggregation_configurations, tags, taskboards)</li>
<li class="">Type validation for all the fields</li>
</ul>
</li>
<li class="">Introduced new way of stopping flows. This new method added the ability to persist the flow data that was saved up to the point where the flow is stopped by the user code</li>
<li class="">Added in-memory caching implementation to apiv2</li>
<li class="">Finalise the EnerGPT chatbot and release of the first version</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="api-changes">API Changes<a href="https://docs.energyworx.net/release-notes/25.01#api-changes" class="hash-link" aria-label="Direct link to API Changes" title="Direct link to API Changes" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="new-endpoints">New Endpoints<a href="https://docs.energyworx.net/release-notes/25.01#new-endpoints" class="hash-link" aria-label="Direct link to New Endpoints" title="Direct link to New Endpoints" translate="no">​</a></h3>
<ul>
<li class="">Added new API endpoint for datasource details that correctly splits Channel Properties from Tags</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="modified-endpoints">Modified Endpoints<a href="https://docs.energyworx.net/release-notes/25.01#modified-endpoints" class="hash-link" aria-label="Direct link to Modified Endpoints" title="Direct link to Modified Endpoints" translate="no">​</a></h3>
<ul>
<li class="">Channel classifier IDs are now case-insensitive</li>
<li class="">Fixed issue with index_time Lesser and LesserOrEqual filters not working correctly. This change enforces that the timestamp provided is in the RFC3339 format and in UTC</li>
<li class="">Added API validation for channel families</li>
<li class="">Consistently returns 404 when no channel families are present</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="️-deprecated-functionality">⚠️ Deprecated Functionality<a href="https://docs.energyworx.net/release-notes/25.01#%EF%B8%8F-deprecated-functionality" class="hash-link" aria-label="Direct link to ⚠️ Deprecated Functionality" title="Direct link to ⚠️ Deprecated Functionality" translate="no">​</a></h3>
<p>We've removed deprecated API endpoints:</p>
<ul>
<li class="">GeoCodeBoundary</li>
<li class="">Raw metrics</li>
<li class="">Flow metrics</li>
<li class="">TransportAdapter<!-- -->
<ul>
<li class="">You can use Energyworx Integration components</li>
</ul>
</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="tldr-technical-improvements">TL;DR: Technical Improvements<a href="https://docs.energyworx.net/release-notes/25.01#tldr-technical-improvements" class="hash-link" aria-label="Direct link to TL;DR: Technical Improvements" title="Direct link to TL;DR: Technical Improvements" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="performance-enhancements">Performance Enhancements<a href="https://docs.energyworx.net/release-notes/25.01#performance-enhancements" class="hash-link" aria-label="Direct link to Performance Enhancements" title="Direct link to Performance Enhancements" translate="no">​</a></h3>
<ul>
<li class="">Added search by tag functionality to APIv2. Can reach up to a 10x speed improvement compared to the current API for certain cases Reduced the minimum Number of Pods used by the API Workload, resulting in leaner platform footprint</li>
<li class="">Parallel flow execution &amp; optimized resource usage across the platform</li>
<li class="">Improved chart loading times and smarter API scaling</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="security--infrastructure">Security &amp; Infrastructure:<a href="https://docs.energyworx.net/release-notes/25.01#security--infrastructure" class="hash-link" aria-label="Direct link to Security &amp; Infrastructure:" title="Direct link to Security &amp; Infrastructure:" translate="no">​</a></h3>
<ul>
<li class="">Centralized policy management with Open Policy Agent integration</li>
<li class="">GKE upgraded to v1.31+ with next-gen cloud infrastructure</li>
<li class="">Modern machine types for all workloads, improving overall system efficiency</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="️-breaking-changes">⚠️ Breaking Changes<a href="https://docs.energyworx.net/release-notes/25.01#%EF%B8%8F-breaking-changes" class="hash-link" aria-label="Direct link to ⚠️ Breaking Changes" title="Direct link to ⚠️ Breaking Changes" translate="no">​</a></h3>
<ol>
<li class="">Removed Channel Family POST and PATCH via API v1. GET functionality remains to maintain support. Channel families are now created and maintained via API v2</li>
<li class="">Changed partition field from to insert_ts . This partition scheme gives more flexibility so it can be queried by seconds on the insertion time of a givenrow. Queries in EQL or Dashboard can use this new field. _PARTITIONTIME will be deprecated according to our deprecation policy, however, it can still be used until the moment it is deprecated</li>
</ol>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="notable-improvements-and-fixes">Notable Improvements and Fixes<a href="https://docs.energyworx.net/release-notes/25.01#notable-improvements-and-fixes" class="hash-link" aria-label="Direct link to Notable Improvements and Fixes" title="Direct link to Notable Improvements and Fixes" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="data-management">Data Management<a href="https://docs.energyworx.net/release-notes/25.01#data-management" class="hash-link" aria-label="Direct link to Data Management" title="Direct link to Data Management" translate="no">​</a></h3>
<ul>
<li class="">Fixed issue with datapoint edits incorrectly using continuous mode when datasource flows are setup</li>
<li class="">Fixed issue with edits not being loaded on timeseries data for datasource flows when no source channel data is present</li>
<li class="">Original Datasource view - Fixes an issue where editing a datapoint with '0' value, removed the datapoint from the editing view</li>
<li class="">Fixing restoring historical versions of flow configurations for datasource flows</li>
<li class="">DPA of type "long" properly shows negative values now in the original console datasource view</li>
<li class="">Fixed APIv2 issue where Annotations would not be returned</li>
<li class="">Fix to set DPA LONG attributes to a string when rendering on FE instead of a number which avoids NaN errors</li>
<li class="">It is possible to add data from other datasources to self.dataframe when using store_timeseries</li>
<li class="">Fixed issue with writing NaN Timeseries values using API v2</li>
<li class="">Editing data points value from the chart works as expected</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="user-experience">User Experience<a href="https://docs.energyworx.net/release-notes/25.01#user-experience" class="hash-link" aria-label="Direct link to User Experience" title="Direct link to User Experience" translate="no">​</a></h3>
<ul>
<li class="">Channel classifiers page now show user friendly names for datapoint and unit types instead of technical names.<!-- -->
<ul>
<li class="">BEFORE: "CC_TEMP_A_" → AFTER: "Temperature Reading"</li>
</ul>
</li>
<li class="">Added a loader to channel family creation page for better user experience</li>
<li class="">Adds tags in the expandable details of each datasource</li>
<li class="">Under the user profile namespace selector, namespaces available to the user are sorted alphabetically</li>
<li class="">Formats month(s) the same as version(s) for Channel Family retention policy</li>
<li class="">Loading more results by "Show more" button no longer refresh the whole page on new console</li>
<li class="">Improved console handling of invalid inputs for adding datapoint attributes to channel classifiers via new view, now a proper error message shows up</li>
<li class="">Previously, widgets without a configured time period would incorrectly display a default timeframe in the information panel when a widget description was present. This could mislead users about the data's time scope</li>
<li class="">Eliminated unnecessary Tags endpoint calls when changing dates on the datasource page</li>
<li class="">Clarified what types of values are affected by edits by splitting the audit event to report the number of datapoints and the number of annotations edited instead of displaying them together</li>
<li class="">When a flow tries to import a rule that doesn't exist an audit event with error message is shown</li>
<li class="">Task descriptions rendering are no longer limited to 1k characters</li>
<li class="">Corrected inconsistent highlighting of editable cells in the New User Interface (NUI)</li>
<li class="">Invalid dates no longer accepted in the calendar on audit events page new view</li>
<li class="">Fixed an error in the labelling of AND and OR in Channel Families</li>
<li class="">Dashboard graph widget rendering as expected</li>
<li class="">Created on date on file manager is showing correct date, Created on date am and pm is shown as expected</li>
<li class="">A graph widget query startdate is based on UTC</li>
<li class="">Fixes some datasource detail quirks, such as:<!-- -->
<ul>
<li class="">Load All Channels button should be disabled if all the channels are loaded</li>
<li class="">Date picker filter isn't using user settings preferences</li>
<li class="">Larger font on graph</li>
<li class="">Removes datasource view accordion in settings</li>
<li class="">Removes feedback X for source datasources not editable feedback panel</li>
</ul>
</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="system-performance">System Performance<a href="https://docs.energyworx.net/release-notes/25.01#system-performance" class="hash-link" aria-label="Direct link to System Performance" title="Direct link to System Performance" translate="no">​</a></h3>
<ul>
<li class="">Addressed a caching delay affecting the recognition of newly added Data Point Attributes (DPAs) in channel classifiers on API v1.5<!-- -->
<ul>
<li class=""><strong>Before:</strong> New DPAs were not immediately recognised, causing ingestion failures</li>
<li class=""><strong>After:</strong> Reduced latency in DPA recognition, enabling faster file ingestion</li>
</ul>
</li>
<li class="">Eliminated unnecessary Tags endpoint calls when changing dates on the datasource page<!-- -->
<ul>
<li class=""><strong>Before:</strong> Changing dates triggered redundant Tags endpoint calls</li>
<li class=""><strong>After:</strong> Reduced network calls, improving page load performance</li>
</ul>
</li>
<li class="">Changed the behaviour of internalising queries from Advanced Search<!-- -->
<ul>
<li class="">Audit events table queries now preserve original field names</li>
<li class="">Example: "id" remains unchanged in audit events queries</li>
<li class="">Multi-table queries continue existing internationalisation process</li>
<li class="">Reduced unnecessary query translations</li>
<li class="">More precise query handling for audit event searches</li>
</ul>
</li>
<li class="">Corrected unexpected timezone handling for timestamp-based Data Point Attributes (DPAs)</li>
<li class="">Propagating the google exceptions (DeadlineExceeded, RetryError) to be retried</li>
<li class="">Fixes on VDS execution:<!-- -->
<ul>
<li class="">API request is asynchronous for those long-running aggregations</li>
<li class="">Performance optimisations on aggregation execution</li>
</ul>
</li>
<li class="">Moved the user timezone to UTC for proper queries on the user dashboard</li>
<li class="">Adding retry in prepare source data logic</li>
<li class="">Fixed duplication of tasks statuses and task types when uploading their configs with ewx-cli</li>
<li class="">Fixed issue when creating/updating rules. Now we check the status code of the response, and return the correct error message based on the response data</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="2501-minor-release-1">25.01 Minor Release 1<a href="https://docs.energyworx.net/release-notes/25.01#2501-minor-release-1" class="hash-link" aria-label="Direct link to 25.01 Minor Release 1" title="Direct link to 25.01 Minor Release 1" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="highlights">Highlights<a href="https://docs.energyworx.net/release-notes/25.01#highlights" class="hash-link" aria-label="Direct link to Highlights" title="Direct link to Highlights" translate="no">​</a></h3>
<ul>
<li class=""><strong>Improved Data Point Editing</strong> : Fixed issues with negative values and enhanced editing experience</li>
<li class=""><strong>Enhanced Search Capabilities</strong> : Channel filters now work with both Display Names and Technical Names</li>
<li class=""><strong>Better Tag Management</strong> : Improved visibility and functionality across the platform</li>
<li class=""><strong>UI Enhancements</strong> : More intuitive colour selection and timezone consistency</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="fixes--improvements">Fixes &amp; Improvements<a href="https://docs.energyworx.net/release-notes/25.01#fixes--improvements" class="hash-link" aria-label="Direct link to Fixes &amp; Improvements" title="Direct link to Fixes &amp; Improvements" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="data-management-1">Data Management<a href="https://docs.energyworx.net/release-notes/25.01#data-management-1" class="hash-link" aria-label="Direct link to Data Management" title="Direct link to Data Management" translate="no">​</a></h3>
<ul>
<li class=""><strong>Negative Values Support</strong> : Fixed issue where numbers couldn't be edited to be negative during datapoint edits in the NUI</li>
<li class=""><strong>Channel Family API Compatibility</strong> : Added support for APIv1 created Channel Families in APIv2</li>
<li class=""><strong>Tag Search Enhancement</strong> : Channel Properties are now returned by the tag search endpoint (datasource/search) in APIv1</li>
<li class=""><strong>Datasource Classifier Management</strong> : Fixed issue where classifiers couldn't be changed twice on Datasources</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="user-experience-1">User Experience<a href="https://docs.energyworx.net/release-notes/25.01#user-experience-1" class="hash-link" aria-label="Direct link to User Experience" title="Direct link to User Experience" translate="no">​</a></h3>
<ul>
<li class=""><strong>Display Name Filtering</strong> : Now it's possible to filter legend channels by their display names, not just Technical Names</li>
<li class=""><strong>Chart Visibility Improvements</strong> :<!-- -->
<ul>
<li class="">Usability improvement to selectable colors in the chart legend</li>
<li class="">Eliminated invisible colors for better chart visualization</li>
</ul>
</li>
<li class=""><strong>Time Zone Consistency</strong> : Timeseries data time zone now matches dashboard graph's x-axis, which shows UTC time</li>
<li class=""><strong>Dashboard Results Limit</strong> : Increased the configurable results limit in dashboard widgets to 1000</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="tag--property-management">Tag &amp; Property Management<a href="https://docs.energyworx.net/release-notes/25.01#tag--property-management" class="hash-link" aria-label="Direct link to Tag &amp; Property Management" title="Direct link to Tag &amp; Property Management" translate="no">​</a></h3>
<ul>
<li class=""><strong>UI Improvements for Property Keys</strong> :<!-- -->
<ul>
<li class="">Corrected display issues with technical property keys</li>
<li class="">Fixed tag width display problems</li>
<li class="">Added direct links from property values to related datasource detail pages</li>
</ul>
</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="system-performance-1">System Performance<a href="https://docs.energyworx.net/release-notes/25.01#system-performance-1" class="hash-link" aria-label="Direct link to System Performance" title="Direct link to System Performance" translate="no">​</a></h3>
<ul>
<li class=""><strong>Channel Visibility Caching</strong> : Default visible channels are now cached at the classifier level, ensuring accurate channel lists</li>
<li class=""><strong>Timeseries Data Loading</strong> : Fixed issue with loading timeseries not appearing when edits were excluded</li>
<li class=""><strong>Flow Labeling</strong> : Fixed labeled flows to use the correct workloads</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="platform-cleanup">Platform Cleanup<a href="https://docs.energyworx.net/release-notes/25.01#platform-cleanup" class="hash-link" aria-label="Direct link to Platform Cleanup" title="Direct link to Platform Cleanup" translate="no">​</a></h3>
<ul>
<li class=""><strong>Legacy Component Removal</strong> : Removed transport functions from the platform navigation for a cleaner interface</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="developer-notes">Developer Notes<a href="https://docs.energyworx.net/release-notes/25.01#developer-notes" class="hash-link" aria-label="Direct link to Developer Notes" title="Direct link to Developer Notes" translate="no">​</a></h2>
<ul>
<li class="">Fixed issue with loading timeseries for TIMESERIES_VIEW_BASIC and TIMESERIES_VIEW_INCLUDE_FLAGS filters</li>
<li class="">Tags are now properly added via ingestion flow for datasources created via API v2</li>
<li class="">Fixed internal issues with version handling when listing timeseries with annotations</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="2501-minor-release-2">25.01 Minor Release 2<a href="https://docs.energyworx.net/release-notes/25.01#2501-minor-release-2" class="hash-link" aria-label="Direct link to 25.01 Minor Release 2" title="Direct link to 25.01 Minor Release 2" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="highlights-1">Highlights<a href="https://docs.energyworx.net/release-notes/25.01#highlights-1" class="hash-link" aria-label="Direct link to Highlights" title="Direct link to Highlights" translate="no">​</a></h3>
<ul>
<li class="">Custom transform rules can now be configured for a tag’s <code>valid_from</code> field in the Transformation Configuration.</li>
<li class="">Fixed an issue where datasource search on the console would not work without providing a datasource classifier filter, now it is possible to search without it.</li>
<li class="">Users can view flags as disconnected points on the chart</li>
<li class="">General availability of EnerGPT</li>
<li class="">Added retry for pubsub exeception in market adapt logic</li>
<li class="">Fixed an issue where querying timeseries didn't show all Datapoint Attributes.</li>
<li class="">Fixes audit event api call loops that occurred when API returned 200 OK status but error response</li>
<li class="">Fixed bug in JSON Market Adapter to allow the ingestion of multidimensional xml files.</li>
<li class="">Idempotency for storing the tags once when the file is ingested multiple times.</li>
<li class="">Cleaned up the chart export to include only the necessary data.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="2501-minor-release-3">25.01 Minor Release 3<a href="https://docs.energyworx.net/release-notes/25.01#2501-minor-release-3" class="hash-link" aria-label="Direct link to 25.01 Minor Release 3" title="Direct link to 25.01 Minor Release 3" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="highlights-2">Highlights<a href="https://docs.energyworx.net/release-notes/25.01#highlights-2" class="hash-link" aria-label="Direct link to Highlights" title="Direct link to Highlights" translate="no">​</a></h3>
<ul>
<li class="">New Search, datasource and refreshed views available in preview</li>
</ul>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Release Notes: Version 24.04]]></title>
        <id>https://docs.energyworx.net/release-notes/24.04</id>
        <link href="https://docs.energyworx.net/release-notes/24.04"/>
        <updated>2024-04-01T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Discover the latest updates and improvements in Version 24.03 through]]></summary>
        <content type="html"><![CDATA[<p>Discover the latest updates and improvements in Version 24.03 through
these comprehensive release notes.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="whats-new">What's New<a href="https://docs.energyworx.net/release-notes/24.04#whats-new" class="hash-link" aria-label="Direct link to What's New" title="Direct link to What's New" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="major-features">Major Features<a href="https://docs.energyworx.net/release-notes/24.04#major-features" class="hash-link" aria-label="Direct link to Major Features" title="Direct link to Major Features" translate="no">​</a></h3>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="1-energpt-preview">1. EnerGPT <em>Preview</em><a href="https://docs.energyworx.net/release-notes/24.04#1-energpt-preview" class="hash-link" aria-label="Direct link to 1-energpt-preview" title="Direct link to 1-energpt-preview" translate="no">​</a></h4>
<p>We're excited to introduce EnerGPT, our new AI-powered assistant
designed to help you build and configure the Energyworx platform more
efficiently. This preview release brings intelligent assistance to
streamline your configuration workflow.</p>
<p><em>Key Features:</em></p>
<ul>
<li class="">Interactive platform knowledge assistance. <em>Try asking: when do I
choose a continuous flow over a scenario one?</em></li>
<li class="">Configuration and rules guidance. <em>Try asking:</em> <em>how can I store my
Datapoint Attributes in a rule while removing empty entries</em></li>
<li class="">Release notes exploration. <em>Try asking: what were the highlights of
24.03 release in terms of timeseries management</em></li>
<li class="">Natural language interaction with platform documentation</li>
</ul>
<p>Benefits:</p>
<ul>
<li class="">Reduced configuration time</li>
<li class="">Faster access to platform knowledge</li>
<li class="">Immediate answers to platform-related questions</li>
</ul>
<p>Preview Phase Details:</p>
<ul>
<li class="">Available in the new console view (beta features must be enabled)</li>
<li class="">Token limit: 5,000 tokens per user during preview</li>
<li class="">Focused on configuration assistance and platform knowledge</li>
</ul>
<p>How to Get Started:</p>
<ul>
<li class="">Enable beta features in your user settings</li>
<li class="">Access EnerGPT through the new console view</li>
<li class="">Start asking questions about platform configuration, rules, or recent
release notes</li>
</ul>
<p>Note: As this is a preview feature, we encourage feedback to help shape
its development. The current token limit is designed to help us evaluate
usage patterns and ensure optimal performance. You can send your
feedback directly via email to <em><a href="mailto:communication@energyworx.org" target="_blank" rel="noopener noreferrer" class="">communication@energyworx.org</a></em>, or
create a change request ticket through our portal.</p>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="2-channel-family-retention-management">2. Channel Family Retention Management<a href="https://docs.energyworx.net/release-notes/24.04#2-channel-family-retention-management" class="hash-link" aria-label="Direct link to 2. Channel Family Retention Management" title="Direct link to 2. Channel Family Retention Management" translate="no">​</a></h4>
<p>We're introducing comprehensive data lifecycle management through
Channel Families, enabling automated enforcement of retention rules.
This feature helps organizations optimize storage costs and maintain
compliance requirements.</p>
<p>Key capabilities:</p>
<ul>
<li class="">
<p><strong>Configurable Retention Policies</strong></p>
<ul>
<li class="">Version count-based retention</li>
<li class="">Time period-based retention</li>
<li class="">Combination rules (either limit can trigger retention)</li>
<li class="">Default 10-year retention policy for existing classifiers</li>
</ul>
</li>
<li class="">
<p><strong>Automated Policy Enforcement</strong></p>
<ul>
<li class="">Google garbage collection integration</li>
<li class="">Up to 5-day completion window for cleanup</li>
<li class="">Automatic version management</li>
</ul>
</li>
<li class="">
<p><strong>User Interface Integration</strong></p>
<ul>
<li class="">New console UI support</li>
<li class="">Channel Family management interface</li>
<li class="">Visual policy configuration</li>
</ul>
</li>
</ul>
<p>Implementation Notes:</p>
<ul>
<li class="">Channel Family assignments are permanent due to storage architecture</li>
<li class="">Channel Family technical names should be no longer than 5 characters</li>
<li class="">It's recommended to keep the number of channel families in your design
less than 10 for most use cases. if you feel that you require more
than 10 channel families, please reach out to us (either via support
or directly to your Energyworx contact) and we are happy to work with
you on the best practice implementation.</li>
<li class="">Changes require Service Desk support</li>
<li class="">All existing Channel Classifiers start with default retention</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="3-business-process-monitoring-alerting---get-alerted-when-your-business-process-has-an-issue">3. Business Process Monitoring Alerting - Get alerted when your business process has an issue<a href="https://docs.energyworx.net/release-notes/24.04#3-business-process-monitoring-alerting---get-alerted-when-your-business-process-has-an-issue" class="hash-link" aria-label="Direct link to 3. Business Process Monitoring Alerting - Get alerted when your business process has an issue" title="Direct link to 3. Business Process Monitoring Alerting - Get alerted when your business process has an issue" translate="no">​</a></h4>
<p>We're adding alerting capabilities to the Process Monitoring feature.
Now the users can be notified by email when a metric of their choice
matches given criteria.
Key capabilities:</p>
<ul>
<li class="">Support for the number of successful and the number of failed
instances metrics (more to be added in future updates).</li>
<li class="">Convenient way of defining criteria by selecting a metric, operator
and providing a threshold value to be checked.</li>
<li class="">Support for multiple timezones to match user workflow.</li>
<li class="">Ability to specify multiple emails.</li>
</ul>
<p><em><strong>How to use</strong></em></p>
<p>To set up a notification the user provides a condition to be checked (a
threshold value and an operator).</p>
<p>Email can take up to 5 minutes to be sent out once the metric values are
matching the condition. The user provides a list of email addresses
where the notification supposed to be sent.</p>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="4-task-creation-in-rules">4. Task Creation in Rules<a href="https://docs.energyworx.net/release-notes/24.04#4-task-creation-in-rules" class="hash-link" aria-label="Direct link to 4. Task Creation in Rules" title="Direct link to 4. Task Creation in Rules" translate="no">​</a></h4>
<p>We've introduced the ability to create tasks programmatically within
rules, offering more flexibility in workflow automation:</p>
<p>Capabilities:</p>
<ul>
<li class=""><strong>Direct</strong> <strong>Task</strong> <strong>Creation</strong>
<ul>
<li class="">Use self.create_task within rules</li>
<li class="">No pre-configuration needed in flow design</li>
<li class="">Automatic subject relationship maintenance</li>
</ul>
</li>
<li class=""><strong>Comprehensive Property Control</strong>
<ul>
<li class="">Title and description</li>
<li class="">Task type and status</li>
<li class="">Priority levels</li>
<li class="">Assignee management</li>
<li class="">Task board assignments</li>
<li class="">Custom tags</li>
<li class="">Aggregation configurations</li>
</ul>
</li>
<li class=""><strong>Integration Features</strong>
<ul>
<li class="">Idempotent task creation</li>
<li class="">Automatic source tracking</li>
<li class="">Flow metadata linking</li>
</ul>
</li>
</ul>
<p><em>Example Usage:</em></p>
<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">self</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">create_task</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">title</span><span class="token operator" style="color:#393A34">=</span><span class="token string" style="color:#e3116c">"Investigate High Usage"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">                 task_type</span><span class="token operator" style="color:#393A34">=</span><span class="token string" style="color:#e3116c">"validation"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">                 status</span><span class="token operator" style="color:#393A34">=</span><span class="token string" style="color:#e3116c">"new"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">                 priority</span><span class="token operator" style="color:#393A34">=</span><span class="token plain">TaskPriorityEnum</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">HIGH</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">                 assignee_email</span><span class="token operator" style="color:#393A34">=</span><span class="token string" style="color:#e3116c">"analyst@company.com"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">                 description</span><span class="token operator" style="color:#393A34">=</span><span class="token string" style="color:#e3116c">"Usage exceeds threshold by 50%"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">                 taskboards</span><span class="token operator" style="color:#393A34">=</span><span class="token punctuation" style="color:#393A34">[</span><span class="token number" style="color:#36acaa">123</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">)</span><br></div></code></pre></div></div>
<p>We suggest using this over configuring task in flow designs as users are
limited to one per flow.</p>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="5-enhanced-permission-based-navigation">5. Enhanced Permission-Based Navigation<a href="https://docs.energyworx.net/release-notes/24.04#5-enhanced-permission-based-navigation" class="hash-link" aria-label="Direct link to 5. Enhanced Permission-Based Navigation" title="Direct link to 5. Enhanced Permission-Based Navigation" translate="no">​</a></h4>
<p>The platform now features a dynamic navigation menu that adapts to user
permissions:</p>
<ul>
<li class=""><strong>Dynamic Menu Rendering</strong>
<ul>
<li class="">Automatic permission-based visibility</li>
<li class="">Empty category hiding</li>
</ul>
</li>
</ul>
<p>Important Notes:</p>
<ul>
<li class="">The menu automatically updates if permissions change</li>
<li class="">Administrative functions are no longer organization-restricted</li>
<li class="">All menu items correspond to specific permission sets</li>
<li class="">Empty categories are hidden to reduce interface clutter</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="6-search-improvements">6. Search Improvements<a href="https://docs.energyworx.net/release-notes/24.04#6-search-improvements" class="hash-link" aria-label="Direct link to 6. Search Improvements" title="Direct link to 6. Search Improvements" translate="no">​</a></h4>
<p>We've upgraded the Search Datasources view with several user experience
enhancements;</p>
<p>Long headers now gracefully truncate with tooltips, all timestamp
displays are converted to local time with clear timezone indicators, and
tag cell values can be copied with a single click. Additionally, we've
added a quick-access button to the original datasource view while
maintaining all existing search functionality.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="technical-improvements">Technical Improvements<a href="https://docs.energyworx.net/release-notes/24.04#technical-improvements" class="hash-link" aria-label="Direct link to Technical Improvements" title="Direct link to Technical Improvements" translate="no">​</a></h3>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="1-performance-enhancements">1. Performance Enhancements<a href="https://docs.energyworx.net/release-notes/24.04#1-performance-enhancements" class="hash-link" aria-label="Direct link to 1. Performance Enhancements" title="Direct link to 1. Performance Enhancements" translate="no">​</a></h4>
<p>Infrastructure:</p>
<ul>
<li class="">Increased stability in Kubernetes scaling mechanisms</li>
<li class="">Improved entity writer with transactional commits</li>
</ul>
<p>API and Caching:</p>
<ul>
<li class="">Enhanced API caching mechanisms</li>
<li class=""><strong>Query Optimisation</strong>
<ul>
<li class="">Improved data retrieval patterns</li>
<li class="">Enhanced filtering capabilities</li>
<li class="">Better handling of large datasets</li>
</ul>
</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="2-security-updates">2. Security Updates<a href="https://docs.energyworx.net/release-notes/24.04#2-security-updates" class="hash-link" aria-label="Direct link to 2. Security Updates" title="Direct link to 2. Security Updates" translate="no">​</a></h4>
<p>Authorisation:</p>
<ul>
<li class=""><strong>Open Policy Agent Implementation:</strong> We're working on revamping the
authorisation model in APIv2 to allow for faster and more flexible
security compliance and policy management, in this release we laid out
the technical foundation on the API.</li>
</ul>
<p>Audit and Compliance:</p>
<ul>
<li class="">We have updated audit event log when Uploading SOAP file, so filenames
are included now</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="3-configuration-management">3. Configuration Management<a href="https://docs.energyworx.net/release-notes/24.04#3-configuration-management" class="hash-link" aria-label="Direct link to 3. Configuration Management" title="Direct link to 3. Configuration Management" translate="no">​</a></h4>
<h5 class="anchor anchorTargetStickyNavbar_Vzrq" id="bigquery-ingest-trigger">BigQuery ingest trigger:<a href="https://docs.energyworx.net/release-notes/24.04#bigquery-ingest-trigger" class="hash-link" aria-label="Direct link to BigQuery ingest trigger:" title="Direct link to BigQuery ingest trigger:" translate="no">​</a></h5>
<p>For power users using ewx-cli for repeatable deployments; String
replacement is available for the BigQuery ingest trigger schedule. For
this, a new property 'bq_template_mapping' was added. This property
should be of format {'{KEY}': 'Value'} where it will replace any
instance of '{KEY}' in the BigQuery query by 'Value'. This will be
done automatically for {PROJECT_ID} and {NAMESPACE}.</p>
<h5 class="anchor anchorTargetStickyNavbar_Vzrq" id="chain-rules">Chain Rules<a href="https://docs.energyworx.net/release-notes/24.04#chain-rules" class="hash-link" aria-label="Direct link to Chain Rules" title="Direct link to Chain Rules" translate="no">​</a></h5>
<p>Chain rules (bulk, conditional,chain) now have two new parameters, start
and end date. If there are not given, the triggered flow will either use
the dataframe indexes, if not empty, or the last two years.
When deploying this fix for the first time to a new project, the rules
configs need to be updated, using the api calls, by the support engineer
doing the deployment:</p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">{</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">"name": "start_datetime",</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">"displayName": "Start Datetime",</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">"widgetType": "DatePicker",</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">"valueType": "datetime",</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">"defaultValue": "",</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">"optional": true,</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">"description": "Start datetime for triggered flow"</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">},</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">{</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">"name": "end_datetime",</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">"displayName": "End Datetime",</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">"widgetType": "DatePicker",</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">"valueType": "datetime",</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">"defaultValue": "",</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">"optional": true,</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">"description": "End datetime for triggered flow"</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">}</span><br></div></code></pre></div></div>
<p>Additionally, it's possible to use now comma-separated string for
multiple datasource and flow configuration ids for bulk_chain_flow and
conditional_chain_flow rules.</p>
<h5 class="anchor anchorTargetStickyNavbar_Vzrq" id="advanced-search">Advanced Search<a href="https://docs.energyworx.net/release-notes/24.04#advanced-search" class="hash-link" aria-label="Direct link to Advanced Search" title="Direct link to Advanced Search" translate="no">​</a></h5>
<p>The flow_stats table is a new table that contains information on the
duration of every rule in a flow. It is available in advanced search.
Note that before this feature can be used, the namespace needs to be
bootstrapped. More info on how to use this table can be found on
our documentation page.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="deprecation-notices">Deprecation Notices<a href="https://docs.energyworx.net/release-notes/24.04#deprecation-notices" class="hash-link" aria-label="Direct link to Deprecation Notices" title="Direct link to Deprecation Notices" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="tag-retrieval-function-deprecation">Tag Retrieval Function Deprecation<a href="https://docs.energyworx.net/release-notes/24.04#tag-retrieval-function-deprecation" class="hash-link" aria-label="Direct link to Tag Retrieval Function Deprecation" title="Direct link to Tag Retrieval Function Deprecation" translate="no">​</a></h3>
<ul>
<li class=""><strong>Deprecated:</strong> get_tag function</li>
<li class="">Replaced by three new functions:<!-- -->
<ul>
<li class="">get_latest_tag_version</li>
<li class="">get_active_tag_versions</li>
<li class="">get_all_tag_versions</li>
</ul>
</li>
<li class="">Timeline:<!-- -->
<ul>
<li class="">Deprecation: 24.04</li>
</ul>
</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="api-changes">API Changes<a href="https://docs.energyworx.net/release-notes/24.04#api-changes" class="hash-link" aria-label="Direct link to API Changes" title="Direct link to API Changes" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="new-endpoints-on-apiv2">New Endpoints on APIv2<a href="https://docs.energyworx.net/release-notes/24.04#new-endpoints-on-apiv2" class="hash-link" aria-label="Direct link to New Endpoints on APIv2" title="Direct link to New Endpoints on APIv2" translate="no">​</a></h3>
<p><strong>Channel</strong> <strong>Families API</strong></p>
<ul>
<li class="">Retention management endpoints</li>
<li class="">Configuration endpoints</li>
</ul>
<p><strong>Policy Management</strong></p>
<ul>
<li class="">Role management endpoints</li>
<li class="">Permission configuration endpoints</li>
<li class="">Policy enforcement endpoints</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="modified-endpoints">Modified Endpoints<a href="https://docs.energyworx.net/release-notes/24.04#modified-endpoints" class="hash-link" aria-label="Direct link to Modified Endpoints" title="Direct link to Modified Endpoints" translate="no">​</a></h3>
<ul>
<li class=""><strong>Channel</strong> <strong>Classifiers</strong>
<ul>
<li class="">New field for assigning a channel family to a channel classifier</li>
</ul>
</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="user-interface-updates">User Interface Updates<a href="https://docs.energyworx.net/release-notes/24.04#user-interface-updates" class="hash-link" aria-label="Direct link to User Interface Updates" title="Direct link to User Interface Updates" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="new-features">New Features<a href="https://docs.energyworx.net/release-notes/24.04#new-features" class="hash-link" aria-label="Direct link to New Features" title="Direct link to New Features" translate="no">​</a></h3>
<ol>
<li class="">
<p><strong>Search Enhancement</strong></p>
<ul>
<li class="">
<p>Introduction of a new datasource search view</p>
</li>
<li class="">
<p>Enhanced filtering capabilities</p>
</li>
</ul>
<ul>
<li class=""></li>
</ul>
</li>
<li class="">
<p><strong>New</strong> <strong>Datasource</strong> <strong>View</strong></p>
<ul>
<li class="">****Show/Hide All buttons are now visible by default in the
datasource legends UI, removed from the Advanced section. Buttons
maintain existing functionality and styling while being more
accessible to users.</li>
<li class="">In response to partner feedback, we've expanded the chart zoom
capabilities in the New UI to provide more precise and intuitive
time range controls. These new options complement the existing
zoom levels to offer greater flexibility in data visualisation.
New Zoom Options:<!-- -->
<ul>
<li class="">Current Month: Shows data from the 1st of the current month up
to the present moment</li>
<li class="">Last Month: Displays the complete previous calendar month</li>
<li class="">Last 7 Days: Provides a rolling weekly view</li>
</ul>
</li>
</ul>
</li>
<li class="">
<p><strong>Audit Events View</strong></p>
<ul>
<li class="">Audit Events has a new checkbox that allows users to search
through audit event properties through the UI. This could be used
for example to search through rule logs. Note that this may have a
performance impact on search results.</li>
<li class="">Trigger schedules will report errors in audit events when certain
issues occur:<!-- -->
<ul>
<li class="">Technical name not existing</li>
<li class="">Wrong trigger schedule version</li>
<li class="">Incorrect values of parameters</li>
<li class="">Missing mandatory parameters</li>
</ul>
</li>
</ul>
</li>
</ol>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="ux-improvements">UX Improvements<a href="https://docs.energyworx.net/release-notes/24.04#ux-improvements" class="hash-link" aria-label="Direct link to UX Improvements" title="Direct link to UX Improvements" translate="no">​</a></h3>
<ul>
<li class="">
<p>Dashboards: Set the column width in result tables on the Dashboard to
auto instead of fixed sizes.</p>
</li>
<li class="">
<p>Dashboards: Fixes an issue where visual components in the dashboard
quick settings would overlap under extreme browser zoom and resize
conditions.
The fix ensures:</p>
<ul>
<li class="">Proper component spacing is maintained at all zoom levels</li>
<li class="">Time frame editor remains fully usable during window resizing</li>
<li class="">Quick settings panel maintains correct layout regardless of browser
settings</li>
</ul>
</li>
<li class="">
<p>New Datasource View: Tag rows wrap longer strings instead of scrolling</p>
</li>
<li class="">
<p>When a flow tries to import a rule that doesn't exist an audit event
with error message is shown.</p>
</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="notable-fixes">Notable Fixes<a href="https://docs.energyworx.net/release-notes/24.04#notable-fixes" class="hash-link" aria-label="Direct link to Notable Fixes" title="Direct link to Notable Fixes" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="data-management">Data Management<a href="https://docs.energyworx.net/release-notes/24.04#data-management" class="hash-link" aria-label="Direct link to Data Management" title="Direct link to Data Management" translate="no">​</a></h3>
<ol>
<li class=""><strong>Timeseries Management</strong>
<ul>
<li class="">Fixed an issue where deleting a timeslice group only removed its
latest version. Now, deletion properly removes all versions of a
timeslice group with the same name, preventing unexpected version
restoration when reusing names.</li>
<li class="">We've improved how Datapoint Attributes (DPAs) are displayed in
the datatable view, making it easier to access and understand
attribute information while maintaining existing functionality.
<em>New Features:</em>
<ul>
<li class="">Consolidated Attributes Column: New dedicated column showing all
attributes for each channel<!-- -->
<ul>
<li class="">Grouped presentation of attributes per channel</li>
<li class="">Highlighted styling for better visibility</li>
<li class="">Can be hidden when not needed</li>
<li class="">Existing Views Maintained:</li>
</ul>
</li>
<li class="">Existing Views Maintained:<!-- -->
<ul>
<li class="">Individual attribute columns remain available</li>
<li class="">Per-attribute filtering and sorting capabilities preserved</li>
<li class="">Original column-per-attribute view continues to function as
before</li>
</ul>
</li>
<li class="">Channel Pivot Improvements:<!-- -->
<ul>
<li class="">All attributes automatically group when pivoting on a channel</li>
<li class="">Annotations summary remains available during channel pivot</li>
<li class="">Maintains existing annotation functionality</li>
<li class="">Quick access to complete attribute set without additional
clicks</li>
</ul>
</li>
</ul>
</li>
<li class=""><em>Enhanced timezone support for the new datasource view</em></li>
<li class="">Fixed an issue where missing preferred timezone settings triggered
a non-fatal error in the Original UI</li>
<li class="">Corrected unexpected conversion of DPA timestamp timezones.
<strong>Please Note:</strong> Any attributes with timestamp values need to be
converted to Datetime_utc in the transformation configuration
rules.</li>
<li class="">Resolved a bug where accessing a non-existent property in user
settings caused unexpected behaviour</li>
<li class="">Annotations can now contain Infinity as a value.</li>
<li class="">Empty values show up as false and values that cannot be set to
false in datasource table</li>
<li class="">It is possible to use dynamic channels with different Datapoint
Attributes that are described in the Transformation Configuration.
However, if there is a missing Datapoint Attributes, it won't
raise any error.</li>
</ul>
</li>
<li class=""><strong>Channel</strong> <strong>Management</strong>
<ul>
<li class="">Better dynamic channel handling</li>
<li class="">Improved DPA support</li>
<li class="">Enhanced classifier management</li>
</ul>
</li>
<li class=""><strong>Process Handling</strong>
<ul>
<li class="">Resolved an issue in handling existing file names when storing
files from flows.</li>
<li class="">CSV files with one column are now detected correctly in Transform
Configuration view.</li>
<li class="">We've enhanced XML file handling in Transformation Configurations
by adding automatic column detection capability. This improvement
streamlines the configuration process for XML data sources.</li>
<li class="">This addition makes working with XML files as straightforward as
working with other file formats in Transformation Configurations,
reducing setup time and potential configuration errors.</li>
<li class="">When in a Transform Configuration, the datasource classifier has
an unknown value, an error message will be raised, specifying it
is an error in the datasource classifier and not the channel
classifier</li>
<li class="">Market Adapter Import - Enhanced Error Reporting
Fixed an issue with Market Adapter imports by adding audit event
errors when imports fail, providing clearer visibility into import
failures and making troubleshooting more straightforward for both
users and support teams. The change ensures that:<!-- -->
<ul>
<li class="">Failed Market Adapter imports now generate specific audit events</li>
<li class="">Error details are captured in the audit trail</li>
<li class="">Users receive clear feedback when imports don't succeed</li>
<li class="">Improved trigger scheduling</li>
<li class="">Better error messaging</li>
</ul>
</li>
</ul>
</li>
<li class=""><strong>Environment</strong>
<ul>
<li class="">Fixed an issue where bootstrapping new namespaces failed with a
404 error due to missing billing account association. The system
now properly sets the namespace_id on the billing account during
namespace bootstrapping step.</li>
</ul>
</li>
</ol>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="looking-ahead">Looking Ahead<a href="https://docs.energyworx.net/release-notes/24.04#looking-ahead" class="hash-link" aria-label="Direct link to Looking Ahead" title="Direct link to Looking Ahead" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="upcoming-changes">Upcoming Changes<a href="https://docs.energyworx.net/release-notes/24.04#upcoming-changes" class="hash-link" aria-label="Direct link to Upcoming Changes" title="Direct link to Upcoming Changes" translate="no">​</a></h3>
<ol>
<li class=""><strong>View Deprecations</strong>
<ul>
<li class="">From 25.01, we're setting the following new views as defaults as
they achieve feature parity for end users:<!-- -->
<ul>
<li class="">New Datasource Search View</li>
<li class="">New Audit Events View</li>
<li class="">New Channel Classifiers Management View</li>
</ul>
</li>
</ul>
</li>
<li class=""><strong>Future Enhancements</strong>
<ul>
<li class="">We're working hard on improving on our search performance in 25.01</li>
<li class="">APIv2 Timeseries, we're achieving x4 improvements for querying
timeseries. For more, reach out to Energyworx Support Team</li>
</ul>
</li>
</ol>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="migration-recommendations">Migration Recommendations<a href="https://docs.energyworx.net/release-notes/24.04#migration-recommendations" class="hash-link" aria-label="Direct link to Migration Recommendations" title="Direct link to Migration Recommendations" translate="no">​</a></h3>
<ul>
<li class="">Update to new tag retrieval functions in the Rule Framework</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="known-issues">Known Issues<a href="https://docs.energyworx.net/release-notes/24.04#known-issues" class="hash-link" aria-label="Direct link to Known Issues" title="Direct link to Known Issues" translate="no">​</a></h2>
<p><strong>UI Inconsistencies</strong></p>
<ol>
<li class="">New datasource view: Datapoint information under charts doesn't
match clicked datapoint, so it may see incorrect data when analysing
charts</li>
<li class="">Performance Variation in New Datasource View: While the new
datasource view generally offers improved performance, some users
may experience slower timeseries data loading times than expected.
We are actively investigating to optimise performance across all use
cases.</li>
<li class="">New datasource view: Switching between charts and table view resets
edits in table view</li>
</ol>
<p><strong>Channel</strong> <strong>Classifier and Channel Family Management</strong></p>
<ol>
<li class="">Symbol Datapoint Attributes values displayed as "[object
Object]" instead of actual value</li>
<li class="">UI lacks validation for invalid or empty input for Datapoint
Attributes names</li>
<li class="">Channel family with negative or 0s retention policy can still be
created</li>
<li class="">Reserved channel family name "ewx" shouldn't be allowed to be used,
however it's now possible.</li>
<li class="">Cancelling the creation of a Channel Classifier leads users to
incorrect page</li>
<li class="">API v2 doesn't check for duplicate channel family technical names</li>
<li class="">On APIv1.5:
a.  Unable to set retention policy for channel families in API v1.5
b.  APIv2 GET Channel Family details endpoint doesn't support
channel families created via API v1.5
c.  We recommend using APIv2 for managing channel families</li>
</ol>
<p>Minor Releases</p>
<p>Minor Release 1</p>
<ul>
<li class="">Fix the data loss that is caused by cloud-notification-router
workload</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="minor-release-2">Minor Release 2<a href="https://docs.energyworx.net/release-notes/24.04#minor-release-2" class="hash-link" aria-label="Direct link to Minor Release 2" title="Direct link to Minor Release 2" translate="no">​</a></h3>
<p>Bug Fixes</p>
<ul>
<li class="">Enabled/fixed SOAP endpoints in APIv1.5 and ensured SOAP functionality
is routed via APIv1.5.</li>
<li class="">Moves the chart datapoint click event to the rendered point instead of
the chart object for details rendering consistency</li>
<li class="">Changing deadline looper ctp limit to 1000 for E-redes envs.</li>
<li class="">Fixed issue with datapoint edits incorrectly using continuous mode
when datasource flows are setup.</li>
<li class="">Fixed issue with edits not being loaded on timeseries data for
datasource flows when no source channel data is present.</li>
<li class="">Finds the proper datapoint clicked on the Datasource chart view</li>
<li class="">Adds option to remove the empty value in a Dropdown component</li>
<li class="">In channel family's creation page, the interface will only allow
users to submit their request after all validation warnings have been
resolved</li>
<li class="">Fixed an issue where Datapoint Attributes with symbols type were
visualised as 'object' instead of their proper value.</li>
<li class="">Fixes an issue in channel family creation page where the display name
was used for the technical name as well.</li>
<li class="">Fixed collective trigger application packaging</li>
</ul>
<p>Improvements</p>
<ul>
<li class="">Enhanced pagination for APIv2 timeseries queries</li>
<li class="">Optimised resource allocation for datasource retrieval</li>
</ul>
<p>Benefits</p>
<ul>
<li class="">Reduced number of API requests for multi-channel data</li>
<li class="">More efficient data retrieval for large datasets</li>
<li class="">Improved system resource utilisation</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="minor-release-3">Minor release 3<a href="https://docs.energyworx.net/release-notes/24.04#minor-release-3" class="hash-link" aria-label="Direct link to Minor release 3" title="Direct link to Minor release 3" translate="no">​</a></h3>
<p>Bug Fixes</p>
<ul>
<li class="">Task descriptions rendering are no longer limited to 1k characters</li>
<li class="">Adding retry in prepare source data logic</li>
<li class="">Fixed issue when creating/updating rules. Now we check the status code
of the response, and return the correct error message based on the
response data.</li>
<li class="">This includes a fix for dealing with the error messages when creating
a new flow or tc, and also when updating a tc.
We now check the status code of the BE request and based on it and the
response data, we return the correct error message</li>
<li class="">Added "No tags found" message when tag list contains only "group"
tag.</li>
<li class="">Added "ModuleNotFoundError" exception for csv files where the body
starts with the letter "c" and contains more than one row.</li>
<li class="">Namespaces now have an optional "sub_region" field that will
override the "region" where a more precise location can be supplied
for the BigQuery data. Values like "europe-west1" or "us-central1" are
supported. For the full list of supported values, check this page:
<a href="https://cloud.google.com/compute/docs/regions-zones#available" target="_blank" rel="noopener noreferrer" class="">https://cloud.google.com/compute/docs/regions-zones#available</a>.
Please make sure to specify the region, not the zone
("europe-west1", not "europe-west1-b")</li>
</ul>
<p>Improvements:</p>
<ul>
<li class="">Users can now access our knowledge base from inside the platform</li>
<li class="">Formats month(s) the same as version(s) for Channel Family
retention policy</li>
<li class="">Improved API Pod Autoscaling based on the RPS (requests per
second) coming to the API.</li>
<li class="">Reduced the CPU and Memory resource usage of the API Workload.</li>
<li class="">Reduced the minimum Number of Pods used by the API Workload.</li>
<li class="">Updated the GKE version to be a minimum of 1.31.</li>
<li class="">Added APIv1.5 scaling based on Google Cloud Load Balancer metric, to
reduce the idle cost of the API workloads and to make the scaling
faster.<!-- -->
<ul>
<li class="">We've implemented advanced scaling capabilities for API v1.5 using
Google Cloud Load Balancer metrics, optimising both cost efficiency
and performance during varying workload conditions.</li>
<li class="">Cost Change Impacts:<!-- -->
<ul>
<li class="">Significant reduction in idle workload costs</li>
<li class="">More efficient resource allocation during low-traffic periods</li>
<li class="">Optimised cost-to-performance ratio</li>
</ul>
</li>
<li class="">Scalability<!-- -->
<ul>
<li class="">Faster scaling response during peak load periods</li>
<li class="">More responsive adjustment to sudden traffic changes</li>
<li class="">Improved handling of high-concurrency scenarios</li>
</ul>
</li>
</ul>
</li>
</ul>
<p>Note: Changes may be less noticeable during light usage</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="minor-release-4">Minor release 4<a href="https://docs.energyworx.net/release-notes/24.04#minor-release-4" class="hash-link" aria-label="Direct link to Minor release 4" title="Direct link to Minor release 4" translate="no">​</a></h3>
<p>Bug Fixes</p>
<ul>
<li class="">Fixed an issue with the writer component that affected how some tags
were written into storage, that affected the flow metadata endpoint
where retrieval of property values were missing in some cases</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="minor-release-5">Minor release 5<a href="https://docs.energyworx.net/release-notes/24.04#minor-release-5" class="hash-link" aria-label="Direct link to Minor release 5" title="Direct link to Minor release 5" translate="no">​</a></h3>
<p>Bug Fixes</p>
<ul>
<li class="">Allow the rule parameter to be changed without the source code
(until now, the rule parameter could only be changed if the source
code was changed)</li>
<li class="">Added more extensive API validation for channel families</li>
<li class="">Consistently returns 404 when no channel families are present.</li>
<li class="">Added API validation for channel families</li>
<li class="">The form for adding tag on multiple datasources was changed because it
didn't contain the property type and besides that, it was defined in
controller.
The type of tags was also changed, it should be sent as a list (it
was defined as an object and I changed it to be a list).</li>
<li class="">Created on date on file manager is showing correct date, Created on
date am and pm is shown as expected</li>
<li class="">Fixed an error in the labelling of AND and OR in Channel Families on
the NUI.</li>
<li class="">Removed the part that grants viewers access to energyworx users from
create_new_project_in_google.sh</li>
<li class="">Editing data points value from the chart works as expected.</li>
<li class="">A graph widget query startdate is based on UTC</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="minor-release-6">Minor release 6<a href="https://docs.energyworx.net/release-notes/24.04#minor-release-6" class="hash-link" aria-label="Direct link to Minor release 6" title="Direct link to Minor release 6" translate="no">​</a></h3>
<p>Bug Fixes</p>
<ul>
<li class="">Uncaught exceptions for particular combinations of uploaded files
content's are dealt properly now and the file is properly processed.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="minor-release-7">Minor release 7<a href="https://docs.energyworx.net/release-notes/24.04#minor-release-7" class="hash-link" aria-label="Direct link to Minor release 7" title="Direct link to Minor release 7" translate="no">​</a></h3>
<p>Bug Fixes</p>
<ul>
<li class="">Original Datasource view - Fixes an issue where editing a datapoint
with '0' value, removed the datapoint from the editing view</li>
<li class="">Fixing restoring historical versions of flow configurations for
datasource flows</li>
<li class="">Enabled/fixed SOAP endpoints in APIv1.5 and ensured SOAP functionality
is routed via APIv1.5.</li>
<li class="">Dashboard graph widget rendering as expected.</li>
<li class="">It is possible to search only a value and not a list</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="minor-release-8">Minor release 8<a href="https://docs.energyworx.net/release-notes/24.04#minor-release-8" class="hash-link" aria-label="Direct link to Minor release 8" title="Direct link to Minor release 8" translate="no">​</a></h3>
<p>Bug Fixes</p>
<ul>
<li class="">New tag versions were created when the TC configuration was set to
non-SCD. Now only one version remains.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="minor-release-9">Minor release 9<a href="https://docs.energyworx.net/release-notes/24.04#minor-release-9" class="hash-link" aria-label="Direct link to Minor release 9" title="Direct link to Minor release 9" translate="no">​</a></h3>
<p>Bug Fixes</p>
<ul>
<li class="">Flow results visualization missing backwards compatibility for some
existing flow executions.</li>
<li class="">Making sure get_existing_datasources returns an object for each
datasource id (including None for non existing datasource ids).</li>
<li class="">Correction of database instance location in processing pipeline.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="minor-release-10">Minor release 10<a href="https://docs.energyworx.net/release-notes/24.04#minor-release-10" class="hash-link" aria-label="Direct link to Minor release 10" title="Direct link to Minor release 10" translate="no">​</a></h3>
<p>Bug Fixes</p>
<ul>
<li class="">Fixed issue that prevented flow metadata being written to BigQuery.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="minor-release-11">Minor release 11<a href="https://docs.energyworx.net/release-notes/24.04#minor-release-11" class="hash-link" aria-label="Direct link to Minor release 11" title="Direct link to Minor release 11" translate="no">​</a></h3>
<p>Bug Fixes</p>
<ul>
<li class="">Added retry mechanism for google RefreshError Exception, in the
collect Market adapter logic.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="minor-release-12">Minor release 12<a href="https://docs.energyworx.net/release-notes/24.04#minor-release-12" class="hash-link" aria-label="Direct link to Minor release 12" title="Direct link to Minor release 12" translate="no">​</a></h3>
<p>Bug Fixes</p>
<ul>
<li class="">Now it is possible to filter legend channels by their displaynames</li>
<li class="">Channel Properties are now returned by the tag search endpoint
(datasource/search) in APIv1.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="minor-release-13">Minor release 13<a href="https://docs.energyworx.net/release-notes/24.04#minor-release-13" class="hash-link" aria-label="Direct link to Minor release 13" title="Direct link to Minor release 13" translate="no">​</a></h3>
<p>Bug Fixes</p>
<ul>
<li class="">Now the time series data time zone matches the dashboard graph's
x-axis, which shows UTC time.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="minor-release-15">Minor release 15<a href="https://docs.energyworx.net/release-notes/24.04#minor-release-15" class="hash-link" aria-label="Direct link to Minor release 15" title="Direct link to Minor release 15" translate="no">​</a></h3>
<p>Bug Fixes</p>
<ul>
<li class="">Custom transform rules can now be configured for a tag's
<code>valid_from</code> field in the Transformation Configuration.</li>
<li class="">Added retry for pubsub exeception in market adapt logic</li>
<li class="">Fixed the remove and update tags for multiple datasources</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="minor-release-16">Minor release 16<a href="https://docs.energyworx.net/release-notes/24.04#minor-release-16" class="hash-link" aria-label="Direct link to Minor release 16" title="Direct link to Minor release 16" translate="no">​</a></h3>
<p>Bug Fixes</p>
<ul>
<li class="">Custom transform rules can now be configured for a tag's
<code>valid_from</code> field in the Transformation Configuration.</li>
<li class="">Storing the tags once when the file is ingested multiple times.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="minor-release-17">Minor release 17<a href="https://docs.energyworx.net/release-notes/24.04#minor-release-17" class="hash-link" aria-label="Direct link to Minor release 17" title="Direct link to Minor release 17" translate="no">​</a></h3>
<p>Bug Fixes</p>
<ul>
<li class="">Longer task descriptions can be generated. Previous maximum size was
1500 chararcters.</li>
<li class="">Creation of files from flows has gotten more robust.</li>
<li class="">Add Service Account IAM to topic, that allows the Google Storage
bucket to send a notification to timeseries aggregation topic.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="minor-release-18">Minor release 18<a href="https://docs.energyworx.net/release-notes/24.04#minor-release-18" class="hash-link" aria-label="Direct link to Minor release 18" title="Direct link to Minor release 18" translate="no">​</a></h3>
<p>Bug Fixes</p>
<ul>
<li class="">Added a retry mechanism to resolve data adaptation failures caused by
network exceptions.</li>
<li class="">Resolved an issue that prevented the bigquery_ingest trigger from
functioning without a Market Adapter assigned.</li>
<li class="">Updated AG Grid Key.</li>
</ul>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Release Notes: Version 24.03]]></title>
        <id>https://docs.energyworx.net/release-notes/24.03</id>
        <link href="https://docs.energyworx.net/release-notes/24.03"/>
        <updated>2024-03-04T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[1\. EQL Improvements - Speed and Data Safety]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="1-eql-improvements---speed-and-data-safety">1. EQL Improvements - Speed and Data Safety<a href="https://docs.energyworx.net/release-notes/24.03#1-eql-improvements---speed-and-data-safety" class="hash-link" aria-label="Direct link to 1. EQL Improvements - Speed and Data Safety" title="Direct link to 1. EQL Improvements - Speed and Data Safety" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="breaking-change">Breaking Change<a href="https://docs.energyworx.net/release-notes/24.03#breaking-change" class="hash-link" aria-label="Direct link to Breaking Change" title="Direct link to Breaking Change" translate="no">​</a></h3>
<p>So if your eql query has no set insertion_date or _PARTITIONTIME parameter, and you’re querying on September 3rd, 2024, the results will only include data inserted after September 3rd, 2023. However, the data within those results can still refer to older dates (for example, if you’re backtracking to calculate billing for a past period).</p>
<p>If the date is specified, then the behaviour is the same as before.</p>
<p>The namespace needs to be bootstrapped for queries without a insertion_date or _PARTITIONTIME parameter to work.</p>
<p><em>Benefits:</em></p>
<ol>
<li class="">Increased querying speed</li>
<li class="">Enhanced data safety</li>
<li class="">Expected decrease in unintentional BigQuery cost and usage</li>
</ol>
<p><em>Change in default behavior:</em></p>
<p>EQL queries without a specified insertion_time or _PARTITIONTIME will now only include data inserted within one year from the query date by default.<br>
<em>Example of new behaviour:</em></p>
<p>If an existing eql statement is ran on September 3rd, 2024, without specifying insertion_time or _PARTITIONTIME, results will only include data inserted after September 3rd, 2023.<br>
<!-- -->However, the data within these results can still refer to older dates (e.g., for backtracking or historical calculations).</p>
<p><em>Consistency with previous behaviour:</em></p>
<p>If insertion_time or _PARTITIONTIME is explicitly specified, the behavior remains the same as before.</p>
<p>Increase querying speed and add data safety, the platform now exposes insertion_time for all tables available to eql. An additional benefit is an expected decrease in unintentional BigQuery cost and usage</p>
<p>The change in behaviour is that now eql queries without a specified insertion_time or _PARTITIONTIME will only include data that has been inserted within one year from the date of the query by default.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="2-flow-duration-limit-warning">2. Flow Duration Limit Warning<a href="https://docs.energyworx.net/release-notes/24.03#2-flow-duration-limit-warning" class="hash-link" aria-label="Direct link to 2. Flow Duration Limit Warning" title="Direct link to 2. Flow Duration Limit Warning" translate="no">​</a></h2>
<p>We're introducing a new behaviour to help our partners build more efficient and robust flows. This update adds warnings for flows that exceed certain duration thresholds, promoting better performance and resource utilisation.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="new-behaviour">New Behaviour<a href="https://docs.energyworx.net/release-notes/24.03#new-behaviour" class="hash-link" aria-label="Direct link to New Behaviour" title="Direct link to New Behaviour" translate="no">​</a></h3>
<ul>
<li class=""><em><strong>5-Minute Warning</strong></em> An audit event is generated when a flow's execution exceeds 5 minutes.</li>
<li class=""><em><strong>10-Minute Warning</strong></em> An audit event is generated when a flow's execution exceeds 10 minutes.<br>
<!-- -->In a future release, this will become an error event, and flows exceeding 10 minutes will be automatically aborted.</li>
</ul>
<p><em>Benefits</em></p>
<ul>
<li class="">Early identification of performance issues</li>
<li class="">Opportunity to optimise business rules</li>
<li class="">Improved overall system efficiency</li>
</ul>
<p><em>Technical Details</em></p>
<p>Duration Measurement:</p>
<ul>
<li class="">Ingestion and ingestion flows: Measured collectively</li>
<li class="">Chained flows: Measured individually</li>
</ul>
<p><em>Looking Ahead</em><br>
<!-- -->These warnings are designed to help partners optimise their flows proactively. By addressing performance issues early, partners can ensure their processes achieve business goals efficiently and avoid future disruptions when stricter limits are implemented.</p>
<p>We encourage all partners to review and optimise any flows that trigger these new warning events.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="3-new-units-available-in-channel-classifiers">3. New Units available in Channel Classifiers<a href="https://docs.energyworx.net/release-notes/24.03#3-new-units-available-in-channel-classifiers" class="hash-link" aria-label="Direct link to 3. New Units available in Channel Classifiers" title="Direct link to 3. New Units available in Channel Classifiers" translate="no">​</a></h2>
<p>We've expanded the unit options available in channel classifiers:</p>
<ul>
<li class="">Gas Datasource Type: Cubic Meter per Hour (m3/hour)</li>
<li class="">Water Datasource Type: Litre per Minute (L/min)</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="4-knowledge-base-access">4. Knowledge Base Access<a href="https://docs.energyworx.net/release-notes/24.03#4-knowledge-base-access" class="hash-link" aria-label="Direct link to 4. Knowledge Base Access" title="Direct link to 4. Knowledge Base Access" translate="no">​</a></h2>
<ul>
<li class="">Users can now access the Energyworx Knowledge Base directly from within the platform.</li>
<li class="">No additional login or authentication required.</li>
<li class="">Simply click on the "Knowledge Base" item in the side menu to open it in a new tab.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="5-platform-version-visibility">5. Platform Version Visibility<a href="https://docs.energyworx.net/release-notes/24.03#5-platform-version-visibility" class="hash-link" aria-label="Direct link to 5. Platform Version Visibility" title="Direct link to 5. Platform Version Visibility" translate="no">​</a></h2>
<ul>
<li class="">The current platform version is now visible within the console.</li>
<li class="">Users can easily reference the deployed version by looking at the bottom of the side menu.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="6-new-alpha-datasource-search-view">6. New Alpha Datasource Search View<a href="https://docs.energyworx.net/release-notes/24.03#6-new-alpha-datasource-search-view" class="hash-link" aria-label="Direct link to 6. New Alpha Datasource Search View" title="Direct link to 6. New Alpha Datasource Search View" translate="no">​</a></h2>
<ul>
<li class="">We're developing a refreshed search page with a focus on simplicity and reduced clutter.</li>
<li class="">An alpha sneak peek of this feature is available to users with the 'beta features' flag enabled.</li>
<li class="">This new view represents our ongoing efforts to enhance user experience and streamline data access.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="7-new-datasource-view-improvements">7. New Datasource View Improvements<a href="https://docs.energyworx.net/release-notes/24.03#7-new-datasource-view-improvements" class="hash-link" aria-label="Direct link to 7. New Datasource View Improvements" title="Direct link to 7. New Datasource View Improvements" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="edit-reason-requirement">Edit Reason Requirement<a href="https://docs.energyworx.net/release-notes/24.03#edit-reason-requirement" class="hash-link" aria-label="Direct link to Edit Reason Requirement" title="Direct link to Edit Reason Requirement" translate="no">​</a></h3>
<p>To enhance security and compliance, providing an 'edit reason' is now mandatory when:</p>
<ul>
<li class="">Editing a datapoint value</li>
<li class="">Modifying annotations</li>
<li class="">Changing Datapoint Attributes</li>
</ul>
<p>This change ensures a clear audit trail for all data modifications in the new datasource view.</p>
<p><strong>Note:</strong> We've renamed 'value' to 'datapoint value' for improved clarity.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="annotations-and-datapoint-attributes-enhancements">Annotations and Datapoint Attributes Enhancements<a href="https://docs.energyworx.net/release-notes/24.03#annotations-and-datapoint-attributes-enhancements" class="hash-link" aria-label="Direct link to Annotations and Datapoint Attributes Enhancements" title="Direct link to Annotations and Datapoint Attributes Enhancements" translate="no">​</a></h3>
<ul>
<li class="">Both zero '0' and 'null' values are now inspectable from the details panel.</li>
<li class="">Users can click on datapoints and their annotations from the chart when the annotation is activated.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="tags-improvements">Tags Improvements<a href="https://docs.energyworx.net/release-notes/24.03#tags-improvements" class="hash-link" aria-label="Direct link to Tags Improvements" title="Direct link to Tags Improvements" translate="no">​</a></h3>
<p>We've made several updates to improve the tags functionality:</p>
<ol>
<li class=""><strong>Layout Optimisation:</strong>
<ul>
<li class="">Up to 4 tags are now displayed in one row, maximising screen usage for power users.</li>
<li class="">Tags are expanded by default for increased glanceability.</li>
</ul>
</li>
<li class=""><strong>Simplified View:</strong>
<ul>
<li class="">The 'Versions' button is only visible when more than one version is available for a tag.</li>
<li class="">The 'Show Removed' button appears only when 'removed' tags are available.</li>
</ul>
</li>
<li class=""><strong>Enhanced Styling:</strong>
<ul>
<li class="">Both tags' 'version' and 'valid from' are styled distinctly from other tag properties.</li>
</ul>
</li>
<li class=""><strong>Future-Dated Tags:</strong>
<ul>
<li class="">Tags with a 'valid from' date set in the future are now hidden by default.</li>
</ul>
</li>
</ol>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="8-process-monitoring-improvements">8. Process Monitoring Improvements<a href="https://docs.energyworx.net/release-notes/24.03#8-process-monitoring-improvements" class="hash-link" aria-label="Direct link to 8. Process Monitoring Improvements" title="Direct link to 8. Process Monitoring Improvements" translate="no">​</a></h2>
<p>We're excited to announce several enhancements to our Process Monitoring feature, aimed at improving clarity, usability, and error feedback:</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="metrics-display-optimisation">Metrics Display Optimisation<a href="https://docs.energyworx.net/release-notes/24.03#metrics-display-optimisation" class="hash-link" aria-label="Direct link to Metrics Display Optimisation" title="Direct link to Metrics Display Optimisation" translate="no">​</a></h3>
<ul>
<li class="">The metrics results row has been redesigned for better space utilisation.</li>
<li class="">Descriptions are now hidden behind tooltips, allowing more room for key metrics.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="time-related-enhancements">Time-Related Enhancements<a href="https://docs.energyworx.net/release-notes/24.03#time-related-enhancements" class="hash-link" aria-label="Direct link to Time-Related Enhancements" title="Direct link to Time-Related Enhancements" translate="no">​</a></h3>
<ul>
<li class="">Time zone information has been added to Start and End time metrics.</li>
<li class="">For increased clarity, we've renamed the "Start Time" metric to "First process instance start time".</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="real-time-data-access">Real-Time Data Access<a href="https://docs.energyworx.net/release-notes/24.03#real-time-data-access" class="hash-link" aria-label="Direct link to Real-Time Data Access" title="Direct link to Real-Time Data Access" translate="no">​</a></h3>
<ul>
<li class="">A new "refresh" button has been added to the metrics display.</li>
<li class="">This feature ensures users can access the most up-to-date metrics at any time.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="improved-error-feedback">Improved Error Feedback<a href="https://docs.energyworx.net/release-notes/24.03#improved-error-feedback" class="hash-link" aria-label="Direct link to Improved Error Feedback" title="Direct link to Improved Error Feedback" translate="no">​</a></h3>
<ul>
<li class="">We've enhanced the system's response to non-existent flow configuration IDs in Transformation Configurations.</li>
<li class="">When a user enters an invalid ID, the system now generates an audit event with a Warning level.</li>
<li class="">This improvement provides clear and immediate notification of configuration issues.</li>
</ul>
<h1>Unshipped in this release</h1>
<p>As part of our ongoing commitment to user-centric design and streamlined functionality, we've made several changes to remove or modify features that weren't meeting their intended purposes. This section outlines these changes and the reasoning behind them.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="1-transport-adapter">1. Transport Adapter<a href="https://docs.energyworx.net/release-notes/24.03#1-transport-adapter" class="hash-link" aria-label="Direct link to 1. Transport Adapter" title="Direct link to 1. Transport Adapter" translate="no">​</a></h3>
<ul>
<li class=""><strong>What</strong> : The transport adapter has been removed from the platform and isn't accessible from the console's menu.</li>
<li class=""><strong>Why</strong> : It didn't provide the integration resilience we had aimed for.</li>
<li class=""><strong>Alternative</strong> : We've developed a new component offering improved integration with external systems and hubs.</li>
<li class=""><strong>Next Steps</strong> : For integration needs, please contact our service desk for an enhanced solution.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="2-advanced-search-panel-cleanup">2. Advanced Search Panel Cleanup<a href="https://docs.energyworx.net/release-notes/24.03#2-advanced-search-panel-cleanup" class="hash-link" aria-label="Direct link to 2. Advanced Search Panel Cleanup" title="Direct link to 2. Advanced Search Panel Cleanup" translate="no">​</a></h3>
<ul>
<li class=""><strong>What</strong> : Unused tables 'annotations' and 'annotations_bt' have been removed from the advanced search panel.</li>
<li class=""><strong>Why</strong> : To simplify and streamline the search experience. We saw no active usage of these tables.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="3-generated-id-helper-column">3. 'Generated ID' Helper Column<a href="https://docs.energyworx.net/release-notes/24.03#3-generated-id-helper-column" class="hash-link" aria-label="Direct link to 3. 'Generated ID' Helper Column" title="Direct link to 3. 'Generated ID' Helper Column" translate="no">​</a></h3>
<ul>
<li class=""><strong>What</strong> : The 'Generated ID' helper column in the transformation configuration view is no longer available as an option for use with flow properties.</li>
<li class=""><strong>Why</strong> : To reduce complexity and focus on more frequently used options.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="4-user-settings---channel-features">4. User Settings - Channel Features<a href="https://docs.energyworx.net/release-notes/24.03#4-user-settings---channel-features" class="hash-link" aria-label="Direct link to 4. User Settings - Channel Features" title="Direct link to 4. User Settings - Channel Features" translate="no">​</a></h3>
<ul>
<li class=""><strong>What</strong> : We've consolidated channel features into two main options: 'blacklisted channels' and 'Default visible channels'.</li>
<li class=""><strong>Why</strong> : To simplify user choices and improve overall user experience.</li>
<li class=""><strong>Removed</strong> : The "whitelisted channels" feature has been removed.</li>
</ul>
<h1>Notable Fixes</h1>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="1-task-management">1. Task Management<a href="https://docs.energyworx.net/release-notes/24.03#1-task-management" class="hash-link" aria-label="Direct link to 1. Task Management" title="Direct link to 1. Task Management" translate="no">​</a></h3>
<ul>
<li class="">Fixed an issue where task boards with no filter didn't load correctly.</li>
<li class="">Task results limit is now respected in the task listing when set higher than 20 results per page.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="2-dashboard-and-search">2. Dashboard and Search<a href="https://docs.energyworx.net/release-notes/24.03#2-dashboard-and-search" class="hash-link" aria-label="Direct link to 2. Dashboard and Search" title="Direct link to 2. Dashboard and Search" translate="no">​</a></h3>
<ul>
<li class="">Resolved a layout issue in the Dashboard view affecting autoscaling of visual elements.</li>
<li class="">Advanced Search now consistently supports using double quotes for queries, aligning with API usage.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="3-datasource-views">3. Datasource Views<a href="https://docs.energyworx.net/release-notes/24.03#3-datasource-views" class="hash-link" aria-label="Direct link to 3. Datasource Views" title="Direct link to 3. Datasource Views" translate="no">​</a></h3>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="original-datasource-view">Original Datasource View<a href="https://docs.energyworx.net/release-notes/24.03#original-datasource-view" class="hash-link" aria-label="Direct link to Original Datasource View" title="Direct link to Original Datasource View" translate="no">​</a></h3>
<ul>
<li class="">Fixed an issue where editing the same datapoint multiple times without refreshing led to duplicated entries in the datatable.</li>
<li class="">Resolved the problem of Datapoint Attributes with the same name being duplicated in all matching columns.</li>
<li class="">Fixed the audit event stats display.</li>
<li class="">Datasource view now shows the display name for a channel instead of the technical name when available.</li>
<li class="">Addressed an issue where editing a datapoint with '0' value removed it from the editing view.</li>
<li class="">Improved functionality to allow loading of Blacklisted Channels when needed.</li>
<li class="">Fixed an issue where clicking 'switch to channel view' didn't behave as expected.</li>
<li class="">Resolved an issue with edits and the pivot column causing user filters to reset.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="new-datasource-view">New Datasource View<a href="https://docs.energyworx.net/release-notes/24.03#new-datasource-view" class="hash-link" aria-label="Direct link to New Datasource View" title="Direct link to New Datasource View" translate="no">​</a></h3>
<ul>
<li class="">Fixed an issue where trying to open a datasource via the new console led to the channel classifiers page.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="4-user-experience">4. User Experience<a href="https://docs.energyworx.net/release-notes/24.03#4-user-experience" class="hash-link" aria-label="Direct link to 4. User Experience" title="Direct link to 4. User Experience" translate="no">​</a></h3>
<ul>
<li class="">Resolved an issue where users had to log out twice from the console (from both original and new views).</li>
<li class="">Fixed an issue where updating the blacklisted channel list from the new user settings view didn't take effect.</li>
<li class="">The new login view's popup prompting the user to login is now shown in the expected location.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="5-rule-framework">5. Rule Framework<a href="https://docs.energyworx.net/release-notes/24.03#5-rule-framework" class="hash-link" aria-label="Direct link to 5. Rule Framework" title="Direct link to 5. Rule Framework" translate="no">​</a></h3>
<ul>
<li class="">Datapoint values in dataframe can now be empty. The processing pipeline will continue to handle Datapoint attributes even if there are no Datapoint values.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="6-technical-improvements">6. Technical Improvements<a href="https://docs.energyworx.net/release-notes/24.03#6-technical-improvements" class="hash-link" aria-label="Direct link to 6. Technical Improvements" title="Direct link to 6. Technical Improvements" translate="no">​</a></h3>
<ul>
<li class="">Fixed an issue to prevent the simultaneous use of classifiers and channel_family in timeseries service. An exception is now thrown if both parameters are used. The filter by channel_family only has been fixed.</li>
</ul>
<hr>
<h1>Minor Releases</h1>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="minor-release-2">Minor Release 2<a href="https://docs.energyworx.net/release-notes/24.03#minor-release-2" class="hash-link" aria-label="Direct link to Minor Release 2" title="Direct link to Minor Release 2" translate="no">​</a></h2>
<ul>
<li class="">When choosing default visible channels, only those channels are visible on the chart.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="minor-release-3">Minor Release 3<a href="https://docs.energyworx.net/release-notes/24.03#minor-release-3" class="hash-link" aria-label="Direct link to Minor Release 3" title="Direct link to Minor Release 3" translate="no">​</a></h2>
<ul>
<li class="">Fixed issue where old channel flow rules would fail to load in ingestions/flows.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="minor-release-4">Minor Release 4<a href="https://docs.energyworx.net/release-notes/24.03#minor-release-4" class="hash-link" aria-label="Direct link to Minor Release 4" title="Direct link to Minor Release 4" translate="no">​</a></h2>
<ul>
<li class="">Additional warnings on audit events when a flow is triggered from a transformation configuration, even when no flow configuration is assigned. This now results in a warning Audit Event to the user about the Flow Config missing.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="minor-release-5">Minor Release 5<a href="https://docs.energyworx.net/release-notes/24.03#minor-release-5" class="hash-link" aria-label="Direct link to Minor Release 5" title="Direct link to Minor Release 5" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="new-features-and-improvements">New Features and Improvements<a href="https://docs.energyworx.net/release-notes/24.03#new-features-and-improvements" class="hash-link" aria-label="Direct link to New Features and Improvements" title="Direct link to New Features and Improvements" translate="no">​</a></h3>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="soap-integration-enhancements">SOAP Integration Enhancements<a href="https://docs.energyworx.net/release-notes/24.03#soap-integration-enhancements" class="hash-link" aria-label="Direct link to SOAP Integration Enhancements" title="Direct link to SOAP Integration Enhancements" translate="no">​</a></h4>
<ul>
<li class="">Enabled SOAP response endpoint for improved integration capabilities</li>
<li class="">Added channel properties and information completeness in responses</li>
<li class="">Improved validation in store rules to verify DPA existence in channels</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="user-interface-improvements">User Interface Improvements<a href="https://docs.energyworx.net/release-notes/24.03#user-interface-improvements" class="hash-link" aria-label="Direct link to User Interface Improvements" title="Direct link to User Interface Improvements" translate="no">​</a></h3>
<ul>
<li class="">Users with (billingaccount create, update, read) permission set can whitelist users for a namespace from a different billing account.</li>
<li class="">We've re-enabled Channel Classifiers' new view after taking some time to work on issues that affected the user experience.</li>
<li class="">When viewing a limited number of channels on chart on the datasource view, the user is able to see the channel name next to the line chart.</li>
<li class="">We've reduced the number of visible markers when viewing a large number of datapoints on chart for better user experience</li>
<li class="">Updated UI messaging for ad blocker extensions to use "whitelisting" terminology</li>
<li class="">Added ability to delete assignee from task details</li>
<li class="">Improved search functionality to prevent immediate result reset when modifying search terms</li>
<li class="">Tags with future 'valid from' dates are now hidden by default</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="data-processing-and-performance">Data Processing and Performance<a href="https://docs.energyworx.net/release-notes/24.03#data-processing-and-performance" class="hash-link" aria-label="Direct link to Data Processing and Performance" title="Direct link to Data Processing and Performance" translate="no">​</a></h3>
<ul>
<li class="">Fixed timezone handling for Datapoint Attributes timestamps. When storing Datapoint Attributes of type timestamp, the value needs to be converted to <code>Datetime utc</code> in transformation configuration rules</li>
<li class="">Enhanced retries for failed timeseries loading operations in the Rules framework</li>
<li class="">Improved file creation from flows robustness.</li>
<li class="">Added cache expiration to channel classifier in timeseries endpoint on APIv2</li>
<li class="">Improved handling of dynamic channels with different DPAs in Transformation Configuration</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="chart-and-visualisation-updates">Chart and Visualisation Updates<a href="https://docs.energyworx.net/release-notes/24.03#chart-and-visualisation-updates" class="hash-link" aria-label="Direct link to Chart and Visualisation Updates" title="Direct link to Chart and Visualisation Updates" translate="no">​</a></h3>
<ul>
<li class="">Improved gap visualisation in new datasource view's chart.</li>
<li class="">Enhanced new datasource view to show channel display names instead of technical names</li>
<li class="">Timezones on the new datasource detail view uses user's timezone consistently</li>
<li class="">Show/Hide All buttons are directly visible in datasource legends panel.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="bug-fixes">Bug Fixes<a href="https://docs.energyworx.net/release-notes/24.03#bug-fixes" class="hash-link" aria-label="Direct link to Bug Fixes" title="Direct link to Bug Fixes" translate="no">​</a></h3>
<ul>
<li class="">Fixed process monitoring metrics loading in process configuration</li>
<li class="">Fixed an issue where bootstrapping new namespaces failed with a 404 error due to missing billing account association. The system now properly sets the namespace_id on the billing account during namespace bootstrapping step.</li>
<li class="">Addressed logout synchronization between original and new consoles</li>
<li class="">Fixed an issue where messages were processed with the default workload instead of the one corresponding to the label of the process</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="technical-improvements">Technical Improvements<a href="https://docs.energyworx.net/release-notes/24.03#technical-improvements" class="hash-link" aria-label="Direct link to Technical Improvements" title="Direct link to Technical Improvements" translate="no">​</a></h3>
<ul>
<li class="">Enhanced API handling for flows without flow configurations</li>
<li class="">Added Decision Tree ID to audit events for better traceability</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="minor-release-6">Minor Release 6<a href="https://docs.energyworx.net/release-notes/24.03#minor-release-6" class="hash-link" aria-label="Direct link to Minor Release 6" title="Direct link to Minor Release 6" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="platform-improvements">Platform Improvements<a href="https://docs.energyworx.net/release-notes/24.03#platform-improvements" class="hash-link" aria-label="Direct link to Platform Improvements" title="Direct link to Platform Improvements" translate="no">​</a></h3>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="enhanced-audit-event-search">Enhanced Audit Event Search<a href="https://docs.energyworx.net/release-notes/24.03#enhanced-audit-event-search" class="hash-link" aria-label="Direct link to Enhanced Audit Event Search" title="Direct link to Enhanced Audit Event Search" translate="no">​</a></h4>
<p>We've expanded our audit event search capabilities. Users can now search through audit event properties and rule logs using a new checkbox option on the Audit Events page. While this feature provides deeper insights into your audit trail, please note that enabling this enhanced search functionality may impact performance.</p>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="consistent-timezone-experience">Consistent Timezone Experience<a href="https://docs.energyworx.net/release-notes/24.03#consistent-timezone-experience" class="hash-link" aria-label="Direct link to Consistent Timezone Experience" title="Direct link to Consistent Timezone Experience" translate="no">​</a></h4>
<p>We've expanded timezone consistency across the platform. The system now respects user timezone settings in the new views for Channel Classifiers and datasource view, and the File Manager, ensuring a more coherent date display experience throughout the platform.</p>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="new-datasource-view-enhancements">New Datasource View Enhancements<a href="https://docs.energyworx.net/release-notes/24.03#new-datasource-view-enhancements" class="hash-link" aria-label="Direct link to New Datasource View Enhancements" title="Direct link to New Datasource View Enhancements" translate="no">​</a></h4>
<p>Multiple improvements have been made to the handling of Datapoint Attributes (DPA). The system now correctly displays and enables editing of boolean "true" values, while also properly managing empty boolean values in the table view. We've also enhanced DPA value rendering in tables through improved channel key matching.</p>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="misc">Misc.<a href="https://docs.energyworx.net/release-notes/24.03#misc" class="hash-link" aria-label="Direct link to Misc." title="Direct link to Misc." translate="no">​</a></h4>
<ul>
<li class="">Dashboard - The recipe listing functionality on Dashboards has been restored to full operation.</li>
<li class="">Timeslice Groups - We've also resolved an issue where Timeslice Groups would enter a persistent loading state, preventing updates and deletions.</li>
<li class="">Fixed a small issue affecting channel classifiers for French language users.</li>
<li class="">We've standardised the handling of None and NaN values in annotation properties to prevent data inconsistencies.</li>
<li class="">The platform now demonstrates improved resilience during high-volume ingestion scenarios, with enhanced retry mechanisms for cloud service interruptions.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="technical-improvements-1">Technical Improvements<a href="https://docs.energyworx.net/release-notes/24.03#technical-improvements-1" class="hash-link" aria-label="Direct link to Technical Improvements" title="Direct link to Technical Improvements" translate="no">​</a></h3>
<p>The platform's core infrastructure has been strengthened with improved error handling for cloud operations and enhanced data consistency across components. Various UI and visualisation issues have been addressed to provide a more stable user experience.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="minor-release-7">Minor Release 7<a href="https://docs.energyworx.net/release-notes/24.03#minor-release-7" class="hash-link" aria-label="Direct link to Minor Release 7" title="Direct link to Minor Release 7" translate="no">​</a></h2>
<p><strong>Knowledge Base Integration</strong></p>
<ul>
<li class="">Users can now access the Energyworx Knowledge Base directly from within the platform</li>
<li class="">No additional login required</li>
<li class="">Available through the side menu, opens in a new tab</li>
</ul>
<p><strong>Namespace Regional Options Enhancement</strong></p>
<p>Namespaces now have an optional “sub_region“ property field that will override the “region“ where a more precise location can be supplied for the BigQuery data.</p>
<p>Values like “europe-west1“ or “us-central1“ are supported. For the full list of supported values, check this page: <a href="https://cloud.google.com/compute/docs/regions-zones#available" target="_blank" rel="noopener noreferrer" class=""><strong>GCP region zones</strong></a></p>
<p>Please make sure to specify the region, not the zone \(“europe-west1“, not “europe-west1-b“\)</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="improvements">Improvements<a href="https://docs.energyworx.net/release-notes/24.03#improvements" class="hash-link" aria-label="Direct link to Improvements" title="Direct link to Improvements" translate="no">​</a></h3>
<p><strong>Infrastructure &amp; Performance</strong></p>
<ul>
<li class="">Enhanced API Pod Autoscaling based on requests per second (RPS)</li>
<li class="">Optimized CPU and Memory resource usage for API workload</li>
<li class="">Reduced minimum number of API workload pods</li>
<li class="">Updated GKE version to minimum 1.31</li>
</ul>
<p><strong>Task Management</strong></p>
<ul>
<li class="">Removed 1k character limit on task descriptions</li>
<li class="">Improved task description display capabilities</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="bug-fixes-1">Bug Fixes<a href="https://docs.energyworx.net/release-notes/24.03#bug-fixes-1" class="hash-link" aria-label="Direct link to Bug Fixes" title="Direct link to Bug Fixes" translate="no">​</a></h3>
<p><strong>Datasource View &amp; Data Management</strong></p>
<ul>
<li class="">Fixed datapoint edits incorrectly using continuous mode with datasource flows</li>
<li class="">Resolved issue with loading datapoints edits on timeseries data for datasource flows</li>
<li class="">Fixed visualisation of Datapoint Attributes with symbols type</li>
<li class="">Corrected datapoint panel updates when changing clicked channels</li>
<li class="">Improved chart datapoint click event handling for consistent details rendering</li>
</ul>
<p><strong>Flow &amp; Rule Management</strong></p>
<ul>
<li class="">Improved error handling when creating/updating rules with clearer messages</li>
<li class="">Fixed issues with transformation configuration (TC) error messaging to be more user-friendly</li>
<li class="">Fixed collective trigger application packaging</li>
<li class="">Adjusted deadline looper CTP limit to 1000 for large customers' environments</li>
</ul>
<p><strong>User Interface</strong></p>
<ul>
<li class="">Fixed an issue where Datapoint Attributes with symbols type were visualised as 'object' instead of their proper value.</li>
<li class="">Fixed datapoint info accuracy under charts to match clicked points</li>
</ul>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Release Notes: Version 24.02]]></title>
        <id>https://docs.energyworx.net/release-notes/24.02</id>
        <link href="https://docs.energyworx.net/release-notes/24.02"/>
        <updated>2024-02-05T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Process Monitoring View]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="process-monitoring-view">Process Monitoring View<a href="https://docs.energyworx.net/release-notes/24.02#process-monitoring-view" class="hash-link" aria-label="Direct link to Process Monitoring View" title="Direct link to Process Monitoring View" translate="no">​</a></h2>
<p><strong>EWXDEV-6648, EWXDEV-9281,</strong> EWXDEV-6638, EWXDEV-6648, EWXDEV-9281</p>
<p>At energyworx, we pride ourselves in providing immense flexibility for our users, and a need that comes often with a flexible platform is the need for transparency about underlying processes to empower our users to understand what’s taking place in the platform.</p>
<p>This release introduces a new console view for configuring and monitoring data processes within the platform. The Process Monitoring View provides users with a tabular interface to view details of processes and process groups, enabling real-time visibility into the status and progress of data flows.</p>
<p><strong>What’s a Process?</strong></p>
<p>A process is a series of data transformations in the platform to achieve business outcomes. This can range from simple ingestions to complex chains of flows until data is persisted.</p>
<p><strong>What Processes are supported in this release?</strong></p>
<p>In version 24.02, we support Market Adapters, Transformation Configurations, and Flows. Each tracked process resets daily. Continuous processes such as contract switching are tracked for the last 24 hours in this release. We’re working on adding more native support for other data pipelines like collective trigger and timeseries aggregation.</p>
<p><strong>How can I track an existing process in the platform?</strong></p>
<ul>
<li class="">Go to the process monitoring item on the sidebar</li>
<li class="">Select the option to ‘track new process’</li>
<li class="">Select a name that matches the business process you’re interested in implementing e.g. Daily Billing Process</li>
<li class="">The name for a process may use alphanumeric, hyphens and underscores.</li>
<li class="">Select the Market Adapters or Flow Designs that are part of the business process</li>
<li class="">Under the hood, the process id will be passed to chained flows so metrics will include data from chained flows as well</li>
<li class="">Select the metrics that fits your needs best, see documentation for full list of available metrics.</li>
<li class="">After the processes ran -after process configuration is complete- will start being reflected in the Process Details Metrics</li>
<li class="">Users can view process metrics from the Process details view.</li>
<li class="">We’ve introduced a tabular view that updates with near-realtime metrics in the new frontend view.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="process-monitoring-is-opt-in">Process Monitoring is Opt-in<a href="https://docs.energyworx.net/release-notes/24.02#process-monitoring-is-opt-in" class="hash-link" aria-label="Direct link to Process Monitoring is Opt-in" title="Direct link to Process Monitoring is Opt-in" translate="no">​</a></h3>
<p>This feature is opt-in and uses the new console framework. To start using it:</p>
<ul>
<li class=""><em>Pre-requisite</em> : Ask your project consultant for a deployment of the new console views</li>
<li class=""><em>Pre-requisite</em> : Enable beta features in the platform</li>
<li class="">On the side menu of the console, navigate to Process Monitoring item menu</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="better-compliance-at-a-glance">Better Compliance at a glance<a href="https://docs.energyworx.net/release-notes/24.02#better-compliance-at-a-glance" class="hash-link" aria-label="Direct link to Better Compliance at a glance" title="Direct link to Better Compliance at a glance" translate="no">​</a></h2>
<p><strong>EWXDEV-9857</strong></p>
<p>To ensure data security, we've added more compliance messages to audit events. These include:</p>
<p><strong>Datapoint Edit</strong></p>
<ul>
<li class=""><strong>Purpose</strong> : Track edits for transparency and accountability.</li>
<li class=""><strong>Details</strong> : Includes flows ran (with custom parameter indication), user email, timestamp, and before-after states.</li>
<li class="">For single datapoint edit, the event will include the datapoint value before and after edit, however</li>
<li class="">For range or multi edits, the audit events will show details about the datapoints count and time range for the edits</li>
</ul>
<p><strong>Datasource Access</strong></p>
<ul>
<li class=""><strong>Purpose</strong> : Monitor data access for security and compliance.</li>
<li class=""><strong>Details</strong> : Includes datasource accessed, user email, and timestamp.</li>
</ul>
<p><strong>User Whitelist</strong></p>
<ul>
<li class=""><strong>Purpose</strong> : Ensure proper tracking of user access changes.</li>
<li class=""><strong>Details</strong> : Includes user email, timestamp, and namespace.</li>
</ul>
<p><strong>Group Change</strong></p>
<ul>
<li class=""><strong>Purpose</strong> : Maintain accurate records of group membership changes.</li>
<li class=""><strong>Details</strong> : Includes group involved, user email, and timestamp.</li>
</ul>
<p><strong>Permission Change</strong></p>
<ul>
<li class=""><strong>Purpose</strong> : Audit changes to group permissions for security.</li>
<li class=""><strong>Details</strong> : Includes group, changed permissions list, and timestamp.</li>
</ul>
<p><strong>Manual Ingestion</strong></p>
<ul>
<li class=""><strong>Purpose</strong> : Track manual data ingestion for compliance.</li>
<li class=""><strong>Details</strong> : Includes flow design, user email, and timestamp.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="testing-framework-package-availability">Testing Framework Package Availability<a href="https://docs.energyworx.net/release-notes/24.02#testing-framework-package-availability" class="hash-link" aria-label="Direct link to Testing Framework Package Availability" title="Direct link to Testing Framework Package Availability" translate="no">​</a></h2>
<p><strong>EWXDEV-8657</strong></p>
<p>For partners using the BDD testing framework to test their business process implementation, the package <code>pytest-bdd-ewx</code> is now available on the package hosting accessible to partners. Contact your project consultant for access details.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="api-request-improvements">API Request Improvements<a href="https://docs.energyworx.net/release-notes/24.02#api-request-improvements" class="hash-link" aria-label="Direct link to API Request Improvements" title="Direct link to API Request Improvements" translate="no">​</a></h2>
<p><strong>EWXDEV-9242</strong></p>
<p>API requests have been enhanced to make the console load faster. Authentication requests accompanying all API calls are cached on page, resulting in a smoother user experience in the datasource view.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="preview-feature---computed-flags">Preview Feature - Computed Flags<a href="https://docs.energyworx.net/release-notes/24.02#preview-feature---computed-flags" class="hash-link" aria-label="Direct link to Preview Feature - Computed Flags" title="Direct link to Preview Feature - Computed Flags" translate="no">​</a></h2>
<p>We've received feedback regarding the 'glance-ability' of datasource details. We're soft-launching our computed flags feature, which are live-calculated flags visualised <strong>without being stored.</strong></p>
<p>The datasource view has been enhanced with a new data point status highlighting feature. This preview functionality allows users to quickly visualise whether a data point has a "good" or "bad" status, represented by green or red points respectively on the chart. Additionally, the status flags have been added as a new column in the table view, enabling easy filtering and identification of important data points.</p>
<p>The status can be configured in the channel classifier view using a flexible structure that supports multiple conditions with logical operators. Users can set conditions based on data point values, attributes, and a range of comparison operators <code>(==, &gt;=, &lt;=, &lt;, &gt;, !=, )</code>. Both "AND" and "OR" operations are supported, providing granular control over the status criteria.</p>
<p>Feature highlights:</p>
<ul>
<li class="">Quickly identify problematic data points with color-coded indicators (green for "good", red for "bad").</li>
<li class="">Visual cues on chart and table update in real-time.</li>
<li class="">Configure status conditions using a flexible structure supporting logical operators (AND, OR).</li>
<li class="">Visual cues on charts make data interpretation straightforward, updated in real-time.<br>
<!-- -->Flag Conditions</li>
<li class="">Tailored insights with channel-specific flag toggling using timeseries and datapoint attributes</li>
</ul>
<p>This feature supports adding visualisation based on conditions evaluating timeseries on a single datapoint and its Datapoint Attributes value.</p>
<p><strong>How can I test this feature?</strong></p>
<ul>
<li class="">Pre-requisite: Enable new datasource view deployment and beta features.</li>
<li class="">Configure the computed flags in APIv2’s channel classifier. Only API configuration is supported in this release</li>
<li class="">Once the configuration conditions has been set, you can head to datasource details and see your computed flags in action</li>
</ul>
<p>Note: this feature is experimental and computed flags can be hidden unless the condition is removed from the datasource view.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="under-the-hood">Under the hood<a href="https://docs.energyworx.net/release-notes/24.02#under-the-hood" class="hash-link" aria-label="Direct link to Under the hood" title="Direct link to Under the hood" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="continuous-vertical-pod-autoscaler-vpa">Continuous Vertical Pod Autoscaler (VPA)<a href="https://docs.energyworx.net/release-notes/24.02#continuous-vertical-pod-autoscaler-vpa" class="hash-link" aria-label="Direct link to Continuous Vertical Pod Autoscaler (VPA)" title="Direct link to Continuous Vertical Pod Autoscaler (VPA)" translate="no">​</a></h3>
<p><strong>EWXDEV-9662</strong></p>
<p>This release introduces a Continuous Vertical Pod Autoscaler (VPA) that automatically monitors and adjusts pod resource allocation. The VPA checks for pod restarts caused by resource exhaustion and scales up CPU and memory resources to prevent future OutOfCPU or OutOfMemory conditions. By dynamically optimising resources, the VPA improves pod reliability, increases application availability, and reduces operational overhead.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="audit-event-bigquery-writer">Audit Event BigQuery Writer<a href="https://docs.energyworx.net/release-notes/24.02#audit-event-bigquery-writer" class="hash-link" aria-label="Direct link to Audit Event BigQuery Writer" title="Direct link to Audit Event BigQuery Writer" translate="no">​</a></h3>
<p><strong>EWXDEV-10192:</strong> Improved the speed of writing audit events to BigQuery using new writers powered by Go.</p>
<h1>Defect Fixes</h1>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="channels-visibility-preferences">Channels Visibility Preferences<a href="https://docs.energyworx.net/release-notes/24.02#channels-visibility-preferences" class="hash-link" aria-label="Direct link to Channels Visibility Preferences" title="Direct link to Channels Visibility Preferences" translate="no">​</a></h3>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="blacklisted-channels-hidden-by-default">Blacklisted Channels Hidden by Default<a href="https://docs.energyworx.net/release-notes/24.02#blacklisted-channels-hidden-by-default" class="hash-link" aria-label="Direct link to Blacklisted Channels Hidden by Default" title="Direct link to Blacklisted Channels Hidden by Default" translate="no">​</a></h4>
<p><strong>EWXDEV-8236, EWXDEV-9599</strong></p>
<p>When a user sets a channel as a blacklisted channel in the user settings, the blacklisted channels are now hidden by default from the chart and its legend, as well as from the table in the datasource view.</p>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="default-visible-channels">Default Visible Channels<a href="https://docs.energyworx.net/release-notes/24.02#default-visible-channels" class="hash-link" aria-label="Direct link to Default Visible Channels" title="Direct link to Default Visible Channels" translate="no">​</a></h4>
<p><strong>EWXDEV-9250:</strong> When a user sets a channel as a default visible channel in the user settings, these channels are now shown by default in the chart and table in the datasource view.</p>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="audit-event-details-update">Audit Event Details Update<a href="https://docs.energyworx.net/release-notes/24.02#audit-event-details-update" class="hash-link" aria-label="Direct link to Audit Event Details Update" title="Direct link to Audit Event Details Update" translate="no">​</a></h4>
<p><strong>EWXDEV-9389:</strong> The file path subject is no longer shown in the audit event, and the <code>flow_config_id</code> is removed if it has no value assigned.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="streaming-ingest-service">Streaming Ingest Service<a href="https://docs.energyworx.net/release-notes/24.02#streaming-ingest-service" class="hash-link" aria-label="Direct link to Streaming Ingest Service" title="Direct link to Streaming Ingest Service" translate="no">​</a></h3>
<p><strong>EWXDEV-10012:</strong> Fixed an issue where the streaming ingest service didn’t process messages correctly.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="api-v2-and-new-datasource-view">API v2 and New Datasource View<a href="https://docs.energyworx.net/release-notes/24.02#api-v2-and-new-datasource-view" class="hash-link" aria-label="Direct link to API v2 and New Datasource View" title="Direct link to API v2 and New Datasource View" translate="no">​</a></h3>
<p><strong>Preventing Duplicate Entities</strong></p>
<p><strong>EWXDEV-9505:</strong> Creating a new entity in APIv2 will no longer overwrite an existing entity with the same name. The expected response is '409 Conflict' for new services like Process Monitoring, however existing services still return ‘500’ at the moment.</p>
<p><strong>Pagination Issue Fixed</strong></p>
<p><strong>EWXDEV-9679:</strong> Fixed an issue on the new channel classifier view where pagination didn't load all data available in the platform.</p>
<p><strong>Look n' Feel</strong></p>
<ul>
<li class="">EWXDEV-9773: Added date filters for datapoints in the datasource view.</li>
<li class="">EWXDEV-9844: Moved datasource properties to the top of the datasource view for better visibility.</li>
<li class="">EWXDEV-9846: Cleaned up datasource view tabs, setting tags as the default tab and caching the API response.</li>
</ul>
<h1>Other Notable Updates</h1>
<ul>
<li class="">EWXDEV-8548: Removed unused <code>datasource</code> table from the advanced search view under schema tab.</li>
<li class="">EWXDEV-9923: Addressed GKE node scaling issue.</li>
<li class="">EWXDEV-9926: Fixed contract payload processing issue in EDM.</li>
<li class="">EWXDEV-10085: Resolved excessive GET requests issue when switching consoles.</li>
<li class="">EWXDEV-10372: Fixed issue with excessive requests upon logout.</li>
<li class="">EWXDEV-10477: Restricted editing of attributes to the appropriate channels in the frontend.</li>
<li class="">EWXDEV-10478: Implemented advanced-search API call for EQL validation.</li>
<li class="">EWXDEV-9754: Improved <code>merge_datasources</code> functionality in <code>ewx-common</code>.</li>
<li class="">EWXDEV-10227: Added flag configuration to the Channel Classifiers via APIv2 for visualising "bad" values in the data.</li>
</ul>
<h1>Impact Analysis</h1>
<p><strong>Infrastructure Changes</strong><br>
<!-- -->- We’ve completed migrations of major API services from AppEngine to Kubernetes. This transition is seamless from a customer perspective as all routing has been adjusted accordingly.</p>
<p>- Audit Events Writer: Rewritten in Go for improved performance and faster visibility of new audit events.<br>
<!-- -->- Continuous Vertical Pod Autoscaler (VPA): Introduced VPA to automatically monitor and adjust pod resource allocation, enhancing pod reliability, application availability, and reducing operational overhead.</p>
<p><strong>API Breaking Changes</strong><br>
<!-- -->- APIv2 Datapoint Attributes: Whole float values are serialized without the additional .0 (e.g., 5 instead of 5.0).<br>
<!-- -->- APIv2 and APIv1.5 Channel Classifier: Name is now case-insensitive; use display name for case sensitivity.</p>
<p><strong>Compliance</strong><br>
<!-- -->- Audit Event Retention: Audit events will be retained for 1 year before being compressed and archived. But will always be available via Cloud Storage</p>
<h1>24.02 Hotfix 1</h1>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="better-compliance-visibility">Better Compliance Visibility:<a href="https://docs.energyworx.net/release-notes/24.02#better-compliance-visibility" class="hash-link" aria-label="Direct link to Better Compliance Visibility:" title="Direct link to Better Compliance Visibility:" translate="no">​</a></h3>
<ul>
<li class="">Added audit events for various user actions, including:<!-- -->
<ul>
<li class="">Datasource access</li>
<li class="">User whitelisting/removal from a namespace</li>
<li class="">User addition/removal from a group</li>
<li class="">Group permission changes</li>
<li class="">Manual data ingestion</li>
</ul>
</li>
<li class="">Enhanced audit events for group changes to include a list of changed permissions instead of a full permission dump.</li>
<li class="">Excluded detailed state changes from the "Datapoint Edit" action to avoid cluttering audit logs, relying on the edit history saved in Bigtable.</li>
<li class="">EWXDEV-10993: <em>[original console]</em> Audit events are now logged after a datapoint edit with the option to run a flow is selected.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="whats-changed">What’s Changed:<a href="https://docs.energyworx.net/release-notes/24.02#whats-changed" class="hash-link" aria-label="Direct link to What’s Changed:" title="Direct link to What’s Changed:" translate="no">​</a></h3>
<ul>
<li class="">EWXDEV-8080:<em>[original console]</em> Fixed an inconsistent error message in the File Manager that appeared and asked for re-authorisation</li>
<li class="">EWXDEV-9057:<em>[original console]</em> “Load channels” button will be set to disabled once all the channels are loaded and no more channels can be loaded</li>
<li class="">EWXDEV-9491:<em>[original console]</em> Tag properties with type timestamp are now displayed with correct timezone in edit mode</li>
<li class="">EWXDEV-10177:<em>[original console]</em> Fixed a visual issue where the legend filter showed "No results found" event when results are returned</li>
<li class="">EWXDEV-10508:<em>[original console]</em> Editing a datapoint from continuous flow generates a new version as expected, see full impact analysis below for more details</li>
<li class="">EWXDEV-10549: <em>[original console]</em> Users can now select blacklisted channels to load them even if hidden at first load</li>
<li class="">EWXDEV-10627: <em>[original console]</em> Rule parameters of type timestamp default to the datasource timezone instead of New York timezone</li>
<li class="">EWXDEV-10677: <em>[original console]</em> Task results limit is now respected in the task listing results when set higher than 20 results per page</li>
<li class="">EWXDEV-11106: <em>[original console]</em> Using double quotes for queries in advanced search are now supported consistently with the API usage</li>
<li class="">EWXDEV-10757: <em>[original console]</em> Removed “Readonly” filter on the file manager search.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="impact-analysis-1">Impact Analysis:<a href="https://docs.energyworx.net/release-notes/24.02#impact-analysis-1" class="hash-link" aria-label="Direct link to Impact Analysis:" title="Direct link to Impact Analysis:" translate="no">​</a></h3>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="continuous-flow-editing-behaviour-change">Continuous Flow Editing Behaviour Change<a href="https://docs.energyworx.net/release-notes/24.02#continuous-flow-editing-behaviour-change" class="hash-link" aria-label="Direct link to Continuous Flow Editing Behaviour Change" title="Direct link to Continuous Flow Editing Behaviour Change" translate="no">​</a></h4>
<p><em><strong>What's Changing:</strong></em></p>
<p><strong>Area Affected:</strong> Timeseries versioning and access within continuous flows. Secondary impact on external data access methods relying on flow metadata to access continuous flows.</p>
<p><strong>Summary of Change:</strong> We're enhancing how manual data edits are handled in continuous flows. Edits will now create new data versions instead of overwriting the existing one, in-line with how continuous datapoint updates work in the rest of the platform.</p>
<p><em><strong>Why It Matters:</strong></em></p>
<p><strong>Impact on Your Usage:</strong></p>
<p><strong>Performance:</strong> No impact</p>
<p><strong>Scalability:</strong> No impact</p>
<p><strong>Resource Utilisation:</strong> No impact</p>
<p><strong>Cost Change:</strong> No impact</p>
<p><strong>Technical Explanation:</strong></p>
<p>This change aligns continuous flow editing behaviour with our documented behaviour. It ensures data consistency and allows for faster loading of datapoint in a continuous flow</p>
<p><em><strong>Additional Notes:</strong></em></p>
<p><strong>Important Considerations:</strong></p>
<p>Users accessing continuous flow data outside the platform via flow metadata will find this data inconsistent for all datapoints edits in a continuous flow. This access method is not supported.</p>
<p>The correct way to access continuous flow data is by requesting the latest available timestamp for the desired data point.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="2402-hotfix-2">24.02 Hotfix 2<a href="https://docs.energyworx.net/release-notes/24.02#2402-hotfix-2" class="hash-link" aria-label="Direct link to 24.02 Hotfix 2" title="Direct link to 24.02 Hotfix 2" translate="no">​</a></h2>
<p>We've realised a degradation in processing performance in 24.02 and this hotfix is tackling this issue first and foremost, here's a small analysis of what has changed:</p>
<p>We've changed our message deduplication using pod-name in the logic; we streamlined the logic into a fast access using locking mechanism, and removed additional inefficient logic.</p>
<p>Other Improvements</p>
<ul>
<li class="">Original Datasource view shows the display name for a channel instead of the technical name when provided by user.</li>
<li class="">Dashboard Widget QuickSetting - Fields are resized for better user input experience</li>
<li class="">Rule Framework - Datapoint values in dataframe can now be empty. Even if there are no Datapoint values, continue the processing pipeline will continue to process and handle the Datapoint attributes.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="2402-hotfix-3">24.02 Hotfix 3<a href="https://docs.energyworx.net/release-notes/24.02#2402-hotfix-3" class="hash-link" aria-label="Direct link to 24.02 Hotfix 3" title="Direct link to 24.02 Hotfix 3" translate="no">​</a></h2>
<p>Under the hood improvements mainly improving workloads that were stuck, and the robustness in writing data entities in atomic manner.</p>
<p>This hotfix also updates the Audit Event log message when uploading SOAP files, so that the filename is now shown as well.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="2402-hotfix-4">24.02 Hotfix 4<a href="https://docs.energyworx.net/release-notes/24.02#2402-hotfix-4" class="hash-link" aria-label="Direct link to 24.02 Hotfix 4" title="Direct link to 24.02 Hotfix 4" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="rules-framework---chain-rules-update">Rules Framework - Chain Rules Update<a href="https://docs.energyworx.net/release-notes/24.02#rules-framework---chain-rules-update" class="hash-link" aria-label="Direct link to Rules Framework - Chain Rules Update" title="Direct link to Rules Framework - Chain Rules Update" translate="no">​</a></h3>
<p>Chain rules (including bulk, condition, and chain types) have been enhanced with new temporal control capabilities through the addition of two optional parameters: <code>start_datetime</code> and <code>end_datetime</code>.</p>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="new-parameters">New Parameters<a href="https://docs.energyworx.net/release-notes/24.02#new-parameters" class="hash-link" aria-label="Direct link to New Parameters" title="Direct link to New Parameters" translate="no">​</a></h4>
<ul>
<li class=""><strong>Start Datetime</strong>
<ul>
<li class="">Controls the beginning of the time range for triggered flows</li>
<li class="">Optional parameter</li>
<li class="">Type: datetime</li>
</ul>
</li>
<li class=""><strong>End Datetime</strong>
<ul>
<li class="">Controls the end of the time range for triggered flows</li>
<li class="">Optional parameter</li>
<li class="">Type: datetime</li>
</ul>
</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="default-behaviour">Default Behaviour<a href="https://docs.energyworx.net/release-notes/24.02#default-behaviour" class="hash-link" aria-label="Direct link to Default Behaviour" title="Direct link to Default Behaviour" translate="no">​</a></h4>
<p>If datetime parameters are not specified, the system will:</p>
<ol>
<li class="">First attempt to use existing dataframe indexes</li>
<li class="">If indexes are empty, default to the last two years</li>
</ol>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="technical-implementation">Technical Implementation<a href="https://docs.energyworx.net/release-notes/24.02#technical-implementation" class="hash-link" aria-label="Direct link to Technical Implementation" title="Direct link to Technical Implementation" translate="no">​</a></h4>
<p><strong>Required API Configuration</strong></p>
<p>Partners must update their rules configs with the following parameters:</p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">    {</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      "name": "start_datetime",</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      "displayName": "Start Datetime",</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      "widgetType": "DatePicker",</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      "valueType": "datetime",</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      "defaultValue": "",</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      "optional": true,</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      "description": "Start datetime for triggered flow"</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    },</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    {</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      "name": "end_datetime",</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      "displayName": "End Datetime",</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      "widgetType": "DatePicker",</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      "valueType": "datetime",</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      "defaultValue": "",</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      "optional": true,</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">      "description": "End datetime for triggered flow"</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">    }</span><br></div></code></pre></div></div>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="partner-actions-required">Partner Actions Required<a href="https://docs.energyworx.net/release-notes/24.02#partner-actions-required" class="hash-link" aria-label="Direct link to Partner Actions Required" title="Direct link to Partner Actions Required" translate="no">​</a></h4>
<p>No Action Needed</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="api-caching-fix">API Caching Fix<a href="https://docs.energyworx.net/release-notes/24.02#api-caching-fix" class="hash-link" aria-label="Direct link to API Caching Fix" title="Direct link to API Caching Fix" translate="no">​</a></h3>
<p><strong>Impact:</strong> Resolved caching issues affecting resource management for:</p>
<ul>
<li class="">Namespaces</li>
<li class="">Users</li>
<li class="">Billing accounts</li>
</ul>
<p>This resulted in user rights inconsistencies for users working with multiple namespaces</p>
<p><strong>Resolution:</strong> Fixed issues with resource fetching and saving operations, improving data consistency and reliability.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="other-changes">Other Changes<a href="https://docs.energyworx.net/release-notes/24.02#other-changes" class="hash-link" aria-label="Direct link to Other Changes" title="Direct link to Other Changes" translate="no">​</a></h3>
<ul>
<li class="">Fixed caching issue preventing namespaces from being correctly shown after being created initially.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="2402-hotfix-5">24.02 Hotfix 5<a href="https://docs.energyworx.net/release-notes/24.02#2402-hotfix-5" class="hash-link" aria-label="Direct link to 24.02 Hotfix 5" title="Direct link to 24.02 Hotfix 5" translate="no">​</a></h2>
<blockquote>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="-important-infrastructure-update">🔒 Important Infrastructure Update<a href="https://docs.energyworx.net/release-notes/24.02#-important-infrastructure-update" class="hash-link" aria-label="Direct link to 🔒 Important Infrastructure Update" title="Direct link to 🔒 Important Infrastructure Update" translate="no">​</a></h3>
<p>As part of our commitment to continuous improvement, this release includes critical infrastructure upgrades to our deployment management platform. Getting this update ensures your environment is prepared for upcoming feature releases and improvements.</p>
</blockquote>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="ui-improvements">UI Improvements<a href="https://docs.energyworx.net/release-notes/24.02#ui-improvements" class="hash-link" aria-label="Direct link to UI Improvements" title="Direct link to UI Improvements" translate="no">​</a></h3>
<ul>
<li class="">Fixed a display issue affecting whitelisted channel visualisation when using French language</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="stability--performance-improvements">Stability &amp; Performance Improvements<a href="https://docs.energyworx.net/release-notes/24.02#stability--performance-improvements" class="hash-link" aria-label="Direct link to Stability &amp; Performance Improvements" title="Direct link to Stability &amp; Performance Improvements" translate="no">​</a></h3>
<ul>
<li class="">Resolved an issue in handling existing file names when storing files from flows.</li>
<li class="">Resolved an issue that affected resilience in the cloud-notification-router workload, the impact affected 1 in 5 million processes, and resulted in the data not being stored</li>
<li class="">Improved retry mechanisms for temporary cloud service interruptions</li>
</ul>
<blockquote>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="deployment-note">Deployment Note<a href="https://docs.energyworx.net/release-notes/24.02#deployment-note" class="hash-link" aria-label="Direct link to Deployment Note" title="Direct link to Deployment Note" translate="no">​</a></h3>
<p>The first time this fix is deployed to a customer environment it will recreate all pubsub subscriptions that support labelled flows. This means that all data contained in them will be lost. For this change to be deployed production environments must be completely shut down and the queues need to be empty before proceeding.</p>
</blockquote>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Release Notes: Version 24.01]]></title>
        <id>https://docs.energyworx.net/release-notes/24.01</id>
        <link href="https://docs.energyworx.net/release-notes/24.01"/>
        <updated>2024-01-01T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[New Features]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="new-features">New Features<a href="https://docs.energyworx.net/release-notes/24.01#new-features" class="hash-link" aria-label="Direct link to New Features" title="Direct link to New Features" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="console---new-datasource-view-">Console - New Datasource View 🎉<a href="https://docs.energyworx.net/release-notes/24.01#console---new-datasource-view-" class="hash-link" aria-label="Direct link to Console - New Datasource View 🎉" title="Direct link to Console - New Datasource View 🎉" translate="no">​</a></h3>
<p>We're excited to introduce our newly designed datasource view, engineered from scratch with a strong emphasis on usability, performance, and streamlined processes. This beta version introduces core functionalities including the ability to view, edit, and export timeseries, datapoint attributes, and annotations, as well as exposing datasource properties and tags view to the new API, ensuring a focus on essential components for a more efficient user experience. Additionally, the channels classifier view is now available for beta testing. Activate these beta features through your user settings on an opt-in basis; deployment and configuration is required on a project basis.</p>
<p><img decoding="async" loading="lazy" src="https://docs.energyworx.net/assets/images/1711016589862-image-701a38c2536369809d7e2d9327f20aa9.png" width="2872" height="1132" class="img_ev3q"></p>
<p>Key Updates Include:</p>
<ul>
<li class=""><strong>User Interaction Enhancements (EWXDEV-837)</strong> : Select and inspect datapoint attributes and annotations directly by clicking on a timeseries datapoint for an intuitive analysis experience.</li>
<li class=""><strong>Multilingual Support (EWXDEV-5986)</strong> : Enjoy a consistent user experience across multiple languages, leveraging shared translations from the existing views and console.</li>
<li class=""><strong>Improved Tag Visualization (EWXDEV-6840, EWXDEV-6842)</strong> : Experience an enhanced viewing of tags with increased real estate and a new tag component in our style guide. Users can view future tags as well as removed tags. Tags are available in the new datasource view</li>
<li class=""><strong>Editable Timeseries (EWXDEV-8559)</strong> : Users can now edit timeseries, datapoint attributes, and annotations with a mandatory edit reason, currently available for continuous flows only.</li>
<li class=""><strong>Clickable annotations and attributes in Datasource Details (EWXDEV-837)</strong> : The new datasource view allows users to inspect the Datapoint Attributes and Annotations by clicking on the timeseries datapoint, users can visualise Datapoint Attributes and annotations while timeseries is hidden</li>
</ul>
<p><img decoding="async" loading="lazy" src="https://docs.energyworx.net/assets/images/1711016617705-image-40316df0d3054dafa303a6cd47ca44d3.png" width="2872" height="1410" class="img_ev3q"></p>
<p>Please note, this beta view does not yet offer full feature parity with the existing view and is continuously being improved based on your feedback.</p>
<p>Customers may notice a refreshed appearance in data representation. This change is due to the implementation of dynamic scaling in our new console's graphs, which adjusts based on data availability to optimise viewing. This may result in different looking charts even when the data is identical</p>
<p>If you have any feedback for us on this view, please share it through this portal: <a href="https://feedback-portal-eu.roadmunk.com/collection/9da3d6a6-e3b1-4819-bf40-3057804ee2af" target="_blank" rel="noopener noreferrer" title="https://feedback-portal-eu.roadmunk.com/collection/9da3d6a6-e3b1-4819-bf40-3057804ee2af" class="">Feedback Collection Portal</a></p>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="to-go-with-the-new-datasource-view-were-also-introducing-a-new-api-weve-rewritten-this-api-using-the-newest-technologies-and-conventions-resulting-in-a-number-of-improvements-including-importantly-speed-the-new-api-is-in-beta-with-the-corresponding-new-console-view-and-is-being-continuously-improved-with-additional-features-being-added-to-match-the-offering-of-the-old-api">To go with the new Datasource View, we’re also introducing a new API. We’ve rewritten this API using the newest technologies and conventions resulting in a number of improvements including, importantly, speed. The new API is in beta with the corresponding new console view and is being continuously improved with additional features being added to match the offering of the ‘old’ API.<a href="https://docs.energyworx.net/release-notes/24.01#to-go-with-the-new-datasource-view-were-also-introducing-a-new-api-weve-rewritten-this-api-using-the-newest-technologies-and-conventions-resulting-in-a-number-of-improvements-including-importantly-speed-the-new-api-is-in-beta-with-the-corresponding-new-console-view-and-is-being-continuously-improved-with-additional-features-being-added-to-match-the-offering-of-the-old-api" class="hash-link" aria-label="Direct link to To go with the new Datasource View, we’re also introducing a new API. We’ve rewritten this API using the newest technologies and conventions resulting in a number of improvements including, importantly, speed. The new API is in beta with the corresponding new console view and is being continuously improved with additional features being added to match the offering of the ‘old’ API." title="Direct link to To go with the new Datasource View, we’re also introducing a new API. We’ve rewritten this API using the newest technologies and conventions resulting in a number of improvements including, importantly, speed. The new API is in beta with the corresponding new console view and is being continuously improved with additional features being added to match the offering of the ‘old’ API." translate="no">​</a></h4>
<p>Key Aspects of the API are currently:</p>
<ul>
<li class=""><strong>Datasource Functionality (</strong><a href="https://energyworx.atlassian.net/browse/EWXDEV-5857" target="_blank" rel="noopener noreferrer" title="https://energyworx.atlassian.net/browse/EWXDEV-5857" class=""><strong>EWXDEV-5857</strong></a><strong>,</strong><a href="https://energyworx.atlassian.net/browse/EWXDEV-8198" target="_blank" rel="noopener noreferrer" title="https://energyworx.atlassian.net/browse/EWXDEV-8198" class=""><strong>EWXDEV-8198</strong></a><strong>):</strong> Endpoints to query and perform writing/editing on timeseries data.</li>
<li class=""><strong>Datasource and Channel Classifier Functionality (</strong><a href="https://energyworx.atlassian.net/browse/EWXDEV-5857" target="_blank" rel="noopener noreferrer" title="https://energyworx.atlassian.net/browse/EWXDEV-5857" class=""><strong>EWXDEV-5857</strong></a><strong>,</strong><a href="https://energyworx.atlassian.net/browse/EWXDEV-8560" target="_blank" rel="noopener noreferrer" title="https://energyworx.atlassian.net/browse/EWXDEV-8560" class=""><strong>EWXDEV-8560</strong></a><strong>):</strong> Endpoints to query and perform writing/editing on timeseries data. This also includes the new Datapoint Attributes functionality for usage with the Channel Classifiers.</li>
<li class=""><strong>Tag Functionality (</strong><a href="https://energyworx.atlassian.net/browse/EWXDEV-8198" target="_blank" rel="noopener noreferrer" title="https://energyworx.atlassian.net/browse/EWXDEV-8198" class=""><strong>EWXDEV-8198</strong></a><strong>,</strong><a href="https://energyworx.atlassian.net/browse/EWXDEV-6840" target="_blank" rel="noopener noreferrer" title="https://energyworx.atlassian.net/browse/EWXDEV-6840" class=""><strong>EWXDEV-6840</strong></a><strong>):</strong> Endpoints to query and perform writing/editing on tag data related to a datasource.</li>
<li class=""><strong>Timeseries Functionality (</strong><a href="https://energyworx.atlassian.net/browse/EWXDEV-5857" target="_blank" rel="noopener noreferrer" title="https://energyworx.atlassian.net/browse/EWXDEV-5857" class=""><strong>EWXDEV-5857</strong></a><strong>,</strong><a href="https://energyworx.atlassian.net/browse/EWXDEV-8559" target="_blank" rel="noopener noreferrer" title="https://energyworx.atlassian.net/browse/EWXDEV-8559" class=""><strong>EWXDEV-8559</strong></a><strong>):</strong> Endpoints to query and perform writing/editing on timeseries data. This also includes the new Datapoint Attributes functionality.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="ewxdev-7326-console---edit-datapoint-function-displays-who-made-a-change"><a href="https://energyworx.atlassian.net/browse/EWXDEV-7326" target="_blank" rel="noopener noreferrer" title="https://energyworx.atlassian.net/browse/EWXDEV-7326" class="">EWXDEV-7326</a> Console - Edit datapoint function displays who made a change<a href="https://docs.energyworx.net/release-notes/24.01#ewxdev-7326-console---edit-datapoint-function-displays-who-made-a-change" class="hash-link" aria-label="Direct link to ewxdev-7326-console---edit-datapoint-function-displays-who-made-a-change" title="Direct link to ewxdev-7326-console---edit-datapoint-function-displays-who-made-a-change" translate="no">​</a></h3>
<p>Users are able to view edited datapoint with labels on the user and date of edit in Datasource view, both in the chart and table</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="ewxdev-8340-console---limited-support-for-virtual-datasources-interaction-buttons"><a href="https://energyworx.atlassian.net/browse/EWXDEV-8340" target="_blank" rel="noopener noreferrer" title="https://energyworx.atlassian.net/browse/EWXDEV-8340" class="">EWXDEV-8340</a> Console - Limited support for Virtual Datasources interaction buttons<a href="https://docs.energyworx.net/release-notes/24.01#ewxdev-8340-console---limited-support-for-virtual-datasources-interaction-buttons" class="hash-link" aria-label="Direct link to ewxdev-8340-console---limited-support-for-virtual-datasources-interaction-buttons" title="Direct link to ewxdev-8340-console---limited-support-for-virtual-datasources-interaction-buttons" translate="no">​</a></h3>
<p>In order to create a virtual datasource, it is necessary to create using the virtualdatasource/create endpoint and trigger it. This can be achieved either using the endpoint virtualdatasource/trigger or sending the triggerNow option during the creation.<br>
<!-- -->Please Note: the trigger button (or virtualdatasource/trigger endpoint) is not working for the existing (before this release) Virtual Datasources at this moment.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="ewxdev-3006-access-management---saml-integration"><a href="https://energyworx.atlassian.net/browse/EWXDEV-3006" target="_blank" rel="noopener noreferrer" title="https://energyworx.atlassian.net/browse/EWXDEV-3006" class="">EWXDEV-3006</a> Access Management - SAML Integration<a href="https://docs.energyworx.net/release-notes/24.01#ewxdev-3006-access-management---saml-integration" class="hash-link" aria-label="Direct link to ewxdev-3006-access-management---saml-integration" title="Direct link to ewxdev-3006-access-management---saml-integration" translate="no">​</a></h3>
<p>Single sign-in with SAML support. Users can log in in the energyworx platform by using their existing user account on other systems (support only for Microsoft and Google accounts).<br>
<!-- -->This is supported through domain white-listing, meaning that all users belonging to a domain that is white-listed in the platform will be logged in automatically.<br>
<!-- -->Automatic group-mapping is also provided. This enables the user to be assigned automatically upon log in to a group in the platform. This group can also be mapped to a specific group on the customer's own authorization system.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="ewxdev-6785-flows---support-chain-flows-on-virtual-datasources-result"><a href="https://energyworx.atlassian.net/browse/EWXDEV-6785" target="_blank" rel="noopener noreferrer" title="https://energyworx.atlassian.net/browse/EWXDEV-6785" class="">EWXDEV-6785</a> Flows - Support Chain flow(s) on Virtual Datasources result<a href="https://docs.energyworx.net/release-notes/24.01#ewxdev-6785-flows---support-chain-flows-on-virtual-datasources-result" class="hash-link" aria-label="Direct link to ewxdev-6785-flows---support-chain-flows-on-virtual-datasources-result" title="Direct link to ewxdev-6785-flows---support-chain-flows-on-virtual-datasources-result" translate="no">​</a></h3>
<p>It is now possible to add a flow configuration ID for the vds_aggregation_ingest trigger schedule. This flow that will be executed on the resulting Virtual Datasources and will be triggered after a delay of one hour, to ensure that the data is in BigTable before the flow is executed.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="ewxdev-9334-new-channel-classifiers-units">EWXDEV-9334 <strong>New Channel Classifiers' Units</strong><a href="https://docs.energyworx.net/release-notes/24.01#ewxdev-9334-new-channel-classifiers-units" class="hash-link" aria-label="Direct link to ewxdev-9334-new-channel-classifiers-units" title="Direct link to ewxdev-9334-new-channel-classifiers-units" translate="no">​</a></h3>
<p>It's now possible to create Channel Classifiers with datasource type “Signal” and new unit types: dB, dBm, Hz and Electric Current</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="ewxdev-8207-rules-framework---new-load-timeseries-service"><a href="https://energyworx.atlassian.net/browse/EWXDEV-8207" target="_blank" rel="noopener noreferrer" title="https://energyworx.atlassian.net/browse/EWXDEV-8207" class="">EWXDEV-8207</a> Rules Framework - New load timeseries service<a href="https://docs.energyworx.net/release-notes/24.01#ewxdev-8207-rules-framework---new-load-timeseries-service" class="hash-link" aria-label="Direct link to ewxdev-8207-rules-framework---new-load-timeseries-service" title="Direct link to ewxdev-8207-rules-framework---new-load-timeseries-service" translate="no">​</a></h3>
<p>Introduced the new 'TimeseriesService'; the replacement for 'AbstractRule.load_side_input' and 'AbstractRule.load_timeseries'.</p>
<blockquote>
<p>⚠️ WARNING: With this change, the following methods in 'AbstractRule' are deprecated and will be removed in 24.04:</p>
<p>'load_side_input'</p>
<p>'load_timeseries'</p>
<p>'add_side_input_requirement'<br>
<!-- -->Using any of these methods in 24.01 will create a deprecation warning audit event the first time they are used within each unique flow.<br>
<!-- -->With 24.04, all rules that still use any of these methods will no longer function and need to be refactored!</p>
</blockquote>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="ewxdev-9097-rules-framework---deprecation-of-send_bulk_trigger"><a href="https://energyworx.atlassian.net/browse/EWXDEV-9097" target="_blank" rel="noopener noreferrer" title="https://energyworx.atlassian.net/browse/EWXDEV-9097" class="">EWXDEV-9097</a> Rules Framework - Deprecation of send_bulk_trigger<a href="https://docs.energyworx.net/release-notes/24.01#ewxdev-9097-rules-framework---deprecation-of-send_bulk_trigger" class="hash-link" aria-label="Direct link to ewxdev-9097-rules-framework---deprecation-of-send_bulk_trigger" title="Direct link to ewxdev-9097-rules-framework---deprecation-of-send_bulk_trigger" translate="no">​</a></h3>
<p>The 'AbstractRule.send_bulk_trigger' method has been removed. Use the 'AbstractRule.send_collective_trigger' method instead.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="ewxdev-8981-under-the-hood---move-apiv15-to-new-k8s-cluster"><a href="https://energyworx.atlassian.net/browse/EWXDEV-8981" target="_blank" rel="noopener noreferrer" title="https://energyworx.atlassian.net/browse/EWXDEV-8981" class="">EWXDEV-8981</a> Under the Hood - Move APIv1.5 to new k8s cluster<a href="https://docs.energyworx.net/release-notes/24.01#ewxdev-8981-under-the-hood---move-apiv15-to-new-k8s-cluster" class="hash-link" aria-label="Direct link to ewxdev-8981-under-the-hood---move-apiv15-to-new-k8s-cluster" title="Direct link to ewxdev-8981-under-the-hood---move-apiv15-to-new-k8s-cluster" translate="no">​</a></h3>
<p>Infrastructure change: The lionshare of the api endpoints will no longer be served from Google App Engine (GAE) but from a Kubernetes service running in GKE.</p>
<p>The API endpoint is now <code>ah.&lt;gcp_project&gt;.ewxapis.com</code> instead of <code>api.&lt;shortened_gcp_project&gt;.energyworx.org</code></p>
<p>Energyworx will schedule a session with you to cover the following implications of this more cost-efficient setup:</p>
<p>Nonstandard networking on production environments could be affected - This needs a session with the integrator to verify any breaking changes.</p>
<p>As scaling has always been done for us in GAE, this will mean that for each project we will need to find the right setting with this new k8s implementation.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="ewxdev-9359-under-the-hood--performance-improvements-on-how-the-timeseries-data-is-written-in-our-gcp-databases">EWXDEV-9359 Under the Hood -Performance improvements on how the timeseries data is written in our GCP databases.<a href="https://docs.energyworx.net/release-notes/24.01#ewxdev-9359-under-the-hood--performance-improvements-on-how-the-timeseries-data-is-written-in-our-gcp-databases" class="hash-link" aria-label="Direct link to EWXDEV-9359 Under the Hood -Performance improvements on how the timeseries data is written in our GCP databases." title="Direct link to EWXDEV-9359 Under the Hood -Performance improvements on how the timeseries data is written in our GCP databases." translate="no">​</a></h3>
<p>EWXDEV-9376: CLI's 'config download' command ('Manager.to_dir') can now properly deal with merging configs into a directory with downloaded configs.</p>
<p>EWXDEV-9562: Added support for decompressing writer messages in cloud storage writer</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="ewxdev-8717-automated-testing-framework---replace-configurationauthentication-management-in-pytest-bdd-ewx-with-resource-manager-from-ewx-cli"><a href="https://energyworx.atlassian.net/browse/EWXDEV-8717" target="_blank" rel="noopener noreferrer" title="https://energyworx.atlassian.net/browse/EWXDEV-8717" class="">EWXDEV-8717</a> Automated Testing Framework - Replace configuration/authentication management in pytest-bdd-ewx with resource manager from ewx-cli<a href="https://docs.energyworx.net/release-notes/24.01#ewxdev-8717-automated-testing-framework---replace-configurationauthentication-management-in-pytest-bdd-ewx-with-resource-manager-from-ewx-cli" class="hash-link" aria-label="Direct link to ewxdev-8717-automated-testing-framework---replace-configurationauthentication-management-in-pytest-bdd-ewx-with-resource-manager-from-ewx-cli" title="Direct link to ewxdev-8717-automated-testing-framework---replace-configurationauthentication-management-in-pytest-bdd-ewx-with-resource-manager-from-ewx-cli" translate="no">​</a></h3>
<p>Replaced the authentication services in pytest-bdd-ewx with the one from ewx-cli for APIv1:</p>
<p>This means that authentication locally can now be done without using environment variables and with the automated authentication that ewx-cli users are used to.</p>
<p>Any missing environment variables are now simply requested from the user to be provided from the command-line.</p>
<p>Namespace aliases can be provided as target namespaces as well.</p>
<p>Due to using the ewx-cli automated authentication, automated tests ran are now also marked as having been ran by the actual user instead of a default testing user, improving traceability and reducing security issues.</p>
<p>The configuration manager of ewx-cli can now be used within pytest-bdd-ewx</p>
<p>Configurations directories created with 'ewx-cli config download' can now be treated as proper configurations within pytest-bdd-ewx.</p>
<p>Several new step definitions were added where an automated test can initialize a resource manager from a configurations' directory. Users can both create a default resource manager available to all automated tests or a named resource manager only available to the automated test that initialized it. A step definition was also introduced that allows an automated test to upload all configurations available in a resource manager.</p>
<p>Many new step definitions were added for all supported resource types where the user can request from either the default or a named resource manager to upload a specific resource type with a specific name. This will upload that resource configurations plus any dependencies it may have, similar to the effect you normally get with 'ewx-cli config upload'. Step definitions also exist where a regex pattern can be provided that names of that resource type must satisfy, or when the user wants to upload all configurations of that resource type.</p>
<p>$-substitution is still fully supported. If a value in a configuration in a configurations directory has the substring <code>{$test_timestamp}</code>, then that will be replaced by the actual testing timestamp.</p>
<p>The old fashion way of writing automated tests is still supported, but it is recommended to start using the new step definitions with the ewx-cli's resource manager, as it is far more efficient and reduces the complexity of automated test suites.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="new-fixes">New Fixes<a href="https://docs.energyworx.net/release-notes/24.01#new-fixes" class="hash-link" aria-label="Direct link to New Fixes" title="Direct link to New Fixes" translate="no">​</a></h2>
<ul>
<li class="">When a new data is ingested for a datasource, the (previous) annotations are now correctly overwritten.</li>
<li class="">Ingesting timeseries data that is not a float will now properly raise an error. Example: "Channel(s) TEST failed to transform for datasource(s): XXX, with message: One or more values in channel data cannot be converted to float"</li>
<li class=""><code>sourceClassifier</code> attribute needs to be a valid channel classifier in order to run a flow, if not it will result in an error and the flow will not be executed.<br>
<!-- -->If <code>sourceClassifier</code> is not given it will use the source channel of the flow configuration id</li>
<li class="">Fixed a small issue to ensure consistency between the default selected namespace on the new datasource view</li>
<li class="">Fixed an issue on dashboards where chart widgets were empty on first load, or the legend section was shown as empty</li>
<li class="">Dashboard table columns resizing to fit the data</li>
<li class="">Fixed a bug where file tags where disappearing after ingestion</li>
<li class="">Fixed an issue where Datapoint Attributes retrieved wasn't returned always in the same order from the APIv2</li>
<li class="">Added audit event to specify which rule failed during prepare context. This way the user has a better understanding of which point in the flow there was an error.</li>
<li class="">Fixed an issue where a flow failed if you assigned a task board in the task configuration.</li>
<li class="">Fixed Redis IP being set incorrectly.</li>
<li class="">Configured task board assigned to tasks created from flows</li>
<li class="">In some cases, a Bigtable DeadlineExceeded error would end up in an audit event instead of being retried.</li>
<li class="">Fixed an issue where users couldn't select a subset of the flows after editing datapoints</li>
<li class="">Fix for errors querying FlowMetaData for specific datasources via API which do not have the readOnly flag set.</li>
<li class="">Fixed the create/patch Channel Family endpoints</li>
<li class="">Fixed loading of transformation configurations in API v1.5</li>
<li class="">Make sure that timeseries retrieval is end-inclusive.</li>
<li class="">Fix for flows not starting.</li>
<li class="">Fixed an issue that prevented some specific filter combination for searching in File Management and Task Management.</li>
<li class="">Fix task schemas in API v1.5</li>
<li class="">Fix to use the default appengine service account for the python3 API service.</li>
<li class="">Fixed issue with flows not loading.</li>
<li class="">Fix flow start from task page</li>
<li class="">Fix task filtering using statuses for API v1.5</li>
<li class="">Task Boards are fixed and can now be updated.</li>
<li class="">Always drop the version index label for the channel source data.</li>
<li class="">Fixes issue with loading transformation configurations in the console.</li>
<li class="">Fixed time formating to %Y-%m-%dT%H:%M:%S.%f matching what's used in production.</li>
<li class="">Pass the data to the correct parameters and correctly format it</li>
<li class="">Aligned the names for the task creation attributes.</li>
<li class="">Split channel classifier and timeseries GET requests on the datasource detail page to prevent query parameter overloads.</li>
<li class="">Fixed loading of tasks on the task flows endpoint.</li>
<li class="">Make sure that nested rules can also be loaded directly.</li>
<li class="">Fixed proper parsing of annotation fields in the streaming ingest</li>
<li class="">Annotations are now added with their full name to self.dataframe</li>
<li class="">Fixed issue with APIv1.5 for the file content endpoint.</li>
<li class="">Fixed issue in creating legacy Virtual Datasources</li>
<li class="">Table height adjustments ensure consistent display, regardless of row quantity.</li>
<li class="">Datapoint Attributes should now no longer be visible in the frontend as unreadable byte values.</li>
<li class="">Fixed issue with annotations not showing in the frontend console timeseries chart.</li>
<li class="">Channels tab doesn't trigger datasource flows now</li>
<li class="">Fixed an issue where users couldn't access Triggers that they were authorised for it</li>
<li class="">Fixed an issue where conditionally chaining datasource flows still required a classifier</li>
<li class="">Added standard utils back</li>
<li class="">Fixed an issue where the defer-task-queue got paused after app engine was deployed.</li>
<li class="">Resolved: Conditional flow rule inputs now fully editable, including setting Start Delay in chain flows.</li>
<li class="">Fix issue of the store rule not storing Datapoint Attributes if the value of the Datapoint was set to NaN or None.</li>
<li class="">Datastore timeouts in Streaming-Ingest no longer result in silent errors and will instead be retried by Pub/Sub.</li>
<li class="">Added hotfix for the usage of dictionaries in annotations.</li>
<li class="">Fixed an issue where the annotation used for creating tasks from a flow would affect the startDate subject of the task.</li>
<li class="">Fix annotation editing via the console.</li>
<li class="">Fixed a CORS issue that affected the smooth transition between the new datasource view and the existing view</li>
<li class="">Solve the issue of potentially invalid cached model id</li>
<li class="">Annotation and datapoint editing has been fixed to work for the same timestamp.</li>
<li class="">Fixed Tags with Timestamp properties showing the property in the UTC timezone instead of the Datasource timezone.</li>
<li class="">Fixed an issue where Timeseries could not be retrieved if a specific Service Account was not whitelisted to the namespace.</li>
<li class="">Fixed API key usage for API v1.5</li>
<li class="">File details now has a functional download link when clicking the file name.</li>
<li class="">Front-end console adjustment so text isn't shown twice for datasource.</li>
<li class="">Fixed a login issue that affected users that had not been registered in the platform yet.</li>
<li class="">Fix for a bug where task search didn't work if there is no one assigned.</li>
<li class="">Fixed bug preventing annotation/datapoint edits from being reflected in the chart prior to the edit going through.</li>
<li class="">Fixed timestamp inconsistency in datasource properties where an edited datapoint's timestamp would always be displayed in UTC even when the user has selected another timezone (such as Europe/Amsterdam).</li>
<li class="">Ensure that Tag objects are always created with lowercase names.</li>
<li class="">duplication of the Virtual Datasources filter property fixed from frontend side with a limitation that it's not possible currently to edit it from UI. The root cause still should be fixed on the backend (as part of another ticket)</li>
<li class="">Fixed datapoint editing timezones</li>
<li class="">Modified bulk_chain_flow to accept datasource flows without a target channel classifier</li>
<li class="">Fixed an issue where switching between visualisation types didn't apply to the chart</li>
<li class="">Fixed issue that prevented the IAM Group create and update endpoints from showing up in API docs.</li>
<li class="">Task descriptions originated from detector elements in flows will be limited to less than 1500 characters to prevent excessive storage use. Detectors information is already available in the flow metadata if needed.</li>
<li class="">Fixed issue where searching for files was very slow for retrieving a large amount of files.</li>
<li class="">Timeseries values that have been written with datapoint attributes can now be viewed in the console using APIv1.5 (without the datapoint attributes themselves). For retrieval of datapoint attributes, please use APIv2</li>
<li class="">Added functionality for Collective Trigger to trigger single message after deadline has reached. This means that when this option is chosen every message that arrives after the deadline will trigger a flow with only the flow properties of this single message. The function <code>send_collective_trigger</code> has been modified to support this.</li>
<li class="">Fixed a bug where Datapoint Attributes were not stored correctly in BigTable when the dataframe did not include the channel classifier, but did include the Datapoint Attributes.</li>
<li class="">Fixed a bug where datapoint attribute columns were treated as channels, causing the serialization of the data to fail.</li>
<li class="">Added workaround that removes duplicate timestamps that have the same version as well.</li>
<li class="">All timeseries functions that retrieve existing data correctly processes Datapoint Attributes values</li>
<li class="">Extend signedURL on API file manager model to work beyond 1500 bytes.</li>
<li class="">Make sure that any channels created during 'apply' for a Datasource are also added directly to the Datasource to allow channel flows to be chained to them.</li>
<li class="">Use pickle's protocol-2 for any trigger send out from streaming-ingest to allow Python 2.7 services to pick up such triggers appropriately.</li>
<li class="">heartbeat channels are ignored for timeseries reading in APIv2</li>
<li class="">Fixed issue where the billing account cannot be saved if no email domains are set.</li>
<li class="">Fixed bug with triggers starting task archiving.</li>
<li class="">Fixed dashboard charts to have proper legends with channel names.</li>
<li class="">Added Datapoint Attributes to the datasource console page and added Datapoint Attributes editing functionality.</li>
<li class="">Datapoint attributes can now be stored with values like float.NaN, np.nan, pd.NA and None. Those values will be filtered and will not be saved.</li>
<li class="">Make sure to only store the latest version of each datapoint that has been marked for storage in the flow.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="impact-analysis">Impact Analysis<a href="https://docs.energyworx.net/release-notes/24.01#impact-analysis" class="hash-link" aria-label="Direct link to Impact Analysis" title="Direct link to Impact Analysis" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="trigger-aggregation-deprecation-notice">Trigger Aggregation Deprecation Notice<a href="https://docs.energyworx.net/release-notes/24.01#trigger-aggregation-deprecation-notice" class="hash-link" aria-label="Direct link to Trigger Aggregation Deprecation Notice" title="Direct link to Trigger Aggregation Deprecation Notice" translate="no">​</a></h3>
<p>From release 24.01, we will remove the <em>send_bulk_trigger</em> function from the rule framework, for message orchestrating, we recommend using the <em>send_collective_trigger</em> function instead.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="package-deprecation-notice">Package Deprecation Notice<a href="https://docs.energyworx.net/release-notes/24.01#package-deprecation-notice" class="hash-link" aria-label="Direct link to Package Deprecation Notice" title="Direct link to Package Deprecation Notice" translate="no">​</a></h3>
<p>Starting February 2024, the existing ewx client python package that used APIv1 to connect to Energyworx API will stop receiving stability updates and will eventually be phased out, in favour of supporting the generation of new API clients based on our Partner's preferred language.</p>
<p>Please contact Energyworx support for assistance when deploying regarding these actions</p>
<p><strong>Shutdown of GAE py3 API</strong></p>
<p>We’re moving APIv1.5 to Kubernetes. This will be deployed automatically. However, two manual things need to happen:</p>
<ul>
<li class="">Old load balancer needs to be updated to route traffic to the Kubernetes service.</li>
<li class="">Remove the GAE py3 service after deployment. So that no traffic can accidentally use the old service.</li>
</ul>
<p><strong>Cleanup App Engine execute_triggers</strong><br>
<!-- -->The execute_triggers has been moved to a terraform managed "Cloud Scheduler Job". It used to be a Google AppEngine's “Cron Job”. The old job gets now orphaned after deletion of the GAE service. It needs need to be cleaned up manually.</p>
<p><strong>Re-index Datasources for Search functionality.</strong><br>
<!-- -->This release removes the default Kubernetes cluster used in the previous release and recreates it (ewx-unicorn). This thus deletes the ElasticSearch cluster and any data in it. This needs to be re-indexed.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="changelog">Changelog<a href="https://docs.energyworx.net/release-notes/24.01#changelog" class="hash-link" aria-label="Direct link to Changelog" title="Direct link to Changelog" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="2401-hotfix-1">24.01 hotfix 1<a href="https://docs.energyworx.net/release-notes/24.01#2401-hotfix-1" class="hash-link" aria-label="Direct link to 24.01 hotfix 1" title="Direct link to 24.01 hotfix 1" translate="no">​</a></h3>
<ul>
<li class="">Big improvement to the datasource view speed. Mainly when timeseries and flow metadata is being retrieved.</li>
<li class="">New Datasource View: Fixed an issue where source channels could be edited.</li>
<li class="">New Datasource View: Added <code>removed</code> and <code>created by</code> fields to tags.</li>
<li class="">Datasource View: Fixes an issue when searching legends by channel name.</li>
<li class="">Increased the number of data queried on a datasource which allows large datasources to be loaded robustly</li>
<li class="">Fixed an issue where timeseries wasn't visible in the platform when it contained empty timestamp values</li>
<li class="">Fixed an issue of missing references for building configuration outside the platform</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="2401-hotfix-2">24.01 hotfix 2<a href="https://docs.energyworx.net/release-notes/24.01#2401-hotfix-2" class="hash-link" aria-label="Direct link to 24.01 hotfix 2" title="Direct link to 24.01 hotfix 2" translate="no">​</a></h3>
<ul>
<li class="">Fixed an issue where blacklisted channels were not hidden in the new datasource view</li>
<li class="">Added better exception handling for retryable errors in the decision tree execution.</li>
<li class="">Flow properties for collective trigger now accept any type that is serialisable in python (with pickle)</li>
<li class="">Validation logs in audit events now shows serialised timeseries data for each Channel Classifier in case of failure.</li>
<li class="">Fixed a security issue with group permissions where blacklist conditions using datasources and tags weren't enforced</li>
<li class="">Fixed an issue where the link to the energworx Service Desk in the Console was not working</li>
<li class="">Fixed a pagination issue across refreshes on the new datasource view</li>
<li class="">Providing an edit reason is now mandatory from new datasource view when editing a datapoint</li>
<li class="">Long names are now truncated in the top bar breadcrumbs</li>
<li class="">Unit types and intervals should be part of the channel classifier in the new Datasource View</li>
<li class="">Fixed an issue in the new Datasource View where the tags version timelines wasn't responsive to the screen size</li>
<li class="">In the new Datasource View, fixed an issue where showing removed tags filtered non-removed tags</li>
<li class="">In the new Datasource View, channels are loaded automatically when “Get Data” is selected.</li>
<li class="">In the new Datasource View, a datasource timezone is respected in the chart, table and tags properties</li>
<li class="">In the new Datasource View, it's not allowed to edit source channels timeseries data</li>
<li class="">In the new views, the namespace label is shown under the username in the top right of the screen</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="2401-hotfix-3">24.01 hotfix 3<a href="https://docs.energyworx.net/release-notes/24.01#2401-hotfix-3" class="hash-link" aria-label="Direct link to 24.01 hotfix 3" title="Direct link to 24.01 hotfix 3" translate="no">​</a></h3>
<ul>
<li class="">Fixed an issue where Channel name from Channel Classifier was not provided, now it's working when Channel name was empty or None value by showing the Classifier's technical name.</li>
<li class="">Fixed an issue where navigating between the current and experimental console view caused excessive numbers of requests.</li>
<li class="">Channel Family can now be chosen using the API.</li>
<li class="">Fixed an issue on the new datasource view where a new token was being requested for every API call.</li>
<li class="">Fixed an issue where blacklisted channels were still shown in the datasource view.</li>
<li class="">Corrected the assignment of roles and permissions in the identity service.</li>
<li class="">Under the hood - Removed AppEngine Cron Jobs that caused trigger schedules to run in duplicate.</li>
<li class="">Fixed an issue with channel classifier caching in the new datasource view wasn't utilised.</li>
<li class="">Under the hood - Unified serialisation package use in the platform code.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="2401-hotfix-4">24.01 hotfix 4<a href="https://docs.energyworx.net/release-notes/24.01#2401-hotfix-4" class="hash-link" aria-label="Direct link to 24.01 hotfix 4" title="Direct link to 24.01 hotfix 4" translate="no">​</a></h3>
<ul>
<li class="">Fixed an issue in the new datasource view where the API's token refresh was called more time than necessary</li>
<li class="">Fixed an issue when updating channel classifiers affected the channel classifier count</li>
<li class="">Corrected issue such that APIv2 always loads the latest datasource version.</li>
<li class="">Fixed issue where edits with the word <code>_nan_ </code> in them were not displayed via the api.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="2401-hotfix-5">24.01 hotfix 5<a href="https://docs.energyworx.net/release-notes/24.01#2401-hotfix-5" class="hash-link" aria-label="Direct link to 24.01 hotfix 5" title="Direct link to 24.01 hotfix 5" translate="no">​</a></h3>
<ul>
<li class="">Fixed issue where group permission properties could not be altered and fetch via apiv1.5.</li>
<li class="">Added support for api_key_allowed for retrieving datasources via <code>datasource/get/{id}</code> route</li>
<li class="">Datapoint Attributes interpret 0 value correctly as a number instead of <code>None</code> value</li>
<li class="">Fixed an issue where <code>load_side_input</code> method in Rules Framework still use cache even when bypass_cache flag was set to True</li>
<li class="">Fixed an issue where datapoint edits didn't behave consistently in APIv1.5 across different data structures when deserialising</li>
<li class="">Fixed an issue where datapoint edits didn't show correctly in APIv1.5 and APIv2</li>
<li class="">Under the hood: more robust writers quota</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="2401-hotfix-6">24.01 hotfix 6<a href="https://docs.energyworx.net/release-notes/24.01#2401-hotfix-6" class="hash-link" aria-label="Direct link to 24.01 hotfix 6" title="Direct link to 24.01 hotfix 6" translate="no">​</a></h3>
<ul>
<li class="">Changed the parameter page size to load full versions of Tags in apiv2.</li>
<li class="">In certain scenarios where Market Adapters require context data (e.g. ancillary datasources like a Meter for a Metering Point) the context data was too large, reaching the limits of the queueing system in between the pipelines of the platform. To solve this we applied compression on the exchanged messages in the queuing system.</li>
<li class="">Fixed an issue where edits with zero-values did not persist in the table in the new datasource view.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="2401-hotfix-7">24.01 hotfix 7<a href="https://docs.energyworx.net/release-notes/24.01#2401-hotfix-7" class="hash-link" aria-label="Direct link to 24.01 hotfix 7" title="Direct link to 24.01 hotfix 7" translate="no">​</a></h3>
<ul>
<li class="">Fixed an issue with editing Datapoint Attributes via frontend where cells belonging to any channel could be edited for a row belonging to a different channel.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="2401-hotfix-8">24.01 hotfix 8<a href="https://docs.energyworx.net/release-notes/24.01#2401-hotfix-8" class="hash-link" aria-label="Direct link to 24.01 hotfix 8" title="Direct link to 24.01 hotfix 8" translate="no">​</a></h3>
<ul>
<li class="">Fixed an issue with ‘Abort on Error’ feature in Flows. If the error threshold is reached, a task will be created and flow execution will stop. Please note: All the data that was saved until that point will be persisted.</li>
<li class="">It is now possible to add data from other datasources to self.dataframe when using store_timeseries.</li>
<li class="">Fixed an issue when editing Datapoint Attributes and annotations on the same datapoint on the console in datasource view.</li>
<li class="">Under the hood: It's possible to support push subscription for external components outside the platform</li>
<li class="">Fixed an issue where the validation of the Datapoint Attributes data type didn't raise an error. It now causes the flow to stop executing with a suitable error message in the audit events.</li>
<li class="">Added better logging in audit events when the market adapter fails to parse the data provided into energyworx domain objects.</li>
<li class="">Cloud log error message when logging DeadlineExceeded error is more descriptive</li>
<li class="">Datasource view in the console shows dates in Datapoint Attributes values parsed correctly</li>
<li class="">New API Documentation URL is updated correctly to match the standard convention</li>
<li class="">We've simplified the file management search by cleaning up the read-only/writeable filters.</li>
<li class="">Under the hood: Channel classifiers are better cached in the processing pipeline for faster storage of Datapoint Attributes.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="2401-hotfix-9">24.01 hotfix 9<a href="https://docs.energyworx.net/release-notes/24.01#2401-hotfix-9" class="hash-link" aria-label="Direct link to 24.01 hotfix 9" title="Direct link to 24.01 hotfix 9" translate="no">​</a></h3>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="infrastructure--performance">Infrastructure &amp; Performance<a href="https://docs.energyworx.net/release-notes/24.01#infrastructure--performance" class="hash-link" aria-label="Direct link to Infrastructure &amp; Performance" title="Direct link to Infrastructure &amp; Performance" translate="no">​</a></h4>
<ul>
<li class="">Under the hood - Updated deployment software for improved reliability</li>
<li class="">Fixed an issue where AH pods were entering restart loops due to probe settings</li>
<li class="">Entity writer now uses transactional commits for improved reliability</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="data-processing--rules-framework">Data Processing &amp; Rules Framework<a href="https://docs.energyworx.net/release-notes/24.01#data-processing--rules-framework" class="hash-link" aria-label="Direct link to Data Processing &amp; Rules Framework" title="Direct link to Data Processing &amp; Rules Framework" translate="no">​</a></h4>
<ul>
<li class="">Messages in processing pipelines now include message IDs to prevent duplicate triggering</li>
<li class="">File creation from flows is more robust, addressing issues with dead-letter queues</li>
<li class="">Fixed precision of version_ts field in BigQuery tables for edited datapoints to maintain millisecond accuracy</li>
<li class="">Rule Framework - Enhanced handling of empty datapoint values in dataframes<!-- -->
<ul>
<li class="">Processing pipeline now continues to handle Datapoint attributes even when Datapoint values are empty</li>
</ul>
</li>
<li class="">Chain rules (bulk, condition, chain) enhancement:<!-- -->
<ul>
<li class="">Added new start_datetime and end_datetime parameters</li>
<li class="">If not specified, the triggered flow will use either:<!-- -->
<ul>
<li class="">Dataframe indexes (if available)</li>
<li class="">Last two years (as default fallback)</li>
</ul>
</li>
</ul>
</li>
<li class="">Data processing improvement: Rule parameters of type timestamp now default to datasource timezone instead of New York timezone</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="user-interface--experience">User Interface &amp; Experience<a href="https://docs.energyworx.net/release-notes/24.01#user-interface--experience" class="hash-link" aria-label="Direct link to User Interface &amp; Experience" title="Direct link to User Interface &amp; Experience" translate="no">​</a></h4>
<ul>
<li class="">Dashboard Widget QuickSetting - Improved field sizing for better user input experience</li>
<li class="">Advanced search functionality now consistently supports double quotes in queries across API usage</li>
<li class="">Simplified file management search by removing read-only/writeable filters</li>
<li class="">UI improvements:<!-- -->
<ul>
<li class="">Fixed "No results found" message display when filtering channels in legend</li>
<li class="">Tag properties with timestamp type now display with correct timezone in edit mode</li>
<li class="">Load channels button is properly disabled when all channels are loaded</li>
</ul>
</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="logging--monitoring">Logging &amp; Monitoring<a href="https://docs.energyworx.net/release-notes/24.01#logging--monitoring" class="hash-link" aria-label="Direct link to Logging &amp; Monitoring" title="Direct link to Logging &amp; Monitoring" translate="no">​</a></h4>
<ul>
<li class="">Added more detailed audit event logging for SOAP file uploads to show filename</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="2401-hotfix-10">24.01 hotfix 10<a href="https://docs.energyworx.net/release-notes/24.01#2401-hotfix-10" class="hash-link" aria-label="Direct link to 24.01 hotfix 10" title="Direct link to 24.01 hotfix 10" translate="no">​</a></h3>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="stability--performance-improvement">Stability &amp; Performance Improvement<a href="https://docs.energyworx.net/release-notes/24.01#stability--performance-improvement" class="hash-link" aria-label="Direct link to Stability &amp; Performance Improvement" title="Direct link to Stability &amp; Performance Improvement" translate="no">​</a></h4>
<p>We resolved an issue that affected resilience in the cloud-notification-router workload, the impact affected 1 in 5 million processes, and resulted in the data not being stored</p>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Release Notes: Version 23.03+]]></title>
        <id>https://docs.energyworx.net/release-notes/23.03-plus</id>
        <link href="https://docs.energyworx.net/release-notes/23.03-plus"/>
        <updated>2023-03-13T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Here's a sneak peek at what's new:]]></summary>
        <content type="html"><![CDATA[<p>Here's a sneak peek at what's new:</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="schema-optimisation-data-point-attributes">Schema Optimisation: Data Point Attributes<a href="https://docs.energyworx.net/release-notes/23.03-plus#schema-optimisation-data-point-attributes" class="hash-link" aria-label="Direct link to Schema Optimisation: Data Point Attributes" title="Direct link to Schema Optimisation: Data Point Attributes" translate="no">​</a></h3>
<p>As Energyworx platform aims for cheaper and efficient implementation, the schema optimisation is an initiative that focuses on how timeseries is stored in our platform, this results in two big changes: Data Point Attributes &amp; Channel Families.</p>
<p><strong>Data Point Attributes</strong></p>
<p>Users who have a lot of attributes that belong to timeseries datapoint can now make use of Datapoint attributes; the concept allows for storing data of the following types [bool, enum, float, timestamp] up to 80% more efficient storage. Datapoint Attributes' timeseries can be read and written from the same places annotations are.</p>
<p>This feature isn’t compatible with existing channel classifiers without a migration, but new channel classifiers support it out of the box. Currently, from the API</p>
<p><strong>Channel Families</strong></p>
<p>Users are able to set up timeseries data that will be access frequently together under the same channel family, for optimised data loading experience.</p>
<p>This feature isn’t compatible with existing channel classifiers without a migration, but new channel classifiers support it out of the box. Currently, from the API</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="timeseries-aggregation">Timeseries Aggregation<a href="https://docs.energyworx.net/release-notes/23.03-plus#timeseries-aggregation" class="hash-link" aria-label="Direct link to Timeseries Aggregation" title="Direct link to Timeseries Aggregation" translate="no">​</a></h3>
<p><em>AKA: Virtual Datasources on BigQuery</em></p>
<p>Continuing with the new vds_aggregation_ingest trigger schedule that we introduced in the previous release, we improved it in this release such that it does not need a Market Adapter to be configured any more. This means that the aggregation of the timeseries is automatically creating the datasource and channels of the datasource from the results of the aggregation.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="collective-trigger-pipeline">Collective Trigger Pipeline<a href="https://docs.energyworx.net/release-notes/23.03-plus#collective-trigger-pipeline" class="hash-link" aria-label="Direct link to Collective Trigger Pipeline" title="Direct link to Collective Trigger Pipeline" translate="no">​</a></h3>
<p><em>Our replacement for bulk- and aggregation- dataflows feature</em></p>
<p>We introduced a new service called The Collective Trigger. This service collects messages from flows (triggering flows) in the platform and groups them by an identifier called the Correlation ID. This new service will replace the existing bulk trigger.</p>
<p>When a certain condition is reached (e.g. a number of messages collected per Correlation ID), then the service will handle the start of a flow (a result flow) processing with the arguments passed on the Collective Trigger messages.</p>
<p>These messages can be sent by a rule being executed in a flow by calling the function send_collective_trigger. This function can set two main types of parameters:</p>
<ul>
<li class="">Flow execution parameters: the parameters for the flow execution, e.g. the flow design id, the flow properties, etc.</li>
<li class="">Collective Trigger handling: conditions on how to handle the messages for a certain Correlation ID, e.g.: the amount of expected messages, the deadline expected for the desired amount of messages, etc.</li>
</ul>
<p>The flow properties of the messages received are combined per Correlation ID and shared with the result flow.</p>
<p>There are certain conditions that can be set for handling the Collective Trigger. They can set waiting windows for messages of the same Correlation ID in two different ways:</p>
<p>The deadline: a timeout window which starts after the first message is received and indicates that a specific amount of messages for the same Correlation ID is to be expected before this time is reached.</p>
<p>The timeout in between messages: a timeout window that starts with each message and indicates how long it is expected for a new message of the same Correlation ID to arrive.</p>
<p>When a condition of the above is expired and a message corresponding to that same Correlation ID is received, then we define these messages as Late Data. We can configure several possible behaviors to handle this Late Data:</p>
<ul>
<li class="">Discard: simply discard the message.</li>
<li class="">Trigger flow combining all data again: trigger the message again with the combination of all flow properties.</li>
<li class="">Restart the window: restart the waiting window.</li>
</ul>
<p>The following functions in the rule framework are affected by the implementation of this new feature/service:</p>
<ul>
<li class="">New send_collective_trigger function is created, this can be used from any rule to call the Collective Trigger function.</li>
<li class="">send_bulk_trigger function is redirected to send_collective_trigger function.</li>
<li class="">Following send_bulk_trigger parameters have been set to defaults and will be deprecated:</li>
<li class="">number_of_current_items: set to 1</li>
<li class="">trigger_late_flow: set to True</li>
<li class="">send_crunch_aggregation_trigger is removed and any existing functionality has been migrated to send_collective_trigger.</li>
<li class="">send_bulk_trigger function is marked as deprecated and will be removed in the future release.</li>
</ul>
<p><strong>Deployment Note:</strong> during the deployment of this release all business processes that uses the bulk functionality should be stopped. The business process can be restarted after the deployment is finished.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="apiv15---migration-to-python3">APIv1.5 - Migration to Python3<a href="https://docs.energyworx.net/release-notes/23.03-plus#apiv15---migration-to-python3" class="hash-link" aria-label="Direct link to APIv1.5 - Migration to Python3" title="Direct link to APIv1.5 - Migration to Python3" translate="no">​</a></h3>
<p>Python2 is no longer supported by Google starting the 1st of February 2024, therefore an upgrade to Python3 is needed. Below is the stacks of technologies we upgraded to or now use in this migration:</p>
<ul>
<li class="">Python3.11</li>
<li class="">Flask-openapi3</li>
<li class="">Pydantic</li>
<li class="">Google cloud ndb (instead of Google appengine ndb)</li>
</ul>
<p>In this migration, we created new API blueprints which includes specific endpoints definitions. All request/response models were recreated using Pydantic and the database models in the controller layer were decoupled by introducing a separate pydantic models for request and responses. Last, we mapped these models with the ndb models. to_model() method is used to map a pydantic model to an ndb model before sending it to the service; and from_model() method is used to map an ndb model returned by the service to a pydantic model, which will be the response of the API.</p>
<p>This new API blueprints can be found in <code>api_py3/packages/energyworx-console/gae/ewx_gae/api/v1_5</code></p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="edited-datapoints-audit">Edited Datapoints Audit<a href="https://docs.energyworx.net/release-notes/23.03-plus#edited-datapoints-audit" class="hash-link" aria-label="Direct link to Edited Datapoints Audit" title="Direct link to Edited Datapoints Audit" translate="no">​</a></h3>
<p>In this release, we added the possibility to verify the previous version of an edited datapoint, along with important information about who did the edit, when and what value they edited a datapoint to.</p>
<p>This information is visible on the data table and chart, additionally, when a user clicks on a datapoint, edit information will be visible in the datapoint panel in Datasource View.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="fixes-in-this-release-">Fixes in this release 🪲<a href="https://docs.energyworx.net/release-notes/23.03-plus#fixes-in-this-release-" class="hash-link" aria-label="Direct link to Fixes in this release 🪲" title="Direct link to Fixes in this release 🪲" translate="no">​</a></h3>
<ul>
<li class="">
<p>Fix an issue in timeseries aggregation where not all channels were created</p>
</li>
<li class="">
<p>EWXDEV-8549: Fixes an issue in timeseries aggregation where the Name and ID in the aggregation configuration weren’t always persisted</p>
</li>
<li class="">
<p>EWXDEV-7481: Fixes an issue in timeseries aggregation where channels with whitespaces in the column name weren’t created</p>
</li>
<li class="">
<p>EWXDEV-7663: Fixes an issue where similar tasks weren’t grouped by in the platform</p>
</li>
<li class="">
<p>EWXDEV-8225: Fixes an issue where changing the source channel for a channel flow before running it did not take effect</p>
</li>
<li class="">
<p>EWXDEV-8589: Fixes an issue where file tags where disappearing after manual ingestion</p>
</li>
<li class="">
<p>EWXDEV-8718: Fixes an issue where timeseries aggregation’s filter, the filter now supports using the same tag and property multiple times, enabling queries like tag.prop = A OR tag.prop = B</p>
</li>
<li class="">
<p>EWXDEV-8719: Fixes an edge case where uploading files with no default tags caused an issue with ingestion</p>
</li>
<li class="">
<p>EWXDEV-8734: Fixes an issue affecting the 'Run Flow' menu item from the flow metadata component.</p>
</li>
<li class="">
<p>EWXDEV-8741: Fixes an issue affecting the creation of tasks from a flow.</p>
</li>
<li class="">
<p>EWXDEV-8743: Fixes an issue in transformation configuration affecting dynamic channel classifiers with no display name</p>
</li>
<li class="">
<p>EWXDEV-8756: Fixes an issue where in some cases, a Bigtable DeadlineExceeded error would end up in an audit event instead of being retried.</p>
</li>
<li class="">
<p>EWXDEV-8757: Fixes an issue where timeseries aggregationtrigger didn’t create a Virtual Datasource when no chained flow was set</p>
</li>
<li class="">
<p>EWXDEV-8782: Fixes an issue where Virtual Datasources filters weren’t displayed in the console</p>
</li>
<li class="">
<p>EWXDEV-8780: Adds a daily timeout reset for collective trigger</p>
</li>
<li class="">
<p>EWXDEV-8786: Fixes an issue where timeseries aggregation chained flows weren’t triggering underlying datasources on first trigger.</p>
</li>
<li class="">
<p>EWXDEV-8811: Fixes an issue where running a scenario flow on edited datapoint breaks the datapoint edit API</p>
</li>
<li class="">
<p>EWXDEV-8817: Fixes an issue with rendering API Documentation page description</p>
</li>
<li class="">
<p>EWXDEV-8818: Fixes an issue affecting writing Detectors from flows that aren’t marked as readonly</p>
</li>
<li class="">
<p>EWXDEV-8826: Fixes an issue affecting “channel family” create endpoint</p>
</li>
<li class="">
<p>EWXDEV-8829: Fixes an issue where reloading a transformation configuration causes the page to be empty</p>
</li>
<li class="">
<p>EWXDEV-8853: Deleted datasource classifiers aren’t displayed by default on Datasource Classifier page on the console</p>
</li>
<li class="">
<p>EWXDEV-8854: Fixed an issue where flows with custom parameters failed to trigger</p>
</li>
<li class="">
<p>EWXDEV-8862: Fixes an issue with flows not loading on Datasource view</p>
</li>
<li class="">
<p>EWXDEV-8865: Fixes an issue affecting users running a flow from the task board</p>
</li>
<li class="">
<p>EWXDEV-8866: Fixes an issue affecting users trying to add a lane to existing task board</p>
</li>
<li class="">
<p>EWXDEV-8866: Fixes an issue affecting the status filter for task boards</p>
</li>
<li class="">
<p>EWXDEV-8875: Addressed a workaround while loading datasources by using channel view as default for datasources with more than 12 flows.</p>
</li>
<li class="">
<p>EWXDEV-8911: Resolved an issue preventing joining of tz-naive with tz-aware DatetimeIndex.</p>
</li>
<li class="">
<p>EWXDEV-8913: Fixed an issue where Virtual Datasource created via API had no data.</p>
</li>
<li class="">
<p>EWXDEV-8915: Resolved issues with loading transformation configurations with multiple channels in the console.</p>
</li>
<li class="">
<p>EWXDEV-8916: Fixed issues related to loading Timeseries in the console.</p>
</li>
<li class="">
<p>EWXDEV-8933: Standardised time formatting in Datasource Search to align with production standards.</p>
</li>
<li class="">
<p>EWXDEV-8935: Fixed issues related to range editing multiplying for datapoints.</p>
</li>
<li class="">
<p>EWXDEV-8936: Aligned the names for task creation attributes to resolve an error in GET/run/search.</p>
</li>
<li class="">
<p>EWXDEV-8937: Split channel classifier and timeseries GET requests to prevent query parameter overloads.</p>
</li>
<li class="">
<p>EWXDEV-8942: Addressed the issue of the missing priority field when creating tasks from a board page.</p>
</li>
<li class="">
<p>EWXDEV-8961: Corrected an issue in the initialisation process for creating legacy VDS.</p>
</li>
<li class="">
<p>EWXDEV-8962: Addressed the disappearance of the Load Channels button in the console when no flow timeseries is available.</p>
</li>
<li class="">
<p>EWXDEV-8969: Ensured Datapoint Attributes are correctly formatted and readable in the frontend.</p>
</li>
<li class="">
<p>EWXDEV-8970: Resolved a problem preventing the manual editing of boolean tag properties.</p>
</li>
<li class="">
<p>EWXDEV-8972: Fixed an issue causing annotations to not display in the frontend console when no timeseries is visible.</p>
</li>
<li class="">
<p>EWXDEV-8977: Modified the Channels tab to prevent triggering of datasource flows.</p>
</li>
<li class="">
<p>EWXDEV-8989: Resolved an issue preventing admin users from accessing trigger details.</p>
</li>
<li class="">
<p>EWXDEV-8995: Fixed an issue where conditionally chained datasource flows required a source channel.</p>
</li>
<li class="">
<p>EWXDEV-8998: Corrected a problem causing the defer-task-queue to pause automatically.</p>
</li>
<li class="">
<p>EWXDEV-9008: Addressed a UI issue affecting multiple flow selections in the console.</p>
</li>
<li class="">
<p>EWXDEV-9009: Resolved a UI issue with dependent flow checkboxes in the console.</p>
</li>
<li class="">
<p>EWXDEV-9014: Implemented a fix to enable unlinking tasks from a task board.</p>
</li>
<li class="">
<p>EWXDEV-9031: Fixed a store rule issue not storing DPAs with NaN or None values.</p>
</li>
<li class="">
<p>EWXDEV-9046: Addressed inconsistency in default channel view setting in the console.</p>
</li>
<li class="">
<p>EWXDEV-9056: Ensured persistent display of the channel/flow view switch in the console.</p>
</li>
</ul>
<p><strong>Platform Stability Enhancements</strong></p>
<p>We've addressed several critical issues to improve platform reliability and performance:</p>
<ul>
<li class="">Fixed DNS resolution failures for datastore operations</li>
<li class="">Resolved DLQ message handling for stream-crunch operations</li>
<li class="">Improved deadline handling for StoreData operations</li>
<li class="">Enhanced flow view editing capabilities</li>
</ul>
<p><strong>Configuration Updates</strong></p>
<ul>
<li class="">Updated E-REDES Monthly and Billing Scaling Parameters in infrastructure configuration</li>
</ul>
<p><strong>Fixes in this release</strong> 🪲</p>
<ul>
<li class="">EWXDEV-11444: Resolved message handling in DLQ for ewx-edp-dso stream-crunch</li>
<li class="">EWXDEV-11639: Fixed flow view editing errors</li>
<li class="">EWXDEV-11980: Addressed datastore.googleapis.com DNS resolution failures</li>
<li class="">EWXDEV-12253: Improved deadline handling for data storage operations</li>
<li class="">EWXDEV-12154: Updated scaling parameters for E-REDES billing system</li>
</ul>
<p><em>Deployment Note: Standard deployment procedures apply. No service interruption expected.</em></p>
<h2></h2>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="2303-hotfix-45">23.03 Hotfix 45<a href="https://docs.energyworx.net/release-notes/23.03-plus#2303-hotfix-45" class="hash-link" aria-label="Direct link to 23.03 Hotfix 45" title="Direct link to 23.03 Hotfix 45" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="bug-fixes">Bug Fixes<a href="https://docs.energyworx.net/release-notes/23.03-plus#bug-fixes" class="hash-link" aria-label="Direct link to Bug Fixes" title="Direct link to Bug Fixes" translate="no">​</a></h3>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="ewxdev-12205-ctp-limit-adjustment">[EWXDEV-12205] CTP Limit Adjustment<a href="https://docs.energyworx.net/release-notes/23.03-plus#ewxdev-12205-ctp-limit-adjustment" class="hash-link" aria-label="Direct link to [EWXDEV-12205] CTP Limit Adjustment" title="Direct link to [EWXDEV-12205] CTP Limit Adjustment" translate="no">​</a></h4>
<ul>
<li class="">Changed deadline looper CTP limit to 1000 for certain environments, addressing CPES response status issues.</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="ewxdev-12253-data-storage-timeout">[EWXDEV-12253] Data Storage Timeout<a href="https://docs.energyworx.net/release-notes/23.03-plus#ewxdev-12253-data-storage-timeout" class="hash-link" aria-label="Direct link to [EWXDEV-12253] Data Storage Timeout" title="Direct link to [EWXDEV-12253] Data Storage Timeout" translate="no">​</a></h4>
<ul>
<li class="">Added retry in prepare source data logic to handle "Deadline of 60.0s exceeded StoreData failed" errors.</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="ewxdev-12432-data-retention">[EWXDEV-12432] Data Retention<a href="https://docs.energyworx.net/release-notes/23.03-plus#ewxdev-12432-data-retention" class="hash-link" aria-label="Direct link to [EWXDEV-12432] Data Retention" title="Direct link to [EWXDEV-12432] Data Retention" translate="no">​</a></h4>
<ul>
<li class="">Fixed data loss caused by cloud-notification-router workload, preventing datasource loss during high-volume ingestion.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="infrastructure-improvements">Infrastructure Improvements<a href="https://docs.energyworx.net/release-notes/23.03-plus#infrastructure-improvements" class="hash-link" aria-label="Direct link to Infrastructure Improvements" title="Direct link to Infrastructure Improvements" translate="no">​</a></h3>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="ewxdev-12172-cache-optimization">[EWXDEV-12172] Cache Optimization<a href="https://docs.energyworx.net/release-notes/23.03-plus#ewxdev-12172-cache-optimization" class="hash-link" aria-label="Direct link to [EWXDEV-12172] Cache Optimization" title="Direct link to [EWXDEV-12172] Cache Optimization" translate="no">​</a></h4>
<ul>
<li class="">Increased Redis instance size to 5GB for all instances (more cost-effective than 4GB configuration).</li>
</ul>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="2303-hotfix-46">23.03 Hotfix 46<a href="https://docs.energyworx.net/release-notes/23.03-plus#2303-hotfix-46" class="hash-link" aria-label="Direct link to 23.03 Hotfix 46" title="Direct link to 23.03 Hotfix 46" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="bug-fixes-1">Bug Fixes<a href="https://docs.energyworx.net/release-notes/23.03-plus#bug-fixes-1" class="hash-link" aria-label="Direct link to Bug Fixes" title="Direct link to Bug Fixes" translate="no">​</a></h3>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="ewxdev-12253-data-storage-reliability">[EWXDEV-12253] Data Storage Reliability<a href="https://docs.energyworx.net/release-notes/23.03-plus#ewxdev-12253-data-storage-reliability" class="hash-link" aria-label="Direct link to [EWXDEV-12253] Data Storage Reliability" title="Direct link to [EWXDEV-12253] Data Storage Reliability" translate="no">​</a></h4>
<ul>
<li class="">Added retry mechanism in prepare source data logic to address "Deadline of 60.0s exceeded StoreData failed" issues.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-1"><a href="https://docs.energyworx.net/release-notes/23.03-plus#-1" class="hash-link" aria-label="Direct link to -1" title="Direct link to -1" translate="no">​</a></h2>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="2303-hotfix-47">23.03 Hotfix 47<a href="https://docs.energyworx.net/release-notes/23.03-plus#2303-hotfix-47" class="hash-link" aria-label="Direct link to 23.03 Hotfix 47" title="Direct link to 23.03 Hotfix 47" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="bug-fixes-2">Bug Fixes<a href="https://docs.energyworx.net/release-notes/23.03-plus#bug-fixes-2" class="hash-link" aria-label="Direct link to Bug Fixes" title="Direct link to Bug Fixes" translate="no">​</a></h3>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="ewxdev-11230-soap-endpoint-integration">[EWXDEV-11230] SOAP Endpoint Integration<a href="https://docs.energyworx.net/release-notes/23.03-plus#ewxdev-11230-soap-endpoint-integration" class="hash-link" aria-label="Direct link to [EWXDEV-11230] SOAP Endpoint Integration" title="Direct link to [EWXDEV-11230] SOAP Endpoint Integration" translate="no">​</a></h4>
<ul>
<li class="">Enabled/fixed SOAP endpoints in APIv1.5 and ensured SOAP functionality is routed via APIv1.5, resolving ingestion issues with customer-specific workflows.</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="ewxdev-12449-market-adapter-processing">[EWXDEV-12449] Market Adapter Processing<a href="https://docs.energyworx.net/release-notes/23.03-plus#ewxdev-12449-market-adapter-processing" class="hash-link" aria-label="Direct link to [EWXDEV-12449] Market Adapter Processing" title="Direct link to [EWXDEV-12449] Market Adapter Processing" translate="no">​</a></h4>
<ul>
<li class="">Added retry mechanism for Google RefreshError Exception in the collect Market adapter logic, fixing issues with unprocessed customer's messages.</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="ewxdev-13276-timeout-handling">[EWXDEV-13276] Timeout Handling<a href="https://docs.energyworx.net/release-notes/23.03-plus#ewxdev-13276-timeout-handling" class="hash-link" aria-label="Direct link to [EWXDEV-13276] Timeout Handling" title="Direct link to [EWXDEV-13276] Timeout Handling" translate="no">​</a></h4>
<ul>
<li class="">Added ServiceUnavailable retry in prepare_source_data.py to address 60.0s timeout issues.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="improvements">Improvements<a href="https://docs.energyworx.net/release-notes/23.03-plus#improvements" class="hash-link" aria-label="Direct link to Improvements" title="Direct link to Improvements" translate="no">​</a></h3>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="ewxdev-8113-flow-management-enhancement">[EWXDEV-8113] Flow Management Enhancement<a href="https://docs.energyworx.net/release-notes/23.03-plus#ewxdev-8113-flow-management-enhancement" class="hash-link" aria-label="Direct link to [EWXDEV-8113] Flow Management Enhancement" title="Direct link to [EWXDEV-8113] Flow Management Enhancement" translate="no">​</a></h4>
<ul>
<li class="">Introduced new way of stopping flows with the ability to persist flow data saved up to the point where the flow is stopped by user code.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="2303-hotfix-48">23.03 Hotfix 48<a href="https://docs.energyworx.net/release-notes/23.03-plus#2303-hotfix-48" class="hash-link" aria-label="Direct link to 23.03 Hotfix 48" title="Direct link to 23.03 Hotfix 48" translate="no">​</a></h2>
<ul>
<li class="">Certain partners have access to <code>get_datasource</code> function is available in decision trees now.</li>
<li class="">When all the requested data is present in the cache, return only the requested time window.</li>
<li class="">Channel Properties are now returned by the tag search endpoint \(datasource/search\) in APIv1.</li>
<li class="">More errors are retryable in the processing pipeline.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="2303-hotfix-49">23.03 Hotfix 49<a href="https://docs.energyworx.net/release-notes/23.03-plus#2303-hotfix-49" class="hash-link" aria-label="Direct link to 23.03 Hotfix 49" title="Direct link to 23.03 Hotfix 49" translate="no">​</a></h2>
<ul>
<li class="">The VEE processes resources have been increased for large-use-case environments.</li>
<li class="">Added retry for pubsub exeception in market adapter's logic</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="2303-hotfix-50">23.03 Hotfix 50<a href="https://docs.energyworx.net/release-notes/23.03-plus#2303-hotfix-50" class="hash-link" aria-label="Direct link to 23.03 Hotfix 50" title="Direct link to 23.03 Hotfix 50" translate="no">​</a></h2>
<ul>
<li class="">Adjusted the soap outbound request timeout times and persisted changes to the soap outbound task queue.</li>
<li class="">Updated custom market adapters implementations for custom use cases</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="2303-hotfix-51">23.03 Hotfix 51<a href="https://docs.energyworx.net/release-notes/23.03-plus#2303-hotfix-51" class="hash-link" aria-label="Direct link to 23.03 Hotfix 51" title="Direct link to 23.03 Hotfix 51" translate="no">​</a></h2>
<ul>
<li class="">The Datasource Billing writers resources have been increased for large-use-case environments.</li>
<li class="">Updated custom market adapters implementations for custom use cases</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="2303-hotfix-52">23.03 Hotfix 52<a href="https://docs.energyworx.net/release-notes/23.03-plus#2303-hotfix-52" class="hash-link" aria-label="Direct link to 23.03 Hotfix 52" title="Direct link to 23.03 Hotfix 52" translate="no">​</a></h2>
<p>SOAP endpoint creation now routes to the correct API backend service again.
Creation of files from flows has gotten more robust.
Added retry mechanism in collect and adapt MA for google <code>TransportError</code> exception, caused by <code>NewConnectionError</code>.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="2303-hotfix-53">23.03 Hotfix 53<a href="https://docs.energyworx.net/release-notes/23.03-plus#2303-hotfix-53" class="hash-link" aria-label="Direct link to 23.03 Hotfix 53" title="Direct link to 23.03 Hotfix 53" translate="no">​</a></h2>
<p>Increased pod-custom-metrics-stackdriver-adapter resources</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="2303-hotfix-54">23.03 Hotfix 54<a href="https://docs.energyworx.net/release-notes/23.03-plus#2303-hotfix-54" class="hash-link" aria-label="Direct link to 23.03 Hotfix 54" title="Direct link to 23.03 Hotfix 54" translate="no">​</a></h2>
<p>Updated retry mechanism for google <code>TransportError</code> exception, caused by <code>NewConnectionError</code>.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="2303-hotfix-55">23.03 Hotfix 55<a href="https://docs.energyworx.net/release-notes/23.03-plus#2303-hotfix-55" class="hash-link" aria-label="Direct link to 23.03 Hotfix 55" title="Direct link to 23.03 Hotfix 55" translate="no">​</a></h2>
<p>Allow Market Adapter Split messages to be sent to Storage when the message is greater than the Pubsub limit size. These messages will be processed by prepare pipeline normally.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="2303-hotfix-56">23.03 Hotfix 56<a href="https://docs.energyworx.net/release-notes/23.03-plus#2303-hotfix-56" class="hash-link" aria-label="Direct link to 23.03 Hotfix 56" title="Direct link to 23.03 Hotfix 56" translate="no">​</a></h2>
<p>Fix Pubsub size message verification to allow the overhead of base64 encoding.</p>
<blockquote>
<p><strong>⚠️ Warning</strong></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="deprecation-notice">Deprecation Notice<a href="https://docs.energyworx.net/release-notes/23.03-plus#deprecation-notice" class="hash-link" aria-label="Direct link to Deprecation Notice" title="Direct link to Deprecation Notice" translate="no">​</a></h2>
<p>We are in the process of deprecating ewx-client and would recommend using our public API for data access.</p>
</blockquote>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Release Notes: Version 23.03]]></title>
        <id>https://docs.energyworx.net/release-notes/23.03</id>
        <link href="https://docs.energyworx.net/release-notes/23.03"/>
        <updated>2023-03-06T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Here's a sneak peek at what's new:]]></summary>
        <content type="html"><![CDATA[<p>Here's a sneak peek at what's new:</p>
<p>Platform Changes: Defects, Improvements, and New Features</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="defects">Defects<a href="https://docs.energyworx.net/release-notes/23.03#defects" class="hash-link" aria-label="Direct link to Defects" title="Direct link to Defects" translate="no">​</a></h2>
<ul>
<li class="">When a new data is ingested for a datasource, the previous annotations are now correctly overwritten.</li>
<li class="">Fix and provide a better error message when the user come back after being idle/away from the console for a while.</li>
<li class="">Fixed bug where load-side-input would not always use cached data from ingestion or previous flow</li>
<li class="">Blacklisted in user settings channels do not show anymore on the DS details page in "Channels" section</li>
<li class="">After returning all the search result hits on Search Datasources page, if the user clicks 'View More', the results page does not reset anymore.</li>
<li class="">Tag names and tag property keys are now checked for their values. Incorrect values will no longer be stored, but raise an error and Audit Event instead.</li>
<li class="">Invalid datasource and channel classifiers in flow and transformation configurations now create Audit Events when attempted to be used.</li>
<li class="">Invalid transformation configurations configured in market adapters now create Audit Events when attempted to be used.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="stories-and-improvements">Stories and Improvements<a href="https://docs.energyworx.net/release-notes/23.03#stories-and-improvements" class="hash-link" aria-label="Direct link to Stories and Improvements" title="Direct link to Stories and Improvements" translate="no">​</a></h2>
<ul>
<li class="">We streamline the user experience when the user tries to start running a flow, depending on which type of flow the user selects. If they choose to start a new datasource flow, then they would not see the source channel, but if they choose to start a new channel flow, then they can see (and select) and source channel. This is done to improve the user experience consistencies across platform.</li>
<li class="">We streamline the user experience for the Flow Design when it is opened on Datasource Flow Scope, the source &amp; destination channels are not visible anymore. This is done to improve the user experience consistencies across platform.</li>
<li class="">Json format file is recognised and can be mapped in Transformation Configuration.</li>
<li class="">All generic market adapters now check the extension of the file before ingesting</li>
<li class="">Caching can be disabled for flow and decision tree resource configurations on staging environments.</li>
<li class="">Reduce model inference time when iterated in a rule by implementing caching to fetch model by name.</li>
<li class="">Caching can be disabled globally for all resource configurations on staging environments.</li>
<li class="">Any non-source datasource now has a flow metadata property in the datasource view to show what the source was of that flow.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="new-features">New Features<a href="https://docs.energyworx.net/release-notes/23.03#new-features" class="hash-link" aria-label="Direct link to New Features" title="Direct link to New Features" translate="no">​</a></h2>
<p>We introduce new ML model training functionalities where the user can train their ML models using the data from the Energyworx platform. A query to prepare the data and a training script according to our training framework is required.</p>
<p>Currently supported ML frameworks are: scikit-learn, xgboost, and xgboost_multi_output. The xgboost_multi_output is required if the prediction produces more than one output at a time. We also support non-distributed hyperparameter tuning with hyper-opt. We also provide docker images / dockerfiles to test locally the user's code.</p>
<p>When the training succeeds, the trained model and its metadata is uploaded in the file manager. When the training job fails, the traceback info is uploaded as well. The ML framework also allows a flexible workflow where the user can train the same model with different data by configuring \sqlqueryfile\\ as filename in trainingflow parameters.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="argo-workflow">Argo Workflow<a href="https://docs.energyworx.net/release-notes/23.03#argo-workflow" class="hash-link" aria-label="Direct link to Argo Workflow" title="Direct link to Argo Workflow" translate="no">​</a></h3>
<p>The workflow yaml file to integrate different steps of training pipeline and manage internal artifacts and parameters between steps.</p>
<p>Includes an image with necessary permissions and packages and retrieval go script as an entry point taking sqlquery as input argument from workflow.</p>
<p>Allows to create a placeholder file in the job submitter. This is needed to allow successful runs of the step which expects an output. The output is needed in case of failure to pass the metadata to the exit hook.</p>
<p>Argo expects the artifact output, once configured, to always have the output artifact present even in successful runs.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="metadata-persistence">Metadata Persistence<a href="https://docs.energyworx.net/release-notes/23.03#metadata-persistence" class="hash-link" aria-label="Direct link to Metadata Persistence" title="Direct link to Metadata Persistence" translate="no">​</a></h3>
<p>Adds the metadata writer WorkflowTemplate. It receives a metadata file and copies it to a destination GCS bucket. This template can be deployed to the argo training installation.</p>
<p>Once the WorkflowTemplate is installed, its templates can be used in Workflows. You can use this workflow template on its own to test it without the other components.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="bigquery-usage-dashboard">BigQuery Usage Dashboard<a href="https://docs.energyworx.net/release-notes/23.03#bigquery-usage-dashboard" class="hash-link" aria-label="Direct link to BigQuery Usage Dashboard" title="Direct link to BigQuery Usage Dashboard" translate="no">​</a></h2>
<p>This dashboard can be used for detecting queries that use up a lot of slottime/bytes</p>
<p>Every Monday a report will be sent to customer about the previous week</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="new-method-to-store-timeseries-data">New method to store timeseries data<a href="https://docs.energyworx.net/release-notes/23.03#new-method-to-store-timeseries-data" class="hash-link" aria-label="Direct link to New method to store timeseries data" title="Direct link to New method to store timeseries data" translate="no">​</a></h2>
<p>We introduced new methods for AbstractRule:</p>
<ul>
<li class="">store_timeseries(timeseries, channel_id=None, *, datasource_id=None, store_in_flow_data=True)</li>
<li class="">store_annotations(annotations, channel_id, annotation_name=None, *, datasource_id=None, store_in_flow_data=True)</li>
</ul>
<p>On top of that, we also introduced changes in the functionalities such as:</p>
<ul>
<li class="">Storing timeseries or annotations can be done independently of each other.</li>
<li class="">Both methods can take a Series or a DataFrame.</li>
<li class="">Timeseries and annotations can have any timezone now.</li>
<li class="">Channels are only created on the datasource if actual data is required to be stored on them.</li>
<li class="">A DataFrame of timeseries will store all columns independently on the channels which are the column names. Any channel classifier that does not exist on the namespace will raise an error and abort the flow.</li>
<li class="">A DataFrame of annotations will store each column independently as annotations for the specific channel_id channel.</li>
<li class="">Annotations can now have any name you want (series name or column names are used). Only requirement is that this name is unique.</li>
<li class="">Annotations can be created on non-existing datapoints. This also means that gap annotations will now actually be stored on the gap itself instead of one annotation after the gap.</li>
<li class="">Multiple annotations can be created on the same datapoint within the same rule.</li>
<li class="">Multiple versions of annotations can be stored on the same timeseries version.</li>
<li class="">Timeseries and annotations can be stored on ANY prepared datasource, bringing it in line with how you can add tags to any prepared datasource.</li>
<li class="">Timeseries and annotations stored with store_XXX can optionally also be added to the flow data (which self.dataframe is created from), which is turned on by default. This only works for data stored on this datasource. Data stored on other (prepared) datasources will never be added to the flow data.</li>
<li class="">Annotations stored with store_annotations are recognized by self.data_filter.</li>
<li class="">Heartbeat channels are no longer supported.</li>
</ul>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[Release Notes: Version 23.01]]></title>
        <id>https://docs.energyworx.net/release-notes/23.01</id>
        <link href="https://docs.energyworx.net/release-notes/23.01"/>
        <updated>2023-01-02T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Here's a sneak peek at what's new:]]></summary>
        <content type="html"><![CDATA[<p>Here's a sneak peek at what's new:</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="vds-improvements">VDS Improvements<a href="https://docs.energyworx.net/release-notes/23.01#vds-improvements" class="hash-link" aria-label="Direct link to VDS Improvements" title="Direct link to VDS Improvements" translate="no">​</a></h2>
<ul>
<li class="">Improvement VDS query validation check. First our console will try to validate the query input. In case the query is invalid but somehow managed to bypass the console validation, then the second (backend) validation will be triggered to notify the user in audit events that their query is actually invalid.</li>
<li class="">Allow VDS to copy flow properties from input flow to output flow</li>
<li class="">Allow user to modify VDS filter via API. The new filter only affects new flows run and not the existing crunched data.</li>
<li class="">Allow user to set time limit for which a VDS is updated</li>
<li class="">Allow user to add delay parameter to VDS when using chained flows for underlying datasource. The maximum time delay is 20 minutes.</li>
<li class="">Allow user to set timezone for VDS. However, it is still possible for the user to view the VDS in timezones that are the default of the underlying data sources.</li>
<li class="">Deprecate obsolete VDS API endpoints</li>
<li class="">Add field for timezone for the VDS in Advance Search</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="channel-classifier-display-name">Channel Classifier Display Name<a href="https://docs.energyworx.net/release-notes/23.01#channel-classifier-display-name" class="hash-link" aria-label="Direct link to Channel Classifier Display Name" title="Direct link to Channel Classifier Display Name" translate="no">​</a></h2>
<ul>
<li class="">Introduce a new parameter called <code>display name</code> for Channel Classifier</li>
<li class="">This display name will be used in Channel Classifier view, Flow Design view, TC view, and Datasource view</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="adding-new-properties-to-channel-properties">Adding New Properties to Channel Properties<a href="https://docs.energyworx.net/release-notes/23.01#adding-new-properties-to-channel-properties" class="hash-link" aria-label="Direct link to Adding New Properties to Channel Properties" title="Direct link to Adding New Properties to Channel Properties" translate="no">​</a></h2>
<ul>
<li class="">Add new properties <code>valid_from</code>, <code>version</code> and <code>deleted</code> to channel properties</li>
<li class="">Add the new properties above to TC channels section</li>
<li class="">Extend generic runbook to cover ingestion scenario to add channel properties</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="datasource-classifiers-limit">Datasource Classifiers Limit<a href="https://docs.energyworx.net/release-notes/23.01#datasource-classifiers-limit" class="hash-link" aria-label="Direct link to Datasource Classifiers Limit" title="Direct link to Datasource Classifiers Limit" translate="no">​</a></h2>
<ul>
<li class="">Increase the allowed limit of datasource classifiers to 1000</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="timeslice-group-versions-comparison">Timeslice Group Versions Comparison<a href="https://docs.energyworx.net/release-notes/23.01#timeslice-group-versions-comparison" class="hash-link" aria-label="Direct link to Timeslice Group Versions Comparison" title="Direct link to Timeslice Group Versions Comparison" translate="no">​</a></h2>
<ul>
<li class="">Improve the previous TSG versions' comparison UI.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="saml-integration">SAML Integration<a href="https://docs.energyworx.net/release-notes/23.01#saml-integration" class="hash-link" aria-label="Direct link to SAML Integration" title="Direct link to SAML Integration" translate="no">​</a></h2>
<p>Single sign-in with SAML support. Users can log in to the energyworx platform by using their existing user account on other systems (support only for Microsoft and Google accounts). This is supported through domain white-listing, meaning that all users belonging to a domain that is white-listed in the platform will be logged in automatically. Automatic group-mapping is also provided. This enables the user to be assigned automatically upon log in to a group in the platform. This group can also be mapped to a specific group on the customer's own authorisation system.</p>]]></content>
    </entry>
</feed>