Change logs

These change logs document all relevant changes for the Cumulocity cloud deployments.

The following types of change are included:

  • Feature - New features which are generally available.
  • Preview - Features which are in Public Preview and not yet generally available.
  • Improvement - Small improvements.
  • Announcement - Deprecations, removals or important UI changes.
  • API change - Breaking changes in the APIs.
Info
Subscribing to change log information is possible in the corresponding change log representation in the Cumulocity Tech Community.

Displaying all changes since December 6, 2023

May 8, 2026

Automatic clearing of conflicting tenant option categories during microservice upload

Previously, when uploading a microservice that defined tenant options with a category that already existed in your tenant, the platform rejected the upload. It required you to manually remove the conflicting tenant options before proceeding. You are now informed about the conflict, and after you retry the upload, the platform automatically clears the existing tenant option category and replaces it with the category defined in the microservice manifest. A warning message appears before the upload completes, allowing you to review the change. This streamlines the microservice deployment process and eliminates the need for manual cleanup of conflicting tenant options in your tenant.

AI Agent Manager now uses Streamable HTTP transport for internal MCP server instead of HTTP with SSE

Feature preview
This feature is in Public Preview, that is, it is not enabled by default and may be subject to change in the future.

The AI Agent Manager has previously offered an MCP server that used the “HTTP with SSE” transport. The “HTTP with SSE” transport has been superseded by the “Streamable HTTP” transport in the MCP specification.

Therefore, we no longer offer the “HTTP with SSE” transport and only provide the MCP server via “Streamable HTTP”.

External clients that made direct use of the MCP server may need to adjust for the changed transport and endpoint.

May 7, 2026

Combined block parameter for function code in the Smart Function block

The Smart Function block now uses a single, dynamically sized block parameter instead of a fixed set of parameters for providing values to the smart function code.

Feature preview
The Smart Function block is in Public Preview, that is, it is not enabled by default and may be subject to change in the future.

Specifically, the block parameters params[0], params[1], params[2], params[3], and params[4] have been replaced by the Parameters for the Smart Function code parameter, which is of the list type. You can add any number of values to it.

The way to access the parameter values inside the smart function code remains the same:

let firstParam = context.params[0];
let secondParam = context.params[1];

Each value in the list can be either a fixed value or refer to a model parameter.

In existing models that use the Smart Function block, you must remove and re-add the block.

May 4, 2026

Improvements in authorization and permission of OPCUA management service endpoints

To improve security and access control for the OPC UA management service, permission requirements have been clarified and enforced for all management API endpoints. Users now need specific OPC UA permissions to interact with the service. To view OPC UA resources — such as device types, OPC UA server configurations, address space nodes, and search results — users require the OPC UA READ permission. To create, update, or delete device types, server configurations, or device type mapping entries, users require the OPC UA ADMIN permission. Administrators can assign the necessary OPC UA permissions to users under Administration > Accounts > Users, Roles.

Export operations disabled for users without appropriate permissions

Previously, users without Inventory WRITE permission could access all export operations on the Exports page and only received an error after attempting to save. This issue has been fixed.

  • For read-only users, the Add export button is now disabled, with a tooltip explaining the insufficient permissions.
  • Duplicate and Delete row commands are hidden.
  • The Edit command is replaced with a View command so that read-only users can still inspect export details but cannot modify them.
  • In the export details view, the Save buttons are disabled for users without the required permissions.

This change ensures that only users with the appropriate permissions can access export operations, providing a clearer and more secure user experience.

May 1, 2026

Device parameter real-time data synchronization

The device parameter list now automatically synchronizes to ensure displayed data remains current during active configuration. The interface triggers a refresh during common actions - such as receiving an event, updating an operation status, or navigating through rows - and provides immediate interactive notifications to confirm when changes are complete. This update ensures a consistent and up-to-date view of device parameters without requiring manual refreshes.

Improved page navigation of device parameter details

In the device parameter details, the automatic loading of historical operations and events has been replaced by a Load More button. Previously, the seamless fetching of older entries often prevented the user from scrolling to subsequent parameters in the list, as the page length kept increasing. With this change, older data is only retrieved upon an explicit click, ensuring that page navigation remains consistent and that subsequent parameters can be reached without interruption.

April 30, 2026

Automated audit logging for device re-enrollment

The platform now automatically generates audit logs for device certificate renewals and replacements. When a device uses the Re-enroll API to refresh or replace its certificate via existing credentials, a dedicated entry is now recorded in the system logs.

Log Specifications:

  • Activity: Tenant certificate authority(CA) re-signed certificate for device: %s.
  • Audit Text: Certificate serial number hex: '%s'
  • Event Type: TenantCertificateAuthority

Java SDK improved error propagation for authenticated requests

Previously, unexpected exceptions during token-authenticated service calls were incorrectly mapped to “401 Unauthorized”. This issue has been fixed. The Java SDK now correctly propagates the original error status and metadata, ensuring accurate debugging and preventing misleading authentication alerts.

New REST endpoints for inventory bulk create and update operations

Cumulocity now provides new REST API endpoints for creating and updating inventory managed objects in bulk. These endpoints allow you to perform batch operations on multiple managed objects in a single request, improving efficiency and reducing the number of API calls needed for large-scale inventory management.

For details, refer to the bulk create and bulk update operations in the Cumulocity OpenAPI Specification.

Actility service improvements in endpoint authorization and permissions

To improve security and access control for Actility device connectivity, the permission requirements for managing Actility connections have been clarified and enforced. Users now need specific Actility permissions to work with connections under Administration > Connectivity. To view Actility connections, users require READ permission for the “Actility” permission type, while creating, updating, or deleting connections requires ADMIN permission for the “Actility” permission type. Administrators can assign the necessary permissions to users in Administration > Accounts > User, Roles.

Cockpit application utilizes the asset navigator and subassets implementations from the DTM plugin

Previously, the Cockpit application utilized the asset navigator and subassets implementations provided by the Web SDK. With this change, the Cockpit application utilizes the corresponding implementations provided by the DTM (Digital Twin Manager) plugin instead.

Functionality-wise, the behavior stays mostly unchanged with only smaller enhancements. Further enhancements are expected to follow in upcoming releases of the DTM plugin.

April 27, 2026

Decimal places can now be configured for computed properties

You can now configure the number of decimal places displayed for computed properties in the asset selector when selecting data points, allowing you to control the display precision to match your specific requirements. This enhancement is available in widgets that use this component, such as the HTML widget and the preview version of the Asset table widget.

Expose loadMore options via operations-timeline and events-timeline components

The operations-timeline and events-timeline components previously did not expose options to customize the load more behavior when retrieving additional timeline entries. You can now configure loadMore options directly through these components, giving you more control over how additional operations and events are loaded and displayed in your applications. This change allows you to customize pagination and loading behavior to better match your application’s requirements and user experience needs.

Output JSON schemas of Web SDK-based applications as separate JSON artifacts

The functionality in the Web SDK to generate a JSON schema based on a TypeScript type has been enhanced to store all generated schemas in a single c8y-schemas.json per application. The file can, for example, be retrieved from /apps/cockpit/c8y-schemas.json for the Cockpit application. The different schemas are grouped by type if a type has been provided.

This allows, for example, an AI to utilize these schemas and make configuration changes to the objects that use these schemas.

April 24, 2026

Asset property mappings and time context integration in HTML widget

The “HTML” widget has been enhanced with the following features:

  • Asset properties configuration: Instead of a read-only list of properties from the currently selected asset, you can now browse and assign properties (asset, custom, and computed ones) to named keys - sourced not only from the main selected asset but also from its descendants. These keys can then be inserted into the HTML code editor as expressions.
  • Time context integration: The widget can now be controlled by the dashboard’s global time context settings or by widget’s local settings; both the c8yContext object and the new c8yProperties object update automatically when the auto-refresh mode is enabled.

For details, refer to the HTML widget documentation.

Enhanced Event list view and widget

The event list view and the “Event list” widget have been migrated to Angular and enhanced to improve usability and performance, providing a modern, consistent foundation with the current UI framework. Updates include:

  • Events page in Cockpit: An Events page is now available in the Cockpit application, not only in the Device Management application.
  • Events tab in Cockpit groups: The Events tab with the events list is now available for Cockpit groups.
  • Auto-refresh: Integrated with the global time context to enable real-time updates that reflect the dashboard’s selected time range.
  • Child device events: Optionally display events from child devices, mirroring functionality from the “Alarms” widget — enabled by default in groups.
  • Image preview: Binary image attachments can be previewed inline with consistent dimensions, without opening the full event view.
  • Custom metadata preview: Custom event properties are displayed consistently with the Alarms page.
  • Shareable events: Each event has a direct URL that can be copied from the browser address bar and shared. Opening the link takes the recipient straight to that event’s details; the same pattern as used for alarms.

Full export disabled for users with inventory rights only

The Full export option is now disabled for users who only have inventory rights. Previously, data could be exported without even an error message being displayed in the UI. This issue is now fixed.

April 21, 2026

New valueAsText placeholder for OPC UA custom actions

A new ${valueAsText} placeholder is now available in the body template for OPC UA custom actions. Unlike the existing ${value} placeholder which inserts the JSON-serialized value, ${valueAsText} provides a plain text representation of the node value. This is useful for embedding values directly in strings without JSON formatting. The placeholder is available for both HTTP POST custom actions and MQTT forwarding custom actions.

Improved deletion of assets in hierarchies

Previously, the deletion of an asset caused cascaded deletion of all subassets and assigned devices, even if they were still used in a different asset or hierarchy. This could cause unwanted side effects to other parts of the asset hierarchy. This behavior has been improved and now only subassets that are exclusively used in the hierarchy of the asset are removed. Other subassets will remain unchanged, and the whole hierarchy will stay intact.

Furthermore, a new query parameter deleteDevices has been added to control the deletion of assigned devices. If set to true, all exclusively assigned devices will be removed. Devices that are still assigned to other assets, will not be removed. If set to false, no devices will be removed.

LinkedSeries source.id now rejects blank values

The LinkedSeries source.id field is optional, but previously accepted blank values such as empty strings ("") or whitespace-only strings (" "). This could lead to inconsistent data and unexpected behavior when processing linked series data.

The Asset API now validates the source.id field and rejects blank values while still allowing the field to be omitted entirely. If you send a LinkedSeries request with a blank source.id value, the request returns a validation error instead of accepting the invalid data.

Existing LinkedSeries with a blank source.id are not updated automatically.

April 20, 2026

Stricter validation of user email addresses

We are introducing stricter validation for user email addresses. The part of the domain name following the ‘@’ symbol may now only contain alphanumeric characters, hyphens, and dots.

This change ensures that system notifications - such as password resets or smart rule alerts - are delivered reliably.

Existing users will not be impacted by this change, however when setting up new users the updated checks will be applied.

April 14, 2026

Improved API documentation for the tenant option assets.permission.mode

The API documentation for the tenant option assets.permission.mode has been improved to allow a better understanding of the available settings and its impact on the API’s permission checks.

April 13, 2026

Digital Twin Manager Asset and Definition API support in asset properties selector

Digital Twin Manager enables schema-based modeling in Cumulocity by allowing you to create asset definitions that define the structure and constraints for asset instances. The Asset API lets you manage asset instances based on these predefined asset definitions. When you use the asset properties selector, the system now requests the relevant definition for any asset created with Digital Twin Manager and displays the properties from that definition. This ensures that asset instances created from an asset model inherit and display the correct structure and constraints defined in the model. For more information about the Digital Twin Manager API, refer to the Cumulocity OpenAPI Specification.

KPI widget now supports global context and history mode

Previously, the KPI widget configuration lacked a global time context section, preventing users from setting a time range, auto-refresh interval, or history mode from the widget configuration panel. With this change, the KPI widget has been migrated to the shared time context, and the time context section has been added to its configuration. Users can now select a time range and auto-refresh interval, and enable history mode to display KPI values over a selected historical date range.

New Dremio version 26

Cumulocity DataHub now leverages version 26.1 of Dremio as its internal query engine.

April 9, 2026

Asset API now handles device groups as assets and offers the includeGroups query parameter

The Asset API has been changed to treat groups as assets. Previously, an asset was identified solely by the presence of the c8y_IsAsset fragment. Now, the presence of c8y_IsDeviceGroup is also sufficient to classify an entity as an asset.

A new query parameter includeGroups (default: false) has been introduced for the /assets and /assets/count endpoints:

  • When set to true, the results include entities with either c8y_IsAsset or c8y_IsDeviceGroup.
  • When set to false, the results are limited to entities with c8y_IsAsset only.

Asset Instance API and Definition API generally available

The Asset Instance API and Definition API are now generally available. Previously, these APIs required feature flags to be active before use. Feature flags are no longer required, and all users can access both APIs by default without additional configuration.

c8y_SharedDefinition fragment added when a definition is shared from the Enterprise tenant

When the sharing mode is enabled, all definitions are shared from the Enterprise tenant. When a definition is requested from a subtenant, the fragment c8y_SharedDefinition is added to the response entity to indicate this to the caller.

Improved performance when creating or updating linked data points

When creating or updating linked data points via the API, the endpoint previously made separate Inventory API calls to look up the source device and resolve the corresponding opposite-series entries. This increased latency, particularly in environments with large asset hierarchies containing many linked data points.

The Digital Twin Manager now consolidates the device and opposite series lookups into a single Inventory API call. Fewer backend requests result in faster response times when you create or update linked data points. No action is required on existing installations.

Multitenant sharing mode controls for asset and property definitions

In subtenants in Enterprise tenant setups, the Digital Twin Manager previously lacked controls to reflect the active multitenant sharing configuration. This meant subtenants could attempt to create or modify definitions regardless of the sharing mode configured at the Enterprise tenant level.

The Add asset definition and Add property definition buttons are now disabled when the definitions.multitenant.sharing.mode tenant option is set to enabled. Hovering over either button displays a tooltip explaining why the action is not allowed. When the mode is set to invalid, the buttons are also disabled and a tooltip indicates that the sharing mode setting is invalid. When the mode is disabled, both buttons are enabled and standard permission checks apply. Users will see an info message in the definition view indicating that the definition is shared from the Enterprise tenant/Management tenant.

These changes affect users working in subtenants of an Enterprise tenant setup.

New tenant option for sharing asset and property definitions from the Enterprise tenant

Managing asset definitions across multiple subtenants previously required each tenant to maintain its own independent set of definitions. The new tenant option definitions.multitenant.sharing.mode lets you configure from where asset definitions and MEA definitions are stored and retrieved across your Enterprise tenant hierarchy.

For more details, refer to the DTM documentation.

Transformed DTM homepage into a customizable dashboard

The Digital Twin Manager homepage has been enhanced from a static overview page to a fully customizable dashboard, consistent with the dashboards available in Cockpit and Device Management.

Users can now add and configure widgets to display relevant information, tailor terminology to match their domain, and design the homepage based on their operational requirements. This provides greater flexibility and enables teams to focus on the data that matters most to them.

April 7, 2026

MQTT Service is now generally available

Cumulocity is pleased to announce that the Cumulocity MQTT Service is now generally available.

The MQTT Service provides a single, unified endpoint for integrating MQTT devices with the Cumulocity platform that is simple, secure, and scalable.

Simple

  • Connect any MQTT device with any payload and topic structure, using MQTT version 3.1.1 or 5.0.
  • Devices using the Cumulocity core MQTT protocols, SmartREST and JSON-over-MQTT, are supported alongside generic devices with their own application-layer protocols.

Secure

  • Full device isolation and bi-directional TLS support by default.
  • Works with the Cumulocity Certificate Authority, or with your existing external CA.

Scalable

  • Optimized for high message throughput with large numbers of connected devices.
  • Validated with 100 million connected devices publishing 1 million unique messages per second.

See the user documentation for more details of the MQTT Service architecture and how to integrate your devices and applications with it.

Availability

The MQTT Service is available to all tenants in Cumulocity environments following the Continuous Delivery (CD) release line, and in the 2026 annual release.

Usage of the service is billable, as described in the license metrics documentation.

Per-tenant usage quotas are enforced to ensure reliable operation of Cumulocity’s shared environments. These quotas can be adjusted to support larger use cases in shared and dedicated environments. See service quotas for details of the applicable quotas.

Migrating from the Public Preview

Some features were deprecated and replaced during the Public Preview of the MQTT Service. These features are not supported after the transition to General Availability. Users migrating from the Public Preview must ensure that all their applications and devices have been updated to use only Generally Available features.

See the previous announcement for details of these features that have been removed:

  • Tenant-level isolation
  • MQTT Service Java client SDK
  • Non-TLS endpoint on shared environments
  • Basic authentication for users without the Mqtt-service ADMIN permission

Limitations

The first generally available release of the MQTT Service has some limitations that will be addressed in future updates:

  • Support for Core MQTT devices using SmartREST or JSON-over-MQTT is still in Public Preview status and subject to breaking changes before it becomes generally available. See Core MQTT device support for details of these specific limitations:
    • Structured client identifiers allowed by the Cumulocity core MQTT endpoint are not supported.
    • Pending operations must be explicitly requested by a device when it connects.
    • Messages may be acknowledged by the MQTT Service before they have been processed by the Cumulocity core.
    • Devices are not automatically disconnected after sending invalid Core MQTT messages.
    • Availability monitoring is not supported for “push connection” traffic to devices.
    • The “delivery” fragment on an operation is not updated after the operation is delivered to the device.
  • WebSocket connections to the MQTT Service are not supported.
  • Retained messages are not supported.
  • Last Will messages are not sent when devices disconnect from the MQTT Service.
  • Messages using the Correlation Data field are not forwarded to the Messaging Service.
April 2, 2026

Sigfox service improvements in endpoint authorization and permissions

To improve security and access control for Sigfox device connectivity, the permission requirements for managing Sigfox connections have been clarified and enforced. Users now need specific Sigfox permissions to work with connections under Administration > Connectivity. To view Sigfox connections, users require the Sigfox READ permission, while creating, updating, or deleting connections requires the Sigfox ADMIN permission. Additionally, Sigfox callback endpoints such as sigfoxDataCallback and sigfoxErrorCallback now require either the Sigfox ADMIN permission or the Inventory READ permission. This change affects users accessing the LPWAN configuration tab in device details within the Device Management application, as viewing the Current connection field now requires READ permission. Administrators can assign the necessary permissions to users in Administration > Accounts > User, Roles. For details, see Sigfox.

March 31, 2026

AI Agent Manager now available in Public Preview

Feature preview
This feature is in Public Preview, that is, it is not enabled by default and may be subject to change in the future.

The AI Agent Manager introduces a new capability to create, configure, and run AI-powered agents directly within a tenant through an intuitive user interface.

Agents can analyze device data and execute actions based on configurable logic. They can be granted access to Cumulocity data such as inventory, events, alarms, and measurements, enabling seamless integration with existing IoT applications without additional setup. Agents can be extended with custom tools or MCP servers, and their behavior can be validated before being enabled for real-time automation and complex operational workflows.

Important: Administrators must enable the AI Agents permission in the user’s global role and configure LLM providers using their own API keys to use this application.

March 30, 2026

Enhanced Data point list widget

The “Data point list” widget has been migrated to Angular and enhanced to improve usability and performance, providing a modern, consistent foundation with the current UI framework. Updates include:

  • Decimal place configuration: Specify decimal places for numerical values, with a default of 2 to align with other Cumulocity IoT widgets.
  • Global time context integration: The widget now responds to dashboard time context changes, automatically updating to show the last measurement value for the selected time range.
  • Asset icon display: Asset icons are now shown alongside asset names for easier visual identification.
  • Export capabilities: Export displayed data in CSV and XLSX formats for external use.
  • Field arrangement: Customize the display order of fields within the widget.
  • Performance optimization: Improved rendering performance through virtual scrolling — only visible rows are rendered, ensuring smooth operation even with large datasets.
March 26, 2026

New REST endpoint for reconciling the opposite child additions of a linked series

When an asset links to a measurement source on a device, the platform maintains a reverse index (c8y_LinkedSeriesReverseIndex) on the device that tracks which assets reference it. Previously, if this index became out of sync with the asset-side configuration, there was no dedicated API endpoint to correct it.

The Digital Twin Manager REST API now includes a new endpoint to reconcile the opposite ChildAddition of a LinkedSeries (also known as MeasurementSourceLink): PUT /assets/{assetId}/linkedSeries/{fragment}/{series}/opposite. The endpoint updates the c8y_LinkedSeriesReverseIndex managed object on the device side to accurately reflect the asset-side source reference. The optional query parameter removeMissingSourceId removes the source.id if the linked device no longer exists. If the device is not found and the parameter is not set, the endpoint returns a 422 error.

Developers and administrators can use this endpoint to programmatically correct synchronization issues in linked data point configurations without manual intervention.

March 19, 2026

Improvements in endpoint authorization and permissions

The required user permissions to read, create, or update Loriot connections under Administration > Connectivity have been updated. To read Loriot connections, users must have at least the Loriot READ permission, and to create/update/delete connections, users require the Loriot ADMIN permission. In the Device Management application, this affects the LPWAN configuration tab in the Loriot device details, as the Current connection field requires READ permission. You can assign the necessary permissions to users in Administration > Accounts > Users/Roles.

Marked the REST API endpoint for getting opposite assets as deprecated

A newer, high-performance variant of the endpoint for querying opposite assets was introduced in DTM version 1024.1.0. To align with this improvement and maintain a consistent API, the original endpoint variant is now deprecated.

The REST API endpoint /service/dtm/assets/linkedSeries/opposites/{deviceId} used with the default Accept header application/json is deprecated and will be removed in a future version. Use the Accept header application/vnd.com.nsn.cumulocity.linkedassetscollection+json instead, which provides better performance and additional filter parameters.

Update any integrations or custom applications that call this endpoint with the application/json header to use the new Accept header application/vnd.com.nsn.cumulocity.linkedassetscollection+json to avoid disruption when the deprecated variant is removed.

March 13, 2026

Widget sections are now more organized and easier to use

Widgets previously displayed all settings under a single settings section, making it difficult to find and manage specific widget configurations. Sections are now organized more cleanly with improved visual separation and structure, allowing you to configure widget settings more easily and efficiently. This enhancement improves the overall user experience when working with widgets by providing a clearer, more intuitive layout that reduces cognitive load and makes information easier to locate.

March 12, 2026

Added configuration option to strip control characters during JSON deserialization in Java SDK

A new configuration option has been introduced in the Java SDK that allows stripping control characters from JSON strings when deserializing responses from the API. This option can be enabled by adding the property c8y.svenson.stripControlCharacters=true to the configuration file. The default value is false to maintain backward compatibility. Enabling this option can help in situations where API responses contain unexpected control characters that cause the internal Svenson JSON library to throw an exception during JSON deserialization. This internal exception results in an empty API response being returned.

Devices are now correctly added to initial device group

An issue has been resolved affecting the initial group assignment during single device registration when using the “create device certificates during device registration” option with Cumulocity CA certificates.

Previously, devices registered individually were not correctly added to their designated initial device group upon first connection.

With this update, when a single device is registered and an initial device group is specified, the device is now properly assigned to the target group upon its first connection.

Enhanced SSO user name validation

Validation has been added for the “User/App ID – Constant value” field used during SSO authentication when the “Use constant value” option is enabled.

When a constant username is configured for SSO users (optional setting), it now follows the same validation rules as a standard username:

Validation Rules

  • String length: 1–1000 characters
  • Must not contain:
    • Whitespace
    • Slashes
    • Any of the following characters: +, $, :

This change ensures consistency in username validation and prevents invalid values from being configured for shared SSO accounts.

Improved Java SDK support for external IAM tokens with user scope API beans

Previously, when users authenticated in the Java SDK using external IAM JWT tokens together with API service beans configured with the qualifier for user scope, the authentication process could fail to identify the tenant and user correctly. With this improvement, service beans using the qualifier for user scope can now authenticate correctly when external IAM JWT tokens are used. Their behavior is now consistent with other supported authentication methods.

Device enrolment plugin now provided by default

The Device enrolment plugin is now a standard Device Management plugin included by default. It provides a quick link to the thin-edge.io setup wizard, available in both the new welcome widget and the “Quick links” widget.

The four-step wizard simplifies the connection of physical Linux devices or Docker containers by providing a generated curl command that automates installation and cloud configuration. This process streamlines registration through guided device naming and automated certificate handling, concluding with instant verification of connectivity and data transmission to the platform.

Device Management application homepage refresh

The Device Management application homepage has been refreshed by removing the standard “Alarm” and “Quick links” widgets to make room for a new welcome widget. This update provides a more intuitive entry point for users and includes a direct link to the thin-edge.io setup wizard.

Added new computed property - Fieldbus item status

This change introduces a new “Fieldbus item status” computed property with the following configuration options:

  • Fieldbus item: Select a coil or register from the device protocol associated with a device.
  • Result type: Select whether to display the raw value or a transformed value using enum values defined in the item’s settings.

The new computed property makes it possible to display the status of Fieldbus items (including their enum values) in widgets such as the “Asset table”. This functionality will be progressively made available in other widgets, too.

March 11, 2026

MQTT Service will require an explicit role for basic authentication

Caution

This change only affects the new Cumulocity MQTT Service capability.

The existing Cumulocity Core MQTT capability is not affected.

Introduction

To strengthen security and prevent client spoofing, the Cumulocity MQTT Service will soon require the ADMIN permission for the “Mqtt service” permission type for clients connecting via basic authentication.

Currently, basic authentication lacks a strict binding between the authenticated user and the MQTT clientId. This could allow a user with valid Cumulocity credentials to connect using any clientId and impersonate other devices. This change ensures that only explicitly authorized users and devices can use basic authentication to connect to the MQTT Service.

What is changing?

  • Required role: A specific authorization role will be required for any user or device attempting to authenticate to the MQTT Service using basic authentication.
  • No default assignment: To maintain a strict security posture, this role will not be added to any global roles by default.
  • Message broker properties: The authentication type and username will now be passed as Pulsar message properties (tx.clientUsername and tx.clientAuthType). This allows downstream consumers to validate the clientId against the authenticated username.

Clients connecting via certificate authentication are not affected by this change.

Impact on existing MQTT clients

This is a breaking change for clients utilizing basic authentication.

Once this change is deployed, any existing clients relying on basic authentication without the required explicit role will fail to connect. Administrators will need to manually assign the ADMIN permission for the “Mqtt service” permission type to the specific users or devices that legitimately require basic authentication access.

Roll-out plan

This change will take effect when the MQTT Service reaches General Availability (GA). Please update your user or device roles accordingly to ensure uninterrupted service.

Info
Because the Cumulocity MQTT Service is currently in Public Preview, it is not subject to the standard 6-month compatibility notice period defined in the Cumulocity Compatibility policy.

Added nearby clustering to cluster map

When viewing cluster maps with many nearby data points, the map can become cluttered and difficult to read. The Cockpit application now automatically groups nearby clusters, allowing you to see the overall distribution of your devices and assets more clearly. As you zoom in on the map, the nearby clusters automatically expand to show individual data points, providing a better user experience when working with dense datasets on cluster maps. If a device or asset is placed in the same position, the user can click on the marker to see more clearly which markers are placed. Warning colors for alarms are merged, and the most critical alarm is shown. This improvement applies to all existing map widgets and to customized Web SDK-based cluster map implementations in your applications without requiring any configuration changes.

March 9, 2026

Now button added in global context history mode configuration

In the global context history mode configuration, a Now button has been added next to the To date field to instantly set the end date to the current time. This provides a convenient shortcut to view the most recent data without manually adjusting the date picker.

March 6, 2026

User application access feature migrated to Angular

The user application access feature has been migrated from the legacy AngularJS framework to the modern Angular framework. Previously, the user application access management interface was built with AngularJS, which limited performance and maintainability. The interface now runs on Angular, providing improved performance, better responsiveness, and access to modern web technologies. This migration ensures that the user application access feature remains compatible with current and future versions of the platform, while maintaining all existing functionality and user workflows without requiring any changes to how you manage application access for your users.

March 5, 2026

New REST endpoints for login option mappings

The single sign-on APIs have been enhanced to allow the configuration and administration of thousands of users. Using the user interface in such instances was not scalable and required intense effort to administer such large numbers of users properly.

These new REST endpoints allow users to manage global and inventory access mappings for tenant login options:

  • POST/GET/PUT/DELETE /tenant/loginOptions/{configIdOrType}/accessMappings
  • POST/GET/PUT/DELETE /tenant/loginOptions/{configIdOrType}/inventoryAccessMappings

The endpoints enable CRUD operations on individual mappings without updating the entire login options configuration, with optional session termination via terminateUserSessions.

Add Analytics Builder ONNX block in Public Preview

A new ONNX block has been added to Analytics Builder in Public Preview. This block executes an ONNX model that has been deployed to the files repository.

Input: A pulse containing a properties dictionary where keys are the ONNX input names and values are scalars (float, integer, boolean, string) or tensors (nested sequences of those types).

Output: A pulse containing a properties dictionary where keys are the ONNX output names and values are scalars or tensors matching the model’s output schema.

March 2, 2026

New aggregation options added to the data graph and data explorer

The chart options in the Web SDK now include additional aggregation methods, giving you greater flexibility when configuring data visualization. Previously, aggregation was limited to minimum and maximum values, which could restrict how effectively you could summarize and analyze time-series data. With this update, you can now use average, sum, and count alongside the existing minimum and maximum options. These additional aggregation functions allow you to better represent trends, totals, and overall activity, making it easier to analyze and interpret your data.

This enhancement is available in the data graph and the data explorer.

To use these new aggregation options, the time series migration must have been performed on the tenant. Newly created tenants already use the new time series by default and therefore do not require to be migrated.

February 27, 2026

Asset table widget enhanced with data grid

The “Asset table” widget in the Web SDK has been enhanced to use the data grid, extending its functionality and providing a more powerful and flexible way to view and manage asset data. Previously, the widget offered limited options for filtering and customization. With this improvement, you can now take advantage of the data grid’s extended capabilities, including additional filtering options and enhanced customization to better organize and interact with your asset information.

This enhancement is available as a preview feature. To enable it, open the Preview features page from the right drawer and turn on the corresponding option. Once enabled, you can start using the improved “Asset table” widget with its expanded filtering and customization capabilities, allowing you to tailor the experience to your specific needs.

Data point graph has been renamed to data graph.

The “Data point graph” widget has been renamed to “Data graph” to provide clearer and more intuitive terminology across the platform. This change simplifies the naming and better reflects the widget’s purpose of visualizing and analyzing data over time.

The functionality and configuration of the widget remain unchanged. No action is required on your part, and your existing setups will continue to work as expected. This update ensures a more consistent and user-friendly experience when working with data visualization features across the platform.

February 26, 2026

Added comprehensive widget development documentation

The Cumulocity Codex has been expanded to include comprehensive information, best practices, and step-by-step instructions necessary for building widgets for the Cumulocity platform. With this addition, developers now have better access to structured documentation that helps them understand the widget development process, reducing the learning curve and enabling faster development of custom solutions.

ChildAdditions for opposites can be created and assigned in the same API call

The performance when creating new opposite links has been improved. The managed object acting as the opposite can be both created and assigned using one request to the child operations API.

Improved error message returned from the REST API on creating or updating asset definitions from a subtenant

Previously, the error message returned from the REST API when trying to create or update asset definitions on a subtenant of an Enterprise tenant was generic and did not include tenant IDs. The error message now includes the relevant tenant IDs.

February 25, 2026

Added deployment information to change logs in the documentation

Change logs previously only indicated deployment availability for Zone 1 (eu-latest.cumulocity.com), limiting the usefulness of the information for users on other zones.

Each change log entry now includes an expandable Technical details section that displays deployment availability information for all environments: eu-latest.cumulocity.com, apj.cumulocity.com, jp.cumulocity.com, emea.cumulocity.com, us.cumulocity.com, and cumulocity.com. This section also displays technical details such as build artifact, version, and internal ticket number that were previously hidden.

Users can now quickly verify whether a change is available in their specific environment without contacting support or searching multiple sources. This improvement helps users make informed decisions about feature adoption and troubleshooting across all zones.

New application added to read RestAPI documentation

A new application lets you read the OpenAPI REST specification on your instance. Previously, understanding how API endpoints work required external tools or manual testing against your own environment. Now you can experiment with API calls in real time within the documentation interface, making it easier to learn the API capabilities and validate your integration approaches before implementing them in your applications. This improvement reduces the learning curve for developers working with the Cumulocity platform and helps you quickly understand the expected request and response formats for various API operations.

February 19, 2026

Added c8y_Origin to the definition of c8y_GenericAsset

Thec8y_Origin fragment has been added to the c8y_GenericAsset asset definition to indicate that it is part of the library provided by the Digital Twin Manager.

Added REST endpoint to get linked assets for a given device

A new variant of the REST endpoint /service/dtm/assets/linkedSeries/opposites/{deviceId} that returns a linked asset collection for a given device has been added. To use it, the Accept header application/vnd.com.nsn.cumulocity.linkedassetscollection+json must be used.

Changed the storage of ordering information of complex property definitions

Previously, the field ordering information for complex property definitions was stored in the c8y_Order array. With this update, the ordering is defined directly within each field using the order property in the JSON schema. Existing property definitions are automatically migrated to the new structure when the subscribed microservice is updated.

Dashboard import/export feature moved to General Availability

The dashboard import/export feature, previously available as Public Preview (see announcement), is now promoted to General Availability (GA).

Dashboards can be exported as JSON files including all metadata such as widget configurations and settings, and imported across tenants and environments.

When importing dashboards between different contexts (for example, devices to assets or across tenants), a configuration review is prompted to adjust settings and ensure compatibility.

Enabled separate translations for DTM plugins across applications

Previously, when Digital Twin Manager (DTM) plugins were integrated with other applications, the same translations were shared, with no way to differentiate between DTM specific-text and other application text. Now, users can define and use separate translations for DTM plugins, allowing DTM and other applications to have their own distinct translations.

New flexible asset modeling capabilities

The Digital Twin Manager (DTM) application now offers more flexible asset modeling, reducing dependence on rigid schemas and enabling you to represent physical assets with fewer upfront constraints. This change supports a more agile approach to defining and evolving your digital representations of physical assets.

To support this flexibility, two new configuration options are now available when defining your asset models:

  • Allow any subasset models: Nest any asset under a parent without strict type restrictions, giving you greater flexibility in defining asset hierarchies as your environment evolves.

  • Allow all properties: Add data to assets even if the properties weren’t defined in the original model. This allows you to enrich assets with new data over time without updating the asset model first.

By enabling these flexible model settings, you can build your digital twin structures earlier and refine them incrementally — supporting iterative modeling and real-world variability.

In addition, we have introduced a new default asset model (key: c8y_GenericDefinition) that enables both flexible options by default to help you get started quickly. The model is protected and cannot be deleted, ensuring system consistency and preventing accidental removal of this required base definition.

February 18, 2026

Added built-in markdown editor to the markdown widget configuration

Previously, the “Markdown” widget only supported content from an uploaded file or a URL. With this change, a new “Write Markdown” option has been added, allowing users to write and edit markdown content directly in the widget configuration using a built-in editor.

Export functionality now available in data point graphs

The “Data point graph” widget previously did not include export capabilities, limiting the user’s ability to extract and share graph data. The export component has now been integrated into the data point graph, allowing users to export graph data directly from the widget interface. This enhancement enables better data analysis workflows.

Support to generate and deploy agents within your application

The Web SDK now supports exporting agent configurations as a JSON file directly from the application. Previously, agent configurations could only be managed through the UI without an easy way to export them for backup, sharing, or version control purposes. With this enhancement, you can now generate an agent configuration within your application development, making it easier to manage, document, and transfer agent setups across different environments or instances. This is particularly useful for users who need to maintain consistent agent configurations across multiple deployments or who want to keep a version-controlled record of their agent settings.

February 12, 2026

Improved reloading of displayed data in time series migration UI

The time series migration UI has been improved with the following enhancements:

  • A duplicate Reload button has been removed to avoid confusion, leaving only one Reload button at the top of the page that reloads both the Ongoing migration and Tenants sections. The loading state is now indicated by the top loader bar, and the area being loaded becomes slightly transparent.
  • The reload action no longer clears filters applied in the Tenants data grid.

Added live preview to Markdown widget configuration

Previously, when configuring the “Markdown” widget, there was no way to see how the content would look without saving and closing the configuration. With this change, a live preview panel is now displayed alongside the configuration, showing the rendered markdown content in real time as users upload a file or provide a URL.

Added AI Agent block in Public Preview

A new AI Agent block has been added to Analytics Builder. This block queries an AI Agent Manager agent using its inputs and produces the agent’s text response as output.

Feature preview
This feature is in Public Preview, that is, it is not enabled by default and may be subject to change in the future.

Note: This block produces its output asynchronously after the input activation completes. If you wire this output alongside outputs from other blocks into the same downstream block, they will trigger that block in separate activations rather than being processed together.

This block has the following parameters:

  • Agent name: The agent to use in the AI Agent Manager.
  • Prompt template: The prompt template to use when querying the agent. The block inputs will be mapped into this template using variables like {{inputs[0]}}, {{inputs[1]}}.

Added Rate Limiter block in Public Preview

A new Rate Limiter block has been added to Analytics Builder. This block suppresses all but the first message received per specified time period.

Feature preview
This feature is in Public Preview, that is, it is not enabled by default and may be subject to change in the future.

The Rate Limiter block has the following outputs:

  • Rate limited output: The first input activation in the specified time period is sent to this output; subsequent activations within that period are sent to the suppressed output. When the time period has elapsed, the next input activation starts a new period and is again sent to this output.
  • Suppressed message output: Input activations that occur more than once within the specified time period are sent to this output.
  • Number of suppressed messages within the current period: Incremented every time a message is suppressed. Resets to zero when a message is not suppressed.
February 11, 2026

Device type column now available by default in the device list data grid

The “Device type” column is now part of the default device grid configuration in the devices list of the Device Management application. It is available in the column selector and can be enabled as needed.

Added feature toggle view to the Administration application

A new view has been added to the Administration application that lists all currently available feature toggles within the tenant and shows their state (enabled/disabled). Moreover, you can change the state of feature toggles from here and reset them to their default state.

For details, see Feature toggles.

Adjusted button layout in confirmation modal

The button layout in the confirmation modal has been improved to ensure better visual alignment and consistency in multiple languages.

Improved drawer layout when adding custom columns

The drawer layout has been improved to provide better spacing, alignment, and overall usability when adding custom columns.

Migrated pie chart component to Angular

The pie chart component in the Web SDK has been migrated to Angular and now uses ECharts as its underlying charting library. Applications and dashboards that display pie charts will benefit from improved rendering performance and a more consistent experience alongside other Angular-based components in the platform.

In addition, users can now toggle individual data points directly from the legend.

February 6, 2026

Simplified translation of data grid column values via translate option

The data grid’s Column interface has been extended with the translate option. If set to true and no custom cell renderer component is used, then the translate pipe will automatically be applied to the column’s value. This change makes it easier to translate column values. Previously, it required using a custom renderer template or component. For this option to work, the column values must be in English and the corresponding translations must be available in the loaded translation resources, for example in the standard application translations, or in the custom ones provided via the localization feature or in the application options.

February 5, 2026

Placeholder $PROVIDED has been replaced by an empty string value in the software repository

When creating a software item, users can define a device as responsible for providing the software artifacts, rather than uploading a binary or pointing to it via a URL. In this case, the created software object used to have $PROVIDED as a placeholder value for the software url property in the inventory. With this change, an empty string value will be stored instead. Existing software items in the inventory remain unchanged.

Add Logger block in Public Preview

A new Logger block has been added to Analytics Builder in Public Preview. This block enables writing a message to the microservice log file for each input, with the following parameters:

  • loggerTag: Used to identify log messages from this block. If not specified, defaults to “logger”.

  • logLevel: The log level to use when writing messages to the log file. Available options:

    • INFO (Default)
    • DEBUG (Will not appear in the log by default)
    • WARN
    • ERROR
  • disableOutput: Whether to disable logging from this block. This can be templated using model parameters to disable logging at runtime. Defaults to false.

Added Smart Function block in Public Preview

A new Smart Function block has been added to Analytics Builder. This block executes a JS Smart Function on the inputs and produces an output.

Feature preview
This feature is in Public Preview, that is, it is not enabled by default and may be subject to change in the future.

The Smart Function must export a function onInput(inputs, context) that returns a list of outputs.

Argument details:

  • inputs is a list of ten Value objects, with members value, properties, and timestamp corresponding to the block inputs.

  • context is an object with the following members:

    • blockParameters - List that contains the block parameters as specified in the block configuration.
    • getState(key, def = null) - Method that retrieves a value previously stored in the context under the given key. If no value is found, returns def.
    • setState(key, value) - Method that stores the given value in the context under the given key.

In addition, the console object has log, warn, error, and debug members that can be used to log messages to the microservice log.

The return value of the function is a list of up to ten values corresponding to the block outputs. These can either be bare values, or Value objects, with members value, properties, and timestamp. If the function does not generate a value, return null instead.

MQTT Service tenant isolation EPL API removed from Streaming Analytics

The deprecated EPL API (com.apama.cumulocity.mqttservice) is removed from Streaming Analytics. This API was provided for the MQTT Service tenant isolation feature preview.

For deprecation details, refer to Deprecation of MQTT Service support in EPL apps.

Migrate your applications

Replace the deprecated API with the new DeviceService API (com.apama.cumulocity.devices). This API uses the MQTT Service device isolation capability.

See Using Cumulocity MQTT Service for migration instructions and usage examples.

February 4, 2026

Console application Private Preview release

The Console application enables customers on the Commit-to-Consume (CTC) contract model to view their actual usage and consumption of the Cumulocity components.

For details, see the Console documentation.

Feature preview

The Console application is in Private Preview. That means it is not enabled by default and may be subject to change in the future. This application is subscribed to your tenant if you are on the new CTC model. If you are unable to access this application, contact product support to request the application subscription for your tenant.

At this time, the Console application is not supported on Dedicated environments. This will be enabled soon.

Custom message banners in branding can now be acknowledged and dismissed

Users can now permanently dismiss custom messages configured under Branding > Message Banner. Previously, these messages reappeared every time the page was refreshed, which could disrupt the user experience.

Users can clear these messages from the top of their screen in two ways:

  • Close: Temporarily hides the message. It will reappear the next time the page is refreshed.
  • Acknowledge and close: Confirms the user has read the message. The application will remember this preference for the specific browser being used and will not show the message again.

Note: The message will reappear if the administrator updates the banner configuration with a new text or if the user clears their browser cache.

February 3, 2026

New confirmation dialog for optional session termination when updating SSO configuration

When updating the SSO configuration, all active user sessions that depend on this configuration must be re-authenticated to ensure security and consistency with the new settings. Previously, this required manually terminating all affected sessions before saving the configuration changes. With this change, a confirmation dialog appears when you update the SSO configuration page, giving you the option to either terminate all active sessions associated with that configuration or proceed with the update while keeping sessions active. This provides flexibility in managing the update process based on your operational needs. If you choose to terminate sessions, users will be logged out and required to re-authenticate with the new SSO settings on their next login. If you choose not to terminate sessions, existing sessions will continue until they naturally expire, though they may experience authentication issues if the new configuration is incompatible with their current session state. This change applies to all tenants and users relying on SSO authentication.

January 29, 2026

Changing probes setting in microservice manifests

Until now, the host of a liveness or readiness probe of a microservice could be set in the microservice manifest. To avoid potential security implications, setting the host in manifest probes will be disabled in Q3 2026 for CD versions and in the 2027 annual release. Uploading a microservice that uses the host parameter within the readiness or liveness probe will be rejected.

For testing purposes, the new behavior can already be enabled via a feature toggle core.ms-hosting.no-host-in-probes-in-manifest.

Important
In Q3 2026 for the CD versions and in 2027 for the yearly releases, the new behavior will become mandatory.
~

OPC UA gateway with the thin-edge.io proxy support

The OPC UA gateway now connects to Cumulocity through the local Cumulocity thin-edge.io proxy. Consequently, OPC UA gateway thin-edge.io usage without the Cumulocity proxy is now deprecated and will be removed in a future version. Please update your gateway configuration to use this local proxy model corresponding to our revised documentation.

Advanced configuration of collection schemas

When configuring an offloading pipeline, Cumulocity DataHub automatically derives tabular schema information given the data in the operational store. However, the data may not yet contain all columns you want to utilize in your offloading configuration. For example, a new device generation will include an additional pressure sensor whose value you want to offload as soon as the devices become available, without the need to reconfigure the offloading pipeline. For that purpose, Cumulocity DataHub now allows you to add such a column with an associated type in the configuration process.

January 23, 2026

Azure AD template now supports scope configuration

Azure AD integrations may require proper scope configuration to define the permissions and access levels for authentication and authorization. Previously, the Azure AD template did not expose the scope parameter, limiting configuration flexibility. The Azure AD template now includes a scope property that allows you to explicitly configure the scope parameter when setting up your Azure AD integration. This gives you full control over the permissions requested during the authentication process. When configuring Azure AD authentication, you can now specify the exact scope requirements for your integration, ensuring that only the necessary permissions are requested and granted. This applies to all new Azure AD configurations created after this change. Existing Azure AD configurations will continue to work as before, but you can update them to include scope configuration if needed. The scope parameter is optional.

Removal of deprecated features from the MQTT Service

Caution

This change only affects the new Cumulocity MQTT Service capability.

The existing Cumulocity Core MQTT capability is not affected.

The Cumulocity MQTT Service is expected to transition to Generally Available (GA) status by the end of March 2026. When the service reaches GA status, features that have been deprecated during the Public Preview period will be removed. These changes were all previously announced; this notice is a reminder to help ensure that devices and applications are ready for the transition to GA status.

Important
It is essential that all devices and applications using the MQTT Service have been updated to use only GA features before the GA date.
Which features will be removed?

The following features will not be available after the GA date:

  1. Tenant-level isolation
    Isolation between MQTT devices will be strictly enforced and direct communication between devices by publishing and subscribing to the same topic will not be possible. All communication between MQTT devices must be mediated by a microservice or external application client. The mqtt-service.tenant.isolation feature toggle will have no effect on the behaviour of the MQTT Service. See the device isolation announcement for more details.

  2. Java client SDK
    The MQTT Service Java Client SDK will not be able to connect to the MQTT Service once it reaches GA status. Microservices and external application clients must use the Pulsar client protocol to interact with MQTT Service topics. See the deprecation notice for more details.

  3. Non-TLS endpoint
    Unencrypted device connections to the MQTT Service on TCP port 2883 will not be enabled on any Cumulocity shared public environments. Devices must connect to these environments using TLS on TCP port 9883. Both one-way (server certificates only) and two-way (client and server certificates) TLS are supported. The unencrypted port may be enabled on dedicated environments if required by legacy devices that do not support TLS. This restriction is documented, although some public environments do currently have the non-TLS port enabled to ease device onboarding during the Public Preview.

In addition, as previously announced, the MQTT Service is already enforcing Common Name validation on device certificates. Devices connecting using an X.509 client certificate where the Common Name does not match the MQTT client identifier will be rejected.

What user action is required?

Developers and integrators of MQTT devices, microservices and external application clients must ensure that their devices and clients are using only GA features of the MQTT Service:

  • Replace all uses of the Java Client SDK with the Pulsar client protocol.
  • Replace all uses of the MQTT protocol in microservices or external application clients with the Pulsar client protocol. The MQTT protocol should only be used by devices.
  • Migrate all MQTT device connections to use the secure TLS endpoint on TCP port 9883.
  • Ensure that the MQTT client identifier matches the certificate Common Name for any devices authenticating using X.509 client certificates.

If you have any questions or concerns, please contact Cumulocity Support as soon as possible.

January 22, 2026

MQTT Service enforces Common Name validation for certificate authentication

Caution

This change only affects the new Cumulocity MQTT Service capability.

The existing Cumulocity Core MQTT capability is not affected.

Introduction

As previously announced, the Cumulocity MQTT Service now enforces Common Name (CN) validation during client certificate authentication.

This update strengthens identity assurance by ensuring a tight binding between a device’s identity and the certificate it presents. By requiring the certificate’s CN to match the MQTT client identifier, we significantly reduce the risk of certificate misuse across different devices.

What is changing?

When an MQTT client connects using certificate-based authentication, the platform now validates that the Common Name (CN) field in the provided certificate matches the MQTT Client ID.

To ensure backward compatibility and support for legacy migration patterns, the validation logic supports the following matching rules:

MQTT client ID format Valid certificate CN Description
<deviceId> CN = <deviceId> Standard format for new devices.
d:<deviceId> CN = <deviceId> OR CN = d:<deviceId> Supported for legacy SmartREST devices migrating to MQTT Service.

Any connection attempt where the certificate CN does not align with these rules will now be rejected with an authentication failure.

Impact and required actions

This is a breaking change for any environment where devices were previously using “generic” certificates or certificates where the CN did not strictly match the device identifier.

  • Existing devices: If your devices use certificates with mismatched CNs, they will no longer be able to connect. You must rotate these certificates to align with the device’s MQTT Client ID.
  • Certificate issuance: Update your provisioning workflows to ensure the Common Name field is automatically populated with the unique device identifier.
  • Authentication methods: This change specifically targets certificate-based authentication. Clients using username/password are unaffected.

Why we are making this change

Aligning the certificate identity with the protocol identity is a security best practice. It prevents “impersonation” scenarios where a valid certificate stolen from one device could be used to authenticate as a different device ID, ensuring higher integrity for your IoT data.

January 7, 2026

Breadcrumbs added to group, device, and asset views in the Cockpit application

To improve the navigation in the Cockpit application, breadcrumbs have been added to group, device, and asset views. For root-level groups, the whole path is always shown. For nested entities, the whole path is not displayed eagerly. Instead, users can click an ellipsis button to show all possible paths (hierarchies) the entity is present in, as a device can be a child of multiple groups. Extra API calls are needed to find out the possible paths; therefore, an explicit user action is required.

New option to display smooth lines in data point graphs

A new option has been added to the “Data point graph” widget that allows lines to be rendered as smooth curves. This improves visual clarity and makes trends and patterns easier to identify.

December 12, 2025

Added option to control the data point graph legend

To improve the usability of data point graphs, a new option has been added that allows users to control the display of the graph legend. They can now select between an automatic mode, which shows the legend if there is sufficient space, or explicitly control the legend visibility through a dropdown menu. This change enhances the flexibility of the graph configuration and allows users to optimize the visual representation based on their specific requirements and available screen space.

Auto-refresh is automatically paused and resumed on tab visibility change

The global context now pauses auto-refresh updates when the browser tab is hidden, and resumes updates when the browser tab is visible. This optimizes resource usage while ensuring the data is refreshed upon return.

Data explorer configuration improvements

The workspace configuration used by the data explorer is now compressed, which significantly reduces the number of characters required in the URL. This makes shared links shorter, cleaner, and less likely to hit browser URL-length limits. Additionally, two new helper functions have been introduced, one for generating a URL from a configuration and another for navigating directly to the data explorer with a specified configuration.

Shared time context for dashboard widgets

Widgets on a dashboard can now share time context. A global panel controls time range, auto-refresh, and aggregation for linked widgets. Each widget applies the settings it supports. Individual widgets can be unlinked for independent control.

Two modes are available: Live mode for rolling time windows with auto-refresh, and History mode for fixed date ranges with aggregation.

Breaking change: Custom widgets using the old Global Context API must migrate to the new components to maintain time context functionality.

December 11, 2025

Alarms raised for common Messaging Service errors

With this change, the Cumulocity platform will raise an alarm when the Messaging Service fails to process a message. Issues reported in this way require user action to be resolved. Currently, this only happens when publishing to a Notifications 2.0 subscription fails because the underlying topic has reached its backlog quota limit. More information about Notification 2.0 backlog quotas can be found in the documentation.

Improved device certificate enrollment validation

The device certificate validation has been improved to ensure that the Common Name (CN) field in the Certificate Signing Request (CSR) subject exactly matches the device ID provided during the device registration process. This enhancement improves consistency and prevents the enrollment of certificates with mismatched identifiers.

Application-specific string translations in Add asset and Subassets plugins

The text strings in the Add asset view and the Subassets tab are now scoped to the Digital Twin Manager application’s translation context. This allows users to provide application-specific translations without overriding the translations in other applications.

Asset properties widget enhanced to display modeled properties for devices modeled as assets

The “Asset properties” widget, which is part of the dtm-plugins, has been enhanced to better support devices modeled as assets. In addition to the previously hardcoded device properties, the widget now dynamically lists all modeled properties for devices modeled as assets. This enhancement ensures consistent visibility of modeled properties across both devices and assets, providing a unified and more complete view in the Asset Properties widget.

Enabled fine-grained permissions for managing assets

The Digital Twin Manager now supports fine-grained permission control for managing assets by introducing a new tenant option assets.permission.mode.
This tenant option supports three modes:

  • external (Default): Digital twin assets permissions are only enforced for assets marked with the c8y_ExternalAsset key. Users require the Digital twin assets UPDATE or ADMIN permission to modify or delete these assets.
  • all: Digital twin assets permissions are strictly required for all assets. Users must possess the Digital twin assets CREATE permission for creation, the UPDATE permission for modification, and the ADMIN permission for full management (create, update, or delete) of any asset.
  • none: Digital twin assets permissions are not applicable to any assets. Asset control defaults to standard Inventory permissions.

Navigation from model name to asset model details

The “Model name” column in the Asset models page is now interactive, allowing users to click a model name to view/edit the asset model details.

New Device-to-Asset plugin for enabling asset modeling of existing devices via Digital Twin Manager

A new Device to Asset plugin is now available in dtm-plugins, providing an easy way to add the c8y_IsAsset fragment to existing devices and explore asset modeling capabilities. Using a guided two-step workflow, users can keep the c8y_IsDevice fragment intact, add the required c8y_IsAsset fragment, optionally assign asset types and parent assets, and immediately integrate devices into the asset hierarchy and modeling already supported for assets created via Digital Twin Manager.

While devices can also be migrated to assets via APIs, this plugin offers a simple UI dialog to create an asset from a device, automatically adding the required information to the device managed object.

New Properties library plugin to manage asset properties

The DTM plugin now includes a unified Property Library plugin that enables centralized management of all properties, delivering a streamlined, powerful, and future-proof modeling environment. Built on the Digital Twin Definitions API, the Property Library provides enhanced extensibility, improved reliability, and a modern foundation for future enhancements. It allows you to manage all property definitions from a single, central location across your Cumulocity deployment. You can define properties applicable to devices, alarms, events, and assets, as well as configure regex-based validation rules to ensure data integrity. This enables centralized governance and scalability across digital twin implementations. The Property Library plugin utilizes Digital Twin Manager APIs which are currently in Public Preview. To enable access, contact product support via the Cumulocity Support Portal and request activation of the required feature flags for your deployment.

Simplified global context link/unlink behavior

The control linking functionality has been simplified to provide a more intuitive user experience. Previously, each control (time context, auto-refresh, aggregation) could be linked or unlinked from the global context individually. This granular approach introduced complexity and edge cases that could lead to unexpected behavior. With this change, all controls now link and unlink together as a single unified action. When a widget is linked to the global context, all its controls synchronize with the dashboard. When unlinked, the widget operates independently with its own local controls. This simplification reduces confusion and ensures consistent, predictable behavior across widgets.

Upgraded Angular and Web SDK versions

The Digital Twin Manager application has been upgraded to Angular 20.3.3 and Cumulocity Web SDK 1023.0.0, bringing improvements in platform compatibility. Custom applications using dtm-plugins will need to update to the latest plugin versions when migrating to the latest Web SDK to ensure compatibility.

Upgraded Web SDK versions

The Digital Twin Manager application has been upgraded to the Cumulocity Web SDK 1022.44.3. The custom applications that integrate dtm-plugins are advised to update their plugins to the newest versions to ensure compatibility with the updated SDK.

Users with read-only permissions can view the property details in Properties library plugin

Previously, users without the Digital twin definitions permission were limited to viewing only the list of properties in the Property Library plugin. With this enhancement, such users can now access property details in a read-only mode.

December 9, 2025

Enforced fixed 5-second auto-refresh interval for dashboards

Previously, users could set different refresh intervals for dashboards. This led to inconsistent behavior across dashboards. To avoid this, the live mode now enforces a fixed refresh interval of 5 seconds or real-time updates, depending on the widget type. This improves the user experience as the dashboard refresh behavior is now consistent and predictable, with each widget refreshing either after 5 seconds or in real time based on its type.

December 6, 2025

Deprecation of CSV-based import assets feature in Digital Twin Manager

As part of the move to an API-first approach for asset management, the CSV-based Import assets feature will be deprecated and removed from the Digital Twin Manager (DTM).

In current versions, this feature is automatically disabled when the Asset APIs feature flag is enabled for Private Preview features on a tenant. In upcoming releases, it will be fully removed.

To ensure a smooth transition, begin preparing your migration to the Asset APIs, which enable more scalable and flexible asset creation through modern, API-driven workflows. Additional guidance will be shared soon in a dedicated Tech Community article. Comprehensive API documentation is available directly in DTM through the OpenAPI plugin. You can install it by navigating to: Administration application > Ecosystem > Extensions > Dtm-plugins > Extension package > Dtm-plugins > OpenAPI documentation.

December 4, 2025

History field removed from the Alarm API

The deprecated history field has been removed from the Alarm API. Previously, this field always returned an empty list. The field is no longer returned by the API, allowing it to be used as a custom fragment.

Limited number of events produced when receiving data from LWM2M device

Previously, each resource instance of multi-instance LWM2M resources was logged as a separate event in the verbose logging level. This change simplifies the logs by combining all resource-instance values into a single event.

December 3, 2025

Cumulocity Developer Codex now available as a blueprint on Management tenants

The Cumulocity Developer Codex — a resource providing guidance and documentation for building custom frontend solutions with the Cumulocity Web SDK — is now available as a blueprint on Management tenants. Tenant administrators can deploy the Developer Codex as an application on subtenants along with utilizing branding and translations, and make it accessible via the app switcher.

Information on migrating to Web SDK v1023 added to the Developer Codex

The Web SDK update documentation has been enhanced with additional information to cover the latest changes and improvements in version 1023 of the Web SDK. The documentation now provides detailed information on how to use the new features and APIs introduced in this version, such as the global time context. See Updating the Web SDK version in the Developer Codex.

New ai-chat component and AI chat assistant for HTML widgets

The Web SDK now includes a new ai-chat component, providing a simple and consistent way to integrate chat-driven experiences into your application.

Building on this component, we have added an AI chat assistant to the HTML widget configuration section, which supports users in generating and refining HTML-based widgets.

Note that the assistant depends on the AI Agent Manager, which is currently in preview. It is available in the HTML widget only when the microservice is enabled, and a valid provider API key is configured. Users with the Tenant Manager role can enable the feature via the Manage preview features option in the Administration application and then add the required API key in the AI Agent Manager.