forked from django/channels_redis
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCHANGELOG.txt
173 lines (109 loc) · 4.58 KB
/
CHANGELOG.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
2.1.1 (2018-03-21)
------------------
* Fixed bug where receiving messages would hang after a while or at high
concurrency levels.
* Fixed bug where the default host values were invalid.
2.1.0 (2018-02-21)
------------------
* Internals have been reworked to remove connection pooling and sharing. All
operations will now open a fresh Redis connection, but the backend will no
longer leak connections or Futures if used in multiple successive event loops
(e.g. via multiple calls to sync_to_async)
2.0.3 (2018-02-14)
------------------
* Don't allow connection pools from other event loops to be re-used (fixes
various RuntimeErrors seen previously)
* channel_capacity is compiled in the constructor and now works again
2.0.2 (2018-02-04)
------------------
* Capacity enforcement was off by one; it's now correct
* group_send no longer errors with the wrong ChannelFull exception
2.0.1 (2018-02-02)
------------------
* Dependency fix in packaging so asgiref is set to ~=2.1, not ~=2.0.0
2.0.0 (2018-02-01)
------------------
* Rewrite and rename to channels_redis to be based on asyncio and the
Channels 2 channel layer specification.
1.4.2 (2017-06-20)
------------------
* receive() no longer blocks indefinitely, just for a while.
* Built-in lua scripts have their SHA pre-set to avoid a guaranteed cache miss
on their first usage.
1.4.1 (2017-06-15)
------------------
* A keyspace leak has been fixed where message body keys were not deleted after
receive, and instead left to expire.
1.4.0 (2017-05-18)
------------------
* Sharded mode support is now more robust with send/receive deterministically
moving around the shard ring rather than picking random connections. This
means there is no longer a slight chance of messages being missed when there
are not significantly more readers on a channel than shards. Tests have
also been updated so they run fully on sharded mode thanks to this.
* Sentinel support has been considerably improved, with connection caching
(via sentinal_refresh_interval), and automatic service discovery.
* The Twisted backend now picks up the Redis password if one is configured.
1.3.0 (2017-04-07)
------------------
* Change format of connection arguments to be a single dict called
``connection_kwargs`` rather than individual options, as they change by
connection type. You will need to change your settings if you have any of
socket_connect_timeout, socket_timeout, socket_keepalive or
socket_keepalive_options set to move them into a ``connection_kwargs`` dict.
1.2.1 (2017-04-02)
------------------
* Error with sending to multi-process channels with the same message fixed
1.2.0 (2017-04-01)
------------------
* Process-specific channel behaviour changed to match new spec
* Redis Sentinel channel layer added
1.1.0 (2017-03-18)
------------------
* Support for the ASGI statistics extension
* Distribution of items over multiple servers using consistent hashing is improved
* Handles timeout exceptions in newer redis-py library versions correctly
* Support for configuring the socket_connect_timeout, socket_timeout, socket_keepalive and socket_keepalive_options
options that are passed to redis-py.
1.0.0 (2016-11-05)
------------------
* Renamed "receive_many" to "receive"
* Improved (more explicit) error handling for Redis errors/old versions
* Bad hosts (string not lost) configuration now errors explicitly
0.14.1 (2016-08-24)
-------------------
* Removed unused reverse channels-to-groups mapping keys as they were not
cleaned up proactively and quickly filled up databases.
0.14.0 (2016-07-16)
-------------------
* Implemented group_channels method.
0.13.0 (2016-06-09)
-------------------
* Added local-and-remote backend option (uses asgi_ipc)
0.12.0 (2016-05-25)
-------------------
* Added symmetric encryption for messages and at-rest data with key rotation.
0.11.0 (2016-05-07)
-------------------
* Implement backpressure with per-channel and default capacities.
0.10.0 (2016-03-27)
-------------------
* Group expiry code re-added and fixed.
0.9.1 (2016-03-23)
------------------
* Remove old group expiry code that was killing groups after 60 seconds.
0.9.0 (2016-03-21)
------------------
* Connections now pooled per backend shard
* Random portion of channel names now 12 characters
* Implements new ASGI single-response-channel pattern spec
0.8.3 (2016-02-28)
------------------
* Nonblocking receive_many now uses Lua script rather than for loop.
0.8.2 (2016-02-22)
------------------
* Nonblocking receive_many now works, but is inefficient
* Python 3 fixes
0.8.1 (2016-02-22)
------------------
* Fixed packaging issues