Skip to content


Subversion checkout URL

You can clone with
Download ZIP
100644 161 lines (160 sloc) 9.684 kB
3265af8 changelog update
andy authored
1 * 2.4.10 (in development)
2 * Renamed the base client class to StrictRedis, replacing ZADD and LREM in
3 favor of their official argument order. The Redis class is now a subclass
4 of StrictRedis, implementing the legacy redis-py implementations of ZADD
5 and LREM. Docs have been updated to suggesting the use of StrictRedis.
4dc130c @andymccurdy StrictRedis gets it's own Pipeline class. Fix for #174.
andymccurdy authored
6 * SETEX in StrictRedis is now compliant with official Redis SETEX command.
7 the name, value, time implementation moved to "Redis" for backwards
8 compatability.
e74ebdf 2.4.9
andy authored
9 * 2.4.9
dbd2217 Removed socket retry logic in Connection. This is the responsbility o…
andy authored
10 * Removed socket retry logic in Connection. This is the responsbility of
11 the caller to determine if the command is safe and can be retried. Thanks
12 David Wolver.
e74ebdf 2.4.9
andy authored
13 * Added some extra guards around various types of exceptions being raised
14 when sending or parsing data. Thanks David Wolver and Denis Bilenko.
907555c 2.4.8
andy authored
15 * 2.4.8
16 * Imported with_statement from __future__ for Python 2.5 compatability.
a55f645 version bump for 2.4.7
andy authored
17 * 2.4.7
2e18568 Pipelines can now be used as Context Managers. Thanks David Wolever. …
andy authored
18 * Fixed a bug where some connections were not getting released back to the
19 connection pool after pipeline execution.
20 * Pipelines can now be used as context managers. This is the preferred way
21 of use to ensure that connections get cleaned up properly. Thanks
22 David Wolever.
4c750ee Added a `transaction` convenience method that eliminates boilerplate …
andy authored
23 * Added a convenience method called transaction() on the base Redis class.
24 This method eliminates much of the boilerplate used when using pipelines
25 to watch Redis keys. See the documentation for details on usage.
89da553 version bump to 2.4.6
andy authored
26 * 2.4.6
61f630f @andymccurdy updated changelog
andymccurdy authored
27 * Variadic arguments for SADD, SREM, ZREN, HDEL, LPUSH, and RPUSH. Thanks
28 Raphaël Vinot.
89da553 version bump to 2.4.6
andy authored
29 * (CRITICAL) Fixed an error in the Hiredis parser that occasionally caused
30 the socket connection to become corrupted and unusable. This became
31 noticeable once connection pools started to be used.
be1e749 @andymccurdy remove PUBLISH from the PubSub object. Can't PUBLISH from any connect…
andymccurdy authored
33 additional optional argument, score_cast_func, which is a callable used
34 to cast the score value in the return type. The default is float.
35 * Removed the PUBLISH method from the PubSub class. Connections that are
0697b79 typo in changelog
andy authored
36 [P]SUBSCRIBEd cannot issue PUBLISH commands, so it doesn't make sense
37 to have it here.
53c928d @andymccurdy WATCH and UNWATCH have been broken since 2.4 because of connection po…
andymccurdy authored
38 * Pipelines now contain WATCH and UNWATCH. Calling WATCH or UNWATCH from
89da553 version bump to 2.4.6
andy authored
39 the base client class will result in a deprecation warning. After
40 WATCHing one or more keys, the pipeline will be placed in immediate
41 execution mode until UNWATCH or MULTI are called. Refer to the new
1f17b75 credit to Randall Leeds and David Wolever
andy authored
42 pipeline docs in the README for more information. Thanks to David Wolever
43 and Randall Leeds for greatly helping with this.
5c3a5eb @andymccurdy version bump 2.4.5
andymccurdy authored
44 * 2.4.5
45 * The PythonParser now works better when reading zero length strings.
1d0d7bd @andymccurdy fix a typo introduced in last commit. thanks Ask Solem for finding.
andymccurdy authored
46 * 2.4.4
5c3a5eb @andymccurdy version bump 2.4.5
andymccurdy authored
47 * Fixed a typo introduced in 2.4.3
146db39 @andymccurdy fix UnixDomainSocketConnection to report error messages based on it's…
andymccurdy authored
48 * 2.4.3
49 * Fixed a bug in the UnixDomainSocketConnection caused when trying to
50 form an error message after a socket error.
51 * 2.4.2
52 * Fixed a bug in pipeline that caused an exception while trying to
53 reconnect after a connection timeout.
bd2663c @andymccurdy version bump
andymccurdy authored
54 * 2.4.1
6c37ccf @andymccurdy changelog
andymccurdy authored
55 * Fixed a bug in the PythonParser if disconnect is called before connect.
da1a4e9 @andymccurdy 2.4.0 is out!
andymccurdy authored
56 * 2.4.0
e781152 @andymccurdy updated changelog for 2.4
andymccurdy authored
57 * WARNING: 2.4 contains several backwards incompatible changes.
58 * Completely refactored Connection objects. Moved much of the Redis
59 protocol packing for requests here, and eliminated the nasty dependencies
60 it had on the client to do AUTH and SELECT commands on connect.
61 * Connection objects now have a parser attribute. Parsers are responsible
62 for reading data Redis sends. Two parsers ship with redis-py: a
63 PythonParser and the HiRedis parser. redis-py will automatically use the
64 HiRedis parser if you have the Python hiredis module installed, otherwise
65 it will fall back to the PythonParser. You can force or the other, or even
66 an external one by passing the `parser_class` argument to ConnectionPool.
67 * Added a UnixDomainSocketConnection for users wanting to talk to the Redis
68 instance running on a local machine only. You can use this connection
69 by passing it to the `connection_class` argument of the ConnectionPool.
70 * Connections no longer derive from threading.local. See threading.local
71 note below.
72 * ConnectionPool has been comletely refactored. The ConnectionPool now
73 maintains a list of connections. The redis-py client only hangs on to
74 a ConnectionPool instance, calling get_connection() anytime it needs to
75 send a command. When get_connection() is called, the command name and
76 any keys involved in the command are passed as arguments. Subclasses of
77 ConnectionPool could use this information to identify the shard the keys
78 belong to and return a connection to it. ConnectionPool also implements
79 disconnect() to force all connections in the pool to disconnect from
80 the Redis server.
e2b6a80 @andymccurdy remove the SELECT command completely. use a separate client instance …
andymccurdy authored
81 * redis-py no longer support the SELECT command. You can still connect to
82 a specific database by specifing it when instantiating a client instance
83 or by creating a connection pool. If you need to talk to multiplate
84 databases within your application, you should use a separate client
85 instance for each database you want to talk to.
e781152 @andymccurdy updated changelog for 2.4
andymccurdy authored
86 * Completely refactored Publish/Subscribe support. The subscribe and listen
87 commands are no longer available on the redis-py Client class. Instead,
88 the `pubsub` method returns an instance of the PubSub class which contains
89 all publish/subscribe support. Note, you can still PUBLISH from the
90 redis-py client class if you desire.
91 * Removed support for all previously deprecated commands or options.
92 * redis-py no longer uses threading.local in any way. Since the Client
93 class no longer holds on to a connection, it's no longer needed. You can
94 now pass client instances between threads, and commands run on those
95 threads will retrieve an available connection from the pool, use it and
96 release it. It should now be trivial to use redis-py with eventlet or
97 greenlet.
eb31737 @andymccurdy updated changes
andymccurdy authored
98 * ZADD now accepts pairs of value=score keyword arguements. This should help
99 resolve the long standing #72. The older value and score arguements have
100 been deprecated in favor of the keyword argument style.
101 * Client instances now get their own copy of RESPONSE_CALLBACKS. The new
102 set_response_callback method adds a user defined callback to the instance.
2eb518a @andymccurdy added thank you for adam
andymccurdy authored
103 * Support Jython, fixing #97. Thanks to Adam Vandenberg for the patch.
bbf8cc5 @andymccurdy __getitem__ now raises a KeyError when a key doesn't exist
andymccurdy authored
104 * Using __getitem__ now properly raises a KeyError when the key is not
105 found. Thanks Ionuț Arțăriși for the patch.
b91169c @andymccurdy credit to Benjamin Anderson.
andymccurdy authored
106 * Newer Redis versions return a LOADING message for some commands while
107 the database is loading from disk during server start. This could cause
108 problems with SELECT. We now force a socket disconnection prior to
109 raising a ResponseError so subsuquent connections have to reconnect and
110 re-select the appropriate database. Thanks to Benjamin Anderson for
111 finding this and fixing.
368cccd @andymccurdy version bump
andymccurdy authored
112 * 2.2.4
e0478f9 @andymccurdy changelog
andymccurdy authored
113 * WARNING: Potential backwards incompatible change - Changed order of
114 parameters of ZREVRANGEBYSCORE to match those of the actual Redis command.
115 This is only backwards-incompatible if you were passing max and min via
116 keyword args. If passing by normal args, nothing in user code should have
117 to change. Thanks Stéphane Angel for the fix.
118 * Fixed INFO to properly parse the Redis data correctly for both 2.2.x and
119 2.3+. Thanks Stéphane Angel for the fix.
7504460 @andymccurdy changelog about Locks
andymccurdy authored
120 * Lock objects now store their timeout value as a float. This allows floats
121 to be used as timeout values. No changes to existing code required.
636d242 @andymccurdy more changes
andymccurdy authored
122 * WATCH now supports multiple keys. Thanks Rich Schumacher.
459b5a1 @andymccurdy notes about python 2.4 compatibility changes
andymccurdy authored
123 * Broke out some code that was Python 2.4 incompatible. redis-py should
124 now be useable on 2.4, but this hasn't actually been tested. Thanks
125 Dan Colish for the patch.
4d344ff @andymccurdy changelog
andymccurdy authored
126 * Optimized some code using izip and islice. Should have a pretty good
127 speed up on larger data sets. Thanks Dan Colish.
64b8e04 @andymccurdy HMSET changelog notice
andymccurdy authored
128 * Better error handling when submitting an empty mapping to HMSET. Thanks
129 Dan Colish.
13850b1 @andymccurdy i keep forgeting to write the changelog with the change =(
andymccurdy authored
130 * Subscription status is now reset after every (re)connection.
0eaa1a5 @andymccurdy version bump and changelog notes
andymccurdy authored
131 * 2.2.3
e0478f9 @andymccurdy changelog
andymccurdy authored
132 * Added support for Hiredis. To use, simply "pip install hiredis" or
0eaa1a5 @andymccurdy version bump and changelog notes
andymccurdy authored
133 "easy_install hiredis". Thanks for Pieter Noordhuis for the hiredis-py
134 bindings and the patch to redis-py.
56a5fc7 @andymccurdy typos!
andymccurdy authored
135 * The connection class is chosen based on whether hiredis is installed
6c0b35c @andymccurdy allow the user to choose a connection class via the ConnectionPool
andymccurdy authored
136 or not. To force the use of the PythonConnection, simply create
137 your own ConnectionPool instance with the connection_class argument
138 assigned to to PythonConnection class.
657a0aa @andymccurdy changelog update about zrevrangebyscore
andymccurdy authored
139 * Added missing command ZREVRANGEBYSCORE. Thanks Jay Baird for the patch.
89705f3 @andymccurdy changelog note about INFO
andymccurdy authored
140 * The INFO command should be parsed correctly on 2.2.x server versions
141 and is backwards compatible with older versions. Thanks Brett Hoerner.
5f99011 @andymccurdy fixes #76 where ZREVRANK was using the wrong response callback
andymccurdy authored
142 * 2.2.2
143 * Fixed a bug in ZREVRANK where retriving the rank of a value not in
144 the zset would raise an error.
7112f5b @andymccurdy reverting download_url back to redis-VERSION.tar.gz to fix #94. This …
andymccurdy authored
145 * Fixed a bug in Connection.send where the errno import was getting
146 overwritten by a local variable.
147 * Fixed a bug in SLAVEOF when promoting an existing slave to a master.
148 * Reverted change of download URL back to redis-VERSION.tar.gz. 2.2.1's
149 change of this actually broke Pypi for Pip installs. Sorry!
f8d44ef @andymccurdy updating setuptools to look for redis-py-VERSION.tar.gz
andymccurdy authored
150 * 2.2.1
151 * Changed archive name to redis-py-VERSION.tar.gz to not conflict
152 with the Redis server archive.
a358123 @andymccurdy Client now compatible with 2.2.0 commands. (SLAVEOF, CONFIG GET, CONF…
andymccurdy authored
153 * 2.2.0
154 * Implemented SLAVEOF
155 * Implemented CONFIG as config_get and config_set
156 * Implemented GETBIT/SETBIT
157 * Implemented BRPOPLPUSH
158 * Implemented STRLEN
159 * Implemented PERSIST
160 * Implemented SETRANGE
Something went wrong with that request. Please try again.