Upgrading From Previous Versions
Upgrading from 2.3.3 or later (64-bit machines)
- Due to byte alignment issues in cyrus.index, all mailboxes
will have to be reconstructed.
Upgrading from 2.3.4 or 2.3.5
- Any mailboxes which had messages appended/delivered/copied with a
2.3.4 service or copied with a 2.3.5 imapd MUST be
reconstructed in order for the new messages to be displayed by
Upgrading from 2.2.x or earlier
- If you wish to use separate metadata partition(s), you MUST
first shut down Cyrus and then perform the following:
- Set the metapartition-* and metapartition_files
options to suit your configuration. For a full description of these
options, see the imapd.conf(5) man page.
- Create the metadata partition directory(s) listed in the
metapartition-* option(s), setting the ownership and
permissions in same fashion as step 6 of install-configure.
- Run the tools/migrate-metadata script (as the cyrus user)
to move the metadata files listed in the
metapartition_files option from the spool partition(s) to the
new metadata partition(s). This script may take a long time to run
depending on the number of mailboxes on the server, but presumably the
metadata partitions are located on high speed storage, so the writes
should be relatively fast.
- Restart Cyrus.
Upgrading from 2.2.2 or earlier
- The Cyrus database backend configuration is now handled at runtime
using imapd.conf options. If you are not using the default
backend for any of the databases, make sure that you specify the
correct backend(s) in appropriate option(s).
- The format of the newspeer option has been changed.
The existing format will still be parsed, but the option should be
upgraded to use the new format (see imapd.conf(5) for
Upgrading from 2.2.1 or earlier
Upgrading from 2.2.0 or earlier
Upgrading from 2.1.x or earlier
General information (ALL SITES)
Specialized information (Murder, AFS, etc.)
- The IMAP IDLE command is now supported by proxyd and is controlled
by the imapidlepoll option, which is enabled by default (60
seconds). To disable IMAP IDLE in proxyd, set imapidlepoll
- User moves via RENAME and XFER are now controlled by the
allowusermoves option, which defaults to off.
- If you use ptloader, it now runs as a regular cyrus
service. This means that you will need master to acquire and maintain
AFS tokens for it. You will also need to create the ptclient
directory under your imap configdirectory, to hold the PTS cache (now
a full-fledged cyrusdb) and UNIX socket. In cyrus.conf,
ptloader should be setup to listen on
<configdirectory>/ptclient/ptsock. See the
master/test/cmu-backend.conf example configuration file.
- Also, ptloader has been given a generic interface. You
should now specify "--with-auth=pts" (instead of
"--with-auth=krb_pts") to configure. There is also
a --with-pts= configure option that defaults to
afskrb (Kerberos Canonicalization, AFS PTS Groups). There is
also an experimental ldap module. Note also that if ptloader
fails the lookup, authorization (and therefore authentication) will
now fail, as canonicalization is done inside of ptloader.
- The format of sieve referrals has changed to be more consistant
with the current managesieve draft, this may cause interoperability
problems when using managesieve clients and servers from different
- Clients that use old-style ACL commands that include the
"MAILBOX" directive will no longer function.
We do not know of any clients that have this problem currently.
- Any applications that link libcyrus.a now need to link libcyrus_min.a
Upgrading from 2.1.13 or earlier
- We are now more forgiving of MIME boundry headers generated by earlier
versions of eudora. However, if you have messages already in the mailstore
that you want to fix you will need to reconstruct the affected mailboxes
to regenerate the cached bodystructure data to take this into account.
Nothing needs to be done for new messages to be treated in this way.
Upgrading from 2.1.12 or earlier
- timsieved was corrected to behave properly in the altnamespace configuration.
However, this means that it was previously looking for sieve scripts in
"user.name" format instead of the (correct) "user^name"
format. A sample script to do this (which should be run in the top level of
the sieve directory) is in tools/convert-sieve.pl. Note that this
is only needed if you are running with altnamespace turned on.
Upgrading from 2.1.3 or earlier
- If you use notifications (previously notify_zephyr or
notify_unix) this functionality has been seperated out to
notifyd. See the notifyd manpage and example
entries in master/conf.
Upgrading from 2.1.2 or earlier
- Sieve has been updated to be compliant with RFC 3028 and
draft-martin-sieve-notify-01. All notify actions and any
fileinto and/or redirect actions using stringlists
will have to be updated/changed.
Upgrading from 2.0.16 or earlier
Upgrading from 2.0.6, 2.0.7, 2.0.8, or 2.0.9 or earlier
- If you use timsieved to manage Sieve scripts, run the
script "tools/upgradesieve". timsieved now uses
symlinks instead of hard links.
Upgrading from a previous 2.0 version to 2.0.6
Warning: You do not need to follow these instructions if you're
upgrading from version 1.6.
- You can now pick whether to use Berkeley db to store seen state,
the subscription files, and the mailboxes file or a flat text file, at
compile time only. (Look in imap/seen_db.c and
- The format of the mailboxes file and seen state has changed. It is
not possible to preserve seen state, but upgrade the mailboxes file as
- Run ctl_mboxlist -d > mboxlist.temp to dump existing
- Remove old database files: rm mailboxes.db db/*
- With the new version of ctl_mboxlist, run ctl_mboxlist -u <
Upgrading from 1.6.22 or 1.6.24
Warning: Cyrus imapd 2.0 will automatically convert on-disk
file formats as the server is used. It is not possible to run 1.6
after 2.0 has been used on a mail spool without reconstructing every
Upgrading from 1.6.13
- Upgrading from the Cyrus IMAP server version 1.6.13 or earlier:
if you use Sieve, you should run the "tools/upgradesieve"
script, as the format of the "/usr/sieve" directory has
timsieved, included in this release, will handle maintenance of Sieve
- Upgrading from the Cyrus IMAP server version 1.6.10 or earlier:
if you export news via the IMAP server, you'll have to change your
"newsfeeds" file to contain
collectnews!:*:Tf,WR:collectnews The format of the
input to collectnews has changed.
Duplicate delivery suppression is now required for Sieve.
- Upgrading from the Cyrus IMAP server version 1.6.1 or earlier
(including 1.5.x!): the quota and user directories are now hashed by
the first character of the username. This is to reduce the number of
entries in any given directory. It doesn't do a great job (and in some
cases it will do a really poor job) but as a quick hack it shouldn't
make things worse. Optionally, the data partitions can also be hashed
by enabling the "hashimapspool" option.
You must hash your directories using the "dohash" script
in the tools subdirectory. (If you want to hash your mail spool, be
sure to set "hashimapspool" before running "dohash".) This
must be run as the Cyrus user. Be sure to stop mail service while
converting. Doing this in single user mode is probably the safest.
Upgrading from 1.5
- Upgrading from the Cyrus IMAP server version 1.5 or earlier:
libsasl is now required. Configuring SASL to work may be a chore,
especially if you use shadow passwords.
- An ANSI C compiler is now required. gcc should work fine and can
be acquired from
- Make sure to read the upgrading instructions under 1.6 above.
- Upgrading from 1.5.14 or earlier requires deleting the delivered
database. Remove the file delivered.db in the configdirectory and make a
directory called "deliverdb" in the configdirectory. This may cause some
duplicates to get through.
- Upgrading from 1.5.14 or earlier requires removing the PTS cache
database (if the AFS PTS group support is used, which is not the
default). The PTS cache is in /var/ptclient/ptscache.db, and you
should remove it. This is because the format for the PTS cache for
IMSP has changed. If you use AFS ACLs, IMSPd, and IMAPd on the same
machine, make sure you have version 1.5a5 of the IMSP server for this
version of the IMAP server. (If you don't have IMSP, or AFS, don't
worry about it.)
last modified: $Date: 2007/02/07 18:58:07 $