Skip to main content
Version: 3.9

3.9.0

Release Overview​

RCOM Gateway 3.9.0 delivers a redesigned Gateway experience with updated navigation, layouts, terminology, and consistent interactions across modules. It introduces Global Search, a Gateway-wide filter redesign with saved views and filter persistence, and clearer management pages for Custom UIs, Custom Maps, users, permissions, Object Schemas, Object Types, and Access Groups.

Data Import/Export is now a dependency-aware, reviewable migration module with reusable Export Jobs, staged package processing, audit history, required descriptions, migration safety controls, workflow activation policies, and support for imports from Gateway versions before 3.9. The legacy Packages feature is deprecated.

Workflow and Agent configuration have been expanded with redesigned Workflow and Process Template canvases, improved Workflow Job diagnostics and Group filtering, new workflow actions, custom-type support, object locking, and clearer Event Rule management. The release also adds the Mobile Communication Service, MQTT v5, license management, System Logs, health endpoints, and improved platform scalability through optional PostgreSQL, queue-based autoscaling, DAL optimizations, and backend pagination.

Key Highlights​

Redesigned Gateway Experience​

The Gateway interface has been revamped across modules with updated navigation, layouts, styling, and consistent interaction patterns. Agent management and the Workflow Editor also provide redesigned experiences tailored to their configuration workflows.

Data Migration and Integration​

Data Import/Export now supports dependency-aware migration and reusable Export Jobs. Package migration adds staged review, audit logging, descriptions, filtering, and bulk management, while the legacy Packages feature is deprecated. CSV Object Data uploads provide another migration option. The new Mobile Communication Service and MQTT v5 support expand device and messaging integration.

Workflow and Event Processing​

Event Processor validation previews affected workflows and mappings, configurable retries improve failed-event handling, and new custom-type conversion and object-locking actions extend workflow automation. Bulk workflow actions and enhanced Workflow Job diagnostics simplify administration and troubleshooting.

Platform Operations, Performance, and Security​

Licensing controls, System Logs, service health endpoints, optional PostgreSQL deployments, processor autoscaling, connection pooling, and backend pagination improve platform operation and scalability. Security fixes strengthen authentication, permissions, client isolation, file access, and Audit Log coverage.

New Features​

  • [Agent - Configuration Validation]: Added severity-aware validation diagnostics and cross-component advisories, including checks for device-input time budgets.
  • [Agent - Device Inputs]: Routed device-input requests through a queue with per-request cancellation and declared execution budgets.
  • [Agent Components - Parameter Ports]: Added configurable, automatically derived Get, Set, and Changed ports for component parameters, with device parameters refreshed after supported updates.
  • [Agent Processes - Chained Data Context]: Added opt-in causal chaining so declared values can travel across connected components and be used by downstream outputs.
  • [API Routes - Endpoints]: Added an Endpoints column to display the number of endpoints configured for each API route.
  • [Authentication - App Secret]: Added App-Secret bearer authorization for mobile and update endpoints.
  • [Custom UI - Activation]: Added a confirmation prompt after creating a Custom UI so users can choose whether to activate it immediately.
  • [Data Import/Export]: Added a new import and export module with dependency-aware migration, reusable Export Jobs, package review and approval, audit history, required descriptions, filtering, and bulk management.
  • [Data Import/Export - Migration Safety]: Masked secrets in export packages and required them to be supplied again on import. Imported Schedulers are disabled on arrival.
  • [Data Import/Export - Storage Provider]: Added a Client Setting that lets users choose the Storage Provider used for Data Import/Export.
  • [Data Import/Export - Workflow Activation]: Added import policies to leave Workflows inactive, activate them after a successful import, or preserve their target state. Imports are limited to ten Workflow activation attempts.
  • [Design System]: Added a reusable design system and UI consistency framework for Gateway components and interactions.
  • [Event Processor - Checker]: Added a checker to validate event sources and preview the workflows and variable mappings that may be triggered.
  • [Event Rules - Bulk Edit]: Added bulk workflow-version updates for selected Event Rules that use the same workflow.
  • [Event Rules - Retry]: Added a configurable Auto Retry option to control whether failed events are retried by the scheduler.
  • [Filters]: Redesigned filters across Gateway and added custom filters that can be saved, reused, updated, renamed, duplicated, and set as defaults, with private User-level and shared Client-level views.
  • [Filters - Module Coverage]: Added filters to Custom UI, Custom Maps, Data Import/Export, Access Groups, Object Schemas, Manage Storage, Endpoints, MQTT, Translations, Basic Authentication, and Access Tokens.
  • [Filters - Persistence]: Added filter persistence so applied filters are retained when switching between Gateway pages.
  • [Global Search]: Added top-bar search for Modules, Object Schemas, and Custom UIs.
  • [Groups - Hierarchy]: Added support for reassigning existing Groups to a different parent Group while retaining their assignments.
  • [Health Monitoring - HTTP]: Added unauthenticated liveness and readiness endpoints for ACS, API, DAL, and Endpoint API services.
  • [Licensing]: Added license management, Master Client controls, license states, and access restrictions for unlicensed and enforced Gateway installations.
  • [Logs - System Logs]: Added System Log identification and a visibility switch for showing or hiding System Log entries.
  • [Maintenance Mode - Reject Sync Requests]: Added a REJECT_SYNC_REQUESTS_ENABLED option so maintenance mode can reject synchronous requests.
  • [Mobile Communication Service - New Component]: Added MCS as a new Gateway component for sending commands to mobile devices over MQTT, with its own API, container image, and Helm deployment, and aligned its startup and internal MQTT communication with standard Gateway service patterns.
  • [MQTT - Client Topics]: Added topic counts to MQTT client lists and an endpoint for viewing the topics configured for a client.
  • [MQTT - Protocol]: Added MQTT v5 support, including shared subscriptions and scaling support for the MQTT Service.
  • [MQTT and REST API - Keyword Search]: Added keyword search for MQTT topics and final endpoint-based filtering in the REST API/MQTT configuration list, including detail views and highlighted matches.
  • [Object Schema - Field Order]: Added configurable property ordering and default values for Object Schema create and edit forms.
  • [Preferences - Hierarchy]: Added System, Client, and User preference levels with inheritance for regional, appearance, and accessibility settings.
  • [Process Template Editor - Canvas]: Redesigned the Process Template canvas with multi-select, drag-and-drop actions, canvas locking, a minimap, keyboard shortcuts, fit-to-screen, automatic component arrangement, and quick overviews of Component configurations.
  • [Storage Providers - Gateway Database]: Added Gateway Database as a default storage provider option.
  • [Sync Endpoints - Priority Queues]: Added high-priority queues for synchronous HTTP requests to reduce response latency.
  • [User Interface - Revamp]: Introduced a redesigned Gateway user interface with updated navigation, layouts, styling, and consistent interaction patterns across modules.
  • [Workflow Editor - Canvas]: Redesigned the Workflow canvas with multi-select, drag-and-drop actions, canvas locking, a minimap, keyboard shortcuts, fit-to-screen, and automatic action arrangement.
  • [Workflow Actions - New]: Added action GetCustomTypeName to resolve a Custom Type value to its technical name.
  • [Workflow Actions - New]: Added action GetCustomTypeValue to resolve a Custom Type technical name to its internal value.
  • [Workflow Actions - New]: Added the GetGroupId action to resolve a User Group name to its UUID.
  • [Workflow Actions - New]: Added action IsObjectLocked to check whether an object has an active lock without changing its lock state.
  • [Workflow Actions - New]: Added action LockObject to lock one or more objects for the current workflow job.
  • [Workflow Actions - New]: Added action UnlockObject to release one or more object locks owned by the current workflow job.
  • [Workflow Actions - New]: Added action WaitLock to wait until locked objects can be acquired by the current workflow job.
  • [Workflow Jobs - Error Details]: Added an Error Identifier column and detailed log diagnostics for failed Workflow Jobs and individual Workflow activation, including all affected actions.
  • [Workflows - Bulk Actions]: Added multi-select actions to activate, recompile, and delete supported workflow versions.
  • [Workflows - New UI Structure]: Added an independent workflow structure for the new user interface, including conversion from legacy workflows.

Improvements​

  • [Agents - Component Downloads]: Added download support for Agent Components.
  • [Agents - Overview]: Removed the Template Preview tab from the Agent Overview page.
  • [Agents - Process Logs]: Moved Process Logs to the main Agent Overview page for quicker access.
  • [Agents - Process Templates]: Added a navigation link from Agent Process Template management to the associated Process Template.
  • [API - Controllers]: Updated controller request handling to use asynchronous APIs for improved scalability and responsiveness.
  • [Audit Logs - Coverage]: Expanded Audit Log coverage and change details across supported Gateway modules.
  • [Custom UI - Configuration]: Updated Custom UI versioning so changes to the name, Groups, roles, Bootstrap setting, or public-access setting do not create a new version.
  • [Custom UI - Management]: Removed Access Groups from the sidebar and listed all Custom UIs on the Manage page with a dedicated Group column.
  • [Data Access Layer - Initialization]: Optimized DAL startup and ensured only one concurrently started instance performs initial data seeding.
  • [Data Cleanup - Performance]: Improved Data Cleanup performance when deleting large volumes of log data.
  • [Data Import/Export - Legacy Compatibility]: Retained the existing basic import/export flow for importing data exported by Gateway versions before 3.9.
  • [Data Import/Export - Performance]: Improved export-package preparation performance.
  • [Data Lists - Pagination]: Updated Gateway modules to use backend pagination instead of loading complete datasets into the browser.
  • [Deployment - Container Security]: Hardened all backend service container images by moving to Ubuntu Chiseled images.
  • [Dialogs - Confirmations]: Introduced consistent compact confirmation, warning, and permanent-delete dialog patterns.
  • [Endpoint API - RabbitMQ Recovery]: Improved recovery from RabbitMQ connection failures so competing reconnect attempts no longer leave Endpoint API unresponsive.
  • [Event Processor - Access]: Added a clear message when an Event Processor belongs to a Group that is not assigned to the user.
  • [Gateway - Labels]: Standardized create, edit, save, and update button labels across Gateway pages.
  • [Gateway - Terminology]: Updated interface terminology: Event Trigger → Scheduler; Object Group → Object Schema; Object Group Type → Object Type; Upload Components → Components; Stock View → Object Explorer; Endpoint → REST API; Custom UI Manage → Manage UIs; Custom UI List → My UIs; Custom Map Manage → Manage Maps; Custom Map List → My Maps; Manage Users → Users; Manage Permissions → Permissions; Groups → Access Groups; and External User → Basic Auth.
  • [Navigation - Menus]: Reorganized menu configuration, hierarchy, and ordering for the new user interface; refreshed dynamic menus after changes and imports; and restored direct Gateway page links, including opening pages in new tabs.
  • [Object Change Trigger - Delete Events]: Added object details to delete-object events, extended the object change data passed to SetObjectAttributes and SetObjectInstant, and fixed delete events to trigger reliably from Stock View.
  • [Object Types - Create Page]: Improved Object Type creation with role search and removed the unnecessary Status option.
  • [Permissions - Module Groups]: Updated the Permissions page to load module groups dynamically so new or changed groups no longer require UI code changes.
  • [Pagination - Page State]: Kept page numbers in memory when navigating between Gateway pages.
  • [Platform - Angular]: Upgraded the platform to Angular 22.
  • [Storage - Attachments]: Unified Gateway database attachment handling with the Storage Provider-based flow used by external storage backends.
  • [Sync - Performance]: Improved distributed synchronization performance and response routing by using instance-specific response subscriptions.
  • [UI - Sidebar]: Applied consistent main menu colors in expanded and collapsed sidebar states.
  • [UI - Text and Help]: Updated interface text, tooltips, help content, and optimization guidance across Gateway pages.
  • [UI - Top Bar]: Simplified the top bar by prioritizing common actions and moving less frequently used appearance settings to preferences.
  • [Users - Soft Delete]: Removed a user's Role assignments when the user is soft deleted.
  • [Workflow Actions - Updated]: Added a customizable EPCIS extension prefix and property name to the CreateEpcisEvent action.
  • [Workflow Actions - Updated]: Added the target Object Schema name alongside Object Reference values returned by CustomLinq queries.
  • [Workflow Actions - Updated]: Improved type-aware filtering, validation messages, and wildcard pattern matching for CustomLinq queries.
  • [Workflow Actions - Updated]: Updated GetObjectGroupSchema to return the Custom Type assigned to each Custom Type attribute.
  • [Workflow Designer]: Improved canvas editing by allowing overlapping action nodes, restoring edge-target changes, preventing invalid connections, and showing action names and versions more clearly.
  • [Workflow Jobs - Group Filtering]: Limited the Workflow Jobs view to the logged-in user's Groups and added multi-select Group filtering.
  • [Workflow Jobs - Retry Limits]: Added configurable retry limits for Events and Workflow Jobs to prevent repeated queue entries while items are pending.
  • [Workflows - Bulk Compilation]: Added live progress updates for bulk Workflow compilation when UI MQTT is configured.
  • [Workflows - Descriptions]: Made descriptions required for Workflow versions and ensured saved descriptions are displayed in the Workflow list.
  • [Workflows - Group Scoping]: Updated Workflow lists to show only entries belonging to the logged-in user's Groups.

Bug Fixes​

  • [Agent Components - Registration]: Fixed a concurrency issue where registering an uploaded component could interrupt an in-progress component-download check.
  • [Agents - Configuration Actions]: Fixed configuration actions being hidden in Agent detail pop-up views.
  • [Audit Logs - Workflow Actions]: Fixed UpdateGlobalVar_V1 audit entries displaying Anonymous instead of the correct username.
  • [Custom UI - Group Filtering]: Fixed the management list showing Custom UI versions from other Groups after a Group was selected.
  • [Custom UI - Navigation Access]: Fixed the Custom UI hierarchy being displayed to users with permission only to use Custom UI.
  • [Data Cleanup - Authorization]: Fixed unauthorized Data Cleanup deletion requests returning 404 instead of 403.
  • [Object Data - Exports]: Fixed Object exports timing out when exporting large data volumes.
  • [Object Import - Unique Keys]: Fixed matching by Unique Key when key values are absent; an Object is created when all Unique Key values are null.
  • [Object Schema - Stored Values]: Prevented the values of remaining attributes from being cleared when an Object Schema attribute was deleted.
  • [Object Schema - Validation]: Fixed duplicate error messages when changing an attribute data type from String to Boolean or Date.
  • [Object Schema - String Limits]: Fixed String (Limit) attributes being saved without a required limit value.
  • [Object Types - Status Filter]: Fixed the All status filter not returning Object Types.
  • [Process Templates - View]: Restored the Edit button on the Process Template view page.
  • [Roles - Deletion]: Fixed deletion of Roles linked to Object Types and improved messages when dependencies still block deletion.
  • [Security - Client Isolation]: Fixed CustomLinqQuery_V1 and dynamic LINQ queries not enforcing client isolation, and scoped binary data cleanup to the owning client.
  • [Security - DOMPurify]: Updated DOMPurify and Swagger UI dependencies to address security vulnerabilities and disabled Swagger by default outside Development environments.
  • [Security - Login Responses]: Fixed login failures returning different status codes and messages per failure mode; all failures now return 401 with a generic message.
  • [Security - Table Settings]: Fixed the Table Settings read API returning data without the required permission.
  • [Stock - Object Counts]: Fixed Active and Deleted Object views displaying the same object count.
  • [Stock - Translations]: Fixed Stock table column names not updating after changing the interface language.
  • [Stock View - Columns]: Fixed column customization being lost when switching between Active Stocks and Deleted Stocks.
  • [Storage Providers - Identifiers]: Fixed Storage Provider IDs not matching the provider's own ID.
  • [Web Requests - Connections]: Fixed WebRequest actions creating new HTTP connections instead of reusing eligible connections.
  • [Workflow Actions - Updated]: Restored GUID as a selectable type for List and Dictionary action inputs.
  • [Workflow Actions - Updated]: Fixed valid LoadCSV actions not being saved.
  • [Workflow Actions - Updated]: Fixed the SetObjectAttributes action failing when its optional Group parameter was not provided.
  • [Workflow Actions - Updated]: Fixed SetObjectInstant writing an object history entry even when no value changed.
  • [Workflow Actions - Updated]: Fixed ValidateJsonSchema validation of $ref references in $defs.
  • [Workflow Actions - Updated]: Fixed workflow actions continuing to run in the background after their parent workflow timed out or was cancelled.
  • [Workflow Inputs - Autocomplete]: Fixed dynamic-input autocomplete so selecting a suggestion preserves the preceding expression and updates the current value correctly.
  • [Workflow Processor - DAL Connections]: Fixed DAL connection-reset errors during workflow processing.

Deprecated​

  • [Agent - Generic Controllers]: Deprecated GenericDeviceController_V1, GenericUhfRfidDeviceController_V1, GenericTcpDeviceController_V1, and GenericLPrinterController_V1. They remain functional for now, but plugin authors should plan to migrate.
  • [Kathrein Reader - Credential Ports]: Removed the GetSSHAuth port and changed SSHAuthChanged to carry no credential value. Existing Process Templates using these ports must be updated.
  • [Packages - Legacy Packages]: Deprecated the legacy Packages feature in favor of the new Data Import/Export module.
  • [Workflow Editor - Connectors]: Deprecated two legacy Workflow Action connector types. Existing workflows are automatically mapped to supported connector types to preserve compatibility.