--- 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;