forked from redis/redis-py
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES
58 lines (57 loc) · 3.54 KB
/
CHANGES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
* 1.3.6
* Implementation of all Hash commands
* Pipelines now wrap their execution with MULTI and EXEC commands to
process all commands atomically.
* Connections can now set timeout. If command execution exceeds the
timeout, an exception is raised.
* Numerous bug fixes and more tests.
* 1.3.4
* Skipped version numbers ahead so that the client version matches the
Redis version it is feature-compatible with. Going forward, the client
will stay in sync with Redis version numbers when client updates are
made.
* Completely refactored the client library. It's now trivial to maintain
and add new commands. The library is also much more consistent.
* With the exception of "Response value type inference" (see below), the
client should be backwards compatible with 0.6.1. Some older, less
consistent methods will emit DeprecationWarnings, indicating that you
should use another command or option, but these should continue to
work as expected for the next few releases.
* WARNING: BACKWARDS INCOMPATIBLE CHANGE: "Response value type inference"
Previously, all values returned from Redis went through a decoding
process. In this process, if the response was numeric, it would be
automatically converted to an int or float type prior to being returned.
Otherwise the response would be decoded as a unicode string. This meant
that storing the string "123" would actually return an integer 123, and
that the string "foo" would be returned as the unicode object u"foo".
This fundamentally breaks the retrieval of binary data (byte strings) and
values that might accidentally look like a number (a hash value). After
discussing this in detail with a number of users and on the Redis mailing
list (http://groups.google.com/group/redis-db/browse_thread/thread/9888eb9ff383c90c/ec44fe80b6400f7b#ec44fe80b6400f7b)
*ALL* values returned from methods such as get() now return raw
Python strings. It is now your responsibility to convert that data to
whatever datatype you need. Other methods that *always* return integer
or float values, such as INCR, DECR, LLEN, ZSCORE, etc., will continue
returning values of the appropriate type. This resolves issue #2, #8
and #11:
http://github.com/andymccurdy/redis-py/issues#issue/2
http://github.com/andymccurdy/redis-py/issues#issue/8
http://github.com/andymccurdy/redis-py/issues#issue/11
* The "select" method now takes a "host" and "port" argument in addition
to the database. Behind the scenes, select() swaps out the underlying
socket connection. This resolves issue #4:
http://github.com/andymccurdy/redis-py/issues#issue/4
* The client now supports pipelining of Redis commands. Use the pipeline()
method to create a new Pipeline object. Each command called on the
pipeline object will be buffered until the pipeline if executed.
A list of each command's results will be returned by execution. Use
this for batch processing in order to eliminate multiple request/response
cycles.
* 0.6.1
* Added support for ZINCRBY via the `zincr` command
* Swapped score and member parameters to zadd to make it more similar to other commands.
* Added support for Python 2.4 (thanks David Moss)
* 0.6.0 Changed to Andy McCurdy's codebase on github
* 0.5.5 Patch from David Moss, SHUTDOWN and doctest bugfix
* 0.5.1-4 Bugfixes, no code changes, just packaging, 10/2/09
* 0.5 Initial release, redis.py version 1.0.1, 10/2/09