-
Notifications
You must be signed in to change notification settings - Fork 93
/
NEWS
405 lines (340 loc) · 18.4 KB
/
NEWS
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
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
IMAPFilter 2.8.2 - Dec 26, 2023
- Add IMAP support for UTF-8 (RFC 6855) when "charset" is set to "UTF-8"
- Don't use FETCH FAST macro use for better compatibility
- Bug fix; recovery mechanism error on Lua 5.1
IMAPFilter 2.8.1 - Jan 8, 2023
- Add support for non-write actions on read-only mailboxes.
- Add new parameter to write process ID (PID) to file.
IMAPFilter 2.8.0 - Jan 6, 2023
- New, more advanced, robust, and flexible recovery mechanism, replaces the
old automatic recovery functionality. Note that, the config must be updated
to use the new mechanism, otherwise no recovery will take place on errors.
- Bug fix; potential failure when deleting mailbox while mailbox is selected.
IMAPFilter 2.7.6 - Aug 6, 2022
- Support building with OpenSSL 3.0.0 and later.
- Several minor improvements to documentation and example code.
- Removed deprecated CRAM-MD5 mechanism.
- Bug fix; session was destroyed incorrectly on login failures.
- Bug fix; potential session management problems.
IMAPFilter 2.7.5 - Dec 5, 2020
- New "hostnames" option can be used to disable hostname validation.
- Bug fix; "certificates" option incorrectly controlled hostname validation.
IMAPFilter 2.7.4 - Nov 18, 2020
- Bug fix; incorrect argument to regular expression compile function.
IMAPFilter 2.7.3 - Nov 14, 2020
- Bug fix; incorrect free of compiled pattern.
- Unexpected network errors and IMAP BYE are now logged.
IMAPFilter 2.7.2 - Nov 10, 2020
- Makefile is back to being Lua version agnostic.
IMAPFilter 2.7.1 - Nov 9, 2020
- Makefile now builds with Lua 5.4 and PCRE2.
IMAPFilter 2.7 - Nov 8, 2020
- Lua 5.4 compatibility (the codebase can still be compiled with versions
5.3, 5.2 and 5.1).
- PCRE2 compatibility (version 10.00 and later)
- New error code is returned if certificate verify fails.
- Bug fix; add missing truststore option from brief usage message.
IMAPFilter 2.6.16 - Nov 23, 2019
- Bug fix; escape the double-quote character in passwords.
IMAPFilter 2.6.15 - Nov 14, 2019
- Bug fix; try to setup both a CA file and path for SSL validations.
IMAPFilter 2.6.14 - Nov 1, 2019
- Bug fix; OpenSSL version mess up for SSL hostname validation.
IMAPFilter 2.6.13 - Sep 17, 2019
- Support for SSL hostname validation.
IMAPFilter 2.6.12 - Oct 3, 2018
- Support for Server Name Indication (SNI).
- The searching methods return values are described in the config man page.
- Example of using the enter_idle() function in the sample extend file.
IMAPFilter 2.6.11 - Nov 19, 2017
- Support for interrupting IDLE mode with SIGUSR1/SIGUSR2.
- New "persist" option to try to recover a connection indefinitely.
- New "range" option to limit messages included in a range.
- Bug fix; always close selected mailbox before check_status().
- Bug fix; closing of selected mailbox twice with fetch_message().
IMAPFilter 2.6.10 - Dec 16, 2016
- Bug fix; segmentation fault on some OpenSSL builds.
IMAPFilter 2.6.9 - Dec 6, 2016
- Bug fix; possible problem during STARTTLS negotiation.
IMAPFilter 2.6.8 - Nov 26, 2016
- Support building with OpenSSL 1.1.0.
IMAPFilter 2.6.7 - Jun 7, 2016
- A dry-run mode that disables all actions that modify data.
- Bug fix; handle IDLE untagged responses that are received in pieces.
IMAPFilter 2.6.6 - Jan 23, 2016
- Bug fix; print an error message if "ssl" has been set to "ssl3".
IMAPFilter 2.6.5 - Jan 18, 2016
- Possible to build again with OpenSSL when support for SSL 3.0 is disabled.
IMAPFilter 2.6.4 - Dec 8, 2015
- Support for OAuth 2.0 and the XOAUTH2 authentication mechanism.
IMAPFilter 2.6.3 - Sep 30, 2015
- Support for loading a default CA certificates file.
- A new has_unkeyword() method to search messages without a keyword flag set.
- Bug fix; double quotation around keyword sent by the has_flag() method.
IMAPFilter 2.6.2 - Jun 30, 2015
- Bug fix; drop connection on local certificate mismatch.
IMAPFilter 2.6.1 - Jun 29, 2015
- Support for loading the system's CA certificates from a file.
- Bug fix; flusing of standard output/error in a some cases.
IMAPFilter 2.6 - Jun 16, 2015
- Optimizations that vastly improve performance of the meta-searching
functionality, by making subsequent search requests limit their scope based
on the results already returned by previous requests (previously this was
the case only for the match_*() methods).
- Lua 5.3 compatibility (the codebase can still be compiled with versions 5.2
and 5.1).
- A new "limit" option can be used as a work-around for problems that some
servers have with long requests.
- The documentation now clarifies how to make the client block indefinitely.
- Bug fix; the check_status() method now returns 4 numbers on error as
described in the documentation (just negative values in this case).
- Bug fix; flushing of default output on password prompt.
- Bug fix; program fault when very long requests were to be sent.
IMAPFilter 2.5.7 - Nov 16, 2014
- Support for automatic validation of SSL connections, using the operating
system's installed trusted CA certificates (usually from authorities that
are shipped with web browsers).
- A new "wakeonany" option makes it possible to end IDLE mode on any event,
not just on new messages.
- A new "reenter" option controls whether IDLE mode should be re-entered,
after the recovery of the session, which makes it possible to continue with
the execution of the next line in the configuration file.
- The documentation now mentions that the contain_*() methods do
case-insensitive searching (an IMAP limitation).
- The documentation now has a better explanation of the arrived_*() and
sent_*() methods.
- Bug fix; the value returned by the copy method was incorrect in some cases.
IMAPFilter 2.5.6 - Oct 27, 2013
- Possible to build again with OpenSSL older than version 1.0.1 (was a
requirement for the previous release due to new protocols TLS 1.1/1.2).
- Support for reading the configuration from the standard input stream.
- New makefile dist target, which can be used to create distribution archives.
IMAPFilter 2.5.5 - Jun 8, 2013
- Work-around for some servers that send an unexpected APPEND response.
- The serial number of the certificates is taken into account, because some
servers send different certificates with the same subject and issuer.
- Details of the stored certificates are written to the certificates file, in
order to make it easier to distinguish each of them.
- Support for TLS versions 1.1 and 1.2 for secure connections.
IMAPFilter 2.5.4 - Apr 9, 2013
- Some server responses are now parsed less stricly.
- More detailed information is now printed when there's an error.
- Bug fix; various corrections in the recovery mechanism.
IMAPFilter 2.5.3 - Jul 22, 2012
- New implementation for international mailbox names.
- Bug fix; wrong variable name in one of the examples on extending.
- Bug fix; an OpenSSL compilation warning.
IMAPFilter 2.5.2 - Feb 29, 2012
- Persistent errors or connection failures are now ignored when running in
daemon mode, and a reconnection is attempted during the next loop iteration.
- Bug fix; problems with failure handling during login/logout.
IMAPFilter 2.5.1 - Feb 27, 2012
- Support for recovery of a session after a BYE response is received.
- Option to control in which cases a terminated session will be restored.
- Bug fix; a BYE response could sometimes get incorrectly ignored.
IMAPFilter 2.5 - Feb 23, 2012
- Support for recovery of a session when a network failure is encountered,
and other robustness improvements.
- Informational messages are printed also for the fetch and append methods.
- Lua 5.2 compatibility, while the codebase can still be compiled with
version 5.1.
- The OpenSSL library is now a mandatory build requirement.
- Bug fix; unrecoverable login failures did not result in aborting of the
execution of the configuration.
- Bug fix; when messages were appended to a mailbox that did not exist, it
failed to create the mailbox and then retry the appending.
- Bug fix; misleading errors were printed on some SSL failures.
- Bug fix; protected call of the commands to execute in the daemon function
could hide important failures.
- Bug fix; the man page had an incorrect description of the -d option.
* Support for the old deprecated 1.x configuration format has been removed,
and the current 2.x format can only be executed from now on.
IMAPFilter 2.4.2 - Jan 19, 2012
- Bug fix; some ASCII characters in mailbox names were incorrectly converted
to UTF-7.
IMAPFilter 2.4.1 - Dec 8, 2011
- Bug fix; become_daemon() failure.
IMAPFilter 2.4 - Dec 6, 2011
- Support for non-ASCII mailbox names.
- New environment variable to set the configuration directory.
- Bug fix; parsing of some server responses was broken since the previous
release.
- Bug fix; the match_field() method matched on the whole header field,
instead of only the header field body.
- Bug fix; debug file check caused printing of a misleading error message.
- Bug fix; typo error in a configuration man page example.
IMAPFilter 2.3 - Aug 6, 2011
- Support for appending/uploading messages to mailboxes.
- Debug file option now takes filename argument.
- New simplified configuration and building procedure.
- Bug fix; in some cases a mailbox was incorrectly assumed selected.
- Bug fix; in some cases server capabilities needed update after login.
- Bug fix; timeout problem with CRAM-MD5 authentication.
- Bug fix; some servers send non-ASCII characters in their responses.
IMAPFilter 2.2.3 - Mar 6, 2011
- Project moved to GitHub.
- Changed file and directory structure.
- The next UID is returned as an additional return value of check_status().
- All processing methods now return a boolean based on their success.
- Bug fix; a lost connection is now handled better by trying to reconnect.
- Bug fix; in some cases in IDLE a message had arrived but was ignored.
- Bug fix; in some servers the initial IDLE reply wasn't handled correctly.
- Bug fix; typo errors in the documentation.
IMAPFilter 2.2.2 - Jan 23, 2010
- Bug fix; a couple of errors in the extending examples file.
IMAPFilter 2.2.1 - Jan 20, 2010
- A global option for the IDLE refreshing interval was added.
- Bug fix; more detailed reporting when SSL socket errors occur.
IMAPFilter 2.2 - Dec 30, 2009
- Support for combining searching methods in multiple mailboxes at the same
or different accounts and processing of the results in bulk.
- Support for meta-searching that allows searching on the previous searching
results.
- The processing and fetching methods were enhanced to reflect the new
changes and the documentation was updated.
- Global options for the message cache and the certificates were added.
- Bug fix; questions for certificates are not asked while in daemon mode, but
instead an error is printed.
* A different format is used for the returned structures of the searching
methods, due to the introduction of multiple mailbox searching and
meta-searching, and thus any configuration files that rely on them should
be updated. Consequently, the processing and fetching methods have been
also enhanced and the relevant documentation updated, and while these
changes are backwards compatible, an update of the configuration file is
still recommended.
IMAPFilter 2.1.2 - Dec 3, 2009
- Bug fix; cache for message parts didn't work correctly.
- Bug fix; documentation error.
IMAPFilter 2.1.1 - Nov 24, 2009
- Bug fix; global option timeout and enter_idle() didn't play well together.
IMAPFilter 2.1 - Nov 23, 2009
- Support for the IMAP IDLE extension (RFC 2177) through the enter_idle()
method.
- Support for fetching of a message's body structure through the
fetch_structure() method, and of a message's specific body part through the
fetch_parts() method.
- Addition of a global option that controls the character set used for all
the searching methods.
- Bug fix; fetching of non-existent messages.
- Bug fix; no trailing end-of-line characters in the results of
fetch_fields().
IMAPFilter 2.0.11 - Sep 20, 2009
- Bug fix; fetching of messages with empty body.
- Workaround for problematic IMAP server sending non-compliant mailbox status
information.
IMAPFilter 2.0.10 - Feb 16, 2008
- Bug fix; failed a great number (tens of thousands) of commands were
exchanged with an IMAP server.
- Bug fix; failed to fetch the body of some messages in some extremely rare
occasions.
- Bug fix; the description for the contain_header() method was clarified.
IMAPFilter 2.0.9 - Dec 26, 2007
- Bug fix; the match_*() methods failed to match messages.
- Bug fix; the match_*() methods failed with an error when no messages
matched.
- Bug fix; note added in the documentation about the need to use double
backslashes inside of regular expression patterns.
IMAPFilter 2.0.8 - Dec 23, 2007
- Bug fix; on some platforms it is necessary to link against the math library.
IMAPFilter 2.0.7 - Dec 22, 2007
- Bug fix; the match_*() methods failed with an error message.
IMAPFilter 2.0.6 - Oct 7, 2007
- Bug fix; the search query that was sent with the select_all() method had an
incorrect format and this caused an error in some mail servers.
IMAPFilter 2.0.5 - Oct 4, 2007
- Bug fix; an error in the sample extensions file.
- Bug fix; typo errors in the manual page.
- The documentation was updated with details and examples on how to access
mailboxes inside folders.
- Examples were added on how to define composite filters that include
multiple searching rules.
IMAPFilter 2.0.4 - Sep 27, 2007
- Bug fix; the send_query() method didn't return the special form of table
that the rest of the searching methods did.
- An additional searching method has been added to search for keyword flags
set.
- A new variable that was added to the Makefile makes it possible to set an
alternative environment for the installation path.
IMAPFilter 2.0.3 - Jul 27, 2007
- Bug fix; part of the program's functionality didn't seem to work at all.
(did nothing), due to problem when providing the results from searching
methods to processing methods.
IMAPFilter 2.0.2 - Jun 30, 2007
- Bug fix; message cache problem due to non-use of message UIDs.
IMAPFilter 2.0.1 - Jun 29, 2007
- Bug fix; character set problem with 1.x configuration files.
- Bug fix; typo errors in the documentation.
IMAPFilter 2.0 - Jun 27, 2007
- New, more powerful, feature rich and yet simpler configuration file.
- Easier object oriented view of accounts and mailboxes.
- Simpler approach to filters, with infix logical or/and/not operators.
- No more need to mess with server search queries.
- More and simpler functions instead of few and complicated ones.
- More feature complete interface that can now even manipulate mailboxes.
- Regular expressions integrated into the searching interface.
- Effective caching subsystem when fetching message parts.
- Can still read old version 1.x configuration files for compatibility.
- Lua 5.1 and the PCRE library are now requirements.
* The configuration file format has changed. The new format is not backwards
compatible, and thus it should not be mixed with the old format.
Nevertheless, configuration files that employ the old, and now deprecated,
format can still be read and executed as before.
IMAPFilter 1.3 - Feb 13, 2007
- Perl Compatible Regular Expression (PCRE) support.
- Compile against Lua 5.1 by default.
- Bug fix; program fault in some cases and when namespace prefix was empty.
- Bug fix; program fault on some platforms when running in verbose mode.
IMAPFilter 1.2.2 - Aug 1, 2006
- Bug fix; a mix up of connections could happen in certain circumstances,
when a hostname and/or username was a prefix of another hostname and/or
username respectively, or when the same hostname and username was used to
connect to a different port.
- Bug fix; the list()/lsub() functions parsed mailboxes/folders whose names
contained spaces incorrectly.
- The list() function now does not return the folder itself, when listing
mailboxes inside a specific folder.
- It is now possible to define new user keywords for messages inside a
mailbox, apart from the standard system flags.
IMAPFilter 1.2.1 - Mar 9, 2006
- Buf fix; program fault when using the fetch*() family of functions.
IMAPFilter 1.2 - Mar 2, 2006
- IPv6 support.
- Lua 5.1 compatibility.
- Bug fix; handle messages containing binary data.
- Bug fix; problems with CPU utilisation when the inactivity timeout timer
was set.
IMAPFilter 1.1.1 - Nov 11, 2005
- Bug fix; minor memory leak.
- Bug fix; on some systems, failure resulted while disconnecting from all the
servers, during the shutdown phase just before exiting.
IMAPFilter 1.1 - Aug 24, 2005
- Addition of the list() and lsub() commands, that make it possible to get a
list of the available mailboxes or only of those that are subscribed.
Implementation of the IMAP LIST/LSUB commands, with additional support for
the IMAP CHILDREN (RFC 3348) and IMAP NAMESPACE (RFC 2342) extensions.
- New program option to execute a string from the command line, without
loading a configuration file.
- New program option to enter interactive mode after executing the
configuration file or the command line.
- Servers that reply with multiple SEARCH responses are taken into
consideration.
- Bug fix; failure to parse the response to fetchfast() that some mail
servers sent.
- Bug fix; in some systems and when in debug mode, an empty namespace caused
program fault.
IMAPFilter 1.0.1 - Aug 22, 2004
- Bug fix; in some cases processing of messages with an empty body caused
failure.
- Bug fix; an invalid namespace prefix was inserted in mailbox names of some
mail servers.
- Unique message identifiers are now used by default, instead of message
sequence numbers, when accessing messages in a mailbox.
- Sequence set ranges are generated and sent to the mail server instead of
enumerations, when this is possible.
- The client now limits the length of the command lines it generates to
approximately 1000 octets, by splitting the request into multiple commands.
- Systems that have no limit on the number of bytes in a pathname are now
considered.
- Debug files are now written in $HOME/.imapfilter/ instead of /tmp/.
IMAPFilter 1.0 - May 23, 2004
- Initial release of IMAPFilter with extension language Lua.