---
title: Release Notes
tags: ThingsBoard
image: https://thingsboard.io/images/thingsboard-cm-icon.svg
disque: hackmd
---
# Release Notes
https://thingsboard.io/docs/reference/releases/
:::info
如果對 Software versioning 沒有概念,請先參考 [here](https://en.wikipedia.org/wiki/Software_versioning)。
基於安全性考量,目前我們不考慮 ThingsBoard 2.x.x 版本,請直接專注於 ThingsBoard 3.x.x (MAJOR.Minor.patch)。
==為了更能掌握 ThingsBoard 平台,官方版本的 release note 有其重要性,我們可以善用註解 (comments),讓資訊更完整。==
:::
[toc]
## v3.3.2 (November 11, 2021)
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;