forked from informatikr/hedis
-
Notifications
You must be signed in to change notification settings - Fork 1
/
CHANGELOG
295 lines (169 loc) · 6.39 KB
/
CHANGELOG
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
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
# Changelog for Hedis
## 0.16
- PR #176. Exposed RedisArg type class so it's possible to (de)serialize application data structures.
- PR #182. Add MonadTrans instance for MonadRedis.
- PR #198. Extended Redis 6 and 7 support.
- add xgroupCreate, xgroupCreateConsumer, xgroupSetId;
- added support of the message trimming by message;
- add support for count parameter for approximate trimming.
Breaking changes:
- **xpendingDetail** instead of 'Maybe ByteString' for a consumer name the method
receives XPendingOpts structure that can take number of milliseconds and consumer name.
In order to preserve an old behavior code should be rewritten as:
xpendingDetails s g f l t Nothing -> xpendingSummary s g f l t defaultXPendingDetailOpts
xpendingDetails s g f l t (Just c) -> xpendingSummary s g f l t defaultXPendingDetailOpts{xPeedingDetailConsumer=Just c)
- **xpendingSummary** no longer accepts consumer arguments as it was done in violation to spec and methodd never worked this way
- **XTrimOpts** type changed, because previous type didn't hold library invariants now instead of a simple ADT XTrimOpts is data that defines strategy of trimming and type, exact or approximate. Here is a conversion table:
NoArg -> is not representable,
In xaddOpts options use Nothing instead;
In xtrim using NoArgs as a bug.
Maxlen n -> TrimOpts{trimOptsStrategy=TrimMaxlen n, trimOptsType=TrimExact};
MaxlenApprox n -> TrimOpts{trumOptsStrategy=TrimMaxlen n, trimOptsType=TrimApprox Nothing};
## 0.15.2
* PR #189. Document that UnixSocket ignores connectHost
* PR #190. mtl version update
## 0.15.1
* PR #181. Add MonadUnliftIO instance
## 0.15.0
* PR #174, Issue #173. Hedis fails to decode xstreamInfo response in case when the stream is empty
## 0.14.3
* PR #171. Support GHC 9
## 0.14.2
* PR #163. support for redis 6.0 COMMAND format
* PR #164. remove invalid tests for Redis Cluster
## 0.14.1
* PR #162. Improved documentation for EVALSHA
## 0.14.0
* PR #157. Clustering support
## 0.13.1
* PR #158. Upgrade to Redis 6.0.9 & Fix auth test
* PR #160. Fix GHC 8.0.1 compat
## 0.13.0
* PR #159. Issue #152. Make HSET return integer instead of bool
## 0.12.15
* PR #154. Implement Redis Sentinel support
## 0.12.14
* PR #153. Publicly expose ConnectTimeout exception
## 0.12.13
* PR #150, Issue #143. Leaking sockets when connection fails
## 0.12.12
* PR #149. Make withConnect friendly to transformer stack
## 0.12.11
* Expose `withCheckedConnect`, `withConnect`
## 0.12.9
* Expose the `Database.Redis.Core.Internal` module (see https://github.com/informatikr/hedis/issues/144 )
## 0.12.8
* PR #140. Added support of +/- inf redis argument
## 0.12.7
* PR #139. fix MonadFail instance
## 0.12.6
* PR #138, Issue #137. Derive MonadFail for the Redis monad
## 0.12.5
Issue #136 fix slowlog parsing
## 0.12.4
* Add upper bound on network package
## 0.12.3
* Issue #135. Upper the base bound
## 0.12.2
* PR #134. Fix some asynchronous exception safety problems
## 0.12.1
* PR #133. Fixes to stream commands
## 0.12.0
* PR #130. Bring back ability to connect via a Unix Socket
## 0.11.1
* PR #129. Fix tests
## 0.11.0
* PR #126. Fixes for network 2.8 and 3.0
## 0.10.10
* Only disable warnings for GHC 8.6, fix build
## 0.10.9
* Remove deprecation warnings
## 0.10.8
* PR #121. make xgroupCreate return Status
## 0.10.7
* PR #121. Fix streaming on redis 5.0.2
* PR #121. Get rid of slave-thread
## 0.10.6
* PR #120. Add withConnect, withCheckedConnect
## 0.10.5
* PR #XXX Fix CI builds with updated Redis version
## 0.10.4
* PR #112. Implement streams commands
## 0.10.3
* PR #110. Add disconnect which destroys all (idle) resources in the pool
## 0.10.2
* PR #108. Add TLS support
## 0.10.1
* PR #104. Add a Semigroup instance (fix GHC 8.4)
## 0.10.0
* PR #102. Return list from srandmemberN
* PR #103. Add spopN
* PR #101. Add parseConnectInfo
* PR #100, Issue #99. Throw error when AUTH or SELECT fails on connect
## 0.9.12
* PR #98. Added `connectTimeout` option
## 0.9.11
* PR #94. Refactor fix for issue #92 - (Connection to Unix sockets is broken)
## 0.9.10
* PR #93, Issue #92. Connection to Unix sockets is broken
## 0.9.9
* PR #90. set SO_KEEPALIVE option on underlying connection socket
## 0.9.8
* Fix syntax errors from redis when using scanOpts to specify match
pattern or count options (see PR #88)
## 0.9.7
* Expose returnDecode method of RedisCtx (see issue #83)
## 0.9.6
* Export Condition constructors (see PR #86)
## 0.9.2
* Added multithreaded pub/sub message processing (see PR #77)
## 0.9.0
* Merge in a fresh commands.json and a set of new commands
implemented. See PR #52 for more info
## 0.8.3
* Export MonadRedis methods
## 0.8.1
* Export unRedis/reRedis internalish functions which let you define
MonadCatch instance easily (see PR #73)
## 0.8.0
* Major speed improvement by using non-backtracking parser (PR #69)
## 0.7.10
* Improved performance (PR #64)
## 0.7.7
* Close connection handle on error
## 0.7.2
* Improve speed, rewrite internal logic (PR #56)
## 0.7.1
* Add NFData instances
## 0.7.0
* Enforce all replies being recieved in runRedis. Pipelining between runRedis
calls doesn't work now.
## 0.6.10
* Add HyperLogLog support
## 0.6.4
* New connection option to automatically SELECT a database.
## 0.5 -> 0.6
* Changed return type of HDEL from Bool to Integer.
* Some documentation updates.
## 0.5 -> 0.5.1
* New commands: DUMP, RESTORE, BITOP, BITCOUNT.
* Removed the dependency on stm.
* Improved performance of Queued in long transactions.
* Minor documentation updates.
## 0.4.1 -> 0.5
* Added new Redis 2.6 commands, including Lua scripting support.
* A transaction context is now created by using the 'multiExec' function.
The functions 'multi', 'exec' and 'discard' are no longer available
individually.
* Inside of a transaction, commands return their results wrapped in a
composable /future/, called 'Queued'.
* The 'getType' command (the Redis TYPE command) now has a custom return
type 'RedisType'.
* Minor improvements and fixes to the documentation.
## 0.3.2 -> 0.4.1
* The following commands got a 'Maybe' added to their return type, to
properly handle Redis returning `nil`-replies: `brpoplpush`, `lindex`, `lpop`,
`objectEncoding`, `randomkey`, `rpop`, `rpoplpush`, `spop`, `srandmember`,
`zrank`, `zrevrank`, `zscore`.
* Updated dependencies on `bytestring-lexing` and `stm`.
* Minor improvements and fixes to the documentation.