<ChangeLog>
# 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.
</ChangeLog>
Use modern name for dependent libraries.
<ChangeLog>
# UPGRADE URGENCY: MODERATE for Redis, HIGH for Sentinel.
* [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.
</ChangeLog>
<ChangeLog>
# UPGRADE URGENCY: MODERATE for both Redis and Sentinel.
* [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.
</ChangeLog>
<ChangeLog>
# UPGRADE URGENCY: LOW for Redis, CRITICAL for Senitnel. You don't need to
upgrade your Redis instances but it is highly recommended
to upgrade and restart all the Sentinel processes.
* [FIX] Fixed a bug in "new Sentinel" config propagation.
* [FIX] Fixed a false positive in Redis tests.
</ChangeLog>
<ChangeLog>
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.
</ChangeLog>
Add support for lang/lua, disabled by default.
<ChangeLog>
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.
</ChangeLog>
PR: 179745
<ChangeLog>
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.
</ChangeLog>
PR: 178124
<ChangeLog>
[ Redis 2.6.13 ]
UPGRADE URGENCY: MODERATE, nothing very critical but upgrading
is suggested if you experienced:
1) Strange issues with Lua scripting.
2) Not reconfigured reappearing master using Sentinel.
3) Server continusly trying to save on save error.
This version of Redis may also help with AOF and slow / busy
disks and latency issues.
* [FIX] Throttle BGSAVE attempt on saving error.
* [FIX] redis-cli: raise error on bad command line switch.
* [FIX] Redis/Jemalloc Gitignore were too aggressive.
* [FIX] Test: fix RDB test checking file permissions.
* [FIX] Sentinel: always redirect on master->slave transition.
* [FIX] Lua updated to version 5.1.5. Fixes rare scripting issues.
* [NEW] AOF: improved latency figures with slow/busy disks.
* [NEW] Sentinel: turn old master into a slave when it comes back.
* [NEW] More explicit panic message on out of memory.
* [NEW] redis-cli: --latency-history mode implemented.
[ Redis 2.6.12 ]
UPGRADE URGENCY: MODERATE, nothing very critical but a few non trivial bugs.
* [BUGFIX] redis-cli --bigkeys: don't crash with empty DB.
* [BUGFIX] stop-writes-on-bgsave-error now works in redis.conf
* [BUGFIX] Don't crash at startup if RDB is there but can't be opened.
* [BUGFIX] Initial value for master_link_down_since_seconds is now huge.
* [BUGFIX] Allow SELECT while loading the DB.
* [BUGFIX] Don't replicate/AOF an empty MULTI/EXEC if the transaction
is empty or containing just read-only commands.
* [BUGFIX] EXPIRE should not be able to resurrect keys (see issue #1026).
* [IMPROVED] Extended SET back ported from Redis 2.8 / unstable
See http://redis.io/commands/set for more information.
* [IMPROVED] Test suite improved.
</ChangeLog>
<ChangeLog>
UPGRADE URGENCY: LOW, however updating is encouraged if you have many instances
per server and you want to lower the CPU / energy usage.
* [BUGFIX] Replication: more strict error checking for master PING reply.
* [BUGFIX] redis-cli: use keepalive socket option for improved reliability.
* [BUGFIX] Allow AUTH while loading the DB in memory.
* [BUGFIX] Don't segfault on unbalanced quotes while parsing config file.
* [IMPROVED] serverCron() frequency is now a runtime parameter (was REDIS_HZ).
* [IMPROVED] Use a lot less CPU when idle, even with many configured DBs.
</ChangeLog>
<ChangeLog>
UPGRADE URGENCY: MODERATE, this release contains many non-critical fixes
and many small improvements.
* [BUGFIX] redis-cli --rdb, fixed when the server sends newlines to ping.
* [BUGFIX] redis-cli, minor fixes on connection handling, prompt.
* [BUGFIX] Slow log: don't log EXEC, just executed commands.
* [BUGFIX] On failed shutdown don't try again and again compulsively.
* [BUGFIX] Fix build on sunos without backtrace().
* [BUGFIX] UNSUBSCRIBE and PUNSUBSCRIBE: always provide a reply (see 742e580)
* [BUGFIX] Lua struct library was broken, upgraded.
* [BUGFIX] Fix a bug in srandmemberWithCountCommand() with count argument.
* [BUGFIX] Test: disable clients timeout to prevent issues on slow systems.
* [BUGFIX] Sentinel: don't advertise the promoted slave as master too early.
* [IMPROVED] Whitelist SIGUSR1, see http://redis.io/topics/signals.
* [IMPROVED] Simpler to understand redis-cli --bigkeys output.
* [IMPROVED] Test now works with tclsh > 8.5.
* [IMPROVED] Added option to turn of the Nagle algorithm in slave socket.
* [IMPROVED] Optionally use SO_KEEPALIVE to detect dead peers.
</ChangeLog>
<ChangeLog>
UPGRADE URGENCY: MODERATE if you use replication.
* [BUGFIX] Changing master at runtime (SLAVEOF command) in presence of
network problems, or in very rapid succession, could result
in non-critical problems (GitHub Issue #828).
* [IMPROVED] CLINGET GETNAME and SETNAME to set and query connection names
reported by CLIENT LIST. Very useful for debugging of
problems.
* [IMPROVED] redis-cli is now able to transfer an RDB file from a remote
server to a local file using the --rdb <filename> command
line option.
</ChangeLog>
Add experimental support for lang/luajit, disabled by default.
<ChangeLog>
UPGRADE URGENCY: MODERATE if you use Lua scripting. Otherwise LOW.
* [BUGFIX] Multiple fixes for EVAL (issue #872).
* [BUGFIX] Fix overflow in mstime() in redis-cli and benchmark.
* [BUGFIX] Fix Linux / PPC64 behavior by correcting endianess detection.
* [BUGFIX] Fix NetBSD build by defining _XOPEN_SOURCE appropriately.
* [BUGFIX] Added missing license and copyright in a few places.
* [BUGFIX] Better error reporting when fd event creation fails.
</ChangeLog>
PR: 174084
Feature safe: yes
<ChangeLog>
UPGRADE URGENCY: MODERATE (unless you BLPOP using the same key multiple times).
* [BUGFIX] Don't crash if BLPOP & co are called with the same key repeated
multiple times (Issue #801).
</ChangeLog>
Feature safe: yes
<ChangeLog>
UPGRADE URGENCY: CRITICAL if you experienced one more more crashes.
MODERATE if Redis is running fine for you.
* [BUGFIX] Jemalloc updated to 3.2.0.
</ChangeLog>
Feature safe: yes
<ChangeLog>
UPGRADE URGENCY: MODERATE
Warning: this release of Redis introduces a different behavior in MULTI/EXEC
handling of errors. This was done because the new behavior is safer
compared to the old one, and should not break any code targeting
Redis 2.6 in a critical way.
For more information check http://redis.io/topics/transactions
* [IMPROVED] RDB/AOF childern now log amount of additional memory used
because of copy on write.
* [BUGFIX] MIGRATE non critical fixes (see commits for details).
* [BUGFIX] MULTI/EXEC: now EXEC aborts on errors before EXEC.
* [BUGFIX] Fix integer overflow in zunionInterGenericCommand resulting
into Z[INTER|UNION][STORE] commands to crash under extremely
unlikely conditions (almost impossible in real world).
* [BUGFIX] EVALSHA is now case insensitive (and will not crash).
</ChangeLog>
Feature safe: yes
<ChangeLog>
* [BUGFIX] Fixed 32 bit build on Linux systems.
* [BUGFIX] MONITOR and CLIENT LIST: propertly display unix socket clients.
* [IMPROVED] redis-cli inline help updated.
* [IMPROVED] Marginally more robust AOF child handling.
* [IMPROVED] Fixed a few typos in comments.
</ChangeLog>
<ChangeLog>
* INFO command now contains the run_id field for Redis Sentinel compatibility.
* Support for the "slave priority" parameter published via INFO and used by
Redis Sentinel.
* [BUGFIX] An optimization to convert double values into strings was not used
because of an error in a preprocessor directive. Now it's fixed. Saving
datasets with many sorted sets should be faster.
* [BUGFIX] Fixed a theoretic bug in the ziplist implementation.
</ChangeLog>
<ChangeLog>
UPGRADE URGENCY: moderate if you use AOF, otherwise low.
* [BUGFIX] Jemalloc updated to 3.0.0. This fixes a possibly AOF rewrite issue.
See https://github.com/antirez/redis/issues/504 for info.
</ChangeLog>
<ChangeLog>
UPGRADE URGENCY: high, many non trivial bugs fixed in this release.
* [BUGFIX] Fixed issue #518 (Redis 99% CPU when master down).
* [BUGFIX] Fixed issue #516 (ZINTERSTORE mixing sets and zsets).
* [BUGFIX] Fixed a bug in install_server.sh when using chkconfig
* [BUGFIX] Fixes to --test-memory implementation.
* [BUGFIX] Allow PREFIX to be overridden in Makefile.
* [BUGFIX] The test is now more reliable on slow computers.
* redis-cli --pipe mode, see http://redis.io/topics/mass-insert
* Much better expired keys collection algorithm that makes the server much
more responsive when a lot of keys are expiring at the same time.
</ChangeLog>
<ChangeLog>
What's new in Redis 2.4.13
==========================
UPGRADE URGENCY: high for all the users of the KEYS command,
otherwise low.
* [BUGFIX] Fix for KEYS command: if the DB contains keys with
expires the KEYS command may return the wrong output,
having duplicated or missing keys. See issue #487
and #488 on github for details.
What's new in Redis 2.4.12
==========================
UPGRADE URGENCY: low if you don't experience any of the fixed
problems.
* [BUGFIX] Limit the amount of memory consumed by the slow log.
* [BUGFIX] --test-memory option fixes.
* [BUGFIX] Less false positives in tests.
</ChangeLog>
<ChangeLog>
UPGRADE URGENCY: moderate if you don't experience any of the fixed problems.
* [BUGFIX] Fixed a problem with aeWait() implementation. May cause a crash
under non easy to replicate condiitons. See issue #267 on github.
* [BUGFIX] SORT with GET/BY option fetching expiring keys fixed. Issue #460.
* [BUGFIX] INFO field master_link_down_since_seconds initialized correctly.
* [FEATURE] redis-cli back ported from Redis unstable. Now has support for
--bigkeys (to sample the DB for very large keys), --slave to
simulate a slave instance.
</ChangeLog>
Feature safe: yes
<ChangeLog>
UPGRADE URGENCY: High for users using replication with a DB identifier
higher than 9, or chaining replication so that slaves are attached to
other slaves. Low for all the other users.
* [FEATURE] Redis --test-meory improved with new test testing addressing.
* [BUGFIX] Fixed a memory leak: happens when replication is used with
DB > 9.
* [BUGFIX] Fixed a replication bug that happens in chained replicaiton
when a slave is attached to a master that is later turned into a slave.
Now the chained slave reconnection is properly forced.
</ChangeLog>
Feature safe: yes
<ChangeLog>
UPGRADE URGENCY: low. Mostly new features and minor bug fixing.
* [FEATURE] Redis server is now able to test your memory for broken RAM.
Usage: ./redis-server --test-memory <megabytes>.
* [FEATURE] redis-benchmark backported from unstable. Pipelining, run selected
tests, and a few more features.
* [BUGFIX] utils/install_server.sh script now works on Redhat / Centos.
* [BUGFIX] Minor fix to redis-cli (github issue #306).
</ChangeLog>
<ChangeLog>
UPGRADE URGENCY: moderate if you don't experience any of the fixed problems.
* [BUGFIX] Make install now uses cp -f to avoid 'text file busy' errors.
* [BUGFIX] redis-check-aof is now large files safe also on 32 bit systems.
* [BUGFIX] Issue #327 fixed: maxmemory and replication now work much better.
* [BUGFIX] Now HINCRBY can detect overflows too. Fix for issue #330.
* [BUGFIX] Fixed compilation with latest clang.
* [BUGFIX] Fixed handling of empty sorted sets produced in RDB by
very old Redis versions (1.2.x).
</ChangeLog>
<ChangeLog>
UPGRADE URGENCY: low/moderate if you don't experience any of the fixed
problems.
* [BUGFIX] Fixed false positive in issue #141 regression test.
* [BUGFIX] Slave should not expire keys when loading an RDB after a SYNC.
* [BUGFIX] Don't increment stats for key misses / hits when key is written.
* [BUGFIX] sds.c library now don't allocate more than 1MB ahead.
* 32 bit instances without a maxmemory set now get a default limit of 3.5GB
with maxmemory-policy set to noeviction.
* Better crash report on crash (containing current client and command arguments).
</ChangeLog>
literal name_enable wherever possible, and ${name}_enable
when it's not, to prepare for the demise of set_rcvar().
In cases where I had to hand-edit unusual instances also
modify formatting slightly to be more uniform (and in
some cases, correct). This includes adding some $FreeBSD$
tags, and most importantly moving rcvar= to right after
name= so it's clear that one is derived from the other.
<ChangeLog>
* [BUGFIX] Fixed issue #141 part 1: Possible protocol desyncs when clients send
wrong protocol is now fixed. (See issue 141 for more details)
* [BUGFIX] Fixed issue #141 part 2: Connection of multiple slaves used to result
from time to time into corrupted protocol send to slaves connected
after the first one. (See issue 141 for more details)
* [BUGFIX] Do not propagate DEBUG LOADAOF.
* New INFO contains information such as ip/port/state for every conneced slave.
* Show GCC version in INFO output.
</ChangeLog>
Note. The 2.2.15 release is the latest release from
legacy 2.2 branch. Next commit is up to latest bugfix
release from 2.4 branch.
<ChangeLog>
* [BUGFIX] FLUSHALL was not replicated nor written into the
Append Only File.
* [BUGFIX] FLUSHALL now only performs a sync SAVE if there
is at least one save point configured.
</ChangeLog>
Notice from: miwi
<ChangeLog>
* [BUGFIX] Fixed a rare but possible AOF race condition
that could result into duplicated commands inside the AOF.
* [BUGFIX] Don't replicate SAVE.
* LRANGE optimization may drastically improve performances
when querying the final part of a long list.
* redis-cli now implements a --latency mode to monitory
Redis delay.
</ChangeLog>
<ChangeLog>
* [BUGFIX] Fixed issue 593 (BRPOPLPUSH related crash).
* [BUGFIX] Fixed an issue with the networking layer that may
prevent Redis from sending the whole reply back to client
under extreme conditions.
</ChangeLog>
<ChangeLog>
* the Slowlog feature was backported to Redis 2.2.
* a number of fixes related blocking operations on lists when
mixed with AOF and Replication.
* fixed bad interactions between EXPIRE, EXPIREAT, and in
general volatile keys when AOF is enabled. More details in
the Redis Google Group here:
http://groups.google.com/group/redis-db/browse_frm/thread/5a931fefb88b16d5?tvc=1
* no more allocation stats info in INFO.
* colorized make for 2.2 as well.
* fixed a problem with AOF when it is stopped via CONFIG SET
appendonly no.
* warn the user enabling VM that VM is deprecated and discouraged.
* prepareForShutdown() fixed for correctness.
* close the listening sockets on exit for faster restarts.
</ChangeLog>
Redis 2.2.11 with support for Lua scripting, backported from the
scripting branch. Instructions about how to use it are contained
in following blog post:
http://antirez.com/post/scripting-branch-released.html
Connect to build.
Add CONFLICTS and bump PORTREVISION for databases/redis.