Skip to content
Try for free

ThingsBoard Cloud

Choose your data region

Your data stays in the region you choose, for residency and compliance. No credit card required.

Rather run it yourself? Install on your own servers

ThingsBoard PE v4.4.x Release Notes

← Back to all releases

What’s Changed

  • Major Core & Rule Engine

    • #14976 Migration to Java 25 by @ViacheslavKlimov
    • Remote agents by @MazurenkoNick
    • Integration executor: push directly to rule engine by @AndriiLandiak
  • Major UI

    • #15888 Front-end sidebar/toolbar redesign by @ikulikov
  • Security

    • #16200 Fixed CVE-2026-17495, CVE-2026-84375, CVE-2026-85061, CVE-2026-87776, CVE-2026-90711 by @vvlladd28
    • #16195 Fixed CVE-2026-63126, CVE-2026-68497, CVE-2026-75516, CVE-2026-87795, CVE-2026-87823, CVE-2026-87824, CVE-2026-87825, CVE-2026-87877, CVE-2026-90560, CVE-2026-90852 by @ViacheslavKlimov
    • #16207 Fixed CVE-2026-59969, CVE-2026-84439, CVE-2026-84939, CVE-2026-89425, CVE-2026-91777, CVE-2026-93488, CVE-2026-93491, CVE-2026-93560, CVE-2026-100655, CVE-2026-100656, CVE-2026-100657 by @ViacheslavKlimov
  • Core & Rule Engine

    • #15286 OR conditions support for dashboard filters by @ViacheslavKlimov
    • #15170 WebSocket API key authentication by @AndriiLandiak
    • #15326 Added dedicated alarm rules API by @ViacheslavKlimov
    • #15127 Added request body template support for REST API call node by @AndriiLandiak
    • #15098 Added Kafka OAUTHBEARER (OAuth2) support by @jkitn
    • Resharing of dashboard groups by @dashevchenko
    • Added more default integration decoders by @dashevchenko
    • Dynamic Y-axis configuration in Reporting by @mtsymbarov-del
    • Made Reporting available on customer level by @dashevchenko
    • Added support for public report download links by @dashevchenko
    • Batched async RPC persistence with idempotent create and striped rule-engine notifications by @ShvaykaD
    • #15836 Added feature to enable/disable Web UI microservice HTTP response compression by @mtsymbarov-del
  • UI

    • #15121 Rule chain notes by @vvlladd28
    • #15087 Hid the ‘Events’ tab for unsupported entities by @mtsymbarov-del
    • #15156 Standardized description field formatting by @mtsymbarov-del
    • #15236 Added custom translate support for gauge and label widgets by @vvlladd28
    • #15242 Updated Korean locale translations by @wbg1991
    • #15265 Moved inputs to outlined styles by @mtsymbarov-del
    • #15337 Added OpenFreeMap provider and vector tiles support for map widgets by @vvlladd28
    • #15384 Added support for Angular control flow syntax in markdown by @vvlladd28
    • #14910 String limit for 300> characters on attribute entity table by @jrkubic
    • #15681 Added hint for Unread notifications widget in widget selector by @mtsymbarov-del
    • #15624 Chart widgets: zoom interaction now syncs the active time window by @mtsymbarov-del
    • #15832 Migrated help/doc links to new documentation structure by @mtsymbarov-del
    • Extended allowed entities with Role and Group permissions for entity type filter node by @mtsymbarov-del
    • Normalized “Add role” and “View role” capitalization on Roles page by @mtsymbarov-del
    • Renamed Scheduler event creation dialog title to “Add scheduler event” by @mtsymbarov-del
    • Added “Allow downlink” toggle for ChirpStack integration application server config by @mtsymbarov-del
    • Fixed inconsistent Attributes area visibility in scheduler Update Attributes event by @mtsymbarov-del
    • Improvements for test decoder function by @dashevchenko
    • Renamed legacy report Type label to “Web report” to avoid Reporting 2.0 entity confusion by @mtsymbarov-del
    • Renamed “Queues” section to “Queue” in RabbitMQ integration by @mtsymbarov-del
    • Added decimals support for missing Scada symbols by @mtsymbarov-del
    • Improved “generate report” rule node settings form with toggles and setting hints by @mtsymbarov-del
    • Updated “Initial value” control and RPC control widgets settings UI to new form panel design by @mtsymbarov-del
    • Added a widget action to save browser location and mobile app actions to save phone location and track live GPS by @deaflynx
    • Extended version control entity picker to support JS Modules by @mtsymbarov-del
    • Changed ‘Add new widget’ action in widget bundles to standard primary button by @mtsymbarov-del
    • Added help popup and widened dialog for Advanced CSS in White Labeling by @mtsymbarov-del
    • Added new linter for CSS validation to support new CSS features by @mtsymbarov-del
    • Widget actions export/import by @rusikv
    • #16036 Made dashboard select dropdown sort by title by @harvspeedplumb-cell
  • Transport

    • #15305 No activity reporting on device disconnect event by @dashevchenko
    • #14881 Support for Execute operation with arguments (OMA LwM2M v1.0.2) by @nickAS21
    • Unified attribute request — fetch-all per scope + scope-separated gateway response by @ShvaykaD
    • Added v2 short MQTT topic for device claiming by @ShvaykaD
  • Bug: Core & Rule Engine

    • #14540 Fixed query parameter encoding in REST API call rule node by @dskarzh
    • #15280 Fixed cache cleanup on tenant/entity deletion by @dashevchenko
    • #15964 Fixed Nashorn Global PropertyMap leak on JS script release by @MazurenkoNick
    • Fixed RabbitMQ integration ignoring the downlink converter by @vvlladd28
    • Fixed failed integrations not being destroyed and MQTT client leaking sessions by @volodymyr-babak
  • Bug: UI

    • #14945 Allowed the “Hide dashboard toolbar” option for public dashboards by @pgrisu
    • #14973 Fixed state change of “Select all” checkbox in attributes table by @mtsymbarov-del
    • #15409 Fixed stateController resolution for the “Home page widgets” bundle type by @mtsymbarov-del
    • #15679 Fixed missing error notification on 429 response status by @mtsymbarov-del
    • #15718 Fixed device/asset profile import when default rule chain no longer exists by @mtsymbarov-del
    • #15498 Fixed JavaScript modules with special characters being corrupted on upload by @mtsymbarov-del
    • #16138 Fixed overlapping columns in IoT Hub markdown tables by @pinkevmladchy
    • #16139 Fixed installed items count not refreshing after an install, update or delete by @pinkevmladchy
    • #16189 Added CARTO as a separate map provider with an optional API key by @mtsymbarov-del
    • Fixed Asset and Entity Views table header alignment by @mtsymbarov-del
    • Fixed ChirpStack integration form validity not propagating to parent form by @mtsymbarov-del
    • Fixed numeric/boolean filter predicates failing to save due to invalid “ignoreCase” field by @mtsymbarov-del
    • Fixed mail template footer vertical gap and width misalignment by @mtsymbarov-del
    • Hid AI dashboard generation actions when the AI feature is disabled by @mtsymbarov-del
    • Fixed layout bugs and improved mobile layout for “Add device profile” modal by @mtsymbarov-del
    • Fixed secret password not clearing on Mail server settings save by @mtsymbarov-del
    • Fixed end of day shown as noon in alarm schedule summary by @mtsymbarov-del
    • Fixed validation errors overlapping form fields in MQTT and AWS IoT advanced settings by @mtsymbarov-del
  • Bug: Transport

    • #15962 Fixed negative values encoding for LwM2M Integer resources by @nickAS21
    • #16095 Fixed handling of LwM2M unsigned integer resources across downlink and uplink operations by @nickAS21
    • #16133 Fixed LwM2M device profile import failing when bootstrap short server id is non-zero by @nickAS21
    • Fixed gateway persistent RPC not being marked DELIVERED on PUBACK by @ShvaykaD
  • Bug: Edge

    • #16156 Fixed edge activity state being cleared when the session moves to another node by @volodymyr-babak

New Contributors

  • #15242 @wbg1991 made their first contribution
  • #14910 @jrkubic made their first contribution
  • #15098 @jkitn made their first contribution
  • #15759 @bruak made their first contribution
  • #16036 @harvspeedplumb-cell made their first contribution

Full Changelog: https://github.com/thingsboard/thingsboard/compare/v4.3.1.5…v4.4