The date format preference is now refreshed each time the messages get listed. Previously, changes to the date format preference weren't noticed until the app restarted.
Remove trailing space from IMAP command This could be the cause of the error reported in issue 3089.
Fix length-check of BODYSTRUCTURE reply. Fixes issue 3116
Unify two IMAP date parsing paths, improving the exception so we can learn what date format we don't cope with.
Added another badDateTimeFormat to ImapResponseParser. Some IMAP servers generate timestamps without timezones. :/ Fixes gcode issue 3179
Fix bug with partitioning of IMAP FETCH commands
## WebDAV (Exchange)
In getPersonalNameSpaces now we ask the server for the real folder names corresponding to the special folders ids (for which we have constants), so we can map the account folders using the real names.
Support non-English Exchange installations.
Fix the ability to accept invalid SSL certificates for exchange support.
## POP3
Made the minor modifications to support CRAM-MD5 authentication in POP3 accounts.
Disable "Enable refile buttons" preference for POP3 users
## SMTP
New acounts now default to using the SMTP submission port (587) rather than the regular server-to-server (25) transport port.
Permanent failures when trying to deliver a message move it back to drafts.
Tempfail outgoing messages after 5 delivery attempts
Opening a "permfail" message takes you to the drafts folder
Split out "tempfail" and "permfail" message delivery errors
Fix "sending message failed" notifications to actually report the server error
If an SMTP server tells us how big the biggest message they accept is, don't even try to deliver a message to them if it's bigger than that size
For a while, it was possible for users to configure their outbox and drafts folders to be the same folder. This could result in drafts being sent over and over. This change uses the K-9 Identity header as a shibboleth for drafts, as it's not actually set when a message is sent.
Removed some extra spaces from SMTP commands which picky servers rejected Fixed gcode #3182
AttachmentProvider can now return an attachment with an unmodified MIME type. However, when viewing attachments this is not desirable. So we try hard to return a sensible MIME type (use extension to look up a MIME type if it's originally "application/octet-stream"; or replace with canonical MIME type if it's known to be wrong, e.g. "image/jpg" -> "image/jpeg")
## Sharing Messages
Add extra for the sender address(es) to the "Share intent"
Get rid of the "Fwd: " prefix when sharing a message. Add recipients to the intent ("To:" -> EXTRA_EMAIL, "CC:" -> EXTRA_CC)
Restore tools/build-beta to its former glory. It can now build a "K9 beta with different keys" that can sit next to an installed K-9.
K-9 now compiles in the libs we only need at build time when building with eclipse. This is an annoying default, but it'll make life easier for newbies starting out with K-9 for eclipse. We should ALWAYS do release builds with ant
## Bug fixes
Fixed polling schedule after SD cards are mounted or unmounted
Fixed several NullPointerExceptions
## Performance
Destroy all messages in one SQLite transaction
Perf improvement: use parcels instead of serializable. Standard Java serialization is slow on Android. Replacing it w/ parcelable makes it around 10x faster (on a N1, with ~ 500 messages in the list).
## Third-party libraries
Replaced our local copy of jzlib with a clean jar built from jzlib 1.0.7 downloaded from jcraft: http://www.jcraft.com/jzlib/jzlib-1.0.7.tar.gz
Replaced local version of jutf7 with a homebuilt jar from:
Replaced Apache Commons IO with v2.01 downloaded from apache.org as a prebuilt JAR
Tell eclipse to bundle JARs in libs but NOT to bundle libs in compile-only-libs. (Results in Eclipse building something much closer to what ant does)
Start building using a JAR of MIME4J
Add support for building with precompiled JARs
Removed dependency on (external) commons-codec and commons-logging
Get rid of now unnecessary BouncyCastle jar
Use SslCertificate that is part of the official Android API instead of BouncyCastle's X509Name (which is not shipped anymore in Android 3.0) to verify domain names on SSL/TLS connections.
Use java.util.zip for inflating (Can't use it for deflating since it doesn't have Z_PARTIAL_FLUSH)