Behavior change and compatibility
Features
- feat: Automatically create xnode during TSDB initialization
- feat: Explorer License page show machine code
- feat: taosX-agent support xnode ha
- feat: taosX support parquet files import
- feat: add SQL recording for STMT in adapter
- feat: Rust native connector support STMT2
- feat: support dual conditions of duration and row count for true_for judgment in event and state windows of stream and batch query
Enhancements
- enh: STMT query supports the binding of the interval parameter
- enh: provide clearer error messages for SQL statements
- enh: add column created_by/labels for XNODE TASK
- enh: optimize the login verification logic to force root users who log in with the default password to change their passwords
- enh: improve the processing mechanism of data encryption for bse and other files
- enh: add notification mechanism related to user tokens
- enh: support upgrading clusters with old-version data encryption mechanism to new-version one
- enh: support creating TOTP secrets using the create totp_secret syntax
- enh: Support both IPv4 & IPv6 protocol stacks
- enh: support updating expiration time and policy for data encryption keys
- enh: allow any chars in MQTT topic
- enh: rename lag function to fill_forward and redevelop Lag function compatible with MySQL in follow-up
- enh: improve performance of cols + last queries on virtual tables with only one original table
- enh: support modifying permission control for users
- enh: improve permission control for views and audits
- enh: handle permission compatibility from version 3.3 to 3.4
- enh: prohibit users from tampering with configuration files after data encryption takes effect
- enh: optimize the notification content of stream period triggers by adding the trigger start time and end time fields (retaining the windowStart and windowEnd field names)
- enh: adjust the upper limit of the original tables referenced by virtual tables from 1000 to 2000
- enh: reduce the computing latency when stream query statements contain virtual table tag filter conditions
- enh: optimize the syntax of stream statements to support the use of placeholders such as _twstart in the ORDER BY clause
- enh: optimize the execution logic of outer join queries to resolve the issue where limit does not take effect when order by is not specified
Fixes
- fix: incorrect results when executing the show create table statement on virtual tables
- fix: null pointer error when InfluxDB schema changes
- fix: crash in stream caused by improper handling of heartbeat messages after mnode leader switchover
- fix: memory leak that occurs when UDF function initialization fails
- fix: influxdb error with backslash syntax in taosX
- fix: incorrect results when invoking the concat function in stream
- fix: taoskeeper allow special chars in password
- fix: inaccurate scheduled execution time for multi-level storage migration tasks
- fix: migrate stuck in AVEVA Historian data-in
- fix: incorrect results when the data in individual group windows is all NULL values during multi-group processing in state windows
- fix: abnormal calculation results after deleting and rebuilding the result subtable of stream
- fix: the client may crash when the concurrent write volume of STMT is high
- fix: incorrect default time configuration issue for password reuse restrictions
- fix: error while performing JOIN operations with subqueries without the FROM clause
- fix: MySQL DataIn task may blocking when few data rows
- fix: remove duplicate error details
- fix: trigger logic error of the true_for option in stream when out-of-order data is written
- fix: taosX native connection tmq error message
- fix: possibly stuck on systemctl stop taosd caused by xnoded
- fix: subscriptions created by a user cannot be canceled after the user is deleted
- fix: crash while combined use of group_concat function and count_window
- fix: fix create task error for opc
- fix: failed to set user permissions in taosExplorer of v3.4.0 version
What's Changed
- docs: update xnode port by @zitsen in #34152
- docs: update release note for 3.4.0.0 in office web by @feici02 in #34153
- docs: minor corrections by @danielclow in #34159
- feat(docs): add taosx datain Pulsar/Pulsar-Tuya docs by @acerDebugman in #34161
- enh: privilege parse and check create stream by @kailixu in #34143
- chore(jdbc): update jdbc version by @sheyanjie-qq in #34157
- fix(udf): destory data block in the error case by @stephenkgu in #34140
- fix(stream): add resetting tagScan logic & fix parse value error if value is integer & fix tmqError.py by @wangmm0220 in #34124
- feat: support create/drop totp_secret statement by @localvar in #34162
- enh: update keyword list by @localvar in #34177
- fix: groupagg with slimit by @facetosea in #34083
- docs: add connector compatibility desc by @sheyanjie-qq in #34181
- docs: remove tools and old downloads by @danielclow in #33927
- fix: enhance memory leak detection by adding ignore patterns and refactoring count functions by @tomchon in #34176
- Merge stream performance scene test script by @DuanKuanJun in #34139
- fix:add 3.3.8 ci test by @tomchon in #34189
- docs: update 2026 roadmap by @guanshengliang in #34194
- merge: from 3.3.6 to 3.3.8 by @guanshengliang in #34186
- fix: update branch references to 3.3.8 in workflow files by @tomchon in #34192
- fix: 6574866934 by @Pengrongkun in #34171
- fix:insert into stb subquery cross dnodes by @Pengrongkun in #34131
- merge: from 3.3.8 to main branch by @guanshengliang in #34196
- fix(udf): no decoding with error rsp by @stephenkgu in #34180
- fix: failed to run test_write_insert_select.py by @guanshengliang in #34211
- fix: no from query subplan type error by @dapan1121 in #34199
- docs: format udf doc by @danielclow in #34210
- fix:clientHbReq deserialize problem by @Pengrongkun in #34198
- fix: explain with no aggregate function window crash issue by @dapan1121 in #34201
- feat:stmt2 query free result by adapter by @Pengrongkun in #34155
- enh:stmt2 query free result by adapter by @Pengrongkun in #34214
- feat:stmt2 query free result by adapter by @Pengrongkun in #34200
- fix: correct syntax for checking existence of docs-c-test log file by @tomchon in #34191
- docs(log): modify doc of monitor by @wangmm0220 in #34213
- fix(client): heartbeat msg incompatible by @wangmm0220 in #34207
- fix(client): heartbeat msg incompatible by @wangmm0220 in #34208
- fix(client): fix the logic of reading slow log file if thers are \0\0 or other datas format in slow log file by @wangmm0220 in #34206
- Fix:client hb core by @Pengrongkun in #34221
- fix: wrong default value for password reuse time by @localvar in #34212
- feat: add option to force change default password by @localvar in #34165
- fix(stream/fetch): fix stream data fetching from runner by @stephenkgu in #34178
- fix(stream/fetch): fix stream data fetching from runner by @stephenkgu in #34170
- merge: from 3.3.6 to 3.3.8 by @guanshengliang in #34222
- fix: 3 bugs related to token and user by @localvar in #34219
- merge: from 3.3.8 to main by @guanshengliang in #34225
- fix: big offset error by @facetosea in #34183
- feat: add generate encrypt key at test framework. by @xiao-77 in #34182
- fix: allow_datetime cannot be set during create user by @localvar in #34226
- merge: from 3.3.6 to 3.3.8 branch by @guanshengliang in #34231
- enh(meta entry cache): cache switch and size control by @stephenkgu in #34014
- fix(query): init the stt block reader when returning the clean stt/da… by @hjxilinx in #34076
- case: submit test_user_security.py by @DuanKuanJun in #34184
- merge: from 3.3.6 to 3.3.8 by @guanshengliang in #34240
- fix:stmt2 memleak by @Pengrongkun in #34169
- merge: from 3.3.8 to main by @guanshengliang in #34243
- fix virtual table test cases by @Simon9997 in #34246
- Fix stream issues by @JinqingKuang in #34254
- fix: improve error handling during server startup in taoskeeper by @qevolg in #34249
- fix: improve error handling during server startup in taoskeeper by @qevolg in #34247
- feat(taosx): support xnode agent management sql by @acerDebugman in #34224
- fix: test_user_manager.py connect timeout test randomly failed by @DuanKuanJun in #34256
- case: TOTP Login ci case test_user_totp.py by @DuanKuanJun in #34257
- refactor: planning doc format with admonitions by @feici02 in #34262
- fix:add check transcation after new db by @tomchon in #34175
- fix:stmt2 query tbname bind problem by @Pengrongkun in #34174
- fix: taosd core while duplicate exec trim database wal. by @xiao-77 in #34267
- fix: taosd core while duplicate exec trim database wal. by @xiao-77 in #34268
- test: split compatibility case. by @xiao-77 in #34260
- merge: from 3.3.6 to 3.3.8 by @guanshengliang in #34274
- fix(stream): align version between tablelist and submit to avoid Invalid parameters if deleting table by @wangmm0220 in #34255
- fix: state window error when partition by tbname by @Tony2h in #34245
- enh(xnode): add column created_by and labels for xnode task by @acerDebugman in #34264
- docs: update branch in github links by @danielclow in #34234
- docs: remove udf links from headings by @danielclow in #34233
- docs: update release list component by @danielclow in #34281
- docs(pi): user,passwd,domain configurations #none by @zyyang90 in #34286
- fix: stmt2 memleak decimal by @Pengrongkun in #34278
- Test: add token login case test_user_token.py by @DuanKuanJun in #34277
- fix(xnode): update the third parameter of xDecodeCowStr from NULL to … by @acerDebugman in #34288
- fix(ci): remove keeper-related paths from workflow triggers by @tomchon in #34294
- fix(workflow): remove keeper tool from paths-ignore in new-framework-… by @tomchon in #34296
- fix: update workflow paths to include keeper and exclude specific test file by @tomchon in #34295
- Adjust virtual table's max ref table num. by @Simon9997 in #34284
- docs: update 338 pkglist by @danielclow in #34297
- docs: update 336 pkglist by @danielclow in #34289
- merge: from 3.3.6 to 3.3.8 branch by @guanshengliang in #34300
- fix: [6688991144] Push down time range condition. by @Simon9997 in #34282
- fix(stream): align version between tablelist and submit to avoid Invalid parameters if deleting table by @wangmm0220 in #34269
- fix: stmt varchar type leak by @Pengrongkun in #34265
- fix(case): case error in sometimes by @wangmm0220 in #34270
- fix(case): case error in sometimes by @wangmm0220 in #34238
- fix(timer): periodic latency in timer by @kailixu in #34285
- merge: from 3.3.6 to 3.3.8 by @guanshengliang in #34310
- fix(docs): improve space handling after emphasis markers in markdown rules by @tomchon in #34304
- docs(taosx): add Parquet data source support by @zitsen in #34279
- fix(keeper): encode TDengine username and password for special characters by @qevolg in #34292
- fix(keeper): encode TDengine username and password for special characters by @qevolg in #34293
- fix(keeper): encode TDengine username and password for special characters by @qevolg in #34291
- feat: implement token notification by @localvar in #34273
- fix: update installation and removal scripts for improved directory handling by @tomchon in #34172
- fix(install): remove redundant taosd installation checks and prompts by @tomchon in #34316
- mereg: from 3.3.8 to main by @guanshengliang in #34311
- fix: test_user_totp.py randomly failed by @DuanKuanJun in #34312
- merge: from 3.3.6 to 3.3.8 branch by @guanshengliang in #34321
- fix: fix three bugs by @localvar in #34314
- docs: update python docs by @qevolg in #34271
- feat: support encrypt bse , mnode , stream checkpoint. by @xiao-77 in #34197
- chore: remove useless avro doc by @sheyanjie-qq in #34330
- add test_user_manage_local.py case only can run on local by @DuanKuanJun in #34336
- merge: from 3.3.8 to main by @guanshengliang in #34339
- fix(stream): correct varchar literal length in json deserialization by @JinqingKuang in #34324
- fix(stream): correct varchar literal length in json deserialization by @JinqingKuang in #34325
- enh: improve documentation of white/black list by @localvar in #34334
- enh(xnode): support where condition for show xnode task/job/agent clause by @acerDebugman in #34315
- chore: fix xnoded path macro not exist for windows by @acerDebugman in #34349
- fix(tmq): case error in sometimes by @wangmm0220 in #34348
- fix:stmt large scale writing core by @Pengrongkun in #34338
- docs: add activation doc by @danielclow in #34287
- enh:stmt support interval opt by @Pengrongkun in #34354
- fix: [6657125318] Fix wrong terror defined. by @Simon9997 in #34350
- merge: from 3.3.6 to 3.3.8 by @guanshengliang in #34355
- enh: [6718786025] Optimize error code and error msg. by @Simon9997 in #34362
- fix: crash of time whitelist by @yihaoDeng in #34351
- fix(udf/setup): release udf resources when setup failed by @stephenkgu in #34333
- docs: mqtt data subscription link by @danielclow in #34253
- docs: cpp subscribe correction by @danielclow in #34252
- fix: [6719658649] Fix wrong show create virtual table output. by @Simon9997 in #34360
- fix: [6719658649] Fix wrong show create virtual table output. by @Simon9997 in #34359
- fix(stream): fix mgmt add new calc reader task by @JinqingKuang in #34358
- fix(stream): fix mgmt add new calc reader task by @JinqingKuang in #34357
- enh[manual-only]: add condition to skip tests for manual-only pull requests by @tomchon in #34369
- feat: taosk compatibility by @xiao-77 in #34343
- fix(xnode): fix memory leak when executing sql:drop xnode job where config=… by @acerDebugman in #34366
- docs(taosx): add section for exporting to parquet by @zitsen in #34378
- feat/6640154608-audit-encrypt-algo-doc-test by @cadem in #34367
- test: add more cases for user, token and totp by @localvar in #34368
- enh: add support for IPv6 dual-stack in transport layer and related tests by @yihaoDeng in #34370
- merge: from 3.3.8 to main by @guanshengliang in #34381
- enh: clarify and improve accuracy of error description for main by @facetosea in #34383
- docs: add docs for storage encryption. by @xiao-77 in #34377
- fix: only copy local hosts build dir when test failed by @tomchon in #34375
- fix: fix error when dynamically load model, and fix some bugs. by @hjxilinx in #34411
- enh: update installation script to correctly handle start-all.sh file by @tomchon in #34395
- fix compile err on windows by @yihaoDeng in #34399
- fix: add cmake build type parameter in build.bat by @tomchon in #34412
- fix: rename lag function by @facetosea in #34405
- fix: can not restart taosd while use encrypt meta data. by @xiao-77 in #34409
- docs: add TDengine TSDB MCP reference manual by @huskar-t in #34413
- fix: remove success log statements from various test cases to streamline output and reduce redundancy by @tomchon in #34408
- fix:refactor log messages in test cases to remove "successfully executed" for consistency by @tomchon in #34422
- fix: join crash issue by @dapan1121 in #34421
- enh: [6710694996] Eliminate virtual table scan operator. by @Simon9997 in #34415
- docs: update usage examples in TDengine TSDB MCP reference manual by @huskar-t in #34423
- feat: support alter key expiration time. by @xiao-77 in #34390
- enh: prohibit users from tampering with configuration files after data encryption takes effect by @xiao-77 in #34344
- [manual-only] enh(rbac): access control by @kailixu in #34259
- fix: update taosKeeper dependencies by @huskar-t in #34428
- fix: [6570595001] Add correct error handling logic. by @Simon9997 in #34088
- fix(tmq): decode heartbeat msg error if there is a consumer by @wangmm0220 in #34430
- fix(tmq): decode heartbeat msg error if there is a consumer by @wangmm0220 in #34429
- docs: update links in user and permission management documentation by @tomchon in #34437
- merge: from 3.3.6 to 3.3.8 branch by @guanshengliang in #34439
- feat/6747537673-add-doc-audit by @cadem in #34427
- merge: from 3.3.8 to main by @guanshengliang in #34440
- feat(stream): support true for row count limit by @JinqingKuang in #34342
- fix: auth may miss cache when check use db for insert by @kailixu in #34438
- docs(csharp): add bearerToken parameter for TDengine TSDB connection by @huskar-t in #34441
- fix: group_concat type error by @dapan1121 in #34444
- enh: check user name of consumer object directly. by @kailixu in #34445
- enh: support offline mode by @jiajingbin in #34446
- feat[manual-only]: support token auth when creating XNODE by @acerDebugman in #34419
Full Changelog: ver-3.4.0.0...ver-3.4.0.2