TDengine 3.4.2.2 Release Notes
Release Date: 2026-07-22
Features
- 6660036900 feat: support federated queries based on virtual tables
- 6492554061 feat: support virtual super tables inheriting from other virtual super tables
- 6984175318 feat: virtual child table tag columns support referencing physical child tables and other virtual child tables
- 6589380578 feat: virtual child table regular columns support referencing other virtual child tables
- 6934772510 feat: external window queries support the FILL clause
- 6944899507 feat: add TEXT and FILE inline data sources, allowing row-value data (TEXT (col_list) VALUES ...) or CSV files (FILE (path, col_list [, options])) to be used directly in the SQL FROM clause as query table sources, participating in SELECT, JOIN, UNION, and INSERT INTO SELECT without creating persistent tables
- 6661700117 feat: add window queries by natural time units with automatic alignment to local calendar boundaries; add connection-level timezone settings with precedence SQL parameter → connection → global configuration, supporting IANA timezones and automatic daylight saving time handling
- 6927171373 feat: state windows support partitioning by multiple state columns
- 6659773700 feat: allow raw columns, tag columns, scalar functions, and indeterminate row functions in window queries
- 6659794715 feat: support CPU affinity binding
- 6968250338 feat: support the REGEXP_EXTRACT function
- 6507136288 feat: support the SLEEP function for simulating timeout scenarios
- 6549502576 feat: support window functions with the OVER clause
- 6511919698 feat: support the DISTINCT keyword in aggregate functions
- 6592836563 feat: stream event window true_for statements support independently setting evaluation rules for start and end conditions
- 6996636537 feat: stream tasks support executing federated queries
- 6979200215 feat: stream triggers add the ROLLUP BY tag_name clause, supporting hierarchical rollup of computation results by tag levels
- 6659965197 feat: metadata updates for super tables, child tables, and virtual tables support transactions
- 6955602052 feat: data repair tool adds copy repair mode
- 6665209146 feat: C WebSocket connector supports Adapter high availability
- 6662936374 feat: Go WebSocket connector supports Adapter high availability
- 6665270968 feat: Node.js WebSocket connector supports Adapter high availability
- 6665221613 feat: Python WebSocket connector supports Adapter high availability
- 6755452428 feat: taosX supports exporting data to Parquet files
- 6755550481 feat: taosX DataOut supports exporting data to Kafka
- 6956269849 feat: taosX OPC UA data source adds Alarm & Events collection capability
Enhancements
- 6474961364 enh: support quarter time unit in query statements
- 6514083018 enh: improve the query performance of Interp interpolation queries
- 6536374390 enh: optimize valid timeline column selection logic, supporting subqueries, UNION ALL, and multi-level nested queries, automatically selecting TIMESTAMP fields from the result set as fallback primary key timelines
- 6544826545 enh: improve query execution efficiency when subqueries include primary key column sorting
- 6772914536 enh: when scanning subquery data, scan the intersection of subquery and outer query time ranges
- 6994925460 enh: improve function classification rules and relax restrictions on certain functions
- 6598098782 enh: support time-series computation functions (CSUM, DIFF, DERIVATIVE, MAVG, STATECOUNT, STATEDURATION, LAG, LEAD, FILL_FORWARD) in window queries, and support these functions with INTERVAL + FILL (NULL/NONE/VALUE/NULL_F/VALUE_F)
- 6511294180 enh: Greatest/Least functions support ignoring NULL values, configurable via the ignoreNullInGreatest parameter
- 7008556959 enh: enhance security validation of string terminators
- 6670762934 enh: stream supports historical data recalculation for COUNT_WINDOW (N, 1) count windows
- 6986382331 enh: stream supports cross-table references and tag references in virtual tables
- 6619755141 enh: optimize aggregate query execution logic for virtual super tables in stream
- 6579574893 enh: show streams supports specifying a database and using LIKE for fuzzy matching of stream names
- 6935517365 enh: fix incorrect filter results after child table tag modification or deletion during subscription; ensure historical write operations of deleted child tables in WAL can be parsed normally
- 6923036499 enh: subscription internal port number automatically syncs when ServerPort is modified
- 7003317198 enh: add configuration parameters retryOnOverloadBaseInterval and retryOnOverloadTimeout to control request retry strategy when the server is overloaded
- 6998078921 enh: add configuration parameter snapshotRateLimit to control disk read speed during multi-replica snapshot transfer
- 7007276957 enh: optimize multi-replica snapshot file synchronization logic with on-demand file transfer to improve data recovery speed
- 6789429472 enh: improve error messages when creating TSMA fails in clusters without snode nodes
- 7006314013 enh: support temporarily shutting down specified vnodes at runtime for operational convenience
- 7006058024 enh: taosd -r command adds --vnode parameter to specify vnodes for repair
- 7001442721 enh: taos_stmt2 interface supports full SQL statement parsing and execution
- 6987323408 enh: taosdump significantly improves backup speed, restore speed, and backup file compression ratio
- 6986555668 enh: taosdump supports exporting stream creation statements
- 7013768166 enh: adjust error message when entering password with taosdump -p parameter
- 7010735364 enh: optimize RPC transport options on Windows platform
- 6617617575 enh: optimize taos-explorer batch CSV file upload and database import logic
- 6977887109 enh: optimize taos-explorer database object tree display
- 7018497066 enh: taosX pspace data ingestion supports splitting long point names by "/" to generate sub-tags, retaining the original long name tag and providing a name variable
- 6751395113 enh: taosX supports backing up and restoring specified data tables
- 6862031345 enh: add MQTT subscription support on Windows platform
- 6876989393 enh: add UDF support on Windows platform
- 7048480779 enh: optimize metadata fetch and parsing workflow for federated queries
- 7035233145 enh: support functions including diff, csum, mavg, statecount, lag, lead, fill_forward, unique to execute without timestamp column
Fixes
- 7043701088 fix: infinite loop causing query hang when INTERVAL AUTO calculates window offset with start time INT_MAX
- 6996034126 fix: column order mismatch error after underlying super table structure changes following virtual table creation
- 7006295117 fix: event notification failure in stream when INTO clause is not used
- 7007876153 fix: slow stream startup when group count reaches 500K-1M
- 7039007829 fix: taosd crash when stream table list initialization fails without checking return error code
- 7035391898 fix: no output when scalar subqueries with window pseudo-columns are used during stream single-trigger multi-window generation
- 6690077280 fix: incorrect filter evaluation logic when stream notification filtering uses WHERE conditions, causing unexpected notification push results
- 7002697409 fix: regular users writing data to non-existent tables without wildcard permissions should receive "Table does not exist" error instead of "Permission denied or target object not exist"
- 7007161406 fix: cluster nodes unable to log in after dynamically enabling IP whitelist because Dnode's own FQDN was not added to the list
- 7002066642 fix: process crash when performing compression/decompression on single-row data
- 7008354205 fix: permission control failure in auto-create table scenarios
- 7019640382 fix: key update only taking effect on mnode leader node
- 7035466476 fix: virtual super table last()/first()/last_row(*) queries not returning tbname tag column when BIMode is enabled
- 7043569486 fix: missing error messages when ODBC data write fails
- 7032616628 fix: blocking issue when executing SELECT queries with interval in STMT parameter binding scenarios
- 7019815583 fix: process crash when rebinding and executing after STMT async write error
- 7004768902 fix: "Invalid schema version" error in Schemaless write mode
- 7030860179 fix: filename conflicts when Windows concurrent queries access temporary files, causing data read errors and process crash
- 7016495135 fix: taos-explorer unable to display regular tables
- 7033264759 fix: taos-explorer user authorization still using legacy RBAC syntax, causing errors when executing grant statements
- 7024012699 fix: taos-explorer table page scrollbar cannot be selected or operated
- 7016749818 fix: taosX PI Dataset Filter configuration exception
- 7025164041 fix: taosX active-active task null connection pointer handling causing unexpected task termination
- 7005229006 fix: slow InfluxDB data synchronization in taosX due to high cardinality
- 7026753489 fix: taosX S3 object storage backup and restore workflow execution failure
- 7034038967 fix: taosX processing thread resources not properly released, eventually causing xnode unavailability
- 6976864558 fix: taosX failed backup tasks cannot be deleted
- 7008619870 fix: occasional data loss in taosX scheduled incremental backups
- 7002416443 fix: taosX data backup tasks not displayed in taos-explorer after successful configuration
- 7006913354 fix: write errors in taosX data migration when source and target database tag order is inconsistent
- 6995693506 fix: empty fields in taosX Kafka data source when multiple transformation rules have incorrect sequence numbers
- 7002745964 fix: incorrect CSV results when taosX PI Connector downloads element filter points
- 7004029732 fix: taosX PI Connector incorrectly treating Int16 data type as Int32
- 7000049101 fix: crash caused by cross-allocator free at taosX user plugin FFI boundary
- 6973306543 fix: unify macOS USE database statement output with Linux platform, displaying "Database changed."
- 7045210011 fix: fix abnormal execution and incorrect calculation results when combining LEFT ASOF JOIN with DIFF function if intermediate row count exceeds 65535
- 7048528478 fix: fix incorrect query results caused by inconsistent time zone conversion logic when TIMETRUNCATE is used in JOIN clauses
- 7040738857 fix: fix early historical data loss when taosX consumes Kafka for backfill, records with timestamp earlier than keep1 retention window are mistakenly discarded
- 7051699498 fix: meta read-lock reentrancy when scanning ins_tags with virtual table tag-ref resolution causing taosd deadlock
- 7048315279 fix: fix historical backfill computation incorrectly triggered when writing data earlier than the time threshold to empty tables with fill_history threshold configured in stream
- 7020619342 fix: TMQ / raw-block writes did not validate illegal NCHAR payloads, causing later filter queries on normal table columns to fail
- 7026831853 fix: fix newly created XNode persistent offline status caused by failed authentication due to unsynchronized user TOKEN among three MNode replicas
- 7051642169 fix: Empty group-key columns (e.g. stable_name) when querying information_schema.ins_tables with COUNT and PARTITION BY / GROUP BY under TableCountScan optimization.
Security
- 7008542476 sec: optimize RPC message length validation logic to defend against DoS attacks
- 7029977129 sec: add business identity authentication mechanism for RPC communication, eliminating plaintext transmission of communication data
- 7014609281 sec: fix double-free vulnerability in createRawValueNodeExt pLeft/pRight (GHSA-vxcq-cqrc-f8j3)
- 7014715260 sec: fix UAF/double-free vulnerability caused by incorrect variable in createSimpleSubQStmt (GHSA-v8cj-fw82-9jjf)
- 7015035460 sec: fix double-free vulnerability in projectApplyFunction pBlockList (GHSA-f8pf-77fh-53wv)
- 7035391487 sec: upgrade PCRE2 to version 10.47, fixing security vulnerability CVE-2025-58050
- 7008439537 sec: embed gitleaks secret scanning into CI/CD pipeline as a formal quality gate
- 6776375399 sec: add SBOM generation script for release versions
- 7008425894 sec: enhance security validation of UDF paths
- 6979946047 sec: connections established with old passwords are forcibly disconnected after password change, subsequent requests return authentication failure
- 7025713112 sec: add file encryption and decryption for temporary files created during database query execution