Age | Commit message (Collapse) | Author |
|
Stack allocate dict iterators
|
|
Unless the callback is pushed to the list it will trigger an assert
in redisProcessCallbacks() when the response arrives.
This change let the user get an early error instead,
available in the async context directly.
|
|
Replacing the get & release functions with an initiation
function. Simplifies the code and will make sure we
run subscription callbacks in OOM scenarios.
|
|
|
|
|
|
|
|
Free SSL object when redisSSLConnect fails
|
|
|
|
Updating SSL connection example in README
|
|
|
|
Add support for Wincert CA store in Windows
|
|
|
|
Enable position-independent code, and add PDB files to packages for MSVC builds
|
|
Fix handling of NIL invalidation messages.
|
|
When CLIENT TRACKING is enabled, Redis will send an invalidation message
with a NIL payload to all tracking clients after a FLUSHDB is executed.
We didn't account for REDIS_REPLY_PUSH being a valid parent object to a
NIL payload, and were failing an assertion.
Additionally this commit adds a regression test for the logic.
|
|
clean a warning, remvoe empty else block
|
|
|
|
docs: Fix simple typo, termined -> terminated
|
|
There is a small typo in sds.c.
Should read `terminated` rather than `termined`.
|
|
|
|
|
|
builds (Release, RelWithDebInfo, etc)
|
|
|
|
|
|
|
|
|
|
|
|
Explicitly set c99 in CMake
|
|
See #869
|
|
Fix sockaddr typo
|
|
Fixes #867
|
|
See: #862
|
|
Release of v1.0.0
Hiredis v1.0.0 marks the first stable release of Hiredis and introduces
RESP3 support, SSL connections, allocator injection, better Windows support,
and more.
IMPORTANT: There are breaking changes in this release meaning your code
will need to be recompiled and may need small changes. The exact
details of the breaking changes can be found in README.md.
CHANGELOG.md has a detailed list of changes between v0.14.1 and v1.0.0.
~~~
Thank you to everyone who contriubuted to the project by submitting PRs,
reporting bugs, or helping answer people's questions.
And a special thank you to the following people who contributed at least
five lines of code to this release (sorted by lines contributed) \o/
Michael Grunder, Yossi Gottlieb, Mark Nunberg, Marcus Geelnard, Justin Brewer,
Minun Dragonation, Omri Steiner, Sangmoon Yi, Jinjiazh, Odin Hultgren Van Der Horst,
Nick Rivera, Qi Yang, kevin1018
|
|
|
|
Addresses #642
|
|
Avoids issues like #860
|
|
|
|
|
|
|
|
|
|
We need to allow our users to use redisContext->privdata as context
for any RESP3 PUSH messages, which means we can't use it for managing
SSL connections.
Bulletpoints:
* Create a secondary redisContext member for internal use only called
privctx and rename the redisContextFuncs->free_privdata accordingly.
* Adds a `free_privdata` function pointer so the user can tie allocated
memory to the lifetime of a redisContext (like they can already do
with redisAsyncContext)
* Enables SSL tests in .travis.yml
|
|
Small change to the logic introduced in #839
|
|
Add an additional timeout so the user has a convenient way of controlling distinct connect and command timeouts
|
|
|
|
Static analyzer's can't tell that hi_calloc is calloc-like, and report a
potential null pointer dereference. This isn't possible but it's
probably smarter to make the test anyway in the event code changes.
|
|
See #848
|
|
|
|
|
|
Proper support for RESP3 PUSH messages.
By default, PUSH messages are now intercepted and the reply memory freed.
This means existing code should work unchanged when connecting to Redis
>= 6.0.0 even if `CLIENT TRACKING` were then enabled.
Additionally, we define two callbacks users can configure if they wish to handle
these messages in a custom way:
void redisPushFn(void *privdata, void *reply);
void redisAsyncPushFn(redisAsyncContext *ac, void *reply);
See #825
|
|
* Don't try to ignore SIGPIPE in Windows (it doesn't exist).
* Add an include to our win32.h compatibility header.
* Enable building examples on Travis in Windows.
See #831
|