v3.3
版本发布时间: 2021-08-13 21:13:58
thingsboard/thingsboard最新发布版本:v3.7(2024-06-17 22:33:25)
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;
1、 thingsboard-3.3.deb 148.35MB
2、 thingsboard-3.3.rpm 148.36MB
3、 thingsboard-windows-3.3.zip 148.55MB