Skip to main content

Jesse Vincent

K-9 Mail 3.600 for Android

4 min read

It gives me great pleasure to announce the release of version 3.600 of K-9 Mail.  Notable in this release are significant performance improvements and proper support for replying to / forwarding HTML mail.

While K-9 was originally "my fault", its continued success wouldn't be possible without the hard work of a number of contributors and committers.  At the risk of accidentally leaving out any recent contributor, I'd particularly like to thank (in alphabetical order): 

    achen.code, cketti, fiouzy, hiranotaka, jca02266, kris.p.wong, and marcus.wolschon

Their bug triage and commits are a big part of why K-9 is as wonderful as it is.

A rough changelog of "important" updates in K-9 3.6 follows:

Settings

  • Restore "only vibrate once" vibration notification option.
  • Add a setting to enable Outlook-style message quoting.
  • Add a setting to allow users to always show email addresses instead of the "friendly" parts of email addresses.
  • Add a setting to disable unread count in notification bar.
  • Add a setting to change the font size of the message preview in the message list. Fixes  issue 2788 

User Interface

  • Round account color chips
  • Be a little more graceful when scrolling horizontally in a (vertical) scroll view. Not quite to the point of diagonal scrolling, but hopefully closer.
  • Visual cleanup to Message Lists, Message views
  • Stop showing "Not polling" in the status header. Most of the time, this is because Push mail is enabled.
  • Improve the first page of the wizard on tablet-scale devices

I18N

  • Added a Brazilian Portugese translation from Marcio Viterbo
  • Updated Italian translation from Giuseppe Arrigo and Paolo Maccione. Fixes  issue 2778 
  • Updated Czech translation from lubekgc. Fixes  issue 2808 
  • Updated German translation with slightly modified version of the patch provided by OliverMe?...@googlemail.com
  • Updated Italian translation from paolo.maccione
  • Updated Spanish translation from Adolfo Gutiérrez Ocaña
  • Improved emoji support for a wide variety of carriers. HIRANO Takahito
  • Support for emoji in message subjects. HIRANO Takahito
  • Allow emoji input on Japanese devices. HIRANO Takahito
  • Implement phonetic search of Contacts on Eclair and earlier.

Internals

  • Upgrade to a newer version of MIME4J to gain significant performance improvements from the past few years of development
  • Enable Strict Mode when a new "developer mode" is enabled and we're running on 2.3 or newer
  • Update URL regexes by importing from AOSP and then from IANA
  • Initial implementation of folder attributes on the folder, rather than in preferences
  • Improve generation of plain text versions of HTML mail
  • Improve generation of message previews

Performance

  • Improve performance of account statistics generation.
  • Call the routine to convert emoji to images only when a message actually contains emoji.
  • Batch storing of unsynced messages to speed up DB update (chunk size set to 5).
  • Execute LocalMessage?.appendMessage() & LocalMessage?.setFlag() in the same transaction for small message storing in order to speed up DB update.

Security

  • Disable webview cache and javascript.

Notifications

  • When mail is sent successfully, cancel the "couldn't send mail" notification
  • Don't notify for new mail in a designated spam folder
  • Prevent new mail notifications for IMAP messages older than our most recent message.
  • Use a heuristic to try to avoid notifying POP3 users about older mail messages

Sending mail

  • Preserve HTML formatting when replying to or forwarding HTML mail
  • Clean up the display of quoted messages on the mail composition screen.
  • When editing a previously saved draft, only show the BCC field if it has entries other than the auto-bcc for that account.
  • Switch from generating X-User-Agent to User-Agent headers. Fixes  issue 1917 

Account setup

  • Use full email addresses as usernames for alternate Yahoo! domains.
  • Add support for other Yahoo! domains (ymail.com, rocketmail.com)
  • Set up some reasonableish defaults for which folders to sync when creating a new account.

IMAP

  • Correctly encode/escape strings when used in IMAP commands. Fixes  issue 2832 
  • Escape backslashes in IMAP mailbox names
  • Fix for the "K9 skips every 101st message when fetching on IMAP" bug by e-t172 . Fixes  Issue 2819 
  • Better handle the case where a list in an IMAP response is prematurely ended by CRLF. Fixes  issue 2852 

SMTP

  • Changed SMTP code to handle reply codes without additional text. Fixes  issue 2801 
  • Try using IP addresses for EHLO if the local hostname is unavailable. Only use a default hostname if the IP address is unavailable. ref r2958 issue 2750 .

 

Exchange

  • Fix usage of 'advanced' exchange settings.
  • Fix form based re-authentication when logon cookies had expired.

Behavior

  • Don't reset visible limits every time K-9 is opened, only when the user changes how many messages they want to be synced.