Changes to the Cyrus IMAP Server since 2.4.15

      * Bug #3651 - 64 bit dirhash breaks existing systems. NOTE this
        includes a fix to the re-written rehash tool released with 2.4.15 

Changes to the Cyrus IMAP Server since 2.4.14

      * Bug #3664, #3665 - Sieve filters don't work if mailbox contains
        dots 
      * Bug #3651 - 64 bit dirhash breaks existing systems. NOTE - this
        includes a complete rewrite of tools/rehash, making it much simpler
        and more reliable. Check the usage statement 
      * Bug #1228 - mailbox dumps need to dump quotaroots 
      * Bug #3613 - CATENATE command returns BADURL 
      * Bug #3627 - enabling improved_mboxlist_sort documentation mention
        subscription files 
      * Bug #3661 - Memory leaks in sync_server, nntpd, popd 
      * Bug #3621 - quota bug involving nested quota roots 
      * Bug #3667 - FLAGS.SILENT needs to return new MODSEQ if QRESYNC
        enabled 

Changes to the Cyrus IMAP Server since 2.4.13

      * Bug #2685 - folder delete and annotations 
      * Bug #3381 - tools/rehash script is not 64bit safe 
      * Bug #3405 - Cyrus IMAP tls support for ctl_mboxlist 
      * Bug #3485 - cyr_expire tries to delete parent directories that are
        not empty 
      * Bug #3582 - Extra LF+SP characters been inserted in the middle of
        the XML attachments 
      * Bug #3598 - lmtp auditlog for murder proxy mode 
      * Bug #3623 - OpenBSD (and other platforms without working mmap)
        multiple bugs 
      * Bug #3626 - Renaming a mailbox doesn't remove old folder 
      * Bug #3628 - folders with spaces and subfolders with same prefix as
        parent folder don't show up 
      * Bug #3634 - RENAME INBOX no longer works 
      * Bug #3635 - cmd_rename() fails to check error codes 
      * Bug #3636 - unexpunge locks mailbox until all output is emitted 
      * Bug #3637 - imapd and ipop3d in 2.4 no longer log expunge events to
        syslog 
      * Bug #3638 - sessionid logging improvements for murder environments 
      * Bug #3640 - LMTP accepts NULL bytes in headers, resulting in
        incorrect header/mail size in meta-data 
      * Bug #3642 - iPhone 5 expects SPECIAL-USE in LIST output 
      * Bug #3649 - unable to remove mailbox 
      * Bug #3650 - ENVELOPE contains unexpected CRLF 
      * Bug #3645 - Ability to delete folder "shared" 

Changes to the Cyrus IMAP Server since 2.4.12

      * Bug #3565 - fix gcc compiler warnings - thanks Dilyan Palauzov
        <dilyan.palauzov@aegee.org> 
      * Bug #2685 - rename annots in delayed folder delete. Avoids
        annotations "reappearing" when a folder is recreated 
      * Bug #3566 - actually fix in a backward compatible way. 2.4.12 broke
        older versions of bison 
      * Lots of small cleanups from CMU as they prepared to build RSS into
        their 2.4 build. Thanks Ken 
      * Bug #3591/#3609 - fix crash in mupdate on partition move 
      * Bug #3610 - fix replication of partition move 
      * Bug #3564 - document the way prefork interacts with multiple
        network protocols 
      * Bug #3586 - allow rename of "\Noselect" if subfolders exist 
      * A handful of small cleanups (#3593, #3594, #3595) from David Carter
        <dpc22@cam.ac.uk>. Very much appreciated 
      * Disabled duplicate_check DEBUG level log messages by default.
        Thanks Philip Prindeville <philipp@redfish-solutions.com> 
      * Bug #3608 - log mailbox name in more sync failure cases 
      * Bug #3615 - fix proxyd_disable_mailbox_referrals. Thanks Andrew
        Morgan <morgan@orst.edu> 
      * Bug #3611 - fix crash in sync_mailbox_full if expunge fails 
      * Backported some nice fixes from master, including safer thread/sort
        (there were some crashes on bad messages before) 
      * Fixed infinite loop on suppress_capabilities with substrings of
        other capabilities. Ouch. 
      * Fixed LIST and LSUB again - this time to make LIST "" "*%" work
        without breaking other things 
      * Bug #3588 - make XFER not break if the wrong server name was used.
        The start of making murder safer 
      * Bug #3603 - tidied up usage of kick_mupdate so it never gets called
        on standard murder backends 
      * Bug #3604 - always suppress the DELETED.* mailbox names, even if
        delete_mode is immediate. It means a config change or different
        frontend won't show undeletable mailboxes 
      * Bug #3602 - allow UpperCase in service names to work 

Changes to the Cyrus IMAP Server since 2.4.11

      * Bug #3150 - fix issue with overview and messages without a
        References header 
      * fixed nntp login with tab and space in password 
      * Bug #3501 - be more relaxed about names of DELETED folders 
      * Bug #3553 - fix QRESYNC passing to murder backend - thanks alec
        <alec@alec.pl> 
      * Bug #3554 - only show ENABLED response the first time each option
        is ENABLEd 
      * Lots of cleanup of build process and backporting of APIs 
      * Bug #3502 - make configure.in more portable - thanks OBATA Akio
        <obata@lins.jp> 
      * Bug #3533 - add missing break statements in sieve - thanks Thomas
        Jarosch <thomas.jarosch@intra2net.com> 
      * Bug #3550 - support wildcards for ACLS in cyradm - thanks
        <mark.cave-ayland@siriusit.co.uk> 
      * Bug #3556 - print remote server in mbpath - thanks Wolfgang Breyha
        <wbreyha@gmx.net> 
      * Bug #3559 - make XFER work with unlimited quota - thanks Wolfgang
        Breyha <wbreyha@gmx.net> 
      * Bug #3547 - use strconcat() in writefile() 
      * fixed a case where skiplist library could write error messages
        directly to stdout 
      * Bug #3545 - fix sign extension in squat_decode_64 
      * Bug #3558 - return error if backend doesn't support LIST-EXTENDED 
      * Bug #3565 - clean up in preparation for automake 
      * fixed incomplete authentication checks in nntpd, reported by
        Secunia as SA46093 - thanks Stefan Cornelius, Secunia Research 

Changes to the Cyrus IMAP Server since 2.4.10

      * fixed replication recovery from different messages at the each end 
      * Bug #3489 - fixed quotalegacy handling of prefixes so only exact
        subfolders match 
      * Bug #3498 - fixed deletion of users quota files with
        unixheriarchysep enabled, thanks Leena Heino 
      * Bug #3491 - NOOP and UNAUTHENTICATE for timsieved, thanks Dilyan
        Palauzov 
      * Bug #3492 - better response codes for timsieved, thanks Dilyan
        Palauzov 
      * Bug #3497 - fix cmd syslog from master, thanks Kristof Katus 
      * Bug #3503 - compilation of perl libraries on dragonfly and freebsd,
        thanks OBATA Akio 
      * Bug #3451 - allow CC to have spaces 
      * Bug #3505 - fix sync_reset, thanks David Carter 
      * Bug #3506 - use literal+ for sync_(client|server), thanks David
        Carter 
      * Bug #3300 - use portable function for TCP constants, thanks OBATA
        Akio 
      * Bug #3507 - fix replication recovery with non-delayed expunge,
        thanks Julien Coloos 
      * Bug #3495 - improved duplicate suppression, thanks Kristof Katus 
      * Bug #2772/3463 - fixed crashes in THREAD by correcting folding of
        references headers 
      * Bug #3439 - fix ugly syslog message for vacation 
      * Bug #3499 - options to disable namespaces to reduce load on big
        servers with no shared folders. Thanks Olivier ROLAND 
      * Changed skiplist to truncate old files after checkpoint, which can
        save disk space on tmpfs or small ssds when old copies were held
        open by other processes 
      * Made Cyrus more robust against corruption in mailboxes.db data, so
        it will return an error rather than crashing on invalid entries 
      * Fix for CVE-2011-3208, a remotely exploitable buffer overflow in
        nntpd - thanks Coverity 

Changes to the Cyrus IMAP Server since 2.4.9

      * fixed handling of unparsable emails during append (which would
        cause invalid cyrus.index records otherwise) 
      * quota: fix a pile of bugs. #1801, virtdomain support; #2728, slow
        user delete; #3178, "file name too long" with big mailbox names;
        #3179, quota -f doubles usage. 
      * Bug #3043 - parse multiple groups in headers correctly 
      * Bug #3158 - lmtp backend connection timeout 
      * Bug #3223 - limit MIME parsing depth to avoid stack overflows 
      * Bug #3273 - add SORT=DISPLAY support (but note: still questions
        about correctness of unicode sorting) 
      * Bug #3504 - convert all sieve scripts to \r\n line endings on
        upload 
      * Bug #3402 - options to munge 8bit characters in headers during lmtp
        delivery to avoid backscatter 
      * sync_client: fix broken keepalive TCP options (I doubt anyone ever
        tried to use it) 
      * Bug #3482 - add "-o" option to ipurge to only purge messages with
        \Deleted flag set 

Changes to the Cyrus IMAP Server since 2.4.8

      * fixed crashes in seen handling 
      * Bug #3453 - fixed LSUB replication 
      * Bug #3442 - allow disabling PCRE if it's buggy at your site 
      * Bug #3443 - LSUB response fixes 
      * Bug #3448 - XFER error handling (murder) 
      * Bug #3437 - fixed regression: quotaroot wasn't being updated on
        rename 
      * Bug #3456 - fixed crash on rename user.foo user.foo without
        partition change 
      * config update: database paths for most databases are now
        configurable in imapd.conf 
      * Bug #3303 - fixed index lock breaking on XFER (thanks Julien
        Coloos) 
      * Bug #3457 - fixed ESEARCH parsing (was breaking iPhones) 
      * Bug #3188 - fixed XFER with unlimited quota (thanks again Julien
        Coloos) 
      * Misc other quota fixes (there are still known bugs with the quota
        system) 
      * Bug #3169 - fixed GETQUOTAROOT for domain quotaroots 
      * Bug #3465 - fixed compilation with Perl 5.14 (thanks
        hsk@imb-jena.de, and also thanks to Ondrej Sury who reported it
        separately) 
      * Bug #3464 - fix for sendmail exec failure. This was a nasty one,
