Announcing Hiredis v1.0.0, which adds support for RESP3, SSL connections, allocator injection, and better Windows support! :tada:
A big thanks to everyone who helped with this release. The following list includes everyone who contributed at least five lines, sorted by lines contributed. :sparkling_heart:
Michael Grunder, Yossi Gottlieb, Mark Nunberg, Marcus Geelnard, Justin Brewer, Valentino Geron, Minun Dragonation, Omri Steiner, Sangmoon Yi, Jinjiazh, Odin Hultgren Van Der Horst, Muhammad Zahalqa, Nick Rivera, Qi Yang, kevin1018
BREAKING CHANGES:
redisOptions
now has two timeout fields. One for connecting, and one for commands. If you're presently using options->timeout
you will need to change it to use options->connect_timeout
. (See example)
Bulk and multi-bulk lengths less than -1 or greater than LLONG_MAX
are now protocol errors. This is consistent
with the RESP specification. On 32-bit platforms, the upper bound is lowered to SIZE_MAX
.
redisReplyObjectFunctions.createArray
now takes size_t
for its length parameter.
New features:
redisContext
that users can use for context.
#855
(Michael Grunder)Closed issues (that involved code changes):
sdsrange
#827Merged pull requests:
* This Changelog was automatically generated by github_changelog_generator
Note: There were no changes to code between v1.0.0-rc1 and v1.0.0 so see v1.0.0 for changelog
BREAKING CHANGES:
redisReply.len
to size_t
, as it denotes the the size of a stringUser code should compare this to size_t
values as well.
If it was used to compare to other values, casting might be necessary or can be removed, if casting was applied before.
__redisAsyncCommand
(Frederik Deweerdt [706129])__redisSetErrorFromErrno()
as snprintf may use it (Jin Qing [25cd88])Bulk and multi-bulk lengths less than -1 or greater than LLONG_MAX
are now
protocol errors. This is consistent with the RESP specification. On 32-bit
platforms, the upper bound is lowered to SIZE_MAX
.
Remove backwards compatibility macro's
This removes the following old function aliases, use the new name now:
Old | New |
---|---|
redisReplyReaderCreate | redisReaderCreate |
redisReplyReaderCreate | redisReaderCreate |
redisReplyReaderFree | redisReaderFree |
redisReplyReaderFeed | redisReaderFeed |
redisReplyReaderGetReply | redisReaderGetReply |
redisReplyReaderSetPrivdata | redisReaderSetPrivdata |
redisReplyReaderGetObject | redisReaderGetObject |
redisReplyReaderGetError | redisReaderGetError |
DEBUG
variable in the Makefile was renamed to DEBUG_FLAGS
Previously it broke some builds for people that had DEBUG
set to some arbitrary value,
due to debugging other software.
By renaming we avoid unintentional name clashes.
Simply rename DEBUG
to DEBUG_FLAGS
in your environment to make it working again.
REDIS_CONNECTED
flag when connection is closed".If the REDIS_CONNECTED
flag is cleared,
the async onDisconnect callback function will never be called.
This causes problems as the disconnect is never reported back to the user.
REDIS_CONNECTED
flag when connection is closed (Thanks, Jerry Jacobs)All adapters are provided as is and are only tested where possible.
This is a bug fix release.
The new reconnect
method introduced new struct members, which clashed with pre-defined names in pre-C99 code.
Another commit forced C99 compilation just to make it work, but of course this is not desirable for outside projects.
Other non-C99 code can now use hiredis as usual again.
Sorry for the inconvenience.
This release adds a minimal Windows compatibility layer. The parser, standalone since v0.12.0, can now be compiled on Windows (and thus used in other client libraries as well)
redisContext
(Aaron Bedra)make install
: DESTDIR support, install all required files, install PKGCONF in proper locationmake test
as 32 bit build on 64 bit platformAdd optional KeepAlive support
Try again on EINTR errors
Add libuv adapter
Add IPv6 support
Remove possibility of multiple close on same fd
Add ability to bind source address on connect
Add redisConnectFd() and redisFreeKeepFd()
Fix getaddrinfo() memory leak
Free string if it is unused (fixes memory leak)
Improve redisAppendCommandArgv performance 2.5x
Add support for SO_REUSEADDR
Fix redisvFormatCommand format parsing
Add GLib 2.0 adapter
Refactor reading code into read.c
Fix errno error buffers to not clobber errors
Generate pkgconf during build
Silence _BSD_SOURCE warnings
Improve digit counting for multibulk creation
Increase the maximum multi-bulk reply depth to 7.
Increase the read buffer size from 2k to 16k.
Use poll(2) instead of select(2) to support large fds (>= 1024).
Makefile overhaul. Important to check out if you override one or more variables using environment variables or via arguments to the "make" tool.
Issue #45: Fix potential memory leak for a multi bulk reply with 0 elements being created by the default reply object functions.
Issue #43: Don't crash in an asynchronous context when Redis returns an error reply after the connection has been made (this happens when the maximum number of connections is reached).