TDengine 3.4.2.8 Release Notes
Release Date: 2026-08-30
Features
- taosExplorer supports viewing stream runtime metrics (latency, input/output rates, history progress, failure reasons) and recalculation records on the stream page.
- TDinsightV3 adds stream computing observability panels with predefined stream-failure and recalculation-failure alerts routable via notification policies such as DingTalk (requires TDengine 3.4.2.7+).
- Stream computing supports nested window triggers, allowing multi-layer WINDOW combinations with outer-layer context variables for inner-window computation.
- Support batch DROP VTABLE for multiple virtual normal/child tables, including cross-database.
- Support creating multiple virtual child tables in a single CREATE VTABLE statement.
- Support owned tag columns on virtual normal tables and normal tables via CREATE/ALTER, with SHOW CREATE, SHOW TAGS, and ins_tags.
Enhancements
- taosX TMQ sync tasks retry subscribe with a bounded budget during consumer rebuild, reducing whole-task failures after short source-side restarts.
- taosX improves CSV import configurability and throughput for directories with hundreds of thousands of files, avoiding parse/create timeouts and file-count-driven slowdowns.
- taosX-Agent reliable write ACK introduces protocol and UUID v7 identity foundation (legacy write path unchanged; Kafka offset behavior unchanged).
- Improve stream computing manual recalculation reliability so failures no longer stop the whole stream, unfinished requests persist across restarts, and system views expose error details.
- Report stream failure metrics to taosKeeper when a stream first stops on error.
- Data subscription TMQ sends a supplemental heartbeat from the poll thread when the timer path is silent for more than two heartbeat intervals, reducing false consumer offline detections.
- Improve query PARTITION BY group buffering and spill to reduce frequent disk I/O when many small groups exceed memory pages.
- ALTER DATABASE supports changing MAXROWS dynamically; COMPACT FORCE can rewrite existing filesets with the new block sizing.
- Support round-robin placement of new WAL segments across level-0 mount points to eliminate single-disk WAL IO bottlenecks.
- Add FLUSH MNODE and taosd -fMnode, and enhance sdb JSON export/import for offline edits of global parameters and other metadata in failure scenarios.
Fixes
- taosExplorer normal-table edit page not displaying fields because the column list was not loaded correctly.
- taosExplorer normal-table details misplacing composite primary key fields as tags and incorrectly showing stable and tag sections.
- taosExplorer data ingestion mapping preview showing wrong subtable name when a template column casts to NULL, dropping literal prefix/suffix.
- taosExplorer restore from a selected backup point failing due to a missing task name or incorrectly encoded DSN parameters.
- taosExplorer CORS policy being too strict, causing HTTP preflight failures and WebSocket handshake rejections when accessed from different origins such as IDMP.
- taosX MySQL datasource tasks not resuming from breakpoints after stop/start and restarting from the configured start time.
- taosX OPC UA point-selection mode incorrectly truncating node ids that contain :: or ,, causing some points to collect no data.
- taosX MySQL live sync subtracting delay from both window start and end, causing overlapping query windows and duplicate writes.
- taosX MySQL source no longer issues oversized queries beyond the configured interval during sample preview and historical sync.
- taosX backup tasks hanging indefinitely during completion checks when querying offset positions for non-owned vgroups.
- taosX hardens Kafka consumption and downstream write reliability (timeout/IPC) and adds connection-pool/connector observability to help diagnose consumption interruptions.
- taosdump ext-meta-only restore did not create all databases before applying stream/topic DDL, causing intermittent failures when cross-database dependencies were involved.
- Rust WebSocket connector did not clean up pending channel requests when closing a connection, leaving resources unreleased.
- XNode task parser stored length using the pre-unescape SQL token size, leaving trailing NUL bytes that caused JSON parse failures and task load errors after upgrade.
- XNode tasks could not be deleted or updated by root or authorized users after the creator user was deleted, failing with invalid user.
- STMT2/WebSocket queries with tbname = ? or tbname IN (?) reading the placeholder instead of the bound table name, routing to the wrong vgroup and returning empty results.
- STMT2 inserts failing with table-not-exist after a stable is dropped and recreated under the same name, because the cached suid was not refreshed.
- STMT2 DECIMAL parameter binding wrongly applying another column's precision/scale when some columns are skipped or column IDs are non-contiguous, causing Decimal value overflow.
- Stream computing with
nodelay_create_subtablecreating group result subtables that appear ininformation_schema/SHOW TABLESbut failSELECTwith table does not exist. - Stream computing external-window result-block reuse could omit capacity growth for larger batches, causing out-of-bounds writes and taosd crashes.
- Stream computing manual recalculation (RECALCULATE STREAM) shrinking the user-specified FROM/TO range by runtime boundaries, causing some data to be skipped.
- Stream computing reader tasks transiently missing during cluster balance, triggering task failure and leaving stream computing abnormal.
- Data subscription WebSocket TMQ client deserialization failures on error responses that could hang or fail requests.
- Virtual super table queries intermittently returning Invalid parameters (0x118) when references change after query planning.
- Virtual super table queries could intermittently fail with No valid epSet when retry did not refresh stale source-database metadata after VGroup route changes.
- Query regexp_in_set producing incorrect results when using an NCHAR column as the delimiter or when an empty NCHAR string is passed.
- Query INTERP statements via views or prepared statements incorrectly reporting a function conflict error (0x80002680).
- Query RESTful TO_CHAR and other timezone-sensitive functions incorrectly parsing ISO8601 offsets such as +0800 as POSIX, causing incorrect timezone results.
- Query LEASTSQUARES across multiple vgroups producing unstable slope and intercept due to non-deterministic data consumption order.
- Timezone errors showing the literal Invalid timezone: '%s', and system failures such as too many open files being misreported as an invalid timezone.
- Timezone settings no longer reject unsigned POSIX offsets such as UTC0 and UTC8.
- Offline replicas not applying leader KEEP configuration after snapshot recovery, causing retention policy mismatch and failure to trim expired data.
- SHOW TRANSACTIONS with in-flight transactions could overflow the oper column buffer and crash taosd.
- SHOW DISK_INFO or SHOW TABLE DISTRIBUTED could crash taosd when database minRows equals maxRows.