TDengine 3.4.2.5 Release Notes
Release Date: 2026-08-17
Features
- Add stream observability metrics via information_schema system views for realtime lag, throughput, history fill, and recalculation progress.
- Optimize wiki MCP search tool and add ask-teddy skill.
- Support federated stream queries over external sources including InfluxDB, with trigger modes, stream options, and SHOW observability fields.
- Support start, stop, and recalculate stream actions on the taosExplorer stream page without writing SQL manually.
Enhancements
- Add configuration parameters numOfStreamRunnerDeploys and numOfStreamRunnerReplicas to tune stream runner deployments and replicas.
- Add user_app parameter to the Python WebSocket connector for application name identification.
- Add zstd-compressed message parsing support to taosX Kafka ingestion.
- Allow stream queries with outer derived-table filters to keep using external window and reduce INTERVAL resource usage.
- Explorer support for configuring allowedOrigins so cross-origin HTTP/WebSocket clients (such as IDMP data-in) can connect with session authentication.
- Improve data consumption capability of taosX Kafka Connector.
- Improve last() query performance over large time ranges by skipping all-NULL data blocks via internal non-null prefiltering.
- Improve step bar scroll tracking and step navigation on the taosExplorer data subscription sample-code page.
- Improve taosX incremental backup/restore to support restoring from any backup point via schema snapshots, and add schema restore for virtual tables and stream tasks.
- Raise XNODE TASK parser and JOB config size limits to 960 KiB and 1 MiB so taosX can create large import tasks with 400+ fields.
- taosdump adds -M/--content (basic/ext-meta/all) so backup and restore can select content; default is basic only, with phased ext-meta restore to avoid cross-database virtual-table dependency failures.
- taosdump now writes backup.log / restore.log during backup and restore to record version, parameters, and full SQL details.
- taosgen supports TIMESTAMP as a regular measurement column and converting time strings to timestamps.
- WebSocket STMT2 frees the associated query result set on close, aligning with native STMT2 behavior.
Fixes
- Backup/ETL tasks could still be assigned to a dropped xnode and fail after DROP XNODE.
- Client abort when a server response arrives while the connection is closing.
- Downgrade false IDX ERROR logs to debug when a filter is not suitable for the tag index path.
- Explorer OPC CSV upload failing after /upload response format change, which left the config file path empty and caused validation errors.
- Explorer PI/OPC configuration page spelling and label-style issues that could make path filter settings display incorrectly.
- Explorer Slow SQL pagination errors causing memory spikes, empty data after changing page size, and permanently disabled buttons after query failures.
- Explorer backup task creation allowing duplicate tasks when users repeatedly click save during UI timeouts.
- Explorer data ingestion task activity panel missing failure reasons and error/warn messages, and missing activity records for some transform errors.
- Explorer license page incorrectly displaying IDMP-related grants and status.
- External-window stream result-block reuse could omit capacity growth for larger batches, causing out-of-bounds writes and taosd crashes.
- First-time taosX TMQ backup task creation timing out due to circular wait when validation created topics.
- INTERVAL queries failing with Executor internal error when logical Scan clone omitted timezone day-boundary fields.
- Incomplete default metadata (e.g. root/cluster/mnode) after an interrupted single-node first deploy causing Invalid user on connect; auto-heal missing objects on startup.
- Inconsistent TIMETRUNCATE day/week truncation between implicit session timezone and explicit fixed offsets (e.g. +0800) on scalar paths used by joins and subqueries.
- Inconsistent last/last_row results for overlapping INTERVAL+SLIDING windows between direct and subquery paths, and unstable multi-week sliding-window phase alignment.
- Inconsistent machine codes from taosd -k under root between 3.4.1.0 and 3.4.2.3 compared with earlier versions.
- Incorrect imputation results caused by not resetting the result write start position after writing timestamps.
- Incorrect timezone conversion on Windows for TIMETRUNCATE and related functions caused by ISO vs POSIX UTC-offset sign mismatch.
- InfluxDB 1.x high-cardinality sync that could miss source data and leave TDengine inconsistent, with improved import options and reliability checks.
- InfluxDB sync task spending excessive startup time by loading full bucket metadata even when only a few measurements are selected.
- Kafka sync tasks stopping with table-not-exist after a cached child table was deleted when SQL tag cache was enabled.
- Memory leak from unreleased nested arrays in SStatusReq during status heartbeat handling.
- Multi-replica mnode upgrades from 3.3 to 3.4.2.0–3.4.2.4 could skip role upgrade and lose default system roles and user privileges.
- Non-root users got Permission denied on auto-create inserts right after CREATE DATABASE because the client auth cache was not refreshed until the next heartbeat.
- Notification-only streams with MAX_DELAY crashing on null calc request when WAL returns no data.
- OPC collection task panicking and failing to start normally when the connection drops while problematic nodes are present.
- PI Connector task restart loop and silent data loss caused by over-long column names.
- Python native connector process crash caused by not retaining asynchronous query callbacks.
- Queries failing when multiple MAVG, STATECOUNT, or STATEDURATION functions are used with ts or ordinary columns in the same SQL.
- Query performance regression after RPC CRC was introduced in 3.4.2 by enabling hardware CRC on x86 clients and adding the rpcCrcEnable configuration option.
- Reject taosdump resume (-C) when -F differs from the previous backup format, which previously mixed formats in one directory and broke restore.
- SHOW CREATE TABLE failing with Unexpected generic error on existing child tables after DROP TAG and ADD TAG on a stable.
- SHOW SUBSCRIPTIONS process crash caused by underestimating result-block capacity during vnode restore.
- STMT2 crashing on close due to double-free of shared tableCols in interlace mode.
- STMT2 multi-table bind/submit failures and taosdump restore data loss when alternating large and small tables.
- STMT2 query binding lost session timezone context, causing incorrect timezone results from time functions such as to_char.
- STMT2/WebSocket auto-create inserts failing with table-not-exist when a child table is dropped between bind and exec, without rebuilding from bound tags.
- Snapshot rate limiting dropping to zero and delivering below the configured speed after hitting the limit.
- Stmt2 auto-create-table writes were much slower than pre-created tables due to repeated tag parsing.
- Stream FILL_HISTORY with PARTITION BY failing with Internal error when some child tables have no data after the history start point, preventing historical results from being generated.
- Stream WebSocket notification frames over 1 MiB causing remote receivers to reject them.
- Stream computation crashing nodes due to out-of-bounds writes when filling WAL metadata beyond the indexed row capacity.
- Stream create-only requests for nodelay_create_subtable with no real windows no longer enter the executor with placeholder windows, preventing Invalid parameters on virtual table scans and empty output subtables.
- Stream processing auto-created table data with invalid timestamps expanding the compute range and driving high CPU.
- TIMETRUNCATE fixed-offset parsing so scalar and join paths accept supported offset forms and apply POSIX sign semantics consistently.
- taosAdapter crashing due to incorrect normal-table metadata handling when TMQ syncs stream-created tables.
- taosBenchmark mixed_query mode did not apply per-SQL result paths, so query results were not written to the configured files.
- taosExplorer S3 backup tasks failing when canceling the S3 dumper incorrectly canceled the whole task.
- taosX TMQ WebSocket transfers disconnecting about every two minutes under sustained large-data fetch because heartbeats failed to refresh the taosAdapter read timeout.
- taosX backup failing to handle table names that contain special characters.
- taosX backup to Aliyun OSS failing under path-style access; add configurable S3 URI style (path/virtualhost).
- taosX periodic backup not stopping on schedule because interval parameters were not applied, causing continuous backup growth.
- taosX sync treating recoverable target-side failures (such as taosd downtime) as fatal, causing the process to exit and preventing sync from resuming after the target recovers.
- taosX table-specific backup spending too long on pre-check and aborting the whole job when a single table fails.
- taosX taos-to-taos sync failing to migrate virtual child tables.
- taosX task-level backup cross-cluster restore succeeding without restoring data due to unrecognized
-1job subdirectory. - taosd crash on DROP DATABASE when shared storage is enabled without a default access string.
- taosdump failing with Invalid column name when backing up tables whose primary time column is not named ts.
- taosdump treating server unavailability during backup as end-of-data, causing incomplete backups, and improve retries for transient outages.
- taoskeeper failing to start after Windows All-in-One installation.
- Temporarily reject aggregate DISTINCT in windows other than INTERVAL at parse time.
- to_timestamp randomly reported format mismatch for valid dates when a stale thread-local errno ERANGE remained from prior conversions.
- VGroup incorrectly marked offline before a valid heartbeat last-seen time is available.
- Virtual child SELECT TAGS incorrectly expanding results by source data rows, and EXPLAIN SELECT TAGS crashing due to null scan-column list dereference.
- Virtual-table SELECT TAGS failed with Planner slot key not found after ALTER TAG because positional matching used a stale tagRef array.
- Windows taos client intermittent hang on connection close caused by a libuv race.
- Windows taosdump crashing on older CPUs without BMI2 because Snappy was built with those instructions; also name crash dump files after the crashing module instead of always using the taosd prefix.
- XNODE CSV data ingest task creation failing with the default quote character.
- XNODE showing offline when created with 127.0.0.1 because taosX default listen accepted only IPv6 on some platforms.