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

October 8, 2026

Notifications 2.0 tenant context subscriptions now support the measurement API

Notifications 2.0 subscriptions in the tenant context now support the measurement API. They already supported the alarm, event, inventory (managed object), and operation APIs. To receive measurement notifications, add measurements to the subscription’s apis filter explicitly. For details, see the notification subscription API documentation.

Info
The wildcard (*) API selector for tenant context subscriptions does not currently include measurements.

Data points plugin now available as a default plugin in DTM

Previously, the Data points plugin, which is part of the Digital Twin Manager (DTM) plugins extention had to be installed manually into the DTM application. Now, it is made available as a default plugin in DTM, without requiring a separate manual installation.

Moved asset tree view into Subassets page

Previously, the asset tree was provided as a separate tab within the Subassets page, requiring users to switch to a different tab to access the tree view. With this change, the asset tree is now integrated directly into the Subassets page, allowing users to seamlessly switch between list view and tree view within the same page.

Tenant property library plugin for administration

A new Administration tenant property library plugin is now available to help you manage tenant-specific properties. Once installed, the plugin appears under Administration > Tenants > Tenant properties, where you can add property definitions scoped to the tenant option context.

Every property you define is automatically available under Administration > Tenants > Subtenants > Custom properties, where you can set and store values for each subtenant. The existing Custom properties tab is now replaced with a Digital Twin Manager implementation that supports a significantly wider range of property types, giving you greater flexibility in managing subtenant configurations.

Upcoming Jackson version 3 upgrade for Microservice SDK

When the Microservice SDK was upgraded from Spring Boot 3 to Spring Boot 4, the Jackson library was kept at version 2 to minimize required changes to applications.

Starting with Microservice SDK version 2026.49.0, the Jackson library used in the SDK will be upgraded to version 3.1.4. Spring Boot 4 uses Jackson 3 by default.

Impact: The upgrade to Jackson 3 requires changes in existing microservices. Most notably, the Maven group ID and Java package names change from com.fasterxml.jackson to tools.jackson. Jackson annotations (com.fasterxml.jackson.annotation) keep their package name.

You do not need to declare Jackson versions explicitly. They are managed by Spring Boot’s tools.jackson:jackson-bom and inherited through the microservice-dependencies BOM.

Migration resources: Refer to the Jackson 3 Migration Guide for detailed instructions.

October 7, 2026

Streaming Lake Ingestion 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.

We’re excited to introduce Streaming Lake Ingestion, the first capability of DataHub 2.0 and a new way to get your IoT data into an open data lake powered by Apache Iceberg — automatically, continuously, and in near-real-time.

Simpler. Activate it and you’re done — no schema design, no table mapping, no pipeline to build or maintain. The schema evolves automatically as new measurement types appear.

Fresher. Data lands in the lake within minutes of being recorded in Cumulocity, not hours. Fresh enough to drive real-time analytics, automation, and agentic AI workflows.

Open. Built on Apache Iceberg, the data is immediately queryable by any Iceberg-compatible platform — Databricks, Snowflake, Azure Fabric, Dremio, Spark — with no proprietary connector required.

Interested? Contact product support to get Streaming Lake Ingestion activated on your tenant, and head to the documentation to learn more.

October 5, 2026

Console application is enabled for dedicated environments

The Console application is now enabled for dedicated environments owned by customers on the Commit-to-Consume (CTC) contract model to view their actual usage and consumption of Cumulocity components.

For details, see the Console documentation.

Feature preview
The Console application is in Private Preview. 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 CTC model. If you are unable to access this application, contact product support to request the subscription for your tenant.
October 1, 2026

Cumulocity Streaming Analytics microservices now use Debian 13 and Java 25

As previously announced, the Cumulocity Streaming Analytics microservices have been upgraded to Debian 13 (Trixie) as their base operating system, replacing Debian 12 (Bookworm). This release delivers that change.

Most applications are unaffected. The changes matter if you have uploaded custom Java or Python code to the apama-ctrl microservice, for example in an Analytics Builder block, an EPL plugin, or a connectivity plugin.

Java 25

The apama-ctrl microservice now runs OpenJDK 25 instead of OpenJDK 17. All Java code executed within the correlator runs on Java 25, so if you have custom EPL plugins or connectivity plugins you should recompile them with Java 25 and test that they still behave as expected.

See the JDK release notes for details of the breaking changes and new features between Java 17 and Java 25. Some applications may require updates to third-party library dependencies, but in most cases Apama plugins continue to work without changes.

Python interpreter path change

The Python 3 interpreter is now the operating-system-provided /usr/bin/python3 (Python 3.13 from Debian 13) rather than a Python 3 installation shipped inside the Apama directory. If you have hardcoded the old Apama-provided Python 3 path anywhere — for example in a script or test configuration — update it to /usr/bin/python3.

Apama still ships PySys and the Apama PySys extensions; only the interpreter itself comes from the operating system. Review What’s New in Python for any language changes that may affect your code.

If you build a custom Cumulocity microservice on the Apama base image, see the Apama change logs for the corresponding changes to those images.

References & feedback

For more information on these and other changes, review the Apama change logs. If you have any questions, feel free to post to the streaming-analytics-apama tag on the Cumulocity Tech Community.

September 25, 2026

LWM2M service can now restore DTLS connections after restart

The LWM2M service now persists active DTLS connection information to an encrypted file. Connections are saved periodically and during graceful shutdown. Upon restart, the service restores previously established connections, allowing devices to resume normal data transmission without requiring reconnection.

September 24, 2026

AI Workbench microservice now available enabling code-mode MCP

AI Workbench is a new microservice that provides a dedicated runtime environment for code mode. In code mode, an AI agent writes and runs code against the available tools and platform APIs instead of invoking every tool through a separate model call. This significantly reduces the number of round trips to the model and the volume of intermediate data that has to pass through its context, so agents resolve multi-step tasks faster, at lower token cost, and with more consistent results — particularly when working with large datasets or chaining many tools together.

AI Workbench runs as a standalone microservice and can be deployed in your Cumulocity environment alongside your existing applications and services. You can connect to it over MCP from any MCP-capable client or configure it directly in the AI Agent Manager, where you can add it to your agents without additional setup.

Control panel and kill switch for AI features

The AI Agent Manager now includes a control panel that gives you one place to manage the AI features in your tenant. The new control panel uses a split layout that keeps the controls separate from the configuration details. A kill switch lets you disable all AI features at once, so you can quickly stop AI activity when needed. You can also manage model configuration directly from the control panel. This change affects administrators who manage AI features, because they can now control AI usage and model settings from a single location.

Include the whole hierarchy of asset definitions in the resolve endpoint of the Asset API

The Asset API endpoint /definitions/assets/resolve previously returned only the definition information for the provided assets, which required the client to recursively call this endpoint to get the whole hierarchy of asset definitions.

The Asset API now returns the complete hierarchy of asset definitions. This enables users to get all asset definitions with a single API call, eliminating the need for multiple requests and providing better visibility into available asset definition structures.

Logger block in Analytics Builder is now generally available

The Logger block, previously released in Public Preview, is now Generally Available (GA).

The block is available in the Analytics Builder palette by default and no longer requires the preview blocks feature to be enabled. Models that already use the Logger block continue to work unchanged.

September 21, 2026

Cumulocity Streaming Analytics runtime images move to Debian 13 and Java 25

In an upcoming release, the Cumulocity Streaming Analytics (Apama) runtime images are upgraded to Debian 13 (Trixie) as their base operating system, replacing Debian 12 (Bookworm). The upgrade also introduces a new Java version and changes the location of the Python 3 interpreter.

Important
If you use custom Java or Python code in an Analytics Builder block uploaded to the apama-ctrl microservice, make the required changes promptly so that you are ready before the update is rolled out to your environment.

Most applications are unaffected. The changes matter if you build custom microservices on the Apama base image, use custom Java EPL or connectivity plugins, or run Python code from a block or extension uploaded to the apama-ctrl microservice.

Debian 13 base image

The published Apama runtime images are based on Debian 13 (Trixie) instead of Debian 12 (Bookworm). If you build a custom Cumulocity microservice on the Apama base image and install extra operating system packages, check that those packages are still available and that their names have not changed in Debian 13.

Java 25

Apama ships with OpenJDK 25 instead of OpenJDK 17. All Java code executed within the correlator runs on Java 25, so if you have custom EPL plugins or connectivity plugins you should recompile them with Java 25 and test that they still behave as expected. If you use Java in a block uploaded to an apama-ctrl microservice, make any required changes promptly so you are ready when the update is rolled out to SaaS environments.

See the JDK release notes for details of the breaking changes and new features between Java 17 and Java 25. Some applications may require updates to third-party library dependencies, but in most cases Apama plugins continue to work without changes.

Python interpreter path change

The Python 3 interpreter is the operating-system-provided /usr/bin/python3 (Python 3.13 from Debian 13) rather than a Python 3 installation shipped inside the Apama directory. If you have hardcoded the old Apama-provided Python 3 path anywhere — for example in a script, Dockerfile, or test configuration — update it to /usr/bin/python3.

Apama still ships PySys and the Apama PySys extensions; only the interpreter itself comes from the operating system. Review What’s New in Python for any language changes that may affect your code.

References & feedback

For more information on these and other changes, review the Apama change logs. If you have any questions, feel free to post to the streaming-analytics-apama tag on the Cumulocity Tech Community.

September 14, 2026

Device configuration UX improvements

In the Configuration tab in the device details, the layout has been reorganized. The subtabs are now named From repository and Custom, the configurations reported by the device are listed under On device, and the matching repository entries under Available from repository. A draggable divider between the two sections allows users to resize them, and the position is remembered. Binary configurations are no longer shown as unreadable text in the preview. In the configuration drawer, the description field has moved next to the name and now grows with its content, and the drawer states that changes are saved to the shared configuration repository.

Add withSubAssets parameter to sub-asset assignment endpoint

The subasset assignment endpoint now provides a withSubAssets query parameter to optimize response handling. Previously, assignment operations always returned the entire subasset collection for the parent object, which caused performance issues when parents had large numbers of subassets or child devices requiring multiple inventory reads.

With this change, you can now control whether the parent’s full subasset collection is included in the response by setting the withSubAssets parameter. This allows you to skip the costly expansion of the subasset collection when you don’t need this information, improving performance for assignments on parents with large subasset hierarchies.

Existing integrations continue to work without changes, as the parameter is optional and maintains backward-compatible behavior by default. Applications managing assets with extensive subasset relationships benefit from faster response times when performing assignments.

September 10, 2026

Ternary operator now available in the Analytics Builder Expression block

The Expression block in Analytics Builder now supports a ternary conditional operator: <condition> ? <trueValue> : <falseValue>. <condition> must be of type boolean, and <trueValue> and <falseValue> must be of the same type. Only the branch selected by <condition> is evaluated.

September 9, 2026

Sigfox discontinues the Service Status callback used for battery and temperature measurements

Context

Sigfox has announced in its backend release 15.5 that the Service Status callback service is being phased out. This is a decision by Sigfox about its own platform and is outside the control of Cumulocity. The Sigfox timeline is:

  • September 2026: The Sigfox backend no longer accepts the creation of new Service Status callbacks.
  • April 2027: The Sigfox backend discontinues the Service Status callback service entirely. Existing Service Status callbacks stop delivering data.

The Sigfox agent has so far registered a Service Status callback (sigfoxServiceStatusCallback) for every Sigfox device type. This callback receives the Sigfox out-of-band (OOB) status messages and turns them into two measurements on each Sigfox device:

  • c8y_BatteryMeasurement with the battery voltage reported by the device.
  • c8y_TemperatureMeasurement with the device temperature.

Sigfox provides no replacement callback that carries battery or temperature values. Sigfox recommends that devices transmit this information in their regular application messages instead. See the Sigfox Cloud Integration documentation.

Change

The Sigfox agent continues to request the Service Status callback for every new device type, so the callback is still created as long as the Sigfox backend accepts it. Once the Sigfox backend rejects the request, the Sigfox agent no longer raises a CRITICAL c8y_ProviderCallbackAlarm_<deviceTypeId> alarm for this specific callback. Device type registration completes without an alarm as long as all other callbacks are created successfully. All other callbacks (uplink data, service acknowledge, error, and advanced data) are not affected and continue to be created and monitored as before.

Consequence

  • Sigfox devices that are registered with a new device type after the Sigfox backend starts rejecting the Service Status callback (September 2026) do not receive c8y_BatteryMeasurement and c8y_TemperatureMeasurement measurements from Sigfox status messages.
  • Sigfox devices that belong to a device type with an existing Service Status callback continue to receive these measurements until Sigfox discontinues the service in April 2027.
  • From April 2027, no Sigfox device receives battery or temperature measurements from Sigfox status messages anymore.
  • Anything that depends on these two measurements stops updating. This includes dashboards and data point widgets, smart rules and alarms on battery level or temperature, data exports, and integrations that query these measurement types through the Measurement API.

Persona

This change affects all users and integrators who operate Sigfox devices through Cumulocity and use the automatically created battery voltage or device temperature measurements.

Action

We recommend that you plan the migration before April 2027:

  1. Check whether you are affected. Query the Measurement API for your Sigfox devices with type=c8y_BatteryMeasurement or type=c8y_TemperatureMeasurement, or check the Measurements tab of a Sigfox device in the Device Management application. If these measurements are present, review which dashboards, smart rules, alarms, and integrations use them.
  2. Change the device firmware so that the device transmits battery voltage and temperature as part of its regular Sigfox application payload, as recommended by Sigfox.
  3. Map the payload in the device protocol. In Device Management > Device types > Device protocols, open the Sigfox device protocol of the affected device type and add the byte ranges that carry battery voltage and temperature. Select Send measurement as the action. To keep existing dashboards and rules working, use the same fragment and series names as before, that is c8y_BatteryMeasurement with the series c8y_Battery.level in the unit V, and c8y_TemperatureMeasurement with the series c8y_TemperatureMeasurement.T in the unit C. See Creating device protocols.
  4. Update dependent configuration if you decide to use different fragment or series names, for example data point selections in dashboards, smart rules, and any external integrations that filter on the measurement type.

If your devices cannot be changed to transmit battery and temperature values in their application messages, be aware that these values are not available in Cumulocity after April 2027.

Documentation

See Sigfox in the device integration documentation.

Web SDK security update

Starting with version 1024.16.10, the Web SDK includes a security update that improves protection for users. This fix has been rolled out to all default Web SDK-based applications on all cloud environments on the CD line.

September 3, 2026

Enterprise tenants now reliably receive their default application and microservice subscriptions

Previously, an Enterprise tenant that had customized its default or on-update application and microservice subscription options could be skipped when Cumulocity rolled out new default subscriptions, since that option was also consulted for the tenant itself rather than only for its subtenants.

These subscription options are now always resolved from the parent tenant, up to the Management tenant, and are no longer looked up on the tenant itself. As a result, an Enterprise tenant always receives the same default and on-update subscriptions as any other tenant directly under the Management tenant, regardless of its own configuration. That configuration continues to work exactly as before in determining what gets subscribed to by its subtenants.

This also means that a plain (non-enterprise) tenant can no longer use its own default or on-update subscription options to override which applications and microservices it receives. This is now solely controlled by its parent Enterprise tenant, or by the Management tenant for tenants directly below it, for example, via the Default subscriptions page in the Administration application. For details, see Default subscriptions.

Improved recovery of a timed out LWM2M firmware delivery

The LWM2M agent gives each firmware delivery a limited amount of time to complete. When that time expired, the agent restarted the update process and asked the device for its firmware update state, which the process accepts only as Idle. A device that was still working on the transfer could not report Idle, so the operation failed with the misleading reason “Another firmware update process is still in progress”.

The agent now reads the firmware update state and the firmware update result of the device once the delivery time expires, and it continues based on what the device reports.

  • A device that already holds the firmware gets the installation triggered instead of the image being delivered a second time.
  • A device that reports a firmware update error fails the operation with that error, so the failure names the reason reported by the device.
  • A device that dropped the transfer gets its firmware update state machine reset and the firmware delivered again.
  • A device that is still downloading fails the operation with a reason that names the expired delivery time, and a device that is offline gets checked again the next time it registers.

Existing installations require no changes, and firmware updates that complete within the delivery time behave as before.

Retrieve asset definitions for multiple assets with a single REST API call

Previously, retrieving the corresponding asset definitions for a set of assets required a separate REST API call after collecting all types of those assets. Furthermore you needed the INVENTORY_READ permission to access the endpoint /assets/definitions. A new REST API endpoint GET /definitions/assets/resolve now allows you to retrieve asset definitions for a given list of asset IDs in a single request, reducing the number of API calls and network overhead. The new endpoint also works with inventory roles, so you no longer need the INVENTORY_READ permission if your role grants access to the specific assets.

The new endpoint accepts multiple asset IDs as input and returns the corresponding asset definitions in one response. This streamlines workflows that need to fetch definitions for several assets at once, improving performance and reducing network overhead for applications and integrations. You must have permission to read all assets in the list (either through INVENTORY_READ permission or through Inventory Roles), otherwise an exception is thrown.

August 31, 2026

Improved icon documentation in the Codex

The Codex documentation on icons and the icon selector has been updated with clearer guidance for developers. It now documents how to use the icon selector component and includes a refreshed reference of all available icons—making icons easier to find, apply, and keep consistent across projects.

August 25, 2026

Digital Twin Manager now supports multiple language translations

Digital Twin Manager now supports translations for Chinese, Dutch, French, Korean, Polish, Portuguese (Brazilian), and Spanish, in addition to English and German. This brings the application in line with other Cumulocity platform applications and allows users to work in their preferred language, improving accessibility and usability across regions.

Icon selector now supports custom SVG icons and per-asset selection

The icon selector now supports custom SVG icons, allowing users to upload their own icons in addition to the built-in collections.

Icons can be configured at the asset definition level and inherited by its assets, or overridden for an individual asset from the subassets view.

When an asset is displayed, the icon is resolved in the following order:

  1. Asset icon – used when an icon is configured directly on the asset.
  2. Asset definition icon – used when no asset-level icon is configured.
  3. Default icon – used when neither is configured.

The resolved icon is applied consistently wherever the asset is displayed across applications and dashboards.

August 21, 2026

Improved tooltip and popover accessibility guidance

The Web SDK documentation for tooltips and popovers now provides clear guidance on when to use aria-label and aria-describedby. This replaces the previous unclear guidance that led to inconsistent implementations and poor screen reader experiences, helping developers build accessible components consistently.

August 20, 2026

Duration block now provides a Restart input port to reset elapsed time without deactivation

The Duration block in Analytics Builder has been enhanced with a new Restart input port that allows you to reset the elapsed duration and immediately restart measurement from that point, without deactivating the block.

Previously, the only way to reset the measurement was using the Reset input port, which deactivates the block and requires a new Start signal to resume measurement. The new Restart input port provides more flexible control over the block’s behavior in scenarios where you need to reset the elapsed time while keeping the block active.

New Input port:

  • Restart (pulse): Resets the elapsed duration and immediately restarts measurement from this point, without deactivating the block. The block remains active and continues processing other input signals.

Existing behavior (unchanged):

  • Reset (pulse): Deactivates and resets the state of the block. A new Start signal is required to resume measurement.
  • Start (pulse): Activates the block and begins measurement.
  • Measure (pulse): Outputs the current duration in seconds since activation (or last restart).

This enhancement maintains full backward compatibility. Existing Analytics Builder models using the Duration block will continue to work without any modifications, while new models can leverage the Restart input to achieve previously difficult workflows.

See the description of the Duration block for detailed information.

August 10, 2026

Deprecation of device availability views

Context

The Device Management application currently provides two views for monitoring device availability based on raised and cleared critical alarms: the Availability tab on individual device detail pages, and the Availability page under the Devices menu in the navigator. Both views are powered by the legacy AngularJS c8y.parts.availability module.

Change

The per-device Availability tab and the fleet-wide Devices > Availability page are now deprecated. The underlying AngularJS module c8y.parts.availability (including the availabilityReportCtrl controller and associated views) is marked as deprecated in the codebase. The feature will remain available through y2027 and is planned for removal thereafter.

Consequence

Existing tenants and users will continue to see the availability views until the removal date. No immediate action is required. After removal, the views will no longer be accessible in the Device Management application. The underlying alarm-based availability data remains available via the Cumulocity REST API.

Persona

This deprecation affects Device Management application users who rely on the availability views for operational monitoring, as well as developers who have built custom applications referencing the c8y.parts.availability AngularJS module from the @c8y/ng1-modules package.

Action

  • End users: No action required before the removal date. After removal, use alarm-based monitoring via the REST API or build custom dashboards using the data.
  • Developers who import or extend the c8y.parts.availability module from @c8y/ng1-modules: plan to remove those dependencies before y2027.

Documentation

See Availability in the Device Management documentation.

August 7, 2026

Tenant options are not attached as request headers by microservices proxy

The deprecation of attaching microservices’ tenant options as request headers by the microservices proxy was under Public Preview, and is now Generally Available (GA) for CD versions 2026.230.0 and higher, and will be present in the 2027 annual release.

Until now, tenant options were attached to each microservice request unless this functionality was explicitly disabled via a feature toggle. The microservice proxy added the tenant options to the request headers and forwarded the request to the respective microservice. This functionality is now disabled by default. Tenant options are no longer attached as headers to requests to microservices. The retrieval of the tenant options remains possible through the endpoint <TENANT_DOMAIN>/application/currentApplication/settings.

This change is now available by default.

Caution
Migration from Public Preview to General Availability - action required. If you are relying on the attachment of tenant options as headers to the microservice requests, you need to change this behaviour respectively for cumulocity core CD versions higher than 2026.230.0 and 2027 annual release.
August 6, 2026

Data Preparation now supports alarm upsert

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.

Data Preparation now supports alarm updates. This applies upsert behavior equivalent to Create or update an alarm:

For details, see Alarm.

ONNX block in Analytics Builder now requires file extension in model name

The ONNX block (Public Preview) in Analytics Builder now supports models uploaded to the Cumulocity files repository as a standalone .onnx file. Previously, the block only supported models packaged inside a .zip archive.

The ONNX model name parameter must now include an explicit .onnx or .zip file extension:

  • <modelName>.onnx looks for a standalone <modelName>.onnx file.
  • <modelName>.zip extracts the archive and looks for <modelName>.onnx inside it.

Previously, <modelName>, <modelName>.onnx, and <modelName>.zip were always resolved by extracting a <modelName>.zip archive and looking for <modelName>.onnx inside.

Important
This is a breaking change for existing models that omit the file extension, or that use a .onnx extension to extract a model from a .zip file uploaded to the files repository. To migrate, ensure the file extension used in your Analytics Builder model matches the type of file you have uploaded.
August 5, 2026

Share type dashboards across applications

In the dashboard manager, type dashboards can now be shared across applications. Use the new Data sharing option to pull in dashboards from other applications, or the Manage visibility row option to push a dashboard to specific applications.

Text-based configuration tab now uses code editor

The Text-based configuration on the Configuration tab in the device details now uses the code editor instead of a plain text area, adding syntax highlighting and code formatting.

Added information about the context path of the REST API to OpenAPI documentation

Documentation on proxied request URL structure for the DTM API has been added, including microservice path and REST API path composition, with a working example for querying assets.

Cloud Remote Access host key approval is backward compatible with older cloud-remote-access microservice versions

When users establish remote connections via SSH, the system now only prompts them to approve the remote server’s host key if the cloud-remote-access microservice supports host key probing on the SSH socket. With older microservice versions, SSH connections work as before.

Create and assign subassets in a single request

The Asset API previously required separate requests to create a subasset and then assign it to a parent asset. You can now create and assign a subasset in a single operation by providing the complete subasset representation during assignment, streamlining your asset management workflows.

This change reduces the number of API calls required for subasset operations, improving performance and simplifying integration logic. Existing code that uses separate create and assign operations continues to work without modification, so you can adopt this new capability at your own pace.

Create and manage custom icons with an improved icon selector

The Web SDK now includes full custom icon management. The improved icon selector lets you upload and customize your own icons, then find and apply them across applications and managed objects.

Improved security by SSH host-key confirmation on first use

When the “hostkey-autosave” tenant option is set to “true,” and you connect to a device via SSH for the first time, the system now prompts you to confirm the host key before establishing the connection. Previously, SSH connections could be established without explicit host-key verification, which posed a security risk by making it possible to connect to unverified or potentially compromised devices. With this change, you must verify and accept the host key during the initial connection attempt, ensuring that you are connecting to the intended device and protecting against man-in-the-middle attacks. This feature requires a compatible version of the cloud-remote-access microservice.

Multi-select support for aggregation functions and new auto aggregation mode

Previously, the “Data graph” widget and the data explorer supported only a single aggregation function per data point. Now you can select multiple aggregation functions at once (for example, minimum, maximum, and average) and compare them in parallel on the same chart, including a band display for minimum/maximum.

In addition, the new “Auto” aggregation mode calculates the aggregation interval automatically from the selected time range and a configurable number of data points per chart. When zooming in, the chart can either load data at a finer interval or reuse the already loaded data. Auto mode is available on tenants migrated to time series. Existing widget configurations continue to work unchanged.

July 23, 2026

Configurable SSH host key verification for Cloud Remote Access

The handling of the SSH server host key for Cloud Remote Access endpoints is now controlled by the hostkey-autosave tenant option in the remoteaccess category. The option defaults to false, so the server host key must be confirmed on first connect. This is a deliberate security change from the previous silent-autosave behavior.

When hostkey-autosave is false (the default), connecting to an endpoint that has no host key stored yet first probes the server and shows its host key fingerprint, and the connection continues only after you confirm it. When set to true, the server host key is instead trusted and saved automatically on the first successful connection. In both cases, the stored host key is verified on every subsequent connection, and a mismatch aborts the connection.

July 15, 2026

Syntax highlighting in configuration preview and new edit option

In the Device management application, the read-only configuration preview on a device’s Configurations tab now applies syntax highlighting. Snapshots retrieved from a device are shown in a syntax-highlighting editor, with the correct language applied automatically based on the file type, making them easier to read.

A new Edit in repository button lets you edit an available configuration and save it to the repository before it is sent to the device. It opens a drawer that is pre-filled with the selected configuration, where you can review and adjust it.

The Save to repository action now lets you edit the configuration retrieved from the device before it is saved to the repository, so you can adjust a snapshot on the way in instead of saving it as-is.

Dashboarding technology update and required gridstack dependency

Starting with the next major Web SDK release, version 1024.0.0, we are updating the underlying dashboarding technology.

As part of this change, every application that uses the Web SDK dashboarding technology must import the gridstack dependency.

Additionally, a significant part of the custom implementation in the DashboardChildChange class has been removed.

Breaking change

Applications that rely on dashboarding features but do not import gridstack will fail to build or run correctly after upgrading to 1024.0.0.

Impact: Custom applications built with the Web SDK dashboarding technology are affected.

Migration:

  • Add gridstack as a dependency and import it in each application that uses dashboarding features.
  • Review custom integrations that depend on the previous DashboardChildChange implementation and update them as required.

Explicit withChildren parameter for Inventory API calls

The Cumulocity platform will soon change the server-side default of the withChildren query parameter on /inventory/managedObjects GET endpoints from true to false for performance optimization; relying on the current true default is deprecated. Once the new default takes effect, responses no longer include the childAssets, childDevices, and childAdditions reference arrays unless withChildren=true is set explicitly.

This is a server-side change. The Web SDK’s InventoryService is unchanged — it passes withChildren straight through and never set a default. The UI codebase has been adapted:

  • AngularJS (legacy modules): A new HTTP interceptor c8yInventoryWithChildrenInterceptor appends withChildren=true to /inventory/managedObjects GET requests when the parameter is not already set, preserving existing behavior without call-site changes.
  • Angular (@c8y/ngx-components): Inventory call sites now pass withChildren explicitly. Shipped components behave correctly under the new default; no action is required.

Migration

If your custom code reads childAssets, childDevices, or childAdditions from an InventoryService.detail(), .list(), or .listQuery() response, add withChildren: true to those calls. Otherwise those references will be missing once the new default is active for the tenant.

Removal of the AngularJS event list widget and view from @c8y/ng1-modules

Starting with version 1024.0.0, the AngularJS event list has been removed from the @c8y/ng1-modules package. This covers both the Device Management event list view and the event list dashboard widget, together with their binary-event preview components. The functionality is fully replaced by the Angular event list shipped in @c8y/ngx-components, which the standard Device Management and Cockpit applications already use.

Breaking change

Custom applications that reference the removed modules in their AngularJS bootstrap (ng1.ts) will no longer build after upgrading. The affected import paths are:

  • @c8y/ng1-modules/devicemanagement-eventList/cumulocity.json
  • @c8y/ng1-modules/eventList/cumulocity.json

The build fails with a Module not found error for these paths.

Impact: Custom applications scaffolded from the Device Management or Cockpit application before the event list was migrated to Angular still contain these imports and are affected. The standard Device Management and Cockpit applications are not affected.

Migration: Remove the two imports from your ng1.ts. The Angular event list is provided by:

  • eventsDeviceManagementProviders from @c8y/ngx-components/events/devicemanagement for the Device Management view.
  • eventsCockpitProviders from @c8y/ngx-components/events/cockpit for the Cockpit view.
  • The event list dashboard widget is registered automatically through cockpitWidgetsExports from @c8y/ngx-components/widgets/cockpit-exports; existing widget configurations remain compatible.

Unified saveConfig$() return values in DataGridConfigurationStrategy

Starting with version 1024.0.0, the saveConfig$() method on all built-in DataGridConfigurationStrategy implementations consistently returns of(undefined) when there is no context or nothing to persist. Previously, return values were inconsistent, for example, VoidConfigurationStrategy returned of(null) while others returned of(undefined).

Additionally, the UserPreferencesService.set() JSDoc was corrected to state that it returns “a promise that resolves when the value has been saved” instead of “a promise with saved value”, matching the actual Promise<void> return type.

Breaking change

Custom DataGridConfigurationStrategy implementations that return of(null) from saveConfig$() or subscribers that check the emitted value with strict equality may break.

Impact: Developers who implemented custom DataGridConfigurationStrategy and relied on of(null) being emitted from saveConfig$() are affected.

Migration: Ensure custom saveConfig$() implementations return of(undefined) (not of(null)) for the no-op case. Subscribers should not rely on the specific emitted value. Treat the Observable<void> emission as a completion signal.

July 13, 2026

Enhanced SCADA widget

The “SCADA” widget has been significantly enhanced. The new version is built on modern web component technology with Lit syntax, replacing the previous AngularJS-based approach. Key improvements include:

  • AI-assisted SVG generation — analyzes the selected asset’s properties, measurements, alarms, and events to propose visualizations or generate one based on user’s instructions, and maps corresponding data to placeholders.
  • Interactive placeholder mapping — click directly on text or tspan elements in the widget preview to convert them into dynamic placeholders.
  • Flexible display settings — control how the SVG fits within the widget, with alignment options.
  • Advanced editor — for complex visualizations using Lit syntax and direct web component editing without a need to switch to an external editor.

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. For details on new configuration options and SVG with Lit syntax, see SCADA widget in the user documentation.

Existing “SCADA” widgets using AngularJS syntax continue to work without any changes in the legacy mode. If you want to reuse existing SVGs in the new widgets, the documentation includes migration instructions for adapting them to Lit syntax.

Reorganized widget configuration view with a preview section

The widget configuration view has been reorganized for better consistency and now includes a preview section that shows how settings will appear before they are applied. Moreover, the screenshots of the available widgets in the widget selection drawer have been updated.

July 9, 2026

Alarm upsert endpoint changes

The POST /alarm/alarms/upsert endpoint has been updated with the following changes:

  • New response body: The endpoint now returns an object with two fields instead of a plain alarm representation: alarm (the alarm as it exists after the upsert) and previousState (a snapshot of the alarm before the upsert, or null if a new alarm was created).
  • New query parameter: A boolean incrementCount parameter (default: false) has been added. When set to true, the count property of an existing alarm is incremented during upsert.

For details refer to the alarm upsert operation in the Cumulocity OpenAPI Specification.

July 8, 2026

Asset breadcrumbs plugin now available in Dtm-plugins extension

The Asset breadcrumbs plugin displays the asset path in group and device contexts (that is, when the URL path is /group/:id or /device/:id), making it easier to navigate through hierarchical asset structures.

It automatically generates the navigation path from the root asset to the current subasset, thus reducing navigation complexity and improving the user experience when working with nested asset hierarchies.

Multiselect list type for property definitions

When modeling assets, some properties need to hold multiple values in a single field — for example, a list of supported protocols or applicable regions. Digital Twin Manager now supports multiselect list property definitions, which use the array data type to let you capture multiple selections in a single field.

To use this feature, create a new property definition and select the array type. Existing property definitions and assets are not affected.

For details, see Property definitions.

July 7, 2026

Angular 21 upgrade

In a future version of the Web SDK, we will update the Angular version used in the Web SDK to version 21. This update brings improvements and new features, but may also introduce breaking changes that could impact your existing implementations.

To ensure a smooth transition to Angular 21 and help you adapt your implementations, we will provide upgrade documentation when this change happens. This documentation will help you navigate the changes and update your codebase accordingly.

July 2, 2026

Configuration repository now supports creating and editing configurations in the browser

Users can now create and edit configuration repository entries directly in the browser using a built-in code editor, without having to prepare a file outside the application. The configuration detail form has been moved from a modal to a bottom drawer, providing more screen space. Three content modes are available: upload a binary file, enter an external URL, or edit the content inline. When a text file is dropped or selected, the editor automatically loads its content and detects the syntax based on the file extension. A language selector lets users override the auto-detected highlighting.

July 1, 2026

Data Preparation 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.

Data Preparation is a new application that lets you transform incoming device messages before they are stored in Cumulocity. You create rules that receive raw payloads over MQTT, process them with custom code, and produce standard Cumulocity measurements—for example, converting proprietary sensor data from a device into a format the platform can store and display.

Each rule targets a specific MQTT topic or client ID filter and runs a smart function—a Javascript snippet—that processes the incoming message. The built-in AI assistant (powered by the AI Agent Manager) helps you generate the transformation code from a sample payload and a plain-language description of your goal.

Key capabilities include:

  • A guided wizard for creating rules with topic and client ID filters.
  • An AI assistant that generates smart function code from sample payloads.
  • A rule editor with live testing against sample data before deployment.
  • Draft and deployed states for safe iteration without affecting live traffic.

To enable Data Preparation, open the right drawer (by clicking on your username initials) in the Administration application and select Manage preview features. Then activate the toggle next to Data Preparation. If you use a custom or duplicated application (for example, a duplicate of Cockpit or Administration), upgrade to the latest Web SDK or duplicate the application again. Otherwise, the Data Preparation icon does not appear in the app switcher in those applications.

For details, see Data Preparation.

Support for on-demand refresh in the HTML widget

HTML widgets in the Cockpit application previously did not support the manual refresh functionality of the global time context feature, which meant that users could not update the widget content on demand when the automatic refresh was paused. HTML widgets now include a functional refresh button that allows users to manually refresh the widget content. This change gives you more control when widget data is updated.

Upcoming removal of LESS files following the migration to SCSS

The Cumulocity Web SDK styles in the @c8y/style package have been migrated from LESS to SCSS. As a follow-up, the redundant .less files will be removed from @c8y/style. This change is currently available in the Continuous Deployment (CD) version and will ship in an upcoming maintenance version of the 2026 release. The exact release version will be announced separately.

What changes?

All styling is now authored in SCSS. The .less files, LESS variables, and LESS mixins previously shipped in @c8y/style are being removed, and the package entry point moves from main.less to main.scss. The SCSS files provide the same variables, mixins, and compiled output.

Breaking change

Custom applications, plugins, or themes that import the removed .less files — or that override LESS variables and mixins — will no longer build after upgrading. The build will fail with a Module not found error for the removed paths.

Impact: Any UI customization that relies on the LESS styles is affected, including:

  • Direct imports of @c8y/style .less files, for example @c8y/style/main.less, @c8y/style/branding.less, or @c8y/style/login.less.
  • Overrides of LESS variables or mixins imported from @c8y/style/variables/index.less and the related _brand-vars and _color-vars files.
  • Custom themes and branding built on the LESS variables.

Applications and plugins that already consume the SCSS styles are not affected.

Migration: Switch your imports and overrides to the SCSS equivalents:

  • Replace each .less import with the matching .scss file, for example @c8y/style/main.scss and @c8y/style/branding.scss.
  • Import variables from @c8y/style/variables/index.scss instead of the .less file.
  • Update the import syntax from LESS @import 'file.less' to SCSS @use 'file' or @forward 'file', and change LESS variable overrides from @variable-name to $variable-name.

Detailed guidance on styling components and applications with SCSS will be added to the Web SDK Codex documentation when the release is published.

June 25, 2026

User search now supports partial username matching

Previously, when searching for users in the administration interface, you had to enter the exact username to find a user. Now, the user search supports partial username matching, allowing you to search by entering just a portion of a username. This makes it easier to locate users when you do not remember their complete username, improving the user search experience in the administration interface.

Single sign-on configuration now supports mutual TLS (mTLS)

Previously, single sign-on (SSO) configurations could authenticate to the external authorization server only with a client secret. You can now enable mutual TLS (mTLS) in the SSO configuration and upload a client certificate and private key for certificate-based authentication. The private key is encrypted on the server after saving.

June 23, 2026

Added compact mode for dynamic chart legend

When viewing dynamic charts with numerous data series, the hover tooltip can become large and consume significant screen space, occasionally obstructing the chart data itself. To address this, a new compact mode has been introduced for tooltips in both the “Data graph” widget and the data explorer.

This compact mode is automatically activated whenever a tooltip contains more than 5 data points. By reducing the visual footprint of the tooltip in high-density charts, this update ensures you can view more of your actual chart content while still maintaining full access to all relevant data point details.

Dynamic widget selection now available through extended widget hook component

The widget hook component has been updated to support dynamic widget selection.

This enhancement allows you to programmatically choose and load widgets based on different conditions and user preferences. For more details, see Widget hook in the Cumulocity Codex.

June 22, 2026

Configuring root groups or assets as top node entries in the navigator

The navigator displays root groups or assets as top-level entries that users can access directly. Previously, you could only manually select specific groups or assets to display as top nodes in the navigator. Now you can configure the navigator to automatically display all root groups or all assets as top node entries, giving you more flexibility in how you organize your navigation structure. This change allows you to quickly set up the navigator without having to manually select each individual group or asset, which is especially useful when you have many root-level items that you want to make easily accessible. Existing navigator configurations remain unchanged, and you can still manually select specific items if you prefer that approach.

Global context controls can now be collapsed in the widget header

Global context controls in a widget header can now be toggled between an expanded and a collapsed view. Collapsed, the controls shrink to a compact set of icons that keeps the header tidy; expanding them reveals the full controls inline. This works both for widgets linked to a dashboard’s global context and for standalone widgets.

June 18, 2026

Deprecation of password updates via general user APIs

To improve platform security, the ability to update passwords through general user endpoints is being deprecated. Password changes will soon require verification of the current password to prevent unauthorized account takeovers.

Affected endpoints

The password field is deprecated in the following endpoints:

New requirement

All password updates must use the dedicated endpoint for updating the current user’s password:

This endpoint requires the currentPassword field for validation.

Timeline

Starting in Q4 2026 for the SaaS instances and in 2027 for the yearly releases, the password field in general user endpoints will be ignored.

Important
Update all client applications and scripts to use the dedicated password endpoint. This transition is mandatory to ensure enhanced security and prevent unauthorized password modifications.
June 17, 2026

Enhanced access control and permissions for LWM2M service

To improve security for the LWM2M service, stricter access control has been enforced. To work with device-specific LWM2M configurations from the Device Management application, users must now be granted explicit LWM2M ADMIN and READ permissions. This affects Device settings, Connectivity, Bootstrap, and more under the LWM2M Configuration tab, the device registration, and Device protocols at the tenant level. Administrators can assign the necessary permissions to users in Administration > Accounts > Users > Roles.

Default value support for enumeration property definitions

Enumeration properties can now have a default value assigned. When creating an asset, the predefined default is applied automatically, so you no longer need to set the value manually every time.

DTM Data Service now available in Public Preview

Feature preview
This feature is in Public Preview. It is not enabled by default and may be subject to change in future releases.

The DTM Data Service microservice processes data point links configured through the DTM Data Points plugin and automatically propagates incoming device measurements to the corresponding assets in the digital twin hierarchy via c8y_LinkedSeries.

By transforming raw device measurements into structured asset-context data, the service enables operational data to be accessed and visualized directly from assets, powering asset-centric dashboards, analytics, smart rules, and business applications without requiring direct queries to individual devices.

Note: To enable the DTM Data Service, tenant administrators must enable the notification2.tenant.all.apis tenant option.

DTM OpenAPI is available in the API Documentation app

The OpenAPI of DTM is now available in the API Documentation application which shows all known OpenAPI documentations in the current tenant. Previously, the OpenAPI was only visible in a specific OpenAPI Documentation plugin within the DTM application.

If the API Documentation application is not visible in your application switcher, you can deploy it through Administration > Ecosystem > Extensions > api-doc by selecting the Deploy application button. This change improves discoverability and reduces the setup time needed to access API documentation across all tenants and users. The required version of the api-doc is 1023.82.1.

The OpenAPI Documentation plugin in the DTM application will be deprecated in the future and users should migrate to the API Documentation application.

New REST endpoint for reconciling the opposite child additions of all linked series of an asset

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 all LinkedSeries of an asset (also known as MeasurementSourceLink): PUT /assets/{assetId}/opposite. The endpoint updates the c8y_LinkedSeriesReverseIndex managed object on the device sides to accurately reflect the asset-side source references. The optional query parameter removeMissingSourceId removes the source.id if any 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.

Preventing potential data loss from highly concurrent updates on assets

The Asset API now implements per-asset and per-device locking to serialize concurrent create and update operations. Previously, when multiple operations updated the same asset or LinkedSeries pointing to the same device simultaneously, data could be lost or corrupted because changes were not properly sequenced. The new locking mechanism ensures that concurrent updates on the same asset or device are processed sequentially, preventing lost updates and maintaining data integrity.

Your applications and devices continue to operate normally, but you can now safely perform concurrent update operations without risking data loss. There might be a performance decrease for highly concurrent operations due to the nature of the locking mechanism which waits for the previous request to be finished before starting the next request.

June 10, 2026

Deprecation of ODBC-based connectivity to Power BI

Microsoft Power BI can be connected to Dremio so that you can analyze your IoT data residing in the data lake. So far, that connection has been based on an ODBC driver. Microsoft has announced the transition from legacy ODBC drivers to Apache Arrow Database Connectivity (ADBC) drivers. While in the transition phase ODBC is still supported, ADBC will eventually become mandatory. Dremio provides an ADBC-enabled connector to connect to Power BI. Therefore, the connection between Power BI and Dremio needs to be reconfigured so that ADBC is used instead of ODBC.

June 5, 2026

Alarm upsert endpoint

Cumulocity now provides a dedicated alarm upsert endpoint (POST /alarm/alarms/upsert). The operation creates a new alarm if no uncleared alarm with the same source and type exists, or updates the existing one otherwise. The response status reflects the outcome 201 Created for a newly created alarm, or 200 OK when an existing alarm was updated.

For details refer to the alarm upsert operation in the Cumulocity OpenAPI Specification.

June 4, 2026

UI highlight for single data point series

When viewing data point series in charts, you can now easily identify and focus on individual series by clicking on them. The UI highlights the selected series visually, making it clearer which data you are examining. Previously, there was no visual distinction when selecting a single series, which made it difficult to track which data points corresponded to which series in complex charts with multiple data sources. This improvement enhances your ability to analyze and understand data point relationships in your visualizations, particularly when working with charts that contain many overlapping or similar-looking series.

May 19, 2026

Asset model tree nodes are now clickable during asset creation

During asset creation, users can now click directly on asset model tree nodes in the left-side hierarchy view to navigate between models. Previously, users could only view the selected root asset model hierarchy, but had to use the Next and Previous buttons to move through the tree, limiting their ability to quickly access specific models in the hierarchy.

The tree nodes are now fully interactive, allowing you to jump directly to any asset model in the hierarchy without stepping through each level sequentially. This change streamlines asset creation workflows by reducing the number of clicks needed to reach the desired model.

May 18, 2026

Extended data explorer view with collapse and full-screen mode

The data explorer view now provides better control over your workspace layout. You can collapse sections in the data explorer to focus on specific areas and use full-screen mode to maximize your viewing area when analyzing data. These improvements make it easier to work with large datasets and complex visualizations by giving you more flexibility in how you arrange and display information on your screen.

May 15, 2026

Added action column in device parameters list

In the Device Management application, editable device parameters can now be modified directly from the parameter list through a dedicated edit action.

Devices can now be assigned to assets with LINKING_UPDATE permission

Previously, assigning devices to assets required the ASSETS_ADMIN and the INVENTORY_UPDATE permission, which was overly restrictive for users who only needed to manage asset linking and relationships. The Asset API now allows users with the LINKING_UPDATE permission to assign devices to assets if the assets.permission.mode is set to either ALL, or EXTERNAL and the asset is an external asset. An asset is considered external if it has the marker fragment c8y_ExternalAsset.

May 14, 2026

Binding external identifiers when creating managed objects

Cumulocity now provides the ability to bind external identifiers within managed object creation operations. Both single managed object creation and bulk creation support creating external identifier binding within a single request.

For details refer to the create one or multiple managed objects operation in the Cumulocity OpenAPI Specification.

Enhanced traceability for support user logins in audit logs

The audit logging logic for User login actions has been improved to ensure full visibility during subtenant access.

When a support user logs into a subtenant, the audit log entry now consistently records the specific target user being accessed. Previously, if the system used only the <managementTenantUserId>$ identifier, the audit log would omit the impersonated user’s identity.

This has been corrected to ensure that even when the primary administrator account (anonymous user) is utilized, the audit trail explicitly captures and displays the identity of the chosen target user within the subtenant.

Strict validation of unit values in measurement fragments is now enforced

As announced earlier, Cumulocity now strictly validates unit values in measurement fragments.

If a measurement fragment contains a unit value that is null or an empty string, the platform removes the unit value before persisting the measurement. The measurement itself is still stored, but without the unit.

For example, if you send a measurement with an empty unit value:

{
  "c8y_Temperature": {
    "T": {
      "value": 22.5,
      "unit": ""
    }
  }
}

The platform stores the measurement, but the unit field is not persisted and is missing in the API response. To retain the unit in the stored measurement, send a valid, non-empty value:

{
  "c8y_Temperature": {
    "T": {
      "value": 22.5,
      "unit": "°C"
    }
  }
}

This change improves data quality and consistency across the platform.

May 13, 2026

Live preview added to Asset properties widget configuration

The “Asset properties” widget configuration now includes a live preview panel to help you visualize your widget before saving. When you select an asset and its properties, the preview panel displays the selected property and its values in read-only mode, showing exactly how the widget will appear in your application.

This enhancement eliminates guesswork when configuring the widget, as you can see real-time updates as you make selections. Existing widget configurations remain unchanged, and the preview panel appears automatically when you configure a new “Asset properties” widget or edit an existing one.

New endpoint to get direct subassets for an asset identified by its external ID

The Dtm microservice now includes a new endpoint /assets/externalIds/{externalId}/subAssets that allows you to fetch direct subassets using an asset’s external ID. Previously, you could only retrieve subassets by using the asset’s ID, which required an additional lookup step if you were working with external identifiers. This new endpoint streamlines workflows by enabling direct queries based on external IDs, eliminating the need for intermediate ID resolution.

With this addition, applications and integrations that manage assets through external identifiers can now access subasset hierarchies more efficiently. Your existing code using internal IDs continues to work without changes, and you can adopt the new endpoint at your own pace to improve performance and reduce complexity in asset management operations.

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.