keydb (6:6.3.4-1distribution_placeholder) codename_placeholder; urgency=medium * Add keydb_modstatsd, a module for providing keydb stats to a local statsd server. Can be found under src/modules/keydb_modstatsd * Fixed FreeBSD compile(Thanks to @bra-fsn) * Fixed a bug in s3 bucket config that blocked startup(Thanks to Alexandre Chichmanian) * Fixed a bug causing crash if keys command is called after a blocking command (Fixes issues #659, #605, #532) * Added proper error checking of replica configs, now KeyDB will throw an error if replica-of config is passed before active-replica or multimaster configs * Fixed double free bug in lazy free * Added "overload-protect-percent" config, when enabled this will load shed clients whenever CPU usage exceeds configured value * Added "availability-zone" config, this can be passed any string which will then be reported by info command * Updated eviction logic to account for total system memory availability using sysinfo * Fixed a bug where repl-backlog-size config was modified in keydb.conf with the runtime value during config rewrite * Fixed a possible deadlock when running CLIENT KILL with large number of clients * Fixed a bug where KeyDB would overcommit memory during fork BG save * Fixed a bug with disk repl_backlog causing double free * Fixed integer overflow issue in the temp rdb file naming (Thanks to @karthyuom) * Fixed compile issue with GCC 13.1.1 (Thanks to @michieldwitte) * Removed expireset and restored redis expire behaviour * Fixed a bug causing forked processes to hang, specifically affecting RDB and AOF(Fixes issues #675, #619) * Added "CLUSTER REPLICATE NO ONE" to turn a replica into an empty primary * Added RDB-less full sync, can be enabled with config 'enable-keydb-fastsync' * Added "flash-disable-key-cache" config to disable key cache which stores every key(but not value) in memory * Moved cluster slot to key map to being stored by storage provider, rather than in memory * Moved expires to be stored by storage provider, rather than in memory * Enabled expiry/eviction from storage provider, previously only data stored in memory could be expired/evicted(Fixes #645 along with the 2 previous updates) * Fixed a bug where swapdb result was not recovered after keydb restarts in FLASH mode (Thanks to @karthyuom) * Fixed double free bug when fast sync was canceled early * Fixed a bug where a temp rdb file with zero bytes is generated in flash mode (Thanks to @karthyuom) * Fixed a bug where flash CF options are being reset to default after flushall (Thanks to @karthyuom)(Fixes issue #717) * Updated debug reload command to work with flash * Added support for KEYDB_PASSWORD env variable(Thanks to @einar-pexip) * Compile with flash in Dockerfile(Thanks to @der-eismann) * Fix broken redis-cli symlink (Thanks to @pimvandenbroek) * Use tini for alpine docker(Thanks to @rofafor) -- Malavan Sotheeswaran Sun, 29 Oct 2023 8:39:21 +0000 keydb (6:6.3.3-1distribution_placeholder) codename_placeholder; urgency=medium * To help accelerate our development efforts for KeyDB, this will be the last release containing support for Centos 7, Ubuntu 16.04, Ubuntu 18.04, Debian 9 and 32-bit builds * This release contains fixes for 11 issues along with improvements to the KeyDB FLASH feature: * Fixed race condition with expireset access (Issue #597) * Fixed keys command with lua, and added keydb as an alternative to redis as lua variable to access db (Issue #562 and #594) * Fixed hang in aof child (Issue #554) * Fixed leaking fds from RDB save (Issue #453 and #584) * Added config for S3 RDB load/save (Issue #584) * Enabled active defrag during forkless background save to improve average memory efficiency (Issue #460) * Fixed crash with fork background save during replication (Issue #567) * RocksDB has been updated to v7.9.2 * Fixed missing slot_to_key map in FLASH cluster mode (Issue #574) * Added keyspace notifications for keys loaded from FLASH at startup * Fixed race condition in prefetchKeysAsync with FLASH enabled (Issue #571) * Fixed integer overflow in rand family of commands(Issue #631, #632, #633) * Fixed bad value in hincrbyfloat(Issue #634) * Fixed OOM hang in rand family of commands(Issue #635) * Added config to limit count of return values in rand family of commands(Issue #636) -- Ben Schermel Tue, 18 Apr 2023 10:00:37 +0000 keydb (6:6.3.2-1distribution_placeholder) codename_placeholder; urgency=medium * This release contains Beta level support for KeyDB FLASH, new ASYNC commands, latency improvements and a number of bug fixes. * KeyDB FLASH is included as a Beta feature. FLASH allows KeyDB to persist data to the storage medium it is written to, avoiding the need for AOF/RDB files. KeyDB uses rocksdb as the persistent storage provider and can be enabled with config "storage-provider flash /path/to/rocksdb/output". Read more at https://docs.keydb.dev/docs/flash/ * In addition to GET/MGET, ASYNC support has been added for the following commands: HGET, HMGET, HKEYS, HVALS, HGETALL, HSCAN and can be enable with config "enable-async-commands yes” * Packaging support for Ubuntu 22.04 (Jammy) and Debian 12 (Bookworm) has been included with this release * Added new soft shutdown feature, can be enabled with config "soft-shutdown yes". * If soft shutdown is enabled, instead of shutting down right away, the server will wait until all clients have disconnected, and will reject all new connection attempts. * Fixed memory leak with tls certificates when tls allowlist is enabled * Fixed bug in rdb load with flash enabled to ensure all dbs are safe to load (previously only checked db[0]) * Fixed race conditions in rdb load and replication * Fixed memory access of rdb file after it should have been deleted * Fixed integer overflow bug in flash(Issue #486) * Improve TLS latency by queueing new commands before executing instead of after * Removed O(n) count of memory usage from info command(replaced by O(1) estimate) * Improved latency of clearing large number of flash DBs(Thanks to Paul Chen for this fix)(Issue #516) * replaced sprintf with snprintf to avoid potential security bugs * Fixed bug where a failed move due to key already existing in move target would result in the key being removed from move source(Thanks to Paul Chen for this fix)(Issue #497) * Fixed usage of deprecated OpenSSL api in OpenSSL v>3.0.1(Issue #392) * Imported security fixes from Redis (CVE-2023-22458 CVE-2022-35977) * Other fixed issues: #480 #477 #454 #452 #303 #425 #492 #541 -- Ben Schermel Fri, 20 Jan 2023 20:00:37 +0000 keydb (6:6.3.1-1distribution_placeholder) codename_placeholder; urgency=medium * This point release contains fixes to bugs related to expires, active-rep, and rdb saving * Issues fixed: #419, #422, #428 * PRs: #426, #429, #431, #433 -- Ben Schermel Mon, 23 May 2022 20:00:37 +0000 keydb (6:6.3.0-1distribution_placeholder) codename_placeholder; urgency=medium * This release open sources KeyDB Enterprise features into the open source project along with PSYNC for active replication * Partial synchronization for active replication is introduced * MVCC introduced into codebase from KeyDB Enterprise * Async commands added: GET, MGET. These will see perf improvements * KEYS and SCAN commands will no longer be blocking calls * Async Rehash implemented for additional stability to perf * IStorage interface added * In-process background saving (forkless) to comply with maxmemory setting * See v6.3.0 tagged release notes on github for a detailed explanation of these changes -- Ben Schermel Wed, 11 May 2022 20:00:37 +0000 keydb (6:6.2.2-1distribution_placeholder) codename_placeholder; urgency=medium * Acquire lock in module.cpp to fix module test break * Fix usage of nanosleep() on Apple hardware * Fix networking deadlock (#183) * Remove redundant zfree() in keydb-benchmark * Issues resolved: #378, #384 -- Ben Schermel Sat, 15 Jan 2022 20:00:37 +0000 keydb (6:6.2.1-1distribution_placeholder) codename_placeholder; urgency=medium * This release of KeyDB is at parity with Redis 6.2.6. In addition, the following changes were included: * Systemd support for release packages * Fixes to buffer overflows in the `BITOP SHIFT` and `CRON` commands * Server times are now computed on a seperate thread to improve performance * Now enforces syslog identity and facility as soon as possible * Removed erroneous use of LOG_... flags when using syslog * Fixed erroneous `#endif` leading to build errors on some platforms * Fixed the incorrect counting of client connections * Issues resolved: #355, #370 -- Ben Schermel Wed, 17 Nov 2021 20:00:37 +0000 keydb (6:6.2.0-1distribution_placeholder) codename_placeholder; urgency=medium * Removed unused command line options(-a, -d, -P, -r, -q, --csv, -l, -I, -e, --precision, --cluster, --enable-tracking) * --ms option changed to --time, added --clients, --host, --port, and --threads options * Added keydb-diagnostic-tool * Improved test reliability * Fixed memory leak in keydb-benchmark * Fixed a number of race conditions * Fixed OSX build issues * Feature parity with Redis 6.2.3 * Fixed Issues: #323 #325 #276 -- Ben Schermel Thu, 12 Aug 2021 20:00:37 +0000 keydb (6:6.0.18-1distribution_placeholder) codename_placeholder; urgency=medium * 6.0.18 - This release contains a number of improvements to stability and performance. * Additional tests were added with improvements to existing test reliability * Merged Redis 6.0.10 into KeyDB * Issues resolved in this release: #214, #222, #238, #257, #273, #276, #285 -- Ben Schermel Fri, 26 Mar 2021 16:00:00 +0000 keydb (6:6.0.16-1distribution_placeholder) codename_placeholder; urgency=medium * 6.0.16 - This release contains significant performance improvements as well as fixes to the following issues: #234, #236, #233, #207, #229, #231 * Reduced memory consumption when Active Replication is not used * Reduced CPU consumption * Improved TLS performance * replica-quorum config for multi-master.Intended to be used with "replica-serve-stale-data no", if at least N replicas are connected we will consider our master link up and serve data. * Subkey expires performance improvement for big sets -- Ben Schermel Mon, 28 Sep 2020 16:00:00 +0000 keydb (6:6.0.13-1distribution_placeholder) codename_placeholder; urgency=medium * 6.0.13 New features added: KEYDB.MEXISTS, REPLICAOF REMOVE, multi-master-no-forward configuration option * KEYDB.MEXISTS - return exactly which keys exist in the database not just the count * REPLICAOF REMOVE - Remove specific masters in a multi master setup * multi-master-no-forward configuration option - Reduce network traffic in mesh topology multimaster setups * Redis 6.0.5 feature parity * Fixed Issues: 194 Bad directive or wrong number of arguments error on 'lazyfree-lazy-user-del no'; 209 Timeout using modules; 210 Databases are not merged on multi-master sync; 211 rpm packages now signed; 212 rpm file permissions updated -- Ben Schermel Mon, 13 Jul 2020 8:00:00 +0000 keydb (6:6.0.9-1distribution_placeholder) codename_placeholder; urgency=medium * 6.0.9 Addressing issues 187 - cpu lockup with subkey expire, 190 - missing sentinel binary in keydb-tools. -- Ben Schermel Sun, 07 Jun 2020 18:00:37 +0000 keydb (6:6.0.8-1distribution_placeholder) codename_placeholder; urgency=medium * This is our first release to fully support all Redis 6.0.4 features, including but not limited to: TLS Support (fully supports multithreading!), Client side caching, RESP 3 Support * KeyDB Has also added the following new features: Improved memory efficiency for short strings, Fastlock autotuning, KeyDB.HRENAME (rename a member of a hash)In addition we've spent a lot of time focussing on stability. * The following bug fixes are resolved: 150 - Deadlock in ReplicationFeedMonitors, 170 - KeyDB dying via SIGABORT, 180 - crash after setting maxclients via cmd line, 169 - Write performance of a master dropped sharply when a replica is added * In addition untracked issues were resolved: Potential deadlock when entering futex sleep, Pub/Sub Async messages may not be sent in a timely manner when load is low, Excessive logging during failed RREPLAY, KeyDB unresponsive handling clients on different threads during RDB load * Updated deb package builds to build from source and phasing out init.d. dh_installsystemd from deb helper 11 used where applicable * Naming conventions are now updated [ keydbpackage_version-build~distribution_architecture] and master changelog included and maintained * keydb-pro-server binary is no longer inluded in the open source package -- Ben Schermel Mon, 1 Jun 2020 8:00:37 +0000 keydb (5:5.3.3-1distribution_placeholder) codename_placeholder; urgency=medium * 5.3.3 Updating deb source package, naming conventions, and build scripts. -- Ben Schermel Wed, 06 May 2020 8:00:37 +0000 keydb (5:5.1.12-1chl1distribution_placeholder) codename_placeholder; urgency=medium * 5.1.1 update. This update fixes several rare deadlock scenarios. Deadlock detection is also added. -- Ben Schermel Fri, 25 Oct 2019 8:00:37 +0000 keydb (5:5.1.11-1chl1distribution_placeholder) codename_placeholder; urgency=medium * 5.1 release. This release includes subkey expires (EXPIREMEMBER/EXPIREMEMBERAT), with updates to PTTL/TTL accordingly. New OBJECT LASTMODIFIED, BITIOP LSHIFT & BITOP RSHIFT commands. See https://docs.keydb.dev/blog/2019/10/20/blog-post/ for detailed review of release. -- Ben Schermel Mon, 21 Oct 2019 8:00:37 +0000 keydb (5:5.0.1-1chl1distribution_placeholder) codename_placeholder; urgency=medium * Arm build now included for bionic package -- Ben Schermel Wed, 21 Aug 2019 22:58:37 +0000 keydb (5:5.0.0-1chl1distribution_placeholder) codename_placeholder; urgency=medium * Initial release of KeyDB PPA. This PPA was originally derived from https://launchpad.net/~chris-lea/+archive/ubuntu/redis-server -- Ben Schermel Wed, 21 Aug 2019 2:58:37 +0000