Skip to content
Stand with Ukraine flag

ThingsBoard v3.3.x Release Notes

← Back to all releases

Hot fix release with the following bug fixes:

  • UI:
    • Fix assets page permissions for customer;

Minor release with the following improvements and bug fixes:

Improvements

  • Core:
    • #6024 ThingsBoard Edge Community Edition support;
    • #6056 Handling of PartitionChangeEvent in DefaultTbApiUsageStateService is synchronous;
    • #6139 Refactoring validators - moved them to a separate classes;
    • #6146 Edge - device profile is not removed from edge in case of removal from cloud;
    • Performance improvements to launch sequence for environments with 1000s of Tenants;
    • Performance improvement to insert of event entities. Batch insert implemented;
    • Device State Service improvements and race condition fix;
  • UI:
    • #5984 Update simplified Chinese localization;
    • #6063 Add circle support to map widgets and other improvements;
    • Update ‘gps geofencing events’ node default configuration. Update rule nodes configuration UI;
  • Transport:
    • Suppress frequent logs and fix connection statistics in case of rate limits by ip;
    • LwM2M:
      • #6032 Test coverage of lwm2mClients connection modes;
      • #6026 LwM2mClient is no more serializable;
      • #6200 Handle LwM2M send request from server;

Bug Fixes

  • Core & Rule Engine:
    • #5991 Can delete device profile referenced by OTA update package;
    • #6122 Support null values in TbMsgMetaData;
    • #6132 Create Alarm rule node - Propagate To Tenant doesn’t work;
    • #6174 Automatic conversion of rule chain metadata for compatibility with 3.3.2;
    • #5996 Problems with LwM2M device profile, created during bulk import;
    • #6204 Customer alarm permission checker fix;
    • #6212 Fix unresolved dynamic values on API request;
    • Update rule nodes configuration UI: Fix required message for ‘Period key value’ field of ‘calculate delta’ rule node;
  • UI:
    • #5975 Widget Development plugins loading order;
    • #6022 Alarms table widget allows alarms to be cleared when “Allow alarms clear” is disabled;
    • #6015 Improvement map control button tooltip; fix incorrect updated marker/polygon when editing;
    • #5697 Functionality to decode Base64 values;
    • #6092 Image map does not load image updates when initialized with empty image;
    • #6123 Fixed edit action on Device Admin Table;
    • #6127 Edit firmware dialog does not use default OTA package type;
    • Map widgets - Fixed auto-zoom in edit mode;
    • Fix trip animation widget - remove loading section after data retrieved;
    • Fix time-window panel form validation - disable aggregation limit check when aggregation is not none;
  • Transport:
    • #6025 SNMP: Application fails to start because of SNMP transport initialization error;
    • #6048 LwM2M: sending shared attributes after sleeping;
    • #6050 LwM2M: fixed read/observe “dataRead” object 19;
    • #6054 LwM2M: fixed “No value present”
    • #6058 LwM2M: improved integration tests stability;
    • #6118 LwM2M: Make getTasks in LwM2MBootstrapConfigStoreTaskProvider thread safe;

Minor release with the following improvements and bug fixes:

Improvements

  • Core:
    • Alarm Query performance improvements;
    • Multi-root relation queries;
    • Ability to configure default null ordering in SQL requests;
    • REST API to fetch TB application version;
    • Do not persist empty stats to reducing event table size and disk IOPS;
    • Minor improvements to the thingsboard.yml comments;
    • Add password policy for white-spaces;
    • Notify IoT gateway about delete or rename of the device;
    • #5200 ‘IN’ and ‘NOT IN’ conditions for the dashboard / alarm rule filters;
    • #5749 Queue factories;
    • #5760 SQL and TS batch thread count 3 for better hash distribution;
    • #5814 API to clear events using filter;
  • Rule Engine:
    • Support of nested rule-chains with multiple outputs;
    • #5569 Ability to save time-series data without update of the latest values. Useful for performance improvements in case on hybrid DB setup;
    • Reduce CPU overhead for versions with in-memory cache;
    • Environment variable to configure in-memory cache;
    • #5843 Device actor session inactivity performance + memory footprint optimizations;
    • #5751 Transactional deletion of device and proper cache eviction
    • #5550 Upgrade enrichment attributes rule node;
    • Misc performance improvements: immutable structures, pre-defined protobuf objects, etc;
    • #5865 Added functionality to support 3.3.0 edge version rule chains;
    • #5762 Suffix for the “clientId” param in the MQTT rule node;
    • #5821 Add ignoreMetadataTs to ‘save timeseries’ rule node;
    • #5889 Reduced number of scheduled messages for session timeout;
    • #5921 Propagate alarms to Customer or Tenant without relations;
    • #5926 Use message timestamp as alarm start timestamp in the ‘create alarm’ rule node;
    • #5687 Self-intersecting polygons, polygons with holes, multiple polygons support;
  • UI:
    • Migration to Angular 12;
    • Widget to embed different dashboard state;
    • Ability to embed dashboard states inside markdown widget;
    • #5942 Add script to generate data structures for custom widgets;
    • #5797 Separate pages for entity details;
    • #5770 Editor of markers and polygons in maps widgets;
    • #5757 Improvement of multiple attribute widget;
    • #5629 Widget to display Persistent RPC calls;
    • #5856 Persistent page link for entities pages;
    • Create nested rule chain from the selected region in the rule chain editor;
    • Add tooltip offset settings for map widgets;
    • #5655 Hide page size option on mobile view;
    • #5772 Show legend settings in time-series and latest widgets only;
    • #5795 Disable column sort if enable post-processing function;
    • #5876 Image map resize calculates center position correctly;
    • #5882 New map widget settings: “Disable zoom control”;
    • #5910 Added additional condition to define showTitleIcon;
  • Transport:
    • LwM2M:
      • Ability to define network configuration;
      • #5930 Updated Eclipse Leshan version to 2.0.0-M5;
      • Support of Base64 format to define client keys in RPK and X509 mode;
      • Introduce support of new commands: Read-Composite, Write-Composite. Multiple-Instance Resources Read and Write;
      • Introduce support of new content formats: SenML JSON, SenML CBOR;
      • Improvements to configuration of Bootstrap behavior via Device Profile;
      • Bootstrap server now supports: Read, Discover, Write, Delete commands;
    • CoAP:
      • #5930 Updated Californium version to 3.0.0;
    • SNMP:
      • Add Redis config for SNMP transport;
    • MQTT:
      • [5875] IP Rate limits for MQTT;
  • Security:
    • Update version of log4j-core, log4j-api and log4j-to-slf4j;
    • Ability to limit alarm queries invocation count;
    • #5823 Add NO XSS validation for names of rule nodes;
  • Build scripts:
    • Support of linux/arm64 docker containers;
    • SQL tests are now running on real PostgreSQL instead of HSQL;
    • Update grpc and netty versions to proper handle native windows ssl libraries;

Bug fixes

  • Core & Rule Engine:
    • Upgrade of device profiles from 3.2.2;
    • #5492 Conversion of double values in WS subscriptions;
    • #5753 Unsorted page link replaced with sort by id ASC;
    • #5744 remediation for log4shell CVE-2021-45105;
    • Link to Wiki page about UUID in REST API documentation;
    • Notification about deleted attributes in the cluster mode;
    • #5750 Notification about deleted time-series records;
    • #5657 Fix search API Swagger description;
    • #5793 Added functionality to handle pong responses on web sockets;
    • #5822 Do not update WS last activity in case of general response;
    • Removing old OTA tag if new tag is empty during OTA scheduling;
    • #5869 Don’t allow system administrator to delete himself;
    • #5864 Fixed aggregation by timezone in Timescale;
    • Ignore no longer valid messages when processing strategy is completed or timed-out;
    • #5557 Fix NPE in case of incorrect partitioning name parameter;
    • #5787 Removed incorrect statistics calculation for regularQueryInvocationCnt/regularQueryInvocationTime;
    • #5659 Add rpc response error when retry attempts ended;
    • #5852 Support of double type in ‘save to custom table’ rule node;
    • Prevent click actions and popup open while dragging the marker in map widgets.
  • UI:
    • #5755 Support of rectangles with cut area;
    • Layout for Firefox;
    • Open dashboard state in separate dialog showed a blank dialog;
    • Right layout and state name propagation in mobile app;
    • Resolve alias filter for query alias types;
    • JSON form default values handling;
    • #5529 Chinese translation for the API usage;
    • #5778 Filter forms: constant type and boolean value;
    • #5805 Help link for OTA updates;
    • #5813 Cancel event on color picker;
    • #5832 Problematic letters for different languages;
    • #5872 Error in device-profile-autocomplete and tenant-profile-autocomplete in clear;
    • #5879 Prevent saving of invalid form in the multiple input widget;
    • #5883 Fixed OTA package autocomplete;
    • #5913 Date Range Navigator: the calendar when selecting dates should be horizontal;
    • #5923 Asset models added to public api;
    • #5928 Fixed help link URL for the ‘Add user’ dialog;
    • #5931 The timestamp of the exception in the Rule Engine Statistics dashboard is wrong;
    • #5948 Change “snpm” directory to “snmp”;
  • Transport:
    • LwM2M:
      • duplicated OTA update after device awake from PSM/eDRX;
      • #5716 added ability to send LwM2M model updates after sleeping;
      • #5878 correct handling of device profile update;
      • #5953 subscription to RPC and Attributes;
      • #5955 initialization order;
      • Bugs with OTA update sequence on client reboot or reconnect;
    • MQTT:
      • Corner case when access token matches user name in credentials;
      • #5792 Invalid serialization of ’=’ to \u003d in JsonMqttAdaptor;
      • #5788 Reduce MQTT info logs for connect/disconnect events;
      • #5796 Response format of multiple attributes request;
  • Rest Client:
    • #5566 Fixed widget type based methods in rest client;
  • Edge:
    • #5922 Minor fixes and code review comments;
  • Build scripts:
    • Integration test lifecycle;
    • #5672 CASSANDRA_KEYSPACE_NAME ignored during install;

Minor release with the following improvements and bug fixes:

Improvements

  • Core:
    • REST API documentation:
      • Described entities and methods;
      • Authorize via user name and password;
      • Latest version of Swagger;
    • Help pages for user-defined JS functions:
      • Described input parameters;
      • Examples for various use cases;
      • Help content is loaded from the external project;
      • Ability to configure the external help url using ‘UI_HELP_BASE_URL’ parameter;
    • Performance of SQL queries:
      • Protection from an infinite recursion;
      • Ability to configure max levels of recursion using ‘SQL_RELATIONS_MAX_LEVEL’ parameter;
      • Timeout for all SQL queries to survive enormous heavy query using ‘JAVAX_PERSISTENCE_QUERY_TIMEOUT’ parameter;
    • Bulk import improved and moved to back-end;
    • Rule chains import/export improved;
    • Separate buffered rate executors for Cassandra read and write queries;
    • Entities text search by ‘substring’ instead of ‘startsWith’;
    • Improve REST API error response handling;
    • Added fields length validation;
  • Security:
    • Support of SSL credentials configuration to setup HTTPS without SSL termination on the load balancer.
    • Support of PEM format for certificates;
    • Unified transport SSL credentials;
  • Transport:
    • HTTP/2 configuration support;
    • Added out-of-the-box support for Efento water-meter devices;
    • MQTT backward compatibility adaptor to support both JSON and Protobuf during firmware upgrade;
  • Rule Engine:
    • Add option for HTTP client rule node to not create any message body;
    • Optimize retry strategy to correctly take into account all available settings: ‘retryFailed’, ‘retryTimeout’ and ‘retrySuccessful;
    • Fixed parsing of updated polygon coordinates in rule engine;
    • Fixed duplication of MQTT packets in the MQTT Rule Node;
  • UI:
    • New widget settings layout;
    • Protobuf editor for MQTT device transport configuration
    • QR code widget. Added helps for qrcode and markdown widgets;
    • Updated dependencies: lodash and coreJS;
    • Save translated title as ‘translatedDashboardTitle’ variable;
    • Multiple Attributes widget: added select type for input;
    • Optional data sources handling;
    • Update ‘zh_CN’ locale;
    • Added no data display message to entities and alarm tables;
    • Added “toastTargetId” of widget-container to the “widgetContext”;
    • Added argument ‘updatedData’ in function ‘updateNode’ in nav-tree component;
    • Style of the mqtt transport settings in the device profile;
  • Build scripts:
    • K8S deployment instructions and scripts for AWS EKS;
    • Cache cleanup added to the upgrade scripts;
    • Logging of the progress during upgrade;

Bug fixes

  • Core:
    • Fixed security check in the ‘getPersistedRpcByDevice’ api call;
    • Fixed Class Loader(CL) issues in Fork Join Pool after Java 11 migration. Replaced system CL with current thread CL.
    • Fixed default ordering in entity queries;
    • Fixed concurrency exception when deleting relation
    • Can not use isolated tenant profiles in monolith setup;
    • Fixed rest client json converter to parse json array;
    • Set serialVersionUID for cached entity classes: Device and Tenant Profile, etc;
    • Bump hsqldb version to 2.6.1 to fix sql timeout issues;
  • Rule Engine:
    • Default alarm details script function may cause infinite metadata growth;
    • Deprecation of ‘delay’ rule node;
    • Fixed NPE in the send rpc request node;
    • Fix upgrade of device profile alarm rules from version 3.2.2;
    • Corrected current relations deletion in the create relations rule node;
  • Transport:
    • LwM2M:
      • Fix NPE in case model is null;
      • Clear logging;
      • Process ‘device deleted’ event from core;
      • Process ‘update credentials’ event from core;
    • MQTT:
      • Fixed log typos in MqttTransportHandler;
    • COAP:
      • Fixed acknowledgement of CoAP requests;
  • UI:
    • Fixed camera input widget if entity is empty;
    • Fixed duplicated requests on aliases entity autocomplete;
    • Fixed map functions. Update map helps.
    • Fixed using boundary values for digital gauge widget;
    • Fixed gauge widgets incorrect display after some time of work;
    • Fixed display toast in fullscreen dashboard mode;
    • Fixed ‘copy text’ in markdown to work in plain HTTP;
    • Fixed not load advanced settings in widget;
    • Fixed Trip animation: fixed calculate start/endpoint; fixed update current position;
    • Remove invalid JSON form fields in the time series table;
    • Set pagination to the first page after update in table widgets;
    • Not correct index in map-utils ‘parseData’ function;

Minor release with the following improvements and bug fixes:

Improvements

  • Core:
    • Added sequential RPC calls support;
    • Edge functionality enabled by default;
    • Additional thread pools naming (logging);
    • Ability to override spring MVC async request-timeout property (avoid REST API timeouts)
  • Transport:
    • Added support for UTF-8 characters in MQTT credential Client ID;
    • Improved Session Activity reporting - short-lived sessions support;
    • LwM2M: advanced tracking of sent requests
  • UI:
    • New Markdown/HTML widget;
    • Chart widgets: custom comparison intervals for data key;
    • Chart widgets: tooltips visibility configuration;
    • Added copy user id button within user details;
    • Multiple attributes widget: added patterns support for widget title;
    • Input widgets: added required field option;
    • Added clear all filters option in events filter panel;
    • Rule nodes forms: added show/hide password toggle to credentials fields of external rule nodes;
    • New rxjs operators available in widget context (switchMap, catchError);
    • Custom translations support for alarm type and alarm details in device profile alarm rules
  • Build scripts:
    • Improved maven artifacts dependency management

Bug fixes

  • Core:
    • Added validation and replacement of Queue names in the Device profile;
    • Value of property SECURITY_USER_LOGIN_CASE_SENSITIVE is considered on password reset request;
    • Corrected handling unique device name constraint violation for save device transaction
  • Rule Engine:
    • Fixed device profile update handling by rule node — new telemetry keys from device profile were ignored;
    • Fixed NPE while tell next in Rule chain actor message processor
  • UI:
    • Hierarchy widget: process entity label from dashboard state;
    • Fixed link to Resources library in SysAdmin home page;
    • Fixed full-screen mode toggle in JSON forms;
    • Improved queue name selector in device profile form;
    • Fixed Show on widget button behavior: always display default widgets bundle;
    • MQTT rule node form: credentials fields now optional;
    • Global loading indication: added considering of canceled requests

Major release which contains 2126 commits and 1668 changed files.

Major Improvements

  • Core:

    • Interface to provision and communicate with ThingsBoard Edge;
    • Firmware and Software over-the-air updates (FOTA & SOTA);
    • Persistent RPC calls;
    • API limits for number of created alarms;
    • Alarm removal by TTL;
    • Add Apple OAuth2 provider;
  • Rule Engine:

    • Non-blocking subscribe method to prevent locks on repartition event;
    • Significant performance improvement of remote js-executor;
    • Per-customer and system level api usage stats;
  • Transports:

    • LwM2M transport implementation;
    • SNMP transport implementation;
    • CoAP DTLS support;
    • PSM and eDRX support for CoAP and LwM2M transports;
    • Support of FOTA and SOTA updates for MQTT, HTTP, CoAP and LwM2M transports;
    • Ability to launch MQTT and MQTTS simultaneously in one transport instance;
    • Explicit fields presence support for protobuf payloads;
    • Content format support for CoAP resources;
  • UI:

    • Ability to manage resource library;
    • Ability to manage OTA packages;
    • Ability to manage Edge instances;
    • Event filters for Debug, Error, Stats and other event types;
    • FOTA dashboard;
    • Update to Angular 11;
    • Performance improvement: switched change detection strategy to OnPush;
    • Performance improvement: moved widget header to widget container;
    • QR Code widget
  • Mobile App support:

    • Support of mobile widget actions: Scan QR code, take picture/photo, open map directions, etc;
    • Support for dashboards in the mobile app;
    • Ability to hide dashboard toolbar settings. Improve dashboard setting dialog. Handle dashboard right layout toggle in the mobile app;
    • Ability to configure icons for dashboard and device profile entities.
    • Ability to specify the mobile dashboard as an alarm details view for mobile application;
    • Ability to control visibility and order of dashboards in the mobile application.
    • Ability to hide widgets in the mobile mode.

Minor Improvements

  • Core:

    • Performance improvement and bug fix in the device state service which impacts active/inactive device events calculation;
    • Performance improvement for tenant state load;
    • Performance improvement for the attributes cache;
    • Performance improvement for querying events and cleanup of events;
    • Performance improvement and memory management for DeviceActorMessageProcessor;
    • Create assign/unassign device event when claiming/reclaiming device;
    • Additional validation for entities to protect from XSS;
    • Refactor predicate queries building;
    • Ignore empty search conditions for filters;
    • Ignore default value for filters with constant key type;
    • Make alarm condition serializable;
    • Ability to define consumer properties per topic;
    • Improvement thread pool naming;
    • New alarms API: getAllAlarms and getCustomerAlarms;
    • “alarmConditionRepeats” and “alarmConditionDuration” metadata fields of alarms generated via alarm rules;
    • Reset of JWT tokens when user changes password;
    • Sync kafka commit to improve performance;
    • Statistics collection using Prometheus;
    • Method to find dashboard by name and tenant ID;
    • Kafka client version set to 2.8.0; Optimized kafka producer/consumer parameters;
    • Spring security version set to 5.4.4;
    • Remove outdated versions of Netty;
    • Add logging of error msg to easily identify root cause of failed logins;
    • Add module cluster-api and used it in rule engine and other services;
    • callback execution in the device state service;
    • Transaction aware cache to synchronize cache put/evict operations with ongoing Spring-managed transactions;
  • Transports:

    • Support of server-side RPC requests via protobuf for CoAP and MQTT;
    • Improvements to data converter to support big decimal values;
    • Remove redundant lock on device creating for provisioning feature;
    • Ability to queue configurable number of uplink MQTT messages while processing connect request;
    • Correct close and cleanup of the MQTT session context;
  • Rule Engine:

    • Add transaction support to save/update/delete of rule chains.
    • Dynamic alarm severity support in Create Alarm rule node;
    • QueueController returns up to date list from thingsboard.yml;
    • Move the message decoding out of the lock to reduce locking time;
    • Queue check on the very first poll in the lifecycle before any subscribe method calls;
    • Not going to sleep after pull if time left less than 1 millisecond.
    • Ability to use HTML templates in the send email node;
  • UI:

    • Improvement of time window visualization in the mobile view;
    • JSON input widget;
    • Ability to configure dashboard logo;
    • Improvement to query params handling;
    • Ability to update dashboard image from screenshot;
    • ‘Use entity lable in tab name’ checkbox in timeseries table;
    • Entity info in widget actions as ‘additionalParams’ for entities table widget;
    • Update to logic for ‘Set entity from widget’ in static widget;
    • Move Transport type selector to transport configuration step in the device wizard;
    • Ability to copy-paste content from widget;
    • Cache cellContent, cellStyle, rowStyle in entity tables widget;
    • Disable scroll zooming in the image map;
    • Improvement to exception handling to exclude output like “object Object”;
    • Improvement to chips after blur input;
    • Improvement explanation of what’s accepted in entity alias “Entity Name”;
    • Update to Czech translation;
    • Ability to toggle show password in the input field of login form;
    • focus for entity-key-list component after blur this component;

Bug Fixes

  • Core:

    • Remove ServiceId from Kafka consumer GroupId;
    • Cassandra prepared Statement initialization lock;
    • Restore old Nashorn sandbox version until bug in library is fixed;
    • Remove duplicate call of onData function for websocket subscriptions;
    • Transaction management for component descriptors and events;
    • Potential outdated server info on recalculatePartitions;
    • Performance fix of alarm query based on pg_stat analysis;
    • Performance fix of device count query;
    • Update the ts_kv_latest table only if the value that arrives has the newer timestamp;
    • Added cache cleanup when entity is renamed;
    • org.apache.kafka.common.KafkaException: javax.security.auth.login.LoginException;
    • Rest Api Call Node fixes: added default header Content-Type
    • Postgresql driver version upgrade to 42.2.20 to fix connection issue with Postgres 11;
    • Drop partition function in install script and added fix to upgrade script
    • Configuration parameter name for Compression Type;
    • Message order for Gateway and LwM2M transports in the core consumer;
    • Duplication of sessions in the device actor cache;
    • Authorization and password reset vulnerability;
    • Entity view selection in relation query alias;
    • Typo in equals method of widget bundle class;
    • SerializationFailedException during device claiming;
    • Dependency vulnerabilities;
    • Spring security issue;
    • Create device notification in DefaultTransportApiService;
  • UI:

    • Updated device profiles table after added new profiles
    • Access is forbidden error in the system admin change profile;
    • Alarm rules validation when use changes key or value types;
    • Switch control widget to update state after rpc call response;
    • Widget type filter in the widgets selector;
    • Title when make rule chain root in Chinese;
    • Resolving of the assets page;
    • Multiple datasource processing data in map widgets;
    • Incorrect calculate minIntervalLimit;
    • Some typos in rus/ukr translations;
    • HTML action of identical widgets on the dashboard;
    • Error message in Led Indicator;
    • Entity autocomplete;
    • Thresholds appearing when threshold attribute is not set in flot widgets;
    • HttpCleint and DrugDrop is now accessible for widget extensions to avoid stackoverflow when importing external modules;
    • Device credentials component validation;
    • State controller to not update state when stateId is not changed;
    • New dashboard settings in Safari;
    • Typos in widgets descriptions;
    • Do not “uppercase” unit title of digital gauges;
    • Entities count datasource label overwriting, configured label was never displayed;
    • Entity node level in the entity hierarchy widget;
    • Applying default thresholds line width in the Bar Chart widget;
    • Incorrect time window displaying;
    • Displaying static widget configuration tabs, when configuration of advanced settings is empty;
    • Not updated dashboard URL, after updated a current dashboard state;
    • Tooltip in Map widget for Safari browser;
    • Validation on removal of the alias that is used in the alarm widgets;
    • Added missing help link in add device and add device-profile dialogs;
    • Closing the main menu with the escape key;
    • Clear password after save SMTP settings;
    • Update of the device inactivity timeout attribute;
    • Behaviour of ESC button while in main menu;
    • StartTs and endTs in deleteEntityTimeseries;
  • Transports:

    • Configuration of session cleanup;
    • For statistics collection period;
    • CoAP client can subscribe to attribute and rpc updates simultaneously;
    • Removed unnecessary retain of PUBLISH message for QoS 2;
    • Handling of duplicated read/observe requests for CoAP;
    • Memory leak in GatewaySessionHandler by using weak hash map for locks;
  • Rest Client:

    • GetAlarms method;
    • Removed redundant parameter for AlarmController, AlarmQuery and getAlarms;
    • Reduced default log level;
    • Include the limit value in the getTimeseries REST call;
  • Build/Installation scripts:

    • JAVA_OPTS in K8S config maps to work with Java 11;
    • Reference to the maven repositories;
    • Updated HAProxy and Certbot version for docker-compose scripts;
    • Update haproxy config. Enable HTTP/2;
    • Upgrade Postgres to version 12 in the docker images;
    • Logger template added for Top Rule Nodes by max execution time;
    • Added prometheus-grafana monitoring to Docker scripts;
    • Updated MSA read me file;
    • Correct keystore file lookup from files instead of classpath;
    • Update of os-maven-plugin version;
    • Unique name for logs container in order to avoid container name conflicts;
    • Improved black box tests;