The NetBSD Project

CVS log for pkgsrc/databases/redis/distinfo

[BACK] Up to [cvs.NetBSD.org] / pkgsrc / databases / redis

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.79 / (download) - annotate - [select for diffs], Wed Nov 1 20:04:30 2023 UTC (3 weeks, 6 days ago) by adam
Branch: MAIN
CVS Tags: HEAD
Changes since 1.78: +4 -4 lines
Diff to previous 1.78 (colored)

redis: updated to 7.2.3

Redis 7.2.3

Upgrade urgency: HIGH, Fixes critical bugs affecting most users.

Bug fixes

* Fix file descriptor leak preventing deleted files from freeing disk space on
  replicas
* Fix a possible crash after cluster node removal

Revision 1.78 / (download) - annotate - [select for diffs], Wed Oct 18 09:39:50 2023 UTC (6 weeks ago) by adam
Branch: MAIN
Changes since 1.77: +4 -4 lines
Diff to previous 1.77 (colored)

redis: updated to 7.2.2

Redis 7.2.2
===========

Upgrade urgency SECURITY: See security fixes below.

Security fixes
==============

* (CVE-2023-45145) The wrong order of listen(2) and chmod(2) calls creates a
  race condition that can be used by another process to bypass desired Unix
  socket permissions on startup.


Platform / toolchain support related changes
=================================================

* Fix compilation error on MacOS 13

Bug fixes
=========

* WAITAOF could timeout in the absence of write traffic in case a new AOF is
  created and an AOF rewrite can't immediately start

Redis cluster
=============

* Fix crash when running rebalance command in a mixed cluster of 7.0 and 7.2
  nodes
* Fix the return type of the slot number in cluster shards to integer, which
  makes it consistent with past behavior
* Fix CLUSTER commands are called from modules or scripts to return TLS info
  appropriately

Changes in CLI tools
====================

* redis-cli, fix crash on reconnect when in SUBSCRIBE mode

Module API changes
==================

* Fix overflow calculation for next timer event

Revision 1.77 / (download) - annotate - [select for diffs], Fri Oct 6 07:27:43 2023 UTC (7 weeks, 5 days ago) by triaxx
Branch: MAIN
Changes since 1.76: +5 -4 lines
Diff to previous 1.76 (colored)

redis: Fix build on Darwin

pkgsrc changes:
---------------
  * Fix building for macOS 13.5.2 by applying upstream patch:
    https://github.com/redis/redis/issues/12585
  * Use USE_CC_FEATURES to set c99 standard as recommanded by pkglint.
  * Fix rc.d script for systems without /etc/rc.subr and using
    pkgtools/rc.subr with SYSCONFBASE different from /etc.
  * Bump revision.

Revision 1.76 / (download) - annotate - [select for diffs], Wed Sep 13 17:24:37 2023 UTC (2 months, 2 weeks ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2023Q3-base, pkgsrc-2023Q3
Changes since 1.75: +4 -4 lines
Diff to previous 1.75 (colored)

redis: updated to 7.2.1

Redis 7.2.1

Upgrade urgency SECURITY: See security fixes below.

Security Fixes
==============

* (CVE-2023-41053) Redis does not correctly identify keys accessed by SORT_RO and,
  as a result, may grant users executing this command access to keys that are not
  explicitly authorized by the ACL configuration.


Bug Fixes
=========

* Fix crashes when joining a node to an existing 7.0 Redis Cluster
* Correct request_policy and response_policy command tips on for some admin /
  configuration commands

Revision 1.75 / (download) - annotate - [select for diffs], Wed Aug 23 05:25:39 2023 UTC (3 months ago) by adam
Branch: MAIN
Changes since 1.74: +4 -4 lines
Diff to previous 1.74 (colored)

redis: updated to 7.2.0

Redis 7.2.0 GA   Released Mon Aug 15 12:00:00 IDT 2023
================================================================================

Upgrade urgency LOW: This is the first stable Release for Redis 7.2.

Bug Fixes
=========

* redis-cli in cluster mode handles `unknown-endpoint`
* Update request / response policy hints for a few commands
* Ensure that the function load timeout is disabled during loading from RDB/AOF and on replicas.
* Fix false success and a memory leak for ACL selector with bad parenthesis combination
* Fix the assertion when script timeout occurs after it signaled a blocked client

Fixes for issues in previous releases of Redis 7.2
--------------------------------------------------

* Update MONITOR client's memory correctly for INFO and client-eviction
* The response of cluster nodes was unnecessarily adding an extra comma when no
  hostname was present.

Revision 1.74 / (download) - annotate - [select for diffs], Mon Jul 10 16:17:42 2023 UTC (4 months, 2 weeks ago) by adam
Branch: MAIN
Changes since 1.73: +4 -4 lines
Diff to previous 1.73 (colored)

redis: updated to 7.0.12

Redis 7.0.12

Upgrade urgency SECURITY: See security fixes below.

Security Fixes:
* (CVE-2022-24834) A specially crafted Lua script executing in Redis can trigger
  a heap overflow in the cjson and cmsgpack libraries, and result in heap
  corruption and potentially remote code execution. The problem exists in all
  versions of Redis with Lua scripting support, starting from 2.6, and affects
  only authenticated and authorized users.
* (CVE-2023-36824) Extracting key names from a command and a list of arguments
  may, in some cases, trigger a heap overflow and result in reading random heap
  memory, heap corruption and potentially remote code execution. Specifically:
  using COMMAND GETKEYS* and validation of key names in ACL rules.

Bug Fixes
* Re-enable downscale rehashing while there is a fork child
* Fix possible hang in HRANDFIELD, SRANDMEMBER, ZRANDMEMBER when used with `<count>`
* Improve fairness issue in RANDOMKEY, HRANDFIELD, SRANDMEMBER, ZRANDMEMBER, SPOP, and eviction
* Fix WAIT to be effective after a blocked module command being unblocked
* Avoid unnecessary full sync after master restart in a rare case

Revision 1.73 / (download) - annotate - [select for diffs], Wed Apr 19 05:01:08 2023 UTC (7 months, 1 week ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2023Q2-base, pkgsrc-2023Q2
Changes since 1.72: +4 -4 lines
Diff to previous 1.72 (colored)

redis: updated to 7.0.11

Redis 7.0.11 Released Mon Apr 17 16:00:00 IST 2023
================================================================================

Upgrade urgency: SECURITY, contains fixes to security issues.

Security Fixes:
* (CVE-2023-28856) Authenticated users can use the HINCRBYFLOAT command to create
  an invalid hash field that will crash Redis on access

Bug Fixes
=========

* Add a missing fsync of AOF file in rare cases
* Disconnect pub-sub subscribers when revoking allchannels permission

Platform / toolchain support related improvements
=================================================

* Fix a compiler fortification induced crash when used with link time optimizations

Revision 1.72 / (download) - annotate - [select for diffs], Tue Mar 21 09:36:24 2023 UTC (8 months, 1 week ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2023Q1-base, pkgsrc-2023Q1
Changes since 1.71: +4 -4 lines
Diff to previous 1.71 (colored)

redis: updated to 7.0.10

7.0.10

Upgrade urgency: SECURITY, contains fixes to security issues.

Security Fixes:

(CVE-2023-28425) Specially crafted MSETNX command can lead to assertion and denial-of-service

Bug Fixes

Large blocks of replica client output buffer may lead to PSYNC loops and unnecessary memory usage
Fix CLIENT REPLY OFF|SKIP to not silence push notifications
Trim excessive memory usage in stream nodes when exceeding stream-node-max-bytes
Fix module RM_Call commands failing with OOM when maxmemory is changed to zero

Revision 1.71 / (download) - annotate - [select for diffs], Wed Mar 1 07:51:09 2023 UTC (8 months, 4 weeks ago) by adam
Branch: MAIN
Changes since 1.70: +4 -4 lines
Diff to previous 1.70 (colored)

redis: updated to 7.0.9

Redis 7.0.9

Upgrade urgency: SECURITY, contains fixes to security issues.

Security Fixes:
* (CVE-2023-25155) Specially crafted SRANDMEMBER, ZRANDMEMBER, and HRANDFIELD
  commands can trigger an integer overflow, resulting in a runtime assertion
  and termination of the Redis server process.
* (CVE-2022-36021) String matching commands (like SCAN or KEYS) with a specially
  crafted pattern to trigger a denial-of-service attack on Redis, causing it to
  hang and consume 100% CPU time.

Bug Fixes
=========
* Fix a crash when reaching the maximum invalidations limit of client-side tracking
* Fix a crash when SPUBLISH is used after passing the cluster-link-sendbuf-limit
* Fix possible memory corruption in FLUSHALL when a client watches more than one key
* Fix cluster inbound link keepalive time
* Flush propagation list in active-expire of writable replicas to fix an assertion
* Avoid propagating DEL of lazy expire from SCAN and RANDOMKEY as MULTI-EXEC

Performance and resource utilization improvements
=================================================
* Avoid realloc to reduce size of strings when it is unneeded
* Improve CLUSTER SLOTS reply efficiency for non-continuous slots

Revision 1.70 / (download) - annotate - [select for diffs], Tue Jan 17 11:05:56 2023 UTC (10 months, 1 week ago) by adam
Branch: MAIN
Changes since 1.69: +4 -4 lines
Diff to previous 1.69 (colored)

redis: updated to 7.0.8

Redis 7.0.8 Released Mon Jan 16 12:00:00 IDT 2023

Upgrade urgency: SECURITY, contains fixes to security issues.

Security Fixes:
* (CVE-2022-35977) Integer overflow in the Redis SETRANGE and SORT/SORT_RO
  commands can drive Redis to OOM panic
* (CVE-2023-22458) Integer overflow in the Redis HRANDFIELD and ZRANDMEMBER
  commands can lead to denial-of-service

Bug Fixes
* Avoid possible hang when client issues long KEYS, SRANDMEMBER, HRANDFIELD,
  and ZRANDMEMBER commands and gets disconnected by client output buffer limit
* Make sure that fork child doesn't do incremental rehashing
* Fix a bug where blocking commands with a sub-second timeout would block forever
* Fix sentinel issue if replica changes IP

Revision 1.69 / (download) - annotate - [select for diffs], Sat Dec 17 06:14:19 2022 UTC (11 months, 1 week ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2022Q4-base, pkgsrc-2022Q4
Changes since 1.68: +4 -4 lines
Diff to previous 1.68 (colored)

redis: updated to 7.0.7

Redis 7.0.7
===========

Upgrade urgency: MODERATE, Contains fix for a regression in Geo commands.

Bug Fixes
* Fix regression from Redis 7.0.6 in distance replies of Geo commands

Revision 1.68 / (download) - annotate - [select for diffs], Tue Dec 13 07:12:36 2022 UTC (11 months, 2 weeks ago) by adam
Branch: MAIN
Changes since 1.67: +4 -4 lines
Diff to previous 1.67 (colored)

redis: updated to 7.0.6

Redis 7.0.6
===========

Upgrade urgency: MODERATE, Contains fixes for a few non-critical or unlikely bugs,
and some dramatic optimizations to Geo, EVAL, and Sorted sets commands.

Potentially Breaking Bug Fixes for new Redis 7.0 features
=======================================================

* RM_ResetDataset module API should not clear the functions
* RM_Call module API used with the "C" flag to run scripts, would now cause
  the commands in the script to check ACL with the designated user

Performance and resource utilization improvements
=================================================

* Geo commands speedups
* Fix EVAL command performance regression from Redis 7.0
* Reduce EXPIRE commands performance regression from Redis 7.0
* Optimize commands returning double values, mainly affecting zset commands
* Optimize Lua parsing of some command responses
* Optimize client memory usage tracking operation while client eviction is disabled

Platform / toolchain support related improvements
=================================================

* Fix compilation on Solaris

Module API changes
==================

* RM_SetContextUser, RM_SetModuleUserACLString, RM_GetModuleUserACLString
* Fix crash in CLIENT_CHANGE event, when the selected database is not 0

Changes in CLI tools
====================

* redis-benchmark avoid aborting on NOPERM from CONFIG GET

Bug Fixes
=========

* Avoid hang of diskless replication fork child when parent crashes
* Fix crash with module API of list iterator and RM_ListDelete
* Fix TLS error handling to avoid connection drops on timeouts
* Fix runtime changes to cluster-announce-*-port to take effect on the local node too
* Fix sentinel function that compares hostnames if failed resolve
* Fix MIGRATE with AUTH set to "keys" is getting wrong key names leading to MOVED or ACL errors

Fixes for issues in previous releases of Redis 7.0
--------------------------------------------------

* Fix command line startup --sentinel problem
* Fis missing FCALL commands in monitor
* Fix CLUSTER SHARDS showing empty hostname
* Replica that asks for rdb-only could have missed the EOF and hang

Revision 1.66.4.1 / (download) - annotate - [select for diffs], Sat Nov 26 17:28:11 2022 UTC (12 months ago) by spz
Branch: pkgsrc-2022Q3
Changes since 1.66: +5 -5 lines
Diff to previous 1.66 (colored) next main 1.67 (colored)

Pullup ticket #6705 - requested by bsiegert
databases/redis: security update

Revisions pulled up:
- databases/redis/Makefile                                      1.74
- databases/redis/distinfo                                      1.67
- databases/redis/patches/patch-src_Makefile                    1.6

-------------------------------------------------------------------
   Module Name:    pkgsrc
   Committed By:   adam
   Date:           Tue Nov 22 19:11:11 UTC 2022

   Modified Files:
           pkgsrc/databases/redis: Makefile distinfo
           pkgsrc/databases/redis/patches: patch-src_Makefile

   Log Message:
   redis: updated to 7.0.5

   Redis 7.0.5 Released Wed Sep 21 20:00:00 IST 2022
   ========================================

   Upgrade urgency: SECURITY, contains fixes to security issues.

   Security Fixes:
   * (CVE-2022-35951) Executing a XAUTOCLAIM command on a stream key in a specific
     state, with a specially crafted COUNT argument, may cause an integer overflow,
     a subsequent heap overflow, and potentially lead to remote code execution.
     The problem affects Redis versions 7.0.0 or newer
     [reported by Xion (SeungHyun Lee) of KAIST GoN].

   Module API changes
   =========

   * Fix RM_Call execution of scripts when used with M/W/S flags to properly
     handle script flags
   * Fix RM_SetAbsExpire and RM_GetAbsExpire API registration

   Bug Fixes
   ====
   * Fix a hang when eviction is combined with lazy-free and
   maxmemory-eviction-tenacity is set to 100
   * Fix a crash when a replica may attempt to set itself as its master
   as a result of a manual failover
   * Fix a bug where a cluster-enabled replica node may permanently set
   its master's hostname to '?'
   * Fix a crash when a Lua script returns a meta-table

   Fixes for issues in previous releases of Redis 7.0
   --------------------------------------------------

   * Fix redis-cli to do DNS lookup before sending CLUSTER MEET
   * Fix crash when a key is lazy expired during cluster key migration
   * Fix AOF rewrite to fsync the old AOF file when a new one is created
   * Fix some crashes involving a list containing entries larger than 1GB
   * Correctly handle scripts with a non-read-only shebang on a cluster replica
   * Fix memory leak when unloading a module
   * Fix bug with scripts ignoring client tracking NOLOOP
   * Fix client-side tracking breaking protocol when FLUSHDB / FLUSHALL /
   SWAPDB is used inside MULTI-EXEC
   * Fix ACL: BITFIELD with GET and also SET / INCRBY can be executed
   with read-only key permission
   * Fix missing sections for INFO ALL when also requesting a module info section

   ========================================
   Redis 7.0.4 Released Monday Jul 18 12:00:00 IST 2022
   ========================================

   Upgrade urgency: SECURITY, contains fixes to security issues.

   Security Fixes:
   * (CVE-2022-31144) A specially crafted XAUTOCLAIM command on a stream
     key in a specific state may result with heap overflow, and potentially
     remote code execution. The problem affects Redis versions 7.0.0 or newer.

   ========================================
   Redis 7.0.3 Released Monday Jul 11 12:00:00 IST 2022
   ========================================

   Upgrade urgency: MODERATE, specifically if you're using a previous release of
   Redis 7.0, contains fixes for bugs in previous 7.0 releases.

   Performance and resource utilization improvements
   ========================
   * Optimize zset conversion on large ZRANGESTORE
   * Optimize the performance of sending PING on large clusters
   * Allow for faster restart of Redis in cluster mode

   INFO fields and introspection changes
   ==================
   * Add missing sharded pubsub keychannel count to CLIENT LIST
   * Add missing pubsubshard_channels field in INFO STATS

   Module API changes
   =========

   * Add RM_StringToULongLong and RM_CreateStringFromULongLong
   * Add RM_SetClientNameById and RM_GetClientNameById

   Changes in CLI tools
   ==========

   * Add missing cluster-port support to redis-cli --cluster

   Other General Improvements
   =============

   * Account sharded pubsub channels memory consumption
   * Allow ECHO in loading and stale modes
   * Cluster: Throw -TRYAGAIN instead of -ASK on migrating nodes for multi-key
     commands when the node only has some of the keys

   Bug Fixes
   ====
   * TLS: Notify clients on connection shutdown
   * Fsync directory while persisting AOF manifest, RDB file, and config file
   * Script that made modification will not break with unexpected NOREPLICAS error
   * Cluster: Fix a bug where nodes may not acknowledge a CLUSTER FAILOVER TAKEOVER
     after a replica reboots
   * Cluster: Fix crash during handshake and cluster shards call

   Fixes for issues in previous releases of Redis 7.0
   --------------------------------------------------

   * TLS: Fix issues with large replies
   * Correctly report the startup warning for vm.overcommit_memory
   * redis-server command line allow passing config name and value in the
   same argument
   * Support --save command line argument with no value for backwards compatibility
   * Fix CLUSTER RESET command regression requiring an argument

   ========================================
   Redis 7.0.2 Released Sunday Jun 12 12:00:00 IST 2022
   ========================================

   Upgrade urgency: MODERATE, specifically if you're using a previous release of
   Redis 7.0, contains fixes for bugs in previous 7.0 releases.

   Bug Fixes
   ====
   * Fixed SET and BITFIELD commands being wrongly marked movablekeys
     Regression in 7.0 possibly resulting in excessive roundtrip from
   cluster clients.
   * Fix crash when /proc/sys/vm/overcommit_memory is inaccessible
     Regression in 7.0.1 resulting in crash on startup on some configurations.

   ========================================
   Redis 7.0.1 Released Wed Jun 8 12:00:00 IST 2022
   ========================================

   Upgrade urgency: MODERATE, specifically if you're using a previous release of
   Redis 7.0, contains some behavior changes for new 7.0 features and important
   fixes for bugs in previous 7.0 releases.

   Improvements
   ======

   * Add warning for suspected slow system clocksource setting
     Add --check-system command line option.
   * Allow read-only scripts (*_RO commands, and ones with `no-writes` flag)
     during CLIENT PAUSE WRITE
   * Add `readonly` flag in COMMAND command for EVAL_RO, EVALSHA_RO and FCALL_RO
   * redis-server command line arguments now accept one string with spaces
     for multi-arg configs

   Potentially Breaking Changes
   ==============

   * Omitting a config option value in command line argument no longer works
   * Hide the `may_replicate` flag from the COMMAND command response

   Potentially Breaking Changes for new Redis 7.0 features
   -------------------------------------------------------

   * Protocol: Sharded pubsub publish emits `smessage` instead of `message`
   * CLUSTER SHARDS returns slots as RESP integers, not strings
   * Block PFCOUNT and PUBLISH in read-only scripts (*_RO commands, and no-writes)
   * Scripts that declare the `no-writes` flag are implicitly `allow-oom` too

   Changes in CLI tools
   ==========

   * redis-cli --bigkeys, --memkeys, --hotkeys, --scan. Finish nicely after Ctrl+C

   Platform / toolchain support related improvements
   ========================
   * Support tcp-keepalive config interval on MacOs
   * Support RSS metrics on Haiku OS

   INFO fields and introspection changes
   ==================
   * Add isolated network metrics for replication.

   Module API changes
   =========

   * Add two more new checks to RM_Call script mode
   * Add new RM_Call flag to let Redis automatically refuse `deny-oom` commands
   * Add module API RM_MallocUsableSize
   * Add missing REDISMODULE_NOTIFY_NEW
   * Fix cursor type in RedisModuleScanCursor to handle more than 2^31 elements
   * Fix RM_Yield bugs and RM_Call("EVAL") OOM check bug
   * Fix bugs in enum configs with overlapping bit flags

   Bug Fixes
   ====
   * FLUSHALL correctly resets rdb_changes_since_last_save INFO field
   * FLUSHDB is now propagated to replicas / AOF, even if the db is empty
   * Replica fail and retry the PSYNC if the master is unresponsive
   * Fix ZRANGESTORE crash when zset_max_listpack_entries is 0

   Fixes for issues in previous releases of Redis 7.0
   --------------------------------------------------

   * CONFIG REWRITE could cause a config change to be dropped for aliased configs
   * CONFIG REWRITE would omit rename-command and include lines
     NOTE: Affected users who used Redis 7.0.0 to rewrite their configuration file
     should review and fix the file.
   * Fix broken protocol after MISCONF (persistence) error
   * Fix --save command line regression
   * Fix possible regression around TLS config changes. re-load files even if the
     file name didn't change.
   * Re-add SENTINEL SLAVES command, missing in redis 7.0
   * BZMPOP gets unblocked by non-key args and returns them
   * Fix possible memory leak in XADD and XTRIM

   ========================================
   Redis 7.0.0 GA  Released Wed Apr 27 12:00:00 IST 2022
   ========================================

   Upgrade urgency: SECURITY, contains fixes to security issues.

   Security Fixes:
   * (CVE-2022-24736) An attacker attempting to load a specially crafted Lua script
     can cause NULL pointer dereference which will result with a crash of the
     redis-server process. This issue affects all versions of Redis.
     [reported by Aviv Yahav].
   * (CVE-2022-24735) By exploiting weaknesses in the Lua script execution
     environment, an attacker with access to Redis can inject Lua code that will
     execute with the (potentially higher) privileges of another Redis user.
     [reported by Aviv Yahav].

   New Features
   ======

   * Keyspace event for new keys

   Command replies that have been extended
   ---------------------------------------

   * COMMAND DOCS shows deprecated_since field in command args
   * COMMAND DOCS shows module name where applicable

   Potentially Breaking Changes
   ==============

   * Replicas panic when they fail writing persistence
   * Prevent cross slot operations in functions and scripts with shebang
   * Rephrased some error responses about invalid commands or args
   * Lua scripts do not have access to the print() function

   Performance and resource utilization improvements
   ========================
   * Speed optimization in streams
   * Speed optimization in command execution pipeline
   * Speed optimization in listpack encoded sorted
   * Speed optimization in latency tracking at INFO (relevant for 7.0 RCs)
   * Speed optimization when there are many replicas (relevant for 7.0 RCs)

   New configuration options
   ============
   * Allow ignoring disk persistence errors on replicas
   * Allow abort with panic when replica fails to execute a command sent
   by the master
   * Allow configuring shutdown flags of SIGTERM and SIGINT
   * Allow attaching an operating system-specific identifier to Redis sockets

   Module API changes
   =========

   * Add argument specifying ACL reason for module log entry
     Breaking API compatibility with 7.0 RCs
   * Add the deprecated_since field in command args of COMMAND DOCS
     Breaking API/ABI compatibility with 7.0 RCs
   * Add module API flag for using enum configs as bit flags
   * Add RM_PublishMessageShard
   * Add RM_MallocSizeString, RM_MallocSizeDict
   * Add RM_TryAlloc

   Bug Fixes
   ====
   * Replica report disk persistence errors in PING
   * Fixes around rejecting commands on replicas and AOF when they must
   be respected
   * Durability fixes for appendfsync=always policy

   Fixes for issues in previous release candidates of Redis 7.0
   ------------------------------------------------------------

   * Fix possible crash on CONFIG REWRITE
   * Fix regression not aborting transaction on errors
   * Fix auto-aof-rewrite-percentage based AOFRW trigger after restart
   * Fix bugs when AOF enabled after startup, in case of failure before
   the first rewrite completes
   * Fix RM_Yield module API bug processing future commands of the current client


   To generate a diff of this commit:
   cvs rdiff -u -r1.73 -r1.74 pkgsrc/databases/redis/Makefile
   cvs rdiff -u -r1.66 -r1.67 pkgsrc/databases/redis/distinfo
   cvs rdiff -u -r1.5 -r1.6 pkgsrc/databases/redis/patches/patch-src_Makefile

Revision 1.67 / (download) - annotate - [select for diffs], Tue Nov 22 19:11:10 2022 UTC (12 months ago) by adam
Branch: MAIN
Changes since 1.66: +5 -5 lines
Diff to previous 1.66 (colored)

redis: updated to 7.0.5

Redis 7.0.5 Released Wed Sep 21 20:00:00 IST 2022
================================================================================

Upgrade urgency: SECURITY, contains fixes to security issues.

Security Fixes:
* (CVE-2022-35951) Executing a XAUTOCLAIM command on a stream key in a specific
  state, with a specially crafted COUNT argument, may cause an integer overflow,
  a subsequent heap overflow, and potentially lead to remote code execution.
  The problem affects Redis versions 7.0.0 or newer
  [reported by Xion (SeungHyun Lee) of KAIST GoN].

Module API changes
==================

* Fix RM_Call execution of scripts when used with M/W/S flags to properly
  handle script flags
* Fix RM_SetAbsExpire and RM_GetAbsExpire API registration

Bug Fixes
=========

* Fix a hang when eviction is combined with lazy-free and maxmemory-eviction-tenacity is set to 100
* Fix a crash when a replica may attempt to set itself as its master as a result of a manual failover
* Fix a bug where a cluster-enabled replica node may permanently set its master's hostname to '?'
* Fix a crash when a Lua script returns a meta-table

Fixes for issues in previous releases of Redis 7.0
--------------------------------------------------

* Fix redis-cli to do DNS lookup before sending CLUSTER MEET
* Fix crash when a key is lazy expired during cluster key migration
* Fix AOF rewrite to fsync the old AOF file when a new one is created
* Fix some crashes involving a list containing entries larger than 1GB
* Correctly handle scripts with a non-read-only shebang on a cluster replica
* Fix memory leak when unloading a module
* Fix bug with scripts ignoring client tracking NOLOOP
* Fix client-side tracking breaking protocol when FLUSHDB / FLUSHALL / SWAPDB is used inside MULTI-EXEC
* Fix ACL: BITFIELD with GET and also SET / INCRBY can be executed with read-only key permission
* Fix missing sections for INFO ALL when also requesting a module info section


================================================================================
Redis 7.0.4 Released Monday Jul 18 12:00:00 IST 2022
================================================================================

Upgrade urgency: SECURITY, contains fixes to security issues.

Security Fixes:
* (CVE-2022-31144) A specially crafted XAUTOCLAIM command on a stream
  key in a specific state may result with heap overflow, and potentially
  remote code execution. The problem affects Redis versions 7.0.0 or newer.

================================================================================
Redis 7.0.3 Released Monday Jul 11 12:00:00 IST 2022
================================================================================

Upgrade urgency: MODERATE, specifically if you're using a previous release of
Redis 7.0, contains fixes for bugs in previous 7.0 releases.


Performance and resource utilization improvements
=================================================

* Optimize zset conversion on large ZRANGESTORE
* Optimize the performance of sending PING on large clusters
* Allow for faster restart of Redis in cluster mode

INFO fields and introspection changes
=====================================

* Add missing sharded pubsub keychannel count to CLIENT LIST
* Add missing pubsubshard_channels field in INFO STATS

Module API changes
==================

* Add RM_StringToULongLong and RM_CreateStringFromULongLong
* Add RM_SetClientNameById and RM_GetClientNameById

Changes in CLI tools
====================

* Add missing cluster-port support to redis-cli --cluster

Other General Improvements
==========================

* Account sharded pubsub channels memory consumption
* Allow ECHO in loading and stale modes
* Cluster: Throw -TRYAGAIN instead of -ASK on migrating nodes for multi-key
  commands when the node only has some of the keys

Bug Fixes
=========

* TLS: Notify clients on connection shutdown
* Fsync directory while persisting AOF manifest, RDB file, and config file
* Script that made modification will not break with unexpected NOREPLICAS error
* Cluster: Fix a bug where nodes may not acknowledge a CLUSTER FAILOVER TAKEOVER
  after a replica reboots
* Cluster: Fix crash during handshake and cluster shards call

Fixes for issues in previous releases of Redis 7.0
--------------------------------------------------

* TLS: Fix issues with large replies
* Correctly report the startup warning for vm.overcommit_memory
* redis-server command line allow passing config name and value in the same argument
* Support --save command line argument with no value for backwards compatibility
* Fix CLUSTER RESET command regression requiring an argument

================================================================================
Redis 7.0.2 Released Sunday Jun 12 12:00:00 IST 2022
================================================================================

Upgrade urgency: MODERATE, specifically if you're using a previous release of
Redis 7.0, contains fixes for bugs in previous 7.0 releases.

Bug Fixes
=========

* Fixed SET and BITFIELD commands being wrongly marked movablekeys
  Regression in 7.0 possibly resulting in excessive roundtrip from cluster clients.
* Fix crash when /proc/sys/vm/overcommit_memory is inaccessible
  Regression in 7.0.1 resulting in crash on startup on some configurations.


================================================================================
Redis 7.0.1 Released Wed Jun 8 12:00:00 IST 2022
================================================================================

Upgrade urgency: MODERATE, specifically if you're using a previous release of
Redis 7.0, contains some behavior changes for new 7.0 features and important
fixes for bugs in previous 7.0 releases.

Improvements
============

* Add warning for suspected slow system clocksource setting
  Add --check-system command line option.
* Allow read-only scripts (*_RO commands, and ones with `no-writes` flag)
  during CLIENT PAUSE WRITE
* Add `readonly` flag in COMMAND command for EVAL_RO, EVALSHA_RO and FCALL_RO
* redis-server command line arguments now accept one string with spaces
  for multi-arg configs

Potentially Breaking Changes
============================

* Omitting a config option value in command line argument no longer works
* Hide the `may_replicate` flag from the COMMAND command response

Potentially Breaking Changes for new Redis 7.0 features
-------------------------------------------------------

* Protocol: Sharded pubsub publish emits `smessage` instead of `message`
* CLUSTER SHARDS returns slots as RESP integers, not strings
* Block PFCOUNT and PUBLISH in read-only scripts (*_RO commands, and no-writes)
* Scripts that declare the `no-writes` flag are implicitly `allow-oom` too

Changes in CLI tools
====================

* redis-cli --bigkeys, --memkeys, --hotkeys, --scan. Finish nicely after Ctrl+C

Platform / toolchain support related improvements
=================================================

* Support tcp-keepalive config interval on MacOs
* Support RSS metrics on Haiku OS

INFO fields and introspection changes
=====================================

* Add isolated network metrics for replication.

Module API changes
==================

* Add two more new checks to RM_Call script mode
* Add new RM_Call flag to let Redis automatically refuse `deny-oom` commands
* Add module API RM_MallocUsableSize
* Add missing REDISMODULE_NOTIFY_NEW
* Fix cursor type in RedisModuleScanCursor to handle more than 2^31 elements
* Fix RM_Yield bugs and RM_Call("EVAL") OOM check bug
* Fix bugs in enum configs with overlapping bit flags

Bug Fixes
=========

* FLUSHALL correctly resets rdb_changes_since_last_save INFO field
* FLUSHDB is now propagated to replicas / AOF, even if the db is empty
* Replica fail and retry the PSYNC if the master is unresponsive
* Fix ZRANGESTORE crash when zset_max_listpack_entries is 0

Fixes for issues in previous releases of Redis 7.0
--------------------------------------------------

* CONFIG REWRITE could cause a config change to be dropped for aliased configs
* CONFIG REWRITE would omit rename-command and include lines
  NOTE: Affected users who used Redis 7.0.0 to rewrite their configuration file
  should review and fix the file.
* Fix broken protocol after MISCONF (persistence) error
* Fix --save command line regression
* Fix possible regression around TLS config changes. re-load files even if the
  file name didn't change.
* Re-add SENTINEL SLAVES command, missing in redis 7.0
* BZMPOP gets unblocked by non-key args and returns them
* Fix possible memory leak in XADD and XTRIM

================================================================================
Redis 7.0.0 GA  Released Wed Apr 27 12:00:00 IST 2022
================================================================================

Upgrade urgency: SECURITY, contains fixes to security issues.

Security Fixes:
* (CVE-2022-24736) An attacker attempting to load a specially crafted Lua script
  can cause NULL pointer dereference which will result with a crash of the
  redis-server process. This issue affects all versions of Redis.
  [reported by Aviv Yahav].
* (CVE-2022-24735) By exploiting weaknesses in the Lua script execution
  environment, an attacker with access to Redis can inject Lua code that will
  execute with the (potentially higher) privileges of another Redis user.
  [reported by Aviv Yahav].


New Features
============

* Keyspace event for new keys


Command replies that have been extended
---------------------------------------

* COMMAND DOCS shows deprecated_since field in command args
* COMMAND DOCS shows module name where applicable


Potentially Breaking Changes
============================

* Replicas panic when they fail writing persistence
* Prevent cross slot operations in functions and scripts with shebang
* Rephrased some error responses about invalid commands or args
* Lua scripts do not have access to the print() function


Performance and resource utilization improvements
=================================================

* Speed optimization in streams
* Speed optimization in command execution pipeline
* Speed optimization in listpack encoded sorted
* Speed optimization in latency tracking at INFO (relevant for 7.0 RCs)
* Speed optimization when there are many replicas (relevant for 7.0 RCs)


New configuration options
=========================

* Allow ignoring disk persistence errors on replicas
* Allow abort with panic when replica fails to execute a command sent by the master
* Allow configuring shutdown flags of SIGTERM and SIGINT
* Allow attaching an operating system-specific identifier to Redis sockets


Module API changes
==================

* Add argument specifying ACL reason for module log entry
  Breaking API compatibility with 7.0 RCs
* Add the deprecated_since field in command args of COMMAND DOCS
  Breaking API/ABI compatibility with 7.0 RCs
* Add module API flag for using enum configs as bit flags
* Add RM_PublishMessageShard
* Add RM_MallocSizeString, RM_MallocSizeDict
* Add RM_TryAlloc


Bug Fixes
=========

* Replica report disk persistence errors in PING
* Fixes around rejecting commands on replicas and AOF when they must be respected
* Durability fixes for appendfsync=always policy


Fixes for issues in previous release candidates of Redis 7.0
------------------------------------------------------------

* Fix possible crash on CONFIG REWRITE
* Fix regression not aborting transaction on errors
* Fix auto-aof-rewrite-percentage based AOFRW trigger after restart
* Fix bugs when AOF enabled after startup, in case of failure before the first rewrite completes
* Fix RM_Yield module API bug processing future commands of the current client

Revision 1.66 / (download) - annotate - [select for diffs], Fri May 13 11:24:27 2022 UTC (18 months, 2 weeks ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2022Q3-base, pkgsrc-2022Q2-base, pkgsrc-2022Q2
Branch point for: pkgsrc-2022Q3
Changes since 1.65: +4 -4 lines
Diff to previous 1.65 (colored)

redis: update to 6.2.7.

================================================================================
Redis 6.2.7 Released Wed Apr 27 12:00:00 IDT 2022
================================================================================

Upgrade urgency: SECURITY, contains fixes to security issues.

Security Fixes:
* (CVE-2022-24736) An attacker attempting to load a specially crafted Lua script
  can cause NULL pointer dereference which will result with a crash of the
  redis-server process. This issue affects all versions of Redis.
  [reported by Aviv Yahav].
* (CVE-2022-24735) By exploiting weaknesses in the Lua script execution
  environment, an attacker with access to Redis can inject Lua code that will
  execute with the (potentially higher) privileges of another Redis user.
  [reported by Aviv Yahav].


Potentially Breaking Fixes
==========================

* LPOP/RPOP with count against non-existing list return null array (#10095)
* LPOP/RPOP used to produce wrong replies when count is 0 (#9692)


Performance and resource utilization improvements
=================================================

* Speed optimization in command execution pipeline (#10502)
* Fix regression in Z[REV]RANGE commands (by-rank) introduced in Redis 6.2 (#10337)


Platform / toolchain support related improvements
=================================================

* Fix RSS metrics on NetBSD and OpenBSD (#10116, #10149)
* Fix OpenSSL 3.0.x related issues (#10291)


Bug Fixes
=========

* Lua: Add checks for min-slave-* configs when evaluating Lua scripts (#10160)
* Lua: fix crash on a script call with many arguments, a regression in v6.2.6 (#9809)
* Tracking: Make invalidation messages always after command's reply (#9422)
* Fix excessive stream trimming due to an overflow (#10068)
* Add missed error counting for INFO errorstats (#9646)
* Fix geo search bounding box check causing missing results (#10018)
* Improve EXPIRE TTL overflow detection (#9839)
* Modules: Fix thread safety violation when a module thread adds an error reply, broken in 6.2 (#10278)
* Modules: Fix missing and duplicate error stats (#10278)
* Module APIs: release clients blocked on module commands in cluster resharding
  and down state (#9483)
* Sentinel: Fix memory leak with TLS (#9753)
* Sentinel: Fix issues with hostname support (#10146)
* Sentinel: Fix election failures on certain container environments (#10197)

Revision 1.65 / (download) - annotate - [select for diffs], Tue Oct 26 10:09:55 2021 UTC (2 years, 1 month ago) by nia
Branch: MAIN
CVS Tags: pkgsrc-2022Q1-base, pkgsrc-2022Q1, pkgsrc-2021Q4-base, pkgsrc-2021Q4
Changes since 1.64: +2 -2 lines
Diff to previous 1.64 (colored)

databases: Replace RMD160 checksums with BLAKE2s checksums

All checksums have been double-checked against existing RMD160 and
SHA512 hashes

The following distfiles could not be fetched (some may be only fetched
conditionally):

./databases/cstore/distinfo D6.data.ros.gz
./databases/cstore/distinfo cstore0.2.tar.gz
./databases/cstore/distinfo data4.tar.gz

Revision 1.64 / (download) - annotate - [select for diffs], Thu Oct 7 13:35:42 2021 UTC (2 years, 1 month ago) by nia
Branch: MAIN
Changes since 1.63: +1 -2 lines
Diff to previous 1.63 (colored)

databases: Remove SHA1 distfile hashes

Revision 1.62.2.1 / (download) - annotate - [select for diffs], Wed Oct 6 21:12:46 2021 UTC (2 years, 1 month ago) by tm
Branch: pkgsrc-2021Q3
Changes since 1.62: +6 -6 lines
Diff to previous 1.62 (colored) next main 1.63 (colored)

Pullup ticket #6503 - requested by taca
databases/redis: security fix

Revisions pulled up:
- databases/redis/Makefile                                      1.72
- databases/redis/distinfo                                      1.63
- databases/redis/patches/patch-src_Makefile                    1.5

---
   Module Name:	pkgsrc
   Committed By:	adam
   Date:		Mon Oct  4 18:55:36 UTC 2021

   Modified Files:
   	pkgsrc/databases/redis: Makefile distinfo
   	pkgsrc/databases/redis/patches: patch-src_Makefile

   Log Message:
   redis: updated to 6.2.6

   Redis 6.2.6

   Upgrade urgency: SECURITY, contains fixes to security issues.

   Security Fixes:
   * (CVE-2021-41099) Integer to heap buffer overflow handling certain string
     commands and network payloads, when proto-max-bulk-len is manually configured
     to a non-default, very large value [reported by yiyuaner].
   * (CVE-2021-32762) Integer to heap buffer overflow issue in redis-cli and
     redis-sentinel parsing large multi-bulk replies on some older and less common
     platforms [reported by Microsoft Vulnerability Research].
   * (CVE-2021-32687) Integer to heap buffer overflow with intsets, when
     set-max-intset-entries is manually configured to a non-default, very large
     value [reported by Pawel Wieczorkiewicz, AWS].
   * (CVE-2021-32675) Denial Of Service when processing RESP request payloads with
     a large number of elements on many connections.
   * (CVE-2021-32672) Random heap reading issue with Lua Debugger [reported by
     Meir Shpilraien].
   * (CVE-2021-32628) Integer to heap buffer overflow handling ziplist-encoded
     data types, when configuring a large, non-default value for
     hash-max-ziplist-entries, hash-max-ziplist-value, zset-max-ziplist-entries
     or zset-max-ziplist-value [reported by sundb].
   * (CVE-2021-32627) Integer to heap buffer overflow issue with streams, when
     configuring a non-default, large value for proto-max-bulk-len and
     client-query-buffer-limit [reported by sundb].
   * (CVE-2021-32626) Specially crafted Lua scripts may result with Heap buffer
     overflow [reported by Meir Shpilraien].

   Bug fixes that involve behavior changes:
   * GEO* STORE with empty source key deletes the destination key and return 0
     Previously it would have returned an empty array like the non-STORE variant.
   * PUBSUB NUMPAT replies with number of patterns rather than number of subscriptions
     This actually changed in 6.2.0 but was overlooked and omitted from the release notes.

   Bug fixes that are only applicable to previous releases of Redis 6.2:
   * Fix CLIENT PAUSE, used an old timeout from previous PAUSE
   * Fix CLIENT PAUSE in a replica would mess the replication offset
   * Add some missing error statistics in INFO errorstats

   Other bug fixes:
   * Fix incorrect reply of COMMAND command key positions for MIGRATE command
   * Fix appendfsync to always guarantee fsync before reply, on MacOS and FreeBSD (kqueue)
   * Fix the wrong mis-detection of sync_file_range system call, affecting performance

   CLI tools:
   * When redis-cli received ASK response, it didn't handle it

   Improvements:
   * Add latency monitor sample when key is deleted via lazy expire
   * Sanitize corrupt payload improvements
   * Delete empty keys when loading RDB file or handling a RESTORE command

Revision 1.63 / (download) - annotate - [select for diffs], Mon Oct 4 18:55:36 2021 UTC (2 years, 1 month ago) by adam
Branch: MAIN
Changes since 1.62: +6 -6 lines
Diff to previous 1.62 (colored)

redis: updated to 6.2.6

Redis 6.2.6

Upgrade urgency: SECURITY, contains fixes to security issues.

Security Fixes:
* (CVE-2021-41099) Integer to heap buffer overflow handling certain string
  commands and network payloads, when proto-max-bulk-len is manually configured
  to a non-default, very large value [reported by yiyuaner].
* (CVE-2021-32762) Integer to heap buffer overflow issue in redis-cli and
  redis-sentinel parsing large multi-bulk replies on some older and less common
  platforms [reported by Microsoft Vulnerability Research].
* (CVE-2021-32687) Integer to heap buffer overflow with intsets, when
  set-max-intset-entries is manually configured to a non-default, very large
  value [reported by Pawel Wieczorkiewicz, AWS].
* (CVE-2021-32675) Denial Of Service when processing RESP request payloads with
  a large number of elements on many connections.
* (CVE-2021-32672) Random heap reading issue with Lua Debugger [reported by
  Meir Shpilraien].
* (CVE-2021-32628) Integer to heap buffer overflow handling ziplist-encoded
  data types, when configuring a large, non-default value for
  hash-max-ziplist-entries, hash-max-ziplist-value, zset-max-ziplist-entries
  or zset-max-ziplist-value [reported by sundb].
* (CVE-2021-32627) Integer to heap buffer overflow issue with streams, when
  configuring a non-default, large value for proto-max-bulk-len and
  client-query-buffer-limit [reported by sundb].
* (CVE-2021-32626) Specially crafted Lua scripts may result with Heap buffer
  overflow [reported by Meir Shpilraien].

Bug fixes that involve behavior changes:
* GEO* STORE with empty source key deletes the destination key and return 0
  Previously it would have returned an empty array like the non-STORE variant.
* PUBSUB NUMPAT replies with number of patterns rather than number of subscriptions
  This actually changed in 6.2.0 but was overlooked and omitted from the release notes.

Bug fixes that are only applicable to previous releases of Redis 6.2:
* Fix CLIENT PAUSE, used an old timeout from previous PAUSE
* Fix CLIENT PAUSE in a replica would mess the replication offset
* Add some missing error statistics in INFO errorstats

Other bug fixes:
* Fix incorrect reply of COMMAND command key positions for MIGRATE command
* Fix appendfsync to always guarantee fsync before reply, on MacOS and FreeBSD (kqueue)
* Fix the wrong mis-detection of sync_file_range system call, affecting performance

CLI tools:
* When redis-cli received ASK response, it didn't handle it

Improvements:
* Add latency monitor sample when key is deleted via lazy expire
* Sanitize corrupt payload improvements
* Delete empty keys when loading RDB file or handling a RESTORE command

Revision 1.62 / (download) - annotate - [select for diffs], Thu Jul 22 09:56:54 2021 UTC (2 years, 4 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2021Q3-base
Branch point for: pkgsrc-2021Q3
Changes since 1.61: +5 -5 lines
Diff to previous 1.61 (colored)

redis: updated to 6.2.5

Redis 6.2.5
==========

Upgrade urgency: SECURITY, contains fixes to security issues that affect
authenticated client connections on 32-bit versions. MODERATE otherwise.

Fix integer overflow in BITFIELD on 32-bit versions (CVE-2021-32761).
An integer overflow bug in Redis version 2.2 or newer can be exploited using the
BITFIELD command to corrupt the heap and potentially result with remote code
execution.

Bug fixes that involve behavior changes:
* Change reply type for ZPOPMAX/MIN with count in RESP3 to nested array.
  Was using a flat array like in RESP2 instead of a nested array like ZRANGE does.
* Fix reply type for HRANDFIELD and ZRANDMEMBER when key is missing.
  Was using a null array instead of an empty array.
* Fix reply type for ZRANGESTORE when source key is missing.
  Was using an empty array like ZRANGE instead of 0 (used in the STORE variant).

Bug fixes that are only applicable to previous releases of Redis 6.2:
* ZRANDMEMBER WITHSCORES with negative COUNT may return bad score
* Fix crash after CLIENT UNPAUSE when threaded I/O config is enabled
* Fix XTRIM or XADD with LIMIT may delete more entries than the limit
* Fix build issue with OpenSSL 1.1.0

Other bug fixes:
* Fail EXEC command in case a watched key is expired
* Fix SMOVE not to invalidate dest key (WATCH and tracking) when member already exists
* Fix SINTERSTORE not to delete dest key when getting a wrong type error
* Fix overflows on 32-bit versions in GETBIT, SETBIT, BITCOUNT, BITPOS, and BITFIELD
* Improve MEMORY USAGE on stream keys
* Set TCP keepalive on inbound cluster bus connections
* Fix diskless replica loading to recover from RDB short read on module AUX data
* Fix race in client side tracking
* Fix ziplist length updates on big-endian platforms

CLI tools:
* redis-cli cluster import command may issue wrong MIGRATE command, sending COPY instead of REPLACE
* redis-cli --rdb fixes when using "-" to write to stdout
* redis-cli support for RESP3 set type in CSV and RAW output

Modules:
* Module API for getting current command name
* Fix RM_StringTruncate when newlen is 0
* Fix CLIENT UNBLOCK crashing modules without timeout callback

Revision 1.61 / (download) - annotate - [select for diffs], Wed Jun 2 10:25:02 2021 UTC (2 years, 5 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2021Q2-base, pkgsrc-2021Q2
Changes since 1.60: +5 -5 lines
Diff to previous 1.60 (colored)

redis: updated to 6.2.4

Redis 6.2.4
===========

Upgrade urgency: SECURITY, Contains fixes to security issues that affect
authenticated client connections. MODERATE otherwise.

Fix integer overflow in STRALGO LCS (CVE-2021-32625)
An integer overflow bug in Redis version 6.0 or newer can be exploited using the
STRALGO LCS command to corrupt the heap and potentially result with remote code
execution. This is a result of an incomplete fix by CVE-2021-29477.

Bug fixes that are only applicable to previous releases of Redis 6.2:
* Fix crash after a diskless replication fork child is terminated
* Fix redis-benchmark crash on unsupported configs

Other bug fixes:
* Fix crash in UNLINK on a stream key with deleted consumer groups
* SINTERSTORE: Add missing keyspace del event when none of the sources exist
* Sentinel: Fix CONFIG SET of empty string sentinel-user/sentinel-pass configs
* Enforce client output buffer soft limit when no traffic

Improvements:
* Hide AUTH passwords in MIGRATE command from slowlog

Revision 1.60 / (download) - annotate - [select for diffs], Tue May 4 06:19:44 2021 UTC (2 years, 6 months ago) by adam
Branch: MAIN
Changes since 1.59: +5 -5 lines
Diff to previous 1.59 (colored)

redis: updated to 6.2.3

================================================================================
Redis 6.2.3 Released Mon May 3 19:00:00 IST 2021
================================================================================

Upgrade urgency: SECURITY, Contains fixes to security issues that affect
authenticated client connections. LOW otherwise.

Integer overflow in STRALGO LCS command (CVE-2021-29477):
An integer overflow bug in Redis version 6.0 or newer could be exploited using
the STRALGO LCS command to corrupt the heap and potentially result in remote
code execution. The integer overflow bug exists in all versions of Redis
starting with 6.0.

Integer overflow in COPY command for large intsets (CVE-2021-29478):
An integer overflow bug in Redis 6.2 could be exploited to corrupt the heap and
potentially result with remote code execution. The vulnerability involves
changing the default set-max-intset-entries configuration value, creating a
large set key that consists of integer values and using the COPY command to
duplicate it. The integer overflow bug exists in all versions of Redis starting
with 2.6, where it could result with a corrupted RDB or DUMP payload, but not
exploited through COPY (which did not exist before 6.2).

Bug fixes that are only applicable to previous releases of Redis 6.2:
* Fix memory leak in moduleDefragGlobals
* Fix memory leak when doing lazy freeing client tracking table
* Block abusive replicas from sending command that could assert and crash redis

Other bug fixes:
* Use a monotonic clock to check for Lua script timeout
* redis-cli: Do not use unix socket when we got redirected in cluster mode

Modules:
* Fix RM_GetClusterNodeInfo() to correctly populate master id

Revision 1.59 / (download) - annotate - [select for diffs], Thu Apr 22 15:46:53 2021 UTC (2 years, 7 months ago) by adam
Branch: MAIN
Changes since 1.58: +5 -5 lines
Diff to previous 1.58 (colored)

redis: updated to 6.2.2

Redis 6.2.2
===========

Upgrade urgency: HIGH, if you're using ACL and pub/sub, CONFIG REWRITE, or
suffering from performance regression. see below.

Bug fixes for regressions in previous releases of Redis 6.2:
* Fix BGSAVE, AOFRW, and replication slowdown due to child reporting CoW
* Fix short busy loop when timer event is about to fire
* Fix default user, overwritten and reset users losing pubsub channel permissions
* Fix config rewrite with an empty `save` config resulsing in default `save` values
* Fix not starting on alpine/libmusl without IPv6
* Fix issues with propagation and MULTI/EXEC in modules
  Several issues around nested calls and thread safe contexts

Bug fixes that are only applicable to previous releases of Redis 6.2:
* ACL Pub/Sub channels permission handling for save/load scenario
* Fix early rejection of PUBLISH inside MULTI-EXEC transaction
* Fix missing SLOWLOG records for blocked commands
* Allow RESET command during busy scripts
* Fix some error replies were not counted on stats

Bug fixes:
* Add a timeout mechanism for replicas stuck in fullsync
* Process HELLO command even if the default user has no permissions
* Client issuing a long running script and using a pipeline, got disconnected
* Fix script kill to work also on scripts that use `pcall`
* Fix list-compress-depth may compress more node than required
* Fix redis-cli handling of rediss:// URL scheme
* Cluster: Skip unnecessary check which may prevent failure detection
* Cluster: Fix hang manual failover when replica just started
* Sentinel: Fix info-refresh time field before sentinel get first response
* Sentinel: Fix possible crash on failed connection attempt
* Systemd: Send the readiness notification when a replica is ready to accept connections

Command behavior changes:
* ZADD: fix wrong reply when INCR used with GT/LT which blocked the update
  It was responding with the incremented value rather than nil
* XAUTOCLAIM: fix response to return the next available id as the cursor
  Previous behavior was retuning the last one which was already scanned
* XAUTOCLAIM: fix JUSTID to prevent incrementing delivery_count

New config options:
* Add cluster-allow-replica-migration config option
* Add replica-announced config option
* Add support for plaintext clients in TLS cluster
* Add support for reading encrypted keyfiles

Improvements:
* Fix performance regression in BRPOP on Redis 6.0
* Avoid adding slowlog entries for config with sensitive data
* Improve redis-cli non-binary safe string handling
* Optimize CLUSTER SLOTS reply
* Handle remaining fsync errors

Info fields and introspection changes:
* Strip % sign from current_fork_perc info field
* Fix RSS memory info on FreeBSD
* Fix client_recent_max_input/output_buffer in 'INFO CLIENTS' when all clients drop
* Fix invalid master_link_down_since_seconds in info replication

Platform and deployment-related changes:
* Fix FreeBSD <12.x builds

Modules:
* Add macros for RedisModule_log logging levels
* Add RedisModule_GetAbsExpire / RedisModule_SetAbsExpire
* Add a module type for key space notification
* Set module eviction context flag only in masters
* Fix unusable RedisModule_IsAOFClient API
* Fix missing EXEC on modules propagation after failed EVAL execution
* Fix edge-case when a module client is unblocked

Revision 1.58 / (download) - annotate - [select for diffs], Tue Mar 2 11:56:53 2021 UTC (2 years, 8 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2021Q1-base, pkgsrc-2021Q1
Changes since 1.57: +5 -6 lines
Diff to previous 1.57 (colored)

redis: updated to 6.2.1

Redis 6.2.1

Upgrade urgency: LOW.

Bug fixes:
* Fix sanitize-dump-payload for stream with deleted records
* Prevent client-query-buffer-limit config from being set to lower than 1mb

Improvements:
* Make port, tls-port and bind config options modifiable at runtime

Platform and deployment-related changes:
* Fix compilation error on non-glibc systems if jemalloc is not used
* Improved memory consumption and memory usage tracking on FreeBSD
* Fix compilation on ARM64 MacOS with jemalloc

Modules:
* New Module API for getting user name of a client
* Optimize RM_Call by utilizing a shared reusable client
* Fix crash running CLIENT INFO via RM_Call

Revision 1.57 / (download) - annotate - [select for diffs], Mon Mar 1 13:19:18 2021 UTC (2 years, 8 months ago) by adam
Branch: MAIN
Changes since 1.56: +8 -7 lines
Diff to previous 1.56 (colored)

redis: updated to 6.2.0

Redis 6.2.0 GA  Released Tue Feb 22 14:00:00 IST 2021
================================================================================

Upgrade urgency: SECURITY if you use 32bit build of redis (see bellow), MODERATE
if you used earlier versions of Redis 6.2, LOW otherwise.

Integer overflow on 32-bit systems (CVE-2021-21309):
Redis 4.0 or newer uses a configurable limit for the maximum supported bulk
input size. By default, it is 512MB which is a safe value for all platforms.
If the limit is significantly increased, receiving a large request from a client
may trigger several integer overflow scenarios, which would result with buffer
overflow and heap corruption.

Bug fixes:
* Avoid 32-bit overflows when proto-max-bulk-len is set high
* Fix broken protocol in client tracking tracking-redir-broken message
* Avoid unsafe field name characters in INFO commandstats, errorstats, modules
* XINFO able to access expired keys during CLIENT PAUSE WRITE
* Fix allowed length for REPLCONF ip-address, needed due to Sentinel's support for hostnames
* Fix broken protocol in redis-benchmark when used with -a or --dbnum
* XADD counts deleted records too when considering switching to a new listpack

Bug fixes that are only applicable to previous releases of Redis 6.2:
* Fixes in GEOSEARCH bybox (accuracy and mismatch between width and height)
* Fix risk of OOM panic in HRANDFIELD, ZRANDMEMBER commands with huge negative count
* Fix duplicate replicas issue in Sentinel, needed due to hostname support
* Fix Sentinel configuration rewrite

Command behavior changes:
* SRANDMEMBER uses RESP3 array type instead of set type
* EXPIRE, EXPIREAT, SETEX, GETEX: Return error when provided expire time overflows

Other behavior changes:
* Remove ACL subcommand validation if fully added command exists.

Improvements:
* Optimize sorting in GEORADIUS / GEOSEARCH with COUNT
* Optimize HRANDFIELD and ZRANDMEMBER case 4 when ziplist encoded
* Optimize in-place replacement of elements in HSET, HINCRBY, LSET
* Remove redundant list to store pubsub patterns
* Add --insecure option to command line tools

Info fields and introspection changes:
* Add INFO fields to track progress of BGSAVE, AOFRW, replication

Modules:
* RM_ZsetRem: Delete key if empty, the bug could leave empty zset keys
* RM_HashSet: Add COUNT_ALL flag and set errno


Redis 6.2 RC3   Released Tue Feb 1 14:00:00 IST 2021
================================================================================

Upgrade urgency LOW: This is the third Release Candidate of Redis 6.2.

New commands / args:
* Add HRANDFIELD and ZRANDMEMBER commands
* Add FAILOVER command
* Add GETEX, GETDEL commands
* Add PXAT/EXAT arguments to SET command
* Add SYNC arg to FLUSHALL and FLUSHDB, and ASYNC/SYNC arg to SCRIPT FLUSH

Sentinel:
* Add hostname support to Sentinel
* Prevent file descriptors from leaking into Sentinel scripts
* Fix config file line order dependency and config rewrite sequence

New configuration options:
* Add set-proc-title config option to disable changes to the process title
* Add proc-title-template option to control what's shown in the process title
* Add lazyfree-lazy-user-flush config option to control FLUSHALL, FLUSHDB and SCRIPT FLUSH

Bug fixes:
* AOF: recover from last write error by turning on/off appendonly config
* Exit on fsync error when the AOF fsync policy is 'always'
* Avoid assertions (on older kernels) when testing arm64 CoW bug
* CONFIG REWRITE should honor umask settings
* Fix firstkey,lastkey,step in COMMAND command for some commands

Special considerations:
* Fix misleading description of the save configuration directive

Improvements:
* A way to get RDB file via replication without excessive replication buffers
* Optimize performance of clusterGenNodesDescription for large clusters

Info fields and introspection changes:
* SLOWLOG and LATENCY monitor include unblocking time of blocked commands

Modules:
* Add modules API for streams
* Add event for fork child birth and termination
* Add RM_BlockedClientMeasureTime* etc, to track background processing in commandstats
* Fix bug in v6.2, wrong value passed to the new unlink callback
* Fix bug in v6.2, modules blocked on keys unblock on commands like LPUSH


Redis 6.2 RC2   Released Tue Jan 12 16:17:20 IST 2021
================================================================================

Upgrade urgency LOW: This is the second Release Candidate of Redis 6.2.

IMPORTANT: If you're running Redis on ARM64 or a big-endian system, upgrade may
have significant implications. Please be sure to read the notes below.

New commands / args:
* Add the REV, BYLEX and BYSCORE arguments to ZRANGE, and the ZRANGESTORE command
* Add the XAUTOCLAIM command
* Add the MINID trimming strategy and the LIMIT argument to XADD and XTRIM
* Add the ANY argument to GEOSEARCH and GEORADIUS
* Add the CH, NX, XX arguments to GEOADD
* Add the COUNT argument to LPOP and RPOP
* Add the WRITE argument to CLIENT PAUSE for pausing write commands exclusively
* Change the proto-ver argument of HELLO to optional
* Add the CLIENT TRACKINGINFO subcommand

Command behavior changes:
* CLIENT TRACKING yields an error when given overlapping BCAST prefixes
* SWAPDB invalidates WATCHed keys
* SORT command behaves differently when used on a writable replica

Other behavior changes:
* Avoid propagating MULTI/EXEC for read-only transactions
* Remove the read-only flag from TIME, ECHO, ROLE, LASTSAVE
* Fix the command flags of PFDEBUG
* Tracking clients will no longer receive unnecessary key invalidation messages after FLUSHDB
* Sentinel: Fix missing updates to the config file after SENTINEL SET command

Bug fixes with compatibility implications (bugs introduced in Redis 6.0):
* Fix RDB CRC64 checksum on big-endian systems
  If you're using big-endian please consider the compatibility implications with
  RESTORE, replication and persistence.
* Fix wrong order of key/value in Lua's map response
  If your scripts use redis.setresp() or return a map (new in Redis 6.0), please
  consider the implications.

Bug fixes that are only applicable to previous releases of Redis 6.2:
* Resolve rare assertions in active defragmentation while loading

Bug fixes:
* Fix the selection of a random element from large hash tables
* Fix an issue where a forked process deletes the parent's pidfile
* Fix crashes when enabling io-threads-do-reads
* Fix a crash in redis-cli after executing cluster backup
* Fix redis-benchmark to use an IP address for the first cluster node
* Fix saving of strings larger than 2GB into RDB files

Additional improvements:
* Improve replication handshake time
* Release client tracking table memory asynchronously in cases where the DB is also freed asynchronously
* Avoid wasteful transient memory allocation in certain cases
* Handle binary string values by the 'requirepass' and 'masterauth' configs

Platform and deployment-related changes:
* Install redis-check-rdb and redis-check-aof as symlinks to redis-server
* Add a check for an ARM64 Linux kernel bug
  Due to the potential severity of this issue, Redis will refuse to run on
  affected platforms by default.

Info fields and introspection changes:
* Add the errorstats section to the INFO command
* Add the failed_calls and rejected_calls fields INFO's commandstats section
* Report child copy-on-write metrics continuously

Module API changes:
* Add the RedisModule_SendChildCOWInfo API
* Add the may-replicate command flag


Redis 6.2 RC1   Released Mon Dec 14 11:50:00 IST 2020
================================================================================

Upgrade urgency LOW: This is the first Release Candidate of Redis 6.2.

Introduction to the Redis 6.2 release
=====================================

This release is the first significant Redis release managed by the core team
under the new project governance model.

Redis 6.2 includes many new commands and improvements, but no big features. It
mainly makes Redis more complete and addresses issues that have been requested
by many users frequently or for a long time.

Many of these changes were not eligible for 6.0.x for several reasons:

1. They are not backward compatible, which is always the case with new or
   extended commands (that cannot be replicated to an older replica).
2. They require a longer release-candidate test cycle.

New commands / args:
* Add SMISMEMBER command that checks multiple members
* Add ZMSCORE command that returns an array of scores
* Add LMOVE and BLMOVE commands that pop and push arbitrarily
* Add RESET command that resets client connection state
* Add COPY command that copies keys
* Add ZDIFF and ZDIFFSTORE commands
* Add ZINTER and ZUNION commands
* Add GEOSEARCH/GEOSEARCHSTORE commands for bounding box spatial queries
* Add GET parameter to SET command, for more powerful GETSET
* Add exclusive range query to XPENDING
* Add exclusive range query to X[REV]RANGE
* Add GT and LT options to ZADD for conditional score updates
* Add CLIENT INFO and CLIENT LIST for specific ids
* Add IDLE argument to XPENDING command
* Add local address to CLIENT LIST, and a CLIENT KILL filter.
* Add NOMKSTREAM option to XADD command
* Add command introspection to Sentinel
* Add SENTINEL MYID subcommand

New features:
* Dump payload sanitization: prevent corrupt payload causing crashes
  Has flags to enable full O(N) validation (disabled by default).
* ACL patterns for Pub/Sub channels
* Support ACL for Sentinel mode
* Support getting configuration from both stdin and file at the same time
  Lets you avoid storing secrets on the disk.

New features in CLI tools:
* redis-cli RESP3 push support
* redis-cli cluster import support source and target that require auth
* redis-cli URIs able to provide user name in addition to password
* redis-cli/redis-benchmark allow specifying the prefered ciphers/ciphersuites
* redis-cli add -e option to exit with code when command execution fails

Command behavior changes:
* EXISTS should not alter LRU
  In Redis 5.0 and 6.0 it would have touched the LRU/LFU of the key.
* OBJECT should not reveal logically expired keys
  Will now behave the same TYPE or any other non-DEBUG command.
* Improve db id range check for SELECT and MOVE
  Changes the error message text on a wrong db index.
* Modify AUTH / HELLO error message
  Changes the error message text when the user isn't found or is disabled.
* BITOPS length limited to proto_max_bulk_len rather than 512MB
  The limit is now configurable like in SETRANGE, and APPEND.
* GEORADIUS[BYMEMBER] can fail with -OOM if Redis is over the memory limit

Other behavior changes:
* Optionally (default) fail to start if requested bind address is not available
  If you rely on Redis starting successfully even if one of the bind addresses
  is not available, you'll need to tune the new config.
* Limit the main db dictionaries expansion to prevent key eviction
  In the past big dictionary rehashing could result in massive data eviction.
  Now this rehashing is delayed (up to a limit), which can result in performance
  loss due to hash collisions.
* CONFIG REWRITE is atomic and safer, but requires write access to the config file's folder
  This change was already present in 6.0.9, but was missing from the release
  notes.
* A new incremental eviction mechanism that reduces latency on eviction spikes
  In pathological cases this can cause memory to grow uncontrolled and may require
  specific tuning.
* Not resetting "save" config when Redis is started with command line arguments.
  In case you provide command line arguments without "save" and count on it
  being disabled, Now the defaults "save" config will kick in.
* Update memory metrics for INFO during loading
* When "supervised" config is enabled, it takes precedence over "daemonize".
* Assertion and panic, print crash log without generating SIGSEGV
* Added crash log report on SIGABRT, instead of silently exiting
* Disable THP (Transparent Huge Pages) if enabled
  If you deliberately enabled it, you'll need to config Redis to keep it.

Bug fixes:
* Handle output buffer limits for module blocked clients
  Could result in a module sending reply to a blocked client to go beyond the
  limit.
* Fix setproctitle related crashes.
  Caused various crashes on startup, mainly on Apple M1 chips or under
  instrumentation.
* A module doing RM_Call could cause replicas to get nested MULTI
* Backup/restore cluster mode keys to slots map for repl-diskless-load=swapdb
  In cluster mode with repl-diskless-load, when loading failed, slot map
  wouldn't have been restored.
* Fix oom-score-adj-values range, and bug when used in config file
  Enabling setting this in the config file in a line after enabling it, would
  have been buggy.
* Reset average ttl when empty databases
  Just causing misleading metric in INFO
* Disable rehash when Redis has child process
  This could have caused excessive CoW during BGSAVE, replication or AOFRW.
* Further improved ACL algorithm for picking categories
  Output of ACL GETUSER is now more similar to the one provided by ACL SETUSER.
* Fix bug with module GIL being released prematurely
  Could in theory (and rarely) cause multi-threaded modules to corrupt memory.
* Fix cluster redirect for module command with no firstkey.
* Reduce effect of client tracking causing feedback loop in key eviction
* Kill disk-based fork child when all replicas drop and 'save' is not enabled
* Rewritten commands (modified for propagation) are logged as their original command
* Fix cluster access to unaligned memory (SIGBUS on old ARM)
* If diskless repl child is killed, make sure to reap the child pid
* Broadcast a PONG message when slot's migration is over, may reduce MOVED responses

Other improvements:
* TLS Support in redis-benchmark
* Accelerate diskless master connections, and general re-connections
* Run active defrag while blocked / loading
* Performance and memory reporting improvement - sds take control of its internal fragmentation
* Speedup cluster failover.

Platform / toolchain support related improvements:
* Optionally (not by default) use H/W Monotonic clock for faster time sampling
* Remove the requirements for C11 and _Atomic supporting compiler
  This would allow to more easily build and use Redis on older systems and
  compilers again.
* Fix crash log registers output on ARM.
* Raspberry build fix.
* Setting process title support for Haiku.
* DragonFlyBSD RSS memory sampling support.

New configuration options:
* Enable configuring OpenSSL using the standard openssl.cnf
* oom-score-adj-values config can now take absolute values (besides relative ones)
* TLS: Add different client cert support.
* Note that a few other changes listed above added their config options.

Info fields and introspection changes:
* Add INFO fields to track diskless and disk-based replication progress
* Add INFO field for main thread cpu time, and scrape system time.
* Add total_forks to INFO STATS
* Add maxclients and cluster_connections to INFO CLIENTS
* Add tracking bcast flag and client redirection in client list
* Fixed INFO client_recent_max_input_buffer includes argv array
* Note that a few other changes listed above added their info fields.

Module API changes:
* Add CTX_FLAGS_DENY_BLOCKING as a unified the way to know if blocking is allowed
* Add data type callbacks for lazy free effort, and unlink
* Add data type callback for COPY command
* Add callbacks for defrag support.
* Add module event for repl-diskless-load swapdb

Module related fixes:
* Moved RMAPI_FUNC_SUPPORTED so that it's usable
* Improve timer accuracy
* Allow '\0' inside of result of RM_CreateStringPrintf

Revision 1.56 / (download) - annotate - [select for diffs], Wed Jan 13 11:30:28 2021 UTC (2 years, 10 months ago) by adam
Branch: MAIN
Changes since 1.55: +5 -5 lines
Diff to previous 1.55 (colored)

redis: updated to 6.0.10

Redis 6.0.10
============

Upgrade urgency MODERATE: several bugs with moderate impact are fixed,
Here is a comprehensive list of changes in this release compared to 6.0.9.

Command behavior changes:
* SWAPDB invalidates WATCHed keys
* SORT command behaves differently when used on a writable replica
* EXISTS should not alter LRU
  In Redis 5.0 and 6.0 it would have touched the LRU/LFU of the key.
* OBJECT should not reveal logically expired keys
  Will now behave the same TYPE or any other non-DEBUG command.
* GEORADIUS[BYMEMBER] can fail with -OOM if Redis is over the memory limit

Other behavior changes:
* Sentinel: Fix missing updates to the config file after SENTINEL SET command
* CONFIG REWRITE is atomic and safer, but requires write access to the config file's folder
  This change was already present in 6.0.9, but was missing from the release notes.

Bug fixes with compatibility implications (bugs introduced in Redis 6.0):
* Fix RDB CRC64 checksum on big-endian systems
  If you're using big-endian please consider the compatibility implications with
  RESTORE, replication and persistence.
* Fix wrong order of key/value in Lua's map response
  If your scripts use redis.setresp() or return a map (new in Redis 6.0), please
  consider the implications.

Bug fixes:
* Fix an issue where a forked process deletes the parent's pidfile
* Fix crashes when enabling io-threads-do-reads
* Fix a crash in redis-cli after executing cluster backup
* Handle output buffer limits for module blocked clients
  Could result in a module sending reply to a blocked client to go beyond the limit.
* Fix setproctitle related crashes.
  Caused various crashes on startup, mainly on Apple M1 chips or under instrumentation.
* Backup/restore cluster mode keys to slots map for repl-diskless-load=swapdb
  In cluster mode with repl-diskless-load, when loading failed, slot map wouldn't
  have been restored.
* Fix oom-score-adj-values range, and bug when used in config file
  Enabling setting this in the config file in a line after enabling it, would
  have been buggy.
* Reset average ttl when empty databases
  Just causing misleading metric in INFO
* Disable rehash when Redis has child process
  This could have caused excessive CoW during BGSAVE, replication or AOFRW.
* Further improved ACL algorithm for picking categories
  Output of ACL GETUSER is now more similar to the one provided by ACL SETUSER.
* Fix bug with module GIL being released prematurely
  Could in theory (and rarely) cause multi-threaded modules to corrupt memory.
* Reduce effect of client tracking causing feedback loop in key eviction
* Fix cluster access to unaligned memory (SIGBUS on old ARM)
* Fix saving of strings larger than 2GB into RDB files

Additional improvements:
* Avoid wasteful transient memory allocation in certain cases

Platform / toolchain support related improvements:
* Fix crash log registers output on ARM.
* Add a check for an ARM64 Linux kernel bug
  Due to the potential severity of this issue, Redis will print log warning on startup.
* Raspberry build fix.

New configuration options:
* oom-score-adj-values config can now take absolute values (besides relative ones)

Module related fixes:
* Moved RMAPI_FUNC_SUPPORTED so that it's usable
* Improve timer accuracy
* Allow '\0' inside of result of RM_CreateStringPrintf

Revision 1.55 / (download) - annotate - [select for diffs], Tue Oct 27 10:22:34 2020 UTC (3 years, 1 month ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2020Q4-base, pkgsrc-2020Q4
Changes since 1.54: +7 -7 lines
Diff to previous 1.54 (colored)

redis: updated to 6.0.9

Redis 6.0.9
===========

Upgrade urgency: SECURITY if you use an affected platform (see below).
                 Otherwise the upgrade urgency is MODERATE.

This release fixes a potential heap overflow when using a heap allocator other
than jemalloc or glibc's malloc. See:
https://github.com/redis/redis/pull/7963

Other fixes in this release:

New:
* Memory reporting of clients argv
* Add redis-cli control on raw format line delimiter
* Add redis-cli support for rediss:// -u prefix
* Get rss size support for NetBSD and DragonFlyBSD

Behavior changes:
* WATCH no longer ignores keys which have expired for MULTI/EXEC
* Correct OBJECT ENCODING response for stream type
* Allow blocked XREAD on a cluster replica
* TLS: Do not require CA config if not used

Bug fixes:
* INFO report real peak memory (before eviction)
* Allow requirepass config to clear the password
* Fix config rewrite file handling to make it really atomic
* Fix excessive categories being displayed from ACLs
* Add fsync in replica when full RDB payload was received
* Don't write replies to socket when output buffer limit reached
* Fix redis-check-rdb support for modules aux data
* Other smaller bug fixes

Modules API:
* Add APIs for version and compatibility checks
* Add RM_GetClientCertificate
* Add RM_GetDetachedThreadSafeContext
* Add RM_GetCommandKeys
* Add Swapdb Module Event
* RM_GetContextFlags provides indication of being in a fork child
* RM_GetContextFlags document missing flags: MULTI_DIRTY, IS_CHILD
* Expose real client on connection events
* Minor improvements to module blocked on keys

Revision 1.54 / (download) - annotate - [select for diffs], Fri Sep 11 09:25:18 2020 UTC (3 years, 2 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2020Q3-base, pkgsrc-2020Q3
Changes since 1.53: +5 -5 lines
Diff to previous 1.53 (colored)

redis: updated to 6.0.8

Redis 6.0.8
===========

Upgrade urgency HIGH: Anyone who's using Redis 6.0.7 with Sentinel or
CONFIG REWRITE command is affected and should upgrade ASAP.

Bug fixes:

* CONFIG REWRITE after setting oom-score-adj-values either via CONFIG SET or
  loading it from a config file, will generate a corrupt config file that will
  cause Redis to fail to start
* Fix issue with redis-cli --pipe on MacOS
* Fix RESP3 response for HKEYS/HVALS on non-existing key
* Various small bug fixes

New features / Changes:

* Remove THP warning when set to madvise
* Allow EXEC with read commands on readonly replica in cluster
* Add masters/replicas options to redis-cli --cluster call command

Module API:

* Add RedisModule_ThreadSafeContextTryLock

Revision 1.53 / (download) - annotate - [select for diffs], Tue Sep 8 17:46:36 2020 UTC (3 years, 2 months ago) by adam
Branch: MAIN
Changes since 1.52: +5 -5 lines
Diff to previous 1.52 (colored)

redis: updated to 6.0.7

Redis 6.0.7

Upgrade urgency MODERATE: several bugs with moderate impact are fixed,
Specifically the first two listed below which cause protocol errors for clients.

Bug fixes:

* CONFIG SET could hung the client when arrives during RDB/ROF loading (When
  processed after another command that was also rejected with -LOADING error)
* LPOS command when RANK is greater than matches responded wiht broken protocol
  (negative multi-bulk count)
* UNLINK / Lazyfree for stream type key would have never do async freeing
* PERSIST should invalidate WATCH (Like EXPIRE does)
* EXEC with only read commands could have be rejected when OOM
* TLS: relax verification on CONFIG SET (Don't error if some configs are set
  and tls isn't enabled)
* TLS: support cluster/replication without tls-port
* Systemd startup after network is online
* Redis-benchmark improvements
* Various small bug fixes

New features:

* Add oom-score-adj configuration option to control Linux OOM killer
* Show IO threads statistics and status in INFO output
* Add optional tls verification mode (see tls-auth-clients)

Module API:

* Add RedisModule_HoldString
* Add loaded keyspace event
* Fix RedisModuleEvent_LoadingProgress
* Fix RedisModuleEvent_MasterLinkChange hook missing on successful psync
* Fix missing RM_CLIENTINFO_FLAG_SSL
* Refactor redismodule.h for use with -fno-common / extern

Revision 1.52 / (download) - annotate - [select for diffs], Tue Jul 21 07:34:43 2020 UTC (3 years, 4 months ago) by adam
Branch: MAIN
Changes since 1.51: +5 -5 lines
Diff to previous 1.51 (colored)

redis: updated to 6.0.6

Redis 6.0.6
===========

Upgrade urgency MODERATE: several bugs with moderate impact are fixed here.

The most important issues are listed here:

* Fix crash when enabling CLIENT TRACKING with prefix
* EXEC always fails with EXECABORT and multi-state is cleared
* RESTORE ABSTTL won't store expired keys into the db
* redis-cli better handling of non-pritable key names
* TLS: Ignore client cert when tls-auth-clients off
* Tracking: fix invalidation message on flush
* Notify systemd on Sentinel startup
* Fix crash on a misuse of STRALGO
* Few fixes in module API
* Fix a few rare leaks (STRALGO error misuse, Sentinel)
* Fix a possible invalid access in defrag of scripts (unlikely to cause real harm)

New features:

* LPOS command to search in a list
* Use user+pass for MIGRATE in redis-cli and redis-benchmark in cluster mode
* redis-cli support TLS for --pipe, --rdb and --replica options
* TLS: Session caching configuration support

Revision 1.51 / (download) - annotate - [select for diffs], Thu Jun 11 11:22:14 2020 UTC (3 years, 5 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2020Q2-base, pkgsrc-2020Q2
Changes since 1.50: +5 -5 lines
Diff to previous 1.50 (colored)

redis: updated to 6.0.5

Redis 6.0.5

Upgrade urgency MODERATE: several bugs with moderate impact are fixed here.

The most important issues are listed here:

* Fix handling of speical chars in ACL LOAD.
* Make Redis Cluster more robust about operation errors that may lead
  to two clusters to mix together.
* Revert the sendfile() implementation of RDB transfer. It causes some delay.
* Fix TLS certificate loading for chained certificates.
* Fix AOF rewirting of KEEPTTL SET option.
* Fix MULTI/EXEC behavior during -BUSY script errors.

Revision 1.50 / (download) - annotate - [select for diffs], Thu May 28 12:02:44 2020 UTC (3 years, 6 months ago) by adam
Branch: MAIN
Changes since 1.49: +5 -5 lines
Diff to previous 1.49 (colored)

redis: updated to 6.0.4

Redis 6.0.4
===========

Upgrade urgency CRITICAL: this release fixes a severe replication bug.

Redis 6.0.4 fixes a critical replication bug caused by a new feature introduced
in Redis 6. The feature, called "meaningful offset" and strongly wanted by
myself (antirez) was an improvement that avoided that masters were no longer
able, during a failover where they were demoted to replicas, to partially
synchronize with the new master. In short the feature was able to avoid full
synchronizations with RDB. How did it work? By trimming the replication backlog
of the final "PING" commands the master was sending in the replication channel:
this way the replication offset would no longer go "after" the one of the
promoted replica, allowing the master to just continue in the same replication
history, receiving only a small data difference.

However after the introduction of the feature we (the Redis core team) quickly
understood there was something wrong: the apparently harmless feature had
many bugs, and the last bug we discovered, after a joined effort of multiple
people, we were not even able to fully understand after fixing it. Enough was
enough, we decided that the complexity cost of this feature was too high.
So Redis 6.0.4 removes the feature entirely, and fixes the data corruption that
it was able to cause.

However there are two facts to take in mind.

Fact 1: Setups using chained replication, that means that certain replicas
are replicating from other replicas, up to Redis 6.0.3 can experience data
corruption. For chained replication we mean that:

    +--------+          +---------+         +-------------+
    | master |--------->| replica |-------->| sub-replica |
    +--------+          +---------+         +-------------+


People using chained replication SHOULD UPGRADE ASAP away from Redis 6.0.0,
6.0.1, 6.0.2 or 6.0.3 to Redis 6.0.4.

To be clear, people NOT using this setup, but having just replicas attached
directly to the master, SHOUDL NOT BE in danger of any problem. But we
are no longer confident on 6.0.x replication implementation complexities
so we suggest to upgrade to 6.0.4 to everybody using an older 6.0.3 release.
We just so far didn't find any bug that affects Redis 6.0.3 that does not
involve chained replication.

People starting with Redis 6.0.4 are fine. People with Redis 5 are fine.
People upgrading from Redis 5 to Redis 6.0.4 are fine.
TLDR: The problem is with users of 6.0.0, 6.0.1, 6.0.2, 6.0.3.

Fact 2: Upgrading from Redis 6.0.x to Redis 6.0.4, IF AND ONLY IF you
use chained replication, requires some extra care:

1. Once you attach your new Redis 6.0.4 instance as a replica of the current
   Redis 6.0.x master, you should wait for the first full synchronization,
   then you should promote it right away, if your setup involves chained
   replication. Don't give it the time to do a new partial synchronization
   in the case the link between the master and the replica  will break in
   the mean time.

2. As an additional care, you may want to set the replication ping period
   to a very large value (for instance 1000000) using the following command:

       CONFIG SET repl-ping-replica-period 1000000

   Note that if you do "1" with care, "2" is not needed.
   However if you do it, make sure to later restore it to its default:

       CONFIG SET repl-ping-replica-period 10

So this is the main change in Redis 6. Later we'll find a different way in
order to achieve what we wanted to achieve with the Meaningful Offset feature,
but without the same complexity.

Other changes in this release:

* PSYNC2 tests improved.
* Fix a rare active defrag edge case bug leading to stagnation
* Fix Redis 6 asserting at startup in 32 bit systems.
* Redis 6 32 bit is now added back to our testing environments.
* Fix server crash for STRALGO command,
* Implement sendfile for RDB transfer.
* TLS fixes.
* Make replication more resistant by disconnecting the master if we
  detect a protocol error. Basically we no longer accept inline protocol
  from the master.
* Other improvements in the tests.

Revision 1.49 / (download) - annotate - [select for diffs], Tue May 19 09:20:15 2020 UTC (3 years, 6 months ago) by adam
Branch: MAIN
Changes since 1.48: +5 -6 lines
Diff to previous 1.48 (colored)

redis: updated to 6.0.3

Redis 6.0.3:
Upgrade urgency CRITICAL: a crash introduced in 6.0.2 is now fixed.


Redis 6.0.2:
Upgrade urgency MODERATE: many not critical bugfixes in different areas.
                          Critical fix to client side caching when
                          keys are evicted from the tracking table but
                          no notifications are sent.

The following are the most serious fix:

* XPENDING should not update consumer's seen-time
* optimize memory usage of deferred replies - fixed
* Fix CRC64 initialization outside the Redis server itself.
* stringmatchlen() should not expect null terminated strings.
* Cluster nodes availability checks improved when there is
  high Pub/Sub load on the cluster bus.
* Redis Benchmark: Fix coredump because of double free
* Tracking: send eviction messages when evicting entries.
* rax.c updated from upstream antirez/rax.
* fix redis 6.0 not freeing closed connections during loading.

New features:
dd
* Support setcpuaffinity on linux/bsd
* Client Side Caching: Add Tracking Prefix Number Stats in Server Info
* Add --user argument to redis-benchmark.c (ACL)

Revision 1.48 / (download) - annotate - [select for diffs], Sun May 3 11:31:39 2020 UTC (3 years, 6 months ago) by adam
Branch: MAIN
Changes since 1.47: +7 -6 lines
Diff to previous 1.47 (colored)

redis: updated to 6.0.1

Redis 6.0.1
===========

Upgrade urgency HIGH: This release fixes a crash when builiding against
                      Libc malloc.

Here we revert 8110ba888, an optimization that causes a crash due to a
bug in the code. It does not happen with the default allocator because of
differences between Jemalloc and libc malloc, so this escaped all our
testing but was reported by a user. We'll add back the original optimization
that was reverted here later, after checking what happens: it is not a
critical optimization.


Redis 6.0.0 GA
==============

Upgrade urgency CRITICAL: many bugs fixed compared to the last release
                          candidate. Better to upgrade if you see things
                          affecting your environment in the changelog.

Hi all, finally we have Redis 6.0.0 GA! Enjoy this new Redis release.
Most of the documentation was updated today so that you can likely
find what you are looking for about the new features at redis.io.
This is the list of what changed compared to the previoius release candidate:

* XCLAIM AOF/replicas propagation fixed.
* Client side caching: new NOLOOP option to avoid getting notified about
  changes performed by ourselves.
* ACL GENPASS now uses HMAC-SHA256 and have an optional "bits" argument.
  It means you can use it as a general purpose "secure random strings"
  primitive!
* Cluster "SLOTS" subcommand memory optimization.
* The LCS command is now a subcommand of STRALGO.
* Meaningful offset for replicas as well. More successful partial
  resynchronizations.
* Optimize memory usage of deferred replies.
* Faster CRC64 algorithm for faster RDB loading.
* XINFO STREAM FULL, a new subcommand to get the whole stream state.
* CLIENT KILL USER <username>.
* MIGRATE AUTH2 option, for ACL style authentication support.
* Other random bugfixes.

Revision 1.47 / (download) - annotate - [select for diffs], Fri Mar 13 09:34:56 2020 UTC (3 years, 8 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2020Q1-base, pkgsrc-2020Q1
Changes since 1.46: +5 -5 lines
Diff to previous 1.46 (colored)

redis: updated to 5.0.8

Redis 5.0.8:
Upgrade urgency HIGH: This release fixes security issues.

This is a list of fixes in this release:
 Fix Pi building needing -latomic, backport
 fix impl of aof-child whitelist SIGUSR1 feature.
 fix ThreadSafeContext lock/unlock function names
 XREADGROUP should propagate XCALIM/SETID in MULTI/EXEC
 Fix client flags to be int64 in module.c
 Fix small bugs related to replica and monitor ambiguity
 Fix lua related memory leak.
 Free allocated sds in pfdebugCommand() to avoid memory leak.
 Jump to right label on AOF parsing error.
 Free fakeclient argv on AOF error.
 Fix potential memory leak of rioWriteBulkStreamID().
 Fix potential memory leak of clusterLoadConfig().
 Fix bug on KEYS command where pattern starts with * followed by \x00 (null char).
 Blocking XREAD[GROUP] should always reply with valid data (or timeout)
 XCLAIM: Create the consumer only on successful claims.
 Stream: Handle streamID-related edge cases
 Fix ip and missing mode in RM_GetClusterNodeInfo().
 Inline protocol: handle empty strings well.
 Mark extern definition of SDS_NOINIT in sds.h
 [FIX] revisit CVE-2015-8080 vulnerability
 avoid sentinel changes promoted_slave to be its own replica.

Revision 1.46 / (download) - annotate - [select for diffs], Wed Nov 20 09:43:28 2019 UTC (4 years ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2019Q4-base, pkgsrc-2019Q4
Changes since 1.45: +5 -5 lines
Diff to previous 1.45 (colored)

redis: updated to 5.0.7

Hi all, Redis 5.0.7 fixes a number of bugs, none is very critical, however
there are a few that may have an impact. It's a good idea to upgrade.
There are fixes in the area of replication from modules commands and
callbacks, AOF fsync (non critical issue), memory leaks (very rare and small),
streams beahvior (non critical), and a potential crash in commands
processing multiple keys at the same time that is there for years, and happens
very rarely, but is not impossible to trigger.

Revision 1.45 / (download) - annotate - [select for diffs], Mon Nov 11 17:06:00 2019 UTC (4 years ago) by adam
Branch: MAIN
Changes since 1.44: +5 -5 lines
Diff to previous 1.44 (colored)

redis: updated to 5.0.6

Redis 5.0.6

Upgrade urgency CRITICAL: Only in case of exposed instances to untrusted users.

This Redis release, 5.0.6, is a bugfix and enhancement release. The most
important bugfix is a corruption related to the HyperLogLog. A malformed
HyperLogLog string could cause an invalid access to the memory. At a first
glance the vulnerability appears to be not exploitable but just a DoS. The
way to trigger the issue is complex, we'll not provide any information about
how to do that for the users safety.

Other significant changes in this release:
* New modules APIs merged from Redis unstable to Redis 5.
* Some memory optimization related to objects creation.
* Fixes to flushSlaveOutputBuffer() that make sure that SHUTDOWN will
  transfer pending buffers to replicas.

Revision 1.44 / (download) - annotate - [select for diffs], Sun May 19 07:56:38 2019 UTC (4 years, 6 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2019Q3-base, pkgsrc-2019Q3, pkgsrc-2019Q2-base, pkgsrc-2019Q2
Changes since 1.43: +5 -5 lines
Diff to previous 1.43 (colored)

redis: updated to 5.0.5

Redis 5.0.5:

Upgrade urgency CRITICAL: This release fixes an important AOF fysnc bug
                          and other less critical issues.


Dear user,

Redis 5.0.5 fixes an important issue with AOF and adds multiple very useful
modules APIs. Moreover smaller bugs in other parts of Redis are fixed in
this release.

The AOF bug
The AOF bug happens when the fsync policy is set to "everysec", which is the
default: if the write load in the server drops immediately, the commands
executed in the latest second may not be fsync-ed to disk as it should.
This may lead to data loss in case the write load drops immediately and
successively a server crash happens.

Other things in this release
* Streams: a bug in the iterator could prevent certain items to be returned in
           range queries under specific conditions.
* Memleak in bitfieldCommand fixed.
* Modules API: Preserve client->id for blocked clients.
* Fix memory leak when rewriting config file in case of write errors.
* New modules API: RedisModule_GetKeyNameFromIO().
* Fix non critical bugs in diskless replication.
* New mdouels API: command filtering. See RedisModule_RegisterCommandFilter();
* Tests improved to be more deterministic.
* Fix a Redis Cluster bug, manual failover may abort because of the master
  sending PINGs to the replicas.

Revision 1.42.4.1 / (download) - annotate - [select for diffs], Wed Apr 10 09:32:20 2019 UTC (4 years, 7 months ago) by bsiegert
Branch: pkgsrc-2019Q1
Changes since 1.42: +5 -5 lines
Diff to previous 1.42 (colored) next main 1.43 (colored)

Pullup ticket #5931 - requested by taca
databases/redis: security fix

Revisions pulled up:
- databases/redis/Makefile                                      1.43
- databases/redis/distinfo                                      1.43

---
   Module Name:	pkgsrc
   Committed By:	adam
   Date:		Tue Apr  2 07:43:07 UTC 2019

   Modified Files:
   	pkgsrc/databases/redis: Makefile distinfo

   Log Message:
   redis: updated to 5.0.4

   Redis 5.0.4

   Upgrade urgency HIGH: This release fixes several Redis stability issues.

   Dear Redis users, this release includes a number of fixes for bugs that may
   result in Redis crashing in special conditions (not normal usage, but specific
   artificial conditions), fixes to certain Redis behaviors especially around
   Redis streams, and finally a set of new APIs for Redis Modules.

   Specifically:
   * Hyperloglog different coding errors leading to potential crashes were fixed.
   * A replication bug leading to a potential crash in case of plain misuse of handshake commands was fixed.
   * XCLAIM command incrementing of number of deliveries was fixed.
   * LFU field management in objects was improved.
   * A potential overflow in the redis-check-aof was fixed.
   * A memory leak in case of API misuse was fixed.
   * ZPOP* behavior when count is 0 is fixed.
   * A few redis-cli --cluster bugs were fixed, plus a few improvements.
   * Many other smaller bugs.

Revision 1.43 / (download) - annotate - [select for diffs], Tue Apr 2 07:43:07 2019 UTC (4 years, 7 months ago) by adam
Branch: MAIN
Changes since 1.42: +5 -5 lines
Diff to previous 1.42 (colored)

redis: updated to 5.0.4

Redis 5.0.4

Upgrade urgency HIGH: This release fixes several Redis stability issues.

Dear Redis users, this release includes a number of fixes for bugs that may
result in Redis crashing in special conditions (not normal usage, but specific
artificial conditions), fixes to certain Redis behaviors especially around
Redis streams, and finally a set of new APIs for Redis Modules.

Specifically:
* Hyperloglog different coding errors leading to potential crashes were fixed.
* A replication bug leading to a potential crash in case of plain misuse of handshake commands was fixed.
* XCLAIM command incrementing of number of deliveries was fixed.
* LFU field management in objects was improved.
* A potential overflow in the redis-check-aof was fixed.
* A memory leak in case of API misuse was fixed.
* ZPOP* behavior when count is 0 is fixed.
* A few redis-cli --cluster bugs were fixed, plus a few improvements.
* Many other smaller bugs.

Revision 1.42 / (download) - annotate - [select for diffs], Thu Dec 13 19:34:33 2018 UTC (4 years, 11 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2019Q1-base, pkgsrc-2018Q4-base, pkgsrc-2018Q4
Branch point for: pkgsrc-2019Q1
Changes since 1.41: +7 -7 lines
Diff to previous 1.41 (colored)

redis: updated to 5.0.3

Redis 5.0.3
===========
Upgrade urgency HIGH: Redis 5 is consolidating, upgrading is a good idea.
                      However there is nothing very critical here, but certain
                      issues resolved could lead to very rare crashes.

Welcome to Redis 5.0.3, several interesting bug fixes here:

* Redis no longer panics when you send data to a replica-mode connection that
  is in MONITOR or SYNC mode.

* Fixes to certain sorted set edge cases. You are unlikely to ever notice those
  issues, but now it is more correct.

* Certain BSD variants now are better supported: build & register logging
  on crash.

* The networking core now recovers if an IPv6 address is listed in bind but
  is actually not able to work because there is no such protocol in the
  system.

* redis-cli cluster mode improved in many ways. Especially the fix subcommand
  work was enhanced to cover other edge cases that were still not covered
  after the work done for Redis 5.

* MEMORY USAGE is now more accurate.

* DEBUG DIGEST-VALUE added in case you want to make sure a given set of keys
  (and not the whole DB) are excatly the same between two instances.

* Fix a potential crash in the networking code related to recent changes
  to the way the reply is consumed.

* Reject EXEC containing write commands against an instance that changed role
  from master to replica during our transaction.

* Fix a crash in KEYS and other commands using pattern matching, in an edge
  case where the pattern contains a zero byte.

* Fix eviction during AOF loading due to maxmemory triggered by commands
  executed in loading state.


Redis 5.0.2
===========
Upgrade urgency: CRITICAL if you use streams and consumer groups.
                 HIGH if you use redis-cli with Redis Cluster.
                 LOW otherwise.

Welcome to Redis 5.0.2. This release fixes two issues with Streams consumer
groups, where items could be returned duplicated by XREADGROUP when accessing
the history, and another bug where XREADGROUP can report some history even
if the comsumer pending list is empty. Both problems were addressed and unit
tests to avoid regressions implemented. Moreover this release fixes some
issue with redis-cli when in cluster mode. Finally some FreeBSD and DragonFly
build problems are now resolved. The list of the commits is below.


Redis 5.0.1
===========
Upgrade urgency: URGENT if you use Redis Streams. MODERATE otherwise.

Hi all, this is the first patch level release of Redis 5. It contains
both fixes and improvements. Here there is a list of the major ones, however
read the commit messages at the end of the changelog if you want to know
more about the smaller things. Let's start with the new features:

* Sentinel now supports authentication! Check the Sentinel official doc
  for more info.

* Redis-cli cluster "fix" is now able to fix a big number of clusters put
  in a bad condition. Previously many corner cases were not covered.

Now the critical fixes:

1. Fix RESTORE mismatch reply when certain keys already expired.
2. Fix an XCLAIM non trivial issue: sometimes the command returned a wrong
   entry or desynchronized the protocol.

And now the other fixes:

3. Stack trace generation on the Raspberry PI (and 32bit ARM) fixed.
4. Don't evict expired keys when the KEYS command is called, in order to
   avoid a mass deletion event. However expired keys are not displayed
   by KEYS as usually.
5. Improvements in the computation of the memory used, when estimating
   the AOF buffers.
6. XRANGE COUNT of 0 fixed.
7. "key misses" stats accounting fixed. Many cache misses were not counted.
8. When in MULTI state, return OOM while accumulating commands and there
   is no longer memory available.
9. Fix build on FreeBSD and possibly others.
10. Fix a crash in Redis modules, thread safe context reply accumulation.
11. Fix a race condition when producing the RDB file for full SYNC.
12. Disable protected mode in Sentinel.
13. More commands now have the HELP subcommand.
14. Fixed an issue about adaptive server HZ timer.
15. Fix cluster-replica-no-failover option name.


Redis 5.0.0
===========
Upgrade urgency CRITICAL: Several fixes to streams AOF and replication.

1. The new Stream data type. https://redis.io/topics/streams-intro
2. New Redis modules APIs: Timers, Cluster and Dictionary APIs.
3. RDB now store LFU and LRU information.
4. The cluster manager was ported from Ruby (redis-trib.rb) to C code
   inside redis-cli. Check `redis-cli --cluster help` for more info.
5. New sorted set commands: ZPOPMIN/MAX and blocking variants.
6. Active defragmentation version 2.
7. Improvemenets in HyperLogLog implementations.
8. Better memory reporting capabilities.
9. Many commands with sub-commands now have an HELP subcommand.
10. Better performances when clients connect and disconnect often.
11. Many bug fixes and other random improvements.
12. Jemalloc was upgraded to version 5.1
13. CLIENT UNBLOCK and CLIENT ID.
14. The LOLWUT command was added. http://antirez.com/news/123
15. We no longer use the "slave" word if not for API backward compatibility.
16. Differnet optimizations in the networking layer.
17. Lua improvements:
    - Better propagation of Lua scripts to replicas / AOF.
    - Lua scripts can now timeout and get in -BUSY state in the replica as well.
18. Dynamic HZ to balance idle CPU usage with responsiveness.
19. The Redis core was refactored and improved in many ways.

Revision 1.41 / (download) - annotate - [select for diffs], Sun Aug 19 08:39:36 2018 UTC (5 years, 3 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2018Q3-base, pkgsrc-2018Q3
Changes since 1.40: +5 -5 lines
Diff to previous 1.40 (colored)

redis: updated to 4.0.11

Redis 4.0.11:

Upgrade urgency HIGH: not critical but very important bugs fixed.

Dear users, this is just a bugfix release of Redis 4. All new work
is now focused on Redis 5, however we backported a number of bug fixes here:

* The disconnection time between the master and slave was reset in an
  incorrect place, sometimes a good slave will not be able to failover
  because it claims it was disconnected for too much time from the master.
* A replication bug, rare to trigger but non impossible, is in Redis for
  years. It was lately discovered at Redis Labs and fixed by Oran Agra.
  It may cause disconnections, desynchronizations and other issues.
* RANDOMKEY may go in infinite loop on rare situations. Now fixed.
* EXISTS now works in a more consistent way on slaves.
* Sentinel: backport of an option to deny a potential security problem
  when the SENTINEL command is used to configure an arbitrary script
  to execute.

Revision 1.40 / (download) - annotate - [select for diffs], Thu Aug 2 14:47:34 2018 UTC (5 years, 3 months ago) by adam
Branch: MAIN
Changes since 1.39: +6 -6 lines
Diff to previous 1.39 (colored)

redis: updated to 4.0.10

Redis 4.0.10 fixes a number of important issues:

* Important security issues related to the Lua scripting engine.
  Please check https://github.com/antirez/redis/issues/5017
  for more information.

* A bug with SCAN, SSCAN, HSCAN and ZSCAN, that may not return all the elements.
  We also add a regression test that can trigger the issue often when present, and
  may in theory be able to find unrelated regressions.

* A PSYNC2 bug is fixed: Redis should not expire keys when saving RDB files
  because otherwise it is no longer possible to use such RDB file as a base
  for partial resynchronization. It no longer represents the right state.

* Compatibility of AOF with RDB preamble when the RDB checksum is disabled.

* Sentinel bug that in some cases prevented Sentinel to detect that the master
  was down immediately. A delay was added to the detection.

* Other minor issues.

Revision 1.39 / (download) - annotate - [select for diffs], Mon Apr 23 14:57:57 2018 UTC (5 years, 7 months ago) by fhajny
Branch: MAIN
CVS Tags: pkgsrc-2018Q2-base, pkgsrc-2018Q2
Changes since 1.38: +2 -1 lines
Diff to previous 1.38 (colored)

Fix missing llroundl on NetBSD. Fixes pkg/52599.

Revision 1.38 / (download) - annotate - [select for diffs], Wed Apr 4 10:47:49 2018 UTC (5 years, 7 months ago) by fhajny
Branch: MAIN
Changes since 1.37: +5 -5 lines
Diff to previous 1.37 (colored)

databases/redis: Update to 4.0.9.

- Fix a critical AOF bug when fsync policy set to "always"
- Latency monitor could report wrong latencies under certain conditions.
- AOF rewriting could fail when a backgronud rewrite is triggered and
  at the same time the AOF is switched on/off.
- Redis Cluster crash-recovery safety improved.
- Other smaller fixes (check commnits).
- Redis Cluster has now the ability to configure certain slaves so that
  they'll never attempt a failover.
- Keyspace notifications API in modules.
- RM_Call() is now faster by reusing the same client.
- Tracking of the percentage of keys already logically expired but yet
  not evicted.

Revision 1.37 / (download) - annotate - [select for diffs], Sun Feb 4 17:13:05 2018 UTC (5 years, 9 months ago) by fhajny
Branch: MAIN
CVS Tags: pkgsrc-2018Q1-base, pkgsrc-2018Q1
Changes since 1.36: +5 -5 lines
Diff to previous 1.36 (colored)

databases/redis: Update to 3.0.8.

- Redis 4.0.8 fixes a single critical bug in the radix tree data
  structure used for Redis Cluster keys slot tracking.

Revision 1.36 / (download) - annotate - [select for diffs], Tue Jan 30 16:40:13 2018 UTC (5 years, 9 months ago) by fhajny
Branch: MAIN
Changes since 1.35: +5 -5 lines
Diff to previous 1.35 (colored)

Update databases/redis to 4.0.7.

- Many 32 bit overflows were addressed in order to allow to use Redis with
  a very significant amount of data, memory size permitting.
- MEMORY USAGE fixed for the list type.
- Allow read-only scripts in Redis Cluster.
- Fix AOF pipes setup in edge case.
- AUTH option for MIGRATE.
- HyperLogLogs are no longer converted from sparse to dense in order
  to be merged.
- Fix AOF rewrite dead loop under edge cases.
- Fix processing of large bulk strings (>= 2GB).
- Added RM_UnlinkKey in modules API.
- Fix Redis Cluster crashes when certain commands with a variable number
  of arguments are called in an improper way.
- Fix memory leak in lazyfree engine.
- Fix many potentially successful partial synchronizations that end
  doing a full SYNC, because of a bug destroying the replication
  backlog on the slave. So after a failover the slave was often not able
  to PSYNC with masters, and a full SYNC was triggered. The bug only
  happened after 1 hour of uptime so escaped the unit tests.
- Improve anti-affinity in master/slave allocation for Redis Cluster
  when the cluster is created.
- Improve output buffer handling for slaves, by not limiting the amount
  of writes a slave could receive.

Revision 1.35 / (download) - annotate - [select for diffs], Sat Dec 9 16:42:50 2017 UTC (5 years, 11 months ago) by fhajny
Branch: MAIN
CVS Tags: pkgsrc-2017Q4-base, pkgsrc-2017Q4
Changes since 1.34: +5 -5 lines
Diff to previous 1.34 (colored)

Update databases/redis to 4.0.6.

- This release fixes yet more errors present in the 4.0.5 fixes, that
  could affect slaves. Moreover another critical issue in quicklists,
  when they are used at a massive memory scale, was fixed in this
  release. Upgrading from any 4.0.x release, especially if you are
  running 4.0.4 or 4.0.5, is highly recommended.

Revision 1.34 / (download) - annotate - [select for diffs], Mon Dec 4 14:36:35 2017 UTC (5 years, 11 months ago) by fhajny
Branch: MAIN
Changes since 1.33: +5 -5 lines
Diff to previous 1.33 (colored)

Update databases/redis to 4.0.5.

- Redis 4.0.4 fix for PSYNC2 was broken, causing the slave to crash when
  receiving an RDB file from the master that contained a duplicated Lua
  script.

Revision 1.33 / (download) - annotate - [select for diffs], Thu Nov 30 22:30:20 2017 UTC (5 years, 11 months ago) by fhajny
Branch: MAIN
Changes since 1.32: +5 -5 lines
Diff to previous 1.32 (colored)

Update databases/redis to 4.0.4.

Upgrade urgency CRITICAL: Several PSYNC2 bugs can corrupt the slave
data set after a restart and a successful PSYNC2 handshake.

- Fix the "PSYNC after restart" problem.
- LFU fixes improve the ability of Redis to correctly estimate the
  popularity of keys.
- Security fix related to loading a corrupted Cluster state from a
  corrupted file.
- Other bugfixes.

Revision 1.32 / (download) - annotate - [select for diffs], Tue Sep 26 07:52:13 2017 UTC (6 years, 2 months ago) by fhajny
Branch: MAIN
Changes since 1.31: +5 -5 lines
Diff to previous 1.31 (colored)

Update databases/redis to 4.0.2.

Significant bugs fixed:

1. A number of bugs were fixed in the area of PSYNC2 replication in
thecspecific area of restarting an instance with an RDB file having
the repliacation meta-data to continue without a full
resynchronization.

2. AOF flush on SHUTDOWN did not cared to really write the AOF buffers
(not in the kernel but in the Redis process memory) to disk before
exiting. Calling SHUTDOWN during traffic resulted into not every
operation to be persisted on disk.

3. The SLOWLOG could reference values inside string objects stored at
keys, creating a race condition during FLUSHALL ASYNC while the DB is
reclaimed in another thread.

Revision 1.31 / (download) - annotate - [select for diffs], Wed Aug 2 19:53:37 2017 UTC (6 years, 3 months ago) by fhajny
Branch: MAIN
CVS Tags: pkgsrc-2017Q3-base, pkgsrc-2017Q3
Changes since 1.30: +6 -7 lines
Diff to previous 1.30 (colored)

Redis 4.0.1

Bug fixes:
- Loading two or more modules exporting native data types resulted
  into the inability to reload the RDB file.
- Crash in modules when calling from Lua scripts module commands that
  would block.
- A Redis Cluster crash due to mis-handling of the "migrate-to"
  internal flag.
- Other smaller fixes not worth of a release per se, but nice to add
  here.


Redis 4.0.0

Major features

- Redis modules system. Redis now allows developers to write modules
  that can extend the Redis functionalities and implement new data
  types.
- Partial Replication (PSYNC) version 2.
- Cache eviction improvements. Redis 4.0 implements LFU (Least
  Frequently Used) as a new eviction algorithm, and improves the
  functionality, performances and precision of the existing algorithms.
- Lazy freeing of keys. Redis is now able to delete keys in the
  background in a different thread without blocking the server.
- Mixed RDB-AOF format. If enabled the new format is used when
  rewriting the AOF file: the rewrite uses the more compact and faster
  to generate RDB format, and an AOF stream is appended to the file.
- A new MEMORY command, able to perform memory analysis of different
  kinds: troubleshooting of memory issues (with MEMORY DOCTOR, similar
  to LATENCY DOCTOR), reporting of the amount of memory used by a single
  key, more in-depth reporting of Redis memory usage compared to what
  the INFO command offers.
- Redis Cluster support for NAT / Docker.
- Redis uses now less memory in order to store the same amount of
  data. The gain depends a lot on the kind of dataset stored.
- Redis is now able to defragment the used memory and reclaim space
  incrementally while running.

Smaller features

- Improvements to the RDB format to support 64 bit lengths, binary
  sorted set scores, and more.
- SWAPDB command: ability to completely and immediately (no latency)
  replace two Redis databases.
- Improvements to `dict.c`, the Redis hash table implementation.
- Security improvements mapping POST and Host: commands to QUIT in
  order to prevent cross protocol scripting attacks.
- RPUSHX and LPUSHX now accept a variable number of elements.
- Reporting of additional memory used by copy on write in the INFO
  output.
- Serious refactoring of many core parts of Redis.

Migrating from 3.2 to 4.0

- The Redis Cluster bus protocol of 4.0 is no longer compatible with
  Redis 3.2.
- Redis Cluster CLUSTER NODES output is now slightly different.
- Writable slaves do not propagate writes to their sub-slaves, so
  writes to writable slaves remain just local.
- The RDB format changed. Redis 4.0 is still able to read 3.2 (and all
  the past versions) files, but not the other way around.
- Certain log formats and sentences are different in Redis 4.0.
- Certain INFO fields, especially related to replication, are now
  different.
- GEODIST, GEOPOS and GEOHASH return values changed for non existing
  keys
- The SLOWLOG command entires contain additional two fields: the
  client address and name. This is documented in the SLOWLOG command online
  documentation.

Revision 1.30 / (download) - annotate - [select for diffs], Thu May 18 13:48:28 2017 UTC (6 years, 6 months ago) by fhajny
Branch: MAIN
CVS Tags: pkgsrc-2017Q2-base, pkgsrc-2017Q2
Changes since 1.29: +5 -5 lines
Diff to previous 1.29 (colored)

Update databases/redis to 3.2.9.

Just minor bugfixes, see release notes:

https://raw.githubusercontent.com/antirez/redis/3.2/00-RELEASENOTES

Revision 1.29 / (download) - annotate - [select for diffs], Tue Feb 14 10:30:03 2017 UTC (6 years, 9 months ago) by fhajny
Branch: MAIN
CVS Tags: pkgsrc-2017Q1-base, pkgsrc-2017Q1
Changes since 1.28: +5 -5 lines
Diff to previous 1.28 (colored)

Update databases/redis to 3.2.8.

================================================================================
Redis 3.2.8     Released Sun Feb 12 16:11:18 CET 2017
================================================================================

Two important bug fixes, the first of one is critical:

1. Apparently Jemalloc 4.4.0 may contain a deadlock under particular
   conditions. See https://github.com/antirez/redis/issues/3799.
   We reverted back to the previously used Jemalloc versions and plan
   to upgrade Jemalloc again after having more info about the
   cause of the bug.

2. MIGRATE could crash the server after a socket error. See for reference:
   https://github.com/antirez/redis/issues/3796.

================================================================================
Redis 3.2.7     Released Tue Jan 31 16:21:41 CET 2017
================================================================================

Main bugs fixes and improvements in this release:

1. MIGRATE could incorrectly move keys between Redis Cluster nodes by turning
   keys with an expire set into persisting keys. This bug was introduced with
   the multiple-keys migration recently. It is now fixed. Only applies to
   Redis Cluster users that use the resharding features of Redis Cluster.

2. As Redis 4.0 beta and the unstable branch already did (for some months at
   this point), Redis 3.2.7 also aliases the Host: and POST commands to QUIT
   avoiding to process the remaining pipeline if there are pending commands.
   This is a security protection against a "Cross Scripting" attack, that
   usually involves trying to feed Redis with HTTP in order to execute commands.
   Example: a developer is running a local copy of Redis for development
   purposes. She also runs a web browser in the same computer. The web browser
   could send an HTTP request to http://127.0.0.1:6379 in order to access the
   Redis instance, since a specially crafted HTTP requesta may also be partially
   valid Redis protocol. However if POST and Host: break the connection, this
   problem should be avoided. IMPORTANT: It is important to realize that it
   is not impossible that another way will be found to talk with a localhost
   Redis using a Cross Protocol attack not involving sending POST or Host: so
   this is only a layer of protection but not a definitive fix for this class
   of issues.

3. A ziplist bug that could cause data corruption, could crash the server and
   MAY ALSO HAVE SECURITY IMPLICATIONS was fixed. The bug looks complex to
   exploit, but attacks always get worse, never better (cit). The bug is very
   very hard to catch in practice, it required manual analysis of the ziplist
   code in order to be found. However it is also possible that rarely it
   happened in the wild. Upgrading is required if you use LINSERT and other
   in-the-middle list manipulation commands.

4. We upgraded to Jemalloc 4.4.0 since the version we used to ship with Redis
   was an early 4.0 release of Jemalloc. This version may have several
   improvements including the ability to better reclaim/use the memory of
   system.

Revision 1.28 / (download) - annotate - [select for diffs], Tue Jan 3 07:18:44 2017 UTC (6 years, 10 months ago) by fhajny
Branch: MAIN
Changes since 1.27: +5 -5 lines
Diff to previous 1.27 (colored)

Update databases/redis to 3.2.6.

This release mainly fixes three bugs:

1. A bug with BITFIELD that may cause the bitmap corruption when setting offsets
   larger than the current string size.

2. A GEORADIUS bug that may happen when using very large radius lengths, in
   the range of 10000km or alike, due to wrong bounding box calculation.

3. A bug with Redis Cluster which crashes when reading a nodes configuration
   file with zero bytes at the end, which sometimes happens with certain ext4
   configurations after a system crash.

Revision 1.27 / (download) - annotate - [select for diffs], Mon Nov 14 14:30:17 2016 UTC (7 years ago) by fhajny
Branch: MAIN
CVS Tags: pkgsrc-2016Q4-base, pkgsrc-2016Q4
Changes since 1.26: +2 -2 lines
Diff to previous 1.26 (colored)

Fix NetBSD support. Thanks to Mustafa Dogan!

Revision 1.26 / (download) - annotate - [select for diffs], Thu Nov 3 14:13:19 2016 UTC (7 years ago) by fhajny
Branch: MAIN
Changes since 1.25: +5 -5 lines
Diff to previous 1.25 (colored)

Update databases/redis to 3.2.5.

Redis 3.2.5     Released Wed Oct 26 09:16:40 CEST 2016
===========================================================================

Upgrade urgency LOW: This release only fixes a compilation issue due to the
                     missing -ldl at linking time.

zach shipko in commit 4736407:
 BSDs don't have -ldl
 1 file changed, 15 insertions(+), 5 deletions(-)

antirez in commit 9ada818:
 Fix modules compilation when libc malloc is used.
 1 file changed, 2 insertions(+), 2 deletions(-)

Revision 1.25 / (download) - annotate - [select for diffs], Mon Sep 26 13:35:42 2016 UTC (7 years, 2 months ago) by fhajny
Branch: MAIN
CVS Tags: pkgsrc-2016Q3-base, pkgsrc-2016Q3
Changes since 1.24: +5 -5 lines
Diff to previous 1.24 (colored)

Update databases/redis to 3.2.4.

This is a Redis critical release in order to fix a security issue
which is documented clearly here:

https://github.com/antirez/redis/commit/6d9f8e2462fc2c426d48c941edeb78e5df7d2977

Thanks to Cory Duplantis of Cisco Talos for reporting the issue.

IMPACT:
The gist is that using CONFIG SET calls (or by manipulating
redis.conf) an attacker is able to compromise certain fields of
the "server" global structure, including the aof filename pointer,
that could be made pointing to something else. In turn the AOF
name is used in different contexts such as logging, rename(2) and
open(2) syscalls, leading to potential problems.

Please note that since having access to CONFIG SET also means to
be able to change the AOF filename (and many other things)
directly, this issue actual real world impact is quite small, so I
would not panik: if you have CONFIG SET level of access, you can
do more and more easily.

AFFECTED VERSIONS:
- All Redis 3.2.x versions are affected.

OTHER CHANGES IN THIS RELEASE:
- TCP binding bug fixed when only certain addresses were available
  for a given port.
- A much better crash report that includes part of the Redis binary:
  this will allow to fix bugs even when we just have a crash log and
  no other help from the original poster oft the issue.
- A fix for Redis Cluster redis-trib displaying of info after
  creating a new cluster.

Revision 1.23.2.1 / (download) - annotate - [select for diffs], Wed Aug 10 16:53:32 2016 UTC (7 years, 3 months ago) by bsiegert
Branch: pkgsrc-2016Q2
Changes since 1.23: +5 -5 lines
Diff to previous 1.23 (colored) next main 1.24 (colored)

Pullup ticket #5078 - requested by sevan
databases/redis: security fix

Revisions pulled up:
- databases/redis/Makefile                                      1.22
- databases/redis/PLIST                                         1.11
- databases/redis/distinfo                                      1.24

---
   Module Name:    pkgsrc
   Committed By:   fhajny
   Date:           Tue Aug  9 09:11:53 UTC 2016

   Modified Files:
           pkgsrc/databases/redis: Makefile PLIST distinfo

   Log Message:
   Update databases/redis to 3.2.3.

   Redis 3.2.3

   Bugfixes:

   - There was an inverted if statement logic problem in
     replication.c causing
     a replication delay.
   - Redis-cli created the history file with insecure permissions,
     allowing reding from the file.

   Redis 3.2.2

   - There was a bug in the List type implementation, able to cause
     the crash of the server under certain (non trivial to replicate)
     circumstances when the LSET command was used.
   - Redis Sentinel, when monitoring multiple masters, could crash
     after a Sentinel address update event.
   - Redis Sentinel now checks slaves INFO state more often when
     disconnected.
   - It was possible, under a variety of conditions, that the AOF and
     RDB children process could spawn at the same time. This is known
     to trash disk I/O, AOF performances, and to ultimately create
     latency in the Redis server.
   - Many GEORADIUS bugs are now fixed \o/.

   New features:

   - Now slaves support the slave-announce-ip and slave-announce-port
     options.
   - The RDB check utlity is now part of Redis and uses the same RDB
     code that Redis uses in order to load the dataset in memory.

Revision 1.24 / (download) - annotate - [select for diffs], Tue Aug 9 09:11:53 2016 UTC (7 years, 3 months ago) by fhajny
Branch: MAIN
Changes since 1.23: +5 -5 lines
Diff to previous 1.23 (colored)

Update databases/redis to 3.2.3.

Redis 3.2.3

Bugfixes:

- There was an inverted if statement logic problem in
  replication.c causing
  a replication delay.
- Redis-cli created the history file with insecure permissions,
  allowing reding from the file.

Redis 3.2.2

- There was a bug in the List type implementation, able to cause
  the crash of the server under certain (non trivial to replicate)
  circumstances when the LSET command was used.
- Redis Sentinel, when monitoring multiple masters, could crash
  after a Sentinel address update event.
- Redis Sentinel now checks slaves INFO state more often when
  disconnected.
- It was possible, under a variety of conditions, that the AOF and
  RDB children process could spawn at the same time. This is known
  to trash disk I/O, AOF performances, and to ultimately create
  latency in the Redis server.
- Many GEORADIUS bugs are now fixed \o/.

New features:

- Now slaves support the slave-announce-ip and slave-announce-port
  options.
- The RDB check utlity is now part of Redis and uses the same RDB
  code that Redis uses in order to load the dataset in memory.

Revision 1.23 / (download) - annotate - [select for diffs], Sun Jun 19 21:28:58 2016 UTC (7 years, 5 months ago) by fhajny
Branch: MAIN
CVS Tags: pkgsrc-2016Q2-base
Branch point for: pkgsrc-2016Q2
Changes since 1.22: +6 -6 lines
Diff to previous 1.22 (colored)

Update databases/redis to 3.2.1.

Upgrade urgency HIGH: Critical fix to Redis Sentinel, due to 3.2.0
regression compared to 3.0.

Hey, this is Redis 3.2.1, and this release should bring some grain of
maturity to Redis 3.2. The list of commits following this note will tell
you the details, but the main things addressed in this release are the
following:

1. A critical bug in Sentinel was hopefully fixed. During the big 3.2
   refactoring of Redis Sentinel, in order to implement connection sharing
   to make Sentinel able to scale better (few Sentinels to monitor many
   masters), a bug was introduced that mis-counted the number of pending
   commands in the Redis link. This in turn resulted into an inability to
   talk with certain Redis instances. A common result of this bug was the
   inability of Redis Sentinel to reconfigure back the old master, after
   a failover, when it is reachable again, as the slave of the new master.
   This was due to the inability to talk with the old master at all.

2. BITFIELD bugs fixed.

3. GEO commands fixes on syntax errors and edge cases.

4. RESTORE now accepts dumps generated by older Redis versions.

5. Jemalloc now is really configured to save you memory, for a problem a
   change in the jemalloc configuration did not really survived when the
   3.2.0 release was finalized.

6. TTL and TYPE command no longer alter the last access time of a key, for
   LRU evictions purposes. A new TOUCH command was introduced *just* to
   update the access time of a key.

7. A bug was fixed in redis-cli, that connected to the instance running on
   the port 6379 if there was one, regardless of what was specified.

8. TCP keep alive is now enabled by default. This should fix most ghost
   connections problems without resulting in any practical change in
   otherwise sane deployments.

9. A Sentinel crash that could happen during failovers was fixed.

Revision 1.22 / (download) - annotate - [select for diffs], Fri May 6 14:00:45 2016 UTC (7 years, 6 months ago) by fhajny
Branch: MAIN
Changes since 1.21: +6 -7 lines
Diff to previous 1.21 (colored)

Update databases/redis to 3.2.0.

Redis 3.2 contains significant changes to the API and
implementation of Redis.

- A new set of commands for Geo indexing was added (GEOADD,
  GEORADIUS and related commands).
- The new BITFIELD command handles contiguous arrays of integers
  or counters of arbitrary bits width and offset inside strings.
- Memory optimizations to hold the same data in less memory.
- Lua scripts can now contain side effects using the new effect
  replication.
- A complete remote Lua debugger is available in order to make
  writing scripts a simpler task.

Read the release notes for the full set of changes:

https://raw.githubusercontent.com/antirez/redis/3.2/00-RELEASENOTES

Revision 1.21 / (download) - annotate - [select for diffs], Fri Mar 4 08:58:58 2016 UTC (7 years, 8 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2016Q1-base, pkgsrc-2016Q1
Changes since 1.20: +5 -5 lines
Diff to previous 1.20 (colored)

Set DIST_SUBDIR when changing the checksums but keeping the filename.

Revision 1.20 / (download) - annotate - [select for diffs], Fri Mar 4 08:43:09 2016 UTC (7 years, 8 months ago) by fhajny
Branch: MAIN
Changes since 1.19: +4 -4 lines
Diff to previous 1.19 (colored)

Update distfile, upstream must have changed the distfile post-release.

Revision 1.19 / (download) - annotate - [select for diffs], Tue Jan 26 12:03:41 2016 UTC (7 years, 10 months ago) by fhajny
Branch: MAIN
Changes since 1.18: +5 -5 lines
Diff to previous 1.18 (colored)

Update databases/redis to 3.0.7.

--[ Redis 3.0.7 ] Release date: 25 jan 2016

Upgrade urgency MODERATE: this release fixes important Redis Cluster bugs.

* [FIX] Many fixes to MIGRATE multiple keys implementation. The command
        could handle errors in a faulty way leading to crashes or other
        unexpected behaviors. MIGRATE command refactoring.
        (The analysis of the faulty conditions was conducted by
         Kevin McGehee. The fix was developed by Salvatore Sanfilippo)
* [FIX] A Redis Cluster node crash was fixed because of wrong handling of
        node->slaveof pointers.
        (Reported by JackyWoo, fixed by Salvatore Sanfilippo)
* [FIX] Fix redis-trib rebalance when nodes need to be left empty because
        the specified weight is zero.
        (Reported by Shahar Mor, fixed by Salvatore Sanfilippo)
* [FIX] MIGRATE: Never send -ASK redirections for MIGRATE when there are
        open slots. Redis-trib and other cluster management utility must
        always be free to move keys between nodes about open slots, in order
        to reshard, fix the cluster configuration, and so forth.
        (Salvatore Sanfilippo)
* [FIX] Lua debugger crash when printing too deeply nested objects.
        (Reported by Paul Kulchenko, fixed by Salvatore Sanfilippo)
* [FIX] Redis-cli implementation of Lua debugging now allows to use the
        SCRIPT DEBUG command directly, switching to debugging mode as needed.
        (Reported by Paul Kulchenko, fixed by Salvatore Sanfilippo)
* [FIX] Redis-trib is now able to fix more errors. A new CLUSTER subcommand
        called BUMPEPOCH was introduced in order to support new modes
        for the "fix" subcommand. (Salvatore Sanfilippo)
* [NEW] Redis proctected mode: this feature improves Redis security and makes
        harder to run Redis in a configuration that is unsecure because no
        firewalling was used in order to protect Redis from external accesses.
* [NEW] Cluster/Sentinel tests now use OSX leak to perform leak detection
        at the end of every unit. (Salvatore Sanfilippo)
* [NEW] Detect and show server crashes during Cluster/Sentinel tests.
        (Salvatore Sanfilippo)
* [NEW] More reliable Cluster/Sentinel test becuase of timing errors and
        -LOADING errors. (Salvatore Sanfilippo)

Revision 1.18 / (download) - annotate - [select for diffs], Thu Dec 31 09:09:36 2015 UTC (7 years, 11 months ago) by fhajny
Branch: MAIN
Changes since 1.17: +5 -5 lines
Diff to previous 1.17 (colored)

Update databases/redis to 3.0.6.

--[ Redis 3.0.6 ] Release date: 18 Dec 2015

Upgrade urgency: MODERATE. We fixed a crash that happens very rarely, so
                 updating does not hurt, but most users are unlikely to
                 experience this condition because it requires some odd
                 timing. However if you are a Redis Cluster user, upgrading
                 is strongly adviced since this release includes very
                 important improvements to Redis Cluster.

* [FIX] lua_struct.c/getnum security issue fixed. (Luca Bruno discovered it,
        patched by Sun He and Chris Lamb)
* [FIX] Redis Cluster replica migration fixed. See issue #2924 for details.
        (Salvatore Sanfilippo)
* [FIX] Fix a race condition in processCommand() because of interactions
        with freeMemoryIfNeeded(). Details in issue #2948 and especially
        in the commit message d999f5a. (Race found analytically by
        Oran Agra, patch by Salvatore Sanfilippo)

* [NEW] Backported from the upcoming Redis 3.2:
        MIGRATE now supports an extended multiple-keys pipelined mode, which
        is an order of magnitude faster. Redis Cluster now uses this mode
        in order to perform reshardings and rebalancings. (Salvatore Sanfilippo)
* [NEW] Backported from the upcoming Redis 3.2:
        Redis Cluster has now support for rebalancing via the redis-trib
        rebalance command. Demo here:
        https://asciinema.org/a/0tw2e5740kouda0yhkqrm5790
        Official documentation will be available ASAP. (Salvatore Sanfilippo)
* [NEW] Redis Cluster redis-trib.rb new "info" subcommand.
* [NEW] Redis Cluster tests improved. (Salvatore Sanfilippo)
* [NEW] Log offending memory access address on SIGSEGV/SIGBUS (Salvatore
        Sanfilippo)

Revision 1.17 / (download) - annotate - [select for diffs], Wed Nov 4 17:41:16 2015 UTC (8 years ago) by agc
Branch: MAIN
CVS Tags: pkgsrc-2015Q4-base, pkgsrc-2015Q4
Changes since 1.16: +1 -2 lines
Diff to previous 1.16 (colored)

Remove duplicate SHA512 digests that crept in.

Revision 1.16 / (download) - annotate - [select for diffs], Tue Nov 3 01:56:29 2015 UTC (8 years ago) by agc
Branch: MAIN
Changes since 1.15: +2 -1 lines
Diff to previous 1.15 (colored)

Add SHA512 digests for distfiles for databases category

Problems found with existing distfiles:
	distfiles/D6.data.ros.gz
	distfiles/cstore0.2.tar.gz
	distfiles/data4.tar.gz
	distfiles/sphinx-2.2.7-release.tar.gz
No changes made to the cstore or mariadb55-client distinfo files.

Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden).  All existing
SHA1 digests retained for now as an audit trail.

Revision 1.15 / (download) - annotate - [select for diffs], Sun Oct 18 08:28:22 2015 UTC (8 years, 1 month ago) by fhajny
Branch: MAIN
Changes since 1.14: +5 -4 lines
Diff to previous 1.14 (colored)

Update databases/redis to 3.0.5.

--[ Redis 3.0.5 ] Release date: 15 Oct 2015

Upgrade urgency: MODERATE, the most important thing is a fix in the replication
                 code that may make the slave hanging forever if the master
                 remains with an open socket even if it is no longer able to
                 reply.

* [FIX] MOVE now moves the TTL as well. A bug lasting forever... finally
        fixed thanks to Andy Grunwald that reported it.
        (reported by Andy Grunwald, fixed by Salvatore Sanfilippo)
* [FIX] Fix a false positive in HSTRLEN test.
* [FIX] Fix a bug in redis-cli --pipe mode that was not able to read back
        replies from the server incrementally. Now a mass import will use
        a lot less memory, and you can use --pipe to do incremental streaming.
        (reported by Twitter user @fsaintjacques, fixed by Salvatore
        Sanfilippo)
* [FIX] Slave detection of master timeout. (fixed by Kevin McGehee, refactoring
        and regression test by Salvatore Sanfilippo)

* [NEW] Cluster: redis-trib fix can fix an additional case for opens lots.
        (Salvatore Sanfilippo)
* [NEW] Cluster: redis-trib import support for --copy and --replace options
        (David Thomson)

--[ Redis 3.0.4 ] Release date: 8 Sep 2015

Upgrade urgency: HIGH for Redis and Sentinel. However note that in order to
                 fix certain replication bugs, the replication internals were
                 modified in a very heavy way. So while this release is
                 conceptually saner, it may contain regressions. For this
                 reason, before the release, QA activities were performed by
                 me (antirez) and Redis Labs and no evident bug was found.

* [FIX] A number of bugs related to replication PSYNC and the (yet experimental)
        diskless replication feature were fixed. The bugs could lead to
        inconsistency between masters and slaves. (Salvatore Sanfilippo, Oran
        Agra fixed the issue found by Yuval Inbar)
* [FIX] A replication bug in the context of PSYNC partial resynchonization was
        found and fixed. This bug happens even when diskless replication is off
        in the case different slaves connect at different times while the master
        is creating an RDB file, and later a partial resynchronization is
        attempted by a slave that connected not as the first one. (Salvatore
        Sanfilippo, Oran Agra)
* [FIX] Chained replication and PSYNC interactions leading to potential stale
        chained slaves data set, see issue #2694. (Salvatore Sanfilippo fixed
        an issue reported by "GeorgeBJ" user at Github)
* [FIX] redis-cli --scan iteration fixed when returned cursor overflows
        32 bit signed integer. (Ofir Luzon, Yuval Inbar)
* [FIX] Sentinel: fixed a bug during the master switch process, where for a
        failed conditional check, the new configuration is rewritten, during
        a small window of time, in a corrupted way where the master is
        also reported to be one of the slaves. This bug is rare to trigger
        but apparently it happens in the wild, and the effect is to see
        a replication loop where the master will try to replicate with itself.
        The bug was found by Jan-Erik Rediger using a static analyzer and
        fixed by Salvatore Sanfilippo.
* [FIX] Sentinel lack of arity checks for certain commands.
        (Rogerio Goncalves, Salvatore Sanfilippo)

* [NEW] Replication internals rewritten in order to be more resistant to bugs.
        The replication handshake in the slave side was rewritten as a non
        blocking state machine. (Salvatore Sanfilippo, Oran Agra)
* [NEW] New "replication capabilities" feature introduced in order to signal
        from the master to the slave what are the features supported, so that
        the master can choose the kind of replication to start (diskless or
        not) when master and slave are of different versions. (Oran Agra,
        Salvatore Sanfilippo)
* [NEW] Log clients details when SLAVEOF command is received. (Salvatore
        Sanfilippo with inputs from Nick Craver and Marc Gravell).

Revision 1.14 / (download) - annotate - [select for diffs], Thu Aug 13 07:43:40 2015 UTC (8 years, 3 months ago) by fhajny
Branch: MAIN
CVS Tags: pkgsrc-2015Q3-base, pkgsrc-2015Q3
Changes since 1.13: +4 -4 lines
Diff to previous 1.13 (colored)

Update databases/redis to 3.0.3.

--[ Redis 3.0.3 ] Release date: 17 Jul 2015

Upgrade urgency: LOW for Redis and Sentinel.

* [FIX] Fix blocking operations timeout precision when HZ is at its default
        value (not increased) and there are thousands of clients connected
        at the same time. This bug affected Sidekiq users that experienced
        a very long delay for BLPOP and similar commands to return for
        timeout. Check commit b029ff1 for more info. (Salvatore Sanfilippo)
* [FIX] MIGRATE "creating socket: Invalid argument" error fix. Check
        issues #2609 and #2612 for more info. (Salvatore Sanfilippo)
* [FIX] Be able to connect to the master even when the slave is bound to
        just the loopback interface and has no valid public address in the
        network the master is reacahble. (Salvatore Sanfilippo)
* [FIX] ZADD with options encoding promotion fixed. (linfangrong)
* [FIX] Reset aof_delayed_fsync on CONFIG RESETSTATS. (Tom Kiemes)
* [FIX] PFCOUNT key parsing in cluster fixed. (MOON_CLJ)
* [FIX] Fix Solaris compilation of Redis 3.0. (Jan-Erik Rediger)

* [NEW] Variadic EXISTS command. Now the command accepts multiple arguments
        and returns the total count of existing keys.

Revision 1.13 / (download) - annotate - [select for diffs], Tue Jun 9 12:17:56 2015 UTC (8 years, 5 months ago) by fhajny
Branch: MAIN
CVS Tags: pkgsrc-2015Q2-base, pkgsrc-2015Q2
Changes since 1.12: +4 -5 lines
Diff to previous 1.12 (colored)

Update databases/redis to 3.0.2.

--[ Redis 3.0.2 ] Release date: 4 Jun 2015

Upgrade urgency: HIGH for Redis because of a security issue.
                 LOW for Sentinel.

* [FIX] Critical security issue fix by Ben Murphy: http://t.co/LpGTyZmfS7
* [FIX] SMOVE reply fixed when src and dst keys are the same. (Glenn Nethercutt)
* [FIX] Lua cmsgpack lib updated to support str8 type. (Sebastian Waisbrot)

* [NEW] ZADD support for options: NX, XX, CH. See new doc at redis.io.
        (Salvatore Sanfilippo)
* [NEW] Senitnel: CKQUORUM and FLUSHCONFIG commands back ported.
        (Salvatore Sanfilippo and Bill Anderson)

--[ Redis 3.0.1 ] Release date: 5 May 2015

Upgrade urgency: LOW for Redis and Cluster, MODERATE for Sentinel.

* [FIX] Sentinel memory leak due to hiredis fixed. (Salvatore Sanfilippo)
* [FIX] Sentinel memory leak on duplicated instance. (Charsyam)
* [FIX] Redis crash on Lua reaching output buffer limits. (Yossi Gottlieb)
* [FIX] Sentinel flushes config on +slave events. (Bill Anderson)

Revision 1.12 / (download) - annotate - [select for diffs], Mon Apr 13 11:33:35 2015 UTC (8 years, 7 months ago) by fhajny
Branch: MAIN
Changes since 1.11: +10 -8 lines
Diff to previous 1.11 (colored)

Update redis to 3.0.0.

--[ Redis 3.0.0 ] Release date: 1 Apr 2015

>> What's new in Redis 3.0 compared to Redis 2.8?

* Redis Cluster: a distributed implementation of a subset of Redis.
* New "embedded string" object encoding resulting in less cache
  misses. Big speed gain under certain work loads.
* AOF child -> parent final data transmission to minimize latency due
  to "last write" during AOF rewrites.
* Much improved LRU approximation algorithm for keys eviction.
* WAIT command to block waiting for a write to be transmitted to
  the specified number of slaves.
* MIGRATE connection caching. Much faster keys migraitons.
* MIGARTE new options COPY and REPLACE.
* CLIENT PAUSE command: stop processing client requests for a
  specified amount of time.
* BITCOUNT performance improvements.
* CONFIG SET accepts memory values in different units (for example
  you can use "CONFIG SET maxmemory 1gb").
* Redis log format slightly changed reporting in each line the role
  of the instance (master/slave) or if it's a saving child log.
* INCR performance improvements.

>> Refactoring changes (no new features nor bug fixes)

* Blocking operations full refactoring (blocked.c)
* Client output buffer memory tracking refactored.

See full release notes for 3.0.0:

https://raw.githubusercontent.com/antirez/redis/3.0/00-RELEASENOTES

Revision 1.11 / (download) - annotate - [select for diffs], Wed Dec 10 13:36:54 2014 UTC (8 years, 11 months ago) by fhajny
Branch: MAIN
CVS Tags: pkgsrc-2015Q1-base, pkgsrc-2015Q1, pkgsrc-2014Q4-base, pkgsrc-2014Q4
Changes since 1.10: +5 -5 lines
Diff to previous 1.10 (colored)

Update redis to 2.8.18.

* [FIX] Linenoise updated to be more VT100 compatible. (Salvatore Sanfilippo)
* [FIX] A number of typos fixed inside comments. (Various authors)
* [FIX] redis-cli no longer quits after long timeouts. (Matt Stancliff)
* [FIX] Test framework improved to detect never terminating scripts, cleanup
        instances on crashes. (Salvatore Sanfilippo)
* [FIX] PFCOUNT can be used on slaves now. (Salvatore Sanfilippo)
* [FIX] ZSCAN no longer report very small scores as 0. (Matt Stancliff,
        Michael Grunder, Salvatore Sanfilippo)
* [FIX] Don't show the ASCII logo if syslog is enabled. Redis is now
        an Enterprise Grade product. (Salvatore Sanfilippo)

* [NEW] EXPERIMENTAL: Diskless replication, for more info check the doc at
        http://redis.io/topics/replication. (Salvatore Sanfilippo).
* [NEW] Transparent Huge Pages detection and reporting in logs and
        LATENCY DOCTOR output. (Salvatore Sanfilippo)
* [NEW] Many Lua scripting enhancements: Bitops API, cjson upgrade and tests,
        cmsgpack upgrade. (Matt Stancliff)
* [NEW] Total and instantaneous Network bandwidth tracking in INFO.
* [NEW] DEBUG POPULATE two args form implemented (old form still works).
        The second argument is the key prefix. Default is "key:" (Salvatore
        Sanfilippo)
* [NEW] Check that tcp-backlog is matched by /proc/sys/net/core/somaxconn, and
        warn about it if not. (Salvatore Sanfilippo)

Revision 1.10 / (download) - annotate - [select for diffs], Wed Oct 1 14:11:51 2014 UTC (9 years, 1 month ago) by fhajny
Branch: MAIN
Changes since 1.9: +4 -4 lines
Diff to previous 1.9 (colored)

Update redis to 2.8.17.

--[ Redis 2.8.17 ] Release date: 19 Sep 2014

# UPGRADE URGENCY: HIGH for Redis Sentinel.
                   LOW for Redis Server (unmodified compared to 2.8.16).

* [FIX] Resolved a memory leak in the hiredis library causing a memory leak
        in Redis Sentinel when a monitored instance or another Sentinel is
        unavailable. Every reconnection attempt will leak a small amount of
        memory, but in the long run the process can reach a considerable size.

--[ Redis 2.8.16 ] Release date: 16 Sep 2014

# UPGRADE URGENCY: HIGH for Redis if you are using 2.8.15 + AOF.
                   LOW for Sentinel.

* [FIX] The ability to load truncated AOF files introduced with Redis 2.8.15
        contains a bug fixed in this release: after loading the file was not
        truncated to the last valid command, so the new commands are appended
        after a non well formed command. This means that:

        1) The first AOF rewrite triggered by the server will automatically
           fix the problem.
        2) However, if the server is restarted before the rewrite, Redis may
           not be able to load the file and you need to manually fix it.

        In order to fix a corrupted file you should start the redis-check-aof
        utility WITHOUT the --fix option, just to check the offset where the
        corruption is found. Around the offset reported by the check utility
        you'll find, inside your AOF file, a command which is not complete
        according to the Redis protocol. Just remove this incomplete command
        leafing the file unaltered before and after the offending command,
        and restart the server.

        IMPORTANT #1: Redis 2.8.15 is the only stable version of Redis with
        this bug so probably no actual real-world problem happened since the
        problem is automatically fixed at the first automatic AOF rewrite.

        IMPORTANT #2: Before upgrading to Redis 2.8.16, if you are using Redis
        2.8.15 with AOF enabled, make sure to trigger a manual AOF rewrite
        using the BGREWRITEAOF command.

* [FIX] SAVE is no longer propagated to AOF / slaves.

--[ Redis 2.8.15 ] Release date: 12 Sep 2014

# UPGRADE URGENCY: LOW for Redis, HIGH for Sentinel.

* [FIX] Sentinel critical bug fixed: the absolute majority was computed in a
        wrong way because of a programming error. Now the implementation does
        what the specification says and the majority to authorize a failover
        (that should not be confused with the ODOWN quorum) is the majority of
        *all* the Sentinels ever seen for a given master, regardless of their
        current state.
* [FIX] GETRANGE test no longer fails for 32 bit builds (Matt Stancliff).
* [FIX] Limit SCAN latency when the hash table is in an odd state (very few
        populted buckets because rehashing is in progress). (Xiaost and
        Salvatore Sanfilippo)

* [NEW] Redis is now able to load truncated AOF files without requiring a
        redis-check-aof utility run. The default now is to load truncated
        (but apparently not corrupted) AOFs, you can change this in redis.conf.
        (Salvatore Sanfilippo).
* [NEW] Sentinel: ability to announce itself with an arbitrary IP/port to work
        in the context of natted networks. However this is probably still
        not enough since there is no equivalent mechanism for slaves listed
        in the master INFO output. (Dara Kong and Salvatore Sanfilippo)

--[ Redis 2.8.14 ] Release date: 1 Sep 2014

# UPGRADE URGENCY: HIGH for Lua scripting users, the server could crash because
                   of a bug introduced in Redis 2.8.10, otherwise LOW.
                   LOW for Redis Sentinel.

* [FIX] Don't prevent use of shared integers if maxmemory policy is non-LRU.
        (Salvatore Sanfilippo)
* [FIX] Fail SYNC if background save child aborted due to a signal.
        (Yossi Gottlieb)
* [FIX] Different small redis-cli fixes. (Dov Murik, Charsyam, cubicdaiya,
        Kashif Rasul, Jan-Erik Rediger, Matt Stancliff)
* [FIX] AIX compilation fixes. (Siah Lyimo)
* [FIX] A number of other smaller issues.
* [FIX] Improved SIGINT handling (Matt Stancliff, Salvatore Sanfilippo)
* [FIX] Use unsigned types in SDS header to raise limit to 4GB.
        (Matt Stancliff, Salvatore Sanfilippo)
* [FIX] Handle signed/unsigned comparisons with more care around the code.
        (Salvatore Sanfilippo)
* [FIX] Colorized test output fixed to don't change the background color.
        (Mariano Pérez Rodríguez)
* [FIX] More Sentinel IPv6 fixes. (Eiichi Sato)
* [FIX] Deny CLIENT command in scripts. (Matt Stancliff)
* [FIX] Allow datasets with more than 2 billion of keys, initial work.
* [FIX] Fix a Lua scripting crash by storing the length of the static
        argv when first allocated. (Paddy Byers)

* [NEW] Pub/Sub PING. (Salvatore Sanfilippo)
* [NEW] Much faster ZUNIONSTORE. (Kyle Hubert, Salvatore Sanfilippo)
* [NEW] Faster ll2string() implementation. (Salvatore Sanfilippo)
* [NEW] **WARNING, minor API change**: PUBSUB NUMSUB: return type modified
        to integer. (Matt Stancliff)
* [NEW] redis-benchmark support for AUTH. (CharSyam)

Revision 1.9 / (download) - annotate - [select for diffs], Fri Jul 18 09:33:58 2014 UTC (9 years, 4 months ago) by fhajny
Branch: MAIN
CVS Tags: pkgsrc-2014Q3-base, pkgsrc-2014Q3
Changes since 1.8: +4 -4 lines
Diff to previous 1.8 (colored)

Update redis to 2.8.13.

--[ Redis 2.8.13 ] Release date: 14 Jul 2014

# UPGRADE URGENCY: LOW for Redis and Sentinel, this is a features enhancement
                   release mostly. Since this release introduces the latency
                   monitoring feature, Redis 2.8 users experiencing latency
                   issues are strongly encouraged to upgrade.

* [FIX] CLIENT KILL minor backward compatibility fixes. (Salvatore Sanfilippo)
* [FIX] Enable HAVE_ATOMIC for PowerPC. (Matt Stancliff)
* [FIX] More robust PSYNC and AOF rewrites tests. (Salvatore Sanfilippo)
* [FIX] Solaris build fixed. (Matt Stancliff, Salvatore Sanfilippo)

* [NEW] The new latency monitoring feature, as documented at
        http://redis.io/topics/latency-monitor (Salvatore Sanfilippo)
* [NEW] The COMMAND command, exposing the Redis command table
        as an API. (Matt Stancliff)
* [NEW] Update used memory with C11 __atomic. (Matt Stancliff)

--[ Redis 2.8.12 ] Release date: 23 Jun 2014

# UPGRADE URGENCY: HIGH for Redis, CRITICAL for Sentinel.

# WARNING: This release contains a non backward compatible semantical change
           to Lua script that should affect an almost zero number of users.

* [FIX / BREAKS BACKWARD COMPATIBILITY] Using SELECT inside Lua scripts no
       longer makes the selected DB to be set in the calling client.
       So Lua can still use SELECT, but the client calling the script will
       remain set to the original DB. Thix fixes an issue with Redis
       replication of Lua scripts that called SELECT without reverting the
       selected DB to the original one. (Salvatore Sanfilippo)
* [FIX] Sentinel failover was instalbe if the master was detected as available
        during the failover (especially during manual failovers) because
        of an implementation error (lack of checking of
        SRI_PROMOTED flag). (Salvatore Sanfilippo)
* [FIX] Cancel SHUTDOWN if initial AOF is being written. (Matt Stancliff)
* [FIX] Sentinel: bind source address for outcoming connections. (Matt
        Stancliff).
* [FIX] Less timing sensitive Sentinel tests. (Salvatore Sanfilippo).

* [NEW] redis-cli --intrinsic-latency stopped with SIGINT still reports
        stats (Matt Stancliff)
* [NEW] Sentinels broadcast an HELLO message ASAP after a failover in order to
        reach a consistent state faster (before it relied for periodic HELLO
        messages). (Salvatore Sanfilippo).
* [NEW] Jemalloc updated to 3.6.0. (Salvatore Sanfilippo)
* [NEW] CLIENT LIST speedup. (Salvatore Sanfilippo)
* [NEW] CLIENT LIST new unique incremental ID to every client. (Salvatore
        Sanfilippo)
* [NEW] ROLE command added. (Salvatore Sanfilippo)
* [NEW] CLIENT KILL new form to kill by client type and ID (see doc at
        redis.io for more info). (Salvatore Sanfilippo)
* [NEW] Sentinel now disconnects clients when instances are reconfigured
        (see http://redis.io/topics/sentinel-clients). (Salvatore Sanfilippo)
* [NEW] Hiredis update to latest version. (Matt Stancliff)

--[ Redis 2.8.11 ] Release date: 11 Jun 2014

# UPGRADE URGENCY: HIGH if you use Lua scripting, LOW otherwise.

* [FIX] A previous fix for Lua -> Redis numerical precision enhancement
        introduced a new problem. In Redis 2.8.10 commands called from Lua
        passing a string that "looks like" a very large number, may actually
        use as argument the string converted as a float. This bug is now
        fixed.
* [FIX] Now commands other than *PUSH* adding elements to a list will be able
        to awake clients blocked in a blocking POP operation.
* [FIX] Cygwin compilation fixes.

--[ Redis 2.8.10 ] Release date: 5 Jun 2014

# UPGRADE URGENCY: HIGH if you use min-slaves-to-write option.

* [FIX] IMPORTANT! A min-slaves-to-write option active in a slave totally
        prevented the slave from acception the master stream of commands.
        This release includes testes for min-slaves-to-write, and a fix
        for this issue.
* [FIX] Sometimes DEL returned 1 for already expired keys. Fixed.
* [FIX] Fix test false positive because new osx 'leaks' output.
* [FIX] PFCOUNT HLL cache invalidation fixed: no wrong value was reported
        but the cache was not used at all, leading to lower performances.
* [FIX] Accept(2) multiple clients per readable-event invocation, and better
        processing of I/O while loading or busy running a timedout script.
        Basically now the LOADING / BUSY errors are reported at a decent
        speed.
* [FIX] A softwaer watchdog crash fixed.
* [FIX] Fixed a Lua -> Redis numerical precision loss.

* [NEW] Lua scripting engine speed improved.
* [NEW] Sentinel generates one new event for humans to understand better
        what is happening during a failover: +config-update-from.
        Also the time at which a failover will be re-attempted is logged.

Revision 1.8 / (download) - annotate - [select for diffs], Wed May 7 07:40:40 2014 UTC (9 years, 6 months ago) by fhajny
Branch: MAIN
CVS Tags: pkgsrc-2014Q2-base, pkgsrc-2014Q2
Changes since 1.7: +4 -4 lines
Diff to previous 1.7 (colored)

Update redis to 2.8.9.

--[ Redis 2.8.9 ] Release date: 22 Apr 2014

# UPGRADE URGENCY: LOW, only new features introduced, no bugs fixed.

* [NEW] The HyperLogLog data structure. You can read more about it
        in this blog post. http://antirez.com/news/75
* [NEW] The Sorted Set data type has now support for lexicographic range
        queries, check the new commands ZRANGEBYLEX, ZLEXCOUNT and
        ZREMRANGEBYLEX, which are documented at http://redis.io.

--[ Redis 2.8.8 ] Release date: 25 Mar 2014

# UPGRADE URGENCY: HIGH for Redis, LOW for Sentinel. There is a potentially
                   critical bug fix causing data loss in Redis but it requires
                   a combination of disk full and the use of the
                   SHUTDOWN command.

* [FIX] Fixed data loss when SHUTDOWN was used with a disk full condition.
* [FIX] Fixed a memory leak in the SORT syntax error processing.
* [FIX] When Sentinel down-after-milliseconds parameter is modified at runtime
        now it gets propagated to all the slaves and sentinel instances
        of the master.
* [FIX] `install_server.sh` script finally fixed.
* [FIX] Different fixes to maxclients handling.

* [NEW] Sentinels are now able to send update messages in a peer-to-peer
        fashion even if no Redis instances are available. Now the Sentinel
        liveness property that the most updated configuration in a given
        partition is propagated to all the Sentinels is extended to partitions
        without reachable instances.
* [NEW] Sentinel safety properties are now ensured in a crash-recovery system
        model since some state is persisted on disk before replying to other
        nodes, and reloaded at startup.
* [NEW] Sentinel now uses CLIENT SETNAME so that it is easy to identify
        Sentinels using CLIENT LIST among other clients.
* [NEW] Sentinel failure detection and reconnection code improved.
* [NEW] Use all 24 bits (instead of 22) for the Redis objects LRU field.
        Note that the new LRU algorithm using eviction pools was not backported
        from unstable for safery / code maturity concerns.
* [NEW] Majory speedup for the INFO command (it is now 6 times faster).
* [NEW] More Sentinel unit tests.
* [NEW] New command DEBUG ERROR returns the specified error. Example:
        DEBUG ERROR "LOADING database". This is handy to write Redis client
        libraries unit tests.
* [NEW] redis-cli now supports multi-line editing via updated linenoise lib.

Revision 1.7 / (download) - annotate - [select for diffs], Mon Mar 10 13:24:13 2014 UTC (9 years, 8 months ago) by fhajny
Branch: MAIN
CVS Tags: pkgsrc-2014Q1-base, pkgsrc-2014Q1
Changes since 1.6: +4 -4 lines
Diff to previous 1.6 (colored)

Update redis to 2.8.7.

--[ Redis 2.8.7 ] Release date: 5 Mar 2014

# UPGRADE URGENCY: LOW for Redis, LOW for Sentinel. However this release adds
                   new features so users may want to upgrade in order to
                   exploit the new functionalities.

* [FIX] Sometimes the absolute config file path was obtained in a wrong way.
        This happened when there was a "dir" directive inside the config file
        and at the same time the configuration file was given as a relative
        path to redis-server or redis-sentinel executables.
* [FIX] redis-cli: Automatically enter --slave mode when SYNC or PSYNC are
        called during an interactive session.
* [FIX] Sentinel "IDONTKNOW" error removed as it does not made sense with the
        new Sentinel design. This error was actually a fix for a design error
        in the first implementation of Sentinel.
* [FIX] Sentinel: added a missing exit() call to abort after config file
        checks at startup. This error was introduced with an improvement in
        a previous 2.8 release.
* [FIX] BITCOUNT: fixed unaligned access causing issues in sparc and other
        archs not capable of dealing with unaligned accesses. This also makes
        the code faster in archs where unaligned accesses are allowed.
* [FIX] Sentinel: better nodes fail over start time desynchronization to avoid
        split-brain during the voting process needed to get authorization to
        fail over. This means the system is less likely to need to retry
        and will fail over faster. No changes in behavior / correctness.
* [FIX] Force INFO used_memory_peak to match peak memory. This generated some
        confusion among users even if it was not an actual bug.

* [NEW] Sentinel unit tests and framework. More tests needed and units must
        be improved in order to have less false positives, but it is a start
        and features a debugging console that is useful to fix tests or to
        inspect bugs causing tests failures.
* [NEW] New Sentinel events: +/-monitor and +set used to monitor when an
        instance to monitor is added or removed, or when a configuration
        is modified via SENTINEL SET.
* [NEW] Redis-cli updated to use SCAN instead of random sampling via
        RANDOMKEY in order to implement --bigkeys feature. Moreover the
        implementation now supports pipelining and reports more information
        at the end of the scan. Much faster, much better. A special thank
        you to Michael Grunder for this improvement.
* [NEW] redis-cli now supports a new --intrinsic-latency mode that is able
        to meter the latency of a system due to kernel / hypervisor.
        How to use it is explained at http://redis.io/topics/latency.
* [NEW] New command BITPOS: find first bit set or clear in a bitmap.
* [NEW] CONFIG REWRITE calls are now logged.

--[ Redis 2.8.6 ] Release date: 13 Feb 2014

# UPGRADE URGENCY: HIGH for Redis, LOW for Sentinel. Redis users using Lua
                   scripts with EVALSHA and attached slaves and/or AOF
                   persistence should consider upgrading ASAP.

* [FIX] Fixed an critical EVALSHA script cache bug: scripts executed may not
        propagate to AOF / Slaves correctly under certain conditions.
        See issue #1549 at Github for more information.
* [FIX] Fixed multiple bugs resulting into closing the link with master or slave
        during replication without good reasons. This will result in useless
        resynchronizations, or infinite loops where the replication link can't
        be established.
* [FIX] Don't count the time needed to populate the buffers of clients waiting
        in MONITOR mode when populating the Slow Log entries.

* [NEW] AOF write errors (like no space on device) no longer abort Redis if the
        fsync policy is none or every second. The database enters a read-only
        mode where every write is refused with an error. Normal operations are
        restored as soon as Redis is able to append again data to the AOF file.
* [NEW] Sentinel now accepts SHUTDOWN command.

--[ Redis 2.8.5 ] Release date: 4 Feb 2014

# UPGRADE URGENCY: HIGH for Redis, LOW for Sentinel. Redis users using Lua
                   scripts with expires, and Redis users relying on the
                   ability of Redis to block writes on RDB saving errors
                   should plan to upgrade ASAP.

* [FIX] Fixed a replication bug caused by Lua scripts + expired keys: keys could
        expire in the middle of scripts causing non-deterministic behavior.
* [FIX] MISCONFIG error if condition fixed, the server was no longer able
        to stop writes on RDB misconfiguration after this error was introduced.
* [FIX] REDIS_AOF_REWRITE_MIN_SIZE is now 64mb like example redis.conf default.
* [FIX] Perform fflush() before fsync() in rio.c (bug without actual effects).
* [FIX] Don't log MONITOR clients as disconnecting slaves.
* [FIX] SENTINEL MASTER arity check fixed. Crashed the Sentinel instance when
        the command was given without arguments.

* [NEW] Allow CONFIG and SHUTDOWN while in stale-slave state.
* [NEW] Support for configurable TCP listen(2) backlog size.
* [NEW] redis-cli supports SCAN via the --scan and --pattern options.
* [NEW] SENTINEL SET master quorum via runtime API implemented.

--[ Redis 2.8.4 ] Release date: 13 Jan 2014

# UPGRADE URGENCY: MODERATE for Redis and Sentinel.

* [FIX] Makefile compatibility with non common make variants improved.
* [FIX] SDIFF crash in very unlikely to trigger state fixed.
* [FIX] Config rewriting fixed: don't wipe options unknown to the rewrite
        process.
* [FIX] Set TCP port to 0 works again to disable TCP networking.
* [FIX] Fixed replication with old Redis instances as masters by not
        sending REPLCONF ACK to them.
* [FIX] Fix keyspace notifications rewrite and CONFIG GET output.
* [FIX] Fix RESTORE TTL handling in 32 bit systems (32 bit overflow).

* [NEW] Sentinel now has a run time configuration API.
* [NEW] Log when we lost connection with master or slave.
* [NEW] When instance is turned from slave to master now inherits the
        old master replication offset when possible. This improves the
        Sentinel failover procedure.

Revision 1.6 / (download) - annotate - [select for diffs], Thu Jan 2 17:26:19 2014 UTC (9 years, 10 months ago) by fhajny
Branch: MAIN
Changes since 1.5: +8 -8 lines
Diff to previous 1.5 (colored)

Update redis to 2.8.?

Changes:

2.8.3
* [FIX] Sentinel instance role sampling fixed, the system is now more
        reliable during failover and when reconfiguring instances with
        non matching configuration.
* [FIX] Inline requests are now handled even when terminated with just LF.
* [FIX] Replication timeout handling greatly improved, now the slave is able
        to ping the master while removing the old data from memory, and while
        loading the new RDB file. This avoid false timeouts sensed by
        masters.
* [FIX] Fixed a replication bug involving 32 bit instances and big datasets
        hard to compress that resulted into more than 2GB of RDB file sent.
* [FIX] Return error for inline requests with unbalanced quotes.
* [FIX] Publish the slave replication offset even when disconnected from the
        master if there is still a cached master instance.

2.8.2
* [FIX] Sentinel better desynchronization to avoid split-brain elections
        where no Sentinel managed to get elected.
* [FIX] Stop accepting writes on "MISCONF" error only if master, not slave.
* [FIX] Reply to PING with an error on "MISCONF" errors.

2.8.1
* [FIX] Fixed a bug in "new Sentinel" config propagation.
* [FIX] Fixed a false positive in Redis tests.

2.8.0
* [FIX] Fixed an error in rdbWriteRaw() that should have no practical impact.
* [NEW] Log the new master when SLAVEOF command is used.
* [NEW] Sentinel code synchronized with the unstable branch, the new Sentinel
        is a reimplementation that uses more reliable algorithms.

2.8.0 RC6
* [NEW] SCAN, SSCAN, HSCAN, ZSCAN commands.

2.8.0 RC5
* [FIX] redis-cli: don't crash with --bigkeys when the key no longer exist.
* [FIX] Allow AUTH / PING when disconnected from slave and serve-stale-data
        is no.
* [FIX] PSYNC: safer handling of PSYNC requests with offsets in the future.
* [FIX] Replication: Fix master timeout detection.
* [FIX] Replication: Correctly install the write handler after successful
        PSYNC.

2.8.0 RC4
* [FIX] Fixed a serious EVAL memory leak in the Lua stack.
* [FIX] Fixed server startup when no IPv6 address exists in any interface.
* [FIX] Send MISCONFIG error when BGSAVE fails because can't fork.
* [FIX] Memory efficiency with large (> a few kbytes) values improved
        considerably.
* [NEW] DEBUG SDSLEN for sds memory debugging.

2.8.0 RC3
* [FIX] Improved expired keys collection algorithm. Even under heavy load keys
        to be expired can't accumulate because of lack of CPU time.
* [FIX] Replication speed regression fixed (issue #1238).
* [FIX] Fixed an hard to trigger PSYNC bug.
* [FIX] Fixed Issue #1240, ZUNIONSTORE could lead to wrong result.
* [NEW] Add per-db average TTL information in INFO output.
* [NEW] redis-benchmark improvements.
* [NEW] dict.c API wrong usage detection.

2.8.0 RC2
* [FIX] Fixed a critical replication bug, see issue #1221.
* [NEW] The new inline protocol now accepts quoted strings like, for example
        you can now type in a telnet session: set 'foo bar' "hello world\n".

2.8.0 RC1
* [NEW] Slaves are now able to partially resynchronize with the master,
        so most of the times a full resynchronization with the RDB creation
        in the master side is not needed when the master-slave link is
        disconnected for a short amount of time.
* [NEW] Experimental IPv6 support.
* [NEW] Slaves explicitly ping masters now, a master is able to detect
        a timed out slave independently.
* [NEW] Masters can stop accepting writes if not enough slaves with a given
        maximum latency are connected.
* [NEW] Keyspace changes notifications via Pub/Sub.
* [NEW] CONFIG SET maxclients is now available.
* [NEW] Ability to bind multiple IP addresses.
* [NEW] Set process names so that you can recognize, in the "ps" command
        output, the listening port of an instance, or if it is a saving child.
* [NEW] Automatic memory check on crash.
* [NEW] CONFIG REWRITE is able to materialize the changes in the configuration
        operated using CONFIG SET into the redis.conf file.
* [NEW] More NetBSD friendly code base.
* [NEW] PUBSUB command for Pub/Sub introspection capabilities.
* [NEW] EVALSHA can now be replicated as such, without requiring to be
        expanded to a full EVAL for the replication link.
* [NEW] Better Lua scripts error reporting.
* [NEW] SDIFF performance improved.
* [FIX] A number of bugfixes.

2.6.17
* [FIX] redis-cli: fix big keys search when the key no longer exist.
* [FIX] Allow AUTH / PING when disconnected from slave with serve-stale-data
        on.
* [FIX] redis-benchmark: update help for new __rand_int__ form.
* [FIX] Fix broken rdbWriteRaw() return value check in rdb.c (harmless).
* [FIX] Log to what master a slave is going to connect to.
* [FIX] Only run the fast active expire cycle if master & enabled.
* [FIX] Fixed a replication bug involving 32 bit instances and big datasets
        hard to compress that resulted into more than 2GB of RDB file sent.

Revision 1.5 / (download) - annotate - [select for diffs], Wed Jan 1 16:08:24 2014 UTC (9 years, 10 months ago) by bsiegert
Branch: MAIN
Changes since 1.4: +3 -1 lines
Diff to previous 1.4 (colored)

Support for MirBSD. Also, no strtold.

Revision 1.4 / (download) - annotate - [select for diffs], Mon Sep 9 14:05:03 2013 UTC (10 years, 2 months ago) by fhajny
Branch: MAIN
CVS Tags: pkgsrc-2013Q4-base, pkgsrc-2013Q4, pkgsrc-2013Q3-base, pkgsrc-2013Q3
Changes since 1.3: +4 -4 lines
Diff to previous 1.3 (colored)

--[ Redis 2.6.16 ] Release date: 28 Aug 2013

UPGRADE URGENCY: MODERATE.

* [FIX] Stop writes when fork() fails when trying to BGSAVE. BGSAVE errors
        were trapped only in the case the saving child failed, so the fork()
        error was no trapped as no child is created at all.
* [FIX] Fix a serious memory efficiency regression, Redis 2.6.16 is
        significantly better with large values (>= a few kbytes) and will
        be able to store two times the amount of data compared to Redis 2.6.15
        when values are in that range.
* [FIX] Fixed an issue with Table conversion in the lua-cmsgpack library exposed
        by the Redis scripting engine.
* [NEW] DEBUG SDSLEN was introduced to debug memory inefficiencies due to
        SDS allocation more easily.

Revision 1.3 / (download) - annotate - [select for diffs], Mon Aug 26 10:10:08 2013 UTC (10 years, 3 months ago) by fhajny
Branch: MAIN
Changes since 1.2: +4 -4 lines
Diff to previous 1.2 (colored)

Changes in 2.6.15:

UPGRADE URGENCY: MODERATE, upgrade ASAP only if you experience issues related to
                 the expired keys collection algorithm, or if you use the
                 ZUNIONSTORE command.

* [FIX] Improved expired keys collection algorithm. Even under heavy load keys
        to be expired can't accumulate because of lack of CPU time.
* [FIX] Fixed Issue #1240, ZUNIONSTORE could lead to wrong result.
* [NEW] redis-benchmark improvements.
* [NEW] dict.c API wrong usage detection.

WARNING: redis-benchmark released with 2.6.15 features non backward compatible
         change in the way the random arguments are specified, use the --help
         option for more information.

Revision 1.2 / (download) - annotate - [select for diffs], Wed Aug 7 05:30:09 2013 UTC (10 years, 3 months ago) by adam
Branch: MAIN
Changes since 1.1: +4 -4 lines
Diff to previous 1.1 (colored)

Changes 2.6.14:

UPGRADE URGENCY: HIGH because of the following two issues:
    * Lua scripting + Replication + AOF in slaves problem (see Issue 1164).
    * AOF + expires possible race condition (see Issue 1079).

* [FIX] AOF bug: expire could be removed from key on AOF rewrite.
* [FIX] Allow writes from scripts called by AOF loading in read-only slaves.
* [FIX] Sentinel: parse new verison of INFO replication output correctly.
* [NEW] Reset masterauth if an empty string is configured.

Revision 1.1 / (download) - annotate - [select for diffs], Thu Jun 13 17:41:34 2013 UTC (10 years, 5 months ago) by mspo
Branch: MAIN
CVS Tags: pkgsrc-2013Q2-base, pkgsrc-2013Q2

Import redis from wip!

Redis is a persistent key-value database with built-in net interface

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>