Skip to content

v2025.17.0#

Previous version: v2025.16.0

Features#

Auto-adding devices to FOTA campaigns

FOTA campaigns can now automatically include devices that match specified criteria, even after the campaign has started. This streamlines large-scale updates and ensures newly eligible devices are not missed.

Key characteristics of the auto-adding feature:

  • Matching conditions include manufacturer, model name, firmware version, and group membership.
  • Only devices from the same domain as the campaign are considered.
  • Auto-adding campaigns are marked in the interface and require specific permissions to manage.

New Expressions editor component

Introduced a new Expressions editor with real-time validation, context-aware autocomplete, and inline documentation. It matches the functionality of the old version, while offering a better user experience and improved documentation accessibility.

Enhancements#

Improved Expression support in device import

The Import devices from CSV view now uses the new Expressions component for defining operations and forced values, improving validation and autocomplete behavior. This update enhances accuracy and usability when setting dynamic input values.

Improvements to FOTA campaign interface

The FOTA campaign interface has been updated for better clarity and usability:

  • Alerts in campaign review domain properties now inform that auto-adding campaigns always require manager approval
  • Pagination and row counters were added to the FOTA configurations table
  • Auto-retry policy is now displayed in campaign details

Improved toggle in FOTA configuration creator

The toggle options in the FOTA config creator and firmware update creator have been redesigned for better clarity and usability. Toggles now include descriptive text, and redundant alerts have been replaced with information directly embedded in the toggle.

Prevented removal of FOTA configurations in use

FOTA configurations that are linked to active, scheduled, or in-review campaigns can no longer be removed. The delete option in the user interface is now disabled with a clear tooltip explaining the restriction.

Added FOTA campaign cancellation options

FOTA campaigns can now be cancelled in two ways: soft cancellation lets ongoing updates finish, while hard cancellation stops all updates immediately. Campaign details also show who cancelled the campaign and when.

Bug fixes#

Updated operators in /devices REST API

Restored support for valid operators on the id field in the GET /devices/find/details endpoint. Fixed outdated documentation.

Fixed Basic FOTA copy issue

Resolved a bug that prevented copying Basic FOTA when the device didn’t support multi-component updates.

Fixed refresh data model failure

Resolved an issue where triggering the Refresh data model action failed in nested domains. The system now correctly uses the selected domain and ensure the task executes as expected.

Fixes for multicomponent FOTA campaign behavior

Resolved several issues in multicomponent FOTA campaigns:

  • Fixed incorrect retry count and retry logic when manually restarting updates
  • Corrected campaign statistics after deactivating campaigns during retry
  • Added missing “Back” button in Multicomponent FOTA configuration creator

Fixed error when editing tasks with setDeviceProperty

Resolved an issue where adding or editing the setDeviceProperty tag in a task caused an error. The fix ensures that tasks using this tag now load and work correctly without interruption.

Fixed errors in /softwareUpdate REST API

Resolved issues in POST /softwareUpdate/scheduleFromConfig endpoint where name property was not supported and empty deviceId value caused errors.

Fixed bootstrap account handling

Corrected an issue where the bootstrap account could be overwritten during the initial bootstrap phase, ensuring fallback works as expected.

Fixed reference device issue in FOTA config wizard

Resolved an issue where the FOTA configuration wizard crashed if a reference device without a data model was selected. The wizard now displays an empty state with a message.