Features
-
AutoConfirmation filtering support for Target entities in Rollouts
Customers can now use
autoConfirm==true/falsein RSQL Target filtering. -
Soft-deleted entities visibility (UI + REST API)
Previously soft-deleted entities were hidden, causing
"Entity exists"errors (unique key constraint) on recreate without visibility into the blocking record. UI support is already shipped and REST API is now aligned.REST API: new
soft_deleted_modequery param on list endpoints for all soft-deletable entities:NOT_SOFT_DELETED(default) — hides soft-deletedSOFT_DELETED— only soft-deletedALL— both
Performance Enhancements
-
Fix RSQL map-attribute filters causing ghost joins and unintended cross joins
Multi-AND queries on map attributes (e.g.
attribute.*,metadata.*) generated ghost joins and Cartesian products, causing queries to hang.
Bugfixes
-
Fix assigning target group not working with negate operations
Target group assignment now works correctly with negate operators.
-
Fix DDI polling interval ignoring tenant default (was hardcoded 5 min instead of configured 12h)
DDI API ignored tenant default polling configuration and returned a hardcoded 5 minutes to devices, while MGMT API correctly returned the configured default (12h). Devices polled every 5 minutes instead of the configured interval.
⚠️ Breaking behavior change for devices respecting
pollingTimeAfter upgrade, DDI returns the actual configured polling interval. Tenants using the default (12h) — devices will poll twice per day instead of every 5 minutes → slower rollouts and installations.
Mitigation: Tenants relying on the prior 5-minute cadence must override the default polling time in tenant configuration before upgrade. Tenants already overriding the default — no impact.
