redis-collections is currently at version 0.4.2.
A 1.0 release is planned. Before that happens:
- Releases with significant new features or breaking changes will be tagged as 0.5.x, 0.6.x, etc.
- Bug fix releases will be tagged as 0.4.x
After 1.0 is released:
- Releases with breaking changes will be tagged as 2.0.0, 3.0.0, etc.
- Releases with new features will be tagged as 1.1.0, 1.2.0, etc.
- Bug fix releases will be tagged as 1.0.1, 1.0.2, etc.
Nothing should have broken from 0.3.x to 0.4.x.
0.3.0 introduced some breaking changes:
Counteroperator methods now return Python objects instead of creating new Redis collections at randomly-generated keys.
For example, previously
List([0, 1, 2])[:1]would create a new
Listand store its items in Redis - now it returns a Python
copy(all collections) and
Dict) that allow you to specify a Redis key as a keyword argument will still create new Redis Collections.
List.getmethod was removed, as the standard
List.__getitem__method is no longer particularly inefficient.
Setnow treat numeric types (
Decimal) differently. Previously it was possible to store, e.g., both
Dictkeys, which is not possible with the Python equivalents.
Similarly, when using Python 2,
strtypes differently. It’s no longer possible to store, e.g. both
b'a'in the same collection, and the behavior now matches the Python 2 equivalents.
See PR #60 for details.
- Fixed support for using a Redis server listening on a Unix domain socket instead of a network socket.
Dict(and its subclassess),
SortedSetCounter. See PR #97 for details.
- Collections no longer query Redis at instantiation - thanks @ArminGruner.
0.4.0 introduced several new collections:
LRUDictis a dict-like collection that holds a limited number of items locally, pushing least-recently used items to a Redis Hash.
SyncableSet, and others are collections that hold items locally (which speeds up operations), but can sync them with Redis (which provides persistence).
SortedSetCounteris a Pythonic interface to the Redis Sorted Set structure. It behaves a bit like a Counter, but its values are restricted to floating point numbers.
See the API Documentation for more details.
- The non-standard
Set.random_samplemethod now works for Redis servers running Redis < 2.6.0. See PR #80 for details.