Skip to main content
Version: 3.9

3.9.1

Release Overview​

R-COM Gateway 3.9.1 builds on 3.9.0 with more flexible Agent log downloads, searchable Audit Log descriptions, configurable String display formats, and customizable Workflow action icons. Improvements to export selection, table sorting indicators, Object Explorer, and Workflow compilation make everyday configuration and troubleshooting easier.

MQTT reliability is a key focus of this release. Reconnection fixes allow broker-dependent workflow actions and API calls to recover after internal MQTT outages, prevent reconnect attempts from accumulating, and restore service online status automatically. Configurable keep-alive intervals also help deployments tolerate longer service pauses.

This release also improves import validation, preserves object data during schema changes, strengthens Object API access checks, and resolves issues in REST API responses, Event Rules, Schedulers, Custom UI editing, and audit logging.

New Features​

  • [Agents - Log Downloads]: Added custom date/time ranges and quick ranges for Agent and Process log downloads. Downloads retain the selected log level and message filters and require a time range when none is selected.
  • [Audit Logs - Description Filter]: Added a case-insensitive Contains filter to search Audit Log descriptions, including multi-word phrases.
  • [Object Schema - String Display Formats]: Added configurable display formats for String attributes, allowing separators and symbols to be shown without changing stored values or the raw values used by workflows.
  • [Workflow Actions - New]: Added action XmlSerializer V1 to convert objects and dictionaries into XML strings, with support for repeated elements, attributes, text content, namespaces, and a configurable root element.
  • [Workflow Editor - Action Icons]: Added per-action icon customization in the Appearance tab so users can replace an action node's default icon.

Improvements​

  • [Agents - Controls]: Made Agent power and monitoring controls visually distinct with clearer identification and tooltips.
  • [Agents - Regional Formatting]: Updated Agent and Process Template number and date inputs to follow user/client locale settings and preserve process-variable values when saved.
  • [Audit Logs - Agent Processes]: Added audit entries when Agent Processes are enabled or disabled.
  • [Audit Logs - Table Settings]: Added audit entries for Table Settings changes while avoiding new entries when settings are saved without modifications.
  • [Data Import/Export - Status Selection]: Standardized export selection for active and inactive items with All, Active, and Inactive status filters for supported export types, including selectable child items.
  • [Data Tables - Sort Indicators]: Added an indicator above sortable tables showing the current sort column and direction.
  • [Filters - Date Ranges]: Renamed the date/time range filter option to Between across the application.
  • [Gateway - Branding]: Standardized the product name as R-COM Gateway across the interface.
  • [Licensing - Request Files]: Included the System ID in license request filenames to make requests easier to identify.
  • [Logs - Truncation]: Kept truncation warnings at the original message's log level and prefixed truncated messages with WARNING:.
  • [MQTT - Client List]: Added a Created Time column and default creation-time sorting to make newly created MQTT Clients easier to find.
  • [MQTT - Keep-Alive]: Added configurable internal MQTT keep-alive intervals through GATEWAY__MQTTCLIENT__KEEPALIVESECONDS, allowing deployments to tolerate longer service pauses. The default remains 10 seconds.
  • [Object Explorer - Delete Confirmations]: Clarified delete confirmations to distinguish recoverable soft deletion from permanent deletion.
  • [Object Explorer - Object IDs]: Added Copy Object ID controls to the object list and the General Information section of object details.
  • [Object Explorer - Performance]: Improved Object Explorer loading and interaction performance.
  • [Object Schema - String Limits]: Set the default String attribute limit to 50 when creating an Object Schema, with the option to change it before saving.
  • [Search - Input Focus]: Automatically focused search fields when opening searchable dropdowns and supported Add Filter selectors.
  • [Workflow and Process Template Details - Headers]: Aligned detail-page header styling and the order of Active and Inactive version counts.
  • [Workflow Editor - Action Filters]: Added multi-select icon-group filtering so the action list can show actions from several selected groups.
  • [Workflows - Compilation]: Reduced Workflow compilation time.

Bug Fixes​

  • [Audit Logs - Agent Components]: Fixed missing audit entries for single and bulk Agent Component uploads and deletions.
  • [Audit Logs - Agent Process Usernames]: Fixed Agent Process updates being attributed to the process creator instead of the user who made the change.
  • [Audit Logs - Auth Systems]: Fixed missing After values when Roles and Access Groups were added to an Auth System.
  • [Audit Logs - Filter Presets]: Fixed saved-filter audit descriptions to display the current module label, such as Event Rules, instead of an internal module name.
  • [Audit Logs - Temporary Files]: Fixed temporary-file deletions being recorded as Anonymous instead of the user who performed the deletion.
  • [Custom Attributes - Deleted Values]: Fixed deleting Custom Attribute values leaving inconsistent key references in stored object data.
  • [Custom UI - Save Feedback]: Corrected Custom UI activation-prompt wording and save feedback so a duplicate-name failure does not misleadingly indicate successful creation.
  • [Custom UI - Undo]: Fixed undo and redo operations replacing editor content with code from another tab; HTML, CSS, and JavaScript editors now retain separate histories.
  • [Data Cleanup - Time Format]: Corrected Cleanup Time display to use the expected 24-hour format in English and German.
  • [Data Import/Export - Global Variables]: Fixed imported Global Variables requiring a manual update before they became available to imported workflows.
  • [Data Import/Export - Workflow Activation]: Fixed activation options appearing when all imported workflows were blocked or removed.
  • [Event Rules - Access Groups]: Fixed Event Rule creation offering an Access Group from a different client.
  • [Event Rules - Date Mappings]: Fixed Date and DateTimeOffset variable-mapping values not being retained after saving an Event Rule.
  • [Event Rules - Variable Search]: Fixed Variable Mapping search failing to find parameters and variables for the selected workflow.
  • [Events - Processed By]: Fixed the Processed By field remaining empty for processed events.
  • [Maintenance Mode - Keyboard Controls]: Fixed keyboard navigation allowing Reject Sync HTTP Requests and Restrict Event Rules to be enabled while Maintenance Mode was disabled.
  • [MQTT - Reconnection]: Fixed broker-dependent workflow actions and API calls remaining stuck after an internal MQTT outage. Connections now retry when the broker becomes available, and reconnect attempts no longer accumulate or block one another.
  • [MQTT - Service Status]: Fixed services remaining marked offline after a connection drop by restoring their status connection automatically.
  • [MQTT - Subscription Validation]: Fixed MQTT subscriptions accepting spaces, with validation in both the interface and backend.
  • [Object Explorer - Access Group Translation]: Fixed the German Access Group label appearing as user_group in the object list.
  • [Object Explorer - Side Menu]: Fixed unrelated clicks on Object Explorer opening the side menu.
  • [Object Explorer - Validation]: Fixed object forms allowing data to be saved despite validation errors.
  • [Object Import - Access Groups]: Fixed imports assigning objects to missing, inactive, or inaccessible Access Groups. Affected rows are skipped with a warning, and imports no longer create Access Groups automatically.
  • [Object Import - Empty Strings]: Fixed Object Upload rejecting empty String values when allowed by the attribute configuration.
  • [Object Import - Unique Keys]: Fixed misleading validation messages when uploaded objects contain duplicate Unique Key values.
  • [Object Schema - Attribute Renaming]: Fixed renaming an Object Schema attribute clearing its stored column values.
  • [Object Schema - Unchanged Values]: Prevented unnecessary Object Schema updates when no attributes or other properties have changed.
  • [REST API - Duplicate Routes]: Fixed base route paths differing only in capitalization causing HTTP 500 errors; conflicting paths are now rejected.
  • [REST API - Save Validation]: Fixed misleading successful-save messages and inconsistent endpoint state when saves fail. Enforced the 250-character name/path limits and prevented deleting endpoints still assigned to Basic Auth users.
  • [REST API - Validation]: Fixed invalid route names, endpoint names, and base paths reaching compilation, and provided clearer validation messages for unsupported characters and spaces.
  • [Scheduler - Duplicate Names]: Fixed Scheduler names differing only in capitalization being accepted as separate names.
  • [Scheduler - Trigger Time]: Fixed the selected current time not appearing immediately and prevented past trigger times for one-time schedules on the current date.
  • [Security - Object Access]: Strengthened Object API authorization to enforce client ownership, Object Type permissions, and matching Object Schema references for objects and attachments, and reject SuperAdmin access to Object APIs.
  • [SuperAdmin - Branding]: Restored the missing Branding module in SuperAdmin.
  • [SuperAdmin - Navigation]: Corrected breadcrumbs in Clients, Settings, and Branding.
  • [SuperAdmin - Sessions]: Fixed expired SuperAdmin sessions producing a technical error and corrected session refresh handling.
  • [Sync Endpoints - HTTP Responses]: Fixed synchronous endpoints failing on HTTP 204 responses and correctly handled bodyless 205 and 304 responses. Improved validation and logging for invalid response statuses, headers, content types, and route patterns.
  • [Table Settings - Reset]: Fixed resetting one object's Table Settings changing another object's saved configuration.
  • [Table Settings - Translated Headers]: Fixed saved German page-header changes not being displayed correctly.
  • [Translations - Version Upgrades]: Fixed translations missing after upgrading the Gateway version.
  • [UI - Component Names]: Corrected unintended bold formatting in the Components list.
  • [UI - Dark Mode]: Fixed Workflow and Process Template minimaps retaining light-theme styling in dark mode.
  • [UI - Notifications]: Fixed duplicate, overlapping toast notifications for a single action.
  • [Users - Password Validation]: Fixed an empty Confirm Password field showing a mismatch error instead of a required-field message.
  • [Users - Required Assignments]: Fixed the Users API accepting new users without the required Role and Access Group assignments.
  • [Workflow Actions - Updated]: Fixed MQTTChallengeResponse and MQTTPublisher reporting success when the MQTT Broker was inactive.
  • [Workflow Actions - Updated]: Fixed missing MQTTPublisher runtime logs, including execution duration and publishing details.
  • [Workflow and Process Template Navigation - Titles]: Fixed opening a Workflow or Process Template replacing the main module header with the item's name.
  • [Workflow Editor - Action Descriptions]: Restored configured Display Description tooltips on Workflow action nodes.

Deprecated​

No new deprecations in this release.