ver-3.4.1.6
Breaking risk
Notable features
- XNODE management page in taos-explorer with automatic task redirection
- Rust connector support for batch tag updates, DECIMAL, and BLOB types
- Automatic reconnection for AVEVA Historian data source in taosX
Full changelog
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 https://github.com/taosdata/TDengine/pull/34970
- docs: move main to new pkglist and release components by @danielclow in https://github.com/taosdata/TDengine/pull/35017
- fix: windows cases failed issues by @dapan1121 in https://github.com/taosdata/TDengine/pull/35014
- docs: update SQLAlchemy dependency requirements for taos-ws-py connector by @qevolg in https://github.com/taosdata/TDengine/pull/35009
- docs(taosgen): enhance CSV reader to support blob file pattern and streaming mode by @YamingPei in https://github.com/taosdata/TDengine/pull/34975
- fix: resolve many tdb bugs by @localvar in https://github.com/taosdata/TDengine/pull/35006
- docs(jdbc): publish 3.8.2 by @sheyanjie-qq in https://github.com/taosdata/TDengine/pull/35029
- docs: update release note for 3.4.1.0 in office web by @feici02 in https://github.com/taosdata/TDengine/pull/35039
- fix(query/mem): release msg memory immediately instead of response by @stephenkgu in https://github.com/taosdata/TDengine/pull/34988
- fix: fix crash in scalar caused by window function without from by @dapan1121 in https://github.com/taosdata/TDengine/pull/35043
- fix: update allure report URLs to remove port number by @tomchon in https://github.com/taosdata/TDengine/pull/35050
- enh: virtual table support decimal. by @Simon9997 in https://github.com/taosdata/TDengine/pull/35026
- fix(stream): tolerate existing output table on submit;fix stream out-column timestamp precision checks by @Pengrongkun in https://github.com/taosdata/TDengine/pull/35044
- docs: remove slugs and update links to md by @danielclow in https://github.com/taosdata/TDengine/pull/35053
- docs: update ha overview by @danielclow in https://github.com/taosdata/TDengine/pull/35018
- fix(planner): verify %%tbname to use single-table external window by @JinqingKuang in https://github.com/taosdata/TDengine/pull/35054
- fix:query return error unknown error 65535 issue by @dapan1121 in https://github.com/taosdata/TDengine/pull/35003
- fix: cast to json unknown 65535 error and add ut cases by @dapan1121 in https://github.com/taosdata/TDengine/pull/35073
- test(os): join threads to avoid race/use-after-free in osSemaphoreTests by @facetosea in https://github.com/taosdata/TDengine/pull/35055
- fix(taos-tools): remove custom duplicate macros and uniformly use the macro definitions under the project's include directory by @YamingPei in https://github.com/taosdata/TDengine/pull/35025
- fix(stmt2): correct DECIMAL in KV+blob row build and align bind path with parsed columns by @Pengrongkun in https://github.com/taosdata/TDengine/pull/35010
- fix: colDataKeepFirstNRows reset varmeta.length when all kept rows ar… by @facetosea in https://github.com/taosdata/TDengine/pull/35061
- fix(parser): relax stream tag type modifier checks for stream tags by @JinqingKuang in https://github.com/taosdata/TDengine/pull/35089
- docs(window): clarify tag usage in state and event windows by @JinqingKuang in https://github.com/taosdata/TDengine/pull/35091
- enh: timezone to conform iso8601 - main by @localvar in https://github.com/taosdata/TDengine/pull/35081
- fix(tmq): optimize poll logic & vtable meta error & dead lock in sometimes by @wangmm0220 in https://github.com/taosdata/TDengine/pull/35086
- fix: Improve the externalwindow documentation while fixing the bug in the group_concat function by @facetosea in https://github.com/taosdata/TDengine/pull/35078
- feat: Enhance TDgpt installer with resource package support by @tomchon in https://github.com/taosdata/TDengine/pull/35069
- fix:clean build directory in CI workflow for docs by @tomchon in https://github.com/taosdata/TDengine/pull/35100
- docs: update python docs by @qevolg in https://github.com/taosdata/TDengine/pull/35090
- fix(taosdump): cancel the page-based query of table data and switch to a single query instead by @YamingPei in https://github.com/taosdata/TDengine/pull/35096
- fix(client): tsQueryTbNotExistAsEmpty still exposes TABLE_NOT_EXIST to caller by @JinqingKuang in https://github.com/taosdata/TDengine/pull/35104
- doc: update user manual for anomaly detecion. by @hjxilinx in https://github.com/taosdata/TDengine/pull/35106
- fix(stream): force read all data for count window by @JinqingKuang in https://github.com/taosdata/TDengine/pull/35108
- fix: [6952357866] fix audit bugs by @cadem in https://github.com/taosdata/TDengine/pull/35094
- fix: [6832429823] Add virtual child table colRef check. by @Simon9997 in https://github.com/taosdata/TDengine/pull/35101
- enh: delay auto ssmigrate to avoid conflict by @localvar in https://github.com/taosdata/TDengine/pull/35102
- feat(taos): support to display binary non-printable char in taos shell by @YamingPei in https://github.com/taosdata/TDengine/pull/35099
- docs: update Node.js connector docs by @qevolg in https://github.com/taosdata/TDengine/pull/35116
- fix: [6955525222] check applied before quit assinged by @cadem in https://github.com/taosdata/TDengine/pull/35117
- fix(scalar): prevent crash on NULL varbinary in BETWEEN timestamp expression by @dapan1121 in https://github.com/taosdata/TDengine/pull/35113
- fix(nodes,scalar): fix EXPLAIN crash and wrong scan range with CASE WHEN expression by @dapan1121 in https://github.com/taosdata/TDengine/pull/35125
- fix: process the return value at metrics.c. by @xiao-77 in https://github.com/taosdata/TDengine/pull/34742
- fix: memory leak while taos_query blocked then terminal signal received by @DuanKuanJun in https://github.com/taosdata/TDengine/pull/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 https://github.com/taosdata/TDengine/pull/35080
- test: add encryption with multi-level storage test case by @xiao-77 in https://github.com/taosdata/TDengine/pull/35131
- fix: lost data while last wal log file corrupted. by @xiao-77 in https://github.com/taosdata/TDengine/pull/35138
- refactor(timezone): checkTime in dnode and mnode implementations and timetruncate logic for interval (main branch) by @Tony2h in https://github.com/taosdata/TDengine/pull/35057
- docs(dotnet): dotnet connector supports blob data type by @YamingPei in https://github.com/taosdata/TDengine/pull/35148
- fix: avoid use-after-free of pQuery->pCmdMsg in asyncExecDdlQuery by @dapan1121 in https://github.com/taosdata/TDengine/pull/35152
- fix(tmq): add test case for drop table & updata docs by @wangmm0220 in https://github.com/taosdata/TDengine/pull/35141
- fix(auth): allow login for users created with storage encryption enabled. by @xiao-77 in https://github.com/taosdata/TDengine/pull/35156
- fix: taos_cleanup by @facetosea in https://github.com/taosdata/TDengine/pull/35079
- docs: add taosk --view-config and --edit-file usage by @xiao-77 in https://github.com/taosdata/TDengine/pull/35155
- docs(jdbc): release 3.8.3 by @sheyanjie-qq in https://github.com/taosdata/TDengine/pull/35170
- docs: update nodejs connector docs by @qevolg in https://github.com/taosdata/TDengine/pull/35137
- docs(dotnet): dotnet connector supports decimal data type for stmt by @YamingPei in https://github.com/taosdata/TDengine/pull/35154
- feat: add profile search api and tests. by @hjxilinx in https://github.com/taosdata/TDengine/pull/35150
- docs: update Node.js connector docs by @qevolg in https://github.com/taosdata/TDengine/pull/35179
- fix: remove queryBufferSize and cacheLazyLoadThreshold in code and docs by @dapan1121 in https://github.com/taosdata/TDengine/pull/35176
- enh(stmt2): refactoring stmt2 retry strategy by @Pengrongkun in https://github.com/taosdata/TDengine/pull/35139
- fix(doc/subquery): support subquery with stream computing by @stephenkgu in https://github.com/taosdata/TDengine/pull/35180
- fix(stream): handle notify output for nested diff external window by @JinqingKuang in https://github.com/taosdata/TDengine/pull/35146
- fix(stream/mnode): fix stream heartbeat msg processing's locking by @stephenkgu in https://github.com/taosdata/TDengine/pull/35164
- fix: install script bugs (chmod 666, insserv typo, process handling) by @tomchon in https://github.com/taosdata/TDengine/pull/35159
- ci: update CI dockerfile for improved reliability and security by @tomchon in https://github.com/taosdata/TDengine/pull/35168
- feat: implement kill_process_tree to recursively terminate processes and their descendants by @tomchon in https://github.com/taosdata/TDengine/pull/35163
- feat(docs): security demos and connector docs update by @sheyanjie-qq in https://github.com/taosdata/TDengine/pull/35124
- docs: add agent install procedure by @danielclow in https://github.com/taosdata/TDengine/pull/35178
- docs: unify data in task creation step by @danielclow in https://github.com/taosdata/TDengine/pull/35197
- docs: fix import in agent doc by @danielclow in https://github.com/taosdata/TDengine/pull/35212
- feat(mac): sod mandatory and mac[manual-only] by @kailixu in https://github.com/taosdata/TDengine/pull/35121
- fix: add ddos and buffer overflow ci case by @DuanKuanJun in https://github.com/taosdata/TDengine/pull/35208
- security and quality: pynacl>=1.6.2 by @DuanKuanJun in https://github.com/taosdata/TDengine/pull/35201
- security and quality: requests>=2.32.0 by @DuanKuanJun in https://github.com/taosdata/TDengine/pull/35203
- security and quqlity: requests upgrade to 2.32.4 by @DuanKuanJun in https://github.com/taosdata/TDengine/pull/35199
- chore(deps): bump urllib3 from 2.5.0 to 2.6.3 in /tools/tdgpt by @dependabot[bot] in https://github.com/taosdata/TDengine/pull/34217
- security and quality: urllib3==2.6.3 by @DuanKuanJun in https://github.com/taosdata/TDengine/pull/35204
- security and quality: pip 25.0.1→26.0.1 by @DuanKuanJun in https://github.com/taosdata/TDengine/pull/35207
- security check: fontTools 4.54.1->4.60.2 by @DuanKuanJun in https://github.com/taosdata/TDengine/pull/35219
- fix(rbac): privilege exemption for db owner by sml by @kailixu in https://github.com/taosdata/TDengine/pull/35209
- fix(tdgpt): add retry and isolation mode to pip availability check by @tomchon in https://github.com/taosdata/TDengine/pull/35187
- docs: update python connector docs by @qevolg in https://github.com/taosdata/TDengine/pull/35188
- security check: int32 with size_t mixed calc on memcpy parameter by @DuanKuanJun in https://github.com/taosdata/TDengine/pull/35218
Full Changelog: https://github.com/taosdata/TDengine/compare/ver-3.4.1.0...ver-3.4.1.6