Litmus Edge 4.3.0
22 min
Release Date: September 11, 2026
Note: For information on updates to APIs, see the Litmus Edge and Litmus Edge Manager change logs.
New features
DeviceHub:
- The following new Gen 2 drivers are available:
- ABB
- ABB Totalflow DB2
- Allen-Bradley
- AB ControlLogix Unsolicited
- Automation Direct
- AutomationDirect Productivity Series Ethernet
- CODESYS
- CODESYS V2 Ethernet Absolute
- CODESYS V2 Ethernet Symbolic
- Delta PLC
- Delta DVP Ethernet
- Excel
- Excel
- Fuji
- Fuji NB Serial
- Fuji SPH2000 Ethernet
- GE Fanuc
- GE EGD Ethernet
- GE Fanuc SNPX Serial
- IDEC
- IDEC Serial
- IEC
- IEC60870-5-102 Ethernet
- IEC61850 MMS client
- Keyence
- Keyence Nano
- Keyence Serial
- Koyo
- Koyo Direct Serial
- Koyo Ethernet
- Mettler Toledo
- IND256x
- Mitsubishi
- Mitsubishi F Ethernet
- MTConnect
- MTConnect Ethernet
- Panasonic
- Panasonic FP Ethernet
- Panasonic FP7 Ethernet
- Parker
- Parker ACR9000 Ethernet
- Ping
- Ping
- SAIA
- Saia S-Bus Ethernet
- SEW-EURODRIVE
- SEW Drive Ethernet
- Siemens
- Siemens Logo Ethernet
- Siemens TI505 Ethernet
- Simulator
- Generator
- Toshiba
- Toshiba Computer Link Ethernet
- VIPA
- VIPA 300S Ethernet
- Yaskawa
- Yaskawa MP2300 Ethernet
- Yokogawa
- Yokogawa DX Ethernet
- Yokogawa FA-M3 Ethernet
- Yokogawa MX Ethernet
Digital Twins:
- Asset Hierarchy path and metadata: Digital Twin instances managed by Litmus Edge Manager (LEM) store their hierarchy context in two static attributes. Both are read-only in LE and update only when LEM pushes a change:
- hierarchyPath contains the asset's full path with spaces and special characters replaced by underscores.
- hierarchyMetadata contains a set of key-value pairs, for example enterprise, region, site, plant, area, work center, and work unit.
- Nested models: A new dynamic Nested Model attribute type lets one Digital Twin instance reference another. For example, a production line instance can point to each of its machine instances. You pick the target model when you define the attribute and the specific instance when you configure it. LE resolves the topic for you. Transformations do not apply to this attribute type.
- Static attributes in dynamic attributes publish: When a dynamic attribute payload publishes on digitaltwins.<modelName>.<instanceName>.<DynamicAttributeName>, the message now includes the Instance's static attributes alongside the value in a static_attributes object.
Analytics:
- Litmus Edge now includes a Logs page under Analytics > Logs that displays logging information for Analytics services.
- Litmus Edge now includes an IT Hub processor that lets you run static and dynamic SQL queries and REST API requests with a supported integration connector.
- Litmus Edge now includes a Webhook processor that lets external REST clients trigger a flow through an HTTP call and receive either an immediate acknowledgment or a dynamically computed response.
- Analytics AI Suite: The new Analytics > AI Suite page is a single place for managing the resources your AI processors use: AI models, instructions, skills, context files, tool definitions, MCP server registrations, memory, and agent files. You add a file once and any AI Responses processor on the instance can use it.
- In the AI Responses processor, you select resources from checkbox lists defined in AI Suite. These replace the free-text skills, context files, and tools directory fields.
- LE validates tool definitions and MCP server registrations when you save them. After you save an MCP registration, LE tests the connection and lists the tools the server offers. You can run the test again at any time.
- You can export all AI Suite resources as a ZIP file for backup or transfer to another instance. When you import a ZIP file, LE merges it into the existing resources and reports which files it wrote and which it skipped.
- Agent files are stored, listed, and included in an export. Processor support for agents is planned for a future release.
Integration:
- The following new connectors are available in this release:
- AMQP
- AMQP Gen 2
- Aveva
- Aveva Data Hub Gen 2
- OSI PI Historian Gen 2
- AWS
- AWS IoT SiteWise Edge Gen 2
- Azure
- Azure IoT Hub Gen 2
- Cognite
- Cognite Gen 2
- Databricks
- Databricks Zerobus Ingest
- Google Cloud Pub/Sub Gen 2
- InfluxDB
- InfluxDB v3
- MaintainX
- MaintainX API
- Mongo
- DB - MongoDB v4+ Gen 2
- IBM
- MQTT - IBM Watson over SSL Gen 2
- REST
- REST API
- Snowflake
- Snowflake Snowpipe Stream
- Splunk
- Splunk Gen 2
- SQL
- DB - MySQL Server Gen 2
- DB - PostgreSQL Server
- Tiger Data
- TimescaleDB
- SQL Gen 2 connectors now support JSONPath field mapping. Column mapping can read values from anywhere in a nested payload. This applies to the PostgreSQL, MySQL, and MS SQL connectors, so you no longer need to flatten nested telemetry upstream. Select Enable JSONPath on the connector configuration to switch mapping values from first-level payload keys to JSONPath expressions such as $.factory.line.machine.sensors.temperature.
System:
- Litmus Edge now includes a Streaming Logs page that displays live logs from all Litmus Edge services in a single view under System > Streaming Logs. You can filter, search, and export logs without leaving Litmus Edge.
- View logs from all Litmus Edge services in one place or select an individual service to narrow the view.
- Filter logs by log level and time range, search log messages by free text, and combine any of these filters.
- Pause and resume live scrolling and clear the displayed logs without deleting stored log data.
- Export the currently filtered view as a log file for troubleshooting or sharing with support.
- View the status of log forwarding to Litmus Edge Manager. You configure and control forwarding from Litmus Edge Manager.
Solution Templates:
- Litmus Edge now includes Solution Templates, which capture the complete configuration of a Litmus Edge system as a JSON file that you can apply to other systems. You can parameterize a template, choose how it merges with existing configuration, and roll back to a snapshot taken before it was applied.
- Template list: View all your templates in a list with the name, description, creation date, and creator. You can sort the list by template name or creation date.
- Create and upload: Create a template with a custom name and description, or upload an existing template file. LE validates the JSON when you import a template, so errors are caught before you apply it. Templates are also created automatically when LEM applies a template remotely.
- Template details: View the full contents of a template, including devices, connectors, flows, Analytics, Digital Twin models and instances, marketplaces, marketplace apps, and registries.
- Edit and delete: Update a template's name and description, or delete templates one at a time or in bulk. Duplicate template names are prevented.
- Parameters: A template can contain parameters so one template serves many sites or devices without being edited. You enter the values when you apply the template. LE fills them into the settings and validates them before writes to the device.
- Apply modes: Three modes control what happens to configuration already on the device. Reset & Apply clears the existing configuration and replaces it entirely with the template. Merge & Apply combines the template with the current configuration. Items with new IDs are added, and items whose IDs already exist are overwritten after you confirm. Apply uses system logic, where each component decides individually whether to overwrite or keep an existing item. A progress indicator displays while a template is applied.
- Snapshots and rollback: LE captures a configuration snapshot before a template is applied. You can browse snapshot history, capture a snapshot manually, and roll back to any earlier snapshot. A rollback is itself snapshotted, so it can be undone in turn.
- Encryption: Choose encrypted or plain text when you create or upload a template. Credentials for the relevant components are encrypted.
- Permissions and licensing: All users can see templates. Editing, deleting, and applying templates require the appropriate permissions and a valid Litmus Edge license. Users with the Viewer role have read-only access.
- Backup, restore, and HA: Templates are included in backup and restore operations and are supported in High Availability deployments.
Enhancements
Dashboard:
- Dashboard charts load faster after a browser hard refresh, which previously took up to 10 seconds. The CPU Utilization Y-axis now uses a fixed scale to match the Memory Load chart.
DeviceHub:
- The Generator driver now supports the bool, int32, float32, uint32, and json data types.
- The Allen-Bradley DF1 Ethernet driver now assigns more accurate default data types when browsing tags: O and I files default to bit and N files default to int, and A (ASCII) and D (Hex/BCD) files no longer display incorrectly as N-Integer. The driver now also supports signed integer (INT) values in addition to unsigned integer (UINT) for Output, Input, Timer, Counter, and Control registers.
- The AB CompactLogix Ethernet Advanced and AB Logix Ethernet drivers' Access Mode setting, formerly named CompactLogix, is now named Logical. A new Firmware Version setting (Auto, V20 or older, V21 or newer) lets the driver select the correct communication mode for FlexLogix, CompactLogix, and ControlLogix controllers based on firmware version. Existing driver instances are upgraded automatically: instances previously using Symbolic mode remain Symbolic, and instances previously using CompactLogix mode are now Logical.
- The AB CompactLogix Ethernet Advanced and AB Logix Ethernet drivers now include a Project Changes setting that is available when Access Mode is set to Logical. This setting lets you specify whether the driver monitors the PLC program for changes and whether it switches to symbolic access or uploads the project again when a change is detected.
- The Codesys V2.3 Ethernet Symbolic driver now supports reading string-type tags.
- The Yokogawa DX Ethernet driver now always requires a password value (default of 0). The non-functional Settings Mode option has also been removed from the driver.
- DeviceHub now displays a deprecation warning for the Mitsubishi QJ71E71, OSI Agent, AB CompactLogix Ethernet FreeTag, and AB CompactLogix Ethernet Advanced drivers.
- Renamed the Optional Parameters panel to Advanced Parameters across all drivers that use Advanced Show/Hide settings. Advanced settings are now included in template export regardless of whether the panel is set to show or hide.
- In the Browse Tags window, the global polling interval update now allows a value of 0 to be saved across all tags in a collection. This matches the behavior when editing individual tags.
- Device discovery now shows a loading indicator while a scan is in progress and prevents starting a second discovery until the current one finishes.
- The Opto22 MMIO Protocol Ethernet (Gen1.3) driver now supports additional registers.
- In the Browse Tags window, you can now bulk edit the data type and tag name for multiple selected tags at once.
- Improved B&R PVI Ethernet driver performance. The driver has been optimized to reliably support up to 10,000 tags to enable high-density deployments with large B&R PLC installations.
- Improved CODESYS V2 Symbolic (Gen1.3) driver. Fixed connectivity issues, added support for browsing devices with or without SYM/SDB files, and introduced user-configurable options for Motorola byte order and protocol settings.
- Improved EUROMAP 63 driver session file handling to automatically clean up .REQ files when the controller does not respond to prevent shared folder clutter.
- Added float data type support for the GE Ethernet Absolute driver. R, AI, AQ, and W registers now support float data types to enable accurate reading of floating-point values from GE PLCs.
- Fanuc CNC Ethernet driver enhancements. Added support for the cnc_rdtimer function to read cycle and cutting times, and extended macro variable read/write range up to #98499. This enables access to high-numbered common variables.
- Added password authentication support for the S7CommPlus driver. PLCs configured with legacy access control in TIA Portal can now be connected by specifying a password in the device settings. Device settings have also been reorganized with advanced options moved to a collapsible section for a cleaner configuration experience.
- Added a configurable sampling interval property for LioN-X and OPC UA Client Advanced subscriptions to prevent server overload and align with OPC UA best practices.
- The OPC UA Client Advanced driver now supports OPC UA HDA.
- Improved Toyopuc Ethernet driver addressing for bit registers. bit (boolean) tags now use discontinuous addressing, requiring both a Word and Bit address component to match PLC programming software conventions. Existing configurations are automatically migrated during upgrade.
- Improved other Toyopuc Ethernet driver issues. Fixed read/write issues for EB register addresses above 32767, corrected maximum address ranges across multiple register types to align with PLC specifications, and added support for JL and JS registers (PC10G Nano).
- Improved inconsistent field ordering in driver configuration settings. Device and tag settings fields across multiple drivers (including Allen-Bradley, Siemens, GE, Yokogawa, and others) now display in a consistent, predictable order.
- Added a bulk Add All option for browsed tags. When browsing tags on a device, you can add all discovered tags quickly. Select and add tags within a selected folder and child folders.
- A new count field is available at the tag level for all register types to enable batch reads of consecutive registers as arrays. Added array read support for the following drivers.
- Keyence Nano Ethernet
- Saia Ethernet
- Added logging support for Gen1.3 drivers. An Enable Debug Logging option is now available in the Add/Edit device dialog for enabling verbose debug-level logs alongside default warn and error logs. View logs in the Logs tab on the device page when the device is running.
- At startup, the DeviceHub page is available right away and updates as devices start up. Previously, all devices had to be started before the page was viewable.
- Updated the DeviceHub UI device card label to display IP Address without a dash. This matches previous versions for consistent formatting.
- Increased the DeviceHub driver start timeout to 120 seconds for more reliable driver initialization.
- The Optional Settings section of the Add Device dialog has an updated layout and improved tooltips and UI text.
- With Publish Additional Attributes enabled, DeviceHub Tag payloads from the Modbus, OPC UA, and Siemens S7 drivers include status, statusCode, and sourceTimestamp keys.
- OPC UA Client Advanced supports an exclusion list for browsing: i=2253 [Server], i=86 [TypesFolder], and i=87 [ViewsFolder].
- When tag creation exceeds the license limit, the error message now indicates Failed to create Tag(s): Tag limit reached.
- Improved bit encoding for the Address field when configuring a DeviceHub tag.
- Changing only the device name in a DeviceHub template and reapplying it creates a new device.
- The Name field warns you when you approach the character limit.
- Array and string tags in DeviceHub > Data display a tag's value rather than 0.
- All Modbus drivers ship with revised default timeout and retry count values.
- AB Logix Ethernet supports array data types, and its unsigned integer types align with RSLogix types.
- AB Logix Ethernet batches string reads for faster performance.
- GE Ethernet Symbolic handles a missing optional global variables CSV file without failing.
- The EUROMAP 63 driver has a clearer overview and tool-tips for the session directory path.
- The AutomationDirect Productivity Series Ethernet driver has a revised parameter name and tool-tip.
- The IDEC Serial driver has a corrected register table, a revised parameter name, and an improved overview.
- Improved device Transport field options to correctly reflect the supported communication protocols.
- In the Manage Tasks dialog, parameters are now expandable in the Browse Params column.
Digital Twins:
- Made improvements to the Digital Twins UI including modernizing its grid component.
- Digital Twins now validates the dynamic attribute Unit field and similar fields for special characters as you enter them. Errors display immediately instead of after saving.
- The code editor now provides autocomplete suggestions, type information tooltips, and syntax error highlighting as you type, delivering a smarter scripting experience.
- Digital Twins reports clearer messages and errors.
- The maximum limit on dynamic attributes is removed.
- $EDGE_DT_MODEL_ID and $EDGE_DT_INSTANCE_ID are available as variables in Digital Twins.
DataHub:
- Improved the Full Log view in Edge Cascading Logs by formatting timestamps in a single, human-readable style, for example `2026-01-28 19:36:45 UTC` for easier log scanning.
Analytics:
- Made a series of UI refinements across Analytics, including improvements to processor search, mobile presentation, and flow generation, for a more consistent experience.
- The Digital Twins transformations playground and the Analytics JavaScript, Tengo, and JSONata script playgrounds now include a sample DeviceHub payload making it easier to write and test scripts against industrial data.
- When a processor is automatically disabled due to a script error, Litmus Edge now displays a message and a notification.
- New processor grouping support in Analytics canvas. Processors within an Analytics workspace can now be visually grouped together with a custom name, description, and background color. Groups can be moved, copied, pasted, and managed directly on the canvas making it easier to organize complex analytics flows.
- Analytics Group has been renamed to Analytics Workspace.
- Added dynamic configuration fields for Analytics processors. Processor settings now support linked fields. Configuration options are shown or hidden based on other selected settings to provide a cleaner experience.
- Added comprehensive user event tracking for Analytics. All user actions within Analytics workspaces now generate detailed audit events, including processor create, update, delete, enable or disable, connect or disconnect, invoke, rename, and move operations, as well as variable and AI model changes. Each event captures the user, timestamp, affected processor, and workspace context for full traceability.
- Added execution timeout protection for analytics script processors. JavaScript, Tengo, and JSONata processors now enforce configurable execution timeouts. This prevents bad or runaway scripts (such as circular references) from crashing the analytics engine. Faulty processors are automatically disabled with an error status.
- Improved readability of timestamps in Full Log view. For example, timestamps now display in the following formatting: 2026-01-28 19:36:45 UTC.
- Added a quick-access Create Workspace button in Analytics. You can now create a new workspace directly from the workspace header using a convenient plus (+) icon without needing to navigate elsewhere.
- Added snap-to-grid support in the Analytics canvas. You can now enable helper lines from the action menu to easily align and organize processors on the canvas.
- Added a searchable Variables panel to the Analytics canvas. A new action menu button lets you quickly view all user-defined variables and their details directly from the flow map without navigating away to the Variables page.
- The code editor now provides autocomplete suggestions, type information tooltips, and syntax error highlighting as you type, delivering a smarter scripting experience.
- Added a default JSONata code example to help you get started when creating a new JSONata processor.
- Additional Analytics UI improvements.
Applications:
- The dashboard has been redesigned to show more useful information at a glance. Key changes include:
- Summary tiles now show status details including the number of running containers or storage use instead of just a count.
- Resource Status panels show the names and details of your active catalogs, containers, images, and networks so you can see what's running without clicking into each section.
- System Performance charts for CPU and storage are now visible directly on the dashboard.
- Storage Volumes now list their mount paths and sizes rather than just a total count.
- The new dark theme with color-coded indicators makes it easier to spot issues quickly.
- The Containers page now displays exposed ports in the following format: Host Port → Container Port, for example 3500 → 3000/tcp.
Integration:
- The create and edit subscription dialogs now display tooltip help text for connector configuration fields.
- Connector configuration fields can now show or hide dynamically based on other field selections (for example, a dropdown or checkbox choice) matching existing behavior in DeviceHub.
- The AWS IoT SiteWise connector now supports high-precision timestamps through timestamp.timeInSeconds and timestamp.offsetInNanos fields in DeviceHub payloads.
- Integration connector tiles now display human-readable provider names. Connector instances show the provider name, for example InfluxDB v3, instead of an internal identifier making it easier to identify configured connectors.
- Added retain support for MQTT v5 outbound publishing. When defining outbound subscriptions in the MQTT v5 cloud connector, a Retain option is now available to allow published messages to be retained by the broker for new subscribers.
- Improved connector configuration tool-tips for all connectors.
- MQTT Generic and MQTT v5 connectors use a QoS value of 0 in fire-and-forget mode.
- The REST Gen 2 connector accepts a method and API path for IT Hub requests.
- Throttling limit field names are now consistent across the REST API Gen 2 connector.
OPC UA:
- Adding, removing, and modifying nodes in the OPC UA server hierarchy no longer requires a full restart of the OPC UA server. Connected OPC UA clients maintain their sessions and subscriptions across these hierarchy changes. Changes to security policy, network/endpoint settings, or other server configuration parameters still require a restart.
- A button on the OPC UA > Management page opens a dialog showing the default parameters configured for the OPC UA server.
- OPC UA Server now forwards StatusCode tag values from DeviceHub payloads to OPC UA clients for improved diagnostic visibility.
- Added the ability to configure Read, Write, or Read and Write permissions on individual or multiple OPC UA tags. You can view tag access in the Hierarchy Information tab and configure them through a new dropdown in the Hierarchy Configuration tab with support for bulk editing permissions.
- OPC UA server configuration now requires explicit saves. Configuration changes to the OPC UA server settings are no longer auto-saved. A dedicated Save button has been added with inline validation that disables the button when errors are present and prompts for a server restart when changes are applied.
- OPC UA server now supports network interface selection. A new dropdown in the OPC UA server configuration lets you select which network interface the server listens on. This provides greater control over network binding in multi-interface edge environments.
- The OPC UA server URL now displays at the top-right corner of the OPC UA > Management page for quick reference.
System:
- Operations that could trigger a High Availability failover, including reboot, system reset, software update, configuration restore, and network and timezone changes, are now disabled in the UI when High Availability is active. This prevents unintended failover.
- The notification system now automatically clears stale data from browser local storage to prevent outdated notifications from persisting.
- Entity names in the System > Device Management > Template now display exactly as they were defined, for example capitalization is preserved. Previously, names were reformatted for display which could make entities whose names differed only by case appear identical.
- Removed an internal message size limit that prevented validation of large DeviceHub templates. Templates with very large tag counts (up to 1 million tags) can now be validated.
- After successfully applying a template, the success message now displays the number of connectors added, updated, skipped, and failed. Messages also indicate why connectors fail to upload.
- Added an option to disable storing event logs in the database to reduce disk usage.
- Improved performance for event log deletion.
- Improvements to High Availability (HA) including better synchronization, backup node visibility, and failover reliability.
- Added help text that provides guidance on PKCS#1, RSA, and PEM key formats when adding certificates.
- LDAP attribute names are no longer case-sensitive, so identity lookup succeeds regardless of the casing Active Directory returns.
Resolved issues
Dashboard:
- Fixed issue with overlapping and misaligned font in the Dashboard.
- Fixed issue where the dashboard displayed a GPU graph on hardware without a GPU.
DeviceHub:
- Improved DeviceHub license checker to ensure user has proper access based on applied license.
- Fixed issue where bulk-deleting tags could cause the tag count to become negative. New tags could not be added until Litmus Edge was restarted.
- Fixed issue where the Open Protocol Ethernet driver rejected controller keepalive messages that did not include a revision number. The driver now accepts keepalive messages without a revision for PF8 Series controllers.
- Fixed issue where the IEC102, Mitsubishi FX, Siemens TI505, and Fanuc drivers accepted certain multi-character address suffixes that produced incorrect register addressing. These suffixes are no longer supported.
- Fixed issue where the Beckhoff TwinCAT3 Ethernet Absolute (Gen1.3) and Beckhoff TwinCAT3 Ethernet Symbolic (Gen1.3) drivers returned a timestamp of 0 for failed tag reads. Tags now publish the current timestamp in this case.
- Fixed issue where HTML content in DeviceHub device log lines was rendered as HTML in the log stream viewer instead of being shown as plain text.
- Fixed issue where the Advanced Parameters section in the Edit Device dialog displayed without an elevation shadow.
- Fixed an issue where tags with certain String Format suffixes were saved with an incorrect register address. The register address field now combines the register and bit values correctly based on the tag's String Format.
- Fixed issue where the deviceName value was incorrectly masking special characters to _ (underscore) in payloads published on devicehub.plcstatus.> and system.events topics.
- Fixed error response payload returned by a POST to the /access/accounts Access REST endpoint.
- Fixed Euromap 63 driver compatibility with KM MC4 controllers. Removed special characters (including underscores) from generated JOB and SESS file names to resolve connection failures with controllers that do not accept special characters in file names.
- Fixed FTP root path handling in the Heidenhain 640 Ethernet driver. Resolved an issue where the FTP path was not correctly configured in the Gen1.3 driver. This ensures reliable file transfer connectivity with Heidenhain CNC controllers.
- Fixed Allen Bradley CompactLogix driver issue with bad tags disrupting valid tag reads. Resolved a regression where a single misconfigured or invalid tag in a Multiple Service request would cause other properly defined tags to fail. Invalid tags are now isolated so they no longer impact the reading of valid tags.
- Fixed an issue where the ListRegisters API call could contain different properties between Tags within the same DeviceHub Device after upgrading from 3.16 to 4.0.x.
- Fixed issue where drivers with StatusRegister defined by default returned empty registers when devices were imported using a template.
- Fixed an issue during upgrading where a device could enter a stopped state instead of disconnected if the device was not reachable.
- Fixed issue where the dashboard tag count doubled after an upgrade from 3.16.x to 4.0.x.
- Fixed issue where the Emerson DNP3 Ethernet with FB Extensions driver did not poll for history. The Polling Interval field was missing from the Add and Edit pages for History Alarm Event record tags in 4.0.x.
- Fixed string tag handling on the Mitsubishi FX3G Binary Ethernet driver. Multiple tags configured at the same address with different string lengths all received the same value.
- Fixed issue where a device using the ABB Robot Web Services driver connected and disconnected repeatedly.
- Fixed read failures when multiple devices share one serial connection through the Modbus Multi-Station RTU to TCP Converter combined with Modbus TCP.
- Fixed issue where every MID revision property on the Torque Tool Open Protocol Ethernet driver rejected any value except 1 and reported Maximum allowed value is 0.
Digital Twins:
- Fixed issue where the model image preview did not reset after clicking Reload.
DataHub:
- Fixed TLS certificate issue that occurred when initially adding a TLS-enabled stream to a spoke during Edge Cascading setup.
Analytics:
- Fixed an issue where a Digital Twin transformation processing data from a DataHub topic would succeed only on its first run. Subsequent runs returned a key not found error and published null values to the Dynamic Attributes topics, which affected downstream use such as integration mappings. In some cases, the affected Digital Twin instance would become disabled and could not be reenabled.
- Fixed issue where creating a flow failed with a validation: processor with name "Flow - [n]" already exists message, because a uniqueness check rejected the processor names that flows share by design.
- Fixed issue where the Playground reported inputProcessors is not defined for a JavaScript processor.
- Fixed issue where no error displayed when creating a DataHub Subscribe processor without a topic.
- Fixed issue where duplicate processor names were allowed.
- Fixed issue where leaving a newly created instance and returning to it opened a different instance instead.
Applications:
- Fixed issue where the Docker terminal did not correctly display UTF-8 box characters and UI symbols such as arrows and return symbols.
- Fixed issue where the container terminal incorrectly printed \x08 instead of deleting characters when the Backspace key was pressed.
- Fixed issue where Flows were denied permission to read and write files and create folders in the ftp-data directory.
- Fixed issue where app names on Marketplace Application card were cut off at the bottom.
- Fixed issue where deleting a container image from the Marketplace Images list failed with The Image you are trying to remove does not exist if the image list had been refreshed in another browser tab since the current tab was loaded. Refreshing the page before deleting is no longer required.
- Fixed issue where the portion of a Docker container name after the hyphen dropped certain characters from that name. Container names now consistently include the full user-provided name. Note that any automation scripts based on previous incorrect naming will need to be updated.
- Fixed issue where deleting images with Select All > Delete removed only one or no images.
- Fixed issue with incorrect error message when a non-privileged user attempted to launch a privileged application. A failed to create an application,undefined error message displayed instead of Failed to create an application. rejected by administrative policy: privileged and some directories require additional permission.
- Fixed issue where a Docker Compose release with an external network name override did not attach to the resolved network. Variable placeholders in external network names are now resolved at launch and in the delete protection list.
Integration:
- Fixed an issue where DeviceHub could be missing from the Manage Data Import list after Litmus Edge license activation. The list now updates correctly without requiring a page reload.
- Fixed InfluxDB version 1 and 2 integration connector remote topic formatting. The remote topic incorrectly included the tag name when left empty and now correctly defaults to deviceName.deviceID as expected.
- Fixed issue where InfluxDB v2 cloud connector failed to automatically reconnect. The connector now correctly recovers and resumes data streaming after the InfluxDB service is restarted, eliminating the need to manually disable and re-enable the connector.
- Fixed issue where MQTT v5 connector rejected ISO timestamps with lowercase field names. The connector now accepts ISO-8601 timestamp strings regardless of key casing (for example, "timestamp" or "Timestamp"). This is consistent with MQTT v3.1.1 connector behavior.
- Fixed issue with MQTT v5 connector status flapping in the UI. The MQTT v5 connector repeatedly showed Connected and Disconnected states in the UI despite the broker connection being stable and data flowing without interruption.
- Fixed issue where an external InfluxDB connection passed its connection test but did not receive data. Logs reported not found: bucket "tsdata" not found even when the database had been created manually.
- Fixed issue where the Databricks Zerobus Ingest connector reported a Connected status despite incorrect configuration settings.
- Fixed issue where the AWS IoT SiteWise connector forwarded messages with a null value. Those messages are now dropped.
- Fixed issue where trailing spaces were accepted in a connector name uploaded through a template, which produced duplicate connector names.
- Fixed issue where connector templates omitted the Enable Logging field.
- Fixed issue where identical templates were marked as updated instead of skipped on upload.
- Fixed issue where the Username and Password fields on the MongoDB v4 and later Gen 2 connectors were not marked as required in the UI.
- Fixed issue where the Drop Count chart in the connector dashboard changed color on page refresh.
- Fixed issue where long connector logos overlapped the enable button in cards on the Integration page.
OPC UA:
- Fixed issue where nested event properties in OPC UA Client Advanced returned null values. Values from OPC UA server are now properly published in Litmus Edge.
- Fixed issue where the Litmus Edge OPC UA Server intermittently refused new connections while still reporting an OK status. The receive queue on port 4840 was not drained and stale connections accumulated in CLOSE_WAIT, so DiscoveryClient.GetEndpoints returned BadRequestTimeout. Restarting the server cleared the condition.
- Fixed issue where applying a template cleared a newly added hierarchy instead of preserving the existing hierarchy.
- Fixed issue where the tree hierarchy did not update until you navigated away and back again. This occurred when adding a tag to an empty OPC UA tree for the first time.
System:
- Fixed issue where the Dump data tag button was disabled for users with only the ViewDevices permission.
- Fixed issue where the Upgrade button for the 2-Hour Trial did not return to the License tab.
- Fixed UI issue where the action menu for downloading upd files did not display correctly.
- Fixed layout issue where the event information was partially obscured in System > Events.
- Fixed issue where the permissions tooltip only displayed when hovering over the margins of a restricted button.
- Fixed issue where the Example: xx.xx.xx.xx hint text below the DNS Resolver field on the Fallback DNS Resolvers card (System > Network > DNS) was missing. The hint is now displayed correctly.
- Fixed issue in System > Device Management > Template where downloading a template before its configuration had fully loaded produced an incomplete file. The download option is now disabled until the template has fully loaded.
- Fixed issue where cloud backup from Litmus Edge to Litmus Edge Manager failed with a 401 error.
- Proxy URLs are now preserved after software updates.
- Fixed issue where HTTPS_PROXY environment variable was not respected by Device Manager and Licensing components.
- Fixed issue where OIDC providers did not display in the Auth section in System > Device Management > Template.
- Fixed template file mismatch caused by Unicode character incorrectly added to download file.
- Fixed issue where several options (for example dns and ntp) were missing under dm (Device Manager) in System > Device Management > Templates.
- Fixed an issue where Litmus Edge was not fully accessible via jump servers, SSH tunnels, or port forwarding on non-standard ports.
- Fixed issue where localhost did not resolve to 127.0.0.1 in the default Litmus Edge and Litmus Edge Docker configurations.
- Fixed issue where LDAP searches may have returned an excessive number of records that resulted in a Size Limit Exceeded error.
- Fixed issue where certain services (such as DeviceHub API, Analytics API, and Message Broker) failed to initialize and remained in a failed state regardless of subsequent reboots. This occurred after a system reset of an .iso deployment.
- Fixed issue where UI could become unresponsive in System > Events when the system generated a high volume of events from a single database file. Additionally, CSV files may not have generated and downloaded.
- Fixed issue where LE lost a static route if the connection was manually disconnected.
- Fixed Edge Cascading and NATS server restart failure in Litmus Edge Docker 4.0.12 and 4.0.13.
- High Availability:
- Backup nodes now display idle status information instead of appearing offline.
- Network interface changes are now correctly reflected on backup nodes.
- Fixed issue where the backup node was not accessible after deleting a High Availability configuration.
- Fixed issue where the primary node incorrectly showed sync status as Stopped.
- Fixed issue where HA configuration persisted on the primary node after the backup node was promoted to primary status. Now the original primary node no longer displays HA configuration after being disconnected and connected again.
- Fixed issue where API keys and activation configuration from Litmus Edge Manager were overwritten during HA synchronization.
- Fixed issue where Proxy URLs configured on the primary node were not copied to the High Availability backup node.
- Marketplace Applications and Flows now properly fail over and are migrated to the backup instance when the primary fails.
- Fixed issue where the original primary node incorrectly continued to display its role as primary after being brought back online following a failover event.
Docker:
- Fixed issue where the access token was not properly refreshed in Docker and ARM Docker builds, causing unexpected logouts when switching between multiple running instances.
- Fixed issue where Docker Litmus Edge could not be restarted in some cases, for example after a proxy configuration change.