- fix double-slicing with instances/values/values_list (like collection[:3][2])
- speed up (more than x1000, no kidding) of limpyd model creation time
- Add new index ScoredEqualIndex in limpyd.contrib.indexes (to index a field with a score)
- Add new index EqualIndexWith in limpyd.contrib.indexes (to index many fields at once, unique together or not)
- Lot of rework of collections and indexing internals
- Fix versions support in documentation
- Support for redis-py >= 3 only
- Support for redis-server >= 3 only
- Breaking change: zadd value/scores cannot be passed as positional arguments anymore
- Breaking change: zadd flags other than ch are explicitely not supported
- Breaking change: zincrby arguments are swaped (amount, value instead of value, amount)
- Breaking change: Redis server with LUA scripting support is mandatory
- Breaking change: set flags other than ex and px are explicitely not supported
- Breaking change: skip_exist_test to
Collection.instances()
is renamed to lazy - Breaking change: collections return generators instead of lists
- Breaking change: collections method (filter, values...) return a new collection instead of updating the current one
- Add decrby, incrby and bitpos to StringField
- Add expiring commands to all normal fields (not InstanceHashField and *PKField): expire, pexpire, expireat, pexpireat, ttl, pttl, persite. But *expire* commands can only be called on non-indexable fields
- Add setex and psetex to StringField. Can only be called on non-indexable fields.
- Deny ex and px flag to set if field is indexable
- Add support for count argument to spop (only for redis-server >= 3.2)
- Add new commands to ListField: lcontains, lrank and lcount, to know if a value is in the list, where, and how many times. This is done on the redis server side via lua scripting.
- Optimize deindexing when calling hmset or hdel
- Add hstrlen to HashField
- Add zlexcount, zrangebylex, zremrangebylex and zrevrangebylex to SortedSetField
- Add zpopmax and zpopmin SortedSetField (only for redis-server >= 5)
- When calling instances in a collection, the ones that may have raised a DoesNotExist exception are now skipped
- Resolve race condition in get_or_connect
- Official support for Python 3.7 and 3.8
- Remove support for Python 3.4
- Repair packaging
- BROKEN RELEASE, sorry
- Official support for redis-py 2.10.6
- Resolve two race conditions (
get
and more important,pipeline
) - Add scan methods for databases/models/instances/fields (sets, hsets, zsets)
- Add sort methods for sets, lists, zsets
- BROKEN RELEASE, sorry
- Official support for PyPy & PyPy3
- BROKEN RELEASE, sorry
- Add real indexing capabilities
- Correct/enhance slicing
- Remove support for python 3.3 (keeps 2.7 and 3.4 to 3.6)
- Locally solve a locking bug in redis-py
- Compatibility with Redis-py 2.10
- Compatibility with pip 6+
- Stop using dev version of "future"
- Adding support for python 3.3 and 3.4
- Add the missing 'hdel' command to the RedisModel class
- Add the missing 'delete' command to the HashField field
- Include only the "limpyd" package in setup.py (skip the tests)
- First public version