<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/redis-py.git, branch v3-breaking-changes</title>
<subtitle>github.com: andymccurdy/redis-py.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/redis-py.git/'/>
<entry>
<title>raise a LockError when the context manager fails to acquire a lock</title>
<updated>2018-11-15T01:53:01+00:00</updated>
<author>
<name>Andy McCurdy</name>
<email>andy@andymccurdy.com</email>
</author>
<published>2018-11-15T01:53:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/redis-py.git/commit/?id=c99d2b98ff928a0709ee0453b60002e3e1254674'/>
<id>c99d2b98ff928a0709ee0453b60002e3e1254674</id>
<content type='text'>
Fixes #621
Fixes #927
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes #621
Fixes #927
</pre>
</div>
</content>
</entry>
<entry>
<title>only support LuaLock going forward</title>
<updated>2018-11-15T00:41:42+00:00</updated>
<author>
<name>Andy McCurdy</name>
<email>andy@andymccurdy.com</email>
</author>
<published>2018-11-15T00:37:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/redis-py.git/commit/?id=255f01036f6a8d10b4369eca9e491d13d3c3788a'/>
<id>255f01036f6a8d10b4369eca9e491d13d3c3788a</id>
<content type='text'>
Everyone is using Redis 2.6 or greater, right? The Lua lock implementation
is so much nicer and less buggy.

Fixes #1031
Fixes #902
Fixes #793
Fixes #610
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Everyone is using Redis 2.6 or greater, right? The Lua lock implementation
is so much nicer and less buggy.

Fixes #1031
Fixes #902
Fixes #793
Fixes #610
</pre>
</div>
</content>
</entry>
<entry>
<title>all commands should be able to accept bytes or strings for key names</title>
<updated>2018-11-15T00:16:01+00:00</updated>
<author>
<name>Andy McCurdy</name>
<email>andy@andymccurdy.com</email>
</author>
<published>2018-11-15T00:16:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/redis-py.git/commit/?id=4e7f988088255a1599e8cc5174ff952898b73c7e'/>
<id>4e7f988088255a1599e8cc5174ff952898b73c7e</id>
<content type='text'>
fixes #965
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
fixes #965
</pre>
</div>
</content>
</entry>
<entry>
<title>list_or_args should always create a new list</title>
<updated>2018-11-15T00:13:03+00:00</updated>
<author>
<name>Andy McCurdy</name>
<email>andy@andymccurdy.com</email>
</author>
<published>2018-11-15T00:13:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/redis-py.git/commit/?id=22fa36e8709df183bc2c6d70d4a32af477359074'/>
<id>22fa36e8709df183bc2c6d70d4a32af477359074</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>use str() to encode int or long values</title>
<updated>2018-11-14T23:42:28+00:00</updated>
<author>
<name>Andy McCurdy</name>
<email>andy@andymccurdy.com</email>
</author>
<published>2018-11-14T23:42:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/redis-py.git/commit/?id=9c446d5cb1308d5e17204a04de6be3364aeab4eb'/>
<id>9c446d5cb1308d5e17204a04de6be3364aeab4eb</id>
<content type='text'>
on python2.7, repr() on a long produces '123L', which is clearly not what
we want
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
on python2.7, repr() on a long produces '123L', which is clearly not what
we want
</pre>
</div>
</content>
</entry>
<entry>
<title>raise DataError instead of RedisError for user input problems</title>
<updated>2018-11-14T23:17:30+00:00</updated>
<author>
<name>Andy McCurdy</name>
<email>andy@andymccurdy.com</email>
</author>
<published>2018-11-14T23:17:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/redis-py.git/commit/?id=46c1021f32e4081e847c85f5582916eb65166ac0'/>
<id>46c1021f32e4081e847c85f5582916eb65166ac0</id>
<content type='text'>
This should be backwards compatible since DataError is a subclass of
RedisError.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This should be backwards compatible since DataError is a subclass of
RedisError.
</pre>
</div>
</content>
</entry>
<entry>
<title>only accept bytes, strings, ints, longs and floats as user input</title>
<updated>2018-11-14T22:53:40+00:00</updated>
<author>
<name>Andy McCurdy</name>
<email>andy@andymccurdy.com</email>
</author>
<published>2018-11-14T22:53:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/redis-py.git/commit/?id=40025ae073f7b376b496a54491fbb30d964dcb24'/>
<id>40025ae073f7b376b496a54491fbb30d964dcb24</id>
<content type='text'>
All input sent to Redis is coerced into bytes. This includes key names and
values. Prior to this change, redis-py made an effort to cooerce all input
into strings by calling str() (Python 3) or unicode() (Python 2). While this
works for a handful of types like ints, longs and floats, it fails for other
types like bools ('True' or 'False'), None ('None') and many user defined
types.

Starting with redis-py version 3.0, sending input of any other type is
considered an error an a DataError exception will be raised.

Fixes #471
Fixes #472
Fixes #321
Fixes #190
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
All input sent to Redis is coerced into bytes. This includes key names and
values. Prior to this change, redis-py made an effort to cooerce all input
into strings by calling str() (Python 3) or unicode() (Python 2). While this
works for a handful of types like ints, longs and floats, it fails for other
types like bools ('True' or 'False'), None ('None') and many user defined
types.

Starting with redis-py version 3.0, sending input of any other type is
considered an error an a DataError exception will be raised.

Fixes #471
Fixes #472
Fixes #321
Fixes #190
</pre>
</div>
</content>
</entry>
<entry>
<title>fix order of zincrby args to match redis server</title>
<updated>2018-11-14T20:29:14+00:00</updated>
<author>
<name>Andy McCurdy</name>
<email>andy@andymccurdy.com</email>
</author>
<published>2018-11-14T20:29:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/redis-py.git/commit/?id=a750c7946d41862a38955c35b6928f098911c406'/>
<id>a750c7946d41862a38955c35b6928f098911c406</id>
<content type='text'>
fixes #571
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
fixes #571
</pre>
</div>
</content>
</entry>
<entry>
<title>remove legacy Redis class</title>
<updated>2018-11-14T00:44:36+00:00</updated>
<author>
<name>Andy McCurdy</name>
<email>andy@andymccurdy.com</email>
</author>
<published>2018-11-14T00:44:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/redis-py.git/commit/?id=36a84fc9ac4e06a9b85ccc4e4eda426b387c7093'/>
<id>36a84fc9ac4e06a9b85ccc4e4eda426b387c7093</id>
<content type='text'>
redis-py maintained backwards compatibility by keeping the old "Redis"
class around for quite some time. While no doubt a convenience for folks
who relied on it, the presence of both Redis and StrictRedis causes
a number of support issues and general confusion. With 3.0, we're
breaking a few things to make redis-py better going forward.

This change removes the old Redis class. We also renamed the StrictRedis
class to Redis and aliased StrictRedis to Redis. For people that have
been using StrictRedis, this should not change anything. You can continue
doing things as you are.

People still using the legacy Redis class will need to update the argument
order for the SETEX, LREM and ZADD commands. Additionally, the return values
for TTL and PTTL now return the integer values -1 when a key exists but
has no expire time and -2 when a key does not exist. Previously these
cases returned a None value in the Redis class.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
redis-py maintained backwards compatibility by keeping the old "Redis"
class around for quite some time. While no doubt a convenience for folks
who relied on it, the presence of both Redis and StrictRedis causes
a number of support issues and general confusion. With 3.0, we're
breaking a few things to make redis-py better going forward.

This change removes the old Redis class. We also renamed the StrictRedis
class to Redis and aliased StrictRedis to Redis. For people that have
been using StrictRedis, this should not change anything. You can continue
doing things as you are.

People still using the legacy Redis class will need to update the argument
order for the SETEX, LREM and ZADD commands. Additionally, the return values
for TTL and PTTL now return the integer values -1 when a key exists but
has no expire time and -2 when a key does not exist. Previously these
cases returned a None value in the Redis class.
</pre>
</div>
</content>
</entry>
<entry>
<title>force mapping to be a single dict object on MSET, MSETNX and ZADD</title>
<updated>2018-11-13T23:31:18+00:00</updated>
<author>
<name>Andy McCurdy</name>
<email>andy@andymccurdy.com</email>
</author>
<published>2018-11-13T23:31:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/redis-py.git/commit/?id=90a52dd5de111f0053bb3ebaa7c78f73a82a1e3e'/>
<id>90a52dd5de111f0053bb3ebaa7c78f73a82a1e3e</id>
<content type='text'>
Previously MSET, MSETNX and ZADD accepted multiple ways to specify the
mapping of keys to values including via **kwargs. This turned out to be
a poor choice. As Redis evolved and added additional options to the ZADD
command, these options couldn't be specified in redis-py without possible
element name conflictd. This fixes that going forward and makes the commands
simpler.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously MSET, MSETNX and ZADD accepted multiple ways to specify the
mapping of keys to values including via **kwargs. This turned out to be
a poor choice. As Redis evolved and added additional options to the ZADD
command, these options couldn't be specified in redis-py without possible
element name conflictd. This fixes that going forward and makes the commands
simpler.
</pre>
</div>
</content>
</entry>
</feed>
