What’s new:
Main features:
- Introduced support of a microservices architecture and deployment options.
See microservices architecture page and deployment tips for more details; - Improved docker images to be able to launch ThingsBoard with a single command.
See Linux or MacOS and Windows installation pages; - Added Entity Views feature to allow to
limit the degree of exposure of the Device or Asset telemetry and attributes to the Customers; - Added ThingsBoard JavaScript Executor microservice to isolate execution of rule engine scripts from the main rule engine components and flow;
- Added ThingsBoard Web UI microservice to isolate static content hosting from the REST and Websocket APIs;
- Added ThingsBoard MQTT, HTTP and CoAP transport microservices to isolate communication with devices from the main ThingsBoard services;
- Added support of Kafka to store device telemetry before it is processed with ThingsBoard Rule Engine;
- Introduced Rate Limits for REST, Websocket and Device APIsl
- Framework for black-box testing of ThingsBoard by automatically launching ThingsBoard cluster using docker-compose and running API tests;
- Added input widgets bundle.
Additional features:
- Alarm ack/clear event to the Rule Engine;
- Added two additional parameters to post-processing function: timestamp of the previous value and original previous value;
- Shutdown of all rule chains on tenant deletion;
- Option for case-insensitive username;
- Max string value length parameter for attributes/timeseries.
- TTL for events in Cassandra DAO;
- Redirect to a previous page after login;
- Cast incoming attributes/telemetry numeric data type if possible;
- Added Turkish locale;
- Updated Italian locale;
- Improved logging;
- Introduced package-lock.json for msa packages with correct dependencies;
- Introduced new Cassandra and PostgreSQL based AMIs.
Websockets:
- Introduced WebSocket blocking send timeout parameter. Use Work Stealing Pool for dynamic threads management instead of custom ThreadPoolExecutor.
- Added max size of queue per websocket
- Performance improvement for websocket updates;
- Improved websocket sending errors handling.
New Rule nodes:
- Originator Telemetry
rule node to allow using multiple previous telemetry records in the rule engine; - Create relation node;
- Assign to customer node;
- Message count node;
Bug fixes:
- Fixed multiple issues related to concurrent restarts of the services in a cluster mode;
- Fixed issue with header-actions in rpc-widgets;
- Fixed issues with concurrent device creation using Gateway API;
- Fixed Zookeeper reconnect error;
- Fixed bugs related to entity views caching;
- Fixed concurrency issues with websockets on high load;
- Critical security fixes for some API calls related to device telemetry;
- UI. Outsource CSS should be added before custom CSS
- UI. Entities table widget (raised its height)
- UI. Hide fixed table header in entity attributes table when in widget selection mode.
- UI. Fix deprecated maps settings.