Behavior change and compatibility
Enhancements
- When creating taosX tasks in taos-explorer, users are automatically redirected to the XNODE creation page if no XNODE is available
- In Explorer DataIn, the default empty tag column is automatically removed when a supertable data column is moved to the tag column
- Improved cross-origin security in taos-explorer
- Added an XNODE management page to taos-explorer
- Optimized communication logging between xnoded and taosX
- Improved SQLAlchemy compatibility in taos-ws-py
- Added support for importing and exporting taosX configuration files through taos-explorer
- Added automatic reconnection support for the AVEVA Historian data source in taosX after disconnection
- Added support in the Rust connector for subscribing to batch tag update messages
- Added DECIMAL and BLOB support to parameter binding in the Rust connector
- Added a connector security development guide and security examples
- Added the -H option to taos shell to display BINARY strings containing non-printable characters in hexadecimal format (0x...), disabled by default
- Added daylight saving time conversion support to the TO_ISO8601 function
- Added minute-level timezone offset support for the TZH format in the to_char and to_timestamp functions
- In STMT2 write mode, child-table metadata changes no longer return the TSDB_CODE_NEED_RETRY error
- Interval windows now support partitioning based on the timezone carried by the client
- Optimized the output format of show table distribute and added the INFORMATION_SCHEMA.INS_DISK_USAGE system table for querying table data distribution
- Optimized the truncation logic when the last WAL file is corrupted
- Tables used by subscriptions can now be dropped. After dropping and recreating the table, running reload topic restores the subscription
- Added the syncAssignedCheckAppliedGap parameter. In dual-replica mode, when a node is assigned as leader, this parameter controls the threshold gap between the follower's applied index and commit index to prevent the follower from entering the restoring state before catching up
- Added DECIMAL column support for virtual tables
Fixes
- Fixed slow loading of the Explorer DataIn tasks page when many tasks exist
- Fixed inaccurate SQL execution times returned by taos-explorer
- Fixed the issue where filter conditions did not take effect when configuring taosX tasks in taos-explorer
- Fixed backup point generation errors in taosX when no data is available
- Fixed an internal logic error that caused OPC access failures on Windows when taosX bound to port 6051
- Fixed the issue where the authentication parameter input box was not displayed when Custom Authentication was selected for the Pulsar data source in taosX
- Fixed the issue where the Pulsar data source in taosX remained in the creating state because data splitting is unsupported
- Fixed incorrect auto-increment behavior when taosX generated timestamp column data with composite primary keys for Kafka data sources
- Fixed the issue where taosX did not display an error and could not recover or retry when fetching sample data for SparkPlugB
- Fixed the intermittent failure to stop xnoded child processes on Windows
- Fixed the issue where taosdump returned empty data without throwing an exception when the engine service became unavailable during WebSocket reads
- Fixed significant performance degradation when taosdump exported large-volume subtables
- Fixed incorrect path handling when generating keys with the taosk tool
- Fixed the issue where the queryTableNotExistAsEmpty parameter did not take effect when accessed through taosAdapter
- Fixed errors when creating streams in nanosecond-precision databases if fixed values were used for TAG columns in stream output tables
- Fixed conflicts between expired data deletion (trim) and shared-storage migration operations
- Fixed a potential issue where the mnode message queue could become saturated during data compact operations if some nodes stayed offline for an extended period, causing connection exceptions
- Fixed failures when writing monitoring information to the log database
- Fixed a latent risk caused by inconsistent column counts between virtual subtables and virtual supertables in the schema
- Fixed crashes caused by executing certain functions in queries without a FROM clause
- Fixed crashes caused by type-conversion expressions such as not (cast(null as varbinary) between now() and ts) in queries
- Fixed errors when writing stream computing results to an existing regular table as the result table
- Fixed an OOM issue caused by incorrect memory release logic when using %%tbname in stream queries under large-write workloads
- Fixed high memory usage in count_window when reading historical data in stream computing
- Fixed OOM crashes caused by an uncontrolled upper limit on the number of sliding windows during WAL replay in stream computing
- Fixed crashes in outer stream queries when diff() and notify were used together
- Fixed crashes and incorrect results in the group_concat function
- Fixed inconsistencies between the execution plan and actual execution when CASE WHEN referenced the primary key as a filter condition
- Fixed a memory leak on taos_cleanup exit
- Made the output of USE DATABASE on macOS consistent with Linux; it now uniformly displays Database changed.
- Fixed the issue where the Windows installer could not shut down processes gracefully
What's Changed
- docs(c#): update TDengine.Connector version to 3.2.0 and add WebSocket failover support by @huskar-t in #34970
- docs: move main to new pkglist and release components by @danielclow in #35017
- fix: windows cases failed issues by @dapan1121 in #35014
- docs: update SQLAlchemy dependency requirements for taos-ws-py connector by @qevolg in #35009
- docs(taosgen): enhance CSV reader to support blob file pattern and streaming mode by @YamingPei in #34975
- fix: resolve many tdb bugs by @localvar in #35006
- docs(jdbc): publish 3.8.2 by @sheyanjie-qq in #35029
- docs: update release note for 3.4.1.0 in office web by @feici02 in #35039
- fix(query/mem): release msg memory immediately instead of response by @stephenkgu in #34988
- fix: fix crash in scalar caused by window function without from by @dapan1121 in #35043
- fix: update allure report URLs to remove port number by @tomchon in #35050
- enh: virtual table support decimal. by @Simon9997 in #35026
- fix(stream): tolerate existing output table on submit;fix stream out-column timestamp precision checks by @Pengrongkun in #35044
- docs: remove slugs and update links to md by @danielclow in #35053
- docs: update ha overview by @danielclow in #35018
- fix(planner): verify %%tbname to use single-table external window by @JinqingKuang in #35054
- fix:query return error unknown error 65535 issue by @dapan1121 in #35003
- fix: cast to json unknown 65535 error and add ut cases by @dapan1121 in #35073
- test(os): join threads to avoid race/use-after-free in osSemaphoreTests by @facetosea in #35055
- fix(taos-tools): remove custom duplicate macros and uniformly use the macro definitions under the project's include directory by @YamingPei in #35025
- fix(stmt2): correct DECIMAL in KV+blob row build and align bind path with parsed columns by @Pengrongkun in #35010
- fix: colDataKeepFirstNRows reset varmeta.length when all kept rows ar… by @facetosea in #35061
- fix(parser): relax stream tag type modifier checks for stream tags by @JinqingKuang in #35089
- docs(window): clarify tag usage in state and event windows by @JinqingKuang in #35091
- enh: timezone to conform iso8601 - main by @localvar in #35081
- fix(tmq): optimize poll logic & vtable meta error & dead lock in sometimes by @wangmm0220 in #35086
- fix: Improve the externalwindow documentation while fixing the bug in the group_concat function by @facetosea in #35078
- feat: Enhance TDgpt installer with resource package support by @tomchon in #35069
- fix:clean build directory in CI workflow for docs by @tomchon in #35100
- docs: update python docs by @qevolg in #35090
- fix(taosdump): cancel the page-based query of table data and switch to a single query instead by @YamingPei in #35096
- fix(client): tsQueryTbNotExistAsEmpty still exposes TABLE_NOT_EXIST to caller by @JinqingKuang in #35104
- doc: update user manual for anomaly detecion. by @hjxilinx in #35106
- fix(stream): force read all data for count window by @JinqingKuang in #35108
- fix: [6952357866] fix audit bugs by @cadem in #35094
- fix: [6832429823] Add virtual child table colRef check. by @Simon9997 in #35101
- enh: delay auto ssmigrate to avoid conflict by @localvar in #35102
- feat(taos): support to display binary non-printable char in taos shell by @YamingPei in #35099
- docs: update Node.js connector docs by @qevolg in #35116
- fix: [6955525222] check applied before quit assinged by @cadem in #35117
- fix(scalar): prevent crash on NULL varbinary in BETWEEN timestamp expression by @dapan1121 in #35113
- fix(nodes,scalar): fix EXPLAIN crash and wrong scan range with CASE WHEN expression by @dapan1121 in #35125
- fix: process the return value at metrics.c. by @xiao-77 in #34742
- fix: memory leak while taos_query blocked then terminal signal received by @DuanKuanJun in #35064
- fix: windows pList not locked and add more info to minidump file, OOM crash caused by unbounded creation of Sliding Window during stream computing WAL replay by @DuanKuanJun in #35080
- test: add encryption with multi-level storage test case by @xiao-77 in #35131
- fix: lost data while last wal log file corrupted. by @xiao-77 in #35138
- refactor(timezone): checkTime in dnode and mnode implementations and timetruncate logic for interval (main branch) by @Tony2h in #35057
- docs(dotnet): dotnet connector supports blob data type by @YamingPei in #35148
- fix: avoid use-after-free of pQuery->pCmdMsg in asyncExecDdlQuery by @dapan1121 in #35152
- fix(tmq): add test case for drop table & updata docs by @wangmm0220 in #35141
- fix(auth): allow login for users created with storage encryption enabled. by @xiao-77 in #35156
- fix: taos_cleanup by @facetosea in #35079
- docs: add taosk --view-config and --edit-file usage by @xiao-77 in #35155
- docs(jdbc): release 3.8.3 by @sheyanjie-qq in #35170
- docs: update nodejs connector docs by @qevolg in #35137
- docs(dotnet): dotnet connector supports decimal data type for stmt by @YamingPei in #35154
- feat: add profile search api and tests. by @hjxilinx in #35150
- docs: update Node.js connector docs by @qevolg in #35179
- fix: remove queryBufferSize and cacheLazyLoadThreshold in code and docs by @dapan1121 in #35176
- enh(stmt2): refactoring stmt2 retry strategy by @Pengrongkun in #35139
- fix(doc/subquery): support subquery with stream computing by @stephenkgu in #35180
- fix(stream): handle notify output for nested diff external window by @JinqingKuang in #35146
- fix(stream/mnode): fix stream heartbeat msg processing's locking by @stephenkgu in #35164
- fix: install script bugs (chmod 666, insserv typo, process handling) by @tomchon in #35159
- ci: update CI dockerfile for improved reliability and security by @tomchon in #35168
- feat: implement kill_process_tree to recursively terminate processes and their descendants by @tomchon in #35163
- feat(docs): security demos and connector docs update by @sheyanjie-qq in #35124
- docs: add agent install procedure by @danielclow in #35178
- docs: unify data in task creation step by @danielclow in #35197
- docs: fix import in agent doc by @danielclow in #35212
- feat(mac): sod mandatory and mac[manual-only] by @kailixu in #35121
- fix: add ddos and buffer overflow ci case by @DuanKuanJun in #35208
- security and quality: pynacl>=1.6.2 by @DuanKuanJun in #35201
- security and quality: requests>=2.32.0 by @DuanKuanJun in #35203
- security and quqlity: requests upgrade to 2.32.4 by @DuanKuanJun in #35199
- chore(deps): bump urllib3 from 2.5.0 to 2.6.3 in /tools/tdgpt by @dependabot[bot] in #34217
- security and quality: urllib3==2.6.3 by @DuanKuanJun in #35204
- security and quality: pip 25.0.1→26.0.1 by @DuanKuanJun in #35207
- security check: fontTools 4.54.1->4.60.2 by @DuanKuanJun in #35219
- fix(rbac): privilege exemption for db owner by sml by @kailixu in #35209
- fix(tdgpt): add retry and isolation mode to pip availability check by @tomchon in #35187
- docs: update python connector docs by @qevolg in #35188
- security check: int32 with size_t mixed calc on memcpy parameter by @DuanKuanJun in #35218
Full Changelog: ver-3.4.1.0...ver-3.4.1.6