<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>
<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.
Create/remove necessary directories in install/deinstall process.
Optimize SUB_LIST.
PRs: ports/158115, ports/158190
<ChangeLog>
* Solved a never reported but possibly critical bug in the AOF
and RDB persistence, introduced with the new version of the
iterator: In very rare circumstances the AOF (after rerwite)
or the rdb file may contain the same key more than one time.
</ChangeLog>
<ChangeLog>
* Fix for issue 566. It was possible for SETNX to behave in abnormal
ways.
* Work with make v3.80
* redis-cli updated to the same version as the 2.4 branch. Now the
reconnection handling is better. You can prefix commands with a
number to execute the command the specified number of times. When
using -r in non interactive mode it is possible to set a delay
between commands.
* Better init script.
</ChangeLog>
Submitted by: Jin-Sih Lin aka linpct at gmail dot com
PR: ports/157973
<ChangeLog>
* A Slave used to rewrite the AOF log after a sync with the
master, but the rewrite was performed at the wrong time,
causing inconsistencies in the AOF file generated.
* [LR]LPUSH replication in presence of BRPOPLPUSH was
broken. Fixed.
* Memory leak in BRPOPLPUSH fixed.
* Pub/Sub bug resulting in random crashes fixed.
</ChangeLog>
<ChangeLog>
* A new form of dict.c (hash table implementation) iterator that performs less
copy-on-write of pages, introduced in Redis 2.2.7, caused ZINTERSTORE,
ZUNIONSTORE, SINTER, SINTERSTORE commands to behave in the wrong way.
This bug is now fixed.
* Print version info before running the test with 'make test'. This is mainly
useful for the Continuous Integration system we run.
* Fix for DEBUG DIGEST, key may expire on lookup, producing the wrong result.
* Replication with expire test modified to produce no or less false failures.
* Fixed Z*STORE when dealing with intsets, regression test added.
</ChangeLog>
Also update port infrastructure, remove needless script.
<ChangeLog>
What's new in Redis 2.2.7
=========================
* Fixed bug #543-2 (the issue was reopened with a completely different report)
that caused Redis to randomly crash on list push performed against lists
with other clients blocked with BLPOP (or variants).
What's new in Redis 2.2.6
=========================
* Fixed bug #543. If you saw Redis instances crashing on List operations
(only happening with a non-default max entry size ziplist setting in
redis.conf) it was almost certainly this problem.
* Fixed a bug with replication where SLAVEOF NO ONE caused a slave to close the
connection with all its slaves.
</ChangeLog>