Skip to main content
Massively Parallel Procrastination

K-9 Mail 2.000 for Android

I'm pleased to announce the release of K-9 Mail version 2.000. This release represents several months of development and about 7000 lines of code changes.

The biggest "exciting new thing" in this release is Dan Applebaum's work to bring us true Push Mail using IMAP IDLE. I've been using it for about a month now and can no longer live without it. On top of that, we've closed about 50 bugs across all aspects of the application.  I've included a list of bugs known to be resolved, as well as an abbreviated change list below. 

You can download K-9 2.0 from the Android market. (There's a good chance that you're already using a 2.0 release candidate if you've been regularly updating K-9 from the market.)

As always, we welcome your feedback. The best place to report issues is at http://k9mail.googlecode.com. The best place to discuss K-9 is the k-9-mail mailinglist at http://groups.google.com/group/k-9-mail

Changes in K-9 2.000 (since 1.011)

    * *Push mail for IMAP accounts* using IMAP IDLE - danapple0

    * Accelerated message list loading using pipelined architecture - danapple0

    * More efficient background queue processing - danapple0

    * Improved unread-count tracking - danapple0

    * Improved threading model in MessagingController for higher efficiency and better responsiveness - danapple0

    * Disable polling and pushing when no network is available - danapple0

    * Provide explicit menu items to send messages from the Outbox - danapple0

    * Restore operation of hot keys and zoom when viewing a message - danapple0

    * Restore detection of hard keyboard to control display of navigation buttons when viewing a message - danapple0

    * Persist a copy of the message list when rotating for faster response - danapple0

    * Better deletion of IMAP messages and logging when deletion failures occur - danapple0

    * WebDAV / MS Exchange improvements: move, copy, delete and mark as unread now work. - danapple0

    * Fixes for WebDAV connection problems. - danapple0

    * Fixed bug where wrong messages is displayed after screen rotation (issue 556) - baolongnt

    * Respect global 'Background data' preference and provide ability to turn of all synchronization. - danapple0

    * Fixes for running on Android 2.0 - danapple0, jessev

    * SMTP and IMAP protocol fixes - danapple0

    * "Delete from server" is now the default for IMAP andxzz WebDAV accounts - danapple0

    * New sort-by and reverse-sort icons by Vincent Lum

    * Made the date column a bit wider to fully view time timestamp and view more of the date in landscape mode - baolongnt

    * We now accept all mime types when handling the android.intent.action.SEND intent - baolongnt

    * Normalize padding in setup widgets; turn off "fading edges" in setup widgets - jessev

    * Added content-type detection using file name extension (This adds better integration with OI File Manager which implements the ACTION_GET_CONTENT intent) - baolongnt

    * Remove duplicated "make this account the default" option during setup - jessev

    * Give the user the choice of whether to enable Push as they create a new IMAP account. - jessev

    * Make the status messages for folders that are being synced with push a bit prettier - jessev

    * Don't show folder choosers before we have a working account -jessev

    * Reorganize the Account Settings page, regrouping options by "what a reasonable user might want to change at the same time" - jessev

    * Make our use of email/mail consistent. It's "mail" except for "Email address" - jessev

    * Rephrase a number of unclear or oddly phrased messages (many dating from AOSP) - jessev

    * Slightly better MessageView fit-to-screen and scrollbar flow - jessev

    * First pass attempt at fixing the "Android 2.0 breaks contacts lookup" issue

    * K-9 now targets Android 1.6 (with 1.5 support) to support QVGA devices - jessev    

    * K-9 now  provides 2 - 24 poll check periods - danapple0

    * Account setup UI overhaul - jessev 

    * Record permanent failures into K9mail-errors -danapple0

    * K-9 now detects "Aw:" as being the same as "Re:" - jessev

    * Enable fast scroll in message view, list view and "pick a folder" dialogs -jessev

    * Sort the "NONE" folder to the top of the "auto-expand folder" list -jessev

    * All our layouts now use dip instead of px, for great weird-resolution weird-screen-size justice - jessev

    * Better italian translation - tauromenion

    * Fixed issue with reply icon in subject in message view screen not being set properly when navigating around using up and down arrows - baolongnt

    * Displays a warning and allows K-9 to continue in some situations that otherwise cause a crash.  -danapple0

    * Eliminate secret debug preferences activity.  Add debug preferences to global preferences. - danapple0

    * WebDAV: Automatically add / separators if not supplied by user.  -danapple0

    * WebDAV: Set authentication header for downloading and sending messages, so that those functions work with sites using Basic authentication. -danapple0

    * WebDAV: Don't swallow log Exceptions.  Instead, allow Exceptions to percolate up to higher levels so that they can be logged into K9mail-errors. - danapple0

    * WebDAV: Provide appendMessages function, so that Drafts get stored on the server - danapple0

    * Prevent a crash and put up a Toast when invalid data is entered early in the new-account setup workflow - danapple0

    * MessageListener.synchronizeMailboxNewMessage() does not requires a context to be passed anymore. -baolongnt

    * We use the application as context when broadcasting message received intents - baolongnt

    * Refactored intent constant classes - baolongnt

    * Better icon for the About menu item - baolongnt

    * Added intent for viewing individial messages - baolongnt

    * Issues fixed in since 1.0x:

      * Issue 4 - danapple0

      * Issue 44 - baolongnt

      * Issue 59 - danapple0

      * Issue 133 - danapple0

      * Issue 290 - danapple0

      * Issue 448 - danapple0

      * Issue 482 - danapple0

      * Issue 538 - danapple0

      * Issue 551 - danapple0

      * Issue 556 - baolongnt

      * Issue 573 - mpredo
sin

      * Issue 574 - danapple0

      * Issue 577 - danapple0

      * Issue 587 - danapple0

      * Issue 587 - danapple0

      * Issue 589 - baolongnt

      * Issue 589 - baolongnt

      * Issue 606 - mark.himsley

      * Issue 607 - baolongnt

      * Issue 628 - danapple0

      * Issue 650 - danapple0

      * Issue 651 - danapple0

      * Issue 654 - danapple0

      * Issue 656 - danapple0

      * Issue 657 - danapple0

      * Issue 668 - danapple0

      * Issue 673 - danapple0

      * Issue 675 - danapple0

      * Issue 682 - danapple0

      * Issue 696 - danapple0

      * Issue 708 - themaninthesuitcase (updated by danapple0)

      * Issue 710 - baolongnt

      * Issue 712 - danapple0

      * Issue 722 - danapple0

      * Issue 733 - danapple0

      * Issue 737 - danapple0

      * Issue 738 - danapple0

      * Issue 742 - danapple0

      * Issue 742 - danapple0

      * Issue 744 - jesse

      * Issue 747 - danapple0

      * Issue 752 - danapple0

      * Issue 753 - baolongnt

      * Issue 761 - baolongnt

      * Issue 762 - baolongnt