3.8.0b1 release notes

git-svn-id: http://svn.code.sf.net/p/davmail/code/trunk@1274 3d1905a2-6b24-0410-a738-b14d5a86fcbd
This commit is contained in:
mguessan 2010-07-25 21:46:07 +00:00
parent fbcbcc1fc5
commit 172c167300
1 changed files with 265 additions and 0 deletions

View File

@ -1,3 +1,268 @@
** DavMail 3.8.0b1 released **
First public release after major refactoring to implement Exchange 2010 and Exchange 2007 without
Webdav support. This implementation is based on Exchange Web Services. EWS support is not yet
complete: global address list search and free/busy support is missing.
This release includes the new Carddav service sponsored by French Defense / DGA through
project Trustedbird. OSX notifications will now use Growl if available.
Carddav:
- Carddav: another urlcompname encoding fix
- Carddav: generate OSX compatible VCARD photo and change addressbook-home-set with OSX Address Book
- Carddav: use new ExchangePropPatchMethod in full contact create/update
- CardDav: use new ExchangePropPatchMethod to create haspicture boolean property
- Carddav: improve error logging on photo update failure
- Carddav: use email1 as default email on update
- Carddav: fix multiple mail MAPI properties handling
- Carddav: fix GET request on folder support for SOGO
- Carddav: encode contact picture url
- Carddav: return 404 not found on missing folder
- Carddav: fix line folding in generated VCARD
- Carddav: Fix regression in single value multiline properties
- Carddav: add gender property
- Carddav: adjust bday to timezone
- Carddav: another anniversary property candidate
- Carddav: Add Anniversary support
- Carddav: Fix bday generation
- Carddav: fix iPhone BDAY parser
- Carddav: adjust fields accepting multiple values
- Carddav: fix semicolon encoding in compound value
- Carddav: workaround for iPhone categories encoding
- CardDav: do not encode simple (not compound) properties
- Carddav: fix regression in VCardWriter
- Carddav: always encode values
- Carddav: protect semicolon
- Carddav: iPhone personalHomePage support
- Carddav: ignore key prefix in VCARD
- Carddav: resize contact picture
- Carddav: Fix lower case param names
- Carddav: add contact create or update log statement
- Carddav: handle param values as parameter list
- Carddav: encode photo href
- Carddav: fix regression on VCARD photo detection
- Carddav: use urlcompname value instead of path to get contact details
- Carddav: fix case insensitive param values
- Carddav: add haspicture to test case
- Carddav: Implement picture delete and private flag over EWS
- Carddav: handle picture delete
- Carddav: fix boolean field handling
- Carddav: Remove missing properties on update
- Carddav: implement CLASS (private) flag
- Carddav: convert image to jpeg over EWS
- Carddav: implement photo update over WebDav
- Carddav: implement photo handling over EWS
- Carddav: implement categories support in EWS mode
- Carddav: implement categories
- Carddav: get SMTP email address
- Carddav: move value decoding back to VCardReader
- Carddav: decode multiline values
- Carddav: encode comma and \n in values
- CardDav: make getContactPhoto more robust
- Carddav: iPhone iOS4 compatibility
- Carddav: implement contact photo support (readonly)
- Carddav: implement quoted param value support
- Carddav: bday, assistant, manager and spouse properties
- Carddav: other address and homeposteofficebox properties
- Carddav: instant messaging and role properties
- Carddav: more properties
- Carddav: Implement phone, address and email properties
- Carddav: handle multiple values on a single line and add new properties
- CardDav: fix contact folder path handling and add create contact unit test
- Carddav: refactor Contact creation and create VCardReader
- CardDav: move Contact getBody to ExchangeSession and add more attributes support
- CardDav: map contact fields
- CardDav: improve automatic address book setup for OSX
- CardDav: implement OSX AddressBook requests: current-user-privilege-set property, current-user-principal on root request, addressbook-home-set on principal request, addressbook-multiget REPORT request with address-data response, urn:ietf:params:xml:ns:carddav namespace
Enhancement:
- Disable preemptive authentication when adding NTLM scheme
- Fixes from audit
- Force log file encoding to UTF-8
- Add new davmail.logFileSize setting
- Use linux friendly path separator in jsmooth config files
- Fixes from audit
- Major refactoring: use straight inpustream instead of reader everywhere
- Disable ConsoleAppender in gui mode
- Add missing Junit jar
- Cleanup: System.setProperty of httpclient.useragent no longer needed
- Improve item not found logging
- Log gateway stop at info level
- Improve empty keystore password handling to avoid NullPointerException
- Fix 2999717 redirect console to /dev/null in desktop file
Exchange Web Services:
- EWS: fix urlcompname encoding issues
- EWS: fix folder name ampersand encoding issue
- EWS: return 403 forbidden on ErrorAccessDenied
- EWS: xml encode values
- EWS: use UTF-8 to decode request on error
- EWS: send extended properties first on update
- EWS: format datereceived date
- EWS: fix bug in UnindexedFieldURI
- EWS: update createMessage bcc handling to match sendMessage
- EWS: implement bcc support in sendMessage
- EWS: implement send message (SMTP)
- EWS: fixes from audit
- EWS: fix CalendarItem creation, no need to wrap ics in a MIME message
- EWS: implement calendar event create or update, processed field, subfolder path handling
- EWS: fix internaldate conversion
- EWS: convert read flag to boolean and noneMatch/etag to detect create or update on items
- EWS: use UnindexedFieldURI for read flag
- EWS: fixes for Caldav and Carddav compatibility
- EWS: fix folder id regression
- EWS: fix country contact property mapping
- EWS: implement getItem and various contact handling fixes
- EWS: map all contact properties
- EWS: implement more contact and event methods
- EWS: implement copy method
- EWS: datereceived flag support
- EWS: handle bcc field
- EWS: various flag handling fixes, implement message delete
- EWS: implement getContent
- EWS: fix iconIndex flag property
- EWS: implement create and update message
- EWS: fix single value in MultiCondition handling
- EWS: rely on uid (PR_SEARCH_KEY) instead of permanentUrl to detect imap uid changes
- EWS: implement searchMessages
- EWS: fix bug in MultiCondition search
- EWS: fix from audit
- EWS: implement folder handling, including the new MoveFolderMethod
- EWS: move mailbox folder urls to DavExchangeSession
- EWS: use searchContacts in contactFind
- EWS: fix regression in deleted flag handling
- EWS: refactor contactFind, use new Condition API
- EWS: still more WebDav code to DavExchangeSession
- EWS: move more WebDav code to DavExchangeSession
- EWS: Various fixes after refactoring on DASL request generation
- EWS: in progress refactoring of contacts and events handling
- EWS: implement folder ctag, remove deprecated foldername property
- EWS: move WebDav message write and delete to DavExchangeSession
- EWS: move WebDav code to DavExchangeSession
- EWS: refactor IMAP search, use Conditions classes instead of string search filder
- EWS: Use int values to create ExtendedFieldURI propertyTags
- EWS: map folder path to and from IMAP
- EWS: implement NotCondition and public folder access
- EWS: implement IndexedFieldURI and InternetMessageHeader
- EWS: refactor search to use classes instead of String filters
- EWS: implement MultipleOperandBooleanExpression (And, Or, Not conditions)
- EWS: refactor folder search, create abstract getFolder methods
- EWS: start ExchangeSession refactoring to extract Dav calls
- EWS: refactor options, use enums
- EWS: implement basic SearchExpression restriction
- EWS: Implement CreateFolder, DeleteFolder and CreateItem, refactor options
- EWS: retrieve and decode MIME content
- EWS: add standard field additional property, implement IncludeMimeContent in GetItem, add DeleteItemMethod
- EWS: Generic item property mapping
- EWS: refactor EWS code
- EWS: experimental HttpClient based EWS methods
Caldav:
- Caldav: fix time-range filter support in EWS mode
- Caldav: move calendar on displayname update
- Caldav: partial MKCALENDAR implementation
- Caldav: implement time-range request
- Caldav: add missing dtstart field
- Caldav: improve 404 error handling
- Caldav: fix regression in processItem
- Caldav: UTF-8 encode report body
- Caldav: catch any exception in reportItems
- Caldav: Process request before sending response to avoid sending headers twice on error
- Caldav: Workaround for Lightning/1.0b2 href encoding bug in REPORT requests
- Caldav: move processItem logic back to CaldavConnection
- Caldav: Workaround for emClient broken href encoding
- Caldav: remove buildCalendarPath method
- Caldav: allows mixed case contentType in event MIME message (fix Unable to get event error)
- Caldav: fix 3014204 missing timezone
- Caldav: fix 2902372 private flag handling undex iCal 4 (OSX 10.6 Snow Leopard)
- Caldav: send current-user-principal on principals folder for iCal
- Caldav: workaround for iCal bug: do not notify if reply explicitly not requested
- Caldav: add CRLF after END:VCALENDAR to comply with RFC
- Caldav: fix regression in getItem, allow urn:content-classes:calendarmessage contentClass
- Caldav: Fix Carddav etag handling (additional Head request) and implement card delete
- Caldav: Implement Carddav create (only a few attributes mapped)
- Caldav: Implement basic Carddav search requests
Dav:
- Dav: more property update fixes
- Dav: patch filter on invalid Exchange Webdav response
- Dav: new ExchangePropPatchMethod to handle custom exchange propertyupdate and invalid response tag names
- Dav: refactor getContentReader and fix regression on null date value
- Dav: fix nullpointer in DavExchangeSession
- Dav: handle null properties with new createMessage
- Dav: another datereceived fix
- Dav: switch back to DAV:uid, used mainly in POP service (case sensitive)
- Dav: fix bug 3022451 in new search filter implementation with empty sub conditions
- Dav: Add folder unit tests
- Dav: add private and sensitivity fields
- Dav: implement timezone mapping for Exchange 2007, should fix the allday issue with Outlook
- Dav: use search expression to request ishidden
- Dav: fix regression in deleteItem
- Dav: fix regression 3020385 on folder handling
- Dav: Refactor folder search to use searchItems
- Dav: use Email1EmailAddress mapi property to get mail attribute, add uid attribute
- Dav: fix from audit
- Dav: add unit tests, move buildCalendarPath logic to getFolderPath
Bug fixes:
- Use private MultiThreadedHttpConnectionManager with NTLM to avoid persistent authentication on connection issues
- Fix regression in AbstractConnection: return null instead of empty string on closed connection
- Fix 3001579: improve NTLM support
IMAP:
- IMAP: add uidNext MAPI property (not available under Exchange 2003)
- IMAP: fix deleted flag handling over Webdav
- IMAP: fix flag handling in createMessage
- IMAP: new seen flag test case
- IMAP: fix regression on imap uid restore
- IMAP: fix 3023386, support BODY.PEEK[1.MIME] partial fetch
- IMAP: new unit tests and fix $Forwarded flag removal
- IMAP: implement deleted/undeleted search as condition instead of post filter
- IMAP: add IMAP unit test
- IMAP: fix 3014787 remove property over WebDav
- IMAP: implement last message (simple *) fetch range
- IMAP: send required "* SEARCH" on empty search response
- IMAP: Add a new hidden davmail.deleteBroken setting to delete broken messages
- IMAP: implement a new imapAutoExpunge setting to delete messages immediately over IMAP
SMTP:
- SMTP: send message directly without creating a Draft message to preserve Message-id
- SMTP: fix log message
- SMTP: fix 3024482, avoid duplicate messages with gmail
- SMTP: Fix DoubleDotInputStream pushback size
- SMTP: last CRLF is not included in message content
Documentation:
- Doc: javadoc and code cleanup
- Doc: fix default domain label
- Doc: new FAQ entry on OSX auto start "Login Items"
- Doc: typos fixes from Raphael Fairise
- Doc: update release guide
- Doc: add a new mail.strictly_mime FAQ entry to enable quoted-printable
POP:
- POP: fix regression in TOP command
- POP: fix message termination, append CRLF only when necessary
- POP: replace deprecated write method, use DoubleDotOutputStream instead
- POP: allow space in username
LDAP:
- LDAP: fix contact attributes reverse mapping
- LDAP: improve contact attribute mapping and add a few new properties
- LDAP: fix attribute map
- LDAP: fix regression after EWS refactoring
- LDAP: use imap uid as ldap uid
- LDAP: use PR_SEARCH_KEY instead of DAV:uid as uid string
OSX:
- Exclude growl from non OSX packages
- Fix growl build project name
- OSX: implement growl support
- include jnilib in OSX package
- libgrowl-0.2 with libgrowl.jnilib compiled on OSX Snow Leopard
- set libgrowl version to 0.2
- rename generated jar with version, exclude test classes and create Manifest with Michael Stringer author
- Improve Growl exception handling, remove System.out and a few fixes from audit
- Initial growl import from http://forums.cocoaforge.com/viewtopic.php?f=6&t=17320
** DavMail 3.6.6 released ** ** DavMail 3.6.6 released **
This release is mainly focused on IMAP enhancements, including IDLE (RFC2177) This release is mainly focused on IMAP enhancements, including IDLE (RFC2177)
aka "Push Mail" support and other protocol compliance fixes, particularly on aka "Push Mail" support and other protocol compliance fixes, particularly on