TDengine 3.4.1.0 Release Notes
Features
- feat: mcp server for TDengine TSDB
- feat: support external window query with time range explicitly specified by subquery, suitable for complex analysis scenarios such as cross-event correlation, window reuse and hierarchical filtering
- feat: support uncorrelated scalar subquery
- feat: add support for the ANY/SOME/ALL/EXISTS/NOT EXISTS operators
- feat: support batch modification of child table tag values
- feat: stream adds support for scheduled calculation by natural week, month, quarter, and year dimensions
- feat: add the timeout notification function for stream when no new data is written to source child tables/virtual child tables
- feat: subscription function adds support for metadata changes of virtual tables
- feat: data subscription supports token-based login
- feat: add identity authentication functions
- feat: add support for CAST and SUBSTR functions on BLOB type
- feat: support the lag, lead, fill_forward function
- feat: the fill clause of interval and interp supports surrounding time ranges
- feat: support scalar subqueries without the FROM clause
- feat: support non-correlated subqueries in IN operator
- feat: taosd adds support for the data repair mode
- feat: TDgpt adds support for the multivariate anomaly detection feature
- feat: taosX add task owner privileges
- feat: taosX support system & object level privileges
- feat: taosX new data-in pSpace
- feat: OPC-UA connection test support failover
- feat: kafka transformer support filter to split messages to multiple schemas
- feat: KingHistorian dataset auto update
- feat: KingHistorian support non-stop migration when end timestamp set empty
- feat: go websocket subscription support token auth
- feat: Go REST connector support TOKEN auth
- feat: rust subscription support token auth
- feat: c websocket subscription support token auth
- feat: taosdump now support decimal data type
- feat: taosdump now support BLOB data type
- feat: taosgen support windows
- feat: taosgen support setting log options in config file
- feat: taosKeeper add endpoint for exporting all metrics
- feat: Explorer support token response in login
- feat: explorer support totp auth
- feat: explorer support bearer token auth
- feat: support multiple brokers in MQTT task
Enhancements
- enh: taosX now works on Windows
- enh: add support for TDgpt functionality on the Windows platform
- enh: add support for stream functionality on the Windows platform
- enh: improve the query performance of aggregate queries with GROUP BY on virtual super tables
- enh: optimize the query performance of interval, session, event windows for virtual super tables
- enh: optimize query performance when virtual tables reference many columns of physical tables
- enh: optimize the query performance of state windows for virtual super tables
- enh: push down the time filter conditions of non-correlated subqueries to improve the batch query performance of virtual tables
- enh: return clear error information when virtual table creation fails, such as type matching failure of a specific column
- enh: add reference verification capabilities between virtual tables and source tables, including reference relationship storage, source table change verification, reference relationship query and virtual table availability verification functions
- enh: improve the performance of last_row queries
- enh: support dynamic adjustment of LRU shard count to improve the execution performance of Last queries
- enh: RESTORE DNODE command supports specifying VGROUP ID
- enh: Improve the subscription speed in the scenario of interleaved writing
- enh: add support for the IN operator in subqueries of stream
- enh: add support for ANY/SOME/ALL/EXISTS/NOT EXISTS operators in stream
- enh: add support for subqueries in stream computing scenarios
- enh: add support for child table addition/deletion, child table tag value modification, and column mapping relationship adjustment to the trigger mechanism of virtual super tables in stream
- enh: stream supports multi-group batch computation
- enh: support batch deletion of stream computing
- enh: add NODELAY_CREATE_SUBTABLE option for stream to create result tables in advance when no data is written
- enh: Improve the performance when subqueries are used as primary key filter conditions
- enh: optimize the fill(prev/next/near/linear) filling syntax of the interp function to support filling with non-NULL values before/after the target position
- enh: join/window join supports operations based on selection function result sets
- enh: display query execution progress for the SHOW QUERIES statement
- enh: upgrade the explain analyze function, fix the deviation in operator execution time statistics, add various operator indicators, improve result readability
- enh: optimize the reporting logic of slow logs to improve the accuracy and timeliness of reporting
- enh: provide clearer error messages for SQL statements
- enh: correct comparison results of NULL values in the IN operator
- enh: add security protection capabilities against SQL injection
- enh: add protection capabilities against Denial of Service (DoS) attacks
- enh: add protection capabilities against overflow attacks
- enh: add the capability of forced overwriting after sensitive data deletion
- enh: add support for the configuration parameter AuditSaveInSelf; when enabled, audit information is recorded without going through taoskeeper
- enh: add support for the enableGrantLegacySyntax parameter; when set to 1, the authorization syntax of v3.4 is compatible with v3.3
- enh: remove the forceReadConfig parameter
- enh: optimize the timer logic after system time changes
- enh: when the password is incorrect in the subscription scenario, return the same "Authentication failure" error message as that of taos connection
- enh: support modifying the PASSWORD_LIFE_TIME, PASSWORD_REUSE_TIME, PASSWORD_REUSE_MAX, and ALLOW_TOKEN_NUM attributes of the ROOT user, and set the minimum password validity period to 1 day by default
- enh: add the configuration item enableAdvancedSecurity (default value is 0), which disables the password expiration, strong password and password rotation policy when set to 0 (this behavior is consistent with v3.3)
- enh: prohibit connection between Community Edition and Enterprise Edition
- enh: TDgpt server uses Gunicorn instead of uWSGI as the service driver
- enh: taos shell supports logging in via token
- enh: taosdump add support for stmt2
- enh: auto review session in explorer
- enh: Explorer License page refinement
- enh: improve explorer ui for data-in tasks and transform
- enh: explorer can enable CAPTCHA on login
- enh: Explorer auto scale json parser input
- enh: Explorer activation input auto scale
- enh: C/Rust websocket connector security enhancement
- enh: JDBC doc recommend use varcharAsString=true for taos-ws
- enh: OPC custom tag support special chars replacing
- enh: taosX backup can still create backup checkpoints when offset retrieval/checking fails
Fixes
- fix: taosX breakpoint db lock race condition issue with multiple csv
- fix: kafka data-in use full list json instead of json items
- fix: automatically trim spaces around sub table name in transform page
- fix: long parser error misleads root cause
- fix: OPCDA dataset collection possibly interrupt
- fix: XNODE replication task can't start
- fix: unable to select target database in tsdb import task dialog
- fix: opcda retrieves empty data points
- fix: TDinsight taosX panel task info error
- fix: task not restored in other xnodes when one stopped
- fix: taosX sync error with varbinary/blob datatype
- fix: SHOW XNODE TASKS should be ordered by id
- fix: vgroups information is not included when taosdump restores the database
- fix: the SQL statement content queried from the system table ins_streams is incomplete
- fix: "Invalid value in client" error is triggered when querying virtual super tables
- fix: the query reports a "Planner slot key not found" error when querying the timestamp and data column of a virtual child table if the data column does not reference the source table
- fix: unexpected task status for query migration tasks
- fix: the filter conditions for Agg aggregation results in stream do not take effect
- fix: taosd crashes when a virtual table executes an aggregation query with the partition by tag clause
- fix: query exception caused by inconsistent column types between virtual child table and mapped source table (usually due to adding or deleting columns with the same name)
- fix: crash when querying with parameter binding on virtual tables
- fix: the occasional crash issue when querying virtual super tables
- fix: stream computing sliding(0s) incorrectly returns success
- fix: potential crash when the SAMPLE function processes data exceeding the int32 range
- fix: the IF EXISTS option does not take effect when using DROP TSMA
- fix: no results returned when explain parses subqueries
- fix: stream fails to calculate historical data when using FILL_HISTORY
- fix: schema and tag synchronization issue when the stream result table already exists
- fix: taosd crashes when executing a Last query to read BLOB type data
- fix: taosc and taosd crashes when the trim function is called in an expression or function
- fix: data is still output when the result set of queries containing JOIN operations is empty in stream
- fix: query result is incorrect when a constant is used as the start time filter condition in a stream query statement
- fix: incorrect logic for releasing temporary files in the stream leads to continuous increase of disk space during runtime
- fix: the potential crash issue triggered when two statements with aggregate queries are combined via UNION ALL
- fix: incorrect query result issue of session window on virtual super tables
- fix: the potential crash issue when interval operator read SMA data instead of raw data
- fix: taosd crash issue when comparing two tag columns with index usage
- fix: incorrect configuration of the dynamic modification range for ssEnabled
- fix: the default value of the SS_CHUNKPAGES parameter does not take effect
- fix: the "Operation not supported" error is thrown when the compact operation is executed during data upload in the shared storage scenario
- fix: the "Permission denied or target object not exist" error is reported when executing drop table if exists db.not_exist_table even though the user has the table drop permission
- fix: when a user with sysinfo0 permission views fields without access rights, the behavior is consistent with version v3.3.8, where an error is thrown instead of returning a NULL value
- fix: taosd CPU usage remains high due to rapid generation of a large number of logs after enabling all log debug switches
- fix: resolve the issue of failed rawdata data subscription
- fix: the extremely low-probability crash issue that occurs when subscriptions and stream computing are used simultaneously with high concurrency
- fix: some vnodes stop consuming when subscriptions return no data for a prolonged period
- fix: the dmp file generation mechanism on Windows platform
- fix: the ROOT user reports insufficient permissions when performing some operations after upgrading from v3.3.8 to v3.4.0.0-1 and then to 3.4.0.2 and later versions
- fix: PyTorch inference runtime execution fails due to missing gcc-related components in the TDgpt Docker image
- fix: the logic for limiting display to the first 100 rows fails in taos shell when a subquery contains the LIMIT clause
- fix: Explorer preview table unexpected when parsing error
- fix: explorer extraction rules cause error when removed
- fix: subscription empty cause user permission error in explorer
- fix: data-in filter cause parameter lost in explorer
- fix: password with special chars causes ws request error
- fix: Explorer changing xor_allowed_duration_secs in toml not work
- fix: explorer support relative-path in reverse-proxy
- fix: replication task causes bad request error
- fix: explorer sql injection vulnerability
- fix: taosKeeper/taosAdapter security enhancement