Hi all, I would like to say all the critical known bugs have been fixed. I think it is the time to release v0.13.0
Here is the change list: ## New Features * [IOTDB-924] Support insert multi rows in SQL * [IOTDB-959] Add Create Storage Group Grammar * [IOTDB-1037] set rpc\_compression as a parameter in JDBC URL * [IOTDB-1059] Support sql statement insert without timestamp * [IOTDB-1143] Support Continuous query * [IOTDB-1199] Support aligned timeseries and schema template * [IOTDB-1319] Support Trigger * [IOTDB-1391] Add a new Aggregation function extreme (max absolute value) * [IOTDB-1399] Add a session interface to connect multiple nodes * [IOTDB-1400] Support arithmetic operations in SELECT clauses * [IOTDB-1403] Dictionary encoding for TEXT * [IOTDB-1490] Add built-in UDTFs: sinh, conh, tanh * [IOTDB-1514] Support null in insertTablet * [IOTDB-1524] Support SELECT ... INTO ... clause * [IOTDB-1647] Nested Expressions in SELECT clauses * [IOTDB-1673] CLI upgrade to JLine3 * [IOTDB-1739] Constant timeseries generating functions (const, pi and e) * [IOTDB-1760] Support avg, count, extreme, first\_value, last\_value, max\_time, max\_value, min\_time, min\_value, sum aggregations in group by fill * [IOTDB-1761] Add metric framework for IoTDB * [IOTDB-1775] Add CAST function to convert data type * [IOTDB-1823] Support group by multi level * [IOTDB-1844] Query support timeseries prefix and suffix matching: root.\*sg\* * [IOTDB-1859] Support REST API * [IOTDB-1860] New Grafana plugin * [IOTDB-1886] Support Constant Expressions in Select Clauses * [IOTDB-1973] Supports aggregate queries, constants, and arithmetic nested expressions in SELECT clauses * [IOTDB-1986] Support select UDF as alisa clauses * [IOTDB-1989] Spark-IoTDB-connector support inserting data * [IOTDB-2131] Support previous, linear, constant value fill funtion New fill * [IOTDB-2593] Support using IoTDB with JDK17 * [ISSUE-3811] Provide a data type column for the last query dataset * add rabbitmq example ## Improvements * [IOTDB-1280] Rewrite the Antlr grammar file * [IOTDB-1372] Enhance management of TsFileResource * [IOTDB-1428] Ask query threads to quit if query is timeout * [IOTDB-1450] Deletion should only delete related time partitions * [IOTDB-1463] Implement builder pattern for Session and SessionPool * [IOTDB-1477] Optimize code logic of generateAlignByDevicePlan() * [IOTDB-1559] Refactor the IT framework * [IOTDB-1564] Make hearbeat and election timeout parameters be configurable * [IOTDB-1581] Consider deletions when recovering tsFileResource of incomplete tsfile * [IOTDB-1607] Optimize Tracing * [IOTDB-1613] Recover mods file if write modification failed * [IOTDB-1639] Refactoring the cluster class structure to make it consistent with the server module * [IOTDB-1730] client-cpp, enhance session::insertTablet() etc.'s performance * [IOTDB-1852] Accelerate queryies by using statistics * [IOTDB-1857] Remove useless handle logic for CountPlan in executeNonQuery in cluster module * [IOTDB-1884] Distinguish between zero and null values in sum aggregation * [IOTDB-1924] Remove the operation of clearing the cache after the compaction is over * [IOTDB-1950] Add Bloom Filter cache for query * [IOTDB-2001] Remove redundant StorageGroupNotReadyException * [IOTDB-2011] Update last cache while doing show latest timeseries query * [IOTDB-2022] SessionDataSet implements AutoCloseable * [IOTDB-2075] Accelerate the process of insertTablets by using thread pool * [IOTDB-2119] IoTDB CSV export tools add timestamp accuracy setting function * [IOTDB-2162] Simplify the recovery merge process * [IOTDB-2176] Limit target chunk size when performing inner space compaction * [IOTDB-2193] Reduce unnecessary lock operations of RaftLogManager to improve writing performance * [IOTDB-2195] Control the concurrent query execution thread * [IOTDB-2632] Set compaction_write_throughput_mb_per_sec to 16 by default * [ISSUE-3445] New compaction strategy and compaction scheduling strategy * [ISSUE-3856] refine exception handling logic in commitTo in RaftLogManager * [Cluster] No need to shake hands with itself when one node restart ## Incompatible changes * [IOTDB-1026] Support wildcard \*\* in Path And Replace PrefixPath usage with PathPattern in IOTDB-SQL * [IOTDB-1620] Support backtick (\`) character and double quotes (") to quote identifiers * [IOTDB-1650] Rename the sql command `move` to `unload` ## Miscellaneous changes * [IOTDB-1342] modify error message about LIMIT and OFFSET used in conjunction with the FILL clause * [IOTDB-1372] delete devices field in FileTimeIndex * [IOTDB-1531] Check tsfile creation time when recovering * [IOTDB-1541] Change sequence of wal and memtable in insertion * [IOTDB-1923] Separate the request unpacking and execution processing logic of TSServiceImpl * [IOTDB-1969] Remove statistic resources of old metric framework from iotdb-server * [IOTDB-2014] MicrometerPrometheusReporter#getReporterType return null * [IOTDB-2043] refactor: remove haveSorted param from Session * [IOTDB-2154] add TsFileUtils.isTsFileComplete * [IOTDB-2206] Rename StorageGroupProcessor to VirtualStorageGroupProcessor * [IOTDB-2208] Reconstruct the process of generating resultset header of query * [ISSUE-4047] Generic type in Statistics extend Serializable * Add compaction version in cache key * Add a constructor of IoTDBDescriptorHolder to prohibit instantiation ## Bug Fixes * [IOTDB-1266] Fix SHOW TIMESERIES will only display 2000 timeseries * [IOTDB-1478] The whole IoTDB can not read/write if any one sg is not ready * [IOTDB-1562] Fix incorrect exception processing in insertXXX() API * [IOTDB-1583] Raft log failed to be committed in cluster version * [IOTDB-1592] BugFix: SLimit Not effective in align by device * [IOTDB-1736] Fix error code is not printed in TSServiceImpl's log * [IOTDB-1749] sync-tool's lockInstance() dose not take effect * [IOTDB-1758] sync-tool, empty uuid file cause tool can not auto-recovery * [IOTDB-1848] Failed to initialize pool: Does not support setReadOnly in grafana-connector * [IOTDB-1853] Fix bug about more than one TimeseriesMetadata in TsFile * [IOTDB-2010] fix incomplete show timeseries result * [IOTDB-2021] Fix Bloom Filter Cache doesn't take effect bug * [IOTDB-2060] Fix NPE when using fill without a filter * [IOTDB-2074] Fix NullPointerException when recovering compaction in MacOS * [IOTDB-2077] Unexpected exception when executing raw data query without VF with limit clause * [IOTDB-2088] Fix IndexOutOfBound exception in AggregationPlan.groupAggResultByLevel * [IOTDB-2116] Fix all client connections are stuck bug caused by logback bug * [IOTDB-2129] Wrong result returned when querying by nested expressions with aliases * [IOTDB-2143] fix wrong precision in cluster mode * [IOTDB-2153] [IOTDB-2157] fix incorrect path search space * [IOTDB-2159] Fix wrong status code when inserting data to a read-only cluster * [IOTDB-2163] Fix unexpected amount of columns in a cluster slimit query * [IOTDB-2174] Fix Regexp filter serializing and deserializing error * [IOTDB-2180] Fix show latest timeseries in cluster * [IOTDB-2183] Fix the config problems in cluster mode * [IOTDB-2185] Fix get an exception when parsing the header of CSV * [IOTDB-2209] Fix logback CVE-2021-42550 issue * [IOTDB-2251] [IOTDB-2252] Fix Query deadlock * [IOTDB-2267] UDF: Error code 500 caused by user logic * [IOTDB-2282] fix tag recovery bug after tag upsert * [IOTDB-2290] Fix Incorrect query result in C++ client * [IOTDB-2520] Fix `list user privilege root` returns empty * [IOTDB-2544] Fix tag info sync error during metadata sync * [IOTDB-2550] Avoid show timeseries error after alter tag on sync sender * [IOTDB-2654] Fix Alias doesn't show when using group by level * Fix CPP client could not be successfully built on windows * Fix dead lock in setDataTTL method How do you think? Best, Haonan Hou