Release date: 2026-07-02
| Release type | Recommended for |
|---|---|
| Maintenance release | Users upgrading from v3.3 to v3.4, and users of stream processing, STMT, or taosX ingestion from PI, MQTT, or InfluxDB
|
1. Highlights
- A state-window expression supports constants, tag columns, and logical operators.
- Licensing through a License Server is supported.
- Interactive taos shell can subscribe to a topic with
SUBSCRIBE. - The JDBC, Rust, and C# connectors support taosAdapter high availability.
- Windows supports UDF and shared storage. The default
WAL_LEVELof a new database is 2. - A damaged WAL is repaired automatically by default, and the damaged file is removed.
2. Features
- A state-window expression supports constants, tag columns, and logical operators.
- Licenses can be managed through a License Server.
- Interactive taos shell adds
SUBSCRIBEfor subscribing to a topic. - The JDBC, Rust, and C# connectors support taosAdapter high availability.
SHOW CREATE STREAMshows the statement that created a stream.- A column query result can be shown with masking.
- The
BASE64function supports non-string arguments. - The ODBC WebSocket connector supports transport compression. The C WebSocket connector supports
DECIMAL. - OPC UA ingestion in taosX-Agent supports store and forward.
KILL COMPACT compact_id FORCEcan force a running compaction to stop.
3. Enhancements
- Windows supports UDF and shared storage. On Windows, the default
WAL_LEVELof a new database is 2, which forces a flush on every write. tmqMaxTopicNumandmqRebalanceIntervalcan be changed at runtime, including in the community edition.- A microsecond-precision database can use
STMT2queries. walDeleteOnCorruptionis added and is on by default. A damaged WAL file is repaired automatically and the damaged file is removed.- A child-event notification of a stream event window adds the parent event ID.
JOINandASOF JOINin stream processing are faster.- A vnode in the learner role no longer takes part in leader election.
- taosX adds
backup.auto_create_dir, which can create the backup directory automatically. Retry and super-table creation are adjusted when a whole OPC UA batch fails, so rows are not lost. - Connectivity checks and login-failure prompts in taosExplorer are clearer.
- taospyudf, which Python UDF depends on, ships with the install package.
pip3 install taospyudfandldconfigno longer have to be run by hand.
4. Fixes
4.1 Severe issues
- While upgrading from
v3.3tov3.4.0.0throughv3.4.1.6, some privileges on a multi-replica mnode stopped working, and root could not create a new user. Check users and privileges after upgrading to this release. - While upgrading from
v3.3.8tov3.4.1.9, stream state was incompatible. - Changing user privileges frequently while running
SHOW USERScrashed the process. Affected versions:v3.4.0.0throughv3.4.1.6. - When a query thread failed to allocate memory, it freed a pointer too early and crashed. Affected versions: all versions.
- STMT crashed when it used
CONCAT. Affected versions: all versions. - After a table was dropped and a same-name table was created during high-efficiency STMT writes, data was written to the wrong place. Affected versions: all versions. Data already written needs to be checked.
- A stream subquery expression used a value cache and returned the wrong result. Affected versions:
v3.3.7.0throughv3.4.1.6. - Stream processing crashed when
%%trowswas written intoVARCHAR. Using a UDF crashed when the function number was out of range. Affected versions:v3.3.7.0throughv3.4.1.6. - The subscription result was wrong when the tag order of the super table did not match the tag order of automatic table creation. Affected versions: all versions.
- Synchronizing InfluxDB with taosX exhausted memory when there were too many measurements. Affected versions: all versions.
- A filter did not take effect when taosX ingested MQTT. Affected versions: all versions. Data already ingested needs to be checked against the filter.
SHOW STABLEShung when there were many super tables. Affected versions: all versions.
4.2 Query, writes, and upgrade
- Concurrent schemaless writes from several clients that also modified the same super table reported an error.
- Querying a virtual table with
STATE_WINDOWand no actual aggregate function reported Invalid parameter. BALANCE LEADERhandled a backticked identifier incorrectly.BALANCE VGROUPreported an error when the replica count was 2.- A Kubernetes deployment could not obtain normal container resource information.
- On Windows, setting the timezone over WebSocket had no effect, the native library used the wrong
TZformat, and taosd log order was wrong. - The C WebSocket schemaless write converted microsecond precision incorrectly.
4.3 taosX and taosExplorer
- taosX: a filter in a Kafka rule displayed incorrectly; retry after a Kafka cluster failure is more complete; collection failed when UDT was used together with a super-table template; task creation failed when MQTT configured UDT parsing and a filter at the same time; PI Connector could not change the super-table name or column names; PI Vision could not refresh in real time when CDR was used; connecting to PI reported an error; PI Connector did not recover automatically after a short network interruption with taosX.
- taosExplorer: DataIn synchronization progress displayed incorrectly; Chinese was garbled when exporting CSV in an English locale; renaming a DataIn task did not take effect; saving a data-ingestion task failed.
5. Security
5.1 Vulnerability fixes
None.
5.2 Hardening
A column query result can be shown with masking.
6. Upgrade notes
6.1 Upgrade path
Direct upgrade, rolling upgrade, downgrade, and the minimum client version are not stated separately on this page.
6.2 Behavior changes
- On Windows, the default
WAL_LEVELof a new database is 2. Existing databases are unchanged. walDeleteOnCorruptionis on by default. A damaged WAL is repaired automatically and the damaged file is removed.tmqMaxTopicNumandmqRebalanceIntervalcan be changed at runtime, including in the community edition.- Python UDF no longer requires a separate taospyudf installation.
- While upgrading from
v3.3to av3.4earlier than this release, privileges on a multi-replica mnode and root's ability to create users could stop working. This release fixes that. Check them again after the upgrade.
6.3 Configuration changes
| Parameter | Purpose |
|---|---|
| walDeleteOnCorruption | Whether a damaged WAL file is repaired automatically and the damaged file is removed. On by default. |
| tmqMaxTopicNum | Upper limit of subscription topics. Can be changed at runtime. |
| mqRebalanceInterval | Subscription rebalance interval. Can be changed at runtime. |
| backup.auto_create_dir | Whether taosX creates the backup directory automatically. |
6.4 Keyword changes
None.
6.5 System table changes
No system table is added. A stream child-event notification adds a parent event ID field.
No system table is removed in this release.
6.6 Dependency changes
Dependency versions did not change.
6.7 Before you upgrade
An upgrade from v3.3.6 cannot keep the old stream processing. See Compatibility Notes.
A cluster that already runs the new stream processing on v3.4.0.0 or later does not repeat those steps when it rolls to this release.
7. Known issues
None.
8. Downloads
The package is available from the TDengine download center. The package includes an SBOM and a SHA256 checksum.