Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update channels-redis to 4.0.0 #1040

Closed
wants to merge 1 commit into from

Conversation

pyup-bot
Copy link
Collaborator

@pyup-bot pyup-bot commented Oct 7, 2022

This PR updates channels-redis from 2.4.0 to 4.0.0.

Changelog

4.0.0

------------------

Version 4.0.0 migrates the underlying Redis library from ``aioredis`` to ``redis-py``.
(``aioredis`` was retired and moved into ``redis-py``, which will host the ongoing development.)

The API is unchanged. Version 4.0.0 should be compatible with existing Channels 3 projects, as well as Channels 4
projects.

* Migrated from ``aioredis`` to ``redis-py``.

* 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

@pyup-bot
Copy link
Collaborator Author

Closing this in favor of #1120

@pyup-bot pyup-bot closed this Mar 28, 2023
@samzer samzer deleted the pyup-update-channels-redis-2.4.0-to-4.0.0 branch March 28, 2023 18:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant