1 offlineimap (3.99.7) unstable; urgency=low
3 * This is a 4.0 TRACK release, and may be unstable or in flux!
4 * Converted entire manual to DocBook SGML so it will be easier to
5 expand in the future. The HTML manual, also, looks far nicer now
7 * Fixed the Tk.VerboseUI -- small, silly error introduced in 3.99.6.
8 * Multiple performance and reliability enhancements to syncing
9 algorithms, as described below.
10 * The process of uploading new messages from local folders to the IMAP
11 server was not internally multi-threaded previously. Now it is.
12 This means that if you have a single folder with lots of new messages
13 locally, the processing time should be dramatically sped up. Moreover,
14 the process should be more reliable because we do not risk connections
16 * The process of synchronizing flags has been overhauled and optimized.
17 Previously, for each message where a flag (seen, replied, etc.) was
18 changed, we'd issue a separate command to the IMAP server to adjust
19 things. Now, we issue one command for each flag. In other words,
20 instead of seing 45 messages saying something like "Adding flag S to
21 message 1421", you now see one message saying "Adding flag S to 45
22 messages" -- and the interaction with the IMAP server may well be
23 almost 45 times faster on this. We will now issue at most four
24 commands per flag operation (add or remove) per folder, where before,
25 we may have issued as many as two per message. Should be a
26 large speedup in most cases, but a small slowdown in a few.
27 * Potentially increased the reliability of writing files to the Maildir.
29 -- John Goerzen <jgoerzen@complete.org> Wed, 8 Jan 2003 19:30:11 -0600
31 offlineimap (3.99.6) unstable; urgency=low
33 * This a 4.0 TRACK release, and may be unstable or in flux!
34 * Completed work to make both graphical interfaces work
35 with a threaded Tcl/Tk Tkinter. A threaded Tcl/Tk actually makes
36 life MORE difficult for multi-threaded Python programs, argh.
37 * Now properly handles folder names that contain parenthesis. Used
38 patch from Kyler Laird in
39 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=173895.
41 * Changed to a more account-centric behavior. The refresh time is now
42 a per-account variable. Implemented new account classes. User
43 interfaces must now be updated to take advantage of this.
44 *** NOTE *** THIS CHANGE BREAKS COMPATIBILITY WITH OLDER VERSIONS.
45 * New color console interface: Curses.Blinkenlights! Try it out!
47 * Due to possibly having one account sleep while another is reading a
48 password, and other tricky situations, support for nice updating and
49 cancelling of a sleep in TTY.TTYUI has been removed. (Sleep will
50 still work; there is just no way to cancel it early.)
52 However, this is not going to be a huge problem because the new Curses
53 Blinkenlights interface has this support, and does it a lot better than
54 TTY.TTYUI ever could have.
55 * Provided config file default for many more options. Closes: #168219.
56 * New example file offlineimap.conf.minimal showing you how to get started
57 fast. It uses only 6 lines to set up an account.
59 -- John Goerzen <jgoerzen@complete.org> Mon, 6 Jan 2003 06:59:44 -0600
61 offlineimap (3.99.5) unstable; urgency=low
63 * Added ability to disable expunging on the server.
64 * Fixed infinite loop with preauth. Closes: #169514, #171485.
66 -- John Goerzen <jgoerzen@complete.org> Tue, 03 Dec 2002 06:22:37 -0600
68 offlineimap (3.99.4) unstable; urgency=low
70 * Fixed setup.py installation instructions.
71 * Added more debugging to the CRAM-MD5 authentication module.
72 * CRAM-MD5 *really* fixed this time. Thanks to MJ for the patch.
73 * Adding missing import os to imapserver.py. Thanks to John Wiegley
76 -- John Goerzen <jgoerzen@complete.org> Tue, 5 Nov 2002 08:06:45 -0600
78 offlineimap (3.99.3) unstable; urgency=low
80 * Moved password promting into imapserver.py. Passwords are now asked
81 for on-demand and typos will no longer crash the program (the user
82 will be re-prompted). Closes: #162672.
83 * Falls back to plain-text auth if CRAM-MD5 fails. Fixes [complete.org #42]
84 * Fixed CRAM-MD5 auth so it actually works now.
86 -- John Goerzen <jgoerzen@complete.org> Mon, 4 Nov 2002 06:16:11 -0600
88 offlineimap (3.99.2) unstable; urgency=low
90 * Further attempts to fix imapsplit problems.
91 * When an exception occurs, OfflineIMAP will attempt to print the last
92 50 debug messages, whether or not debugging was enabled for this
93 session. This way, even unexpected and non-repeatable errors stand
94 a chance of getting a more detailed log.
95 * Handle uidvalidity file in an atomic fashion. CLoses: #165600.
96 * Supports CRAM-MD5 authentication. Fixes [complete.org #38], and for
97 Debian, Closes: #154165.
98 * Noted CRAM-MD5 support in the "CONFORMING TO" section of the manual.
99 * Certain servers may not always return the UID flag for new messages.
100 This causes an OfflineIMAP exception, though rerunning will fix it.
101 Now, OfflineIMAP will detect the condition and ignore the offending
102 messages (without an exception) until the next sync.
104 -- John Goerzen <jgoerzen@complete.org> Sat, 02 Nov 2002 10:23:10 -0600
106 offlineimap (3.99.1) unstable; urgency=low
108 * Fixed some syntax errors in imaputil.py
109 * Fixed a syntax error with mbnames
111 -- John Goerzen <jgoerzen@complete.org> Wed, 9 Oct 2002 19:34:37 -0500
113 offlineimap (3.99.0) unstable; urgency=low
115 * The next few releases are adding features and reorganizing
116 code in preparation for 4.0.0.
117 * imaputil.py now logs information with IMAP debugging is enabled.
118 * Added folderfilter capability to mbnames recorder. You can now omit
119 specified folders from the mbnames output.
120 * Added a workaround to imaputil.py to deal with a bug in imaplib.py's
121 tuple when a response contains a literal in certain cases.
122 * Split out the code in bin/offlineimap into offlineimap/init.py.
123 Retaining bin/offlineimap as a skeletal piece only. Contains
124 about three lines of code now. This will make many things
125 easier, including debugging.
126 * Added library version check to bin/offlineimap and
128 * Moved __main__.ui to functions in UIBase: getglobalui() and
130 * Added license comments to some source files that were missing them.
131 * Moved some code from offlineimap/init.py to new file
132 offlineimap/syncmaster.py to help dileneate between code that
133 performs different functions.
134 * Moved threadexited from offlineimap/init.py to
135 offlineimap/threadutil.py.
136 * offlineimap.py is back to ease the use of OfflineIMAP in single-user
139 -- John Goerzen <jgoerzen@complete.org> Mon, 07 Oct 2002 05:08:08 -0500
141 offlineimap (3.2.8) unstable; urgency=low
143 * Added a work-around for some IMAP servers that respond poorly
144 to LIST "" "". It will now do LIST "" "*", for them only.
146 -- John Goerzen <jgoerzen@complete.org> Mon, 30 Sep 2002 10:48:01 -0500
148 offlineimap (3.2.7) unstable; urgency=low
150 * Moved executable to bin/offlineimap. This will allow setup.py to
151 properly install it as offlineimap instead of offlineimap.py.
152 * Made sure executables use /usr/bin/env in bangpath.
153 * Font size for Blinkenlights interface is now configurable.
155 -- John Goerzen <jgoerzen@complete.org> Thu, 19 Sep 2002 06:46:56 -0500
157 offlineimap (3.2.6) unstable; urgency=low
159 * Changed indentation in debian/control. Closes: #156327.
160 * Removed calls to folder object deletions. None have been implemented
162 * folder/Maildir.py: unlink throws OSError, not IOError; fixed.
163 Now handles message deleting race condition properly.
166 -- John Goerzen <jgoerzen@complete.org> Fri, 16 Aug 2002 17:43:19 -0500
168 offlineimap (3.2.5) unstable; urgency=low
170 * Now handles uploading messages without Message-Id headers.
172 * Applied patch from Tommi Virtanen that adds two new config file
173 options: pythonfile and foldersort. Fixes [complete.org #29], and
174 for Debian, Closes: #155637.
175 * Added documentation for the above features.
176 * Even more resiliant in the face of invalid Date headers. Closes: #155994.
178 -- John Goerzen <jgoerzen@complete.org> Fri, 9 Aug 2002 17:54:01 -0500
180 offlineimap (3.2.4) unstable; urgency=low
182 * When using nested folders, the Maildir repository handler now properly
183 deals with folders that are nested inside "noselect" folders -- ones
184 that do not actually contain messages and are not provided in the
185 server's LIST response. Fixes [complete.org #32] and, for Debian,
188 -- John Goerzen <jgoerzen@complete.org> Thu, 8 Aug 2002 17:54:44 -0500
190 offlineimap (3.2.3) unstable; urgency=low
192 * -d now takes a parameter: imap or maildir (or both) to specify
193 what type of debugging to do.
195 -- John Goerzen <jgoerzen@complete.org> Thu, 8 Aug 2002 10:02:36 -0500
197 offlineimap (3.2.2) unstable; urgency=low
199 * Updated manual to show new Gray color.
200 * Scrolling behavior is better now; sometimes, with fast-scrolling text,
201 the log would stop scrolling.
202 * Better handling of read-only folders. We will now warn if there is
203 a change, but not propogate it. New config variable ignore-readonly
204 can suppress the warnings. This fixes [complete.org #10] and,
205 for Debian, Closes: #154769.
206 * If a given Maildir folder is new, remove the associated local status
207 cache file, if any. That way, there will not be any chance of
208 propogating hordes of deletes and adds based on old status data.
209 * Added support for /-separated Maildirs -- that is, hierarchical
210 Maildir trees. Fixes [complete.org #28] and, for Debian,
212 * Preventitive security: Folder names may not contain ./ or start with /.
214 -- John Goerzen <jgoerzen@complete.org> Wed, 07 Aug 2002 20:22:25 -0500
216 offlineimap (3.2.1) unstable; urgency=low
218 * There is a new "connecting" event that will appear in all but the
219 Quiet UIs. It has a gray color in Blinkenlights. This event indicates
220 the the program is connecting to a remote server.
221 * Blinkenlights UI log window is now scrolled and has a new
222 config file option "bufferlines" to specify the size of the scroll
224 * The Blinkenlights window is now non-resizable when the log is disabled.
225 When the log is enabled, the window is resizable, and the changes in
226 size are reflected in the log widget. Therefore, the Bigger Log
227 and Smaller Log items can disappear, and the Log menu now becomes
228 a Show Log or a Hide Log menu option. No sub-menus necessary anymore.
229 This presents a much cleaner feel, more intuitive operation, and
231 * Fix for account name interpolation in dot warning from 3.2.0 from
233 * Backed out check for . in account names for now. Will put it back in
234 when we have a consensus on what exactly to do. Doubt that anyone
235 has a foldername that would conflict with Blinkenlights anyway.
236 * Fix reading the ui.Tk.Blinkenlights bufferlines option.
238 -- John Goerzen <jgoerzen@complete.org> Wed, 24 Jul 2002 17:04:04 -0500
240 offlineimap (3.2.0) unstable; urgency=low
242 * New BLINKENLIGHTS interface! Mesmerising, isn't it?
243 * New ui.Tk.Blinkenlights section in offlineimap.conf.
244 * New USER INTERFACES section in the manual.
245 * TTYUI isusable() now checks to see if stdout and stdin are TTYs.
246 * Added build-dependency on python2.2-dev. Closes: #154167.
248 -- John Goerzen <jgoerzen@complete.org> Wed, 24 Jul 2002 17:53:20 -0500
250 offlineimap (3.1.1) unstable; urgency=low
252 * Modified imaputil.py and folder/Maildir.py to run faster. Eliminated
253 many regular expressions; pre-compiled many others.
254 * Fixed threadutil's exitnotifyloop to always handle threads in the order
255 they exited, rather than sometimes in the inverse order. This way,
256 make sure to handle thread's exception messages before a thread exited.
257 * Replaced imaplib.py's braindead readline() with a more efficient one.
258 * More optimizations to imaputil and folders for faster operation.
259 * These optimizations, all together, have resulted in OfflineIMAP
260 using approximately half the CPU time of previous versions, fixing
261 [complete.org #6], and... Closes: #153503.
263 -- John Goerzen <jgoerzen@complete.org> Wed, 24 Jul 2002 06:53:16 -0500
265 offlineimap (3.1.0) unstable; urgency=low
267 * When uploading messages from a Maildir, now convert \r\n to \n in case
268 the message is stored weirdly. That way, everything is uniform.
269 Fixes [complete.org #11].
270 * Manual: added UW IMAPD example with references from docwhat@gerf.org.
271 * New UI modules: Noninteractive.Basic and Noninteractive.Quiet.
272 Fixes [complete.org #14].
273 * Added per-thread profiling support to aid in debugging.
275 -- John Goerzen <jgoerzen@complete.org> Sun, 21 Jul 2002 16:09:42 -0500
277 offlineimap (3.0.3) unstable; urgency=low
279 * No longer throws an exception when updating messages with strange
280 Date headers; will just set IMAP Internaldate to the current date.
282 * No longer doubles-up reference names for mailboxes. Closes: #153515.
283 * Noted new bug-tracking system in manual and rebuilt manual files.
284 * Now stores incoming messages in 'cur' instead of 'new' if they have
285 the S flag. Closes: #152482.
287 -- John Goerzen <jgoerzen@complete.org> Sun, 21 Jul 2002 13:46:13 -0500
289 offlineimap (3.0.2) unstable; urgency=low
291 * Fixed mailbox name recorder to use localfolder.getvisiblename() rather
292 than remotefolder.getvisiblename()
293 * Fixed remotepassfile option. Closes: #153119. Used 1-line patch from
295 * Now handles cases of not being able to get UID for an uploaded message
296 more gracefully. This could occur if the server doesn't support
297 SEARCH, can't find the message ID, or finds multiple message IDs.
299 * Now source is in Subversion. Make version.py log the Subversion
302 -- John Goerzen <jgoerzen@complete.org> Wed, 15 Jul 2002 06:43:36 -0500
304 offlineimap (3.0.1) unstable; urgency=low
306 * Detabified the source.
307 * Added UI list to the manpage.
308 * Added -o (run only once) option with patch sent in by Martijn Pieters.
309 * Optimized folder/IMAP.py addmessagesflags() with new listjoin() in
310 imaputil. Now, send the server 1:5,7 instead of 1,2,3,4,5,7.
311 * Made folder/Maildir.py/deletemessage() more tolerant if a message
312 asked to be deleted already has been.
313 * In Base.py/copymessageto(), no longer bother calling getmessage()
314 unless a folder's storemessages() returns true. This will also help
315 with syncing to LocalStatus if the user deleted messages in the
316 Maildir since the cachemessagelist() was called.
318 -- John Goerzen <jgoerzen@complete.org> Fri, 12 Jul 2002 07:28:24 -0500
320 offlineimap (3.0.0) unstable; urgency=low
322 * Introduced a new graphical user interface written with Tkinter.
323 It features a nice view of multi-threaded displays.
324 * The TTY user interface now also displays thread names.
325 * Program-wide, new threads are given descriptive names to aid in
326 debugging and status messages.
327 * Added new module offlineimap/ui/detect.py that is used to detect
328 which user interface to select for a given session. Its operation
329 is governed by the ui config option and the -u command-line option.
330 * Made IMAP folder addmessagesflags() resiliant to a server refusing
331 to return a full set of new message flags. Closes: #152587.
332 * Completely rewrote documentation. OfflineIMAP now has an
333 exhaustive manpage, which is really a manual. It is also shipped
334 in plain text, HTML, PDF, and PostScript formats.
335 * New command-line options:
336 -1 to force no multi-threaded operation
337 -u to force a particular UI
338 -a to specify which accounts to sync
340 -c to specify an alternate config file
341 * Added a workaround for UW IMAP problem wherein the server loses
342 uidvalidity whenever a folder is emptied. Now, the program
343 will not consider it a problem if uidvalidity is lost when a folder
344 and the local status cache are both completely empty, since we do
345 not really need to preserve uidvalidity in that case anyway.
348 -- John Goerzen <jgoerzen@complete.org> Thu, 11 Jul 2002 22:35:42 -0500
350 offlineimap (2.0.8) unstable; urgency=low
352 * Modified the IMAP folder to use SELECT rather than STATUS more often.
353 Makes the code more robust; handles better with read-only folders;
354 and runs faster, especially for non-threaded useres, where it
355 may eliminate up to 2-3 commands per folder.
356 * Made sure IMAP folder savemessage() does a select. This was a possible
358 * Modified Maildir folder to unlink messages with T flag in
360 * My own box now syncs in 3 seconds.
361 * Optimized acquireconnection() to try to give a thread back the
362 connection that it last used, if possible.
364 -- John Goerzen <jgoerzen@complete.org> Tue, 9 Jul 2002 23:29:30 -0500
366 offlineimap (2.0.7) unstable; urgency=low
368 * Fixed imaplib.py to work better with read-only folders.
370 -- John Goerzen <jgoerzen@complete.org> Tue, 9 Jul 2002 20:24:21 -0500
372 offlineimap (2.0.6) unstable; urgency=low
374 * Added support for holdconnectionopen and keepalive. This feature
375 allows for an IMAP server connection(s) to be held open until
376 the next sync process, permitting faster restart times.
377 * Another try at read-only folder support. This is nasty because I
378 have no way to test it and imaplib's read-only support is weird.
379 * Closing out old bug; fixed in 1.0.2. Closes: #150803.
380 * Optimized algorithm so that a SELECT is never issued for folders
381 that contain no messages.
383 -- John Goerzen <jgoerzen@complete.org> Tue, 9 Jul 2002 20:05:24 -0500
385 offlineimap (2.0.5) unstable; urgency=low
387 * Fixed a folderfilter example. Partially fixes #152079.
388 * Added folderincludes capability. Partially fixes #152079.
389 * More fixes for read-only folders.
391 -- John Goerzen <jgoerzen@complete.org> Fri, 5 Jul 2002 09:21:52 -0500
393 offlineimap (2.0.4) unstable; urgency=low
395 * Made OfflineIMAP at least rudimentarily compatible with read-only
396 folders. It will still fail if they get modified locally, though.
397 * Flags are handled case-insensitively. Closes: #151993.
399 -- John Goerzen <jgoerzen@complete.org> Fri, 5 Jul 2002 09:10:29 -0500
401 offlineimap (2.0.3) unstable; urgency=low
403 * Added support for specifying references. Closes: #151960.
404 * Added -d command-line option to enable imaplib debugging.
406 -- John Goerzen <jgoerzen@complete.org> Thu, 4 Jul 2002 20:39:29 -0500
408 offlineimap (2.0.2) unstable; urgency=low
410 * Added support for remotepassfile. Closes: #151943.
411 * Added support for preauth tunnels.
413 -- John Goerzen <jgoerzen@complete.org> Thu, 4 Jul 2002 14:46:23 -0500
415 offlineimap (2.0.1) unstable; urgency=low
417 * Fixed a bug with not properly propogating foldersep changes.
418 Now, local folders and status folders properly use the foldersep
419 mechanism. This corrects a problem with Exchange servers.
420 * Wrote a major new thread montiring subsystem, defined a new
421 ExitNotifyThread. Handling of Ctrl-C now occurs within 1 second
422 rather than after the whole program terminates. Exceptions that
423 occur in a thread are now caught by the main thread and marshalled
424 over into the UI side of things for dispatch. The entire program will
425 now abort when one thread dies with an exception.
427 -- John Goerzen <jgoerzen@complete.org> Thu, 4 Jul 2002 09:07:06 -0500
429 offlineimap (2.0.0) unstable; urgency=low
431 * This code is now multithreaded. New config file options control the
432 behavior. This can make synchronizing several times faster.
433 * Fixed the STATUS call to be compatible with Exchange.
434 * Added the ability to exclude folders.
435 * If upgrading from 1.0.x, you will need to add maxsyncaccounts to the
436 general section and maxconnections to each account sections.
437 There is also a new folderfilter option.
438 You can find examples of all of these in the new offlineimap.conf
439 example file packaged with the distribution.
440 * The Debian package now properly installs the example offlineimap.conf
442 * There is a new mailing list available. To join, send SUBSCRIBE
443 to offlineimap-request@complete.org. The posting address is
444 offlineimap@complete.org.
446 -- John Goerzen <jgoerzen@complete.org> Wed, 3 Jul 2002 19:21:32 -0500
448 offlineimap (1.0.4) unstable; urgency=low
450 * Deletion of more than one message has been optimized. This could make
451 deleting large numbers of messages far faster -- several orders of
453 * Moved more sleep code into ui layer. Fancier sleep actions are now
454 possible. Better handling of Ctrl-C in TTY handler.
456 -- John Goerzen <jgoerzen@complete.org> Tue, 2 Jul 2002 19:16:04 -0500
458 offlineimap (1.0.3) unstable; urgency=low
460 * Fixed a bug when a message was deleted on the IMAP side and modified
463 -- John Goerzen <jgoerzen@complete.org> Mon, 24 Jun 2002 19:08:21 -0500
465 offlineimap (1.0.2) unstable; urgency=low
467 * Made sure that LocalStatus does writing atomically. If the program
468 is interrupted during save(), there will always be a complete copy of
469 either the old or the new data.
471 -- John Goerzen <jgoerzen@complete.org> Mon, 24 Jun 2002 06:57:28 -0500
473 offlineimap (1.0.1) unstable; urgency=low
475 * Fixed a bug with writing messages to some IMAP servers. Turns
476 out we need to issue CHECK between APPEND and SEARCH for some.
477 Thanks to Donovan Lange for reporting this bug and helping track it
480 -- John Goerzen <jgoerzen@complete.org> Fri, 21 Jun 2002 22:03:12 -0500
482 offlineimap (1.0.0) unstable; urgency=low
484 * Initial Release. Closes: #150571.
486 -- John Goerzen <jgoerzen@complete.org> Fri, 21 Jun 2002 18:54:56 -0500
489 mode: debian-changelog