From Cyrus

Jump to: navigation,


[Page Tools]


High level Roadmap

This is a very general, high-level view of where the Cyrus project is heading in the future, and the amount of code support you may expect to receive if you're running an older version of Cyrus.

2.6 (Future)

  • Possibly calendaring support
  • Possibly cross-folder conversations
  • multi-master replication
  • More RFCs
  • better backup support


  • autocreate/autosieve
  • Complete compliance with all tests from ImapTest
  • cyr_info utility - configuration 'lint' and dumping tool.
  • automatic BDB upgrades.
  • MESSAGE quota support (RFC 2087)

See also Cyrus25TestingPlan


  • bugfixes only

2.2.x and 2.3.x

  • security backports only

pre 2.2

  • unsupported

Detailed Roadmap

The following is a list of pending feature requests in Bugzilla, logged against the most recent, supported versions of Cyrus IMAP, of type enhancement.

IDPStatusVersionProductSummary (138 tasks)  
2376P2ASSIGNED2.2.xCyrus IMAPPatch for cyrus-imapd to support OpenSLP 
2480P2ASSIGNED2.3.xCyrus IMAPUsers with implicit 'a' rights on a mailbox can set 'anyone' ACL too easily[1]
1571P2NEW2.2.xCyrus IMAPsieveshells falls down awkwardly after timeout 
1742P2NEW2.2.xCyrus IMAPcontrib/sieve-spamassasin 
2033P2NEW2.1.xCyrus SASLtestsaslauthd should prompt for password 
2069P2NEW2.2.xCyrus IMAPauto-creation of per-user meta isn't supported on berkeley backend 
2099P2NEW2.1.xCyrus SASLcrypt() support for auxprop password verifier 
2104P2NEW2.2.xCyrus IMAPSPAM/Virus Checking on incoming News Articles 
2105P2NEW2.2.xCyrus IMAPMultiDomain Newsgroups 
2185P2NEW2.2.xCyrus IMAPAdd an implicit_admin_rights option 
2416P2NEW2.3.xCyrus IMAPPatch to be able to make autoreplies in the future 
2632P2NEW2.3.xCyrus IMAPgroup patch using fgetgrent(3) in favor of getgrent(3) plus FreeBSD port[2]
2691P2NEW2.4.2Cyrus IMAPPatch to support -pie/-fpie/-fPIE on recent Linux and gcc versions 
2701P2NEW2.2.xCyrus IMAPPatch to add -a (preauth) switch to lmtpproxyd 
2750P2NEW2.2.xCyrus IMAPAbility to hide real userids in "Other Users" namespace 
2756P2NEW2.1.xCyrus SASLAssigning syslog'ed messages facility according to the application settings instead of LOG_AUTH. 
2847P2NEW2.3.xCyrus IMAPAllow % for @ in lmtpd verify_user 
2886P2NEW2.3.xCyrus IMAPnew option called "appenddomain"[3]
2900P2NEW2.1.xCyrus SASLpostgresql auth mechanism 
2923P2NEW2.3.xCyrus IMAPSupport for reading the password from a file for cyradm 
3266P2NEW2.3.xCyrus IMAPAttachment MESSAGE/RFC822 and Base64 
3741P2NEW2.5.x (next)Cyrus IMAPMake mupdate auto-resync after a master outage 
2897P2RESOLVED2.2.xCyrus IMAPmaster daemon should notice admin of errors in cyrus.conf through syslog or error message at startup 
3057P3ASSIGNED2.3.xCyrus IMAPOnly return IMAP_QUOTA_EXCEEDED if needed 
3343P3ASSIGNED2.5.x (next)Cyrus IMAPConversations support 
3384P3ASSIGNED2.5.x (next)Cyrus IMAPProvide some kind of storage hierarchy 
3524P3ASSIGNED2.5.x (next)Cyrus IMAPAdd calendar-query REPORT filtering 
3525P3ASSIGNED2.5.x (next)Cyrus IMAPAdd CalDAV scheduling 
3562P3ASSIGNED2.4.x (next)Cyrus IMAPKeep track of mailbox storage 
3658P3ASSIGNED2.5.x (next)Cyrus IMAPAdd iSchedule support 
3752P3ASSIGNED2.5.x (next)Cyrus IMAPSupport for RFC 5182 SEARCHRES extension 
3828P3ASSIGNED2.5.x (next)Cyrus IMAPAdd support for VAVAILABILITY 
583P3NEW2.0Cyrus SASLJava API out of date 
1959P3NEW2.1.xCyrus SASLSASL needs strcpy, strcat, sprintf -> strlcpy, strlcat, snprintf 
2525P3NEW2.1.xCyrus SASLsasl_set_alloc (and any other global state) should be per context[4]
2561P3NEW2.1.xCyrus SASLsasldblistusers2 is not working with sql base 
2776P3NEW2.1.xCyrus SASLallow building the gssapi plugin using the CITI gssapi library 
2985P3NEW2.3.xCyrus IMAPPeople forget to cancel their vacation message 
3125P3NEW2.1.xCyrus SASLsaslauthd: configuration option for LDAP_OPT_TIMEOUT in addition to LDAP_OPT_NETWORK_TIMEOUT 
3219P3NEW2.1.xCyrus SASLsql canonuser plugin[5]
3220P3NEW2.3.xCyrus IMAPPatch: add new lmtptarget annotation 
3247P3NEW2.3.xCyrus IMAPChange plaintext auth denial to configurable string 
3253P3NEW2.3.xCyrus IMAPmasssievec should also work for virtual domain setups 
3282P3NEW2.4.2Cyrus IMAPNew ptclient module: groupfile 
3380P3NEW2.1.xCyrus SASL[PATCH] GSSAPI accept ticket for any key in keytab 
3396P3NEW2.5.x (next)Cyrus IMAPIssue with Outlook and IMAP IDLE 
3455P3NEW2.4.8Cyrus IMAPctl_mboxlist -m deletes but ignores delete_mode: delayed 
3468P3NEW2.1.xCyrus SASLSet PAM_RHOST in saslauthd's auth_pam 
3469P3NEW2.1.xCyrus SASLSMB signing support 
3472P3NEW2.1.xCyrus SASLAdd LIBTOOL macro for saslauthd[6]
3584P3NEW2.5.x (next)Cyrus IMAPSupport RFC 5435, Sieve "enotify" extension 
3587P3NEW2.1.xCyrus SASLAdd configure option for saslauthd.conf location 
3597P3NEW2.5.x (next)Cyrus IMAPSymlink folders for special use 
3606P3NEW2.5.x (next)Cyrus IMAPcyradm non hierarchical renm 
3622P3NEW2.5.x (next)Cyrus IMAPMake log facility a run-time option 
3630P3NEW2.4.x (next)Cyrus IMAPSieve mailbox extension 
3699P3NEW2.5.x (next)Cyrus IMAPcyrus library locations and command names 
3724P3NEW2.5.x (next)Cyrus IMAPImplement date extension (rfc5260) 
3763P3NEW2.4.17Cyrus IMAPun-/subscribe auditlog 
3767P3NEW2.5.x (next)Cyrus IMAPMake SASL service name configurable for PAM 
3770P3NEW2.5.x (next)Cyrus IMAPBe nice with connected clients upon shutdown 
3774P3NEW2.5.x (next)Cyrus IMAPsendmail output shall be isolated from current protocol 
3780P3NEW2.5.x (next)Cyrus IMAPSQL backend failover mechanism 
3799P3NEW2.4.17Cyrus IMAPAdd support for calendar sharing 
3801P3NEW2.5.x (next)Cyrus IMAPSupport for RFC 6851: IMAP MOVE extension 
3815P3NEW2.4.x (next)Cyrus IMAPpidfile support for sync_client 
3816P3NEW2.4.x (next)Cyrus IMAPStore binary messages in binary form 
3818P3NEW2.1.xCyrus SASLLibsasl spams our logs with "DIGEST-MD5 common mech free" messages 
3823P3NEW2.4.17Cyrus IMAPadd options tls_eccurve, tls_compression and tls_prefer_server_ciphers 
3825P3NEW2.4.17Cyrus IMAPlog username on failed SASL logins 
3826P3NEW2.4.17Cyrus IMAPCOMPRESS cannot be disabled on runtime 
3829P3NEW2.5.x (next)Cyrus IMAPAdd support for managed attachments 
3834+P3NEW2.5.x (next)Cyrus IMAPImplement Sieve Email Filtering: Editheader Extension (RFC 5293)[7]
3871P3NEW2.1.xCyrus SASLdbm_open() failures not reported well 
3872P3NEW2.5.x (next)Cyrus IMAPSupport the i;ip-mask comparator for sieve 
3856P3REOPENED2.4.17Cyrus IMAPlmtpd service does not respect user_deny.db 
3373P3RESOLVED2.1.xCyrus SASLadding some sha mechanisms 
3459P3RESOLVED2.1.xCyrus SASLclient.c:138:1: error: static declaration of 'getpassphrase' follows non-static declaration 
3516P3RESOLVED2.5.x (next)Cyrus IMAPAdd HTTP Negotiate authentication 
3519P3RESOLVED2.5.x (next)Cyrus IMAPAdd WebDAV ACL support 
3520P3RESOLVED2.5.x (next)Cyrus IMAPAdd WebDAV LOCK support 
3521P3RESOLVED2.5.x (next)Cyrus IMAPAdd support for 'allprop' and 'propname' requests to PROPFIND 
3522P3RESOLVED2.5.x (next)Cyrus IMAPAdd sync-collection REPORT 
3523P3RESOLVED2.5.x (next)Cyrus IMAPAdd free-busy-query REPORT 
3572P3RESOLVED2.4.x (next)Cyrus IMAPModernize Autoconf 
3646P3RESOLVED2.5.x (next)Cyrus IMAPMove Jenkins build-and-test script into git 
3712P3RESOLVED2.4.x (next)Cyrus IMAPfriendly tool for modifying user_deny.db 
3798P3RESOLVED2.4.17Cyrus IMAPAdd support for VPOLL 
228P4NEW2.1.xCyrus SASLgssapi should be able to configure location of keytab 
247P4NEW2.1.xCyrus IMAPseperate out idle imapds from active imapd 
971P4NEW2.1.xCyrus IMAPmaster dropping privleges on linux should retain bind() privs 
1255P4NEW2.1.xCyrus SASLsupport LDAP auxprop fetching via an external process 
1961P4NEW2.1.xCyrus SASL_sasl_checkpass NULL user 
2215P4NEW2.1.xCyrus SASLAccount rename functionality in saslpasswd 
2302P4NEW2.2.xCyrus IMAPclean up ipurge's output, add a feature to clean only top folder 
3260P4NEW2.3.xCyrus IMAPLog when a mailbox is renamed 
500P5NEW2.0Cyrus SASLsample/client.c should have a multi-threaded mode? 
690P5NEW2.0Cyrus SASLupgrade to use libtool 1.4 
1807P5NEW2.2.xCyrus IMAPmodularize sieve extentions 
1810P5NEW2.2.xCyrus IMAPgive ipurge a test mode 
Warnings were generated during the execution of function
  1. Report truncated - count greater than max allowed 101 > 100