commit ea22b09ac77380c6f530c09a5dc52dc2810f83c3 Author: Oswald Buddenhagen <o...@users.sf.net> Date: Tue Mar 11 19:16:59 2025 +0100
expand NEWS include bug fixes and other improvements, as otherwise they wouldn't be documented in a user-accessible way, given that ChangeLog wasn't all that usable, and is gone entirely now. this backfills from the release notes i have put next to each tar ball since 1.0.5. and then some edits, in particular release dates. NEWS | 690 +++++++++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 556 insertions(+), 134 deletions(-) diff --git a/NEWS b/NEWS index 0438992..08c3049 100644 --- a/NEWS +++ b/NEWS @@ -1,229 +1,651 @@ -[1.5.0] +1.5.0 (2024-08-02) +================== + +Compatibility Concerns: + +- The reference point for relative local paths in the configuration file + is now the file's containing directory +- Maildir Path cannot be nested into Inbox anymore (this was never documented) +- Renamed the ReNew/--renew/-N options to Upgrade/--upgrade/-u and + Delete/--delete/-d to Gone/--gone/-g +- Superseded SSLVersions option with TLSVersions, and disabled TLS v1.0 + and v1.1 by default +- Renamed SSLType option to TLSType +- Placeholders will be now created for messages exceeding MaxSize even if they + are flagged on the source side +- Placeholder upgrades no longer pull flag updates along unless also requested +- New messages which we are about to expunge from the source side are not + propaged any more even if the target side would keep them +- Tunnel is now consistently assumed to be secure, so some warnings are gone + +New Features: + +- Changed default config & state locations to follow the XDG basedir spec; + the old locations remain supported +- Added support for IMAP mailbox names with non-ASCII characters +- Added support for Maildir Paths with suffixes (not ending with a slash) +- Made the Channel side to expire with MaxMessages configurable +- MaxMessages and MaxSize can be used together now +- The unfiltered list of mailboxes in each Store can be printed now +- A proper summary is now printed prior to exiting. + This includes expunges, which are now included in the progress as well. +- Added support for mirroring deletions more accurately; option ExpungeSolo +- Added new sync operation 'Old' to retry previously skipped messages +- Added --ext-exit option to indicate with the exit code whether Stores + were modified +- Added --dry-run option + +Improvements: + +- Added support for the LITERAL- IMAP extension, which improves upload + performance with f.ex. GMail somewhat +- Improved error handling when attempting to store too big messages on + f.ex. GMail +- Malformed messages with incomplete headers will be propagated now +- A notice is now emitted if the server does not support race-free Trash +- Improved checking for invalid command lines +- Options not supported due to the build configuration are still recognized + now, to make error messages more helpful +- The progress indicator is rate-limited now +- Various improvements to the debugging output +- Vastly extended the autotest suite + +Bug Fixes: -Changed default config & state locations to follow the XDG basedir spec. -The old locations remain supported. +- Worked around "unexpected EOF" error messages at end of TLS connections; + affects f.ex. GMail +- Worked around protocol corruption issue with iCloud (mail.me.com) +- Fixed missing CAPABILITY command after logging in if the server does not + report updated capabilities automatically (affects f.ex. MS Exchange) +- Fixed CopyArrivalDate failing on some date strings +- Fixed propagation of new messages to non-UIDPLUS servers +- Fixed Timeout being ignored by DNS host resolution +- Fixed broken Tunnel potentially causing SIGPIPE +- Fixed Tunnel leaving behind zombie processes +- Fixed expunges not being propagated at all if the first run after they + occurred did not include --delete +- Fixed MaxMessages being exceeded when only --new was used +- Fixed messages being instantly expired despite being important when only + --new was used +- Trash-ing failures now prevent expunging and cause a non-zero exit code +- Fixed placeholders being needlessly trashed +- Fixed TrashNewOnly and TrashRemoteNew omitting messages for which only + a placeholder was synced +- Fixed TrashRemoteNew omitting messages which exceed MaxSize +- Fixed TrashRemoteNew not using race-free expunge +- Optimized some places with unnecessarily high CPU usage +- Fixed unnecessary network usage by non-selective uni-directional syncs when + no placeholders are present +- Fixed crash when Patterns yields nothing when built with new compilers +- Fixed crash when all flag propagations to a mailbox failed +- Fixed handling of errors during opening mailboxes +- Removed useless "lost track of ... messages" warnings when resuming after + an interruption +- Fixed many minor bugs in corner cases, mostly when resuming after + interruptions + + +1.4.4 (2021-12-03) +================== + +Bug Fixes: -The reference point for relative local paths in the configuration file -is now the file's containing directory. +- Fixed CVE-2021-3657: multiple buffer overflows on excessively large + IMAP literals +- Fixed CVE-2021-44143: buffer overflow on header-less messages +- Fixed crash on certain malformed messages in Maildirs +- Fixed somewhat spurious notice about conflicting changes on + messages marked as deleted -Placeholders will be now created for messages exceeding MaxSize even if -they are flagged on the source side. -Renamed the ReNew/--renew/-N options to Upgrade/--upgrade/-u -and Delete/--delete/-d to Gone/--gone/-g. +1.4.3 (2021-07-29) +================== -Superseded SSLVersions option with TLSVersions, and disabled TLS v1.0 -and v1.1 by default. Renamed SSLType option to TLSType. +Improvements: -Made the Channel side to expire with MaxMessages configurable. +- Arbitrarily large GSSAPI authentication tokens are supported now +- Symlink loops in Maildirs are detected now -MaxMessages and MaxSize can be used together now. -Added support for IMAP mailbox names with non-ASCII characters. +1.4.2 (2021-06-06) +================== -Added support for Maildir Paths with suffixes. +Improvements: -The unfiltered list of mailboxes in each Store can be printed now. +- INBOX miss-casing in Path setting is tolerated now -A proper summary is now printed prior to exiting. -This includes expunges, which are now included in the progress as well. +Bug Fixes: -Added new sync operation 'Old'. +- Fixed CVE-2021-3578: possible remote code execution +- Fixed crash on invalid CAPABILITY response code -Added support for mirroring deletions more accurately. -Added --dry-run option. +1.3.6 (2021-06-06) +================== -Added --ext-exit option. +Bug Fixes: -[1.4.0] +- Fixed CVE-2021-3578 -The 'isync' compatibility wrapper was removed. -Added support for disabling TLS v1.3 - adjust SSLVersions if you set it. -Removed support for obsolete/insecure SSL v3. +1.4.1 (2021-02-21) +================== -The IMAP '$Forwarded' / Maildir 'P' (passed) flag is supported now. +Bug Fixes: -Support for configuring a TLS cipher string was added. +- Fixed CVE-2021-20247: IMAP LIST/LSUB path traversal vulnerability +- Fixed UIDVALIDITY change recovery potentially leading to data loss +- Fixed spurious "unexpected FETCH response" errors with some servers +- Worked around FastMail sending malformed PERMANENTFLAGS -IMAP mailbox subscriptions are supported now. -The IMAP user query can be scripted now. +1.3.5 (2021-02-21) +================== -Added built-in support for macOS Keychain. +Bug Fixes: -Messages excluded by MaxSize will now result in placeholders. +- Fixed CVE-2021-20247 -The use of Master/Slave terminology has been deprecated. -[1.3.0] +1.4.0 (2021-02-03) +================== -Network timeout handling has been added. +Compatibility Concerns: -Support for proper Maildir++ and a Maildir sub-folder naming style -without extra dots have been added. +- The 'isync' compatibility wrapper was removed +- A C11 compiler is required for building now +- The validity of the config file is checked more strictly now, including: + - Appearance of options in unexpected places + - The capitalization of INBOX +- The new TLSv1.3 flag must be added to SSLVersions if the option is + used, unless disabling that version is desired (which is unlikely) +- Removed support for the obsolete/insecure SSL v3 +- The use of Master/Slave terminology has been deprecated -Support for TLS client certificates was added. +New Features: -Support for recovering from baseless UID validity changes was added. +- The IMAP '$Forwarded' / Maildir 'P' (passed) flag is supported now +- Support for configuring a TLS cipher string was added +- IMAP mailbox subscriptions are supported now +- The IMAP user query can be scripted now +- Added built-in support for the macOS Keychain +- Messages excluded by MaxSize will now result in placeholders -The get-cert script was renamed to mbsync-get-cert. +Bug Fixes: -[1.2.0] +- IMAP protocol errors are handled more robustly now +- Fixed support for SASL's built-in EXTERNAL mechanism +- Improved reliability of synchronization when resuming interrupted runs +- Fixed MaxSize being ignored under certain circumstances when only one of + New and ReNew was requested +- Fixed a network inefficiency occurring with server-side mailboxes that + receive new messages only via mbsync -The 'isync' compatibility wrapper is now deprecated. -An IMAP Path/NAMESPACE rooted in INBOX won't be handled specially any more. -This means that some Patterns may need adjustment. +1.3.4 (2021-02-03) +================== -The default output is a lot less verbose now. -The meanings of the -V and -D options changed significantly. +Bug Fixes: -The SSL/TLS configuration has been re-designed. -SSL is now explicitly enabled or disabled - "use SSL if available" is gone. -Notice: Tunnels are assumed to be secure and thus default to no SSL. +- Fixed regression in handling NAMESPACE 'INBOX.', introduced in v1.3.2 -Support for SASL (flexible authentication) has been added. -Support for Windows file systems has been added. +1.3.3 (2020-08-04) +================== -Support for compressed data transfer has been added. +Improvements: -Folder deletions can be propagated now. +- PassCmd supports even bigger XOAUTH2 tokens now -[1.1.0] +Bug Fixes: -Support for hierarchical mailboxes in Patterns. +- Fixed crash on syncing multiple Channels which refer to different + Stores which use a common IMAPAccount +- Fixed crash on IMAP connection breaking down while using -Dd -Full support for IMAP pipelining (streaming, parallelization) added. -This is considerably faster especially with high-latency networks. -Faster and hopefully more reliable support for IMAP servers without the -UIDPLUS extension (e.g., M$ Exchange). +1.3.2 (2020-07-08) +================== -More automatic handling of SSL certificates. +Improvements: -IPv6 support. +- Increased PassCmd buffer size to accommodate XOAUTH2 tokens -IMAP password query can be scripted. +Bug Fixes: -Message arrival dates can be propagated. +- Improved SSL error handling +- Improved resilience to IMAP server bugs relating to FETCH +- Fixed handling of non-uppercase IMAP iNbOx spellings +- Fixed timeouts while uploading big messages +- Fixed parsing of NIL hierarchy delimiters in IMAP LIST responses +- Fixed crash when using Tunnel in an IPv6-enabled build +- Fixed libcrypto detection from OpenSSL 1.1+ without pkg-config +- Made --debug-crash work with Yama ptrace protection -Data safety in case of system crashes was improved. -MaxMessages was made vastly more useful. +1.3.1 (2019-05-28) +================== -[1.0.0] +Improvements: -Essentially a rewrite. Synchronization state storage concept, configuration -and command line changed entirely. +- SSL now uses SNI, which for example GMail requires +- The perl 5.14 requirement is now made explicit + +Bug Fixes: + +- Fixed fallbacks for missing UIDPLUS extension (with e.g. DavMail) +- Fixed UIDVALIDITY recovery with really long Message-id headers +- Fixed GSSAPI authentication with Kerberos +- Fixed support for IMAP servers which do not sort search results (e.g., + poczta.o2.pl) +- Fixed CopyArrivalDate on platforms without glibc +- Fixed useless SASL warnings with certain plugins +- Improved OpenBSD support +- Fixed a bunch of compiler warnings + + +1.3.0 (2017-10-01) +================== + +Compatibility Concerns: + +- If you have Maildir sub-folders, you need to update the configuration + to specify the naming style +- get-cert was renamed to mbsync-get-cert to avoid namespace pollution +- Attempts to enable SSL v2 now produce warnings. They were already + ineffective due to OpenSSL having removed the support a while ago. + +New Features: + +- Network timeout handling has been added +- Support for proper Maildir++ and a Maildir sub-folder naming style + without extra dots have been added +- Support for TLS client certificates was added +- Support for recovering from baseless UID validity changes was added +- The option DisableExtension for working around IMAP (server) bugs + was added + +Improvements: + +- Opening an IMAP Store is now immediately canceled when the opposite + Store failed to open + +Bug Fixes: + +- Fixed handling of UIDs upwards of 2^31 +- Fixed mailboxes being skipped with certain combinations of Patterns + and Path when the same IMAP Store is used in multiple Channels +- Pattern INBOX* is not complained about any more if no Path is defined +- Trashing messages now also resumes after an interruption, rather than + starting from scratch +- Fixed spurious "TUID lost" warnings after interruption +- Fixed various corner cases when resuming syncing after interruption. + The test suite exercises this much more thoroughly now. + + +1.2.3 (2017-10-01) +================== + +Improvements: + +- Enabled TLS 1.1 and 1.2 by default + +Bug Fixes: + +- Fixed cross-build with OpenSSL when using pkg-config +- Fixed GCC 7 -Wimplicit-fallthrough warnings + + +1.2.2 (2017-08-05) +================== + +Improvements: + +- Added support for OpenSSL 1.1 +- IMAP UIDs up to 2^31 are now supported (as opposed to 10^9 before) + +Bug Fixes: + +- Fixed spurious reports about decompression errors +- Fixed error reporting in both SSL server certificate validation + and IMAP COMPRESS support +- Fixed use of IMAP LOGIN authentication in some configurations +- Fixed handling of IMAP NAMESPACE without hierarchy delimiter +- Fixed fallback to IPv4 when the kernel is built without IPv6 support + + +1.2.1 (2015-11-08) +================== + +Improvements: + +- The dependencies on Berkeley DB and zlib (and the features they enable) + can be explicitly disabled now +- It is now possible to nest a Maildir Store's Path into its Inbox + +Bug Fixes: + +- Fixed IPv6-enabled builds crashing upon host name resolution failure +- Fixed updating Maildir flags crashing on OpenBSD +- Fixed deadlocks with NFS home directories +- Fixed SASL authentication with GSS-API +- Fixed messages being uploaded again and again with some servers +- Fixed duplicate mailboxes with IMAP NAMESPACE "INBOX." +- Fixed some problems in the IMAP command submission code +- Fixed build with static libdb, libnsl, and libsocket +- Fixed -DN not implying -Dn + + +1.2.0 (2015-04-03) +================== + +Compatibility concerns: + +- The 'isync' compatibility wrapper is now deprecated +- Excess arguments in the config file are not silently ignored any more +- An IMAP Path/NAMESPACE rooted in INBOX won't be handled specially + any more (the INBOX. prefix was never stripped). + This means that some Master/Slave/Patterns may need adjustment. +- The SSL/TLS configuration has been re-designed. + SSL is now explicitly enabled or disabled - "use SSL if available" is gone. + Notice: Tunnels are assumed to be secure and thus default to no SSL. + The use of the system certificate store can be disabled now. +- The default output is a lot less verbose now. + The meanings of the -V and -D options changed significantly. + +New Features: + +- Support for SASL (flexible authentication) has been added +- Support for Windows file systems has been added by making a replacement + for the colon configurable +- Support for compressed data transfer (IMAP COMPRESS) has been added +- Folder deletions can be propagated now +- The peak memory usage can be limited now + +Improvements: + +- The LITERAL+ IMAP extension will not be used any more when uploading big + messages, to enable early rejection of big uploads +- A dysfunctional Store (e.g., bad password) will now be tried only once, + not for every Channel it is used in + +Bugfixes: + +- Fixed handling of some exceptional IMAP protocol conditions +- Fixed spurious "unhandled SSL error 6" messages +- Fixed failure to create Maildir Inbox + + +1.1.3 (2015-04-03) +================== + +Bug Fixes: + +- Fixed bogus "unexpected command continuation request" +- Fixed out-of-Path INBOX never being matched by Patterns +- Fixed escaping in PassCmd in mbsyncrc.sample + + +1.1.2 (2015-01-18) +================== + +Improvements: + +- Configurations with only TLS 1.1/1.2 are now actually possible +- For security reasons, RequireSSL is not ignored anymore even when Tunnel + is used - you'll probably need to explicitly disable it +- Maildir Stores with only Inbox but no Path are now permitted +- IMAP Stores with an explicitly empty Path are now permitted + +Bug Fixes: + +- Fixed acceptance of trusted SSL host certificates +- Fixed duplication of uploaded messages with some IMAP servers (in + particular, seznam.cz) +- Fixed some memory management mistakes, some of which would cause crashes +- Fixed garbage at end of folder names when using Patterns with some servers +- Fixed Patterns misbehaving with certain server-provided namespaces + + +1.1.1 (2014-06-01) +================== + +Bug Fixes: + +- Fixed build on FreeBSD +- Several fixes relating to badly handled IMAP responses, + including some crashes +- Fixed folder handling in isync compatibility wrapper +- Added pedantic error handling in some rather unlikely places +- Man page fixes +- Some cosmetical fixes + + +1.1.0 (2013-12-18) +================== + +New Features: + +- Added support for hierarchical mailboxes in Patterns +- Added full support for IMAP pipelining (streaming, parallelization). + This is considerably faster especially with high-latency networks. +- Added IPv6 support +- IMAP password query can be scripted now; option PassCmd +- Message arrival dates can be propagated now; option CopyArrivalDate +- Added ExpireUnread option + +Improvements: + +- Data safety in case of system crashes was improved +- Faster and hopefully more reliable support for IMAP servers without + the UIDPLUS extension (e.g., M$ Exchange) +- More automatic handling of SSL certificates +- MaxMessages was made vastly more useful + +Bug Fixes: + +(rumored) + + +1.0.6 (2013-02-20) +================== + +Bug Fixes: + +- Fixed CVE-2013-0289: missing SSL subject verification +- Fixed 64-bit cleanness + + +1.0.5 (2012-04-28) +================== + +Improvements: + +- In the wrapper, give the implicitly created IMAP Account config the + name of the Store + +Bug Fixes: + +- Fixed crash if neither Host nor Tunnel are specified +- Fixed handling of failure to store messages +- Fixed hang after failed start_tls +- Fixed memory access error (used memcpy for overlapping regions) + + +1.0.4 (2008-02-23) +================== + +- Bug Fixes + + +1.0.3 (2006-11-03) +================== + +- Bug Fixes + + +1.0.2 (2006-02-25) +================== + +- Bug Fixes + + +1.0.1 (2005-03-28) +================== + +- Bug Fixes + + +1.0.0 (2004-09-15) +================== + +This is essentially a rewrite. Synchronization state storage concept, +configuration and command line changed entirely. But you needn't to worry about the upgrade, as a fully automated migration path is provided, even for users of isync 0.7 and below. -Still, you should re-read the manual to be able to take full advantage of the -new features: +Still, you should re-read the manual to be able to take full advantage of +the new features: + +- The supported mailbox types can be freely paired now. + A possible application of this is using a local IMAP server to access + mailboxes that are not natively supported yet. +- Message deletions (expunges) are now propagated both ways, so there is + no need for using mutt with maildir_trash any more +- Additional trash options added +- 'OneToOne' was replaced by something more flexible +- Added partial support for IMAP pipelining (streaming, parallelization). + This makes flag change propagation much faster - this affects every + message that becomes Seen/Read. + + +0.9.2 (2003-12-07) +================== + +- Bug Fixes + + +0.9.1 (2003-05-07) +================== + +- Bug Fixes + + +0.9 (2003-05-05) +================ -The supported mailbox types can be freely paired. -A possible application of this is using a local IMAP server to access -mailboxes that are not natively supported yet. +Compatibility Concerns: -Message deletions (expunges) are now propagated both ways, so there is no need -for using mutt with maildir_trash any more. +- -C now creates both local and remote boxes; the new -L and -R create + only local/remote ones. -Additional trash options added. +New Features: -`OneToOne' replaced by something more flexible. +- Added Tunnel directive to allow the user to specify a shell command to + run to set up an IMAP connection in place of a TCP socket (e.g., to run + over an SSH session) +- Added PREAUTH support (useful mostly in conjunction with Tunnel) +- Added 'OneToOne' configuration option: ignore any Mailbox specifications + and instead pick up all mailboxes from the local MailDir and remote + Folder, and map them 1:1 onto each other according to their names -Partial support for IMAP pipelining (streaming, parallelization) added. -Makes flag change propagation much faster - this affects every message that -becomes Seen/Read. +Improvements: -[0.9] +- Messages marked deleted are not uploaded when we are going to expunge +- Locally generated messages are not re-fetched after uploading even if + the UIDPLUS extension is not supported by the server +- --quiet is now really quiet -Added Tunnel directive to allow the user to specify a shell command to run -to set up an IMAP connection in place of a TCP socket (eg., to run over -an SSH session). -Added PREAUTH support (useful mostly in conjunction with Tunnel). +0.8 (2002-01-28) +================ -Messages marked deleted are not uploaded when we are going to expunge. +Compatibility Concerns: -Locally generated messages are not re-fetched after uploading even if the -UIDPLUS extension is not supported by the server. +- In order to fix the problem where messages copied from one mailbox to + another were not uploaded to the new mailbox, the way Isync stores the + UID for each message needed to be changed. As a result, you _MUST_ + delete all the messages in the local maildir box before using this + version. Otherwise it will upload every message to the server thinking + it is a new mail. -Added `OneToOne' configuration option: ignore any Mailbox specifications -and instead pick up all mailboxes from the local MailDir and remote Folder -and map them 1:1 onto each other according to their names. --C now creates both local and remote boxes; -L and -R create only local/remote. +0.7 (2001-11-20) +================ ---quiet is now really quiet. +New Features: -[0.8] +- Added 'MaxMessages' configuration option to allow tracking of only the + most recently added message in the local mailbox +- Added --create (-C) command line option to force creation of the local + maildir-style mailbox if it doesn't already exist -!!! IMPORTANT !!! -In order to fix the problem where messages copied from one mailbox to -another were not uploaded to the new mailbox, the way Isync stores the UID -for each message needed to be changed. As a result, you _MUST_ delete all -the messages in the local maildir box before using this version. Otherwise -it will upload every message to the server thinking its a new mail. +0.6 (2001-10-31) +================ -[0.7] +New Features: -Added `MaxMessages' configuration option to allow tracking of only the most -recently added message in the local mailbox. +- Added 'Delete' configuration option to correspond to the -d command + line option +- Added -a (--all) command line option to synchronize all mailboxes -Added --create (-C) command line option to force creation of the local -maildir-style mailbox if it doesn't already exist. -[0.6] +0.5 (2001-06-13) +================ -Added `Delete' configuration option to correspond to the -d command line -option. +New Features: -Added -a (--all) command line option to synchronize all mailboxes. +- Updated SSL support +- Added CRAM authentication support +- Added MailDir configuration option to specify the default location of + local mailboxes when relative paths are used +- Added support for uploading local messages to the IMAP server +- Added CopyDeletedTo configuration option to cause isync to move deleted + messages to a particular mailbox on the server when they are expunged -[0.5] -Updated SSL support. +0.4 (2000-12-31) +================ -Added CRAM authentication support. +New Features: -Added MailDir configuration option to specify the default location of local -mailboxes when relative paths are used. +- Added MaxSize configuration option to limit downloading of new messages + from the server to less than some threshold -Added support for uploading local messages to the IMAP server. +Improvements: -Added CopyDeletedTo configuration option to cause isync to move deleted -messages to a particular mailbox on the server when they are expunged. +- More robust --fast option works without using \Recent flags, so the + previous problem with multiple accesses killing these flags is no longer + a problem +- RFC2060 obsoleted RFC822.PEEK; use BODY.PEEK[] instead which does the + same job +- Stop requesting UID in FETCH when doing UID FETCH (RFC2060 states that + it is automatically returned) -[0.4] -Added MaxSize configuration option to limit downloading of new messages from -the server to less than some threshold. +0.3 (2000-12-21) +================ -More robust --fast option works without using \Recent flags, so the previous -problem with multiple accesses killing these flags is no longer a problem. +New Features: -RFC2060 obsoleted RFC822.PEEK, use BODY.PEEK[] instead which does the same -job. +- Added support for building RPMs -Don't need to request UID in a FETCH when doing UID FETCH (RFC2060 states -that its automatically returned). +Bug Fixes: -[0.3] +- Fixed failure to clean up temp maildir files when the fetch of a new + message failed +- Fixed invalid assumption of order of the flags returned by "UID FETCH" -Fixed to clean up temp maildir files when the fetch of a new message failed. -Fixed to not assume order of the flags returned by "UID FETCH" +0.2 (2000-12-21) +================ -Added support for building RPMs. +New Features: -[0.2] +- Added SSL support -SSL support added. -[0.1] +0.1 (2000-12-20) +================ -Initial release. +- Initial release _______________________________________________ isync-devel mailing list isync-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/isync-devel