This is an automated email from the ASF dual-hosted git repository.

hulk pushed a commit to annotated tag v2.1.0
in repository https://gitbox.apache.org/repos/asf/incubator-kvrocks.git

commit d163b26931ccb2aa2eb067e0d3b9ef133d454ca0
Author: git-hulk <[email protected]>
AuthorDate: Mon Jul 18 13:44:27 2022 +0800

    [source-release] prepare release apache-kvrocks-2.1.0
---
 Changelog | 265 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 VERSION   |   2 +-
 2 files changed, 265 insertions(+), 2 deletions(-)

diff --git a/Changelog b/Changelog
index e579b7a..0087f53 100644
--- a/Changelog
+++ b/Changelog
@@ -1,4 +1,267 @@
-# Version 999.999.999
+# Version 2.1.0
+
+New features
+       - Support source packaging by x.py (#729)
+       - Support to use lz4 compression in RocksDB (#584)
+       - Allow to send logs to stdout/stderr (#613)
+       - LPOP/RPOP support pop multi elements (#594)
+       - Add LMove command (#577)
+       - Support to listen on the IPV6 address (#554)
+       - Add support for listening to unix socket (#531)
+       - Support BITOP command (#471)
+       - Support unlink command (#517)
+
+Improvements
+       - replace shell scripts with x.py (#725)
+       - Use lock_guard to replace the manual mutex lock/unlock (#723)
+       - Build docker image with travis ci (#724)
+       - Return values instead of passing pointers (#722)
+       - Don't call GetCurrentTime in expired and type when possible (#709)
+       - Remove the slice `ToString()` when encoding or decoding the key (#707)
+       - Use the const reference for avoiding copy (#704)
+       - Check sanitizer status for TCL tests in CI (#698)
+       - CMake: support ninja as a build backend (#626)
+       - Build static lib for glog (#618)
+       - Improve using of ASan and TSan in CMake build (#599)
+       - PSYNC based on Unique Replication Sequence ID (#538)
+       - Remove handwritten makefiles to keep only one build system (#576)
+       - Use FetchContent instead of ExternalProject and git submodules in 
CMake (#564)
+       - Upgrade the rocksdb version to 6.29.5(latest version for 6.x) (#555)
+       - Support to send auth command before migrating slots (#514)
+       - Allow to dynamic resize the `level_compaction_dynamic_level_bytes` 
and level base size (#497)
+
+Bugfixes
+       - Make the set command consistent with redis (#730)
+       - Fix some time dependencies in replication.tcl (#688)
+       - Fix get rocksdb ops tcl test case (#668)
+       - Fix typos in config file (#669)
+       - Fix replication tests should wait for server restarted (#660)
+       - Fix the role command can't be used when loading data (#661)
+       - Fix Wrongly parsed the RESP empty/null array (#652)
+       - Fix compile warnings in kvrocks (#653)
+       - Fix unmatched iterator in Cluster::SetClusterNodes (#646)
+       - Fix load namespaces from the config file would ignore case (#642)
+       - Fix RocksDB can't auto resume after disk quota exceeded error (#628)
+       - Fix don't swallow the error when creating column families failed 
(#620)
+       - Compile lua by C++ compilers to avoid memory leaks (#614)
+       - Fix the slave may crash when restoring the db (#606)
+       - Fix leaks reported by ASan (#605)
+       - Fix can't find jemalloc when building with makefile on MacOSX (#557)
+       - Stop sending files if failed in full synchronization (#539)
+       - Avoid requirepass and masterauth conflicts with the namespace tokens 
(#507)
+       - Fix slave can't resync with master after password change (#520)
+       - Fix rocksdb cmake depends should use list instead of string (#518)
+       - Fix spop command should return bulk string  instead of array when 
without count(#515)
+       - Fix wrong replication state (#506)
+       - Avoid flush all redis db in kvrocks2redis (#498)
+       - Fix failing in setting thread name with string more than 16 byte 
(#496)
+       - Avoid accessing slot_migrate_ before it is created (#472)
+       - Fix the connection fd was used after free (#479)
+
+Others
+       - Add use case CIRCL.lu (#546)
+       - Change license to Apache 2.0 (#533)
+       - Add DISCLAIMER (#558)
+       - Apply Apache License header for Tcl files (#548)
+       - Add .asf.yaml file (#545)
+       - Apply Apache License header for source code (#543)
+
+# Version 2.0.6
+
+New features
+  - Support slot-based data migration (#430)
+    Biggest feature of this version, authentically makes kvrocks scalable,
+    user can use CLUSTERX MIGRATE command to migrate slot and use CLUSTERX
+    SETSLOT to change cluster slot distribution after finishing migration.
+  - Make level0_file_num_compaction_trigger of RocksDB configurable (#455)
+  - Support CLUSTERX SETSLOT command (#463)
+
+Improvements
+  - Support executing INFO command during restoring database (#375)
+  - Auto Rewrite the config after the namespace was updated (#423)
+  - Support to convert sortedint type to zset type in kvrocks2redis (#431)
+  - Optimize the seek of RocksDB iterators (#438)
+  - Make the bitmap range the same with that of Redis (#465)
+  - Support GET command on bitmap type (#447)
+  - Support to compile on macOS 11 M1 inside (#450)
+
+Bugfixes
+  - Fix the parameter blob_garbage_collection_age_cutoff would be always zero 
(#425)
+  - Fix config rewrite overwrite the first rename-command with the last one 
(#429)
+  - Fix zrevrangebyscore for multi members with the same max score (#434)
+  - Fix data race in SetCurrentConnection (#440)
+  - Fix failing full replication when enabling slave-empty-db-before-fullsync 
(#446)
+  - Fix memory leak when full replication (#461)
+    Maybe leak dozen kilobytes per full replication
+
+
+# Version 2.0.5
+
+New features
+  - Implement zrevrangebylex command (#381)
+  - Use some rocksdb new feature (#395)
+    * Support blob db (key-value separation) which requires RocksDB version
+      greater than 6.18
+    * Enable partitioned index/filter for SST and hash index for data block
+    * Enable whole key filter for memtable
+    * Remove dynamic resize block and SST
+    * Only apply compression to SST which level is more than 2
+    Please note that, if your rocksdb version is lower than 6.6.0, it can't
+    reload the data of new version, you should update cautiously.
+  - Implement CAS and CAD commands for string type (#415)
+  - Support to use row cache of RocksDB (#407)
+
+Improvements
+  - Add rocksdb ops statistics into the info command (#387)
+    These statistics can more truly reflect the load of rocksdb.
+  - Add the maxclients to the info command output (#391)
+  - Add write stall/stop stats to info command output (#396)
+  - Make kvrocks2redis work (#404)
+  - Adjust the max open file limit according to the max clients and
+    rocksdb max open files (#418)
+
+Related projects
+  - Kvrocks exporter, a fork of oliver006/redis_exporter to export the kvrocks
+    metrics, https://github.com/KvrocksLabs/kvrocks_exporter
+
+
+# Version 2.0.4
+
+New features
+  - Support LUA script commands (#363) (#369)
+    Currently, support EVAL, EVALSHA, and SCRIPT commands, but SCRIPT KILL
+    and DEBUG subcommands are not supported.
+
+Improvements
+  - Allow metadata and subkey CF to share a single block cache (#365) (#373)
+  - Add master_repl_offset in INFO command output (#374)
+
+Bugfixes
+  - Fixed dynamic resize target_file_size_base bug (#368)
+    Before we only apply this strategy to the default CF(i.e. subkey CF)
+
+
+# Version 2.0.3
+
+Improvements
+  - Use the rocksdb MultiGet interface in the MGET command (#331)
+  - Avoid useless space allocation in SetBit (#338)
+  - Auto set master/replica replication by cluster topology (#356)
+  - Support client kill type subcommands to adapt redis-sentinel (#352) (#361)
+    From 2.0.2, we support MULTI-EXEC, but don't support client kill type 
$type,
+    so MULTI-EXEC will be rollbacked when failing to parse unknown kill type
+    in client command, and cause redis-sentinel fails to failover.
+
+Bugfixes
+  - Fix SETNX and MSETNX commands can't guarantee atomicity (#337)
+  - Fix the replicas won't reconnect when failing to connect with master (#344)
+  - Fix master pauses synchronizing with replicas (#347)
+  - Fix wrong mater port if enabling master-use-repl-port (#360)
+
+
+# Version 2.0.2
+
+New features
+  - Support rename command in config file (#272)
+  - Support transaction (#285)
+    Support MULTI, EXEC, DISCARD command, but don't support
+    WATCH and UNWATCH commands.
+  - Support the auto-resize-block-and-sst config directive (#289)
+  - Support to resize rocksdb.block_size automatically (#294)
+  - Support cluster mode (#302)
+    Similar with redis cluster mode, use CLUSTERX command to set
+    cluster topology (#324).
+
+Data encoding changes
+  - Encode key with slot id (#291) (#330)
+    In cluster mode, to be efficient to migrate keys by slot when scale,
+    we encode key with slot id, but in standalone mode, we don't. That is
+    to say, data is not compatible between standalone mode with cluster mode,
+    you must migrate data if you want to change mode, otherwise, kvrocks
+    will make data corrupt.
+
+Bugfixes
+  - Set TCP_KEEPALIVE for replication connection (#284)
+    Replicas can handle network failure with master, before this commit,
+    network failure may result in unrecoverable replication interrupt.
+  - Fix ZSET can't add the same member with different scores (#298)
+  - Make CONFIG SET command thread safe (#310)
+  - Fix LTRIM only delete first item, LREM can't correctly remove
+    repeated items (#314)
+
+Improvements
+  - HSET command supports to set multiple fields (#274)
+  - Allow to use host in the master-slave replication (#301)
+  - Adapt redis sentinel ping check (#316)
+
+
+# Version 2.0.1
+
+New features
+  - Support COMMAND command (#251)
+  - Support to purge backups on fullsync to reduce disk space usage (#245)
+
+Bugfixes
+  - Fix uninitialized Rocksdb.level0_stop_writes_trigger (#236)
+  - Fix condition race for ReclaimOldDBPtr (#246)
+  - Fix data race for accessing database in some commands (#253) (#261)
+    In spop, zremrangebylex, zremrangebyscore commands, the lock guard
+    for accessing the database may not work actually.
+  - Fix returning wrong string range in GETRANGE command (#254)
+  - Fix skipping wrong CURRENT file when full synchronization (#260)
+    Resuming broken transfer based files may be not available if replicas
+    skip transfered wrong CURRENT file of RocksDB.
+
+Improvements
+  - Replicas can execute publish command (#238)
+  - Optimizations for avoiding unnecessary data copy (#239) (#247)
+  - Allow to run the kvrocks without assigning the config file (#264)
+
+Dependencies
+  - Upgrade the jemalloc version to the special commit (#265)
+    To be able to compile on macOS, upgrade jemalloc to the production
+    test commit which mentioned in jemalloc/jemalloc#2060.
+
+
+# Version 2.0.0
+
+New features
+  - Don't use extra port for replication (#200)
+  - Use checkpoint to implement data snapshot when full replication (#208)
+    Reduce disk space and bandwidth usage and decrease the time of replicas
+    recovery during full synchronization.
+  - Use checkpoint to implement kvrocks backup (#232)
+  - Replicas can empty db before fullsync (#233)
+    Replicas use less disks space if enabled, but have a risk to lose data.
+
+Command changes
+  - Add QPS and input/output kbps for INFO command (#213)
+  - Add pubsub_patterns for INFO command (#234)
+  - Slowlog omits args or argument string if too many or big (#215)
+
+Cluster
+  - Remove codis support (#217)
+    From now, we doesn't support codis, you can adopt pre-sharding to implement
+    cluster, and we are developing new cluster solution that is similar with
+    redis cluster mode, please see #219.
+
+Bugfixes
+  - Fix kvrocks can't auto resume after no space error (#229)
+
+Dependencies
+  - Upgrade rocksdb to latest tag v6.19.3 (#226)
+
+
+# Version 1.3.2
+
+Bug fixes
+  - Fix incorrect used_db_size in INFO command (#204)
+  - Fix the SST file creation time maybe 0 in some unknown conditions (#211)
+  - Fix get corruption writebatch data after psync restart (#221)
+
+Improvements
+  - Optimize TCP keepalive detection time (#201)
+
 
 # Version 1.3.1
 
diff --git a/VERSION b/VERSION
index 71e0f70..50aea0e 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-999.999.999
\ No newline at end of file
+2.1.0
\ No newline at end of file

Reply via email to