Skip to content

Conversation

@pyup-bot
Copy link
Collaborator

This PR updates channels-redis from 2.4.0 to 4.1.0.

Changelog

4.1.0

------------------ * Adjusted the way Redis connections are handled: * Connection handling is now shared between the two, core and pub-sub, layers. * Both layers now ensure that connections are closed when an event loop shuts down. In particular, redis-py 4.x requires that connections are manually closed. In 4.0 that wasn't done by the core layer, which led to warnings for people using `async_to_sync()`, without closing connections when updating from 3.x. * Updated the minimum redis-py version to 4.5.3 because of a security release there. Note that this is not a security issue in channels-redis: installing an earlier version will still use the latest redis-py, but by bumping the dependency we make sure you'll get redis-py too, when you install the update here. 

4.0.0

projects. * Migrated from ``aioredis`` to ``redis-py``. Specifying hosts as tuples is no longer supported. If hosts are specified as dicts, only the ``address`` key will be taken into account, i.e. a `password`` must be specified inline in the address. * Added support for passing kwargs to sentinel connections. * Updated dependencies and obsolete code. 

3.4.1

------------------ * Fixed RuntimeError when checking for stale connections. 

3.4.0

------------------ * Dropped support for Python 3.6, which is now end-of-life, and added CI testing for Python 3.10. (301). * Added serialize and deserialize hooks to RedisPubSubChannelLayer (281). * Fixed iscoroutine check for pubsub proxied methods (297). * Fix workers support when using Redis PubSub layer (298) 

3.3.1

------------------ Two bugfixes for the PubSub channel layer: * Scoped the channel layer per-event loop, in case multiple loops are in play (262). * Ensured consistent hashing PubSub was maintained across processes, or process restarts (274). 

3.3.0

------------------ Two important new features: * You can now connect using `Redis Sentinel <https://redis.io/topics/sentinel>`. Thanks to qeternity. * There's a new ``RedisPubSubChannelLayer`` that uses Redis Pub/Sub to propagate messages, rather than managing channels and groups directly within the layer. For many use-cases this should be simpler, more robust, and more performant. Note though, the new ``RedisPubSubChannelLayer`` layer does not provide all the options of the existing layer, including ``expiry``, ``capacity``, and others. Please assess whether it's appropriate for your needs, particularly if you have an existing deployment. The ``RedisPubSubChannelLayer`` is currently marked as *Beta*. Please report any issues, and be prepared that there may be breaking changes whilst it matures. The ``RedisPubSubChannelLayer`` accepts ``on_disconnect`` and ``on_reconnect`` config options, providing callbacks to handle the relevant connection events to the Redis instance. Thanks to Ryan Henning acu192. For both features see the README for more details. 

3.2.0

------------------ * Adjusted dependency specifiers to allow updating to the latest versions of ``asgiref`` and Channels. 

3.1.0

------------------ * Ensured per-channel queues are bounded in size to avoid a slow memory leak if consumers stop reading. Queues are bound to the channel layer's configured ``capacity``. You may adjust this to a suitably high value if you were relying on the previously unbounded behaviour. 

3.0.1

------------------ * Fixed error in Lua script introduced in 3.0.0. 

3.0.0

------------------ * Redis >= 5.0 is now required. * Updated msgpack requirement to `~=1.0`. * Ensured channel names are unique using UUIDs. * Ensured messages are expired even when channel is in constant activity. * Optimized Redis script caching. * Reduced group_send failure logging level to reduce log noise. * Removed trailing `:` from default channel layer `prefix` to avoid double `::` in group keys. (You can restore the old default specifying `prefix="asgi:"` if necessary.) 

2.4.2

------------------ * Fixed a bug where ``ConnectionPool.pop()`` might return an invalid connection. * Added logging for a group_send over capacity failure. 

2.4.1

------------------ * Fixed compatibility with Python 3.8. 
Links
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants