<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent posts to news</title><link>https://sourceforge.net/p/davmail/news/</link><description>Recent posts to news</description><atom:link href="https://sourceforge.net/p/davmail/news/feed.rss" rel="self"/><language>en</language><lastBuildDate>Sun, 12 Apr 2026 16:34:25 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/davmail/news/feed.rss" rel="self" type="application/rss+xml"/><item><title>DavMail 6.6.0 released</title><link>https://sourceforge.net/p/davmail/news/2026/04/davmail-660-released/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Ever wanted to get rid of Outlook ? DavMail is a&lt;br/&gt;
      POP/IMAP/SMTP/Caldav/Carddav/LDAP Exchange and Office 365 gateway allowing&lt;br/&gt;
      users to use any mail/calendar client (e.g. Thunderbird with&lt;br/&gt;
      Lightning or Apple iCal) with an Exchange server, even from the&lt;br/&gt;
      internet or behind a firewall through Outlook Web&lt;br/&gt;
      Access. DavMail now includes an LDAP gateway to Exchange global&lt;br/&gt;
      address book and user personal contacts to allow recipient&lt;br/&gt;
      address completion in mail compose window and full calendar&lt;br/&gt;
      support with attendees free/busy display. The main goal of&lt;br/&gt;
      DavMail is to provide standard compliant protocols in front of&lt;br/&gt;
      proprietary Exchange. This means LDAP for address book, SMTP to&lt;br/&gt;
      send messages, IMAP to browse messages on the server in any&lt;br/&gt;
      folder, POP to retrieve inbox messages only and Caldav for&lt;br/&gt;
      calendar support. Thus any standard compliant client can be used&lt;br/&gt;
      with Microsoft Exchange. DavMail gateway is implemented in java&lt;br/&gt;
      and should run on any platform. Releases are tested on Windows,&lt;br/&gt;
      Linux (Ubuntu) and Mac OS X. Tray does not work on MacOS and is&lt;br/&gt;
      replaced with a full frame. Tested successfully with the Iphone&lt;br/&gt;
      (gateway running on a server).&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;  Merged bugfixes provided by users on IMAP compliance and O365 device code authentication support,
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;changed default OIDC nativeclient after Microsoft recent change to force redirect to /common/wrongplace.&lt;br/&gt;
Also changed duplicate message id handling over SMTP to match a specific user use case.&lt;br/&gt;
Please note that configuration file location is now XDG compliant by default.&lt;br/&gt;
Major progress on new graph backend even if it's not production ready yet, implemented ldap search, contact sync,&lt;br/&gt;
improved caldav and mail synchronization.&lt;/p&gt;
&lt;h3 id="h-o365"&gt;O365&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;O365: remove outlook.live.com reference in O365Authenticator, no longer relevant&lt;/li&gt;
&lt;li&gt;O365: merge &lt;a href="https://github.com/mguessan/davmail/pull/442" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/442&lt;/a&gt; Missing patch to handle O365_DEVICECODE&lt;/li&gt;
&lt;li&gt;O365: move oauth scope to Settings.getOauthScope()&lt;/li&gt;
&lt;li&gt;O365: merge &lt;a href="https://github.com/mguessan/davmail/pull/442" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/442&lt;/a&gt; Refactor to use RestRequest, clean up code&lt;/li&gt;
&lt;li&gt;O365: merge &lt;a href="https://github.com/mguessan/davmail/pull/442" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/442&lt;/a&gt; Add device code authenticator&lt;/li&gt;
&lt;li&gt;O365: Microsoft changed &lt;a href="https://login.microsoftonline.com/common/oauth2/nativeclient" rel="nofollow"&gt;https://login.microsoftonline.com/common/oauth2/nativeclient&lt;/a&gt; to redirect to /common/wrongplace, use &lt;a href="https://localhost/common/oauth2/nativeclient" rel="nofollow"&gt;https://localhost/common/oauth2/nativeclient&lt;/a&gt; instead&lt;/li&gt;
&lt;li&gt;O365: do not try failover on linux, SWT gtk browser breaks JFX&lt;/li&gt;
&lt;li&gt;O365: catch SWT error to enable failover to OpenJFX&lt;/li&gt;
&lt;li&gt;O365: log swt browser error detail&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-imap"&gt;IMAP&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: fix complex IMAP search with NOT condition on unprotected search token&lt;/li&gt;
&lt;li&gt;IMAP: handle bug 3 from &lt;a href="https://github.com/mguessan/davmail/issues/444" rel="nofollow"&gt;https://github.com/mguessan/davmail/issues/444&lt;/a&gt; RFC 3501 violation breaking some clients, always encode envelope header value&lt;/li&gt;
&lt;li&gt;IMAP: handle bug 1 from &lt;a href="https://github.com/mguessan/davmail/issues/444" rel="nofollow"&gt;https://github.com/mguessan/davmail/issues/444&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-pop"&gt;POP&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;POP: fix typo&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-carddav"&gt;CardDav&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Carddav: handle VCARD4 birthday format yyyyMMdd&lt;/li&gt;
&lt;li&gt;Carddav: change photo format to &lt;a href="https://datatracker.ietf.org/doc/html/rfc2397" rel="nofollow"&gt;https://datatracker.ietf.org/doc/html/rfc2397&lt;/a&gt; format, see &lt;a href="https://github.com/aluxnimm/outlookcaldavsynchronizer/issues/441" rel="nofollow"&gt;https://github.com/aluxnimm/outlookcaldavsynchronizer/issues/441&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-caldav"&gt;Caldav&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: do not set private field to null, breaks graph backend that expects boolean&lt;/li&gt;
&lt;li&gt;Caldav: mailbox field is empty on standard calendar folder, need to failover to user email in getCalendarEmail&lt;/li&gt;
&lt;li&gt;Caldav: &lt;a href="https://github.com/mguessan/davmail/issues/419" rel="nofollow"&gt;https://github.com/mguessan/davmail/issues/419&lt;/a&gt; add getCalendarEmail to ExchangeSession&lt;/li&gt;
&lt;li&gt;Caldav: &lt;a href="https://github.com/mguessan/davmail/issues/419" rel="nofollow"&gt;https://github.com/mguessan/davmail/issues/419&lt;/a&gt; implement getCalendarEmail to rely on calendar mailbox address instead of connected user email on shared calendars&lt;/li&gt;
&lt;li&gt;Caldav: &lt;a href="https://github.com/mguessan/davmail/issues/419" rel="nofollow"&gt;https://github.com/mguessan/davmail/issues/419&lt;/a&gt; add getCalendarEmail to VCalendar&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-smtp"&gt;SMTP&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;SMTP: merge change suggested in &lt;a href="https://github.com/mguessan/davmail/pull/437" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/437&lt;/a&gt; Allow messages with the same message id but different recipient list&lt;/li&gt;
&lt;li&gt;SMTP: review smtpAllowDuplicateSend flag logic and improve logging&lt;/li&gt;
&lt;li&gt;SMTP: allow sending multiple messages with the same message id, see &lt;a href="https://github.com/mguessan/davmail/issues/433" rel="nofollow"&gt;https://github.com/mguessan/davmail/issues/433&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-enhancements"&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Cleanup from audit&lt;/li&gt;
&lt;li&gt;Add unit tests on StringEncryptor&lt;/li&gt;
&lt;li&gt;Suppress inspection "UnusedProperty" in stdtimezones.properties&lt;/li&gt;
&lt;li&gt;Test case for testReplaceIcal4Principal&lt;/li&gt;
&lt;li&gt;Avoid errors on null value in StringUtil.escapeQuotes method&lt;/li&gt;
&lt;li&gt;Config: switch to XDG compliant config file path by default&lt;/li&gt;
&lt;li&gt;NTLM: adjust DavMail NTLM and SpNego to avoid compilation warning&lt;/li&gt;
&lt;li&gt;SWT: resize tray icon using AWT SCALE_AREA_AVERAGING for better rendering&lt;/li&gt;
&lt;li&gt;Fix encoding on messages&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-maven"&gt;Maven&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Maven: update swt to 4.37, windows package&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-ews"&gt;EWS&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: improve missing From header handling&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-documentation"&gt;Documentation&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: document O365DeviceCode in template davmail.properties&lt;/li&gt;
&lt;li&gt;Doc: switch urls to https for external links&lt;/li&gt;
&lt;li&gt;Doc: merge &lt;a href="https://github.com/mguessan/davmail/pull/436/" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/436/&lt;/a&gt; Superfluous bracket removed&lt;/li&gt;
&lt;li&gt;Doc: reference winget in windows setup documentation&lt;/li&gt;
&lt;li&gt;Doc: document all undocumented settings in template davmail.properties&lt;/li&gt;
&lt;li&gt;Doc: Fix GHCR docker badge&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-security"&gt;Security&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Security: replace regex in replaceIcal4Principal with simple substring calls to fix &lt;a href="https://github.com/mguessan/davmail/security/code-scanning/22" rel="nofollow"&gt;https://github.com/mguessan/davmail/security/code-scanning/22&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-linux"&gt;Linux&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Linux: clean desktop entry content to match recommendations&lt;/li&gt;
&lt;li&gt;Linux: prepare spec file for RHEL10&lt;/li&gt;
&lt;li&gt;Linux: enable jdk 21 in debian package&lt;/li&gt;
&lt;li&gt;Linux: merge &lt;a href="https://github.com/mguessan/davmail/pull/427" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/427&lt;/a&gt; Fedora 43 fix&lt;/li&gt;
&lt;li&gt;Linux: davmail swt overwrite jar if exists&lt;/li&gt;
&lt;li&gt;Linux: work on &lt;a href="https://github.com/mguessan/davmail/pull/383" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/383&lt;/a&gt; Enhance davmail script to allow overrides&lt;/li&gt;
&lt;li&gt;Linux: Introduce "davmail swt" command in platform independent package to retrieve latest SWT jar&lt;/li&gt;
&lt;li&gt;Move SWT dependency from suggest to depends in debian package&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-docker"&gt;Docker&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Docker: fix interactive run command to store configuration on XDG compliant directory, map user ids and access X11 without xhost +&lt;/li&gt;
&lt;li&gt;Docker: check for /run/.containerenv on podman&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-osx"&gt;OSX&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;OSX: fix &lt;a href="https://github.com/mguessan/davmail/issues/396" rel="nofollow"&gt;https://github.com/mguessan/davmail/issues/396&lt;/a&gt; prefer arm64 architecture&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-gui"&gt;GUI&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;GUI: Enable tray add missing messages&lt;/li&gt;
&lt;li&gt;GUI: introduce davmail.enableTray setting to control window/tray icon modes, by default tray is disabled on linux, override with command line options -notray and -tray, see &lt;a href="https://github.com/mguessan/davmail/issues/428" rel="nofollow"&gt;https://github.com/mguessan/davmail/issues/428&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-graph"&gt;Graph&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Graph: fix undeleted search, for integer values extended condition is eq null not eq 0&lt;/li&gt;
&lt;li&gt;Graph: replace MAPI propety 0x0e06/SystemTime with receivedDateTime for message search&lt;/li&gt;
&lt;li&gt;Graph: implement isInternetHeaders in GraphField&lt;/li&gt;
&lt;li&gt;Graph: header search does not work over graph, try to match full internet headers in AttributeCondition&lt;/li&gt;
&lt;li&gt;Graph: map to, cc and from as internetheaders, make isRead boolean, implement body search&lt;/li&gt;
&lt;li&gt;Graph: switch move/applyProperties in createMessage, implement more search operators, fix date and categories search&lt;/li&gt;
&lt;li&gt;Graph: keep MAPI property for folderlastmodified 0x3008/SystemTime, switch to lastModifiedDateTime for messages&lt;/li&gt;
&lt;li&gt;Graph: add graph specific mappings in LdapConnection (userprincipalname, mailboxtype, persontype, isfavorite)&lt;/li&gt;
&lt;li&gt;Graph: use lowercase attributes in galfind map to match LdapConnection implementation&lt;/li&gt;
&lt;li&gt;Graph: protect search parameter value with double quotes and escape content with backslash&lt;/li&gt;
&lt;li&gt;Graph: implement escapeDoubleQuotes in StringUtil&lt;/li&gt;
&lt;li&gt;Graph: refactor galFind to properly map attributes coming from people endpoint&lt;/li&gt;
&lt;li&gt;Graph: add addHeader to GraphRequestBuilder to set custom HTTP request headers&lt;/li&gt;
&lt;li&gt;Graph: switch description field to MAPI property as personalNotes is not searchable&lt;/li&gt;
&lt;li&gt;Graph: fix not condition and implement sizeLimit on graph iterator&lt;/li&gt;
&lt;li&gt;Graph: first try at people search implementation based on poor filtering support on people endpoint&lt;/li&gt;
&lt;li&gt;Graph: catch SC_CONFLICT in JsonResponseHandler&lt;/li&gt;
&lt;li&gt;Graph: refactor search condition filter to match GraphField implementation, switch galFind to people handler&lt;/li&gt;
&lt;li&gt;Graph: Implement HttpConflictException for 409 conflict error code&lt;/li&gt;
&lt;li&gt;Graph: refactor contact unit test to match Graph API constraints&lt;/li&gt;
&lt;li&gt;Graph: map event fields and implement integer extended property search&lt;/li&gt;
&lt;li&gt;Graph: force default Oauth scope to "openid profile offline_access" with preconsented application clientId&lt;/li&gt;
&lt;li&gt;Graph: add missing iconIndex field, handle null values for X-MICROSOFT-CDO properties&lt;/li&gt;
&lt;li&gt;Graph: apply field refactoring to events and tasks&lt;/li&gt;
&lt;li&gt;Graph: revert change on ExchangeSession.createOrUpdateContact, do not exclude private from reset&lt;/li&gt;
&lt;li&gt;Graph: remove getGraphId from EWS code&lt;/li&gt;
&lt;li&gt;Graph: refactor getMimeHeaders based on GraphField, handle missing from header&lt;/li&gt;
&lt;li&gt;Graph: implement from header and format returned JSON email address&lt;/li&gt;
&lt;li&gt;Graph: extend GraphField refactoring to messages&lt;/li&gt;
&lt;li&gt;Graph: move date conversion to graph object, map event fields in GraphField&lt;/li&gt;
&lt;li&gt;Graph: compute $select and $expand parameters from provided field list&lt;/li&gt;
&lt;li&gt;Graph: implement max count in contact search&lt;/li&gt;
&lt;li&gt;Graph: adjust contact test cases for Graph API&lt;/li&gt;
&lt;li&gt;Graph: refactor odata.etag and handle null values for boolean fields&lt;/li&gt;
&lt;li&gt;Graph: map fileas and outlookmessageclass, exclude subject from contact&lt;/li&gt;
&lt;li&gt;Graph: continue graph field refactoring, handle dates in field, improve smtpemail management&lt;/li&gt;
&lt;li&gt;Graph: fix regression, force number attributes value&lt;/li&gt;
&lt;li&gt;Graph: continue major refactoring, map contact fields in GraphField&lt;/li&gt;
&lt;li&gt;Graph: major refactoring, move away from EWS fields and implement GraphField&lt;/li&gt;
&lt;li&gt;Graph: handle more search use cases&lt;/li&gt;
&lt;li&gt;Graph: get graph url from settings and allow api version override with davmail.graphVersion&lt;/li&gt;
&lt;li&gt;Graph: switch to /search/query for people search, need People.Read scope&lt;/li&gt;
&lt;li&gt;Graph: experimental implementation of contact search based on AttributeConditions&lt;/li&gt;
&lt;li&gt;Graph: implement isBinary on ExtendedFieldURI and force extended graphId name for smtpemail1-3&lt;/li&gt;
&lt;li&gt;Graph: allow graph API version change from beta to v1.0&lt;/li&gt;
&lt;li&gt;Graph: fix sonar audit alert on InterruptedException handling&lt;/li&gt;
&lt;li&gt;Graph: refactor throttling handling to apply retry logic to graph and json requests&lt;/li&gt;
&lt;li&gt;Graph: initial galFind implementation, detect Azure throttling and automatically retry requests&lt;/li&gt;
&lt;li&gt;Graph: add additional signatures for graphId fields&lt;/li&gt;
&lt;li&gt;Graph: add Directory.Read.All OIDC scope to access /users endpoint for LDAP search&lt;/li&gt;
&lt;li&gt;Graph: review and document GraphObject implementation&lt;/li&gt;
&lt;li&gt;Graph: implement VALARM&lt;/li&gt;
&lt;li&gt;Graph: implement LOCATION and CATEGORIES on events&lt;/li&gt;
&lt;li&gt;Graph: on event creation client may request event by original item name, implement search by urlcompname in addition to fetch by item id&lt;/li&gt;
&lt;li&gt;Graph: refactor exception occurrences update/delete and fix date conversion&lt;/li&gt;
&lt;li&gt;Graph: refactor get recurrence id, extract date configuration to helper class&lt;/li&gt;
&lt;li&gt;Graph: fix caldav exception occurrence management, graph returns unique iCalUid instead of master event uid&lt;/li&gt;
&lt;li&gt;Graph: log updated occurrence content&lt;/li&gt;
&lt;li&gt;Graph: fix modified occurrences search&lt;/li&gt;
&lt;li&gt;Graph: fix null folderPath and implement deleteItem for contacts, events and tasks&lt;/li&gt;
&lt;li&gt;Graph: do not set haspicture to null, breaks graph call&lt;/li&gt;
&lt;li&gt;Graph: initiate modified occurrences and rrule implementation&lt;/li&gt;
&lt;li&gt;Graph: fix some contact sync issues&lt;/li&gt;
&lt;li&gt;Graph: implement getReccurrenceId to compute recurrence id from original start date and time zone&lt;/li&gt;
&lt;li&gt;Graph: remove GraphExchangeSessionDraft&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mickael Guessant</dc:creator><pubDate>Sun, 12 Apr 2026 16:34:25 -0000</pubDate><guid>https://sourceforge.nete9c79bfab5982e03375b59beed4086066fe8cae1</guid></item><item><title>DavMail 6.5.1 released</title><link>https://sourceforge.net/p/davmail/news/2025/10/davmail-651-released/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Ever wanted to get rid of Outlook ? DavMail is a POP/IMAP/SMTP/Caldav/Carddav/LDAP Exchange and Office 365&lt;br/&gt;
gateway allowing users to use any mail/calendar client (e.g. Thunderbird with Lightning or&lt;br/&gt;
Apple iCal) with an Exchange server, even from the internet or behind a firewall through&lt;br/&gt;
Outlook Web Access.&lt;br/&gt;
DavMail now includes an LDAP gateway to Exchange global address book and user personal&lt;br/&gt;
contacts to allow recipient address completion in mail compose window and full calendar&lt;br/&gt;
support with attendees free/busy display.&lt;br/&gt;
The main goal of DavMail is to provide standard compliant protocols in front of proprietary&lt;br/&gt;
Exchange. This means LDAP for global address book, SMTP to send messages, IMAP to browse&lt;br/&gt;
messages on the server in any folder, POP to retrieve inbox messages only, Caldav for&lt;br/&gt;
calendar support and Carddav for personal contacts sync.&lt;br/&gt;
Thus any standard compliant client can be used with Microsoft Exchange.&lt;br/&gt;
DavMail gateway is implemented in java and should run on any platform. Releases are tested&lt;br/&gt;
on Windows, Linux (Ubuntu) and Mac OSX. Tested successfully with the Iphone&lt;br/&gt;
(gateway running on a server).&lt;/p&gt;
&lt;p&gt;Bugfix release to adjust packaging after 6.5.0 major changes, detect Flatpak and adjust settings and log&lt;br/&gt;
location accordingly.&lt;/p&gt;
&lt;h3 id="h-enhancements"&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: cleanup from audit&lt;/li&gt;
&lt;li&gt;Suppress warning on Subject.doAs in DavMailNTLMScheme&lt;/li&gt;
&lt;li&gt;GUI: switch to GitHub as recommended issue tracker about dialog&lt;/li&gt;
&lt;li&gt;GUI: Update link to https in about dialog&lt;/li&gt;
&lt;li&gt;Settings fix from audit&lt;/li&gt;
&lt;li&gt;Fix &lt;a href="https://github.com/mguessan/davmail/issues/387" rel="nofollow"&gt;https://github.com/mguessan/davmail/issues/387&lt;/a&gt; suppress warning on Subject.doAs&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-documentation"&gt;Documentation&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: update spec file changes, add komac winget command to release guide&lt;/li&gt;
&lt;li&gt;Doc: revert replace on GitHub url&lt;/li&gt;
&lt;li&gt;Doc: add new Fedora KDE Plasma screenshots&lt;/li&gt;
&lt;li&gt;Doc: drop 32 bits package from site documentation&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-build"&gt;Build&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Build: exclude jacoco and sonarqube jars from dist/lib&lt;/li&gt;
&lt;li&gt;Build: set discardError on git svn check&lt;/li&gt;
&lt;li&gt;Build: change back to java 11 bytecode level for recent java jdks&lt;/li&gt;
&lt;li&gt;Build: fix missing ini files in windows installer&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-flatpak"&gt;Flatpak&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Adjust background color&lt;/li&gt;
&lt;li&gt;Icon without shadow&lt;/li&gt;
&lt;li&gt;Flatpak: change summary according to Flathub rules&lt;/li&gt;
&lt;li&gt;Flatpak: update README.md&lt;/li&gt;
&lt;li&gt;Flatpak: Simplify isFlatpak&lt;/li&gt;
&lt;li&gt;Flatpak: Create an ant target for flatpak release&lt;/li&gt;
&lt;li&gt;Flatpak: Fix launchable and add additional screenshots to appstream file&lt;/li&gt;
&lt;li&gt;Flatpak: adjust settings for flatpak containers&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-swt"&gt;SWT&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;SWT: Remove dependency to SWT in O365InteractiveAuthenticator&lt;/li&gt;
&lt;li&gt;SWT: Refactor O365InteractiveAuthenticator to switch to OpenJFX in case of SWT error&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mickael Guessant</dc:creator><pubDate>Wed, 29 Oct 2025 18:20:29 -0000</pubDate><guid>https://sourceforge.netf49b0307a8e9b4166a3181f37365531a84062321</guid></item><item><title>DavMail 6.5.0 released</title><link>https://sourceforge.net/p/davmail/news/2025/10/davmail-650-released/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Ever wanted to get rid of Outlook ? DavMail is a POP/IMAP/SMTP/Caldav/Carddav/LDAP Exchange and Office 365&lt;br/&gt;
gateway allowing users to use any mail/calendar client (e.g. Thunderbird with Lightning or&lt;br/&gt;
Apple iCal) with an Exchange server, even from the internet or behind a firewall through&lt;br/&gt;
Outlook Web Access.&lt;br/&gt;
DavMail now includes an LDAP gateway to Exchange global address book and user personal&lt;br/&gt;
contacts to allow recipient address completion in mail compose window and full calendar&lt;br/&gt;
support with attendees free/busy display.&lt;br/&gt;
The main goal of DavMail is to provide standard compliant protocols in front of proprietary&lt;br/&gt;
Exchange. This means LDAP for global address book, SMTP to send messages, IMAP to browse&lt;br/&gt;
messages on the server in any folder, POP to retrieve inbox messages only, Caldav for&lt;br/&gt;
calendar support and Carddav for personal contacts sync.&lt;br/&gt;
Thus any standard compliant client can be used with Microsoft Exchange.&lt;br/&gt;
DavMail gateway is implemented in java and should run on any platform. Releases are tested&lt;br/&gt;
on Windows, Linux (Ubuntu) and Mac OSX. Tested successfully with the Iphone&lt;br/&gt;
(gateway running on a server).&lt;/p&gt;
&lt;p&gt;Release focused on build and distribution improvements, merged and refactored Docker configuration with automatic &lt;br/&gt;
image build based on Github Actions and docker compose samples. For Linux cleaned up the RPM spec file and &lt;br/&gt;
added sysusers configuration for Fedora 43.&lt;br/&gt;
Also dropped obsolete 32 bits packages on windows and embedded recent JDK version inside remaining packages.&lt;br/&gt;
In addition a brand new O365 interactive authentication implementation based on SWT and Webview2 is available with&lt;br/&gt;
native windows authentication support, which means FIDO2 and Windows Hello authentication are now supported. On Linux&lt;br/&gt;
SWT embedded browser is based on Webkit.&lt;/p&gt;
&lt;h3 id="h-linux"&gt;Linux&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Linux: RPM spec switch group to Productivity/Networking/Email/Utilities, remove fedora lua dependency, fix java dependency&lt;/li&gt;
&lt;li&gt;Linux: RPM spec remove old el6 code, review java dependency, let ant compile with current jdk version, do not package logrotate configuration on systemd based systems&lt;/li&gt;
&lt;li&gt;Linux: RPM spec merge &lt;a href="https://github.com/mguessan/davmail/pull/421" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/421&lt;/a&gt; Use sysusers.d for Fedora&lt;/li&gt;
&lt;li&gt;Linux: review launcher&lt;/li&gt;
&lt;li&gt;Linux: merge appstream patch to match Flatpak packaging rules&lt;/li&gt;
&lt;li&gt;Linux: Compute SWT_CLASSPATH in various cases&lt;/li&gt;
&lt;li&gt;Linux: fix regression after spec file refactoring, see &lt;a href="https://github.com/mguessan/davmail/issues/420" rel="nofollow"&gt;https://github.com/mguessan/davmail/issues/420&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-docker"&gt;Docker&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Docker: fix missing newline at end of file&lt;/li&gt;
&lt;li&gt;Docker: change isDocker check, cgroup is not reliable just check /.dockerenv&lt;/li&gt;
&lt;li&gt;Docker: use IMAGE_LABEL as target image&lt;/li&gt;
&lt;li&gt;Docker: avoid isDocker duplicate log statements&lt;/li&gt;
&lt;li&gt;Docker: entrypoint cleanup&lt;/li&gt;
&lt;li&gt;Docker: update Makefile to match latest changes, encode $ as required&lt;/li&gt;
&lt;li&gt;Docker: Reference docker images on main README page&lt;/li&gt;
&lt;li&gt;Docker: review and update documentation to match latest changes&lt;/li&gt;
&lt;li&gt;Docker: review makefile to match new Dockerfile&lt;/li&gt;
&lt;li&gt;Docker: set DAVMAIL_PROPERTIES in entrypoint and copy template if not exists&lt;/li&gt;
&lt;li&gt;Docker: fix classpath&lt;/li&gt;
&lt;li&gt;Docker: default option is notray&lt;/li&gt;
&lt;li&gt;Docker: review classpath, separate openjfx modules configuration, introduce DAVMAIL_PROPERTIES env variable&lt;/li&gt;
&lt;li&gt;Docker: create template davmail.properties file in /etc, remove servlet dependency&lt;/li&gt;
&lt;li&gt;Docker: create DAVMAIL_PROPERTIES environment to define settings file path in Docker&lt;/li&gt;
&lt;li&gt;Docker: log to console only when running in docker container&lt;/li&gt;
&lt;li&gt;Docker: need git-svn to build and remove swt package from runtime (use OpenJFX instead)&lt;/li&gt;
&lt;li&gt;Docker: OpenJFX is required to build O365InteractiveAuthenticatorFrame, make sure entrypoint is executable&lt;/li&gt;
&lt;li&gt;Docker: call ant to build jar only, adjust entrypoint.sh location&lt;/li&gt;
&lt;li&gt;Docker: initiate merge of &lt;a href="https://github.com/mguessan/davmail/pull/409" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/409&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-enhancements"&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Merge &lt;a href="https://github.com/mguessan/davmail/pull/410:" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/410:&lt;/a&gt; Add Russian translation&lt;/li&gt;
&lt;li&gt;Make O365Interactive the default mode on first start&lt;/li&gt;
&lt;li&gt;Adjust default settings template&lt;/li&gt;
&lt;li&gt;Move SWT and JFX available checks to Settings&lt;/li&gt;
&lt;li&gt;Add missing translation messages&lt;/li&gt;
&lt;li&gt;Change user agent on getReleasedVersion as sourceforge blocks default user agent&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-build"&gt;Build&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Build: fix jackrabbit dependencies in maven pom&lt;/li&gt;
&lt;li&gt;Build: remove ini configuration from winrun4j wrappers (no need to update exe for next lib upgrade)&lt;/li&gt;
&lt;li&gt;Build: update debian package dependencies&lt;/li&gt;
&lt;li&gt;Build: switch openjfx to 19 in appveyor&lt;/li&gt;
&lt;li&gt;Build: appveyor copy openjfx libs with JDK 19&lt;/li&gt;
&lt;li&gt;Build: appveyor download openjfx&lt;/li&gt;
&lt;li&gt;Build: drop noinstall package in favor of the standalone windows package&lt;/li&gt;
&lt;li&gt;Build: fix task name in github release workflow&lt;/li&gt;
&lt;li&gt;Build: release github workflow fix condition&lt;/li&gt;
&lt;li&gt;Build: release github workflow fix name&lt;/li&gt;
&lt;li&gt;Build: merge release github workflow from &lt;a href="https://github.com/mguessan/davmail/pull/409" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/409&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Build: set github docker workflow file parameter to ./src/docker/Dockerfile&lt;/li&gt;
&lt;li&gt;Build: create Github workflow to build and push the unstable docker image&lt;/li&gt;
&lt;li&gt;Build: move init depends to compile target&lt;/li&gt;
&lt;li&gt;Settings import cleanup and fix isJFXAvailable&lt;/li&gt;
&lt;li&gt;Build: add is.debian compile target to build on debian with openjfx (including docker)&lt;/li&gt;
&lt;li&gt;Build: include .ini in windows win4j wrapper and refactor java version detection to match more recent JDK versions&lt;/li&gt;
&lt;li&gt;Build: Revert SWT to version 4.20 to build with JDK 8&lt;/li&gt;
&lt;li&gt;Build: update winrun4J wrappers with SWT and include jar in installer&lt;/li&gt;
&lt;li&gt;Build: Drop windows 32 bits packages&lt;/li&gt;
&lt;li&gt;Build: fix uninstaller to properly remove jre&lt;/li&gt;
&lt;li&gt;Build: Embed Zuu JRE inside NSI installer, update DavMail url&lt;/li&gt;
&lt;li&gt;Build: Merge &lt;a href="https://github.com/mguessan/davmail/pull/417" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/417&lt;/a&gt; Fixed 'java.awt.AWTError: Assistive Technology not found: com.sun.java.accessibility.AccessBridge' in Windows standalone distribution&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-graph"&gt;Graph&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Graph: cleanup builder&lt;/li&gt;
&lt;li&gt;Graph: handle date based conditions and exdate cancelled occurrences&lt;/li&gt;
&lt;li&gt;Graph: set graphid for dtstart and dtend&lt;/li&gt;
&lt;li&gt;Graph: move encodeFolderName/decodeFolderName to StringUtil&lt;/li&gt;
&lt;li&gt;Graph: refactor setFilter to pass condition directly&lt;/li&gt;
&lt;li&gt;Graph: cleanup from audit&lt;/li&gt;
&lt;li&gt;Graph: introduce davmail.oauth.scope setting to override default scopes&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-documentation"&gt;Documentation&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: review README.md&lt;/li&gt;
&lt;li&gt;Doc: remove reference to 32 bits package in README.md&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-swt"&gt;SWT&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;SWT: SWT browser not available under docker, failover to JavaFX&lt;/li&gt;
&lt;li&gt;SWT: catch errors in O365InteractiveAuthenticatorSWT&lt;/li&gt;
&lt;li&gt;SWT: Remove older SWT workarounds with GTK and cleanup code&lt;/li&gt;
&lt;li&gt;SWT: switch back on linux to SWT 4.20 to build with older JDK&lt;/li&gt;
&lt;li&gt;SWT: implement davmail.trayGrayscale for SWT&lt;/li&gt;
&lt;li&gt;SWT: Review O365InteractiveAuthenticatorSWT to properly dispose browser window in all cases&lt;/li&gt;
&lt;li&gt;SWT: fix regression on tray icon with latest SWT 4.37 on windows&lt;/li&gt;
&lt;li&gt;SWT: introduce davmail.oauth.allowSingleSignOnUsingOSPrimaryAccount property to enable SSO with windows Webview2 embedded browser implementation&lt;/li&gt;
&lt;li&gt;SWT: upgrade to 4.37 and add windows SWT jar&lt;/li&gt;
&lt;li&gt;SWT: Scale window icon size to 32&lt;/li&gt;
&lt;li&gt;SWT: switch to 128 pixel icons and improve loadSwtImage to scale to 32 pixels tray&lt;/li&gt;
&lt;li&gt;SWT: allow SWT tray on windows&lt;/li&gt;
&lt;li&gt;SWT: reimplement O365InteractiveAuthenticatorFrame using SWT embedded browser instead of OpenJFX, refactor SwtGatewayTray to separate tray init from thread init&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-o365"&gt;O365&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;O365: set davmail.webview.debug property to dump document in O35InteractiveAuthenticatorFrame&lt;/li&gt;
&lt;li&gt;O365: by default do not send notifications on modified occurrences updates, only send when user is organizer of meeting&lt;/li&gt;
&lt;li&gt;O365: Improve password expiration detection&lt;/li&gt;
&lt;li&gt;O365: fix regression in O365 interactive authentication&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-ntlm"&gt;NTLM&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;NTLM: Restore davmail.enableJcifs=true as default value&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-gui"&gt;GUI&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;GUI: switch to ColorConvertOp for davmail.trayGrayscale to keep alpha information&lt;/li&gt;
&lt;li&gt;GUI: implement davmail.trayGrayscale to convert tray icon to grayscale&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-caldav"&gt;Caldav&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Fix ICSCalendarValidator, CR, LF and TAB are allowed in full icalendar event&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mickael Guessant</dc:creator><pubDate>Thu, 23 Oct 2025 21:06:10 -0000</pubDate><guid>https://sourceforge.net832de98afc48c6a867caae9a7587a50f12a29559</guid></item><item><title>DavMail 6.4.0 released</title><link>https://sourceforge.net/p/davmail/news/2025/08/davmail-640-released/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Ever wanted to get rid of Outlook ? DavMail is a POP/IMAP/SMTP/Caldav/Carddav/LDAP Exchange and Office 365&lt;br/&gt;
gateway allowing users to use any mail/calendar client (e.g. Thunderbird with Lightning or&lt;br/&gt;
Apple iCal) with an Exchange server, even from the internet or behind a firewall through&lt;br/&gt;
Outlook Web Access.&lt;br/&gt;
DavMail now includes an LDAP gateway to Exchange global address book and user personal&lt;br/&gt;
contacts to allow recipient address completion in mail compose window and full calendar&lt;br/&gt;
support with attendees free/busy display.&lt;br/&gt;
The main goal of DavMail is to provide standard compliant protocols in front of proprietary&lt;br/&gt;
Exchange. This means LDAP for global address book, SMTP to send messages, IMAP to browse&lt;br/&gt;
messages on the server in any folder, POP to retrieve inbox messages only, Caldav for&lt;br/&gt;
calendar support and Carddav for personal contacts sync.&lt;br/&gt;
Thus any standard compliant client can be used with Microsoft Exchange.&lt;br/&gt;
DavMail gateway is implemented in java and should run on any platform. Releases are tested&lt;br/&gt;
on Windows, Linux (Ubuntu) and Mac OSX. Tested successfully with the Iphone&lt;br/&gt;
(gateway running on a server).&lt;/p&gt;
&lt;p&gt;Includes an experimental Microsoft Graph backend, to enable it see instructions at:&lt;br/&gt;
&lt;a href="https://github.com/mguessan/davmail/issues/404" rel="nofollow"&gt;https://github.com/mguessan/davmail/issues/404&lt;/a&gt;&lt;br/&gt;
Fixed a long-standing IMAP issue on shared mailbox synchronization, improved GCC high tenants support, reviewed&lt;br/&gt;
OIDC authentication to prepare graph backend implementation, merged contributions from users, replaced log4j with reload4j.&lt;br/&gt;
Restored NTLM JCIFS implementation with davmail.enableJcifs setting based on user feedback, tried to improve NTML logging.&lt;/p&gt;
&lt;h3 id="h-linux"&gt;Linux&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Linux: drop eclipse-swt dependency on Suse, rely on included swt package&lt;/li&gt;
&lt;li&gt;Linux: merge &lt;a href="https://github.com/flathub/org.davmail.DavMail/blob/master/davmail-desktop-add-wm-class.patch" rel="nofollow"&gt;https://github.com/flathub/org.davmail.DavMail/blob/master/davmail-desktop-add-wm-class.patch&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Linux: additional rpm spec file fixes for rhel 9&lt;/li&gt;
&lt;li&gt;Linux: ant-unbound only exist in Fedora Rawhide&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-o365"&gt;O365&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;O365: Handle password expiration and return a specifig error message&lt;/li&gt;
&lt;li&gt;O365: add davmail.tld setting to UI, see &lt;a href="https://github.com/mguessan/davmail/issues/284" rel="nofollow"&gt;https://github.com/mguessan/davmail/issues/284&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;O365: authenticator fix regression&lt;/li&gt;
&lt;li&gt;O365: revert authenticator scope change&lt;/li&gt;
&lt;li&gt;O365: improve authenticator error handling&lt;/li&gt;
&lt;li&gt;O365: drop hostname based fingerprint, allow user to force salt fingerprint with davmail.oauth.fingerprint setting, see &lt;a href="https://github.com/mguessan/davmail/issues/403" rel="nofollow"&gt;https://github.com/mguessan/davmail/issues/403&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;O365: review O365StoredTokenAuthenticator to take into account separate tokenFilePath&lt;/li&gt;
&lt;li&gt;O365: log token scopes&lt;/li&gt;
&lt;li&gt;O365: Fix for &lt;a href="https://github.com/mguessan/davmail/issues/403" rel="nofollow"&gt;https://github.com/mguessan/davmail/issues/403&lt;/a&gt; Salt generation for refresh token encryption seems unstable (BadPaddingException)&lt;/li&gt;
&lt;li&gt;O365: refactor authentication to handle various cases with Graph API with new OIDC endpoint and the classic endpoint&lt;/li&gt;
&lt;li&gt;O365: cleanup O365Authenticator&lt;/li&gt;
&lt;li&gt;O365: fix token parameters in OIDC mode, resource is not relevant&lt;/li&gt;
&lt;li&gt;O365: catch NullPointerException on javafx test as reported by a user&lt;/li&gt;
&lt;li&gt;O365: refactor tokenUrl build logic&lt;/li&gt;
&lt;li&gt;O365: adjustments for live.com OIDC endpoints&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-ews"&gt;EWS&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: cleanup from audit&lt;/li&gt;
&lt;li&gt;EWS: try to get a valid outlook.com live token&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-imap"&gt;IMAP&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: fix IMAP context folder issue, when using userid/username syntax mailbox context is missing on some IMAP commands&lt;/li&gt;
&lt;li&gt;IMAP: Add log statement in case of progress notifier error&lt;/li&gt;
&lt;li&gt;IMAP: merge &lt;a href="https://github.com/mguessan/davmail/pull/406" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/406&lt;/a&gt; Simpler and more conformant keepalive feature&lt;/li&gt;
&lt;li&gt;IMAP: fix audit alert Refactor this repetition that can lead to a stack overflow for large inputs.&lt;/li&gt;
&lt;li&gt;IMAP: merge &lt;a href="https://github.com/mguessan/davmail/pull/392" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/392&lt;/a&gt;, add support for iOS 18 comma separated uids in range search&lt;/li&gt;
&lt;li&gt;IMAP: SPECIAL-USE test cases&lt;/li&gt;
&lt;li&gt;IMAP: fix SPECIAL-USE implementation when used as a list-extended selection option, see &lt;a href="https://www.rfc-editor.org/rfc/rfc6154" rel="nofollow"&gt;https://www.rfc-editor.org/rfc/rfc6154&lt;/a&gt; 5.2&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-ntlm"&gt;NTLM&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;NTLM: dump NTLM message details using NTLMMessageDecoder&lt;/li&gt;
&lt;li&gt;NTLM: implement custom NTLM message decoder&lt;/li&gt;
&lt;li&gt;NTLM: add debug info in DavMailNTLMEngineImpl&lt;/li&gt;
&lt;li&gt;NTLM: without JCIFS workstation and domain are not sent with type1 message&lt;/li&gt;
&lt;li&gt;NTLM: Restore JCIFS&lt;/li&gt;
&lt;li&gt;NTLM: introduce davmail.enableJcifs setting to enable JCIFS NTLM engine implementation&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-enhancements"&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;StringUtilTest add test case on encoding&lt;/li&gt;
&lt;li&gt;Cleanup test case from audit&lt;/li&gt;
&lt;li&gt;Enhancement from audit: rename folder.count to messageCount&lt;/li&gt;
&lt;li&gt;ExchangeSession: cleanup from audit&lt;/li&gt;
&lt;li&gt;Fix &lt;a href="https://github.com/mguessan/davmail/issues/400" rel="nofollow"&gt;https://github.com/mguessan/davmail/issues/400&lt;/a&gt; WARN Invalid 'expires' attribute&lt;/li&gt;
&lt;li&gt;Cleanup irrevelant dependency on debian package&lt;/li&gt;
&lt;li&gt;Upgrade nsi scripts with reload4j 2.0.16&lt;/li&gt;
&lt;li&gt;Maven: switch slf4j dependency to reload4j&lt;/li&gt;
&lt;li&gt;Upgrade slf4j / switch to reload4j&lt;/li&gt;
&lt;li&gt;Upgrade slf4j-api to 2.0.16&lt;/li&gt;
&lt;li&gt;Switch slf4j to reload4j instead of log4j&lt;/li&gt;
&lt;li&gt;Fix typo&lt;/li&gt;
&lt;li&gt;Log4J: fix ant build file&lt;/li&gt;
&lt;li&gt;Log4j: remove show logs option as LF5 is no longer available with reload4j&lt;/li&gt;
&lt;li&gt;Log4j: switching to reload4j, in place replacement for log4j&lt;/li&gt;
&lt;li&gt;Upgrade javamail to 1.6.2&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-build"&gt;Build&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Maven: force slf4j-api to 2.0.16&lt;/li&gt;
&lt;li&gt;AppVeyor: switch from sonar.login to sonar.token&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-caldav"&gt;Caldav&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: handle quote escaping in parameters&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-docker"&gt;Docker&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Docker: merge &lt;a href="https://github.com/mguessan/davmail/pull/390" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/390&lt;/a&gt; Docker entrypoint script refinements&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-documentation"&gt;Documentation&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: point issue management to Github&lt;/li&gt;
&lt;li&gt;Doc: review appdata doc&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-graph"&gt;Graph&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Graph: handle cancelled occurrences on events to build EXDATE vCalendar properties&lt;/li&gt;
&lt;li&gt;Graph: make progress on event recurrence implementation, see &lt;a href="https://learn.microsoft.com/en-us/graph/api/resources/patternedrecurrence" rel="nofollow"&gt;https://learn.microsoft.com/en-us/graph/api/resources/patternedrecurrence&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Graph: initiate recurrence implementation&lt;/li&gt;
&lt;li&gt;Graph: fix draft handling, draft is set for mapi PR_MESSAGE_FLAGS property combined with read flag by IMAPConnection&lt;/li&gt;
&lt;li&gt;Graph: tasks don't have a changeKey field, retrieve etag value from @odata.etag&lt;/li&gt;
&lt;li&gt;Graph: switch back to custom scopes&lt;/li&gt;
&lt;li&gt;Graph: manage task items returned as part of default calendar requests&lt;/li&gt;
&lt;li&gt;Graph: map taskstatus field to status graphId&lt;/li&gt;
&lt;li&gt;Graph: handle item not found with HttpNotFoundException&lt;/li&gt;
&lt;li&gt;Graph: implement isMainCalendar&lt;/li&gt;
&lt;li&gt;Graph: debug ALTDESC for thunderbird, need to urlencode content&lt;/li&gt;
&lt;li&gt;Graph: implement etag search for events and contacts&lt;/li&gt;
&lt;li&gt;Graph: handle html body and attendees for caldav support&lt;/li&gt;
&lt;li&gt;Graph: move convertClassFromExchange and convertClassToExchange to ExchangeSession&lt;/li&gt;
&lt;li&gt;Graph: Checkpoint on event management, new tasks handling based on new todo endpoint and make progress on calendar events&lt;/li&gt;
&lt;li&gt;Graph: Move some reference tables from EwsExchangeSession to ExchangeSession to make them available in GraphExchangeSession&lt;/li&gt;
&lt;li&gt;Graph: Cleanup from audit&lt;/li&gt;
&lt;li&gt;Graph: Additional entry points for graphid value in ExtendedFieldURI&lt;/li&gt;
&lt;li&gt;Graph: implement optDateTimeTimeZone in GraphObject to convert DateTimeTimeZone json objects&lt;/li&gt;
&lt;li&gt;Graph: new TODO objects in graph require Tasks.ReadWrite OIDC scope&lt;/li&gt;
&lt;li&gt;Graph: implement specific date conversion convertCalendarDateToGraph for graph api&lt;/li&gt;
&lt;li&gt;Graph: implement more condition logic and retrieve VTIMEZONE from properties&lt;/li&gt;
&lt;li&gt;Graph: add a full dump of all timezone definitions as graph does not provide a way to retrieve events as VCALENDAR&lt;/li&gt;
&lt;li&gt;Graph: make progress on graph attributes handling, refactor GraphObject&lt;/li&gt;
&lt;li&gt;Graph: implement fileAs on contacts and fix bday handling&lt;/li&gt;
&lt;li&gt;Graph: handle empty boolean custom property, return null for empty email&lt;/li&gt;
&lt;li&gt;Graph: switch to .default for OIDC scopes, will help with outlook desktop tokens, detect 50128 error code using outlook desktop clientid with live.com account&lt;/li&gt;
&lt;li&gt;Graph: refactor GraphObject handling&lt;/li&gt;
&lt;li&gt;Graph: refactor GraphExchangeSession, cleanup code&lt;/li&gt;
&lt;li&gt;Graph: implement custom graphid on Field/ExtendedFieldURI&lt;/li&gt;
&lt;li&gt;Graph: refactor graph properties handling&lt;/li&gt;
&lt;li&gt;Graph: main contact management implementation, create and update contact, handle attached photo&lt;/li&gt;
&lt;li&gt;Graph: implement HttpPut calls and introduce GraphResponse as a wrapper around json response messages&lt;/li&gt;
&lt;li&gt;Graph: improve graphId compute logic, add namespaceGuid for DistinguishedPropertySetType.Address, introduce isNumber to avoid error on empty number fields&lt;/li&gt;
&lt;li&gt;Graph: minimal form submit for live.com authentication&lt;/li&gt;
&lt;li&gt;Graph: implement live.com authentication with simple username/password&lt;/li&gt;
&lt;li&gt;Graph: add additional scopes to send mail, manage contacts and access shared mailboxes&lt;/li&gt;
&lt;li&gt;Graph: Cleanup from audit&lt;/li&gt;
&lt;li&gt;Graph: replace method names with constants&lt;/li&gt;
&lt;li&gt;Graph: fix approximate message and implement message update (properties only)&lt;/li&gt;
&lt;li&gt;Graph: Handle special folders based on well known names&lt;/li&gt;
&lt;li&gt;Graph: implement contact folders management&lt;/li&gt;
&lt;li&gt;Graph: update TestExchangeSessionFolder unit tests for graph backend&lt;/li&gt;
&lt;li&gt;Graph: Implement calendar folder handling&lt;/li&gt;
&lt;li&gt;Graph: Improve logging and performance in GraphRequestBuilder&lt;/li&gt;
&lt;li&gt;Graph: Implement IOUtil.convertToBytes to convert JSON to byte array without creating a string&lt;/li&gt;
&lt;li&gt;Graph: Enhancements for audit&lt;/li&gt;
&lt;li&gt;Graph: Fix iterator, nextLink page can be empty&lt;/li&gt;
&lt;li&gt;Graph: enable GraphExchangeSession in ExchangeSessionFactory&lt;/li&gt;
&lt;li&gt;Graph: implement getMimeHeaders and MultiCondition&lt;/li&gt;
&lt;li&gt;Graph: initiate delete/copy/move message&lt;/li&gt;
&lt;li&gt;Graph: make progress on graph backend implementation&lt;/li&gt;
&lt;li&gt;Graph: complete properties mapping on message update&lt;/li&gt;
&lt;li&gt;Graph: some more work on message update logic (PATCH call)&lt;/li&gt;
&lt;li&gt;Graph: implement getGraphUrl to handle various graph api endpoints&lt;/li&gt;
&lt;li&gt;Graph: log message download progress, add mailbox attribute to graph message and initiate message flags management&lt;/li&gt;
&lt;li&gt;Graph: refactor draft message handling, apply workaround (delete/create) only for non draft messages&lt;/li&gt;
&lt;li&gt;Graph: review buildMessage logic to parse properties&lt;/li&gt;
&lt;li&gt;Graph: initiate implementation of message handling&lt;/li&gt;
&lt;li&gt;Graph: compute graphid for distinguishedProperty properties (PublicStrings, InternetHeaders,Common)&lt;/li&gt;
&lt;li&gt;Graph: initiate create message implementation, with workaround for draft flag&lt;/li&gt;
&lt;li&gt;Graph: switch to v2.0 OIDC endpoint for graph authentication, adjust token endpoint accordingly&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mickael Guessant</dc:creator><pubDate>Sun, 31 Aug 2025 16:41:00 -0000</pubDate><guid>https://sourceforge.netd141d0047600877ae8023dd01ff0d7b5a9cfdfc9</guid></item><item><title>DavMail 6.3.0 released</title><link>https://sourceforge.net/p/davmail/news/2025/02/davmail-630-released/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Ever wanted to get rid of Outlook ? DavMail is a POP/IMAP/SMTP/Caldav/Carddav/LDAP Exchange and Office 365&lt;br/&gt;
gateway allowing users to use any mail/calendar client (e.g. Thunderbird with Lightning or&lt;br/&gt;
Apple iCal) with an Exchange server, even from the internet or behind a firewall through&lt;br/&gt;
Outlook Web Access.&lt;br/&gt;
DavMail now includes an LDAP gateway to Exchange global address book and user personal&lt;br/&gt;
contacts to allow recipient address completion in mail compose window and full calendar&lt;br/&gt;
support with attendees free/busy display.&lt;br/&gt;
The main goal of DavMail is to provide standard compliant protocols in front of proprietary&lt;br/&gt;
Exchange. This means LDAP for global address book, SMTP to send messages, IMAP to browse&lt;br/&gt;
messages on the server in any folder, POP to retrieve inbox messages only, Caldav for&lt;br/&gt;
calendar support and Carddav for personal contacts sync.&lt;br/&gt;
Thus any standard compliant client can be used with Microsoft Exchange.&lt;br/&gt;
DavMail gateway is implemented in java and should run on any platform. Releases are tested&lt;br/&gt;
on Windows, Linux (Ubuntu) and Mac OSX. Tested successfully with the Iphone&lt;br/&gt;
(gateway running on a server).&lt;/p&gt;
&lt;p&gt;Merged some contributions provided by users on github, updated embedded jre to 21 for improved TLS 1.3 support,&lt;br/&gt;
applied documentation fixes, reviewed rpm build to provide el9 compatibility, implemented channel binding for NTLM&lt;br/&gt;
authentication. Also added a more recent Docker file in contribs, worked on GCC high tenants compatibility.&lt;br/&gt;
Microsoft Graph backend implementation is in progress but far from complete.&lt;/p&gt;
&lt;h3 id="caldav"&gt;Caldav&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: handle multiple categories on TODO items, see &lt;a href="https://github.com/mguessan/davmail/issues/372" rel="nofollow"&gt;https://github.com/mguessan/davmail/issues/372&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Caldav: Merge &lt;a href="https://github.com/mguessan/davmail/pull/386" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/386&lt;/a&gt; validate and repair Exchange calendar characters&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ldap"&gt;LDAP&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;LDAP: merge &lt;a href="https://github.com/mguessan/davmail/pull/353" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/353&lt;/a&gt;, fix first certificate selection logic&lt;/li&gt;
&lt;li&gt;LDAP: merge &lt;a href="https://github.com/mguessan/davmail/pull/353" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/353&lt;/a&gt; Add support for retrieving user certificates&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap"&gt;IMAP&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: fix backslash in password quoted string by: Max-Julian Pogner &lt;a href="mailto:max-julian@pogner.at"&gt;max-julian@pogner.at&lt;/a&gt;, finalize merge, call new parsing method from nextToken and remove backslash handling in username&lt;/li&gt;
&lt;li&gt;IMAP: fix backslash in password quoted string by: Max-Julian Pogner &lt;a href="mailto:max-julian@pogner.at"&gt;max-julian@pogner.at&lt;/a&gt;, review and switch to ParseException for error handling and chars instead of bytes&lt;/li&gt;
&lt;li&gt;IMAP: merge unit test for patch fix backslash in password quoted string by: Max-Julian Pogner &lt;a href="mailto:max-julian@pogner.at"&gt;max-julian@pogner.at&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;IMAP: initial merge of patch fix backslash in password quoted string by: Max-Julian Pogner &lt;a href="mailto:max-julian@pogner.at"&gt;max-julian@pogner.at&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;IMAP: fix &lt;a href="https://github.com/mguessan/davmail/issues/359" rel="nofollow"&gt;https://github.com/mguessan/davmail/issues/359&lt;/a&gt;, handle RFC822.TEXT&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="o365"&gt;O365&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;O365: add GCC high example settings in default davmail.properties&lt;/li&gt;
&lt;li&gt;O365: &lt;a href="https://github.com/mguessan/davmail/pull/380" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/380&lt;/a&gt; Remove trailing slash from O365_LOGIN_URL&lt;/li&gt;
&lt;li&gt;O365: merge &lt;a href="https://github.com/mguessan/davmail/pull/380" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/380&lt;/a&gt; Missed one change&lt;/li&gt;
&lt;li&gt;O365: merge &lt;a href="https://github.com/mguessan/davmail/pull/380" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/380&lt;/a&gt; Enhance support for the davmail.outlookUrl property setting and fully support GCC-High endpoints&lt;/li&gt;
&lt;li&gt;O365: implement OneWaySMS MFA prompt, see &lt;a href="https://github.com/mguessan/davmail/pull/134" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/134&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;O365: get O365 Login Url from settings for non standard tenants and add additional error use case&lt;/li&gt;
&lt;li&gt;O365: detect live.com token. Note: may not be enough to make DavMail work with live.com accounts&lt;/li&gt;
&lt;li&gt;O365: dropping all workaroungs for OpenJFX bugs that should be fixed in recent versions&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ews"&gt;EWS&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: experimental, try to implement recurrence count with NumberOfOccurrences, see &lt;a href="https://github.com/mguessan/davmail/issues/373" rel="nofollow"&gt;https://github.com/mguessan/davmail/issues/373&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;EWS: make settings timezoneid higher priority than mailbox configuration, make encode/decode foldername methods public for graph API&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="graph"&gt;Graph&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Graph: introduce GRAPH_URL and davmail.loginUrl in Settings&lt;/li&gt;
&lt;li&gt;Graph: initiate search filter implementation&lt;/li&gt;
&lt;li&gt;Graph: implement folder recursive search&lt;/li&gt;
&lt;li&gt;Introduce folderClass&lt;/li&gt;
&lt;li&gt;Graph: Create folders unit tests&lt;/li&gt;
&lt;li&gt;Graph: fix folder retrieval by id&lt;/li&gt;
&lt;li&gt;Graph: initial folder retrieval implementation&lt;/li&gt;
&lt;li&gt;Graph: compute graph API property id from name and tag&lt;/li&gt;
&lt;li&gt;Graph: Empty Graph ExchangeSession implementation&lt;/li&gt;
&lt;li&gt;Graph: prepare graph request builder for graph implementation&lt;/li&gt;
&lt;li&gt;Graph: Experimental, introduce davmail.enableGraph property to obtain a token compatible with Microsoft Graph API&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="linux"&gt;Linux&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Linux: fix ant dependency for fedora&lt;/li&gt;
&lt;li&gt;Linux: davmail.spec to not try to link os provided swt.jar when using embedded one&lt;/li&gt;
&lt;li&gt;Linux: work on el9 compatibility for RPM build&lt;/li&gt;
&lt;li&gt;Linux: Embed davmail-user.conf in source package, see &lt;a href="https://github.com/mguessan/davmail/issues/356" rel="nofollow"&gt;https://github.com/mguessan/davmail/issues/356&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Linux: Create davmail user/group per new conventions in RPM 4.19, merge changes from &lt;a href="https://github.com/mguessan/davmail/issues/356" rel="nofollow"&gt;https://github.com/mguessan/davmail/issues/356&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Build: fix &lt;a href="https://github.com/mguessan/davmail/issues/346" rel="nofollow"&gt;https://github.com/mguessan/davmail/issues/346&lt;/a&gt; unable to run jlink on linux&lt;/li&gt;
&lt;li&gt;Linux: force shutdown with -token option&lt;/li&gt;
&lt;li&gt;Linux: Add OpenJFX case for Kubuntu&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="documentation"&gt;Documentation&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: update windows build documentation, see &lt;a href="https://github.com/mguessan/davmail/issues/384" rel="nofollow"&gt;https://github.com/mguessan/davmail/issues/384&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Doc: merge &lt;a href="https://github.com/mguessan/davmail/pull/174" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/174&lt;/a&gt; fix docs typo in property davmail.enableKeepAlive&lt;/li&gt;
&lt;li&gt;Doc: improve documentation on how to run DavMail as a windows service&lt;/li&gt;
&lt;li&gt;Doc: update documentation for non default tenants (US, China)&lt;/li&gt;
&lt;li&gt;Doc: provide more information in initial consent for O365 authentication&lt;/li&gt;
&lt;li&gt;Doc: update FAQ on application registration in Entra ID (Azure AD)&lt;/li&gt;
&lt;li&gt;Doc: mention AppIndicator and KStatusNotifierItem Support in Fedora setup instructions&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="docker"&gt;Docker&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Docker: merge &lt;a href="https://github.com/mguessan/davmail/pull/381" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/381&lt;/a&gt; by SethRobertson Bug 201: Docker support for building and running&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ntlm"&gt;NTLM&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;NTLM: remove CIFS dependency&lt;/li&gt;
&lt;li&gt;NTLM: cleanup code from audit&lt;/li&gt;
&lt;li&gt;NTLM: use ThreadLocal to manage SecureRandom generators&lt;/li&gt;
&lt;li&gt;NTLM: switch to DavMailNTLMSchemeFactory to enable channel binding, see &lt;a href="https://github.com/mguessan/davmail/issues/352" rel="nofollow"&gt;https://github.com/mguessan/davmail/issues/352&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;NTLM: retrieve certificate from http context&lt;/li&gt;
&lt;li&gt;NTLM: Duplicate of NTLMScheme from HttpClient to implement channel binding&lt;/li&gt;
&lt;li&gt;NTLM: adjust NTLMEngineImpl to handle channel binding&lt;/li&gt;
&lt;li&gt;NTLM: Duplicate code from NTLMEngineImpl to implement channel binding&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements"&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Fix from audit&lt;/li&gt;
&lt;li&gt;Drop web component&lt;/li&gt;
&lt;li&gt;Drop servlet-api.jar, no longer required&lt;/li&gt;
&lt;li&gt;Drop deprecated DavGatewayServletContextListener (we no longer provide an embedded war file)&lt;/li&gt;
&lt;li&gt;Trying to fix custom jre for TLS 1.3, see &lt;a href="https://stackoverflow.com/questions/63964939/tls-1-3-handshake-failure-when-using-openjdk-14-java-module-runtime" rel="nofollow"&gt;https://stackoverflow.com/questions/63964939/tls-1-3-handshake-failure-when-using-openjdk-14-java-module-runtime&lt;/a&gt; and &lt;a href="https://github.com/mguessan/davmail/pull/388" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/388&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;fix download-jre for embedded JDK on windows, fetch version 21&lt;/li&gt;
&lt;li&gt;switch davmail linux launcher to zulu JDK 21 for better TLS 1.3 support&lt;/li&gt;
&lt;li&gt;switch main package to zulu JDK 21 for better TLS 1.3 support&lt;/li&gt;
&lt;li&gt;StringUtilTest CRLF =&amp;gt; LF, see &lt;a href="https://github.com/mguessan/davmail/pull/378" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/378&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;StringUtil CRLF =&amp;gt; LF, see &lt;a href="https://github.com/mguessan/davmail/pull/378" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/378&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Security: Enable TLSv1.3 between DavMail and Exchange/O365&lt;/li&gt;
&lt;li&gt;PKCS11: review SunPKCS11ProviderHandler&lt;/li&gt;
&lt;li&gt;HttpClient: cleanup from audit&lt;/li&gt;
&lt;li&gt;svn ignore .idea&lt;/li&gt;
&lt;li&gt;Downgrade jackrabbit to 2.20.15 for java 8 compatibility&lt;/li&gt;
&lt;li&gt;Upgrade jackrabbit to 2.21.25 and httpclient to 4.5.14&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mickael Guessant</dc:creator><pubDate>Wed, 26 Feb 2025 11:21:39 -0000</pubDate><guid>https://sourceforge.net1fe531cb8d110073cae32579dfa31800ba07afc1</guid></item><item><title>DavMail 6.2.2 released</title><link>https://sourceforge.net/p/davmail/news/2024/03/davmail-622-released/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Ever wanted to get rid of Outlook ? DavMail is a POP/IMAP/SMTP/Caldav/Carddav/LDAP Exchange and Office 365&lt;br/&gt;
gateway allowing users to use any mail/calendar client (e.g. Thunderbird with Lightning or&lt;br/&gt;
Apple iCal) with an Exchange server, even from the internet or behind a firewall through&lt;br/&gt;
Outlook Web Access.&lt;br/&gt;
DavMail now includes an LDAP gateway to Exchange global address book and user personal&lt;br/&gt;
contacts to allow recipient address completion in mail compose window and full calendar&lt;br/&gt;
support with attendees free/busy display.&lt;br/&gt;
The main goal of DavMail is to provide standard compliant protocols in front of proprietary&lt;br/&gt;
Exchange. This means LDAP for global address book, SMTP to send messages, IMAP to browse&lt;br/&gt;
messages on the server in any folder, POP to retrieve inbox messages only, Caldav for&lt;br/&gt;
calendar support and Carddav for personal contacts sync.&lt;br/&gt;
Thus any standard compliant client can be used with Microsoft Exchange.&lt;br/&gt;
DavMail gateway is implemented in java and should run on any platform. Releases are tested&lt;br/&gt;
on Windows, Linux (Ubuntu) and Mac OSX. Tested successfully with the Iphone&lt;br/&gt;
(gateway running on a server).&lt;/p&gt;
&lt;p&gt;Includes some build process fixes, use jlink to build a customized jre for standalone package,&lt;br/&gt;
Thunderbird configuration documentation updated with new screenshots.&lt;br/&gt;
Also implemented a new -token command line option to launch O365InteractiveAuthenticator and get an authentication token.&lt;/p&gt;
&lt;h3 id="osx"&gt;OSX&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;OSX: document how to embed Zulu jre inside DavMail app&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements"&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Fix comment in DavMail shell&lt;/li&gt;
&lt;li&gt;Detect missing network connectivity during token refresh to avoid invalidating token&lt;/li&gt;
&lt;li&gt;Upgrade JCIFS to 1.3.19 for NTLM support&lt;/li&gt;
&lt;li&gt;Cleanup from audit&lt;/li&gt;
&lt;li&gt;Drop war package from release files, there are more modern ways to run DavMail in server mode without a webapp container&lt;/li&gt;
&lt;li&gt;From audit: place LOCK.wait in a loop&lt;/li&gt;
&lt;li&gt;Fix from audit, use try with resource&lt;/li&gt;
&lt;li&gt;Cleanup from audit, remove deprecated getSubjectDN, getIssuerDN&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="o365"&gt;O365&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;O365: Improve error message on missing add-exports, see &lt;a href="https://github.com/mguessan/davmail/issues/344" rel="nofollow"&gt;https://github.com/mguessan/davmail/issues/344&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;O365: Refactor manual authentication dialog to clearly separate steps&lt;/li&gt;
&lt;li&gt;Remove explicit dependency on O365InteractiveAuthenticator for -token option&lt;/li&gt;
&lt;li&gt;Implement a -token option to launch interactive authenticator and print obtained refresh token, see &lt;a href="https://github.com/mguessan/davmail/issues/338" rel="nofollow"&gt;https://github.com/mguessan/davmail/issues/338&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;O365: Try to adjust ItemId to 140 length, see &lt;a href="https://github.com/mguessan/davmail/issues/328" rel="nofollow"&gt;https://github.com/mguessan/davmail/issues/328&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;O365: prepare GCC-High/DoD endpoints support, fix regression&lt;/li&gt;
&lt;li&gt;O365: prepare GCC-High/DoD endpoints support, move outlook login url references to Settings&lt;/li&gt;
&lt;li&gt;O365: prepare GCC-High/DoD endpoints support, move outlook url references to Settings&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ews"&gt;EWS&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: Properly set errorDetail on xml stream error to raise exception&lt;/li&gt;
&lt;li&gt;EWS: disable IS_SUPPORTING_EXTERNAL_ENTITIES to fix xml parsing security warning&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav"&gt;Caldav&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Fix &lt;a href="https://github.com/mguessan/davmail/issues/342" rel="nofollow"&gt;https://github.com/mguessan/davmail/issues/342&lt;/a&gt; map America/Winnipeg to Central Standard Time&lt;/li&gt;
&lt;li&gt;Caldav: Fix &lt;a href="https://github.com/mguessan/davmail/issues/337" rel="nofollow"&gt;https://github.com/mguessan/davmail/issues/337&lt;/a&gt; take timezone into account when looking for excluded occurrence&lt;/li&gt;
&lt;li&gt;Fix settings implementation, # are allowed in values, see &lt;a href="https://github.com/mguessan/davmail/issues/326" rel="nofollow"&gt;https://github.com/mguessan/davmail/issues/326&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap"&gt;IMAP&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: fix &lt;a href="https://github.com/mguessan/davmail/issues/339" rel="nofollow"&gt;https://github.com/mguessan/davmail/issues/339&lt;/a&gt; classcast exception on malformed content&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="build"&gt;Build&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Maven: update compiler to 3.10.1&lt;/li&gt;
&lt;li&gt;Maven: optimize dependencies&lt;/li&gt;
&lt;li&gt;Maven: exclure httpclient 3 transitive dependency&lt;/li&gt;
&lt;li&gt;Appveyor: build only master branch&lt;/li&gt;
&lt;li&gt;Build: use jlink to create a custom jre to reduce embedded jre size&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="security"&gt;Security&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Security: fix security alert on Runtime.getRuntime().exec&lt;/li&gt;
&lt;li&gt;Security: fix security alert on Runtime.getRuntime().exec&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="linux"&gt;Linux&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Linux: force GTK2 only with SWT&lt;/li&gt;
&lt;li&gt;Linux: switch to Azul JRE 17 with "davmail azul" command&lt;/li&gt;
&lt;li&gt;Linux: Enable OpenJFX on Fedora to make O365Interactive work with Java 17 and later&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="documentation"&gt;Documentation&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: update roadmap&lt;/li&gt;
&lt;li&gt;Doc: Add donation buttons to Github main readme page&lt;/li&gt;
&lt;li&gt;Doc: update Thunderbird documentation messages&lt;/li&gt;
&lt;li&gt;Update release guide, mvn install file no longer required&lt;/li&gt;
&lt;li&gt;Doc: update Thunderbird documentation, as requested in &lt;a href="https://github.com/mguessan/davmail/issues/294" rel="nofollow"&gt;https://github.com/mguessan/davmail/issues/294&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Doc: update documentation for Thunderbird configuration&lt;/li&gt;
&lt;li&gt;Doc: use COPR badge&lt;/li&gt;
&lt;li&gt;Doc: update release guide&lt;/li&gt;
&lt;li&gt;Doc: reference OpenSuse build service and Fedora COPR for RPM based linux distributions&lt;/li&gt;
&lt;li&gt;Update changes file for &lt;a href="https://build.opensuse.org/package/show/home:mguessan:davmail/davmail" rel="nofollow"&gt;https://build.opensuse.org/package/show/home:mguessan:davmail/davmail&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mickael Guessant</dc:creator><pubDate>Sat, 30 Mar 2024 18:29:26 -0000</pubDate><guid>https://sourceforge.netd822ab282211dde8dc89f8776a1b9b4cec7b8a16</guid></item><item><title>DavMail 6.2.1 released</title><link>https://sourceforge.net/p/davmail/news/2024/01/davmail-621-released/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Ever wanted to get rid of Outlook ? DavMail is a POP/IMAP/SMTP/Caldav/Carddav/LDAP Exchange and Office 365&lt;br/&gt;
gateway allowing users to use any mail/calendar client (e.g. Thunderbird with Lightning or&lt;br/&gt;
Apple iCal) with an Exchange server, even from the internet or behind a firewall through&lt;br/&gt;
Outlook Web Access.&lt;br/&gt;
DavMail now includes an LDAP gateway to Exchange global address book and user personal&lt;br/&gt;
contacts to allow recipient address completion in mail compose window and full calendar&lt;br/&gt;
support with attendees free/busy display.&lt;br/&gt;
The main goal of DavMail is to provide standard compliant protocols in front of proprietary&lt;br/&gt;
Exchange. This means LDAP for global address book, SMTP to send messages, IMAP to browse&lt;br/&gt;
messages on the server in any folder, POP to retrieve inbox messages only, Caldav for&lt;br/&gt;
calendar support and Carddav for personal contacts sync.&lt;br/&gt;
Thus any standard compliant client can be used with Microsoft Exchange.&lt;br/&gt;
DavMail gateway is implemented in java and should run on any platform. Releases are tested&lt;br/&gt;
on Windows, Linux (Ubuntu) and Mac OSX. Tested successfully with the Iphone&lt;br/&gt;
(gateway running on a server).&lt;/p&gt;
&lt;p&gt;Most changes are related to build process and rpm packaging for Fedora/RHEL, also includes a few bug fixes on IMAP&lt;/p&gt;
&lt;h3 id="security"&gt;Security&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Security: Upgrade commons codec to 1.15&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="o365"&gt;O365&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;O365: cleanup from audit&lt;/li&gt;
&lt;li&gt;O365: no longer apply the disable integrity check workaround by default, fixed in openjfx&lt;/li&gt;
&lt;li&gt;O365: add a warning message on FIDO authentication triggered&lt;/li&gt;
&lt;li&gt;O365: allow refresh token persistence without provided password &lt;/li&gt;
&lt;li&gt;O365: Merge &lt;a href="https://github.com/mguessan/davmail/pull/236" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/236&lt;/a&gt; Changed authentication link log level&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="linux"&gt;Linux&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Linux: refactor spec file for fedora, do not call old init service scripts and compile with openjfx&lt;/li&gt;
&lt;li&gt;Linux: Fix systemd condition for fedora in spec file&lt;/li&gt;
&lt;li&gt;Linux: Adjust JDK dependencies for RPM build&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="build"&gt;Build&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;AppVeyor: Cleanup&lt;/li&gt;
&lt;li&gt;AppVeyor: copy plugin to x86-unicode&lt;/li&gt;
&lt;li&gt;AppVeyor: switch to server 2019&lt;/li&gt;
&lt;li&gt;Appveyor: investigate java versions&lt;/li&gt;
&lt;li&gt;AppVeyor: set ANT_HOME value&lt;/li&gt;
&lt;li&gt;AppVeyor: update ant path&lt;/li&gt;
&lt;li&gt;AppVeyor: update ant download path&lt;/li&gt;
&lt;li&gt;Run Sonar scan under JDK19&lt;/li&gt;
&lt;li&gt;Switch Appveyor build to JDK 19&lt;/li&gt;
&lt;li&gt;Maven: fix urls from &lt;a href="https://github.com/mguessan/davmail/pull/225" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/225&lt;/a&gt; by Stefan Weil&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap"&gt;IMAP&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: merge patch from &lt;a href="https://github.com/mguessan/davmail/pull/140" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/140&lt;/a&gt;, return folders including special use folders when query is %&lt;/li&gt;
&lt;li&gt;IMAP: implement fetch macro flags, see &lt;a href="https://github.com/mguessan/davmail/issues/314" rel="nofollow"&gt;https://github.com/mguessan/davmail/issues/314&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;IMAP: fix APPENDUID value order&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements"&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Cleanup from audit&lt;/li&gt;
&lt;li&gt;Fix typo&lt;/li&gt;
&lt;li&gt;NTLM: improve logging of NTLM negotiation&lt;/li&gt;
&lt;li&gt;Update Winrun4J wrappers with commons codec 1.15&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mickael Guessant</dc:creator><pubDate>Thu, 04 Jan 2024 15:31:07 -0000</pubDate><guid>https://sourceforge.neta8a567fa5a7f253a30dd15d4a95399ecc4398be5</guid></item><item><title>DavMail 6.2.0 released</title><link>https://sourceforge.net/p/davmail/news/2023/11/davmail-620-released/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Ever wanted to get rid of Outlook ? DavMail is a POP/IMAP/SMTP/Caldav/Carddav/LDAP Exchange and Office 365&lt;br/&gt;
gateway allowing users to use any mail/calendar client (e.g. Thunderbird with Lightning or&lt;br/&gt;
Apple iCal) with an Exchange server, even from the internet or behind a firewall through&lt;br/&gt;
Outlook Web Access.&lt;br/&gt;
DavMail now includes an LDAP gateway to Exchange global address book and user personal&lt;br/&gt;
contacts to allow recipient address completion in mail compose window and full calendar&lt;br/&gt;
support with attendees free/busy display.&lt;br/&gt;
The main goal of DavMail is to provide standard compliant protocols in front of proprietary&lt;br/&gt;
Exchange. This means LDAP for global address book, SMTP to send messages, IMAP to browse&lt;br/&gt;
messages on the server in any folder, POP to retrieve inbox messages only, Caldav for&lt;br/&gt;
calendar support and Carddav for personal contacts sync.&lt;br/&gt;
Thus any standard compliant client can be used with Microsoft Exchange.&lt;br/&gt;
DavMail gateway is implemented in java and should run on any platform. Releases are tested&lt;br/&gt;
on Windows, Linux (Ubuntu) and Mac OSX. Tested successfully with the Iphone&lt;br/&gt;
(gateway running on a server).&lt;/p&gt;
&lt;p&gt;Another bugfix release to merge user contributions from Github, refactor Linux build, upgrade dependencies and a few IMAP and Caldav fixes.&lt;/p&gt;
&lt;h3 id="security"&gt;Security&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Update htmlcleaner to 2.29 cf CVE-2023-34624&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements"&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Drop Travis-ci, no longer working for opensource projects&lt;/li&gt;
&lt;li&gt;fix quotes from audit&lt;/li&gt;
&lt;li&gt;Remove space at end of line +0630=Myanmar Standard Time, see &lt;a href="https://github.com/mguessan/davmail/issues/309" rel="nofollow"&gt;https://github.com/mguessan/davmail/issues/309&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Fix &lt;a href="https://github.com/mguessan/davmail/issues/271" rel="nofollow"&gt;https://github.com/mguessan/davmail/issues/271&lt;/a&gt;, keep line order and comments on settings save&lt;/li&gt;
&lt;li&gt;Fix from audit&lt;/li&gt;
&lt;li&gt;Maven: convert pom.xml to UTF-8&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap"&gt;IMAP&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: merge fix suggested on &lt;a href="https://github.com/mguessan/davmail/issues/298" rel="nofollow"&gt;https://github.com/mguessan/davmail/issues/298&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;IMAP: merge according to last comment on &lt;a href="https://github.com/mguessan/davmail/pull/239" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/239&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;IMAP: improve bodystructure handling, merge &lt;a href="https://github.com/mguessan/davmail/pull/239" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/239&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;IMAP: implement APPENDUID and advertise UIDPLUS&lt;/li&gt;
&lt;li&gt;IMAP: implement APPENDUID and advertise UIDPLUS&lt;/li&gt;
&lt;li&gt;IMAP: Prepare uidplus, fetch message after create&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav"&gt;Caldav&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: Fix nullpointer as in &lt;a href="https://github.com/mguessan/davmail/issues/303" rel="nofollow"&gt;https://github.com/mguessan/davmail/issues/303&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Caldav: Fix &lt;a href="https://github.com/mguessan/davmail/issues/309" rel="nofollow"&gt;https://github.com/mguessan/davmail/issues/309&lt;/a&gt; Thunderbird daily sends TZOFFSETTO with optional second value&lt;/li&gt;
&lt;li&gt;Caldav: adjust isLightning test to include Thunderbird user agent, see &lt;a href="https://github.com/mguessan/davmail/issues/287" rel="nofollow"&gt;https://github.com/mguessan/davmail/issues/287&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="linux"&gt;Linux&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Linux: based on &lt;a href="https://github.com/mguessan/davmail/pull/290" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/290&lt;/a&gt; by Björn Bidar &lt;a href="mailto:bjorn.bidar@thaodan.de"&gt;bjorn.bidar@thaodan.de&lt;/a&gt;, remove svn commit reference in davmail.spec&lt;/li&gt;
&lt;li&gt;Remove svn tag from folder name inside source packages&lt;/li&gt;
&lt;li&gt;Linux: remove chkconfig from Requires preun and post in davmail.spec as suggested on build.opensuse.org&lt;/li&gt;
&lt;li&gt;Linux: dos2unix davmail.changes&lt;/li&gt;
&lt;li&gt;Linux: update changelog with Björn Bidar &lt;a href="mailto:bjorn.bidar@thaodan.de"&gt;bjorn.bidar@thaodan.de&lt;/a&gt; contribution from &lt;a href="https://github.com/mguessan/davmail/pull/289" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/289&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Linux: Add back changelog file and convert to OpenSUSE format from &lt;a href="https://github.com/mguessan/davmail/pull/289" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/289&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Linux: Merge changes from &lt;a href="https://github.com/mguessan/davmail/pull/290" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/290&lt;/a&gt; except %version that may impact release cycle&lt;/li&gt;
&lt;li&gt;Linux: convert davmail.spec changelog to OpenSUSE format, see &lt;a href="https://github.com/mguessan/davmail/pull/290" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/290&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Linux: restore spec file with lf and changelog, see &lt;a href="https://github.com/mguessan/davmail/pull/289" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/289&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Linux: remove downloaded azul jdk package&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="adfs"&gt;ADFS&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;ADFS: merge &lt;a href="https://github.com/mguessan/davmail/pull/270" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/270&lt;/a&gt; by Felix Engelmann, enable ADFS authentication with SAML assertions&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ews"&gt;EWS&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: Cleanup from audit&lt;/li&gt;
&lt;li&gt;EWS: fix &lt;a href="https://github.com/mguessan/davmail/issues/299" rel="nofollow"&gt;https://github.com/mguessan/davmail/issues/299&lt;/a&gt; avoid logging large response message content&lt;/li&gt;
&lt;li&gt;EWS: BackOffMilliseconds unit test&lt;/li&gt;
&lt;li&gt;EWS: parse BackOffMilliseconds value on throttling&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="o365"&gt;O365&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;O365: in O365 interactive, use invokeAndWait on failover to manual to avoid multiple instances of popup window&lt;/li&gt;
&lt;li&gt;Upgrade jettison to 1.5.4 in pom.xml&lt;/li&gt;
&lt;li&gt;Upgrade jettison to 1.5.4&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="windows"&gt;Windows&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Windows: drop explicit reference to sun.security.mscapi.SunMSCAPI, Windows-MY should be available on all windows JDK&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="documentation"&gt;Documentation&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: Update server properties documentation with davmail.oauth.persistToken&lt;/li&gt;
&lt;li&gt;Doc: fix link to SonarCloud&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-610-2023-03-19"&gt;DavMail 6.1.0 2023-03-19&lt;/h2&gt;
&lt;p&gt;First release in a long time to publish pending changes, including Kerberos support fix, &lt;br/&gt;
experimental number matching support for upcoming Microsoft authenticator default configuration change,&lt;br/&gt;
store new refresh token received at authentication.&lt;br/&gt;
In addition, some Log4J specific patches to remove vulnerable classes from library&lt;br/&gt;
(even if DavMail is not impacted with standard configuration)&lt;/p&gt;
&lt;h3 id="o365_1"&gt;O365&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;O365: implement number matching logic in O365Authenticator&lt;/li&gt;
&lt;li&gt;O365: retrieve number matching value during phone app MFA&lt;/li&gt;
&lt;li&gt;O365: adjust logging level on O365 refresh token error&lt;/li&gt;
&lt;li&gt;O365: change persist token logic to store new refresh token after succesful refresh&lt;/li&gt;
&lt;li&gt;Experimental: store refreshed token when davmail.storeRefreshedToken=true&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="windows_1"&gt;Windows&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Windows: Add missing labelReplace active wait with wait/notifyAll in DavService&lt;/li&gt;
&lt;li&gt;Update winrun4j wrappers after lib upgrades&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="linux_1"&gt;Linux&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Linux: block davmail azul when davmail script is located under /usr/bin (package installed)&lt;/li&gt;
&lt;li&gt;Linux: fix PosixFilePermissions for writeable only by user&lt;/li&gt;
&lt;li&gt;Linux: try to make .davmail.properties file readable by user only on create&lt;/li&gt;
&lt;li&gt;Linux: improve launch script to take into account script location&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements_1"&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Add missing label&lt;/li&gt;
&lt;li&gt;Replace active wait with wait/notifyAll&lt;/li&gt;
&lt;li&gt;Upgrade woodstox to 1.4.0 and jettison to 1.5.3&lt;/li&gt;
&lt;li&gt;Merge &lt;a href="https://github.com/mguessan/davmail/pull/225" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/225&lt;/a&gt; remove (most) http:// links in Maven POM&lt;/li&gt;
&lt;li&gt;Make ScheduledThreadPool thread daemon&lt;/li&gt;
&lt;li&gt;Switch to https for version check&lt;/li&gt;
&lt;li&gt;DavMailIdleConnectionEvictor fix from audit&lt;/li&gt;
&lt;li&gt;Refactor DavMailIdleConnectionEvictor to be less agressive on idle connection checks/purge and use scheduler instead of active polling&lt;/li&gt;
&lt;li&gt;Override SPNegoScheme to take into account DavMail kerberos settings&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="documentation_1"&gt;Documentation&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Sample syslog configuration&lt;/li&gt;
&lt;li&gt;Update current version in README.md&lt;/li&gt;
&lt;li&gt;OSX: remove reference to Growl in documentation&lt;/li&gt;
&lt;li&gt;Doc: security note on DavMail not vulnerable to CVE-2021-44228&lt;/li&gt;
&lt;li&gt;Doc: add a section on Fedora installation from copr&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_1"&gt;Caldav&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: Do not try to update modified occurrences on Mozilla thunderbird dismiss event&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="security_1"&gt;Security&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Security: Strip packaged log4j jar from JMSSink and JDBCAppender to ensure DavMail is not vulnerable to CVE-2022-23305 &amp;amp; CVE-2022-23302, see &lt;a href="https://github.com/mguessan/davmail/issues/250" rel="nofollow"&gt;https://github.com/mguessan/davmail/issues/250&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Remove JMSAppender, SMTPAppender and SocketServer from Log4J binary as an additional security measure (CVE-2019-17571 CVE-2021-4104), even if DavMail is not vulnerable with standard configuration&lt;/li&gt;
&lt;li&gt;Upgrade Log4J to latest version 1.2.17 in Winrun4J wrappers&lt;/li&gt;
&lt;li&gt;Upgrade Log4J to latest version 1.2.17&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-601-2021-12-03"&gt;DavMail 6.0.1 2021-12-03&lt;/h2&gt;
&lt;p&gt;Bugfix release with a few Office 365 enhancements&lt;/p&gt;
&lt;h3 id="o365_2"&gt;O365&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;O365: default to MSCAPI on windows for native client certificate access&lt;/li&gt;
&lt;li&gt;O365: name button Send instead of OK in manual authenticator dialog&lt;/li&gt;
&lt;li&gt;OS65: merge &lt;a href="https://github.com/mguessan/davmail/pull/158" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/158&lt;/a&gt; Added Copy to Clipboard button Manual auth dialog&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="linux_2"&gt;Linux&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Linux: improve "davmail azul" error handling&lt;/li&gt;
&lt;li&gt;Linux: Update changelog in RPM spec&lt;/li&gt;
&lt;li&gt;Linux: Fix RPM spec, remote source does not work&lt;/li&gt;
&lt;li&gt;Linux: Merge RPM spec contribution from michals on &lt;a href="https://build.opensuse.org" rel="nofollow"&gt;https://build.opensuse.org&lt;/a&gt;, check for systemd support and deploy the right service&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="hc4"&gt;HC4&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;HC4: make DavMail Kerberos configuration provider&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ews_1"&gt;EWS&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: merge &lt;a href="https://github.com/mguessan/davmail/pull/106" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/106&lt;/a&gt; Support servers only offering EWS/Services.wsdl instead of EWS/Exchange.asmx&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="documentation_2"&gt;Documentation&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: Remove HttpClient migration warning&lt;/li&gt;
&lt;li&gt;Doc: instructions on standalone setup on Linux for best O365 support&lt;/li&gt;
&lt;li&gt;Update readme for Github home page&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-600-2021-07-05"&gt;DavMail 6.0.0 2021-07-05&lt;/h2&gt;
&lt;p&gt;First major release in a long time, main change is switch from HttpClient 3 to 4, please report any regression related to this major rewrite.&lt;br/&gt;
DavMail now supports more O365 configurations, including access to client certificate to validate device trust.&lt;br/&gt;
O365 refresh tokens can now be stored securely in a separate (writable) file.&lt;br/&gt;
On Linux, in order to ensure the right java version is used, a command line option to download latest Azul JRE with OpenJFX support was added,&lt;br/&gt;
on windows a standalone package contains Azul JRE FX 15, on OSX updated universalJavaApplicationStub to latest version.&lt;/p&gt;
&lt;h3 id="osx"&gt;OSX:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;OSX: completely drop Growl support&lt;/li&gt;
&lt;li&gt;OSX: prepare possible path for an embedded jre mode&lt;/li&gt;
&lt;li&gt;OSX: update universalJavaApplicationStub to latest version from &lt;a href="https://github.com/tofi86/universalJavaApplicationStub/blob/master/src/universalJavaApplicationStub" rel="nofollow"&gt;https://github.com/tofi86/universalJavaApplicationStub/blob/master/src/universalJavaApplicationStub&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="documentation_3"&gt;Documentation:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: merge Clarify the usage of imapIdleDelay &lt;a href="https://github.com/mguessan/davmail/pull/116" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/116&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Doc: add comment on IDLE and timeout setting&lt;/li&gt;
&lt;li&gt;Doc: link to standalone windows package&lt;/li&gt;
&lt;li&gt;Doc: fix Zulu link&lt;/li&gt;
&lt;li&gt;Doc: remove references to Java 6 in documentation&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="build"&gt;Build:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Appveyor: update ant&lt;/li&gt;
&lt;li&gt;Appveyor: build with jdk15&lt;/li&gt;
&lt;li&gt;Appveyor: purge artifacts for all builds except jdk 8&lt;/li&gt;
&lt;li&gt;Build: run Sonar with JDK 11&lt;/li&gt;
&lt;li&gt;Update junit to 4.13.1 in Maven&lt;/li&gt;
&lt;li&gt;Update junit to 4.13.1&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="linux_3"&gt;Linux:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Linux: Experimental: download Azul JRE FX with command 'davmail azul'&lt;/li&gt;
&lt;li&gt;Linux: merge &lt;a href="https://github.com/mguessan/davmail/pull/133" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/133&lt;/a&gt; Linux Gnome Desktop: fix systray support&lt;/li&gt;
&lt;li&gt;Linux: Update service file to allow 0-1023 ports binding (https://github.com/mguessan/davmail/pull/117)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="windows_2"&gt;Windows:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Windows: switch standalone jre to Azul FX 15&lt;/li&gt;
&lt;li&gt;Windows: create a standalone package with Azul JRE FX in order to have a working O365InteractiveAuthenticator&lt;/li&gt;
&lt;li&gt;Winrun4J: prefer embedded VM for standalone package and export sun.net.www.protocol.https&lt;/li&gt;
&lt;li&gt;Winrun4J: update binaries&lt;/li&gt;
&lt;li&gt;Winrun4J: prepare standalone configuration&lt;/li&gt;
&lt;li&gt;Windows: update winrun4j config to require Java &amp;gt;= 8&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_1"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: fix thread handling from audit&lt;/li&gt;
&lt;li&gt;IMAP: Compute body part size with failover&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="o365_3"&gt;O365:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;O365: log token file creation&lt;/li&gt;
&lt;li&gt;O365: cleanup from audit&lt;/li&gt;
&lt;li&gt;O365: Add davmail.oauth.tokenFilePath to sample properties file&lt;/li&gt;
&lt;li&gt;O365: disable HTTP/2 loader on Java 14 and later to enable custom socket factory&lt;/li&gt;
&lt;li&gt;O365: allow user agent override in O365InteractiveAuthenticator, switch default user agent to latest Edge&lt;/li&gt;
&lt;li&gt;O365: with Java 15 url with code returns as CANCELLED&lt;/li&gt;
&lt;li&gt;O365: MSCAPI and Java version 13 or higher required to access TPM protected client certificate on Windows&lt;/li&gt;
&lt;li&gt;O365: merge first commit from &lt;a href="https://github.com/mguessan/davmail/pull/134/" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/134/&lt;/a&gt; OAuth via ADFS with MFA support&lt;/li&gt;
&lt;li&gt;O365: fix store refreshToken call&lt;/li&gt;
&lt;li&gt;O365: introduce davmail.oauth.tokenFilePath setting to store Oauth tokens in a separate file&lt;/li&gt;
&lt;li&gt;O365: switch to try with resource style&lt;/li&gt;
&lt;li&gt;Drop explicit dependency to netscape.javascript package in O365InteractiveJSLogger&lt;/li&gt;
&lt;li&gt;O365: follow redirects on ADFS authentication&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="hc4_1"&gt;HC4:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Refactor ExchangeSessionFactory, create HttpClientAdapter in session&lt;/li&gt;
&lt;li&gt;HC4: update winrun4j binaries&lt;/li&gt;
&lt;li&gt;HC4: drop HttpClient 3 dependency in Maven, winrun4j binaries and nsi setup&lt;/li&gt;
&lt;li&gt;HC4: drop remaining HttpClient 3 classes&lt;/li&gt;
&lt;li&gt;HC4: drop DavMailCookieSpec and DavGatewaySSLProtocolSocketFactory (merge in SSLProtocolSocketFactory)&lt;/li&gt;
&lt;li&gt;HC4: drop DavGatewayHttpClientFacade and RestMethod&lt;/li&gt;
&lt;li&gt;HC4: default to Edge user agent&lt;/li&gt;
&lt;li&gt;HC4: Do not enable NTLM in Kerberos mode&lt;/li&gt;
&lt;li&gt;HC4: switch checkConfig to HttpClient 4&lt;/li&gt;
&lt;li&gt;HC4: merge HC4DavExchangeSession to DavExchangeSession&lt;/li&gt;
&lt;li&gt;HC4: cleanup HC4ExchangeFormAuthenticator references&lt;/li&gt;
&lt;li&gt;HC4: merge HC4ExchangeFormAuthenticator to ExchangeFormAuthenticator, extend authenticator interface to return HttpClientAdapter, switch to DavExchangeSession&lt;/li&gt;
&lt;li&gt;HC4: switch O365 authenticators test code to HttpClient 4&lt;/li&gt;
&lt;li&gt;HC4: adjust CreateItemMethod chunked call&lt;/li&gt;
&lt;li&gt;HC4: switch ExchangeSessionFactory to HttpClient 4&lt;/li&gt;
&lt;li&gt;HC4: add a warning about HttpClient 4 migration&lt;/li&gt;
&lt;li&gt;HC4: Enable ssl logging in addition to wire with HttpClient 4&lt;/li&gt;
&lt;li&gt;HC4: switch EWS implementation to HttpClient 4&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ews_2"&gt;EWS:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: improve isItemId detection to match base 64 encoded id&lt;/li&gt;
&lt;li&gt;EWS: drop NTLM as a failover logic&lt;/li&gt;
&lt;li&gt;EWS: cleanup unused code now that we have a reliable way to retrieve email address with ConvertId&lt;/li&gt;
&lt;li&gt;EWS: drop property davmail.caldavRealUpdate, no longer used&lt;/li&gt;
&lt;li&gt;EWS: Improved uid handling from audit&lt;/li&gt;
&lt;li&gt;EWS: Enable Woodstox workaround for malformed xml with latest Woodstox version&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements_2"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Clear session pool on DavMail restart&lt;/li&gt;
&lt;li&gt;Upgrade to Woodstox 6.2.0 as it's now available on debian, drop Woodstox patched StreamScanner&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_2"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: merge &lt;a href="https://github.com/mguessan/davmail/pull/139" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/139&lt;/a&gt; Fix missing XML encode&lt;/li&gt;
&lt;li&gt;Caldav: use Exchange timezone to compute event time in test case&lt;/li&gt;
&lt;li&gt;Caldav: create test cases for recurring events&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-551-2019-04-19"&gt;DavMail 5.5.1 2019-04-19&lt;/h2&gt;
&lt;p&gt;Fix regression on domain\username authentication over IMAP and some cleanup&lt;/p&gt;
&lt;h3 id="imap_2"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: fix &lt;a href="https://github.com/mguessan/davmail/issues/100" rel="nofollow"&gt;https://github.com/mguessan/davmail/issues/100&lt;/a&gt; regression with domain\username authentication&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="o365_4"&gt;O365:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;O365: set jdk.http.ntlm.transparentAuth=allHosts to enable NTLM for ADFS support&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="build_1"&gt;Build:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;dist cleanup&lt;/li&gt;
&lt;li&gt;Update release guide with Fedora copr instructions&lt;/li&gt;
&lt;li&gt;Exclude .sonarwork from source package&lt;/li&gt;
&lt;li&gt;Build: fix release file name&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-550-2019-04-15"&gt;DavMail 5.5.0 2019-04-15&lt;/h2&gt;
&lt;p&gt;This release contains a lot of bugfixes, enhancements and some user contributions from Github.&lt;br/&gt;
Most activity is related to HttpClient 4 refactoring, this will probably be the latest version based in HttpClient 3.&lt;br/&gt;
Minimum Java version is now 8, also dropped Growl support on MacOS.&lt;br/&gt;
Notable changes for end users are Oauth token persistence to avoid frequent O365 authentications and OIDC support for&lt;br/&gt;
personal outlook accounts.&lt;br/&gt;
Known issues: some users reported regressions with form authentication, please report such regressions with log files.&lt;/p&gt;
&lt;h3 id="imap_3"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: catch non IOException errors in FolderLoadThread&lt;/li&gt;
&lt;li&gt;IMAP: fix &lt;a href="https://github.com/mguessan/davmail/pull/91" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/91&lt;/a&gt; Allow user name to be specified as user@domain.com in addition to domain\user to access shared mailbox&lt;/li&gt;
&lt;li&gt;IMAP: unquote CHARSET in IMAP search&lt;/li&gt;
&lt;li&gt;IMAP: cleanup test cases&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="documentation_4"&gt;Documentation:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: describe new Office 365 authentication modes&lt;/li&gt;
&lt;li&gt;Doc: remove deprecated enableEWS reference&lt;/li&gt;
&lt;li&gt;Doc: Document new connection modes in template davmail.properties&lt;/li&gt;
&lt;li&gt;Doc: Add all time downloads badge&lt;/li&gt;
&lt;li&gt;Doc: push sonarcloud badges&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements_3"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Apply xml transformer settings recommended by Sonar&lt;/li&gt;
&lt;li&gt;dos2unix template davmail.properties file&lt;/li&gt;
&lt;li&gt;prepare migration to &lt;a href="https://davmail.sourceforge.io" rel="nofollow"&gt;https://davmail.sourceforge.io&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Settings: cleanup from audit&lt;/li&gt;
&lt;li&gt;Latest edge user agent does not work, use Outlook 2013 instead&lt;/li&gt;
&lt;li&gt;Convert HTTP code to Java 8&lt;/li&gt;
&lt;li&gt;Cleanup from audit&lt;/li&gt;
&lt;li&gt;Fix sonar detected vulnerability&lt;/li&gt;
&lt;li&gt;Update to Java 8 and code cleanup&lt;/li&gt;
&lt;li&gt;Comment HttpURLConnectionWrapper&lt;/li&gt;
&lt;li&gt;Fix regression in AbstractServer&lt;/li&gt;
&lt;li&gt;Remove unused label&lt;/li&gt;
&lt;li&gt;Cleanup from audit at Java 8 language level&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="security_2"&gt;Security:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enable TLSv1.1 and TLSv1.2&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="httpclient-4"&gt;HttpClient 4:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;HC4: httpClient is not shared between clients, do not track connection state to enable NTLM connection pooling&lt;/li&gt;
&lt;li&gt;HC4: set default connection per route to 5&lt;/li&gt;
&lt;li&gt;HC4: refactor Exchange 2007 test cases&lt;/li&gt;
&lt;li&gt;HC4: Prepare switch, create a temporary HC4WebDav mode&lt;/li&gt;
&lt;li&gt;HC4: ExchangeSession cleanup&lt;/li&gt;
&lt;li&gt;HC4: unit test cleanup&lt;/li&gt;
&lt;li&gt;HC4: make ExchangeSession independent of HttpClient implementation&lt;/li&gt;
&lt;li&gt;HC4: remove reference to old HttpStatus in HttpClientAdapter&lt;/li&gt;
&lt;li&gt;HC4: more HC4ExchangeFormAuthenticator refactoring and fixes&lt;/li&gt;
&lt;li&gt;HC4: test form authentication failure&lt;/li&gt;
&lt;li&gt;HC4: more DavExchangeSession refactoring&lt;/li&gt;
&lt;li&gt;HC4: more form authenticator fixes&lt;/li&gt;
&lt;li&gt;HC4: create ResponseWrapper interface for PostRequest and GetRequest&lt;/li&gt;
&lt;li&gt;HC4: new executeFollowRedirect implementation and get user agent from settings&lt;/li&gt;
&lt;li&gt;HC4: cleanup from audit and fix regression, need to follow redirect after OWA authentication&lt;/li&gt;
&lt;li&gt;HC4: more authentication test case&lt;/li&gt;
&lt;li&gt;HC4: Implement single thread connection evictor&lt;/li&gt;
&lt;li&gt;HC4: improve PostRequest and RestRequest&lt;/li&gt;
&lt;li&gt;HC4: implement executePostRequest with test case&lt;/li&gt;
&lt;li&gt;HC4: new GetRequest implementation with test case&lt;/li&gt;
&lt;li&gt;HC4: more request refactoring&lt;/li&gt;
&lt;li&gt;Refactor RestRequest to use ResponseHandler mode only&lt;/li&gt;
&lt;li&gt;Refactor TestHttpClientAdapter&lt;/li&gt;
&lt;li&gt;HC4: improve RestRequest&lt;/li&gt;
&lt;li&gt;HC4: remove old HttpException and move to HttpResponseException&lt;/li&gt;
&lt;li&gt;HC4: switch to HttpGet&lt;/li&gt;
&lt;li&gt;HC4: add buildHttpException to HttpClientAdapter&lt;/li&gt;
&lt;li&gt;HC4: cleanup from audit&lt;/li&gt;
&lt;li&gt;HC4: keep statusLine in request&lt;/li&gt;
&lt;li&gt;HC4: cleanup to finalize migration&lt;/li&gt;
&lt;li&gt;HC4: convert encodeAndFixUrl&lt;/li&gt;
&lt;li&gt;HC4: Remove old HttpStatus dependency&lt;/li&gt;
&lt;li&gt;Remove HttpException dependency&lt;/li&gt;
&lt;li&gt;HC4: convert Head and Post methods&lt;/li&gt;
&lt;li&gt;HC4: convert GetMethod to HttpGet&lt;/li&gt;
&lt;li&gt;HC4: convert remaining http client 3 methods&lt;/li&gt;
&lt;li&gt;HC4: Implement create/delete folder&lt;/li&gt;
&lt;li&gt;HC4: implement Exchange WebDav search request&lt;/li&gt;
&lt;li&gt;HC4: Fix initial uri in HttpClientAdapter&lt;/li&gt;
&lt;li&gt;HC4: convert internalGetFolder&lt;/li&gt;
&lt;li&gt;HC4: refactor TestCaldavHttpClient4&lt;/li&gt;
&lt;li&gt;HC4: more test cases on session creation&lt;/li&gt;
&lt;li&gt;HC4: convert getWellKnownFolders, first working version of session creation&lt;/li&gt;
&lt;li&gt;HC4: convert checkPublicFolder&lt;/li&gt;
&lt;li&gt;HC4: get httpClientAdapter from HC4ExchangeFormAuthenticator&lt;/li&gt;
&lt;li&gt;HC4: Main test case for HC4DavExchangeSession&lt;/li&gt;
&lt;li&gt;HC4: convert getEmailAndAliasFromOptions&lt;/li&gt;
&lt;li&gt;HC4: convert getMailpathFromWelcomePage&lt;/li&gt;
&lt;li&gt;HC4: baseline DavExchangeSession for HttpClient 4 migration&lt;/li&gt;
&lt;li&gt;HTTP: Improve HttpClientAdapter, enable kerberos support according to setting&lt;/li&gt;
&lt;li&gt;HttpClient4: improve HttpClientAdapter&lt;/li&gt;
&lt;li&gt;HttpClient4: Test timeouts with proxy&lt;/li&gt;
&lt;li&gt;Refactor TestHttpClient4 with try with resource&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_3"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: fix &lt;a href="https://github.com/mguessan/davmail/pull/88" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/88&lt;/a&gt; EXDATE timezone issue&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="o365_5"&gt;O365:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;O365: fix &lt;a href="https://github.com/mguessan/davmail/pull/92" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/92&lt;/a&gt; failover for null query with non https URI&lt;/li&gt;
&lt;li&gt;O365: refactor O365Authenticator and fix regressions&lt;/li&gt;
&lt;li&gt;O365: switch to new executeFollowRedirect implementation&lt;/li&gt;
&lt;li&gt;O365: refactor O365Authenticator&lt;/li&gt;
&lt;li&gt;Refactor O365InteractiveJSLogger to work with more JDK versions&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="test"&gt;Test:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Test: improve notification dialog test&lt;/li&gt;
&lt;li&gt;Test: Improve client certificate test&lt;/li&gt;
&lt;li&gt;Improve getReleasedVersion test case&lt;/li&gt;
&lt;li&gt;Test: Improve base test cases&lt;/li&gt;
&lt;li&gt;Add new harmcrest-core junit dependency ant enable IMAP test cases&lt;/li&gt;
&lt;li&gt;Test: update junit to 4.12&lt;/li&gt;
&lt;li&gt;Run a SSL server socket&lt;/li&gt;
&lt;li&gt;Test: cleanup code&lt;/li&gt;
&lt;li&gt;Improve TestDavGateway&lt;/li&gt;
&lt;li&gt;Make AbstractDavMailTestCase abstract&lt;/li&gt;
&lt;li&gt;HttpClient: improve test cases&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="build_2"&gt;Build:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Fix file name for Appveyor trunk builds&lt;/li&gt;
&lt;li&gt;Fix git svn warning&lt;/li&gt;
&lt;li&gt;try to get svn revision from git&lt;/li&gt;
&lt;li&gt;Set jacoco path in sonar config&lt;/li&gt;
&lt;li&gt;fix test-compile language level&lt;/li&gt;
&lt;li&gt;Upload coverage report to sourceforge for AppVeyor&lt;/li&gt;
&lt;li&gt;Prepare Jacoco coverage report&lt;/li&gt;
&lt;li&gt;Cleanup unused ant check&lt;/li&gt;
&lt;li&gt;Exclude Sonar working directory from package&lt;/li&gt;
&lt;li&gt;Appveyor: try to run sonar from Appveyor build&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ews_3"&gt;EWS:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: make getPageSize static&lt;/li&gt;
&lt;li&gt;EWS: merge PR Allow to configure EWS folder fetch page size &lt;a href="https://github.com/mguessan/davmail/pull/79" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/79&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;EWS: fix response handling&lt;/li&gt;
&lt;li&gt;EWS: fix O365Authenticator&lt;/li&gt;
&lt;li&gt;EWS: fix regression in O365Token&lt;/li&gt;
&lt;li&gt;EWS: handle malformed id_token&lt;/li&gt;
&lt;li&gt;EWS: refactor authenticators to use davmail.enableOidc&lt;/li&gt;
&lt;li&gt;EWS: create a new davmail.enableOidc setting tp switch to new v2.0 OIDC compliant endpoint &lt;a href="https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison" rel="nofollow"&gt;https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;EWS: Prepare OIDC support, add v2.0 url in interactive authenticator&lt;/li&gt;
&lt;li&gt;EWS: Prepare OIDC support, decode id_token&lt;/li&gt;
&lt;li&gt;EWS: enable davmail.oauth.persistToken by default&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="dav"&gt;DAV:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;DAV: MOVE returns SC_CONFLICT on missing target folder&lt;/li&gt;
&lt;li&gt;Dav: Update to Java 8&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="smtp"&gt;SMTP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;SMTP: improve error message handling&lt;/li&gt;
&lt;li&gt;SMTP: fix smtp test cases&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ldap"&gt;LDAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;LDAP: clean test case&lt;/li&gt;
&lt;li&gt;LDAP: fix dn authentication&lt;/li&gt;
&lt;li&gt;LDAP: Ber code cleanup from audit&lt;/li&gt;
&lt;li&gt;LDAP: update LdapConnection to Java 8&lt;/li&gt;
&lt;li&gt;LDAP: make parseIntWithTag protected to call it from LdapConnection&lt;/li&gt;
&lt;li&gt;Use imported Ber implementation instead of com.sun.jndi.ldap&lt;/li&gt;
&lt;li&gt;Import Ber implementation from OpenJDK to avoid compilation warnings&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="osx_1"&gt;OSX:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;OSX: drop Growl support &lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-540-2019-11-11"&gt;DavMail 5.4.0 2019-11-11&lt;/h2&gt;
&lt;p&gt;Main new feature is experimental support for stored Oauth tokens with davmail.oauth.persistToken=true,&lt;br/&gt;
tokens are stored encrypted with client provided password.&lt;br/&gt;
Also improved SPECIAL-USE IMAP support and fixed a few regressions related to ExchangeSessionFactory refactoring&lt;br/&gt;
and a lot of bug fixed from user feedback.&lt;/p&gt;
&lt;h3 id="enhancements_4"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Add sonar target to ant build&lt;/li&gt;
&lt;li&gt;Sonar configuration&lt;/li&gt;
&lt;li&gt;Add sonarqube-ant-task to lib&lt;/li&gt;
&lt;li&gt;Throw NoSuchElementException in message iterator for iteration beyond the end of the collection&lt;/li&gt;
&lt;li&gt;InterruptedException should not be ignored&lt;/li&gt;
&lt;li&gt;currentVersion is never null&lt;/li&gt;
&lt;li&gt;Make AbstractConnection abstract&lt;/li&gt;
&lt;li&gt;Update default user agent to latest version of Edge on Windows&lt;/li&gt;
&lt;li&gt;Add .gitignore file&lt;/li&gt;
&lt;li&gt;Update StringEncryptor to Java 8&lt;/li&gt;
&lt;li&gt;Update Maven and Ant build to Java 1.8&lt;/li&gt;
&lt;li&gt;Drop Java 7 in travis config&lt;/li&gt;
&lt;li&gt;Add {AES} prefix to encrypted strings&lt;/li&gt;
&lt;li&gt;Improve StringEncryptor compatibility with older jdks&lt;/li&gt;
&lt;li&gt;Ignore stream errors on disconnect, messages cleanup&lt;/li&gt;
&lt;li&gt;Testcase for password based string encryptor&lt;/li&gt;
&lt;li&gt;Implement password based string encryptor&lt;/li&gt;
&lt;li&gt;Refactor settings save to preserve comments&lt;/li&gt;
&lt;li&gt;Force Trusty in Travis config&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="appveyor"&gt;Appveyor:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Appveyor: Update to ant 1.10.7&lt;/li&gt;
&lt;li&gt;Appveyor: test JDK 12 and 13 build&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="security_3"&gt;Security:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Security: secure XML transformer&lt;/li&gt;
&lt;li&gt;Security: Untrusted XML should be parsed without resolving external data&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="swt"&gt;SWT:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;SWT: Refactor the synchronisation mechanism to not use a Thread instance as a monitor&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ldap_1"&gt;LDAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;LDAP: Add a note to Thunderbird directory config on uid=username syntax&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_4"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: implement RETURN (SPECIAL-USE) in IMAP list command, return special folders only, fix for &lt;a href="https://sourceforge.net/p/davmail/bugs/721"&gt;https://sourceforge.net/p/davmail/bugs/721&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;IMAP: allow recursive search on public folders&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="carddav"&gt;Carddav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Carddav: iOS does not support VCard 4, detect its old Carddav client and send VCard 3 content, exclude unsupported distribution list items&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_4"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: do not try to send cancel notifications on shared and public calendars&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ews_4"&gt;EWS:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: allow O365Manual in headless mode&lt;/li&gt;
&lt;li&gt;EWS: implement command line mode for O365ManualAuthenticator, as suggested in &lt;a href="https://github.com/mguessan/davmail/issues/48" rel="nofollow"&gt;https://github.com/mguessan/davmail/issues/48&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;EWS: exchangecookie is not a good check of successful authentication&lt;/li&gt;
&lt;li&gt;EWS: detect direct EWS even if mode is different&lt;/li&gt;
&lt;li&gt;EWS: experimental, store Oauth refresh tokens in davmail.properties when davmail.oauth.persistToken=true&lt;/li&gt;
&lt;li&gt;EWS: fix /public and /archive folders access over EWS&lt;/li&gt;
&lt;li&gt;EWS: improve O365Authenticator error detection &lt;/li&gt;
&lt;li&gt;EWS: fix access to /public folder&lt;/li&gt;
&lt;li&gt;EWS: Try to improve O365 authentication with ADFS tenants&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="documentation_5"&gt;Documentation:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: fix trusterbird link on home page&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="linux_4"&gt;Linux:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Linux: switch spec file to java-1.8.0&lt;/li&gt;
&lt;li&gt;Linux: prepare rhel8 support&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="smtp_1"&gt;SMTP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;SMTP: fix #720 Davmail returns 503 instead of 530 when trying to send mail before authentication&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-531-2019-08-12"&gt;DavMail 5.3.1 2019-08-12&lt;/h2&gt;
&lt;p&gt;Bugfix release to fix NTLM authentication for some Exchange on premise instances.&lt;br/&gt;
Also includes a new OSX handlers implementation required to support recent OSX JDKs.&lt;/p&gt;
&lt;h3 id="enhancements_5"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Reprocess credentials in addNTLM&lt;/li&gt;
&lt;li&gt;Use github download link instead of direct sourceforge link in About dialog&lt;/li&gt;
&lt;li&gt;Improve ExchangeFormAuthenticator logging&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ews_5"&gt;EWS:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: fix possible bug with username with authenticatorClass&lt;/li&gt;
&lt;li&gt;EWS: add an Open button to O365ManualAuthenticatorDialog in case links are not working&lt;/li&gt;
&lt;li&gt;EWS: fix regression in OWA authentication mode, enable NTLM if required by EWS endpoint&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="osx_2"&gt;OSX:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;OSX: comment zulufx jre embed&lt;/li&gt;
&lt;li&gt;OSX: prepare zulufx jre embed&lt;/li&gt;
&lt;li&gt;OSX: drop old OSXAdapter&lt;/li&gt;
&lt;li&gt;OSX: cleanup unused methods&lt;/li&gt;
&lt;li&gt;OSX: no need to register QuitHandler, default is fine&lt;/li&gt;
&lt;li&gt;OSX: implement new Desktop handlers on Java 9 and later, keep compatibility with com.apple.eawt.Application&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-530-2019-08-06"&gt;DavMail 5.3.0 2019-08-06&lt;/h2&gt;
&lt;p&gt;Major update with a focus on O365 and MFA support, this release includes a new davmail.userWhiteList&lt;br/&gt;
setting to filter users by email or domain. We now have a more modern responsive site thanks to new Maven skin.&lt;br/&gt;
Migration to HttpClient 4 is in progress but not finished yet.&lt;/p&gt;
&lt;h3 id="enhancements_6"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Cleanup from audit&lt;/li&gt;
&lt;li&gt;Update Maven POM&lt;/li&gt;
&lt;li&gt;Implement a new davmail.userWhiteList setting to only allow limited users and/or domains, see &lt;a href="https://github.com/mguessan/davmail/issues/47" rel="nofollow"&gt;https://github.com/mguessan/davmail/issues/47&lt;/a&gt;&lt;br/&gt;
value is a comma separated list of emails or domains (user@company.com or &lt;a class="user-mention" href="/u/company/"&gt;@company&lt;/a&gt;.com)&lt;/li&gt;
&lt;li&gt;Cleanup: remove duplicate code&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_5"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: additional folder test case&lt;/li&gt;
&lt;li&gt;IMAP: Fix #714 StringIndexOutOfBoundsException with NOT UID condition&lt;/li&gt;
&lt;li&gt;IMAP: fix &lt;a href="https://github.com/mguessan/davmail/issues/35" rel="nofollow"&gt;https://github.com/mguessan/davmail/issues/35&lt;/a&gt;, Result of of a mailbox search is different between search and uid_search&lt;/li&gt;
&lt;li&gt;IMAP: try to encode invalid character ( and ) in keywords&lt;/li&gt;
&lt;li&gt;IMAP: fix #708 issue, more generic patch when folder name starts with a special folder name&lt;/li&gt;
&lt;li&gt;IMAP: fix #708 issue with folder name that starts with Inbox&lt;/li&gt;
&lt;li&gt;IMAP: encode greater than character in folder name&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="http"&gt;HTTP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Fix logger and remove old httpClient dependency in HttpClientAdapter&lt;/li&gt;
&lt;li&gt;HTTP: Full Http Client 4 form authentication module&lt;/li&gt;
&lt;li&gt;HTTP: experimental Http Client 4 authenticator&lt;/li&gt;
&lt;li&gt;HTTP: Implement execute with custom local context and manage cookies&lt;/li&gt;
&lt;li&gt;HTTP: cleanup from audit&lt;/li&gt;
&lt;li&gt;HTTP: remove form authentication code from ExchangeSession&lt;/li&gt;
&lt;li&gt;HTTP: Switch to new ExchangeFormAuthenticator&lt;/li&gt;
&lt;li&gt;HTTP: adjust RestRequest for HttpClient 4 Exchange DAV requests&lt;/li&gt;
&lt;li&gt;HTTP: implement HttpClient 4 Exchange DAV requests&lt;/li&gt;
&lt;li&gt;HTTP: prepare major refactoring, extract form authentication from ExchangeSession&lt;/li&gt;
&lt;li&gt;HTTP: migrate O365Token to HttpClient4&lt;/li&gt;
&lt;li&gt;HTTP: remove last dependencies to HttpClient3 in URIUtil&lt;/li&gt;
&lt;li&gt;HTTP: set logging levels for HttpClient 4&lt;/li&gt;
&lt;li&gt;HTTP: improve request implementation&lt;/li&gt;
&lt;li&gt;HTTP: move requests to new package&lt;/li&gt;
&lt;li&gt;HTTP: improve REST request&lt;/li&gt;
&lt;li&gt;HTTP: Accept String urls in GetRequest and PostRequest&lt;/li&gt;
&lt;li&gt;HTTP: switch to GetRequest in getReleasedVersion&lt;/li&gt;
&lt;li&gt;HTTP: Http Client 4 GET and POST request wrappers&lt;/li&gt;
&lt;li&gt;HTTP: a few more test cases&lt;/li&gt;
&lt;li&gt;HTTP: improve HttpClientAdapter interface&lt;/li&gt;
&lt;li&gt;HTTP: switch check released version to HttpClient 4&lt;/li&gt;
&lt;li&gt;HTTP: implement Get and Rest requests with HttpClient 4&lt;/li&gt;
&lt;li&gt;HTTP: reenable basic proxy authentication on Java &amp;gt;= 1.8.111 in HttpClientAdapter&lt;/li&gt;
&lt;li&gt;HTTP: reimplement URIUtil to prepare HttpClient 4 migration&lt;/li&gt;
&lt;li&gt;HTTP: Cleanup from audit&lt;/li&gt;
&lt;li&gt;HTTP: reenable basic proxy authentication on Java &amp;gt;= 1.8.111: jdk.http.auth.tunneling.disabledSchemes=""&lt;/li&gt;
&lt;li&gt;HTTP: Implement JCIFS NTLM authentication with HttpClient 4&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="gui"&gt;GUI:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;GUI: translate disableTrayActivitySwitch messages&lt;/li&gt;
&lt;li&gt;GUI: merge Add davmail.disableTrayActivitySwitch to disable tray icon activity, see &lt;a href="https://github.com/mguessan/davmail/pull/28" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/28&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ews_6"&gt;EWS:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: O365Manual add mode in Settings&lt;/li&gt;
&lt;li&gt;EWS: O365Manual enable in ExchangeSessionFactory&lt;/li&gt;
&lt;li&gt;EWS: O365Manual missing label&lt;/li&gt;
&lt;li&gt;EWS: add davmail.oauth.tenantId setting to GUI and documentation&lt;/li&gt;
&lt;li&gt;EWS: create a new davmail.oauth.tenantId setting to set actual company tenant&lt;/li&gt;
&lt;li&gt;EWS: additional cases for Microsoft account authentication&lt;/li&gt;
&lt;li&gt;EWS: refactor O365 interactive to always use an HttpURLConnectionWrapper&lt;/li&gt;
&lt;li&gt;EWS: Fix error handling in manual authentication failover&lt;/li&gt;
&lt;li&gt;EWS: fix NPE in manual authenticator&lt;/li&gt;
&lt;li&gt;EWS: do not force user agent in O365 interactive authenticator, breaks Microsoft login form browser detection&lt;/li&gt;
&lt;li&gt;EWS: improve Okta support in O365 interactive authenticator&lt;/li&gt;
&lt;li&gt;EWS: prepare tenant independent authenticator: do not hard code /common/&lt;/li&gt;
&lt;li&gt;EWS: always enable interactive authenticator in settings now that we have a failover without JavaFX&lt;/li&gt;
&lt;li&gt;EWS: i18n manual authentication messages&lt;/li&gt;
&lt;li&gt;EWS: Prepare a failover manual authenticator when OpenJFX is not available&lt;/li&gt;
&lt;li&gt;EWS: merge &lt;a href="https://github.com/mguessan/davmail/pull/26" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/26&lt;/a&gt;, Added input names for form authentication&lt;/li&gt;
&lt;li&gt;EWS: do not call addNTLM in ExchangeSessionFactory to avoid kerberos configuration conflict&lt;/li&gt;
&lt;li&gt;EWS: fix regression to correctly detect network down&lt;/li&gt;
&lt;li&gt;EWS: fix regression, do not force user-agent in 0365 interactive authenticator&lt;/li&gt;
&lt;li&gt;EWS: cleanup from audit&lt;/li&gt;
&lt;li&gt;EWS: O36 authenticators cleanup from audit&lt;/li&gt;
&lt;li&gt;EWS: use ConvertId to retrieve current mailbox primary SMTP address, more reliable than ResolveNames&lt;/li&gt;
&lt;li&gt;EWS: migrate O365Authenticator to HttpClient 4&lt;/li&gt;
&lt;li&gt;EWS: remove duplicate code in O365 interactive authenticator&lt;/li&gt;
&lt;li&gt;EWS: improve interactive authenticator, adjust integrity workaround for Okta&lt;/li&gt;
&lt;li&gt;EWS: improve interactive authenticator, adjust integrity workaround and catch javascript errors&lt;/li&gt;
&lt;li&gt;EWS: Apply integrity disable workaround to Okta form second step&lt;/li&gt;
&lt;li&gt;EWS: use URIBuilder instead of URIUtil to build URI&lt;/li&gt;
&lt;li&gt;EWS: fix support for new Okta authentication form, need to disable integrity check&lt;/li&gt;
&lt;li&gt;EWS: drop old Autodiscover failover, need to implement before authentication instead&lt;/li&gt;
&lt;li&gt;EWS: log connection errors in O365InteractiveAuthenticator&lt;/li&gt;
&lt;li&gt;EWS: new AutoDiscoverMethod implementation&lt;/li&gt;
&lt;li&gt;EWS: improve O365 token logging&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="linux_5"&gt;Linux:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Linux: adjust AWT tray icon for Linux Mint Cinnamon&lt;/li&gt;
&lt;li&gt;Linux: Merge patch, add JFX_CLASSPATH when SWT3 is available&lt;/li&gt;
&lt;li&gt;Linux: Fix spec file for copr&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="unix"&gt;Unix:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Unix: failover to xdg-open on both Linux and Freebsd&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="documentation_6"&gt;Documentation:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: fix title in page&lt;/li&gt;
&lt;li&gt;Doc: improved site skin with collapsible sidebar&lt;/li&gt;
&lt;li&gt;Doc: upgrade Maven Javadoc plugin&lt;/li&gt;
&lt;li&gt;Doc: Switch to modern responsive Maven fluido skin&lt;/li&gt;
&lt;li&gt;Doc: Switch to modern responsive Maven reflow skin&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="dav_1"&gt;DAV:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;DAV: cleanup from audit&lt;/li&gt;
&lt;li&gt;DAV: remove dependency to old URIException&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_5"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: cleanup from audit&lt;/li&gt;
&lt;li&gt;Caldav: send 404 not found instead of 400 for unknown requests&lt;/li&gt;
&lt;li&gt;Caldav: Do not try to update event is X-MOZ-FAKED-MASTER is set&lt;/li&gt;
&lt;li&gt;Caldav: fix test case&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="osx_3"&gt;OSX:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;OSX: merge patch #54 Set NSSupportsAutomaticGraphicsSwitching to Yes to prevent macOS GPU access&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="swt_1"&gt;SWT:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;SWT: merge duplicate code&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-520-2019-02-10"&gt;DavMail 5.2.0 2019-02-10&lt;/h2&gt;
&lt;p&gt;Includes improved ADFS compatibility and support Okta authentication in interactive mode, &lt;br/&gt;
a fix for Thunderbird dismiss issue, a few LDAP and IMAP enhancements (TRYCREATE support).&lt;br/&gt;
Also upgraded libraries to prepare HttpClient 4 upgrade.&lt;/p&gt;
&lt;h3 id="ews_7"&gt;EWS:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: improve O365 mode handling, force url&lt;/li&gt;
&lt;li&gt;EWS: detect Okta authentication and explicitly fail in this case with O365Authenticator&lt;/li&gt;
&lt;li&gt;EWS: O365StoredTokenAuthenticator test case&lt;/li&gt;
&lt;li&gt;EWS: allow cross domain requests for Okta form support in O365Interactive mode&lt;/li&gt;
&lt;li&gt;EWS: try to fix #702, add login.srf to OpenJFX workaround&lt;/li&gt;
&lt;li&gt;EWS: Remove Jetbrains only annotation&lt;/li&gt;
&lt;li&gt;EWS: Fix O365 device login check&lt;/li&gt;
&lt;li&gt;EWS: cleanup from audit&lt;/li&gt;
&lt;li&gt;EWS: Another step in O365 device login&lt;/li&gt;
&lt;li&gt;EWS: detect devicelogin after O365 ADFS authentication, try to follow redirect&lt;/li&gt;
&lt;li&gt;EWS: adjust 0365Token log statement level&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_6"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: explicitly detect Thunderbird dismiss/snooze events to update only mozilla custom properties&lt;/li&gt;
&lt;li&gt;Caldav: fix #705 daily recurrence issue&lt;/li&gt;
&lt;li&gt;Caldav: experimental, return created item URL in Location header&lt;/li&gt;
&lt;li&gt;Caldav: enable isorganizer field&lt;/li&gt;
&lt;li&gt;Caldav: adjust isOrganizer check (again) to work on all Exchange server versions&lt;/li&gt;
&lt;li&gt;Caldav: workaround for missing DTEND in event, avoid NullPointerException&lt;/li&gt;
&lt;li&gt;Caldav: fix recurrence options and implement interval over EWS&lt;/li&gt;
&lt;li&gt;Caldav: fix montly recurrence handling&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_6"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: fix #704 implement &lt;span&gt;[TRYCREATE]&lt;/span&gt; on folder not found&lt;/li&gt;
&lt;li&gt;IMAP: Fix FETCH RFC822 request for python imap client.&lt;/li&gt;
&lt;li&gt;IMAP: Additional fix for slash in folder name&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="carddav_1"&gt;Carddav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Carddav: fix regression, override getAllContacts to list contacts and distribution lists&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ldap_2"&gt;LDAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;LDAP: cleanup from audit and support simple rdn authentication, see &lt;a href="https://github.com/mguessan/davmail/pull/18" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/18&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;LDAP: implement hassubordinates attribute&lt;/li&gt;
&lt;li&gt;LDAP: fix contact filter over EWS&lt;/li&gt;
&lt;li&gt;LDAP: fix dn authentication, fix &lt;a href="https://github.com/mguessan/davmail/pull/18" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/18&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;LDAP: improve dn authentication, fix &lt;a href="https://github.com/mguessan/davmail/pull/18" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/18&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;LDAP: implement dn authentication, see &lt;a href="https://github.com/mguessan/davmail/pull/18" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/18&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;LDAP: test case for dn authentication, see &lt;a href="https://github.com/mguessan/davmail/pull/18" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/18&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;LDAP: encode uid value in dn, see &lt;a href="https://github.com/mguessan/davmail/pull/18" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/18&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;LDAP: add mappings for HomePhone and Pager attributes&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="documentation_7"&gt;Documentation:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: fix &lt;a href="https://github.com/mguessan/davmail/pull/21" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/21&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Doc: Improve documentation of client connection timeout, merge &lt;a href="https://github.com/mguessan/davmail/pull/20" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/20&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Doc: remove alt from OpenHub link&lt;/li&gt;
&lt;li&gt;Doc: merge documentation provided by Geert Stappers&lt;/li&gt;
&lt;li&gt;Doc: Update roadmap&lt;/li&gt;
&lt;li&gt;Doc: update README.md&lt;/li&gt;
&lt;li&gt;Doc: document Android configuration with a DavMail server&lt;/li&gt;
&lt;li&gt;Doc: prepare android setup instructions&lt;/li&gt;
&lt;li&gt;Doc: improve download link in README.md&lt;/li&gt;
&lt;li&gt;Doc: update Debian package description&lt;/li&gt;
&lt;li&gt;Doc: fix openhub link&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="http_1"&gt;HTTP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;HTTP: switch from URIUtil to URIBuilder in Caldav test cases&lt;/li&gt;
&lt;li&gt;HTTP: more Caldav test cases with HttpClientAdapter&lt;/li&gt;
&lt;li&gt;HTTP: implement caldav report and search test case with HttpClientAdapter&lt;/li&gt;
&lt;li&gt;HTTP: implement Dav request in HttpClient 4 adapter&lt;/li&gt;
&lt;li&gt;HTTP: improve HttpClient 4 adapter, detect relative url&lt;/li&gt;
&lt;li&gt;HTTP: implement HttpClientAdapter follow redirects and parse username&lt;/li&gt;
&lt;li&gt;HTTP: first HttpClientAdapter draft&lt;/li&gt;
&lt;li&gt;HTTP: include HttpClient 4&lt;/li&gt;
&lt;li&gt;Update commons-codec to 1.11 (prepare HttpClient 4 migration)&lt;/li&gt;
&lt;li&gt;HTTP: test HttpClient 4 connection pool management and expiration&lt;/li&gt;
&lt;li&gt;HTTP: More HttpClient 4 test cases for authentication, proxy, redirects and URI handling&lt;/li&gt;
&lt;li&gt;HTTP: Basic HttpClient 4 test cases&lt;/li&gt;
&lt;li&gt;Update jackrabbit to 2.14.6 (latest version to support httpclient 3.1&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="linux_6"&gt;Linux:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Linux: adjust tray icon for XFCE and KDE&lt;/li&gt;
&lt;li&gt;Linux: try to adjust tray icon for XFCE&lt;/li&gt;
&lt;li&gt;Linux: fix swt jar exists test in launch script&lt;/li&gt;
&lt;li&gt;Linux: fix SWT version in POM and update description&lt;/li&gt;
&lt;li&gt;Linux: adjust systemd service to rhel/centos&lt;/li&gt;
&lt;li&gt;Add DavMail systemd service in spec file&lt;/li&gt;
&lt;li&gt;Linux: fix compatibility with older distributions&lt;/li&gt;
&lt;li&gt;SWT: Improve code to make it compatible with older SWT libraries in Ubuntu 18.&lt;/li&gt;
&lt;li&gt;Linux: fix spec file regression&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="maven"&gt;Maven:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Maven: reenable site plugins in pom&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-510-2018-12-18"&gt;DavMail 5.1.0 2018-12-18&lt;/h2&gt;
&lt;p&gt;Much improved interactive O365 authentication with OpenJFX bug workaround, &lt;br/&gt;
experimental stored Oauth refresh token support. More Linux distributions were tested&lt;br/&gt;
to make DavMail work with recent KDE and Gnome environments.&lt;/p&gt;
&lt;h3 id="ews_8"&gt;EWS:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: more progress on ADFS authentication&lt;/li&gt;
&lt;li&gt;EWS: cleanup warning message&lt;/li&gt;
&lt;li&gt;EWS: experimental, implement davmail.oauth.persistToken to store Oauth refresh token&lt;/li&gt;
&lt;li&gt;EWS: make progress on O365 ADFS authentication, fix method&lt;/li&gt;
&lt;li&gt;EWS: stored token authentication, load token by username&lt;/li&gt;
&lt;li&gt;EWS: make progress on O365 ADFS authentication, enable NTLM and pass credentials&lt;/li&gt;
&lt;li&gt;EWS: O365 authentication, set resource url on token refresh&lt;/li&gt;
&lt;li&gt;EWS: set default access token expiration&lt;/li&gt;
&lt;li&gt;EWS: implement stored access token in addition to refresh token (will only last one hour)&lt;/li&gt;
&lt;li&gt;EWS: experimental, load Oauth refresh token from setting davmail.oauth.refreshToken&lt;/li&gt;
&lt;li&gt;EWS: fix &lt;a href="https://github.com/mguessan/davmail/issues/15" rel="nofollow"&gt;https://github.com/mguessan/davmail/issues/15&lt;/a&gt; empty domain in NTLM authentication&lt;/li&gt;
&lt;li&gt;EWS: revert to 4.9.0 behavior for EWS mode&lt;/li&gt;
&lt;li&gt;EWS: fix regression in token handling&lt;/li&gt;
&lt;li&gt;EWS: allow urn protocol in O365 authenticator&lt;/li&gt;
&lt;li&gt;EWS: fix regression when main authentication relies on OWA and/or ADFS&lt;/li&gt;
&lt;li&gt;EWS: check for errors in returned json token&lt;/li&gt;
&lt;li&gt;EWS: Fix warning message&lt;/li&gt;
&lt;li&gt;EWS: workaround for JavaFX bug, add one more URL&lt;/li&gt;
&lt;li&gt;EWS: call setAlwaysOnTop(true); on page load success&lt;/li&gt;
&lt;li&gt;EWS: in addition to requestFocus, call toFront&lt;/li&gt;
&lt;li&gt;EWS: workaround for JavaFX bug, handle more methods in connection wrapper&lt;/li&gt;
&lt;li&gt;EWS: workaround for JavaFX bug, handle post requests&lt;/li&gt;
&lt;li&gt;EWS: workaround for JavaFX bug, add additional microsoft url&lt;/li&gt;
&lt;li&gt;EWS: workaround for JavaFX bug, fix java 8 regression&lt;/li&gt;
&lt;li&gt;EWS: Add export compiler arg java.base/sun.net.www.protocol.https for webview bug workaround &lt;/li&gt;
&lt;li&gt;EWS: improve interactive authenticator focus handling and remove reflection calls&lt;/li&gt;
&lt;li&gt;EWS: workaround for JavaFX bug, use reflection to avoid java 9 errors&lt;/li&gt;
&lt;li&gt;EWS: workaround for JavaFX bug, drop reference to internal sun class HttpsURLConnectionImpl&lt;/li&gt;
&lt;li&gt;EWS: workaround for JavaFX bug, disable integrity check on external resources in O365 authentication form&lt;/li&gt;
&lt;li&gt;EWS: javafx test can also trigger NoClassDefFoundError&lt;/li&gt;
&lt;li&gt;EWS: Rename JSLogger&lt;/li&gt;
&lt;li&gt;EWS: improve O365 interactive error handling&lt;/li&gt;
&lt;li&gt;EWS: override console.log to send error messages to Log4J&lt;/li&gt;
&lt;li&gt;EWS: More EWS test cases&lt;/li&gt;
&lt;li&gt;EWS: new authenticator test cases&lt;/li&gt;
&lt;li&gt;EWS: detect when user settings validation is required by Office 365&lt;/li&gt;
&lt;li&gt;EWS: detect manual window close event&lt;/li&gt;
&lt;li&gt;EWS: Make sure we close frame on timeout, improve error message&lt;/li&gt;
&lt;li&gt;EWS: refactor O365 authenticator to do all gui calls in Swing thread&lt;/li&gt;
&lt;li&gt;EWS: cleanup from audit&lt;/li&gt;
&lt;li&gt;EWS: encode slash inside folder names&lt;/li&gt;
&lt;li&gt;EWS: convert date without SimpleDateFormat during load messages to improve performance and reduce memory footprint&lt;/li&gt;
&lt;li&gt;EWS: Send authentication failed instead of generic error in case of username mismatch in O365Authenticator&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="documentation_8"&gt;Documentation:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: update project description in README.md&lt;/li&gt;
&lt;li&gt;Doc: update project description&lt;/li&gt;
&lt;li&gt;Doc: adjust IntelliJ link according to JetBrains recommendation&lt;/li&gt;
&lt;li&gt;Doc: revert openhub change, was a target side issue&lt;/li&gt;
&lt;li&gt;Doc: add YourKit Java Profiler logo to home page&lt;/li&gt;
&lt;li&gt;Doc: improve IntelliJ IDEA home page logo&lt;/li&gt;
&lt;li&gt;Doc: fix swt gtk version in documentation&lt;/li&gt;
&lt;li&gt;Doc: fix openhub link&lt;/li&gt;
&lt;li&gt;Doc: add link to &lt;a href="https://apps.dev.microsoft.com/" rel="nofollow"&gt;https://apps.dev.microsoft.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Doc: direct link to latest release package download list in README.md&lt;/li&gt;
&lt;li&gt;Doc: fix link in server setup documentation&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="osx_4"&gt;OSX:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;OSX: upgrade universalJavaApplicationStub to 3.0.4&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="linux_7"&gt;Linux:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Linux: prepare systemd service&lt;/li&gt;
&lt;li&gt;Linux: missing openjfx dependency&lt;/li&gt;
&lt;li&gt;Linux: set cross platform look and feel on Linux, except is swing.defaultlaf is set&lt;/li&gt;
&lt;li&gt;Linux: enable anti aliasing in GUI&lt;/li&gt;
&lt;li&gt;Linux: improve launch scripts to handle more cases (OpenJDK 11 with or without SWT)&lt;/li&gt;
&lt;li&gt;Linux: remove swt4 suggests and revert gtk force, does not work under debian sid&lt;/li&gt;
&lt;li&gt;Linux: Force gtk version no longer required with cross platform look and feel&lt;/li&gt;
&lt;li&gt;Linux: use hi res icon images in frame mode&lt;/li&gt;
&lt;li&gt;Linux: Add JavaFX classpath to launch script&lt;/li&gt;
&lt;li&gt;Linux: add libopenjfx-java dependency to debian package&lt;/li&gt;
&lt;li&gt;Linux: switch swt dependency to suggests&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_7"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: another NullPointerException fix&lt;/li&gt;
&lt;li&gt;Caldav: fix #694 Null pointer exception writing days of week&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements_7"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Avoid nullpointerexception on missing credentials&lt;/li&gt;
&lt;li&gt;Move isLinux method to Settings&lt;/li&gt;
&lt;li&gt;Revert back to Java 6 build in all cases&lt;/li&gt;
&lt;li&gt;Restore Java 6 compatibility&lt;/li&gt;
&lt;li&gt;Add utility methods in Settings&lt;/li&gt;
&lt;li&gt;Do not try SWT when O365 interactive mode is selected.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="windows_3"&gt;Windows:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Windows: update winrun4j 64 wrapper to support java &amp;gt; 8, see &lt;a href="https://github.com/poidasmith/winrun4j/pull/81" rel="nofollow"&gt;https://github.com/poidasmith/winrun4j/pull/81&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="gui_1"&gt;GUI:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;GUI: dispose notification dialog on close&lt;/li&gt;
&lt;li&gt;GUI: increase default frame size&lt;/li&gt;
&lt;li&gt;GUI: add hi res icon images&lt;/li&gt;
&lt;li&gt;GUI: use setLocationRelativeTo to set frame location&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="swt_2"&gt;SWT:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;SWT: O365Interactive is not compatible with SWT, do not try to create SWT tray&lt;/li&gt;
&lt;li&gt;SWT: call GDK.gdk_error_trap_push() to avoid crash&lt;/li&gt;
&lt;li&gt;SWT: Enable debug mode&lt;/li&gt;
&lt;li&gt;SWT: upgrade SWT to 4.9&lt;/li&gt;
&lt;li&gt;SWT: drop deprecated SWT 3 calls and adjust tray icon image to 22px&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="appveyor_1"&gt;Appveyor:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Appveyor: build with JDK11&lt;/li&gt;
&lt;li&gt;Merge patch #51 Check for javafx in compile classpath&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-500-2018-11-21"&gt;DavMail 5.0.0 2018-11-21&lt;/h2&gt;
&lt;p&gt;Major release with Office 365 modern authentication (Oauth2) and MFA support.&lt;br/&gt;
DavMail now supports IMAP SPECIAL-USE RFC6154.&lt;br/&gt;
On the packaging side, RPM files are now included in source package and more &lt;br/&gt;
distributions are supported by the spec file. An appveyor configuration is in place to&lt;br/&gt;
provide up to date trunk builds. Thanks to wberrier DavMail is now available as a&lt;br/&gt;
flatpack package, see &lt;a href="https://flathub.org/apps/details/org.davmail.DavMail" rel="nofollow"&gt;https://flathub.org/apps/details/org.davmail.DavMail&lt;/a&gt;&lt;br/&gt;
This release also includes many bug fixes and enhancements, see below.&lt;/p&gt;
&lt;p&gt;Known issues/limitations:&lt;br/&gt;
- Office 365 interactive authentication is based on OpenJFX (JavaFX),&lt;br/&gt;
which is available in Oracle JDK but not in OpenJDK. On windows use latest Oracle JDK (&amp;gt;=9),&lt;br/&gt;
on Linux OpenJDK 8 + JavaFX is the best option. This is obviously not available in server mode.&lt;br/&gt;
- Office 365 modern authentication does not have those constraints, however it will only work&lt;br/&gt;
with native Office 365 authentication, and not with ADFS.&lt;/p&gt;
&lt;h3 id="ews_9"&gt;EWS&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: catch errors in setURLStreamHandlerFactory&lt;/li&gt;
&lt;li&gt;EWS: custom proxy selector, do not return proxies for direct socket connections&lt;/li&gt;
&lt;li&gt;EWS: create a custom proxy selector to manage O365 interactive authentication proxy&lt;/li&gt;
&lt;li&gt;EWS: improve error handling in O365 interactive authenticator, do not implicitly close JavaFX thread&lt;/li&gt;
&lt;li&gt;EWS: cleanup O365 interactive&lt;/li&gt;
&lt;li&gt;EWS: Set http.nonProxyHosts from davmail.noProxyFor in O365 interactive authentication&lt;/li&gt;
&lt;li&gt;EWS: improve error handling in O365 interactive authentication&lt;/li&gt;
&lt;li&gt;EWS: implement proxy support in O365 interactive authentication&lt;/li&gt;
&lt;li&gt;EWS: username with @ is email&lt;/li&gt;
&lt;li&gt;Do not try form authentication with direct EWS&lt;/li&gt;
&lt;li&gt;EWS: Force dispose of interactive frame&lt;/li&gt;
&lt;li&gt;EWS: improve interactive authentication error handling&lt;/li&gt;
&lt;li&gt;Fix main test case to support new authentication modes&lt;/li&gt;
&lt;li&gt;EWS: Enable DavMail custom SSLSocketFactory in O365 interactive authentication &lt;/li&gt;
&lt;li&gt;EWS: Add Oauth authentication section in DavMail settings interface&lt;/li&gt;
&lt;li&gt;EWS: Experimental ADFS authentication, not yet functional&lt;/li&gt;
&lt;li&gt;EWS: log page content on error in O365Authenticator&lt;/li&gt;
&lt;li&gt;EWS: register a stream handler for msauth protocol&lt;/li&gt;
&lt;li&gt;EWS: Allow clientId override in interactive authenticator&lt;/li&gt;
&lt;li&gt;EWS: Send authentication failed on phone MFA denied/no response&lt;/li&gt;
&lt;li&gt;EWS: enable progress bar on first page load only&lt;/li&gt;
&lt;li&gt;EWS: Office 365 unit test with loop&lt;/li&gt;
&lt;li&gt;EWS: make sure httpclient connections are closed, remove duplicated code&lt;/li&gt;
&lt;li&gt;EWS: use renewable token in EwsExchangeSession&lt;/li&gt;
&lt;li&gt;EWS: refactor O365 authentication to implement token refresh&lt;/li&gt;
&lt;li&gt;EWS: improve headless Office 365 authenticator error handling&lt;/li&gt;
&lt;li&gt;EWS: implement progress bar in interactive authentication frame&lt;/li&gt;
&lt;li&gt;EWS: check username in Office365 interactive authenticator&lt;/li&gt;
&lt;li&gt;EWS: Encode username in Office365 authenticator&lt;/li&gt;
&lt;li&gt;EWS: exclude JavaFX authenticator from Maven pom&lt;/li&gt;
&lt;li&gt;EWS: Remove reference to JavaFX authenticator in ExchangeSessionFactory&lt;/li&gt;
&lt;li&gt;EWS: Reorganise authenticators&lt;/li&gt;
&lt;li&gt;JavaFX dependencies are Java 11 only, revert and exclude JavaFX authenticator from Maven build&lt;/li&gt;
&lt;li&gt;Add JavaFX scene web dependency&lt;/li&gt;
&lt;li&gt;Add JavaFX swing dependency in POM&lt;/li&gt;
&lt;li&gt;EWS: add jettison dependency in pom&lt;/li&gt;
&lt;li&gt;Do not try interactive authentication in server mode&lt;/li&gt;
&lt;li&gt;EWS: Merge non interactive Oauth2 authentication&lt;/li&gt;
&lt;li&gt;EWS: Office365 modern authentication (Oauth2) with phone application MFA support&lt;/li&gt;
&lt;li&gt;EWS: Implement REST/Json method for Oauth authentication&lt;/li&gt;
&lt;li&gt;EWS: send username to interactive authentication frame&lt;/li&gt;
&lt;li&gt;EWS: implement interactive OAuth2 authentication (still experimental)&lt;/li&gt;
&lt;li&gt;EWS: Add jettison library for Oauth support&lt;/li&gt;
&lt;li&gt;EWS: First working prototype of interactive Oauth2 authentication&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements_8"&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Improve SWT not available message&lt;/li&gt;
&lt;li&gt;Detect headless to force server mode, do not allow O365 interactive authentication in this case&lt;/li&gt;
&lt;li&gt;Javafx cleanup&lt;/li&gt;
&lt;li&gt;Fix empty setting handling: return default setting on empty value&lt;/li&gt;
&lt;li&gt;Implement headless choose client certificate and PKCS11 password prompt&lt;/li&gt;
&lt;li&gt;Package hi res image&lt;/li&gt;
&lt;li&gt;Merge #50 Assume notray in server mode &lt;/li&gt;
&lt;li&gt;Display connection mode help as a tooltip&lt;/li&gt;
&lt;li&gt;Merge DesktopBrowser: add support for xdg-open directly, see &lt;a href="https://github.com/mguessan/davmail/pull/5" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/5&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Workaround for login.microsoftonline.com cookie domain&lt;/li&gt;
&lt;li&gt;i18n new davmail.mode setting&lt;/li&gt;
&lt;li&gt;Drop davmail.enableEws to create a new davmail.mode setting that can be EWS, WebDav, O365, O365Modern, O365Interactive or Auto&lt;/li&gt;
&lt;li&gt;Another JavaFX message fix&lt;/li&gt;
&lt;li&gt;Fix is.javafx default value&lt;/li&gt;
&lt;li&gt;Default is.javafx value&lt;/li&gt;
&lt;li&gt;Improve version check message&lt;/li&gt;
&lt;li&gt;Add a JavaFX check message&lt;/li&gt;
&lt;li&gt;Drop JavaFX runtime and use conditional build instead&lt;/li&gt;
&lt;li&gt;Add JavaFX runtime as a compile time dependency&lt;/li&gt;
&lt;li&gt;Remove last jsmooth dependency&lt;/li&gt;
&lt;li&gt;Adjust default davmail.properties for server mode usage&lt;/li&gt;
&lt;li&gt;Drop jarbundler&lt;/li&gt;
&lt;li&gt;Add jettison dependency to windows wrappers and installers&lt;/li&gt;
&lt;li&gt;Fix RFE #101: Add a new davmail.userAgent setting to let users force DavMail user agent&lt;/li&gt;
&lt;li&gt;Add oraclejdk11 and openjdk11 to Travis CI targets&lt;/li&gt;
&lt;li&gt;Try to add Javafx dependency for OpenJDK 11&lt;/li&gt;
&lt;li&gt;Make message info level in ant build&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="linux_8"&gt;Linux&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Linux: Move spec file to root&lt;/li&gt;
&lt;li&gt;Fix relative path in launch script&lt;/li&gt;
&lt;li&gt;Copy davmail launch script to dist&lt;/li&gt;
&lt;li&gt;Linux: Drop old davmail.sh script&lt;/li&gt;
&lt;li&gt;Linux: merge external source files in main source tree&lt;/li&gt;
&lt;li&gt;Linux: Move init files from contribs to src/init&lt;/li&gt;
&lt;li&gt;Linux: compile with JavaFX on Fedora&lt;/li&gt;
&lt;li&gt;Linux: force Java 7 on RHEL 6 and do not deploy appstream on openSUSE_Leap_42.3&lt;/li&gt;
&lt;li&gt;Linux: drop reference to old architecture specific package&lt;/li&gt;
&lt;li&gt;Remove old hardcoded uids reference&lt;/li&gt;
&lt;li&gt;Linux: drop dependency to LSB functions in init script&lt;/li&gt;
&lt;li&gt;Linux: merge pull request &lt;a href="https://github.com/mguessan/davmail/pull/4" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/4&lt;/a&gt; include appdata file in rpm and deb packages&lt;/li&gt;
&lt;li&gt;Linux: merge davmail.sh to use a single script in all cases&lt;/li&gt;
&lt;li&gt;Linux: improve wrapper according to audit&lt;/li&gt;
&lt;li&gt;Linux: adjust desktop categories according to OpenSuse constraints, see &lt;a href="https://en.opensuse.org/openSUSE:Packaging_desktop_menu_categories" rel="nofollow"&gt;https://en.opensuse.org/openSUSE:Packaging_desktop_menu_categories&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Linux: Simplify DavMail wrapper&lt;/li&gt;
&lt;li&gt;Linux: make spec file compatible with more distributions&lt;/li&gt;
&lt;li&gt;Linux: Additional notes on running DavMail with systray on Ubuntu 18&lt;/li&gt;
&lt;li&gt;Linux: merge RPM and Debian desktop files&lt;/li&gt;
&lt;li&gt;Linux: use simple name instead of path in desktop file&lt;/li&gt;
&lt;li&gt;Linux: drop desktopentry ant task&lt;/li&gt;
&lt;li&gt;Linux: move old desktop file to src/desktop&lt;/li&gt;
&lt;li&gt;Linux: Prepare desktop file merge&lt;/li&gt;
&lt;li&gt;Linux: merge pull request &lt;a href="https://github.com/mguessan/davmail/pull/2" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/2&lt;/a&gt; remove deprecations and duplicate main categories in desktop file, missing lf&lt;/li&gt;
&lt;li&gt;Linux: merge pull request &lt;a href="https://github.com/mguessan/davmail/pull/2" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/2&lt;/a&gt; remove deprecations and duplicate main categories in desktop file&lt;/li&gt;
&lt;li&gt;Linux: Add changelog entry for release in spec file&lt;/li&gt;
&lt;li&gt;Linux: fix spec file changelog date&lt;/li&gt;
&lt;li&gt;RPM: update init and logrotate from build.opensuse.org&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_8"&gt;Caldav&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: another fix for #344 Problem with Calendar and tasks, fix properties list&lt;/li&gt;
&lt;li&gt;Caldav: fix for #344 Problem with Calendar and tasks, calendar:MyResponseType is also calendar only on Exchange 2007&lt;/li&gt;
&lt;li&gt;Caldav: fix for #344 Problem with Calendar and tasks, Exchange 2007 does not accept ismeeting property request on non calendar items&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="documentation_9"&gt;Documentation&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: Convert release notes to markdown format&lt;/li&gt;
&lt;li&gt;Doc: add contribute section in README.md&lt;/li&gt;
&lt;li&gt;Doc: fix appveyor link&lt;/li&gt;
&lt;li&gt;Add download links to README.md&lt;/li&gt;
&lt;li&gt;Doc: fix typo&lt;/li&gt;
&lt;li&gt;Doc: update linux instructions, remove obsolete content&lt;/li&gt;
&lt;li&gt;Doc: reference official debian package and build.opensuse RPM packages in server setup documentation&lt;/li&gt;
&lt;li&gt;Doc: Drop piwik reference from site, no longer available on Sourceforge&lt;/li&gt;
&lt;li&gt;Doc: Add appveyor badge in README.md&lt;/li&gt;
&lt;li&gt;Doc: Add an FAQ entry on Office 365 modern authentication and MFA&lt;/li&gt;
&lt;li&gt;Doc: adjust indentation to match pull request&lt;/li&gt;
&lt;li&gt;Doc: appdata file from &lt;a href="https://github.com/mguessan/davmail/pull/3" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Doc: make image link relative in README.md&lt;/li&gt;
&lt;li&gt;Doc: update release notes&lt;/li&gt;
&lt;li&gt;Add Sourceforge download badge to README.md&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_7"&gt;IMAP&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: implement #341 imap SPECIAL-USE&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="appveyor_2"&gt;Appveyor&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;appveyor: add Java 10 in matrix&lt;/li&gt;
&lt;li&gt;Build: use -trunk suffix for all artifacts&lt;/li&gt;
&lt;li&gt;appveyor: get artifacts&lt;/li&gt;
&lt;li&gt;Back to ant dist&lt;/li&gt;
&lt;li&gt;appveyor: fix for nsis 3&lt;/li&gt;
&lt;li&gt;appveyor: separate makensis from build file&lt;/li&gt;
&lt;li&gt;appveyor: copy processwork nsis plugin&lt;/li&gt;
&lt;li&gt;appveyor: switch from compile to dist target&lt;/li&gt;
&lt;li&gt;appveyor: disable test&lt;/li&gt;
&lt;li&gt;appveyor: fix ANT_HOME&lt;/li&gt;
&lt;li&gt;appveyor: debug&lt;/li&gt;
&lt;li&gt;appveyor: fix ant path&lt;/li&gt;
&lt;li&gt;Try to create an appveyor build descriptor&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="carddav_2"&gt;Carddav&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Carddav: prefer urlcompname (client provided item name) for contacts over EWS&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="osx_5"&gt;OSX&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;OSX: restore OSX greyscale icons&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-490-2018-09-05"&gt;DavMail 4.9.0 2018-09-05&lt;/h2&gt;
&lt;p&gt;Includes a lot of enhancements, library upgrades, improved Linux desktop support, code cleanup&lt;br/&gt;
and a brand new Carddav distribution list support.&lt;br/&gt;
DavMail repository is now synced with Github, including Travis CI integration.&lt;/p&gt;
&lt;h3 id="enhancements_9"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Update Jcharset to 2.0&lt;/li&gt;
&lt;li&gt;Upgrade JavaMail to 1.5.6&lt;/li&gt;
&lt;li&gt;Fix maven dependencies, reference local jars for libraries missing in main Maven repository&lt;/li&gt;
&lt;li&gt;Sample config to log connections in a separate log&lt;/li&gt;
&lt;li&gt;Provide command to launch DavMail without SWT&lt;/li&gt;
&lt;li&gt;Cleanup from audit&lt;/li&gt;
&lt;li&gt;Fix from audit: remove duplicate code&lt;/li&gt;
&lt;li&gt;Remove old repositories from Maven pom and add stax2-api dependency&lt;/li&gt;
&lt;li&gt;Remove dependency to xercesImpl-2.8.1.jar&lt;/li&gt;
&lt;li&gt;Drop jsmoothgen-ant-0.9.9-7-mgu2.jar, replaced with WinRun4J&lt;/li&gt;
&lt;li&gt;Upgrade to Woodstox 5.1.0, waiting for pull request to drop patch, see &lt;a href="https://github.com/FasterXML/woodstox/pull/56" rel="nofollow"&gt;https://github.com/FasterXML/woodstox/pull/56&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Fix from code audit&lt;/li&gt;
&lt;li&gt;Allow console logging in server mode&lt;/li&gt;
&lt;li&gt;Implement -server command line option&lt;/li&gt;
&lt;li&gt;Implement compile target for Java 9 and later&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="linux_9"&gt;Linux:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Linux: Allow JDK 11 with Debian package&lt;/li&gt;
&lt;li&gt;Linux: disable system tray on Ubuntu 18&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="carddav_3"&gt;Carddav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Carddav: Add unit test to check CRLF conversion in multiline properties&lt;/li&gt;
&lt;li&gt;Carddav: by jbhensley, drop carriage returns from property value&lt;/li&gt;
&lt;li&gt;Carddav: distribution list / contacts unit tests&lt;/li&gt;
&lt;li&gt;Carddav: by jbhensley, fix vCard PHOTO property. Tested on iOS 11.2.6 and Outlook 2013 &lt;/li&gt;
&lt;li&gt;Carddav: Detect empty picture data&lt;/li&gt;
&lt;li&gt;Carddav: Use cn as default sn for distribution lists&lt;/li&gt;
&lt;li&gt;Carddav: avoid NullPointerException with empty distribution lists and prefer user provided photo&lt;/li&gt;
&lt;li&gt;Carddav: search for members on all email attributes&lt;/li&gt;
&lt;li&gt;Carddav: Merge contact and distribution list search&lt;/li&gt;
&lt;li&gt;Carddav: implement distribution list create and update&lt;/li&gt;
&lt;li&gt;Carddav: Merge DistributionList with Contact&lt;/li&gt;
&lt;li&gt;Carddav: First step at distribution list implementation, retrieve DL and members&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="github"&gt;Github:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Add link to github repo&lt;/li&gt;
&lt;li&gt;Add Travis build status&lt;/li&gt;
&lt;li&gt;Fix old developerConnection and remove prerequisites according to Travis CI log&lt;/li&gt;
&lt;li&gt;First try at travis CI config&lt;/li&gt;
&lt;li&gt;Added : /trunk/README.md&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_8"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: fix from code audit&lt;/li&gt;
&lt;li&gt;IMAP: fix #689 Double space in UID FETCH response&lt;/li&gt;
&lt;li&gt;IMAP: include Conversation History in standard folder list&lt;/li&gt;
&lt;li&gt;IMAP: fix patch #49 mixed case INBOX select by google&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ews_10"&gt;EWS:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: fix duplicate bcc definition&lt;/li&gt;
&lt;li&gt;EWS: improve error handling, get field names on update item error&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_9"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: workaround for invalid RRULE with both COUNT and UNTIL values leading to ErrorMimeContentConversion failed error&lt;/li&gt;
&lt;li&gt;Caldav: cleanup from audit&lt;/li&gt;
&lt;li&gt;Caldav: fix timezone failover&lt;/li&gt;
&lt;li&gt;Caldav: unit test for Korganizer duplicate timezone bug&lt;/li&gt;
&lt;li&gt;Caldav: workaround for Korganizer duplicate timezone bug&lt;/li&gt;
&lt;li&gt;Caldav: Fix recurrence enumeration values&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="documentation_10"&gt;Documentation:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: add FAQ entry for Office 365&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-486-2018-06-14"&gt;DavMail 4.8.6 2018-06-14&lt;/h2&gt;
&lt;p&gt;Bugfix release with latest Caldav EWS enhancements, also includes fixes for old standing bugs in bug tracker.&lt;/p&gt;
&lt;h3 id="imap_9"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: Fix #631 IMAP SEARCH CHARSET US-ASCII fails&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_10"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: fix #687 can't move event to trash in a shared mailbox&lt;/li&gt;
&lt;li&gt;Caldav: fix multivalued field update, send DeleteItemField instead of SetItemField with an empty value when field has no value, should fix bug #682&lt;/li&gt;
&lt;li&gt;Caldav: Detect X-MOZ-LASTACK and X-MOZ-SNOOZE-TIME updates to avoid sending notifications on dismiss with Thunderbird&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="documentation_11"&gt;Documentation:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: update roadmap&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements_10"&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Fix #476, try to avoid deadlock with a connection manager object lock&lt;/li&gt;
&lt;li&gt;Fix #456 longstanding proxy handling issue&lt;/li&gt;
&lt;li&gt;Update spec file&lt;/li&gt;
&lt;li&gt;Add GPLv2 license at root&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-485-2018-04-10"&gt;DavMail 4.8.5 2018-04-10&lt;/h2&gt;
&lt;p&gt;More Caldav fixes, drop SWT on windows and try to improve tray support detection on various Linux distributions.&lt;/p&gt;
&lt;h3 id="caldav_11"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: test notification dialog&lt;/li&gt;
&lt;li&gt;Caldav: do not throw exception on invalid email in getFreeBusyData&lt;/li&gt;
&lt;li&gt;Caldav: EWS isorganizer is Exchange 2013 and later only, switch to myresponsetype&lt;/li&gt;
&lt;li&gt;Caldav: fix #306, do not try to retrieve textbody on Exchange &amp;lt; 2013&lt;/li&gt;
&lt;li&gt;Caldav: do not try to update etag if latest response item is empty&lt;/li&gt;
&lt;li&gt;Caldav: fix #679, invalid date exception on recurring event with an end date update&lt;/li&gt;
&lt;li&gt;Caldav: fix #346, map America/Chicago to Central Standard Time instead of Central America Standard Time&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements_11"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Drop redline library&lt;/li&gt;
&lt;li&gt;Disable tray on Gnome&lt;/li&gt;
&lt;li&gt;Drop platform specific Linux packages, drop SWT on windows, remove dist-rpm (user build.opensuse.org instead), upgrade SWT to 4.6 on Linux&lt;/li&gt;
&lt;li&gt;Upgrade htmlcleaner to 2.21, see &lt;a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=891916" rel="nofollow"&gt;https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=891916&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Fix popMarkReadOnRetr setting save&lt;/li&gt;
&lt;li&gt;Update winrun4j wrappers&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="linux_10"&gt;Linux:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Refactor icon handling, automatically adjust color/size to match common default themes on Linux and add a new davmail.trayBackgroundColor setting to let users set their own theme color&lt;/li&gt;
&lt;li&gt;Make spec file compatible with RHEL 7 / Centos 7&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="documentation_12"&gt;Documentation:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: cleanup supported versions&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-484-2018-04-03"&gt;DavMail 4.8.4 2018-04-03&lt;/h2&gt;
&lt;p&gt;The main change in this release is the new davmail.caldavAutoSchedule setting to let users choose between&lt;br/&gt;
client or server side calendar notification management. Most other fixes are also related to Caldav refactoring.&lt;/p&gt;
&lt;h3 id="caldav_12"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: Add davmail.caldavAutoSchedule to GUI&lt;/li&gt;
&lt;li&gt;Caldav: introduce a new setting davmail.caldavAutoSchedule to enable or disable automatic scheduling in EWS mode&lt;/li&gt;
&lt;li&gt;Caldav: try to fix #674, do not send notifications on event update&lt;/li&gt;
&lt;li&gt;Caldav: EWS refactoring, avoid converting simple events to meetings&lt;/li&gt;
&lt;li&gt;Caldav: Restore calendar-schedule behavior in Webdav mode&lt;/li&gt;
&lt;li&gt;Caldav: in EWS mode, ignore urlcompname and always use itemid as item name, except if explicitly requested&lt;/li&gt;
&lt;li&gt;Caldav: isMeeting EWS flag is not reliable, check for attendees with displayto and displaycc&lt;/li&gt;
&lt;li&gt;Caldav: Fix isorganizer detection in deleteItem&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_10"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: fix regression on search NOT KEYWORD&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="documentation_13"&gt;Documentation:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Documentation: fix typo in FAQ&lt;/li&gt;
&lt;li&gt;Doc: Improve Thunderbird LDAP documentation&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements_12"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS : cleanup from audit&lt;/li&gt;
&lt;li&gt;Exclude log files from build&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-483-2018-01-28"&gt;DavMail 4.8.3 2018-01-28&lt;/h2&gt;
&lt;p&gt;More EWS Caldav refactoring, fix regressions noticed in 4.8.2 and merge a lot of user provided patches.&lt;br/&gt;
New calendar event handling is not yet enabled by default, please use davmail.caldavRealUpdate=true to &lt;br/&gt;
check this new experimental implementation.&lt;/p&gt;
&lt;h3 id="caldav_13"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: add cancelled translation&lt;/li&gt;
&lt;li&gt;Caldav: EWS refactoring, map status field, except CANCELLED not supported by Exchange&lt;/li&gt;
&lt;li&gt;Caldav: implement editable notifications on meeting cancel&lt;/li&gt;
&lt;li&gt;Caldav: do not send notifications if user canceled in edit dialog&lt;/li&gt;
&lt;li&gt;Caldav: Make sure we set all notification options on event update&lt;/li&gt;
&lt;li&gt;Caldav: Revert status conversion that triggers regressions and enable notifications on create&lt;/li&gt;
&lt;li&gt;Caldav: test multiline value handling in VCalendar&lt;/li&gt;
&lt;li&gt;Caldav: test case for loadVtimezone and searchTasksOnly&lt;/li&gt;
&lt;li&gt;Caldav: in loadVtimezone, delete existing temp folder first to avoid errors&lt;/li&gt;
&lt;li&gt;Caldav: EWS refactoring, make sure we send meeting notifications&lt;/li&gt;
&lt;li&gt;Caldav: fix #666 trailing "nn" added to tasks description synced from exchange&lt;/li&gt;
&lt;li&gt;Caldav: EWS refactoring, only update reminder info on meetings when not organizer&lt;/li&gt;
&lt;li&gt;Caldav: Fix meeting response body, send and save copy&lt;/li&gt;
&lt;li&gt;Caldav: EWS refactoring, implement edit notifications comment&lt;/li&gt;
&lt;li&gt;Caldav: fix task update regression&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancement"&gt;Enhancement:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Merge #47, support soTimeout and connectionTimeout on exchange&lt;/li&gt;
&lt;li&gt;Merge patch #46: Maven patch to add resources in the target/davmail.jar&lt;/li&gt;
&lt;li&gt;Test: fix initial server and logging settings&lt;/li&gt;
&lt;li&gt;Copy release notes to dist on release&lt;/li&gt;
&lt;li&gt;Change test cases to load credentials from a separate test.properties file&lt;/li&gt;
&lt;li&gt;Remove old jsmooth config file&lt;/li&gt;
&lt;li&gt;Apply patch to fix #601 invalid davmail.server.certificate.hash format&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="documentation_14"&gt;Documentation:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: fix #320 Wrong link in documentation &lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_11"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: Accept US-ASCII as charset in search condition&lt;/li&gt;
&lt;li&gt;IMAP: fix #40 KEYWORD support for spring-integrations&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="osx_6"&gt;OSX:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;OSX: Update universalJavaApplicationStub to 2.1.0&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="windows_4"&gt;Windows:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Windows: Create a 64 bits installer for windows&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="carddav_4"&gt;Carddav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Carddav: merge patch #44 Allow disabling reading photo from contact data &lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-482-2018-01-02"&gt;DavMail 4.8.2 2018-01-02&lt;/h2&gt;
&lt;p&gt;EWS Caldav refactoring in progress, enabled through new davmail.caldavRealUpdate setting&lt;br/&gt;
to avoid regressions as seen in 4.8.1.&lt;/p&gt;
&lt;h3 id="caldav_14"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: EWS refactoring, handle mozilla alarm fields&lt;/li&gt;
&lt;li&gt;Caldav: EWS refactoring, implement modified occurrences&lt;/li&gt;
&lt;li&gt;Caldav: EWS refactoring, implement excluded dates (deleted occurrences)&lt;/li&gt;
&lt;li&gt;Caldav: optionally enable new EWS caldav implementation with davmail.caldavRealUpdate&lt;/li&gt;
&lt;li&gt;Caldav: Improve meeting response detection to avoid NullPointerException&lt;/li&gt;
&lt;li&gt;Caldav: EWS refactoring, implement reminder update&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-481-2017-12-12"&gt;DavMail 4.8.1 2017-12-12&lt;/h2&gt;
&lt;p&gt;Last release before major EWS caldav refactoring, includes only the first behaviour change:&lt;br/&gt;
do not delete existing meeting on Accept/Decline, just send answer to organizer. Also includes&lt;br/&gt;
central directory photo handling in Carddav service, improved Java 9 support and many other&lt;br/&gt;
bug fixes.&lt;/p&gt;
&lt;h3 id="caldav_15"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: temporarily disable EWS refactoring&lt;/li&gt;
&lt;li&gt;Caldav: EWS refactoring, implement multiple day recurrence and end date&lt;/li&gt;
&lt;li&gt;Caldav: EWS refactoring, first recurrence implementation step, improve ignore etag handling&lt;/li&gt;
&lt;li&gt;Caldav: EWS refactoring, manage attendees&lt;/li&gt;
&lt;li&gt;Caldav: prepare calendar refactoring, do not delete/add received meeting items, just send an Accept/Decline message&lt;/li&gt;
&lt;li&gt;Caldav: fix regression, busy status is case sensitive in EWS&lt;/li&gt;
&lt;li&gt;Caldav: fix #657 Tentative events shows as accepted in Thunderbird with user provided patch&lt;/li&gt;
&lt;li&gt;Caldav: experimental davmail.ignoreNoneMatchStar to let DavMail overwrite existing event automatically processed by Exchange.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="carddav_5"&gt;Carddav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Carddav: implement get photo from Active Directory&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements_13"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;update winrun4j wrappers&lt;/li&gt;
&lt;li&gt;Upgrade slf4j to 1.7.25 (patch #45)&lt;/li&gt;
&lt;li&gt;Fix 654: trim OWA/EWS url&lt;/li&gt;
&lt;li&gt;Ant: improve java version check&lt;/li&gt;
&lt;li&gt;Remove useless debug statement&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="smartcard"&gt;Smartcard:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Smartcard: improve Java 9 error handling, no longer need a temporary file&lt;/li&gt;
&lt;li&gt;Smartcard: try to implement code compatible with all java versions including Java 9&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_12"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: implement ON search filter&lt;/li&gt;
&lt;li&gt;IMAP: detect icedove header fetch to improve performance&lt;/li&gt;
&lt;li&gt;IMAP: make sure we never return null even with broken 0 uid message&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="pop"&gt;POP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;POP3: Improve documentation on trash/sent folders purge, change default value from 90 to 0 (disable)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="linux_11"&gt;Linux:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Linux: check system tray with gtk_status_icon_get_geometry only with Unity to avoid regression with other window managers&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="swt_3"&gt;SWT:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;SWT: wait 10s for tray icon to be created&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="osx_7"&gt;OSX:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;OSX: fix Info.plist path&lt;/li&gt;
&lt;li&gt;OSX: fix JavaApplicationStub, do not expand folder classpath&lt;/li&gt;
&lt;li&gt;OSX: revert change to JavaX new key, does not work&lt;/li&gt;
&lt;li&gt;OSX: Update Info.plist to match new universalJavaApplicationStub&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-480-2017-03-23"&gt;DavMail 4.8.0 2017-03-23&lt;/h2&gt;
&lt;p&gt;This new release includes a lot of fixes and enhancements from user feedback, including&lt;br/&gt;
improved Exchange categories handling, up to date TLS settings to match current requirements,&lt;br/&gt;
various Caldav enhancements, and a fix for a major bug on IMAP large message handling.&lt;br/&gt;
An experimental connection logging feature is also available.&lt;/p&gt;
&lt;h3 id="debian"&gt;Debian:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Improve generated debian package to match official package, add keywords, move icon and adjust categories in desktop file&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="rpm"&gt;RPM:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;update RPM default config file&lt;/li&gt;
&lt;li&gt;Remove ant-antlr from spec file&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancement_1"&gt;Enhancement:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Use Office365 url as default davmail.url value&lt;/li&gt;
&lt;li&gt;Remove Sun (Oracle) JDK dependency in unit test&lt;/li&gt;
&lt;li&gt;Experimental: compile Junit tests&lt;/li&gt;
&lt;li&gt;Change default url to &lt;a href="https://outlook.office365.com/EWS/Exchange.asmx" rel="nofollow"&gt;https://outlook.office365.com/EWS/Exchange.asmx&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Log all connections disconnect&lt;/li&gt;
&lt;li&gt;Log all connections and logon success / failure&lt;/li&gt;
&lt;li&gt;Improve TLS settings: disable Client-initiated TLS renegotiation with jdk.tls.rejectClientInitiatedRenegotiation and force strong ephemeral Diffie-Hellman parameter with jdk.tls.ephemeralDHKeySize&lt;/li&gt;
&lt;li&gt;Remove sun.security.ssl.allowUnsafeRenegotiation=true system property as it's hopefully no longer required by iCal&lt;/li&gt;
&lt;li&gt;Fix broken davmailservice64.exe&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="documentation_15"&gt;Documentation:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: document IMAP tags to Exchange categories custom mappings&lt;/li&gt;
&lt;li&gt;Doc: Add TLS settings documentation from support request #289&lt;/li&gt;
&lt;li&gt;Doc: fix maven generated site dash encoding&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_16"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: Fix #643 VTODO PRIORITY 0 fails, map it to Normal importance&lt;/li&gt;
&lt;li&gt;Caldav: accept all meeting item types in calendar (MeetingMessage, MeetingRequest, MeetingResponse, MeetingCancellation)&lt;/li&gt;
&lt;li&gt;Caldav: fix #639, task description is not visible in Thunderbird, try to get description from text body&lt;/li&gt;
&lt;li&gt;Caldav: fix #628, remove METHOD: PUBLISH from events retrieved from Exchange&lt;/li&gt;
&lt;li&gt;Caldav: make sure retrieved item name is always the same as requested item name (e.g. for tasks stored value ends with .EML when requested value ends with .ics)&lt;/li&gt;
&lt;li&gt;Caldav: Additional recurrence search test&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_13"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: flags to category conversion unit tests and make standard flags case insensitive&lt;/li&gt;
&lt;li&gt;IMAP: make IMAP flag to category lookup case insensitive&lt;/li&gt;
&lt;li&gt;IMAP: fix huge cache issue, chunk IMAP fetch triggers multiple full message download&lt;/li&gt;
&lt;li&gt;IMAP: fix regression after #41 IMAP wildcard LIST supportwith unit test&lt;/li&gt;
&lt;li&gt;IMAP: apply patch #41 IMAP wildcard LIST supportwith unit test&lt;/li&gt;
&lt;li&gt;IMAP: mark message seen only if unseen&lt;/li&gt;
&lt;li&gt;IMAP: fix #629 Read email doesn't stay read. According to IMAP RFC: The \Seen flag is implicitly set&lt;/li&gt;
&lt;li&gt;IMAP: merge patch from #634, copy mail doesn't preserve tag/category &lt;/li&gt;
&lt;li&gt;IMAP: fix regression in mime message handling and rename mimeBody to mimeContent&lt;/li&gt;
&lt;li&gt;IMAP: Fix #633 Compatibility with javamail 1.5.6, store byte array instead of SharedByteArrayInputStream&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="carddav_6"&gt;Carddav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Carddav: do not send empty EmailAddresses collection tag&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ews_11"&gt;EWS:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: Change isrecurring property to PidLidRecurring (0x8223)&lt;/li&gt;
&lt;li&gt;EWS/Webdav: implement exists filter condition&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="swt_4"&gt;SWT:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;SWT: Try to detect if system tray is indeed available&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="osx_8"&gt;OSX:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;OSX: Update universalJavaApplicationStub to version 2.0.1&lt;/li&gt;
&lt;li&gt;OSX: Upgrade jarbundler to 3.3.0&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="smtp_2"&gt;SMTP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;SMTP: append a line feed to avoid thunderbird message drop&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-473-2016-11-22"&gt;DavMail 4.7.3 2016-11-22&lt;/h2&gt;
&lt;p&gt;Another bugfix release, mostly from user feedback. Also improve Windows installer to let users&lt;br/&gt;
choose whether they want to run DavMail automatically at logon.&lt;/p&gt;
&lt;h3 id="enhancement_2"&gt;Enhancement:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Improve windows installer, make auto start at logon optional&lt;/li&gt;
&lt;li&gt;Update release guide with opensuse build env&lt;/li&gt;
&lt;li&gt;update icon cache&lt;/li&gt;
&lt;li&gt;Update winrun4j wrappers icon to 128x128&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ews_12"&gt;EWS:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: workaround for invalid cookie domain on Office365&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="dav_2"&gt;DAV:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;DAV: merge patch from #232 Outlook-created appt does not go through. OWA-created one does&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_14"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: additional fix for #626, workaround for from: header not searchable over EWS&lt;/li&gt;
&lt;li&gt;IMAP: fix for #626, workaround for to: header not searchable over EWS&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="smtp_3"&gt;SMTP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;SMTP: Merge patch 627 by Peter Chubb, server returns incorrect code on authentication failure &lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-472-2016-04-09"&gt;DavMail 4.7.2 2016-04-09&lt;/h2&gt;
&lt;p&gt;Bugfix release, detect Exchange throttling to temporarily block requests and a few Carddav fixes.&lt;/p&gt;
&lt;h3 id="ews_13"&gt;EWS:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: handle Exchange throttling, suspend all requests according to server provided delay&lt;/li&gt;
&lt;li&gt;EWS: send DavMailException instead of authentication exception on EWS not available error&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements_14"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;128x128 DavMail icon&lt;/li&gt;
&lt;li&gt;Add a new davmail.httpMaxRedirects setting&lt;/li&gt;
&lt;li&gt;DAV: add a hidden davmail.disableNTLM setting&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="carddav_7"&gt;Carddav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Carddav: fix another regression on contact create with empty field&lt;/li&gt;
&lt;li&gt;Carddav: remove email over EWS unit test&lt;/li&gt;
&lt;li&gt;Carddav: fix email address removal over EWS&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-471-2015-12-19"&gt;DavMail 4.7.1 2015-12-19&lt;/h2&gt;
&lt;p&gt;Bugfix release, mainly for Carddav regression over EWS, also includes an NTLM support enhancement.&lt;/p&gt;
&lt;h3 id="enhancement_3"&gt;Enhancement:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Improve NTLM support try to send hostname as workstation name instead of UNKNOWN&lt;/li&gt;
&lt;li&gt;Fix notification dialog message&lt;/li&gt;
&lt;li&gt;Prepare ExchangeSessionFactory refactoring&lt;/li&gt;
&lt;li&gt;Fix typo in french translation&lt;/li&gt;
&lt;li&gt;Fix broken Sourceforge link in About dialog&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="carddav_8"&gt;Carddav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Carddav: fix regression on contact update with empty field triggering DeleteItemField&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-470-2015-11-05"&gt;DavMail 4.7.0 2015-11-05&lt;/h2&gt;
&lt;p&gt;This new release contains a lot of fixes from user feedback, a new -notray command line&lt;br/&gt;
option to force window mode and avoid tricky tray icon issues on Linux and native&lt;br/&gt;
smartcard support on Windows.&lt;/p&gt;
&lt;h3 id="caldav_17"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: Map additional priority levels&lt;/li&gt;
&lt;li&gt;Caldav: fix missing LAST-MODIFIED in events&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements_15"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Improved tray icon with alpha blend&lt;/li&gt;
&lt;li&gt;Fix imports&lt;/li&gt;
&lt;li&gt;Prepare mutual SSL authentication between client and DavMail implementation&lt;/li&gt;
&lt;li&gt;Implement -notray command line option as a workaround for broken SWT and Unity issues&lt;/li&gt;
&lt;li&gt;Change warning messages to debug in close method&lt;/li&gt;
&lt;li&gt;Improve client certificate dialog, build description from certificate&lt;/li&gt;
&lt;li&gt;Exclude client certificates not issued by server provided issuers list&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_15"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: Additional translations and doc for new IMAP setting&lt;/li&gt;
&lt;li&gt;IMAP: Merge patch by Mauro Cicognini, add a new setting to always send approximate message in RFC822.SIZE to avoid downloading full message body&lt;/li&gt;
&lt;li&gt;IMAP: fix regression with quotes inside folder names&lt;/li&gt;
&lt;li&gt;IMAP: handle quotes inside folder names correctly&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="osx_9"&gt;OSX:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;OSX link local address on loopback interface&lt;/li&gt;
&lt;li&gt;Exclude arguments starting with dash to avoid patch 38 regression on OSX&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="documentation_16"&gt;Documentation:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: Document -notray option&lt;/li&gt;
&lt;li&gt;Switch to OpenHub instead of Ohloh&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ews_14"&gt;EWS:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: prepare distribution list implementation&lt;/li&gt;
&lt;li&gt;Fix #254 davmail.exchange.ews.EWSException: ErrorIncorrectUpdatePropertyCount&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="linux_12"&gt;Linux:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Refresh davmail.spec, make RPM noarch&lt;/li&gt;
&lt;li&gt;Handle missing or broken SWT library&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="windows_5"&gt;Windows:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Windows: Make MSCAPI keystore type available in Settings for Windows native smartcard support&lt;/li&gt;
&lt;li&gt;Instantiate MSCAPI explicitly to access Windows Smartcards&lt;/li&gt;
&lt;li&gt;Enable native Windows SmartCard access through MSCAPI (no PKCS11 config required)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="carddav_9"&gt;Carddav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Carddav: Test case for comma in ADR field&lt;/li&gt;
&lt;li&gt;Carddav: Do not replace comma on ADR field, see support request 255&lt;/li&gt;
&lt;li&gt;Caldav: Ignore missing END:VCALENDAR line on modified occurrences&lt;/li&gt;
&lt;li&gt;CardDav: Add empty property test case&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-462-2015-08-19"&gt;DavMail 4.6.2 2015-08-19&lt;/h2&gt;
&lt;p&gt;Another bug fix release with some efforts on packaging.&lt;/p&gt;
&lt;h3 id="packaging"&gt;Packaging:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Compute distribution packages checksums&lt;/li&gt;
&lt;li&gt;Maven: set mimimum Maven version and fix FindBugs filter&lt;/li&gt;
&lt;li&gt;Maven: add Gtk lib in repo to avoid ClassNotFound&lt;/li&gt;
&lt;li&gt;Maven: exclude non DavMail classes from FindBugs report&lt;/li&gt;
&lt;li&gt;Maven: Update POM to Maven 3&lt;/li&gt;
&lt;li&gt;Separate prepare-dist ant task&lt;/li&gt;
&lt;li&gt;Separate jar ant task&lt;/li&gt;
&lt;li&gt;RPM: Change log for 4.6.1 and remove ant-nodeps dependency for Fedora &amp;gt;=19 compatibility&lt;/li&gt;
&lt;li&gt;RPM: first step to a noarch package, externalize SWT dependency&lt;/li&gt;
&lt;li&gt;RPM: Add rcdavmail link, mark logrotate config file&lt;/li&gt;
&lt;li&gt;RPM: Fix License and URL&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements_16"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Fix davmailconsole.exe&lt;/li&gt;
&lt;li&gt;Switch to TLS in DavGatewaySSLProtocolSocketFactory&lt;/li&gt;
&lt;li&gt;Improve refresh folder logic, ctag stamp is limited to second, check message count&lt;/li&gt;
&lt;li&gt;Try to support Citrix NetScaler authentication form&lt;/li&gt;
&lt;li&gt;Improve Java version check&lt;/li&gt;
&lt;li&gt;Update compile level to 1.6&lt;/li&gt;
&lt;li&gt;Remove unneeded catch section&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="webdav"&gt;WebDav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;DAV: avoid NullPointerException trying to access Exchange 2013 in Dav mode&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_16"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: refactor IMAP test cases&lt;/li&gt;
&lt;li&gt;IMAP: ignore Draft flag on update, Draft is readonly after create&lt;/li&gt;
&lt;li&gt;IMAP: fix new IMAP tokenizer&lt;/li&gt;
&lt;li&gt;IMAP: rewrite tokenizer to manage quoted folder names and complex search&lt;/li&gt;
&lt;li&gt;IMAP: Fix #591 Properly escape quotes in folder names&lt;/li&gt;
&lt;li&gt;IMAP: additional IMAP test cases&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ews_15"&gt;EWS:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: davmail.enableChunkedRequest default value is now false, as IIS does not support chunked requests&lt;/li&gt;
&lt;li&gt;EWS: Make chunked content optional in CreateItemMethod with new davmail.enableChunkedRequest property&lt;/li&gt;
&lt;li&gt;Use EWS path in davmail.properties template file&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="doc"&gt;Doc:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: add Indicator SystemtrayUnity to linux doc&lt;/li&gt;
&lt;li&gt;Fix Javadoc&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="osx_10"&gt;OSX:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;OSX: merge patch 38, allow commandline options to run multiple instances.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="smtp_4"&gt;SMTP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;SMTP: use content chunk to send large messages&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-461-2015-02-17"&gt;DavMail 4.6.1 2015-02-17&lt;/h2&gt;
&lt;p&gt;Bugfix release to fix recent regression with Office 365,&lt;br/&gt;
also includes a few Linux and IMAP enhancements.&lt;/p&gt;
&lt;h3 id="linux_13"&gt;Linux:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;RPM: exclude Growl library from RPM package&lt;/li&gt;
&lt;li&gt;Add genericname to desktop entry&lt;/li&gt;
&lt;li&gt;RPM: Fix warning the init script refers to runlevel 4 which is admin defined. No distribution script must use it&lt;/li&gt;
&lt;li&gt;Detect and log message for Unity users&lt;/li&gt;
&lt;li&gt;RPM: Fix JAVA HOME detection for openSUSE_13.2&lt;/li&gt;
&lt;li&gt;RPM: update spec file from OpenSuse build by Dmitri Bachtin and  Achim Herwig&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="swt_5"&gt;SWT:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;SWT: improve tray init, preload image and add a delay on first message&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements_17"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Add a few more logging statements&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_17"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Fix #36 Endless loop when using IMAP IDLE feature with SSL sockets, replaced thread sleep with a short timeout on socket read&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ews_16"&gt;EWS:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: update checkEndPointUrl, send get root folder request instead of static wsdl request no longer available on Office365&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-460-2015-01-27"&gt;DavMail 4.6.0 2015-01-27&lt;/h2&gt;
&lt;p&gt;Bugfix release with many IMAP enhancements over EWS, implement batch move items,&lt;br/&gt;
also includes a brand new generic OSX package to handle new OSX java behaviour.&lt;/p&gt;
&lt;h3 id="osx_11"&gt;OSX:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;OSX: refactor OSX package based on universalJavaApplicationStub&lt;/li&gt;
&lt;li&gt;Replace Java application stub with &lt;a href="https://github.com/tofi86/universalJavaApplicationStub/blob/master/src/universalJavaApplicationStub" rel="nofollow"&gt;https://github.com/tofi86/universalJavaApplicationStub/blob/master/src/universalJavaApplicationStub&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="doc_1"&gt;Doc:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: update OSX setup documentation&lt;/li&gt;
&lt;li&gt;Doc: additional Linux instructions for Ubuntu 14&lt;/li&gt;
&lt;li&gt;Fix #31 A typo in davmail.properties example&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ews_17"&gt;EWS:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: improve main calendar folder test&lt;/li&gt;
&lt;li&gt;EWS: fix batch move&lt;/li&gt;
&lt;li&gt;EWS: Adjust paged search for folders&lt;/li&gt;
&lt;li&gt;EWS: implement batch move items&lt;/li&gt;
&lt;li&gt;EWS: improve folder paged search&lt;/li&gt;
&lt;li&gt;Prepare batch move implementation&lt;/li&gt;
&lt;li&gt;EWS: force NTLM in direct EWS mode&lt;/li&gt;
&lt;li&gt;EWS: implement batch move method&lt;/li&gt;
&lt;li&gt;EWS: switch to GetMethod to check endpoint&lt;/li&gt;
&lt;li&gt;EWS: take paging into account in appendSubFolders&lt;/li&gt;
&lt;li&gt;EWS: fix ErrorExceededFindCountLimit on FindFolder requests&lt;/li&gt;
&lt;li&gt;EWS: avoid NullPointerException in fixAttendees&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="linux_14"&gt;Linux:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Allow Java 8 and default jre in debian package&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_18"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: fix 587 log and skip broken messages&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_18"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: fix #98 Support of Contacts in CardDav REPORT &lt;/li&gt;
&lt;li&gt;Fix #35 duplicates in updated reoccurring events &lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements_18"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Fix potential CVE-2014-3566 vulnerability&lt;/li&gt;
&lt;li&gt;From audit: remove throws statement&lt;/li&gt;
&lt;li&gt;Adjust KerberosHelper logging message&lt;/li&gt;
&lt;li&gt;Fix for #534 Kerberos Authentication doesn't seem to be work cross domain&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ldap_3"&gt;LDAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;LDAP: reset icon after search&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-451-2014-07-20"&gt;DavMail 4.5.1 2014-07-20&lt;/h2&gt;
&lt;p&gt;Bugfix release to fix Exchange 2013 regressions and wrong Europe/London timezone mapping.&lt;/p&gt;
&lt;h3 id="dav_3"&gt;DAV:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;DAV: Another email address failover&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_19"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: Fix GMT Standard Time mapping to Europe/London&lt;/li&gt;
&lt;li&gt;More timezones&lt;/li&gt;
&lt;li&gt;Caldav: do not request additional properties for MeetingCancellation and MeetingResponse&lt;/li&gt;
&lt;li&gt;Caldav: merge 33, apply myresponsetype partstat on all Exchange versions&lt;/li&gt;
&lt;li&gt;Caldav: fix 569 and patch 32, avoid NullPointerException with Exchange 2013&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ews_18"&gt;EWS:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: Avoid null in log message&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements_19"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Merge patch 34: Fix false positive when searching for user alias and email &lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="doc_2"&gt;Doc:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Update FAQ on EWS endpoint not available error&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-450-2014-06-03"&gt;DavMail 4.5.0 2014-06-03&lt;/h2&gt;
&lt;p&gt;Includes EWS performance enhancements, improved Exchange 2013 support and many fixes detected by Coverity audit tool&lt;/p&gt;
&lt;h3 id="ews_19"&gt;EWS:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: adjust declined item handling&lt;/li&gt;
&lt;li&gt;EWS: used paged search with static search condition, send a single request when folderSizeLimit is enabled&lt;/li&gt;
&lt;li&gt;EWS: Allow Item and PostItem elements in message folders&lt;/li&gt;
&lt;li&gt;EWS: Improve Exchange 2013 support&lt;/li&gt;
&lt;li&gt;EWS: avoid mime content String conversion&lt;/li&gt;
&lt;li&gt;EWS: Improve javadoc and make ItemId serializable&lt;/li&gt;
&lt;li&gt;EWS: expect UTF-8 in options responses&lt;/li&gt;
&lt;li&gt;EWS: remove unused field&lt;/li&gt;
&lt;li&gt;EWS: Force encoding in mimeContent decode&lt;/li&gt;
&lt;li&gt;EWS: Avoid /owa form request in direct EWS mode&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="documentation_17"&gt;Documentation:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Add davmail.defaultDomain to template properties file&lt;/li&gt;
&lt;li&gt;Doc: Change default port in Thunderbird directory config screenshot&lt;/li&gt;
&lt;li&gt;Update settings image&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_19"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: fix 564, Moving / copying messages in public mailbox &lt;/li&gt;
&lt;li&gt;IMAP: implement separate thread folder load on STATUS request to avoid client timeouts&lt;/li&gt;
&lt;li&gt;IMAP: fix 209, use isEqualTo instead of contains to search keywords on Exchange 2010&lt;/li&gt;
&lt;li&gt;IMAP : various enhancements from audit, switch to enum and avoid NullPointerException&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="osx_12"&gt;OSX:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;OSX: force working directory to application root&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements_20"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Upgrade svnkit to 1.8&lt;/li&gt;
&lt;li&gt;Update WinRun4J wrappers&lt;/li&gt;
&lt;li&gt;Upgrade WinRun4J to 0.4.5&lt;/li&gt;
&lt;li&gt;Kerberos: make sure access to client login context is synchronized&lt;/li&gt;
&lt;li&gt;Kerberos: synchronize access to clientLoginContext&lt;/li&gt;
&lt;li&gt;Make MessageWrapper static&lt;/li&gt;
&lt;li&gt;Revert Java 7 only changes&lt;/li&gt;
&lt;li&gt;Do not try WebDav mode if owa url ends with /ews/exchange.asmx&lt;/li&gt;
&lt;li&gt;Additional code fixes from audit, do not try to get time zone from options page in direct EWS mode&lt;/li&gt;
&lt;li&gt;Force encoding in message create thread&lt;/li&gt;
&lt;li&gt;Prepare WoodStox Xml10AllowAllEscapedChars setting implementation&lt;/li&gt;
&lt;li&gt;Apply Base64 refactoring to all classes&lt;/li&gt;
&lt;li&gt;Apply new base64 methods to CaldavConnection&lt;/li&gt;
&lt;li&gt;Refactor base64 encode/decode methods&lt;/li&gt;
&lt;li&gt;Improve contact picture error handling&lt;/li&gt;
&lt;li&gt;Improve session factory log statements&lt;/li&gt;
&lt;li&gt;Avoid null in log statement&lt;/li&gt;
&lt;li&gt;New experimental davmail.exchange.maxConnections setting to limit concurrent connections to Exchange server&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_20"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: fix bug in VCalendar dtend check&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="pop_1"&gt;POP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Refactor PopConnection, use enumeration instead of int&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="coverity"&gt;Coverity:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;From coverity: listFiles may return null&lt;/li&gt;
&lt;li&gt;From coverity: avoid null dereference in VProperty&lt;/li&gt;
&lt;li&gt;From coverity: avoid null dereference in getFolderPath&lt;/li&gt;
&lt;li&gt;From coverity: check null image in FrameGatewayTray&lt;/li&gt;
&lt;li&gt;From coverity: more encoding fixes&lt;/li&gt;
&lt;li&gt;From coverity: synchronize HttpClient cookies access&lt;/li&gt;
&lt;li&gt;From coverity: synchronize FileAppender creation&lt;/li&gt;
&lt;li&gt;From coverity: URI.getPath may return null&lt;/li&gt;
&lt;li&gt;From coverity: ImageIO.read may return null&lt;/li&gt;
&lt;li&gt;From coverity: trayItem.getImage may return null&lt;/li&gt;
&lt;li&gt;From coverity: client.getInetAddress() may return null&lt;/li&gt;
&lt;li&gt;From coverity: createSaslServer may return null&lt;/li&gt;
&lt;li&gt;From coverity: use UTF-8 encoding in Hex conversion methods&lt;/li&gt;
&lt;li&gt;From coverity: force encoding to UTF-8 on socket output stream&lt;/li&gt;
&lt;li&gt;From coverity: set encoding on String to bytes conversion&lt;/li&gt;
&lt;li&gt;From coverity: use getParamValue instead of getParam().getValue() to avoid null dereference&lt;/li&gt;
&lt;li&gt;From coverity: editor pane font can be null&lt;/li&gt;
&lt;li&gt;From coverity: check null after ImageIO.read&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ui"&gt;UI:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;UI: small fixes on ui code from audit&lt;/li&gt;
&lt;li&gt;Refactor SWT tray dispose management on exit&lt;/li&gt;
&lt;li&gt;Handle missing resource in loadSwtImage&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="dav_4"&gt;DAV:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;DAV: decode base64 content as ASCII&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-441-2014-01-30"&gt;DavMail 4.4.1 2014-01-30&lt;/h2&gt;
&lt;p&gt;Includes mostly EWS support enhancements, Sogo carddav issue workaround, new&lt;br/&gt;
IMAP uid based paging implementation to handle concurrent folder changes&lt;br/&gt;
and a few other bug fixes.&lt;/p&gt;
&lt;h3 id="documentation_18"&gt;Documentation:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: update donation link to let user choose currency&lt;/li&gt;
&lt;li&gt;Doc: Update iCal Caldav setup for OSX Mavericks&lt;/li&gt;
&lt;li&gt;Doc: update server setup documentation, use noinstall package on Windows&lt;/li&gt;
&lt;li&gt;Doc: Update news url in release guide&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ews_20"&gt;EWS:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: workaround for user reported issue, less strict filter in isItemId&lt;/li&gt;
&lt;li&gt;EWS: Override authentication mode test: EWS is never form based&lt;/li&gt;
&lt;li&gt;EWS: new paging implementation based on imap uid sort to avoid issues on concurrent changes on searched folder&lt;/li&gt;
&lt;li&gt;EWS: in direct EWS mode, try to use ResolveNames to get current user email address&lt;/li&gt;
&lt;li&gt;EWS: Another try for checkEndPointUrl, head on /ews/exchange.asmx and follow redirects to wsdl&lt;/li&gt;
&lt;li&gt;EWS: improve ItemId vs user provided item name detection&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements_21"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;From coverity: avoid null dereference when no network interface is available&lt;/li&gt;
&lt;li&gt;From coverity: set encoding on byte array to String conversion&lt;/li&gt;
&lt;li&gt;From coverity: fix resource leak&lt;/li&gt;
&lt;li&gt;Update svnant libraries&lt;/li&gt;
&lt;li&gt;Fix reauthentication issue: separate domain from username in credentials&lt;/li&gt;
&lt;li&gt;Fix NullPointerException in thread "Shutdown" - tray disposal - server mode&lt;/li&gt;
&lt;li&gt;Fix authentication failure after session expiration&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_21"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: Fix 555 another broken Israeli timezone&lt;/li&gt;
&lt;li&gt;Caldav: ignore invalid BEGIN line inside object (Sogo Carddav issue)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-440-2013-11-13"&gt;DavMail 4.4.0 2013-11-13&lt;/h2&gt;
&lt;p&gt;Added folder size limit setting to let users avoid IMAP timeouts and reduce memory footprint.&lt;br/&gt;
Also contains many documentation updates, including updated OSX instructions for Mavericks and&lt;br/&gt;
some more bugfixes on IMAP, Caldav (iOS 7 user agent) and SMTP.&lt;/p&gt;
&lt;h3 id="documentation_19"&gt;Documentation:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: update roadmap&lt;/li&gt;
&lt;li&gt;Doc: reference Marcin Dulak as contributor (RPM package maintainer)&lt;/li&gt;
&lt;li&gt;Doc: Document OSX Mavericks IMAP account creation&lt;/li&gt;
&lt;li&gt;Doc: improve FAQ&lt;/li&gt;
&lt;li&gt;Doc: Fix OSX download instructions&lt;/li&gt;
&lt;li&gt;Doc: Update OSX doc&lt;/li&gt;
&lt;li&gt;Doc: additional FAQ comment on shared calendar hierarchy&lt;/li&gt;
&lt;li&gt;Doc: update smtp screenshot&lt;/li&gt;
&lt;li&gt;Doc: update more Thunderbird screenshots&lt;/li&gt;
&lt;li&gt;Doc: update Lightning screenshots&lt;/li&gt;
&lt;li&gt;Doc: document calendar.caldav.sched.enabled in main Lightning setup doc&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements_22"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Additional IMAP unit tests&lt;/li&gt;
&lt;li&gt;Add davmail.folderSizeLimit to UI and documentation&lt;/li&gt;
&lt;li&gt;Fix AbstractConnection.readContent, see &lt;a href="https://sourceforge.net/p/davmail/bugs/538/"&gt;https://sourceforge.net/p/davmail/bugs/538/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="smtp_5"&gt;SMTP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;SMTP: create a new davmail.smtpStripFrom boolean property to force From: header removal &lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_20"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: Make flags case insensitive on append&lt;/li&gt;
&lt;li&gt;IMAP: improve uidNext implementation&lt;/li&gt;
&lt;li&gt;Italian IMAP flag translation thanks to puntogil@libero.it&lt;/li&gt;
&lt;li&gt;IMAP: fix 538, send capabilities untagged response to avoid timeout on large message APPEND&lt;/li&gt;
&lt;li&gt;IMAP: Implement davmail.folderSizeLimit&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_22"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: change user agent test to include all iOS versions&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-434-2013-09-09"&gt;DavMail 4.3.4 2013-09-09&lt;/h2&gt;
&lt;p&gt;Added a new OSX Java7 package, IMAP header management regression fixes.&lt;br/&gt;
Also fixed a few bugs reported by users and improved documentation.&lt;/p&gt;
&lt;h3 id="documentation_20"&gt;Documentation:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: Reference Alexandre Rossi as Debian package maintainer&lt;/li&gt;
&lt;li&gt;Doc: Update FAQ shared mailbox path&lt;/li&gt;
&lt;li&gt;Doc: update svn repository location in build doc&lt;/li&gt;
&lt;li&gt;Force language on donations link&lt;/li&gt;
&lt;li&gt;Doc: OSX LaunchDaemon&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements_23"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Add trust="true" to scp command&lt;/li&gt;
&lt;li&gt;Italian translation from  gil cattaneo &lt;a href="https://bugzilla.redhat.com/show_bug.cgi?id=894413" rel="nofollow"&gt;https://bugzilla.redhat.com/show_bug.cgi?id=894413&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Allow identical username/userid in multiple factor authentication form&lt;/li&gt;
&lt;li&gt;Rethrow DavMailException on connect exception&lt;/li&gt;
&lt;li&gt;Fix NullPointerException on server unavailable&lt;/li&gt;
&lt;li&gt;New experimental davmail.popCommonDeleted flag to switch to a different property on old Exchange 2003 servers&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_23"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: flag ORGANIZER participant status as ACCEPTED instead of NEEDS-ACTION&lt;/li&gt;
&lt;li&gt;Caldav: do not overwrite X-MICROSOFT-CDO-BUSYSTATUS if TRANSP is not provided&lt;/li&gt;
&lt;li&gt;Merge patch to set sensitivy on VTODO&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="osx_13"&gt;OSX:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;OSX: Get application path from library path with Java7 launcher&lt;/li&gt;
&lt;li&gt;OSX: move libgrowl to library path&lt;/li&gt;
&lt;li&gt;OSX: build Java 7 package&lt;/li&gt;
&lt;li&gt;Customized OSX app launcher messages&lt;/li&gt;
&lt;li&gt;Java7 OSX app launcher&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ews_21"&gt;EWS:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: fix 537, detect 507 Insufficient Storage&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="webdav_1"&gt;WebDav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;DAV: set SO timeout on connection&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_21"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: new header fix, do not rely on messageheaders attribute on full headers request, load message&lt;/li&gt;
&lt;li&gt;IMAP: improve invalid message header test&lt;/li&gt;
&lt;li&gt;IMAP: fix invalid message header filter&lt;/li&gt;
&lt;li&gt;IMAP: write message without headers on BODY&lt;span&gt;[TEXT]&lt;/span&gt; fetch&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-433-2013-06-13"&gt;DavMail 4.3.3 2013-06-13&lt;/h2&gt;
&lt;p&gt;Make keep alive optional new davmail.enableKeepalive setting and fix regressions in IMAP handler.&lt;/p&gt;
&lt;h3 id="enhancements_24"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Update Maven POM to new Sourceforge project site&lt;/li&gt;
&lt;li&gt;Rename new setting to davmail.enableKeepalive and include in settings GUI&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_22"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: make keepalive spaces optional with new davmail.imapEnableKeepalive setting&lt;/li&gt;
&lt;li&gt;IMAP: interrupt EWS folder load on client timeout&lt;/li&gt;
&lt;li&gt;IMAP: fix missing headers with Outlook&lt;/li&gt;
&lt;li&gt;IMAP: Detect invalid content in message header field&lt;/li&gt;
&lt;li&gt;IMAP: skip Microsoft Mail Internet Headers Version 2.0 in message headers field&lt;/li&gt;
&lt;li&gt;IMAP: remove additional logging&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-432-2013-06-06"&gt;DavMail 4.3.2 2013-06-06&lt;/h2&gt;
&lt;p&gt;Another bugfix release.&lt;/p&gt;
&lt;h3 id="imap-fix-regression-on-imap-select-folder-with-thunderbird"&gt;IMAP: Fix regression on IMAP select folder with thunderbird&lt;/h3&gt;
&lt;h2 id="davmail-431-2013-06-05"&gt;DavMail 4.3.1 2013-06-05&lt;/h2&gt;
&lt;p&gt;Bugfix release to fix regressions with some IMAP clients and enhanced FetchMail support.&lt;/p&gt;
&lt;h3 id="osx_14"&gt;OSX:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;OSX: switch back to single archive and add a comment&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_23"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: fix double header content and optimize header fetch with Fetchmail&lt;/li&gt;
&lt;li&gt;IMAP: fix regression in append envelope&lt;/li&gt;
&lt;li&gt;IMAP: fix multithreaded folder load implementation to support more IMAP clients&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="pop_2"&gt;POP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;POP: fix 3613743, remove additional +OK during message RETR&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="linux_15"&gt;Linux:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;dos2unix on davmail.spec&lt;/li&gt;
&lt;li&gt;Update davsvn&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-430-2013-05-21"&gt;DavMail 4.3.0 2013-05-21&lt;/h2&gt;
&lt;p&gt;New keep alive mechanism to avoid most IMAP and POP client timeouts: load large messages&lt;br/&gt;
in a separate thread and send a character on client connection every ten seconds. Also&lt;br/&gt;
includes some bug fixes, documentation enhancements and experimental Exchange 2013 support.&lt;/p&gt;
&lt;h3 id="osx_15"&gt;OSX:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;OSX: Add a readme.txt file to OSX package to help users temporarily disable Gatekeeper&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="documentation_21"&gt;Documentation:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: improve OSX setup doc for Mountain Lion&lt;/li&gt;
&lt;li&gt;Update SSL doc, spaces in library path may break Sun PKCS11&lt;/li&gt;
&lt;li&gt;Update linux setup doc for Ubuntu 13 users&lt;/li&gt;
&lt;li&gt;Update server setup doc with detailed davmail.properties file&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_24"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: New workaround for Lightning bug: sleep for 1 second on server unavailable error&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_24"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Interrupt message load thread on client connection exception&lt;/li&gt;
&lt;li&gt;IMAP: try to avoid timeout on large message FETCH with a KeepAlive space character&lt;/li&gt;
&lt;li&gt;IMAP: try to avoid timeout on folder SELECT with a KeepAlive space character&lt;/li&gt;
&lt;li&gt;Improve message list count implementation&lt;/li&gt;
&lt;li&gt;Always sort by IMAP uid desc&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="pop_3"&gt;POP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;POP: load big messages in a separate thread&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ews_22"&gt;EWS:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: Fix regression in checkEndPointUrl, get /ews/services.wsdl&lt;/li&gt;
&lt;li&gt;Fix for Exchange 2013 support&lt;/li&gt;
&lt;li&gt;EWS: implement SortOrder&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements_25"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Improve DavMail shell scripts&lt;/li&gt;
&lt;li&gt;Set default file path to /var/log/davmail.log in reference davmail.properties&lt;/li&gt;
&lt;li&gt;Set a default log file size in reference davmail.properties&lt;/li&gt;
&lt;li&gt;Use reference davmail.properties in war file&lt;/li&gt;
&lt;li&gt;Disable broken dist-rpm&lt;/li&gt;
&lt;li&gt;Reference server davmail.properties file&lt;/li&gt;
&lt;li&gt;Add disableUpdateCheck to default davmail.properties file&lt;/li&gt;
&lt;li&gt;Exclude WinRun4J from debian package&lt;/li&gt;
&lt;li&gt;Exclude libgrowl and winrun4J from war package&lt;/li&gt;
&lt;li&gt;Exclude winrun4J from linux packages&lt;/li&gt;
&lt;li&gt;Set davmail.logFileSize to 0 to use an external rotation mechanism, e.g. logrotate&lt;/li&gt;
&lt;li&gt;Merge latest changes from Marcin Dulak&lt;/li&gt;
&lt;li&gt;Archive jsmooth wrappers&lt;/li&gt;
&lt;li&gt;Fix version in spec file&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-421-2013-04-11"&gt;DavMail 4.2.1 2013-04-11&lt;/h2&gt;
&lt;p&gt;Improved Kerberos support and a few bug fixes reported on tracker.&lt;/p&gt;
&lt;h3 id="kerberos"&gt;Kerberos:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Add enable Kerberos checkbox to DavMail GUI&lt;/li&gt;
&lt;li&gt;Kerberos read KRB5CCNAME environment variable to set ticket cache path&lt;/li&gt;
&lt;li&gt;Kerberos implement graphical callback on missing token&lt;/li&gt;
&lt;li&gt;Kerberos: Renew almost expired tickets and detect expired TGT in cache =&amp;gt; try to relogin &lt;/li&gt;
&lt;li&gt;Kerberos: Handle client context timeout, try to recreate context&lt;/li&gt;
&lt;li&gt;Improve KerberosHelper implementation, prepare credential delegation support&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements_26"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Try to fix 3606267: New debian dependency with wrong package name&lt;/li&gt;
&lt;li&gt;Fix 3602588, allow oracle-java7-jre&lt;/li&gt;
&lt;li&gt;Fix regression: disable console appender in gui mode&lt;/li&gt;
&lt;li&gt;Use NewIbmX509 on IBM JDK instead of NewSunX509 SSL algorithm implementation&lt;/li&gt;
&lt;li&gt;Fix 3602351, detect missing item&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ews_23"&gt;EWS:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: do not catch socket exception in executeMethod&lt;/li&gt;
&lt;li&gt;EWS: workaround for Nokia N9 Caldav implementation bug&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="dav_5"&gt;DAV:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;DAV: throw error on broken connection&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="smtp_6"&gt;SMTP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;SMTP: do not allow send as another user on Exchange 2003&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_25"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: exclude Mutt header request from size optimization&lt;/li&gt;
&lt;li&gt;IMAP: change kerberos login error message&lt;/li&gt;
&lt;li&gt;IMAP send error on authentication failed&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="documentation_22"&gt;Documentation:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: Additional Kerberos documentation&lt;/li&gt;
&lt;li&gt;Initial Kerberos documentation&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_25"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: do not send 401 on authentication error in Kerberos mode&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-420-2013-02-26"&gt;DavMail 4.2.0 2013-02-26&lt;/h2&gt;
&lt;p&gt;Contains some enhancements on iOS 6 support, Debian package encoding issue fix&lt;br/&gt;
and partial Kerberos support (workstation mode) to provide transparent Exchange&lt;br/&gt;
authentication.&lt;/p&gt;
&lt;h3 id="kerberos_1"&gt;Kerberos:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Kerberos: implement server side security context and token handling&lt;/li&gt;
&lt;li&gt;Kerberos: server side login module&lt;/li&gt;
&lt;li&gt;Improve Kerberos logging and implement command line callback&lt;/li&gt;
&lt;li&gt;Do not set preemptive authentication in Kerberos mode&lt;/li&gt;
&lt;li&gt;Enable Kerberos authentication scheme with davmail.enableKerberos setting&lt;/li&gt;
&lt;li&gt;Kerberos authentication implementation: SpNegoScheme to implement Negotiate authentication scheme, KerberosHelper to handle ticket access and KerberosLoginConfiguration to replace JAAS configuration file&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements_27"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Fix accept certificate message&lt;/li&gt;
&lt;li&gt;Make davmail.sh executable in platform independent package&lt;/li&gt;
&lt;li&gt;Update desktop entry comment&lt;/li&gt;
&lt;li&gt;Update RPM spec file from build.opensuse.org (marcindulak)&lt;/li&gt;
&lt;li&gt;Add libswt-cairo-gtk-3-jni to debian package dependencies&lt;/li&gt;
&lt;li&gt;Clear cookies created by authentication test&lt;/li&gt;
&lt;li&gt;Upgrade jackrabbit-webdav and htmlcleaner in davmailconsole wrapper&lt;/li&gt;
&lt;li&gt;Upgrade jackrabbit-webdav to 2.4.3&lt;/li&gt;
&lt;li&gt;Upgrade htmlcleaner to 2.2&lt;/li&gt;
&lt;li&gt;Exclude Jsmooth, nsi, OSX and contribs (with binary) from source only package&lt;/li&gt;
&lt;li&gt;Prepare source only package&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="bugfix"&gt;Bugfix:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Check file encoding in build file&lt;/li&gt;
&lt;li&gt;Refactor StringUtil and encode ~ in urlcompname&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_26"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: Implement custom IMAP flags to keywords mapping in settings&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_26"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: add iOS6 user agent&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-410-2012-09-26"&gt;DavMail 4.1.0 2012-09-26&lt;/h2&gt;
&lt;p&gt;Bugfix release with improved IMAP support, including IMAP flags mapping to Outlook categories,&lt;br/&gt;
enhanced IMAP noop/idle support, fixed emClient Caldav support and many Caldav and EWS fixes.&lt;/p&gt;
&lt;h3 id="documentation_23"&gt;Documentation:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: update roadmap&lt;/li&gt;
&lt;li&gt;Doc: new FAQ entry, Exchange RSA two factor authentication form&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_27"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: do not try to load tasks MIME body&lt;/li&gt;
&lt;li&gt;Caldav: workaround for 3569922: quick fix for broken Israeli Timezone issue&lt;/li&gt;
&lt;li&gt;Caldav: remove urlencoding workaround for emClient &amp;gt;= 4&lt;/li&gt;
&lt;li&gt;Caldav: Ignore 401 unauthorized on public event, return 200&lt;/li&gt;
&lt;li&gt;Caldav: Rename TZID also in RECURRENCE-ID&lt;/li&gt;
&lt;li&gt;Caldav: force 403 forbidden instead of 401 on unauthorized update to public folder item&lt;/li&gt;
&lt;li&gt;Caldav: Fix 3569934 NullPointerException on broken PROPFIND request&lt;/li&gt;
&lt;li&gt;Caldav: Fix 3567364, regression on from/to/cc handling in calendar related to IMAP search enhancement. Separate mapping for message fields/headers&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_27"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: send updated flags on folder refresh&lt;/li&gt;
&lt;li&gt;IMAP: fix keyword handling to avoid sending \Seen as keyword&lt;/li&gt;
&lt;li&gt;IMAP: retrieve message count on folder&lt;/li&gt;
&lt;li&gt;IMAP: apply flag to keyword conversion in SEARCH, refresh folder before search&lt;/li&gt;
&lt;li&gt;IMAP: improve keyword support, map $label1 to 5 from Thunderbird to Outlook categories&lt;/li&gt;
&lt;li&gt;IMAP: fix keywords implementation, make it case insensitive, implement KEYWORD search&lt;/li&gt;
&lt;li&gt;IMAP: implement generic FLAGS mapping to Outlook categories&lt;/li&gt;
&lt;li&gt;IMAP: fix 3566412, range iterator is on folder messages, not messages returned from search&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ews_24"&gt;EWS:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: Get primary smtp email address with ResolveNames in direct EWS mode&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements_28"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Allow Java 7 to build DavMail&lt;/li&gt;
&lt;li&gt;Prepare message keywords/categories support&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="webdav_2"&gt;WebDav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Dav: implement multivalued property suppord in ExchangeDavMethod&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="web"&gt;Web:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Web: Fix 3566941 Imap protocol is not activated by default in .war&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-400-2012-09-10"&gt;DavMail 4.0.0 2012-09-10&lt;/h2&gt;
&lt;p&gt;Includes full Exchange 2007 and 2010 support with EWS implementation, &lt;br/&gt;
fixed OSX Mountain Lion support, switched Windows wrappers to WinRun4J &lt;br/&gt;
and additional enhancements and bugfixes.&lt;/p&gt;
&lt;h3 id="imap_28"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: workaround for broken message headers on Exchange 2010&lt;/li&gt;
&lt;li&gt;IMAP: log content if less than 2K&lt;/li&gt;
&lt;li&gt;IMAP: improve Exchange 2010 header search, use direct header names to implement substring search on some headers&lt;/li&gt;
&lt;li&gt;IMAP: additional fix for Exchange 2010 header search, use PR_TRANSPORT_MESSAGE_HEADERS&lt;/li&gt;
&lt;li&gt;IMAP: Exchange 2010 does not support header search, workaround to avoid duplicate items in Drafts folder with Thunderbird&lt;/li&gt;
&lt;li&gt;IMAP: fix 3553942, unexpected imap NIL response&lt;/li&gt;
&lt;li&gt;IMAP: detect and ignore missing message to avoid NullPointerException&lt;/li&gt;
&lt;li&gt;IMAP: improve bodystructure error handling&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="documentation_24"&gt;Documentation:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: fix image swap&lt;/li&gt;
&lt;li&gt;Doc: update roadmap&lt;/li&gt;
&lt;li&gt;Doc: add Developed with Intellij Idea link&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_28"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: encode semicolon in urlcompname&lt;/li&gt;
&lt;li&gt;Caldav: fix attendees in modified occurences&lt;/li&gt;
&lt;li&gt;Caldav: additional timezone names for Exchange 2010&lt;/li&gt;
&lt;li&gt;Caldav: additional timezones available in Exchange 2007&lt;/li&gt;
&lt;li&gt;Caldav: Partial fix for missing items on Exchange 2010&lt;/li&gt;
&lt;li&gt;Caldav: fix OSX Mountain Lion (iCal 6) support&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancement_4"&gt;Enhancement:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Merge patch 3488553: Make davmail.jar executable&lt;/li&gt;
&lt;li&gt;Merge patch from 3562031, advanced noProxyFor handling&lt;/li&gt;
&lt;li&gt;Display released version in about frame when different from current version&lt;/li&gt;
&lt;li&gt;Fix 3562031, implement davmail.noProxyFor setting to exclude hosts from proxy settings&lt;/li&gt;
&lt;li&gt;Merge preauthentication page patch&lt;/li&gt;
&lt;li&gt;Prepare pre authentication page merge in ExchangeSession&lt;/li&gt;
&lt;li&gt;Implement javascript redirect in executeFollowRedirects&lt;/li&gt;
&lt;li&gt;Prepare javascript redirect merge (multiple authentication pages)&lt;/li&gt;
&lt;li&gt;Try to improve shutdown hook&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="windows_6"&gt;Windows:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Update download url in 64 bit wrappers to &lt;a href="http://java.com/en/download/manual.jsp" rel="nofollow"&gt;http://java.com/en/download/manual.jsp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Add davmailservice64.exe WinRun4J service wrapper&lt;/li&gt;
&lt;li&gt;Replace 64 bits jsmoothgen with WinRun4J wrapper&lt;/li&gt;
&lt;li&gt;64 bits Winrun4J wrapper&lt;/li&gt;
&lt;li&gt;Fix Winrun4J service wrapper implementation, launch a non daemon thread&lt;/li&gt;
&lt;li&gt;Win: switch to Winrun4J wrappers&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="osx_16"&gt;OSX:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;OSX: Add a note on Gatekeeper for OSX Mountain Lion users&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ews_25"&gt;EWS:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: fix davmail.acceptEncodingGzip setting handling&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-399-2012-07-10"&gt;DavMail 3.9.9 2012-07-10&lt;/h2&gt;
&lt;p&gt;Bugfix release with major IMAP changes to improve sync performance,&lt;br/&gt;
many Caldav enhancements and bugfixes and some documentation updates.&lt;/p&gt;
&lt;h3 id="caldav_29"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: encode ? in urlcompname&lt;/li&gt;
&lt;li&gt;Caldav: fix 3534615, patch allday dates only on Exchange 2007&lt;/li&gt;
&lt;li&gt;Caldav: implement full contact folder dump at /users/&amp;lt;email&amp;gt;/contacts/&amp;lt;/email&amp;gt;&lt;/li&gt;
&lt;li&gt;Caldav: implement task priority over EWS&lt;/li&gt;
&lt;li&gt;Caldav: remove unsupported attachment reference to avoid iPhone/iPad crash&lt;/li&gt;
&lt;li&gt;Caldav: reintroduce davmail.caldavDisableTasks setting to disable tasks support&lt;/li&gt;
&lt;li&gt;Caldav: fix encode pipe | to %7C in urlcompname&lt;/li&gt;
&lt;li&gt;Caldav: encode pipe | to %7C in urlcompname&lt;/li&gt;
&lt;li&gt;CalDav: Fix 3512857, avoid double path encoding in DavExchangeSession.loadVtimezone()&lt;/li&gt;
&lt;li&gt;Caldav: improve Exchange 2007 EWS meeting support&lt;/li&gt;
&lt;li&gt;Caldav: rebuild meeting attendees only for Exchange 2007, Exchange 2010 ics parser is correct&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements_29"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Fixes from audit&lt;/li&gt;
&lt;li&gt;store davmail.log in user home folder to avoid crash on first start when current directory is not writable by user&lt;/li&gt;
&lt;li&gt;Add WinRun4J to Maven POM and update windows service documentation&lt;/li&gt;
&lt;li&gt;Switch to WinRun4J for Windows service wrapper&lt;/li&gt;
&lt;li&gt;Fix 3494770: Add missing antlr runtime&lt;/li&gt;
&lt;li&gt;Upgrade svnkit for subversion 1.7 compatibility&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_29"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: Fix 3534801, workaround for missing From header&lt;/li&gt;
&lt;li&gt;IMAP: fix 3441891, workaround for Exchange 2003 ActiveSync bug&lt;/li&gt;
&lt;li&gt;IMAP: experimental implementation of header only FETCH, do not download full message content and send approximate RFC822.SIZE (MAPI size)&lt;/li&gt;
&lt;li&gt;IMAP: avoid full message download on OSX Lion flags request with content-class header&lt;/li&gt;
&lt;li&gt;IMAP: exclude IDLE from infinite loop detection&lt;/li&gt;
&lt;li&gt;IMAP: add date header to rebuilt message&lt;/li&gt;
&lt;li&gt;IMAP: Force UTF-8 on message rebuild&lt;/li&gt;
&lt;li&gt;IMAP: implement RFC822 fetch request&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="gui_2"&gt;GUI:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;GUI: force alwaysOnTop on dialogs to make sure they are visible&lt;/li&gt;
&lt;li&gt;GUI: always bring dialog windows to front&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="documentation_25"&gt;Documentation:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: add a new FAQ entry on shared mailbox access over IMAP&lt;/li&gt;
&lt;li&gt;Doc: Update doc to include Java 7&lt;/li&gt;
&lt;li&gt;Doc: small fix in Linux setup doc&lt;/li&gt;
&lt;li&gt;Doc: Update Linux instructions for Ubuntu 12 Natty&lt;/li&gt;
&lt;li&gt;Doc: New review&lt;/li&gt;
&lt;li&gt;Doc: update Thunderbird POP account setup doc&lt;/li&gt;
&lt;li&gt;Doc: Update SSL setup documentation on PKCS12 passwords&lt;/li&gt;
&lt;li&gt;Doc: add a note on hidden folders on OSX Lion&lt;/li&gt;
&lt;li&gt;Doc: Fix new thunderbird doc&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="osx_17"&gt;OSX:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;OSX: new hide from Dock setting available directly in UI (DavMail restart needed)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="carddav_10"&gt;Carddav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Carddav: Fix 3511472, implement fileas over EWS&lt;/li&gt;
&lt;li&gt;Carddav: Skip carriage return in ICSBufferedWriter&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ews_26"&gt;EWS:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: disable gzip encoding if WIRE logging is at DEBUG level&lt;/li&gt;
&lt;li&gt;EWS: fix 3263905 ErrorInvalidPropertyRequest, do not update message:IsRead on appointments&lt;/li&gt;
&lt;li&gt;EWS: make isMainCalendar case insensitive&lt;/li&gt;
&lt;li&gt;EWS: revert chunked inputstream inside gzip and create new setting davmail.acceptEncodingGzip&lt;/li&gt;
&lt;li&gt;EWS: handle chunked inputstream inside gzip&lt;/li&gt;
&lt;li&gt;EWS: improve error message handling, log error description&lt;/li&gt;
&lt;li&gt;EWS: improve error handling on socket exception&lt;/li&gt;
&lt;li&gt;EWS: avoid NullPointerException in broken message rebuild&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="webdav_3"&gt;WebDav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Dav: decode permanenturl to avoid double urlencoding issue&lt;/li&gt;
&lt;li&gt;Dav: decode url returned on saveappt cmd in DavExchangeSession.loadVtimezone()&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-398-2012-02-21"&gt;DavMail 3.9.8 2012-02-21&lt;/h2&gt;
&lt;p&gt;Prepare 4.0 release with improved Exchange 2010 support, added IMAP MOVE extension support,&lt;br/&gt;
include a new windows noinstall package and implement captcha authentication support.&lt;/p&gt;
&lt;h3 id="documentation_26"&gt;Documentation:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: update roadmap&lt;/li&gt;
&lt;li&gt;Doc: add a statement on adding NSIS to system path in build instructions&lt;/li&gt;
&lt;li&gt;Doc: update Thunderbird IMAP setup instructions for Thunderbird 10&lt;/li&gt;
&lt;li&gt;Doc: update java package reference&lt;/li&gt;
&lt;li&gt;Doc: update address book setup instructions for OSX Lion&lt;/li&gt;
&lt;li&gt;Doc: add Growl reference in OSX setup&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements_30"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Fix nsis script: delete stax api jar on uninstall&lt;/li&gt;
&lt;li&gt;Fixes from audit&lt;/li&gt;
&lt;li&gt;New redline ant task definition fix&lt;/li&gt;
&lt;li&gt;Exclude Junit from binary packages&lt;/li&gt;
&lt;li&gt;Create Windows noinstall package&lt;/li&gt;
&lt;li&gt;Implement a new davmail.clientSoTimeout setting to adjust or disable connection timeout&lt;/li&gt;
&lt;li&gt;Improve message on invalid OWA uri&lt;/li&gt;
&lt;li&gt;Fix notification dialog test&lt;/li&gt;
&lt;li&gt;Improve Pinsafe captcha display&lt;/li&gt;
&lt;li&gt;workaround for broken form with empty action&lt;/li&gt;
&lt;li&gt;Implement ISA server PINsafeISAFilter support (captcha image)&lt;/li&gt;
&lt;li&gt;Upgrade Redline RPM&lt;/li&gt;
&lt;li&gt;Add StreamScanner.java from Woodstox 4.1.2&lt;/li&gt;
&lt;li&gt;Upgrade to Woodstox 4.1.2&lt;/li&gt;
&lt;li&gt;Fix 3454332: davmail.sh script missing shebang &lt;/li&gt;
&lt;li&gt;add trust=true in upload-site&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_30"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: fix search date format for Exchange 2010 support (ErrorInvalidValueForProperty)&lt;/li&gt;
&lt;li&gt;IMAP: implement SEARCH TEXT on from, to, cc, subject and body&lt;/li&gt;
&lt;li&gt;IMAP: send error on COPY/MOVE when message iterator is empty&lt;/li&gt;
&lt;li&gt;IMAP: implement MOVE RFC draft &lt;a href="http://tools.ietf.org/id/draft-krecicki-imap-move-00.html" rel="nofollow"&gt;http://tools.ietf.org/id/draft-krecicki-imap-move-00.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;IMAP: fix 3480516, () instead of NIL on empty envelope header&lt;/li&gt;
&lt;li&gt;IMAP: Fix 3479993, backslash in header&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="smtp_7"&gt;SMTP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;SMTP: fix 3489007, Sparrow AUTH PLAIN authentication support&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_30"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: force context Timezone on Exchange 2010&lt;/li&gt;
&lt;li&gt;Caldav: add missing timezones from Exchange 2007 over WebDav&lt;/li&gt;
&lt;li&gt;Caldav: let users edit outgoing notifications for meeting requests&lt;/li&gt;
&lt;li&gt;Caldav: fix NullPointerException on addressbook request&lt;/li&gt;
&lt;li&gt;Caldav: workaround for broken items with \n as first line character&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="pop_4"&gt;POP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;POP: add a new setting to mark messages read after RETR&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ews_27"&gt;EWS:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: fix ErrorInvalidValueForProperty on search undeleted with Exchange 2010, set type Integer on PidLidImapDeleted and junk 0x1083&lt;/li&gt;
&lt;li&gt;EWS: new fix to improve failover on error retrieving MimeContent&lt;/li&gt;
&lt;li&gt;EWS: improve failover on error retrieving MimeContent&lt;/li&gt;
&lt;li&gt;EWS: Fix 3471671, workaround for Exchange invalid chars&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ldap_4"&gt;LDAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;LDAP: improve invalid dn message&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="osx_18"&gt;OSX:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;OSX: make nodock mode the default&lt;/li&gt;
&lt;li&gt;OSX: make sure davmail.jar is first in classpath&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="dav_6"&gt;DAV:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Dav: set contact email type to SMTP&lt;/li&gt;
&lt;li&gt;Dav: add email type MAPI properties&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="carddav_11"&gt;Carddav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Carddav: avoid NullPointerException on broken contact&lt;/li&gt;
&lt;li&gt;Carddav: fix regression on address book handling on Snow Leopard&lt;/li&gt;
&lt;li&gt;Carddav: decode urlcompname before search to retrieve contacts with &amp;amp; in url&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-397-2012-01-10"&gt;DavMail 3.9.7 2012-01-10&lt;/h2&gt;
&lt;p&gt;Another bugfix release with new stax based webdav search method implementation to reduce memory footprint with large folders,&lt;br/&gt;
exclude non event items from calendar to avoid errors, some EWS fixes on tasks handling and a few documentation updates&lt;/p&gt;
&lt;h3 id="webdav_4"&gt;WebDav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Dav: fix regression in new Stax implementation&lt;/li&gt;
&lt;li&gt;Dav: new stax based WebDav requests implementation to reduce memory usage, enabled on Search requests&lt;/li&gt;
&lt;li&gt;Dav: switch back to mailbox path on Exchange 2003 for CmdBasePath&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_31"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: Experimental patch to support spaces in calendar or contacts path on OSX, see 3464086&lt;/li&gt;
&lt;li&gt;Caldav: Create a new davmail.caldavEnableLegacyTasks to allow access to tasks created in calendar folder by previous DavMail versions&lt;/li&gt;
&lt;li&gt;Caldav: drop davmail.caldavDisableTasks setting, retrieve only events from calendar&lt;/li&gt;
&lt;li&gt;Caldav: Change field update order for Exchange 2007 over EWS&lt;/li&gt;
&lt;li&gt;Caldav: apply date filter to tasks&lt;/li&gt;
&lt;li&gt;Caldav: new timezone for Mexico&lt;/li&gt;
&lt;li&gt;Caldav: fix 3433584, encode comma in LOCATION field&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_31"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: fix double slash in folder path&lt;/li&gt;
&lt;li&gt;IMAP: return all search results uids on a single line for Wanderlust&lt;/li&gt;
&lt;li&gt;IMAP: new davmail.imapIncludeSpecialFolders setting to access all folders including calendar and tasks over IMAP&lt;/li&gt;
&lt;li&gt;IMAP: fix wanderlust support, allow lower case fetch params&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="documentation_27"&gt;Documentation:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: Added DavMail hangs on 64-bit Linux FAQ entry&lt;/li&gt;
&lt;li&gt;Doc: add documentation for davmail.logFileSize option&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements_31"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Change default use system proxies value to false&lt;/li&gt;
&lt;li&gt;Avoid NullPointerException on WebdavNotAvailableException&lt;/li&gt;
&lt;li&gt;Fix upload-version target site&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ews_28"&gt;EWS:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: fix Exchange 2010 SP1 support&lt;/li&gt;
&lt;li&gt;EWS: use archivemsgfolderroot as archive root&lt;/li&gt;
&lt;li&gt;EWS: enable preemptive authentication on non NTLM endpoints&lt;/li&gt;
&lt;li&gt;EWS: add Exchange2010_SP1 support for online archive&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ldap_5"&gt;LDAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;LDAP: avoid NullPointerException during SASL authentication&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="carddav_12"&gt;Carddav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Carddav: encode star in urlcompname&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-396-2011-10-30"&gt;DavMail 3.9.6 2011-10-30&lt;/h2&gt;
&lt;p&gt;Another bugfix release to improve iPad 2 and Debian based Linux support. &lt;br/&gt;
Also includes new protocol mode options (EWS, WebDav or Auto), experimental Exchange online archive &lt;br/&gt;
support, IMAP UTF-8 search parameter and many Caldav fixes&lt;/p&gt;
&lt;h3 id="enhancements_32"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Add a new upload-version ant target to upload version.txt&lt;/li&gt;
&lt;li&gt;Workaround for broken servers that send invalid Basic authentication challenge&lt;/li&gt;
&lt;li&gt;Add exchangecookie to the list of authentication cookies for direct EWS access&lt;/li&gt;
&lt;li&gt;Add a new auto value to davmail.enableEws setting to avoid unwanted switch from WebDav to EWS on temporary Exchange connection issue&lt;/li&gt;
&lt;li&gt;Encode # in urlcompname&lt;/li&gt;
&lt;li&gt;Fix bug on ITEM_PROPERTIES value on EWS/WebDav mode switch&lt;/li&gt;
&lt;li&gt;Add new Default button to reset log levels&lt;/li&gt;
&lt;li&gt;Implement a new option to let users disable all GUI notifications&lt;/li&gt;
&lt;li&gt;Additional exception trace exclusion &lt;/li&gt;
&lt;li&gt;Revert 1.7 test on SWT, tray implementation is still broken on Linux&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="documentation_28"&gt;Documentation:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: reformat urls in FAQ&lt;/li&gt;
&lt;li&gt;Doc: add a note to help users with broken Unity desktop manager on Ubuntu&lt;/li&gt;
&lt;li&gt;Doc: Fix typo in project description&lt;/li&gt;
&lt;li&gt;Doc: additional note on Caldav setup in Thunderbird and new external review&lt;/li&gt;
&lt;li&gt;Doc: document new disable balloon notifications setting&lt;/li&gt;
&lt;li&gt;Doc: Update roadmap&lt;/li&gt;
&lt;li&gt;Doc: New reviews&lt;/li&gt;
&lt;li&gt;Doc: Update iCal doc to match both Snow Leopard and Lion&lt;/li&gt;
&lt;li&gt;Doc: Update FAQ&lt;/li&gt;
&lt;li&gt;Doc: Update DavMail settings screenshot&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="linux_16"&gt;Linux:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Allow openjdk-7-jre dependency in deb package &lt;/li&gt;
&lt;li&gt;Fix 3418960: Update dependencies for Ubuntu 11.10, add libswt-gtk-3-java&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_32"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: apply iCal 5 workaround to iOS 5&lt;/li&gt;
&lt;li&gt;Caldav: new timezone in rename table&lt;/li&gt;
&lt;li&gt;Caldav: try to merge Exchange 2010 and 2007 filters&lt;/li&gt;
&lt;li&gt;Caldav: additional unit tests&lt;/li&gt;
&lt;li&gt;Caldav: fix 3426148 decode and encode comma in RESOURCES field value&lt;/li&gt;
&lt;li&gt;Caldav: Fix complex timezones sent by clients, leave only latest STANDARD and DAYLIGHT definition&lt;/li&gt;
&lt;li&gt;Caldav: Fix 3420240, retrieve description from tasks over Dav&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ews_29"&gt;EWS:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: add new DistinguishedFolderId value for Exchange archive support&lt;/li&gt;
&lt;li&gt;EWS: throw exception on 400 Bad request answer&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_32"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: fix 3426383, implement CHARSET in SEARCH command, allow ASCII and UTF-8&lt;/li&gt;
&lt;li&gt;IMAP: fix 3353862, long file names encoding in BODYSTRUCTURE&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="smtp_8"&gt;SMTP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;SMTP: adjust workaround for misconfigured Exchange server that return 406 Not Acceptable on draft message creation, look inside multipart messages&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-395-2011-10-03"&gt;DavMail 3.9.5 2011-10-03&lt;/h2&gt;
&lt;p&gt;Bugfix release to avoid Growl plugin crash on OSX, make DavMail work with both&lt;br/&gt;
Snow Leopard and Lion. Also includes DIGEST-MD5 implementation for OSX Lion&lt;br/&gt;
Directory Utility support, however iCal attendee completion is still broken.&lt;/p&gt;
&lt;h3 id="osx_19"&gt;OSX:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Fix crash in Growl plugin on OSX: do not sent SSL content to Growl&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ews_30"&gt;EWS:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: rebuild broken message (null MimeContent) from properties&lt;/li&gt;
&lt;li&gt;EWS: improve error logging on invalid character&lt;/li&gt;
&lt;li&gt;EWS: fix tasks field order, send Extended Properties first to match EWS schema&lt;/li&gt;
&lt;li&gt;EWS: replace extension before looking for items in task folder&lt;/li&gt;
&lt;li&gt;EWS: Fix 3407395, do not set mailbox on FolderIds returned by Exchange&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ldap_6"&gt;LDAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;LDAP: fix DIGEST-MD5 authentication and adjust dn context for OSX Lion, still experimental&lt;/li&gt;
&lt;li&gt;LDAP: fix DIGEST-MD5 SASL authentication for OSX Lion&lt;/li&gt;
&lt;li&gt;LDAP: experimental SASL DIGEST-MD5 implementation for OSX Lion Directory Utility support&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_33"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: need to send principal-URL on principal path, only for OSX Lion&lt;/li&gt;
&lt;li&gt;Caldav: allow direct access to task folder&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements_33"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Force toFront and requestFocus to bring windows to front&lt;/li&gt;
&lt;li&gt;Additional proxy selector logging&lt;/li&gt;
&lt;li&gt;Fixes from audit&lt;/li&gt;
&lt;li&gt;Upgrade Log4J to 1.2.16&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="documentation_29"&gt;Documentation:&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Doc: Add saveInSent reference in FAQ&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-394-2011-09-13"&gt;DavMail 3.9.4 2011-09-13&lt;/h2&gt;
&lt;p&gt;First release with full Exchange tasks (VTODO) support, automatically convert VTODOs to tasks&lt;br/&gt;
inside default task folder. Also includes many bugfixes on iCal OSX Snow Leopard support&lt;br/&gt;
(note: need to recreate the calendar to fix sync), mixed Exchange 2010/2003 architecture support and&lt;br/&gt;
IMAP DRAFT and UNDRAFT search condition support&lt;/p&gt;
&lt;h3 id="caldav_34"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: fix regression&lt;/li&gt;
&lt;li&gt;Caldav: implement update folder&lt;/li&gt;
&lt;li&gt;Caldav: fix regression on Snow Leopard&lt;/li&gt;
&lt;li&gt;Caldav: more general fix for misconfigured Exchange server, replace host name in url also over Caldav&lt;/li&gt;
&lt;li&gt;Caldav: additional fix for CRLF in urlcompname&lt;/li&gt;
&lt;li&gt;Caldav: additional task fields over EWS and fix urlcompname decoding&lt;/li&gt;
&lt;li&gt;Caldav: implement task categories over EWS&lt;/li&gt;
&lt;li&gt;Caldav: update additional MAPI properties for tasks&lt;/li&gt;
&lt;li&gt;Caldav: implement startdate and duedate on tasks&lt;/li&gt;
&lt;li&gt;Caldav: implement task categories&lt;/li&gt;
&lt;li&gt;Caldav: Need to encode % in urlcompname&lt;/li&gt;
&lt;li&gt;Caldav: implement task percent complete and status over WebDav&lt;/li&gt;
&lt;li&gt;Caldav: improve task support over WebDav, rename .ics to .EML and implement priority (importance)&lt;/li&gt;
&lt;li&gt;Caldav: do not try to get ICS content from tasks&lt;/li&gt;
&lt;li&gt;Caldav: encode @ in path only for iCal 5 (OSX Lion)&lt;/li&gt;
&lt;li&gt;Caldav: implement supported-report-set&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements_34"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Do not always log stacktrace in handleNetworkDown&lt;/li&gt;
&lt;li&gt;Fix IllegalArgumentException in fixClientHost when scheme is null&lt;/li&gt;
&lt;li&gt;Temporary fix: log exception stack trace in handleNetworkDown&lt;/li&gt;
&lt;li&gt;Temporary fix: log exception in handleNetworkDown&lt;/li&gt;
&lt;li&gt;Another init script&lt;/li&gt;
&lt;li&gt;Small failover fix&lt;/li&gt;
&lt;li&gt;Improve client host update fix&lt;/li&gt;
&lt;li&gt;Test various event count&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_33"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: implement DRAFT and UNDRAFT search conditions, fix 3396248&lt;/li&gt;
&lt;li&gt;IMAP: fix failover for misconfigured Exchange server, replace host name in url&lt;/li&gt;
&lt;li&gt;IMAP: fix regression in EwsExchangeSession.createMessage&lt;/li&gt;
&lt;li&gt;IMAP: Fix 3383832, set ItemClass to send read receipt over EWS to avoid ErrorObjectTypeChanged &lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ews_31"&gt;EWS:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: Allow null value in StringUtil.decodeUrlcompname&lt;/li&gt;
&lt;li&gt;EWS: use isrecurring with Exchange 2010 and instancetype with Exchange 2007&lt;/li&gt;
&lt;li&gt;EWS: revert 3317867 XML1.1 header workaround to fix 3385308&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="dav_7"&gt;DAV:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Dav: check checkPublicFolder calls&lt;/li&gt;
&lt;li&gt;Dav: Avoid returning null in getCmdBasePath&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="documentation_30"&gt;Documentation:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: fix OSX iCal setup documentation for OSX Lion&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ldap_7"&gt;LDAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;LDAP: send error on DIGEST-MD5 bind request&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-393-2011-07-31"&gt;DavMail 3.9.3 2011-07-31&lt;/h2&gt;
&lt;p&gt;New release with improved iCal 5 (OSX Lion) support, partial VTODO conversion to Outlook tasks&lt;br/&gt;
 and many other bugfixes including event move item url encoding and event filter over EWS fix&lt;/p&gt;
&lt;h3 id="caldav_35"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: new fix for @ encoding&lt;/li&gt;
&lt;li&gt;Caldav: fix regression, do not encode @ in calendar-user-address-set&lt;/li&gt;
&lt;li&gt;Caldav: fix principal-URL response&lt;/li&gt;
&lt;li&gt;Caldav: encode @ in current-user-principal&lt;/li&gt;
&lt;li&gt;Caldav: force @ encode to %40 for iCal 5&lt;/li&gt;
&lt;li&gt;Caldav: new CRLF in urlcompname patch for EWS, use &lt;em&gt;x000D__x000A&lt;/em&gt; as encoded value&lt;/li&gt;
&lt;li&gt;Caldav: implement merged folder ctag over WebDav&lt;/li&gt;
&lt;li&gt;Caldav: fix noneMatch handling over WebDav&lt;/li&gt;
&lt;li&gt;Caldav: implement tasks delete over WebDav&lt;/li&gt;
&lt;li&gt;Caldav: implement tasks support over WebDav&lt;/li&gt;
&lt;li&gt;Caldav: send principal-URL for OSX Lion&lt;/li&gt;
&lt;li&gt;Caldav: first duedate implementation on tasks, fix delete task and concat ctag to detect changes on both calendar and tasks folders&lt;/li&gt;
&lt;li&gt;Caldav: implement percent complete and status VTODO updates&lt;/li&gt;
&lt;li&gt;Caldav: implement task support over EWS&lt;/li&gt;
&lt;li&gt;Caldav: decode destination path on move&lt;/li&gt;
&lt;li&gt;Caldav: encode LF to %0A in urlcompname&lt;/li&gt;
&lt;li&gt;Caldav: check Depth before search&lt;/li&gt;
&lt;li&gt;Caldav: Task folder flag&lt;/li&gt;
&lt;li&gt;Caldav: move remove quotes for Evolution to EWS mode only&lt;/li&gt;
&lt;li&gt;Caldav: fix regression on iCal FreeBusy handling&lt;/li&gt;
&lt;li&gt;Caldav: implement PROPFIND on single item&lt;/li&gt;
&lt;li&gt;Caldav: remove quotes on etag for Evolution&lt;/li&gt;
&lt;li&gt;Caldav: first Task (VTODO) implementation step&lt;/li&gt;
&lt;li&gt;Caldav: allow infinity as Depth value&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements_35"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Fix DoubleDotInputStream&lt;/li&gt;
&lt;li&gt;Improve system proxies and move item logging&lt;/li&gt;
&lt;li&gt;Refactor buildSessionInfo to use /public first and mailbox path as failover for galfind requests&lt;/li&gt;
&lt;li&gt;Fix bug in removeQuotes&lt;/li&gt;
&lt;li&gt;Fix 3315942, patch cleanup&lt;/li&gt;
&lt;li&gt;Fix server certificate label&lt;/li&gt;
&lt;li&gt;Fixes from audit&lt;/li&gt;
&lt;li&gt;Upgrade SWT to 3.7&lt;/li&gt;
&lt;li&gt;Fix 3315942, merge patch provided by Jeremiah Albrant: Ask user to select client certificate&lt;/li&gt;
&lt;li&gt;Improve message download progress logging, switch icon every 100KB&lt;/li&gt;
&lt;li&gt;Remove unused SwtAwtEventQueue class&lt;/li&gt;
&lt;li&gt;Implement davmail.smtpSaveInSent option and reorganize tabs&lt;/li&gt;
&lt;li&gt;Fix 3153691: Username with apostrophe&lt;/li&gt;
&lt;li&gt;Patch by Manuel Barkhau: exclude private events flag&lt;/li&gt;
&lt;li&gt;Reformat and fixes from audit&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ews_32"&gt;EWS:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: new recurring event filter implementation, exclude recurrence exception in results&lt;/li&gt;
&lt;li&gt;EWS: fix new Exchange 2010 ItemId length support&lt;/li&gt;
&lt;li&gt;EWS: Fix for some Exchange 2010 ItemIds different length&lt;/li&gt;
&lt;li&gt;EWS: workaround for Exchange bug, replace xml 1.0 header with xml 1.1 and log message download progress&lt;/li&gt;
&lt;li&gt;EWS: implement gzip encoding on response&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="dav_8"&gt;DAV:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Dav: update httpClient host after login&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_34"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: need to include base folder in recursive search, except on root&lt;/li&gt;
&lt;li&gt;IMAP: Fix 3151800, force UTF-8 in appendEnvelopeHeaderValue&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="documentation_31"&gt;Documentation:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: Add davmail.smtpSaveInSent description in doc&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-392-2011-06-07"&gt;DavMail 3.9.2 2011-06-07&lt;/h2&gt;
&lt;p&gt;This release includes some documentation updates, implement IMAP Recent flag, &lt;br/&gt;
Caldav support enhancements, 64 bits wrapper on windows, hanging issue with SWT &lt;br/&gt;
on Linux 64 and many other bugfixes.&lt;/p&gt;
&lt;h3 id="ldap_8"&gt;LDAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;LDAP: cancel search threads on connection close&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements_36"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Adjust system proxy log statement&lt;/li&gt;
&lt;li&gt;Jsmooth patch with 64 bits skeletons&lt;/li&gt;
&lt;li&gt;Additional statement on proxy load&lt;/li&gt;
&lt;li&gt;SWT: register error handler early&lt;/li&gt;
&lt;li&gt;Serialize session creation in workstation mode to avoid multiple OTP requests&lt;/li&gt;
&lt;li&gt;SWT: register error handler to avoid application crash on concurrent X access from SWT and AWT&lt;/li&gt;
&lt;li&gt;Revert LookAndFeel changes, switch to System.setProperty to set default LAF&lt;/li&gt;
&lt;li&gt;SWT: make sure we don't start AWT threads too early&lt;/li&gt;
&lt;li&gt;Update Jsmooth patch with 64bits exe support&lt;/li&gt;
&lt;li&gt;SWT: delayed AWT frames creation to reduce memory usage&lt;/li&gt;
&lt;li&gt;Experimental 64 bits windows exe&lt;/li&gt;
&lt;li&gt;Add a log file size field in UI&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="dav_9"&gt;DAV:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Dav: back to old path in Destination header behavior&lt;/li&gt;
&lt;li&gt;DAV: switch icon on large message download&lt;/li&gt;
&lt;li&gt;Dav: Log message download progress&lt;/li&gt;
&lt;li&gt;Dav: new patch to reset session timeout with a GET method on /owa/&lt;/li&gt;
&lt;li&gt;Dav: experimental, try to reset session timeout with a GET method&lt;/li&gt;
&lt;li&gt;Dav: do not try property update failover on 507 SC_INSUFFICIENT_STORAGE&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="osx_20"&gt;OSX:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;OSX: Avoid sending empty message to Growl&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_35"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: test custom header search&lt;/li&gt;
&lt;li&gt;IMAP: workaround for Exchange 2003 search deleted support&lt;/li&gt;
&lt;li&gt;IMAP: fix 3303767, do not send line count for non text bodyparts&lt;/li&gt;
&lt;li&gt;IMAP: another fix for 3297849, ENVELOPE formating error/bogus quotes&lt;/li&gt;
&lt;li&gt;IMAP: fix 3297849, ENVELOPE formating error/bogus quotes&lt;/li&gt;
&lt;li&gt;IMAP: Fix nullpointer in broken message handling&lt;/li&gt;
&lt;li&gt;IMAP: fix infinite loop detection&lt;/li&gt;
&lt;li&gt;IMAP: detect infinite loop on the client side&lt;/li&gt;
&lt;li&gt;IMAP: implement Recent flag on new messages based on read flag and creation/modification date&lt;/li&gt;
&lt;li&gt;IMAP: fix 3223513 default flags on append&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="documentation_32"&gt;Documentation:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: How to run multiple instances of DavMail&lt;/li&gt;
&lt;li&gt;Doc: FAQ note, iCal does not support folder names with spaces or special characters&lt;/li&gt;
&lt;li&gt;Doc: Add reference to default windows domain setting in FAQ&lt;/li&gt;
&lt;li&gt;Doc: additional Thunderbird and DavMail review&lt;/li&gt;
&lt;li&gt;Doc: add Duplicate messages in Sent folder FAQ entry&lt;/li&gt;
&lt;li&gt;Doc: add Piwik code to DavMail site&lt;/li&gt;
&lt;li&gt;Doc: New (french) review&lt;/li&gt;
&lt;li&gt;Doc: document custom certificate authority handling&lt;/li&gt;
&lt;li&gt;Doc: improve initial setup documentation&lt;/li&gt;
&lt;li&gt;Doc: describe the usual paths to use in OWA url field&lt;/li&gt;
&lt;li&gt;Doc: update imapAutoExpunge flag doc&lt;/li&gt;
&lt;li&gt;Doc: update roadmap&lt;/li&gt;
&lt;li&gt;Doc: document public folder access in Lightning&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_36"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: allow tab as folding character, see RFC2445&lt;/li&gt;
&lt;li&gt;Caldav: Fix NullPointerException in getTimezoneIdFromExchange&lt;/li&gt;
&lt;li&gt;Caldav: instancetype is null on Exchange 2010, switch to isrecurring in EWS FindItem&lt;/li&gt;
&lt;li&gt;Caldav: Disable schedule-inbox for all Lightning versions&lt;/li&gt;
&lt;li&gt;Caldav: prepare xmoz custom property support over DAV&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ews_33"&gt;EWS:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: fix UID and RECURRENCE-ID, broken at least on Exchange 2007 with recurring events&lt;/li&gt;
&lt;li&gt;EWS: fix 3105534 GetUserAvailability default timezone compatibility with Exchange 2010&lt;/li&gt;
&lt;li&gt;EWS: new failovers on Timezone settings: use davmail.timezoneId setting or default to GMT Standard Time&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-391-2011-03-22"&gt;DavMail 3.9.1 2011-03-22&lt;/h2&gt;
&lt;p&gt;Another bugfix release, mainly on EWS Caldav support (fix 404 not found).&lt;br/&gt;
Also implemented Microsoft Forefront Unified Access Gateway support.&lt;/p&gt;
&lt;h3 id="documentation_33"&gt;Documentation:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: additional FAQ entry on shared calendars&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_37"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: first check that email address is valid to avoid InvalidSmtpAddress error on FreeBusy request and new timezone name mapping&lt;/li&gt;
&lt;li&gt;Caldav: New fix for fix 3190219, regression on quote encoding since 3165749 fix&lt;/li&gt;
&lt;li&gt;Caldav: rethrow SocketException to avoid event not available on client connection close or DavMail listener restart&lt;/li&gt;
&lt;li&gt;Caldav: Fix timezone name&lt;/li&gt;
&lt;li&gt;Caldav: fix 3190219, regression on quote encoding since 3165749 fix&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="exchange-web-services"&gt;Exchange Web Services:&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;EWS: fix 3190774, LDAP galfind email address handling, use Mailbox value instead of EmailAddress1/2/3&lt;/li&gt;
&lt;li&gt;EWS: fix NullPointerException in item getContent&lt;/li&gt;
&lt;li&gt;EWS: fix 404 not found with Exchange 2010 calendars&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="enhancements_37"&gt;Enhancements:&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Convert shell script to unix LF&lt;/li&gt;
&lt;li&gt;Implement Microsoft Forefront Unified Access Gateway logon form compatibility&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_36"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: fix 3201374 envelope superflous space&lt;/li&gt;
&lt;li&gt;IMAP: fix LOGOUT implementation to improve SquirrelMail compatibility&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="osx_21"&gt;OSX:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;OSX: Avoid sending null message to Growl&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-390-2011-02-22"&gt;DavMail 3.9.0 2011-02-22&lt;/h2&gt;
&lt;p&gt;Making progress towards 4.0 and full EWS support, some issues remaining on recurring&lt;br/&gt;
events. This is mainly a bugfix release, with some Caldav enhancements, huge memory usage fix&lt;br/&gt;
on IMAP and a workaround for Linux 64 bits futex issue (deadlock on first connection).&lt;/p&gt;
&lt;h3 id="pop_5"&gt;POP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;POP: test new double dot implementation&lt;/li&gt;
&lt;li&gt;POP: Fix from Stefan Guggisberg, handle invalid CR or LF line feeds in DoubleDotOutputStream&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_38"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: additional timezone names in table&lt;/li&gt;
&lt;li&gt;Caldav: 3132513, implement well-known url, see &lt;a href="http://tools.ietf.org/html/draft-daboo-srv-caldav-10" rel="nofollow"&gt;http://tools.ietf.org/html/draft-daboo-srv-caldav-10&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Caldav: implement a new setting to disable task (VTODO) support: davmail.caldavDisableTasks and probably exclude most broken events&lt;/li&gt;
&lt;li&gt;Caldav: throw exception on empty event body (EWS)&lt;/li&gt;
&lt;li&gt;Caldav: fix multivalued param support in VProperty and always quote CN values&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="documentation_34"&gt;Documentation:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: Update release guide&lt;/li&gt;
&lt;li&gt;Doc: Additional FAQ entry on public calendar access with iCal&lt;/li&gt;
&lt;li&gt;Doc: Add Manchester wiki review&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ldap_9"&gt;LDAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;LDAP: dump BER content on error&lt;/li&gt;
&lt;li&gt;LDAP: fix 3166460, do not fail on NOT (0xa2) filter&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="bugfix_1"&gt;Bugfix:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;New workaround for bug 3168560, load system proxy settings in static block&lt;/li&gt;
&lt;li&gt;Fix 3161913 klauncher says davmail.desktop misses trailing semicolon&lt;/li&gt;
&lt;li&gt;Restore stax-api jar for Java 1.5 compatibility&lt;/li&gt;
&lt;li&gt;Fix 3150426 huge memory usage with IMAP&lt;/li&gt;
&lt;li&gt;Workaround for bug 3168560, synchronize system proxy access&lt;/li&gt;
&lt;li&gt;New NTLMv2 patch: provide fake workstation name and adjust Type3 message flags&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ews_34"&gt;EWS:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: Fix 3165749, exception with quotes in meeting subject and EWS&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="webdav_5"&gt;Webdav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Dav: log search response count&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-388-2011-01-11"&gt;DavMail 3.8.8 2011-01-11&lt;/h2&gt;
&lt;p&gt;Yet another bugfix release with many EWS support enhancements and fixes,&lt;br/&gt;
many documentation improvements (still need to update Thunderbird/OSX instructions&lt;br/&gt;
to latest versions though).&lt;/p&gt;
&lt;h3 id="documentation_35"&gt;Documentation:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: change Maven site plugin version&lt;/li&gt;
&lt;li&gt;Doc: additional external links&lt;/li&gt;
&lt;li&gt;Doc: Add anew reviews page&lt;/li&gt;
&lt;li&gt;Doc: Update POM and release guide&lt;/li&gt;
&lt;li&gt;Doc: move advanced settings to a separate page to keep getting started page simple&lt;/li&gt;
&lt;li&gt;Doc: add SWT bug reference to FAQ, on Ubuntu, notify text conflicts with default theme&lt;/li&gt;
&lt;li&gt;Doc: full iPhone setup instructions&lt;/li&gt;
&lt;li&gt;Doc: update war deployment description&lt;/li&gt;
&lt;li&gt;Doc: Additional smartcard PKCS11 setup instructions with NSS and Coolkey examples&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_39"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: Additional timezone mappings&lt;/li&gt;
&lt;li&gt;Caldav: workaround for Exchange 2010 bug, \n in timezone name generates invalid ICS content&lt;/li&gt;
&lt;li&gt;Caldav: improve timezone rename error message&lt;/li&gt;
&lt;li&gt;Caldav: fix floating timezone in iCal: rename TZID for maximum iCal/iPhone compatibility&lt;/li&gt;
&lt;li&gt;Do not send Exchange 2003 appointment creation request to Exchange 2007&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ews_35"&gt;EWS:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: return HttpNotFoundException on event not found to trigger Lightning workaround&lt;/li&gt;
&lt;li&gt;EWS: fix instancetype field definition: Integer instead of String (fix Caldav filter over EWS)&lt;/li&gt;
&lt;li&gt;EWS: improved email/alias failover fix&lt;/li&gt;
&lt;li&gt;EWS: fix regression in comment&lt;/li&gt;
&lt;li&gt;EWS: additional failover mail build on logon form failure&lt;/li&gt;
&lt;li&gt;EWS: store X-MOZ-SEND-INVITATIONS property to fix no notification issue with Lightning&lt;/li&gt;
&lt;li&gt;EWS: fix Caldav inbox handling over EWS&lt;/li&gt;
&lt;li&gt;EWS: improve timezone handling&lt;/li&gt;
&lt;li&gt;EWS: Update Field list&lt;/li&gt;
&lt;li&gt;EWS: fix 3098008, implement result paging to handle message folders with more than 1000 messages &lt;/li&gt;
&lt;li&gt;EWS: exclude non message types from searchMessages&lt;/li&gt;
&lt;li&gt;EWS: fix email mapping on LDAP response&lt;/li&gt;
&lt;li&gt;EWS: add BusinessCountryOrRegion contact field&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements_38"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Additional session create log statement&lt;/li&gt;
&lt;li&gt;New multiple user fields implementation: expect userid|username as login value&lt;/li&gt;
&lt;li&gt;Improve connection pool handling: do not pool simple checkConfig and getVersion connections.&lt;/li&gt;
&lt;li&gt;Implement OTP form with multiple username fields (username and userid)&lt;/li&gt;
&lt;li&gt;Contribution from Geert Stappers: start/stop script&lt;/li&gt;
&lt;li&gt;Improve NTLM authentication detection&lt;/li&gt;
&lt;li&gt;Always use private connection manager to avoid session conflict&lt;/li&gt;
&lt;li&gt;Fixes from audit&lt;/li&gt;
&lt;li&gt;Update javamail to 1.4.3&lt;/li&gt;
&lt;li&gt;Adjust Mime decoder settings (fix)&lt;/li&gt;
&lt;li&gt;Adjust Mime decoder settings&lt;/li&gt;
&lt;li&gt;Workaround for space in cookie name&lt;/li&gt;
&lt;li&gt;Use a_sLgnQS instead of a_sLgn first to support new OWA 8.3.83.4&lt;/li&gt;
&lt;li&gt;Additional NTLM flags to match Firefox flags&lt;/li&gt;
&lt;li&gt;Add UTF-7 support with jcharset&lt;/li&gt;
&lt;li&gt;Failover for misconfigured Exchange server, replace host name in url&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="smtp_9"&gt;SMTP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;SMTP: fix 3132569, always remove From header to avoid 403 error on send&lt;/li&gt;
&lt;li&gt;SMTP: workaround for misconfigured Exchange servers: failover on Draft message creation through properties. Warning: attachments are lost&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_37"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: Fix 3137275 Imap header fetch bug&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="webdav_6"&gt;WebDav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Dav: make sure Destination contains full url and not only path, may fix SMTP send and IMAP copyMessage on Exchange 2003&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="carddav_13"&gt;Carddav&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Carddav: Update contact test&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-387-2010-11-24"&gt;DavMail 3.8.7 2010-11-24&lt;/h2&gt;
&lt;p&gt;Bugfix and performance release with new Woodstox parser to reduce memory&lt;br/&gt;
footprint in EWS mode, more Caldav broken events fixes and IMAP regression&lt;br/&gt;
fixes.&lt;/p&gt;
&lt;h3 id="documentation_36"&gt;Documentation:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: Update Carddav setup doc&lt;/li&gt;
&lt;li&gt;Doc: ssl setup doc update from kerstkonijn&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements_39"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Unzip contribs content&lt;/li&gt;
&lt;li&gt;Update rpm ant task parameters to create valid rpm package&lt;/li&gt;
&lt;li&gt;Workaround for malformed cookies with space in name&lt;/li&gt;
&lt;li&gt;From Geert Stappers: add includeantruntime="false" to avoid ant 1.8 warning&lt;/li&gt;
&lt;li&gt;Workaround for invalid redirect location&lt;/li&gt;
&lt;li&gt;Improve error handling: detect redirect to reason=0 as session expired&lt;/li&gt;
&lt;li&gt;Suggestion from Geert Stappers: add svn:ignore property&lt;/li&gt;
&lt;li&gt;RPM spec from Marko Myllynen&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_40"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: Fix timezone support with Exchange 2010 SP1&lt;/li&gt;
&lt;li&gt;Caldav: use rebuild event from MAPI properties failover in all error cases&lt;/li&gt;
&lt;li&gt;Caldav: add requestFocus() to bring notification dialog to foreground&lt;/li&gt;
&lt;li&gt;Caldav: added edit notifications checkbox in settings frame&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_38"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: include current folder in recursive search&lt;/li&gt;
&lt;li&gt;IMAP: encode source path in copyMessage&lt;/li&gt;
&lt;li&gt;IMAP: new test case to show Thunderbird perf issue&lt;/li&gt;
&lt;li&gt;IMAP: Fix 3109303 Handle null string during mail fetch&lt;/li&gt;
&lt;li&gt;IMAP: fix nullpointerException in header fetch&lt;/li&gt;
&lt;li&gt;IMAP: fix 3106803, IMAP client stuck scanning Inbox, fix header and body fetch in same request&lt;/li&gt;
&lt;li&gt;IMAP: throw error on 440 Login Timeout to avoid message corruption&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ldap_10"&gt;LDAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;LDAP: do not log error on OSX groups request&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ews_36"&gt;EWS:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: Upgrade woodstox version to use enhanced base64 conversion (reduced memory usage)&lt;/li&gt;
&lt;li&gt;EWS: allow autodiscover after authentication failure&lt;/li&gt;
&lt;li&gt;EWS: fix contact email update&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="osx_22"&gt;OSX:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;OSX: search and replace on existing file, spotted by Geert Stappers&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-386-2010-11-07"&gt;DavMail 3.8.6 2010-11-07&lt;/h2&gt;
&lt;p&gt;First release with automatic EWS mode detection, also includes many bugfixes&lt;br/&gt;
on LDAP support over EWS, IMAP enhancements, Exchange 2010 SP1 cookie bug workaround&lt;br/&gt;
and a brand new UI frame to let users edit Caldav notifications.&lt;/p&gt;
&lt;h3 id="ldap_11"&gt;LDAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;LDAP: fix galfind search: add uid in response and use cn in fullsearch filter&lt;/li&gt;
&lt;li&gt;LDAP: additional EWS attributes&lt;/li&gt;
&lt;li&gt;LDAP: additional attributes for iPad&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements_40"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Fix 3103349: Cannot login if display name contains &lt;span&gt;[brackets]&lt;/span&gt;, regression after first patch&lt;/li&gt;
&lt;li&gt;Fix 3103349: Cannot login if display name contains &lt;span&gt;[brackets]&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;configFilePath is null in some test cases&lt;/li&gt;
&lt;li&gt;Added passcode as token field for RSA support&lt;/li&gt;
&lt;li&gt;Add DavMail version in welcome IMAP and SMTP header&lt;/li&gt;
&lt;li&gt;Update test case&lt;/li&gt;
&lt;li&gt;Handle exceptions on invalid UTF-8 characters or unexpected content triggered by XmlStreamReader.getElementText (based on patch 3081264)&lt;/li&gt;
&lt;li&gt;Add exchange 2010 PBack cookie in compatibility mode&lt;/li&gt;
&lt;li&gt;Novell iChain workaround&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="pop_6"&gt;POP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;POP: add version in welcome banner&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_41"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: Fix bug in Dav mode with broken events dtstart -&amp;gt; dtend&lt;/li&gt;
&lt;li&gt;Caldav: fix french notification message&lt;/li&gt;
&lt;li&gt;Caldav: protect ':' in VCALENDAR property params&lt;/li&gt;
&lt;li&gt;Caldav: initial edit notification implementation&lt;/li&gt;
&lt;li&gt;Caldav: Create fake DTEND on broken event&lt;/li&gt;
&lt;li&gt;Caldav: fix nullpointer in VCalendar on missing DTEND&lt;/li&gt;
&lt;li&gt;Caldav: implement main calendar folder rename&lt;/li&gt;
&lt;li&gt;Caldav: use i18n calendar name as display name for iCal&lt;/li&gt;
&lt;li&gt;Caldav: avoid renaming default calendar to null&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ews_37"&gt;EWS:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Ews: improve ResolveNames implementation, parse addresses and phone attributes&lt;/li&gt;
&lt;li&gt;EWS: implement failover on OWA authentication failure (e.g. with outlook.com)&lt;/li&gt;
&lt;li&gt;Ews: improve invalid item in calendar error handling&lt;/li&gt;
&lt;li&gt;EWS: improve resolveNames logging&lt;/li&gt;
&lt;li&gt;EWS: add enableEws flag in UI settings frame&lt;/li&gt;
&lt;li&gt;EWS: automatically detect Webdav not available and set davmail.enableEws flag&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_39"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: failover in message copy on 404 not found&lt;/li&gt;
&lt;li&gt;IMAP: Fix append with no optional parameters&lt;/li&gt;
&lt;li&gt;IMAP: additional test cases&lt;/li&gt;
&lt;li&gt;IMAP: fix from kolos_dm: implement fake line count in BODYSTRUCTURE and [] block in IMAPTokenizer&lt;/li&gt;
&lt;li&gt;IMAP: fix from kolos_dm: implement attachment name in BODYSTRUCTURE&lt;/li&gt;
&lt;li&gt;IMAP: improve logging, do not log message content on 404 or 403&lt;/li&gt;
&lt;li&gt;IMAP: fix from kolos_dm: In-Reply-To is not email header and unfold header to remove CRLF in ENVELOPE response&lt;/li&gt;
&lt;li&gt;IMAP: merge fix from Kolos, search command with message sequence set&lt;/li&gt;
&lt;li&gt;IMAP: implement index (non uid) COPY&lt;/li&gt;
&lt;li&gt;IMAP: workaround for broken message (500 error), rebuild mime message from properties&lt;/li&gt;
&lt;li&gt;IMAP: send error on idle command without selected folder (Outlook)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="documentation_37"&gt;Documentation:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: fixes and updates on ssl setup and build&lt;/li&gt;
&lt;li&gt;Doc: update roadmap&lt;/li&gt;
&lt;li&gt;Doc: Update architecture image&lt;/li&gt;
&lt;li&gt;Doc: update ssl server certificate doc&lt;/li&gt;
&lt;li&gt;Doc: Document PKCS12 self signed certificate creation to enable SSL in DavMail&lt;/li&gt;
&lt;li&gt;Doc: iPhone screenshots&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="swt_6"&gt;SWT:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;SWT: Custom AWT event queue to trap X errors and avoid application crash&lt;/li&gt;
&lt;li&gt;SWT:enable debug mode&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-385-2010-09-27"&gt;DavMail 3.8.5 2010-09-27&lt;/h2&gt;
&lt;p&gt;Includes much progress on Caldav over EWS support, a few regression fixes &lt;br/&gt;
and improved IMAP BODYSTRUCTURE implementation for complex messages.&lt;/p&gt;
&lt;h3 id="bugfixes"&gt;Bugfixes:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Fix regression in Exchange 2007 over Dav session&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements_41"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Detect and submit language selection automatically&lt;/li&gt;
&lt;li&gt;More fixes from audit&lt;/li&gt;
&lt;li&gt;Fixes from audit&lt;/li&gt;
&lt;li&gt;Restore cookies on error&lt;/li&gt;
&lt;li&gt;Improve buildSessionInfo failover&lt;/li&gt;
&lt;li&gt;Fix ssl trustmanager error handling&lt;/li&gt;
&lt;li&gt;Enable Webdav/Galfind failover on Exchange 2007&lt;/li&gt;
&lt;li&gt;Workaround for basic authentication on /exchange and form based authentication at /owa&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_42"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: detect invalid events with empty dtstart property&lt;/li&gt;
&lt;li&gt;Caldav: implement mozilla alarm flags X-MOZ-LASTACK and X-MOZ-SNOOZE-TIME over EWS&lt;/li&gt;
&lt;li&gt;Caldav: EWS, rebuild attendee list from properties&lt;/li&gt;
&lt;li&gt;Caldav: test principal request&lt;/li&gt;
&lt;li&gt;Caldav: fix 3067915 getRangeCondition too restrictive&lt;/li&gt;
&lt;li&gt;Caldav: implememnt Busy flag over EWS and refactor create code&lt;/li&gt;
&lt;li&gt;Caldav: fix create allday event over EWS and check if current user is organizer&lt;/li&gt;
&lt;li&gt;Caldav: Fixed regression in allday event handling&lt;/li&gt;
&lt;li&gt;Caldav: improve EWS implementation&lt;/li&gt;
&lt;li&gt;Caldav: improve timezone error handling&lt;/li&gt;
&lt;li&gt;Caldav: remove empty properties&lt;/li&gt;
&lt;li&gt;Caldav: avoid invalid X-CALENDARSERVER-ACCESS and CLASS&lt;/li&gt;
&lt;li&gt;Caldav: avoid empty X-CALENDARSERVER-ACCESS and CLASS&lt;/li&gt;
&lt;li&gt;Caldav: reinsert the deleteBroken check&lt;/li&gt;
&lt;li&gt;Caldav: fix VProperty parser&lt;/li&gt;
&lt;li&gt;Caldav: additional VCalendar properties for rebuilt item: VALARM (reminder)&lt;/li&gt;
&lt;li&gt;Caldav: additional VCalendar properties for rebuilt item: RRULE, EXDATE, CLASS&lt;/li&gt;
&lt;li&gt;Caldav: failover for broken event, rebuild VCalendar content from raw properties&lt;/li&gt;
&lt;li&gt;Caldav: fix 3063407, regression in sendPrincipal&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="carddav_14"&gt;Carddav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Carddav: fix null value in email address&lt;/li&gt;
&lt;li&gt;Carddav: fix email address handling over EWS&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="exchange-web-services_1"&gt;Exchange Web Services:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: fix 3047563 double inbox&lt;/li&gt;
&lt;li&gt;EWS: more caldav ews fixes&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="smtp_10"&gt;SMTP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;SMTP: rewrite getAllRecipients to disable strict header check&lt;/li&gt;
&lt;li&gt;SMTP: new try at encoding fix: set mailOverrideFormat and messageFormat&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="documentation_38"&gt;Documentation:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Upgrade maven site-plugin and update release guide&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_40"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: fix 3072497 Imap server too picky about case&lt;/li&gt;
&lt;li&gt;IMAP: improve BODYSTRUCTURE implementation, make it recursive&lt;/li&gt;
&lt;li&gt;IMAP: implement partial header fetch&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ldap_12"&gt;LDAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;LDAP: new attribute mapping&lt;/li&gt;
&lt;li&gt;LDAP: cache current hostname value in sendComputerContext to improve iCal address completion performance&lt;/li&gt;
&lt;li&gt;LDAP: additional ignore attributes&lt;/li&gt;
&lt;li&gt;LDAP: add gidnumber to attribute ignore list&lt;/li&gt;
&lt;li&gt;LDAP: fix regression on iCal 3 search completion&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="swt_7"&gt;SWT:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;SWT: allow libswt-gtk-3.6-java on debian, available from ppa:aelmahmoudy/ppa&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-384-2010-09-08"&gt;DavMail 3.8.4 2010-09-08&lt;/h2&gt;
&lt;p&gt;Yet another bugfix release with more regressions fixes on SMTP,&lt;br/&gt;
a few LDAP fixes and a caldav timezone update. &lt;/p&gt;
&lt;h3 id="documentation_39"&gt;Documentation:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: Update release guide&lt;/li&gt;
&lt;li&gt;Doc: Update swt version in maven pom&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="smtp_11"&gt;SMTP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;SMTP: try to force IMS encoding mode according to message contenttype&lt;/li&gt;
&lt;li&gt;SMTP: switching back to Draft then send mode over DAV for calendar messages&lt;/li&gt;
&lt;li&gt;SMTP: switching back to Draft then send mode over DAV&lt;/li&gt;
&lt;li&gt;SMTP: new duplicate message-id detection implementation, no need to search Sent folder&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="ldap_13"&gt;LDAP:&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;LDAP: improve EWS filter support&lt;/li&gt;
&lt;li&gt;LDAP: another gallookup detection fix to improve address completion in thunderbird&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="carddav_15"&gt;Carddav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Carddav: improve OSX client detection&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="enhancements_42"&gt;Enhancements:&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Fixes from audit&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_43"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: accept login as alias in caldav principals path&lt;/li&gt;
&lt;li&gt;Caldav: basic move item implementation&lt;/li&gt;
&lt;li&gt;Caldav: adjust Lightning bug workaround&lt;/li&gt;
&lt;li&gt;Caldav: yet another timezone fix, adjust Outlook created event time before allday conversion&lt;/li&gt;
&lt;li&gt;Caldav: fix regression on meeting response subject&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-383-2010-09-02"&gt;DavMail 3.8.3 2010-09-02&lt;/h2&gt;
&lt;p&gt;Another bugfix release with major regressions fixed:&lt;br/&gt;
missing calendar meeting messages and delivery status notification on&lt;br/&gt;
some external addresses. Also includes improved autodiscover support.&lt;/p&gt;
&lt;h3 id="enhancements_43"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Disable broken rpm generation&lt;/li&gt;
&lt;li&gt;Fix test cases&lt;/li&gt;
&lt;li&gt;Upgrade swt to 3.6&lt;/li&gt;
&lt;li&gt;workaround for TLS Renegotiation issue, &lt;br/&gt;
  see &lt;a href="http://java.sun.com/javase/javaseforbusiness/docs/TLSReadme.html" rel="nofollow"&gt;http://java.sun.com/javase/javaseforbusiness/docs/TLSReadme.html&lt;/a&gt;    &lt;/li&gt;
&lt;li&gt;Switch back to StreamReader.next instead of nextTag&lt;/li&gt;
&lt;li&gt;Fix autodiscover support&lt;/li&gt;
&lt;li&gt;Merge patch 3053324: Implement per service SSL flag (patch provided by scairt)&lt;/li&gt;
&lt;li&gt;Fix XMLStreamUtil regression&lt;/li&gt;
&lt;li&gt;Refactor XMLStreamUtil&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="exchange-web-services_2"&gt;Exchange Web Services:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: improve autodiscover implementation&lt;/li&gt;
&lt;li&gt;EWS: fix possible NullPonterException&lt;/li&gt;
&lt;li&gt;EWS: implement autodiscover to find actual EWS endpoint url&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_44"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: extend Lightning broken tests to all 1.* versions&lt;/li&gt;
&lt;li&gt;Caldav: switch back to contentclass to get calendarmessages over webdav&lt;/li&gt;
&lt;li&gt;Caldav : revert previous changes and fix meeting cancel support (IPM.Schedule.Meeting.Canceled)&lt;/li&gt;
&lt;li&gt;Caldav: move to trash on processItem&lt;/li&gt;
&lt;li&gt;Caldav: fix request parser regression on nextTag&lt;/li&gt;
&lt;li&gt;Caldav: improve filter handling, support VTODO/VEVENT comp-filter&lt;/li&gt;
&lt;li&gt;Caldav: make timezone name retrieval more robust&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="smtp_12"&gt;SMTP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;SMTP: make duplicates check optional with davmail.smtpCheckDuplicates setting&lt;/li&gt;
&lt;li&gt;SMTP: always remove From header with Exchange 2007 and 2010&lt;/li&gt;
&lt;li&gt;SMTP: Improve message on MAIL FROM without authentication&lt;/li&gt;
&lt;li&gt;SMTP: experimental, advertise 8BITMIME&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_41"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: implement shared mailbox access&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="documentation_40"&gt;Documentation:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;minor doc fix&lt;/li&gt;
&lt;li&gt;Doc: Additional Exchange Webdav setup documentation&lt;/li&gt;
&lt;li&gt;Add ohloh widget on home page&lt;/li&gt;
&lt;li&gt;Doc: a few doc fixes and update roadmap&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-382-2010-08-25"&gt;DavMail 3.8.2 2010-08-25&lt;/h2&gt;
&lt;p&gt;Bugfix release with improved Exchange 2010 IMAP support, CardDav fixes and&lt;br/&gt;
improved error handling&lt;/p&gt;
&lt;h3 id="enhancements_44"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Disable SWT on Java 7&lt;/li&gt;
&lt;li&gt;Update debian package description and categories&lt;/li&gt;
&lt;li&gt;fix 2995990: Add support for already authenticated users&lt;/li&gt;
&lt;li&gt;Fix missing hide password in log over IMAP&lt;/li&gt;
&lt;li&gt;More session creation enhancements, fix public folder test when /public is 403&lt;/li&gt;
&lt;li&gt;Refactor email and alias retrieval: always use options page with Exchange 2007&lt;/li&gt;
&lt;li&gt;Improve socket closed error handling&lt;/li&gt;
&lt;li&gt;Try default form url on authentication form not found&lt;/li&gt;
&lt;li&gt;Add Java Service Wrapper contribution from Dustin Hawkins&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_45"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: move delete broken event logic to DavExchangeSession&lt;/li&gt;
&lt;li&gt;Caldav: delete broken events when davmail.deleteBroken is true&lt;/li&gt;
&lt;li&gt;Caldav: improve event logging, include subject&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_42"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: handle 507 InsufficientStorage error&lt;/li&gt;
&lt;li&gt;IMAP: fix regression in NOT DELETED filter&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="documentation_41"&gt;Documentation:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: Update OSX directory setup documentation&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="dav_10"&gt;DAV:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;DAV: Encode apos in urlcompname used in DAV search request&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ews_38"&gt;EWS:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: fix single message in folder with Exchange 2010 bug&lt;/li&gt;
&lt;li&gt;EWS: implement loadVTimezone for Exchange 2010&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="smtp_13"&gt;SMTP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;SMTP: fix regression on bcc handling&lt;/li&gt;
&lt;li&gt;SMTP: convert Resent- headers, see 3019708&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ldap_14"&gt;LDAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;LDAP: avoid galLookup in iCal searches&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="carddav_16"&gt;Carddav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Carddav: Fix email update over EWS&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-381-2010-08-18"&gt;DavMail 3.8.1 2010-08-18&lt;/h2&gt;
&lt;p&gt;Includes a full refactoring of Vcalendar content handling, much progress on&lt;br/&gt;
Exchange Web Services support, LDAP optimizations and many other bufixes.&lt;/p&gt;
&lt;h3 id="exchange-web-services_3"&gt;Exchange Web Services:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: hard method: delete/create on update&lt;/li&gt;
&lt;li&gt;EWS: Fix DeleteItem for CalendarItem&lt;/li&gt;
&lt;li&gt;EWS: implement loadVtimezone, get user timezone id from OWA settings&lt;/li&gt;
&lt;li&gt;EWS: Fix FieldURIOrConstant test&lt;/li&gt;
&lt;li&gt;EWS: separate domain from userName in NTLM mode&lt;/li&gt;
&lt;li&gt;EWS: MultiCondition galFind&lt;/li&gt;
&lt;li&gt;EWS: implement basic galFind search&lt;/li&gt;
&lt;li&gt;EWS: implement resolvenames response parsing&lt;/li&gt;
&lt;li&gt;EWS: fix subfolder search on Exchange 2010&lt;/li&gt;
&lt;li&gt;EWS: implement user availability (freebusy) and shared folder access&lt;/li&gt;
&lt;li&gt;EWS: implement sendEvent&lt;/li&gt;
&lt;li&gt;EWS: force urlcompname only on create&lt;/li&gt;
&lt;li&gt;EWS: implement ResolveNames method&lt;/li&gt;
&lt;li&gt;EWS: Apply workaround to events&lt;/li&gt;
&lt;li&gt;EWS: workaround for missing urlcompname on Exchange 2010, use encoded ItemId instead&lt;/li&gt;
&lt;li&gt;EWS: rename equals to isEqualTo and format search date&lt;/li&gt;
&lt;li&gt;EWS: dynamic version detection&lt;/li&gt;
&lt;li&gt;EWS: Exchange 2010 message handling&lt;/li&gt;
&lt;li&gt;EWS: Exchange 2010 folder handling&lt;/li&gt;
&lt;li&gt;EWS: Exchange 2010 compatibility: add test cookie, access /ews/exchange.asmx endpoint&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_46"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: Fix missing TZID in DTSTART from iPhone&lt;/li&gt;
&lt;li&gt;Caldav: return reoccuring events on time-range request&lt;/li&gt;
&lt;li&gt;Caldav: Fix METHOD on create from iPhone&lt;/li&gt;
&lt;li&gt;Caldav: need to encode colon (:) in urlcompname search, implement a last failover on item search&lt;/li&gt;
&lt;li&gt;Caldav: implement 2899430, change the subject line when replying to invites&lt;/li&gt;
&lt;li&gt;Caldav: workaround for Lightning 1.0b2 bug&lt;/li&gt;
&lt;li&gt;Caldav: disable caldav inbox with Lightning 1.0b2&lt;/li&gt;
&lt;li&gt;Caldav: fix regression in fixVCalendar (missing organizer)&lt;/li&gt;
&lt;li&gt;Caldav: skip empty lines&lt;/li&gt;
&lt;li&gt;Caldav: Fix regressions in Vcalendar handling&lt;/li&gt;
&lt;li&gt;Caldav: fix nullpointer in VCalendar&lt;/li&gt;
&lt;li&gt;Caldav: fix regressions and do not filter on outlookmessageclass&lt;/li&gt;
&lt;li&gt;Caldav: major refactoring of event content handling and notifications&lt;/li&gt;
&lt;li&gt;Caldav: switch to new VCalendar parser/patcher&lt;/li&gt;
&lt;li&gt;Caldav: implement VALARM in VCalendar&lt;/li&gt;
&lt;li&gt;Caldav: more vcalendar patches&lt;/li&gt;
&lt;li&gt;Caldav: start new VCalendar fixICS implementation&lt;/li&gt;
&lt;li&gt;Caldav: call fixICS on download&lt;/li&gt;
&lt;li&gt;Caldav: reenable Lightning 1.0b2 bug workaround&lt;/li&gt;
&lt;li&gt;Caldav: failover for 404 not found on items containing '+' in url, search item by urlcompname to get permanenturl&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ldap_15"&gt;LDAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;LDAP: create a separate thread only for person/contact searches&lt;/li&gt;
&lt;li&gt;LDAP: implement galFind MultiCondition over webdav and improve search by mail&lt;/li&gt;
&lt;li&gt;LDAP: need to galLookup when search attribute is not in galfind result&lt;/li&gt;
&lt;li&gt;LDAP: another search attribute mapping fix&lt;/li&gt;
&lt;li&gt;LDAP: code cleanup and some galfind search fixes&lt;/li&gt;
&lt;li&gt;LDAP: fix 3043659, include entries starting with Z&lt;/li&gt;
&lt;li&gt;LDAP: Improve sizeLimit handling and ignore attributes&lt;/li&gt;
&lt;li&gt;LDAP: a few more attribute fixes&lt;/li&gt;
&lt;li&gt;LDAP: move galLookup to DavExchangeSession&lt;/li&gt;
&lt;li&gt;LDAP: progress on EWS LDAP implementation and refactoring&lt;/li&gt;
&lt;li&gt;LDAP: fix regression on OSX directory request on iCal start: filter invalid imapUid condition&lt;/li&gt;
&lt;li&gt;LDAP: use sizeLimit in contactFind&lt;/li&gt;
&lt;li&gt;LDAP: Fix OSX directory search on uid&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements_45"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Improve error handling&lt;/li&gt;
&lt;li&gt;Add custom cookie policy to support extended host name&lt;/li&gt;
&lt;li&gt;Fixes from audit&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="bugfixes_1"&gt;Bugfixes:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Fix regression in getAliasFromMailboxDisplayName&lt;/li&gt;
&lt;li&gt;Deb: Fix regression in debian desktop link&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="dav_11"&gt;DAV:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Dav: disable galFind on error&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="smtp_14"&gt;SMTP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;SMTP: compare actual email address, not email with alias&lt;/li&gt;
&lt;li&gt;SMTP: no need to remove From header with new sendMessage implementation&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="swt_8"&gt;SWT:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;SWT: fix 2992428, hide instead of dispose on close&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="carddav_17"&gt;Carddav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Carddav: refactor VCard handling to merge with VCalendar code&lt;/li&gt;
&lt;li&gt;Carddav: disable contact picture handling on Exchange 2007&lt;/li&gt;
&lt;li&gt;Carddav: implement range search&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-380b2-2010-07-26"&gt;DavMail 3.8.0b2 2010-07-26&lt;/h2&gt;
&lt;p&gt;Fixes the most obvious regressions in 3.8.0b1 and some documentation&lt;br/&gt;
updates on Carddav. Note for EWS only users: add davmail.enableEws=true in&lt;br/&gt;
davmail.properties&lt;/p&gt;
&lt;h3 id="caldav_47"&gt;Caldav:&lt;/h3&gt;
&lt;p&gt;Caldav: fix sendEvent regression, conflict on outbox notifications&lt;br/&gt;
Caldav: improve HttpNotFound message&lt;br/&gt;
Caldav: Refactor getItem&lt;br/&gt;
Caldav: fix MKCALENDAR http status code: return 201 instead of 207&lt;br/&gt;
Caldav: Another request parsing bug: handle empty elements&lt;br/&gt;
Caldav: fix regression in REPORT requests parsing&lt;/p&gt;
&lt;h3 id="carddav_18"&gt;Carddav:&lt;/h3&gt;
&lt;p&gt;Carddav: additional TEL properties&lt;br/&gt;
Carddav: add fburl field&lt;/p&gt;
&lt;h3 id="documentation_42"&gt;Documentation&lt;/h3&gt;
&lt;p&gt;Doc: fix carddav thunderbird doc&lt;br/&gt;
Doc: update left menu&lt;br/&gt;
Doc: set source encoding to UTF-8 in maven pom&lt;br/&gt;
Doc: update roadmap&lt;br/&gt;
Doc: Basic OSX setup instructions&lt;br/&gt;
Doc: thunderbird carddav setup with SOGO connector&lt;br/&gt;
Doc: Update homepage and project description&lt;/p&gt;
&lt;h2 id="davmail-380b1-2010-07-25"&gt;DavMail 3.8.0b1 2010-07-25&lt;/h2&gt;
&lt;p&gt;First public release after major refactoring to implement Exchange 2010 and Exchange 2007 without&lt;br/&gt;
Webdav support. This implementation is based on Exchange Web Services. EWS support is not yet&lt;br/&gt;
complete: global address list search and free/busy support is missing.&lt;br/&gt;
This release includes the new Carddav service sponsored by French Defense / DGA through &lt;br/&gt;
project Trustedbird. OSX notifications will now use Growl if available.&lt;/p&gt;
&lt;h3 id="carddav_19"&gt;Carddav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Carddav: another urlcompname encoding fix&lt;/li&gt;
&lt;li&gt;Carddav: generate OSX compatible VCARD photo and change addressbook-home-set with OSX Address Book&lt;/li&gt;
&lt;li&gt;Carddav: use new ExchangePropPatchMethod in full contact create/update&lt;/li&gt;
&lt;li&gt;CardDav: use new ExchangePropPatchMethod to create haspicture boolean property&lt;/li&gt;
&lt;li&gt;Carddav: improve error logging on photo update failure&lt;/li&gt;
&lt;li&gt;Carddav: use email1 as default email on update&lt;/li&gt;
&lt;li&gt;Carddav: fix multiple mail MAPI properties handling&lt;/li&gt;
&lt;li&gt;Carddav: fix GET request on folder support for SOGO&lt;/li&gt;
&lt;li&gt;Carddav: encode contact picture url&lt;/li&gt;
&lt;li&gt;Carddav: return 404 not found on missing folder&lt;/li&gt;
&lt;li&gt;Carddav: fix line folding in generated VCARD&lt;/li&gt;
&lt;li&gt;Carddav: Fix regression in single value multiline properties&lt;/li&gt;
&lt;li&gt;Carddav: add gender property&lt;/li&gt;
&lt;li&gt;Carddav: adjust bday to timezone&lt;/li&gt;
&lt;li&gt;Carddav: another anniversary property candidate&lt;/li&gt;
&lt;li&gt;Carddav: Add Anniversary support&lt;/li&gt;
&lt;li&gt;Carddav: Fix bday generation&lt;/li&gt;
&lt;li&gt;Carddav: fix iPhone BDAY parser&lt;/li&gt;
&lt;li&gt;Carddav: adjust fields accepting multiple values&lt;/li&gt;
&lt;li&gt;Carddav: fix semicolon encoding in compound value&lt;/li&gt;
&lt;li&gt;Carddav: workaround for iPhone categories encoding&lt;/li&gt;
&lt;li&gt;CardDav: do not encode simple (not compound) properties&lt;/li&gt;
&lt;li&gt;Carddav: fix regression in VCardWriter&lt;/li&gt;
&lt;li&gt;Carddav: always encode values&lt;/li&gt;
&lt;li&gt;Carddav: protect semicolon&lt;/li&gt;
&lt;li&gt;Carddav: iPhone personalHomePage support&lt;/li&gt;
&lt;li&gt;Carddav: ignore key prefix in VCARD&lt;/li&gt;
&lt;li&gt;Carddav: resize contact picture&lt;/li&gt;
&lt;li&gt;Carddav: Fix lower case param names&lt;/li&gt;
&lt;li&gt;Carddav: add contact create or update log statement&lt;/li&gt;
&lt;li&gt;Carddav: handle param values as parameter list&lt;/li&gt;
&lt;li&gt;Carddav: encode photo href&lt;/li&gt;
&lt;li&gt;Carddav: fix regression on VCARD photo detection&lt;/li&gt;
&lt;li&gt;Carddav: use urlcompname value instead of path to get contact details&lt;/li&gt;
&lt;li&gt;Carddav: fix case insensitive param values&lt;/li&gt;
&lt;li&gt;Carddav: add haspicture to test case&lt;/li&gt;
&lt;li&gt;Carddav: Implement picture delete and private flag over EWS&lt;/li&gt;
&lt;li&gt;Carddav: handle picture delete&lt;/li&gt;
&lt;li&gt;Carddav: fix boolean field handling&lt;/li&gt;
&lt;li&gt;Carddav: Remove missing properties on update&lt;/li&gt;
&lt;li&gt;Carddav: implement CLASS (private) flag&lt;/li&gt;
&lt;li&gt;Carddav: convert image to jpeg over EWS&lt;/li&gt;
&lt;li&gt;Carddav: implement photo update over WebDav&lt;/li&gt;
&lt;li&gt;Carddav: implement photo handling over EWS&lt;/li&gt;
&lt;li&gt;Carddav: implement categories support in EWS mode&lt;/li&gt;
&lt;li&gt;Carddav: implement categories&lt;/li&gt;
&lt;li&gt;Carddav: get SMTP email address&lt;/li&gt;
&lt;li&gt;Carddav: move value decoding back to VCardReader&lt;/li&gt;
&lt;li&gt;Carddav: decode multiline values&lt;/li&gt;
&lt;li&gt;Carddav: encode comma and \n in values&lt;/li&gt;
&lt;li&gt;CardDav: make getContactPhoto more robust&lt;/li&gt;
&lt;li&gt;Carddav: iPhone iOS4 compatibility&lt;/li&gt;
&lt;li&gt;Carddav: implement contact photo support (readonly)&lt;/li&gt;
&lt;li&gt;Carddav: implement quoted param value support&lt;/li&gt;
&lt;li&gt;Carddav: bday, assistant, manager and spouse properties&lt;/li&gt;
&lt;li&gt;Carddav: other address and homeposteofficebox properties&lt;/li&gt;
&lt;li&gt;Carddav: instant messaging and role properties&lt;/li&gt;
&lt;li&gt;Carddav: more properties&lt;/li&gt;
&lt;li&gt;Carddav: Implement phone, address and email properties&lt;/li&gt;
&lt;li&gt;Carddav: handle multiple values on a single line and add new properties&lt;/li&gt;
&lt;li&gt;CardDav: fix contact folder path handling and add create contact unit test&lt;/li&gt;
&lt;li&gt;Carddav: refactor Contact creation and create VCardReader&lt;/li&gt;
&lt;li&gt;CardDav: move Contact getBody to ExchangeSession and add more attributes support&lt;/li&gt;
&lt;li&gt;CardDav: map contact fields&lt;/li&gt;
&lt;li&gt;CardDav: improve automatic address book setup for OSX&lt;/li&gt;
&lt;li&gt;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&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancement_5"&gt;Enhancement:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Disable preemptive authentication when adding NTLM scheme&lt;/li&gt;
&lt;li&gt;Fixes from audit&lt;/li&gt;
&lt;li&gt;Force log file encoding to UTF-8&lt;/li&gt;
&lt;li&gt;Add new davmail.logFileSize setting&lt;/li&gt;
&lt;li&gt;Use linux friendly path separator in jsmooth config files&lt;/li&gt;
&lt;li&gt;Fixes from audit&lt;/li&gt;
&lt;li&gt;Major refactoring: use straight inpustream instead of reader everywhere&lt;/li&gt;
&lt;li&gt;Disable ConsoleAppender in gui mode&lt;/li&gt;
&lt;li&gt;Add missing Junit jar&lt;/li&gt;
&lt;li&gt;Cleanup: System.setProperty of httpclient.useragent no longer needed&lt;/li&gt;
&lt;li&gt;Improve item not found logging&lt;/li&gt;
&lt;li&gt;Log gateway stop at info level&lt;/li&gt;
&lt;li&gt;Improve empty keystore password handling to avoid NullPointerException&lt;/li&gt;
&lt;li&gt;Fix 2999717 redirect console to /dev/null in desktop file&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="exchange-web-services_4"&gt;Exchange Web Services:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: fix urlcompname encoding issues&lt;/li&gt;
&lt;li&gt;EWS: fix folder name ampersand encoding issue&lt;/li&gt;
&lt;li&gt;EWS: return 403 forbidden on ErrorAccessDenied&lt;/li&gt;
&lt;li&gt;EWS: xml encode values&lt;/li&gt;
&lt;li&gt;EWS: use UTF-8 to decode request on error&lt;/li&gt;
&lt;li&gt;EWS: send extended properties first on update&lt;/li&gt;
&lt;li&gt;EWS: format datereceived date&lt;/li&gt;
&lt;li&gt;EWS: fix bug in UnindexedFieldURI&lt;/li&gt;
&lt;li&gt;EWS: update createMessage bcc handling to match sendMessage &lt;/li&gt;
&lt;li&gt;EWS: implement bcc support in sendMessage&lt;/li&gt;
&lt;li&gt;EWS: implement send message (SMTP)&lt;/li&gt;
&lt;li&gt;EWS: fixes from audit&lt;/li&gt;
&lt;li&gt;EWS: fix CalendarItem creation, no need to wrap ics in a MIME message&lt;/li&gt;
&lt;li&gt;EWS: implement calendar event create or update, processed field, subfolder path handling &lt;/li&gt;
&lt;li&gt;EWS: fix internaldate conversion&lt;/li&gt;
&lt;li&gt;EWS: convert read flag to boolean and noneMatch/etag to detect create or update on items&lt;/li&gt;
&lt;li&gt;EWS: use UnindexedFieldURI for read flag&lt;/li&gt;
&lt;li&gt;EWS: fixes for Caldav and Carddav compatibility&lt;/li&gt;
&lt;li&gt;EWS: fix folder id regression&lt;/li&gt;
&lt;li&gt;EWS: fix country contact property mapping&lt;/li&gt;
&lt;li&gt;EWS: implement getItem and various contact handling fixes&lt;/li&gt;
&lt;li&gt;EWS: map all contact properties&lt;/li&gt;
&lt;li&gt;EWS: implement more contact and event methods&lt;/li&gt;
&lt;li&gt;EWS: implement copy method&lt;/li&gt;
&lt;li&gt;EWS: datereceived flag support&lt;/li&gt;
&lt;li&gt;EWS: handle bcc field&lt;/li&gt;
&lt;li&gt;EWS: various flag handling fixes, implement message delete&lt;/li&gt;
&lt;li&gt;EWS: implement getContent&lt;/li&gt;
&lt;li&gt;EWS: fix iconIndex flag property&lt;/li&gt;
&lt;li&gt;EWS: implement create and update message&lt;/li&gt;
&lt;li&gt;EWS: fix single value in MultiCondition handling&lt;/li&gt;
&lt;li&gt;EWS: rely on uid (PR_SEARCH_KEY) instead of permanentUrl to detect imap uid changes&lt;/li&gt;
&lt;li&gt;EWS: implement searchMessages&lt;/li&gt;
&lt;li&gt;EWS: fix bug in MultiCondition search&lt;/li&gt;
&lt;li&gt;EWS: fix from audit&lt;/li&gt;
&lt;li&gt;EWS: implement folder handling, including the new MoveFolderMethod&lt;/li&gt;
&lt;li&gt;EWS: move mailbox folder urls to DavExchangeSession&lt;/li&gt;
&lt;li&gt;EWS: use searchContacts in contactFind&lt;/li&gt;
&lt;li&gt;EWS: fix regression in deleted flag handling&lt;/li&gt;
&lt;li&gt;EWS: refactor contactFind, use new Condition API&lt;/li&gt;
&lt;li&gt;EWS: still more WebDav code to DavExchangeSession&lt;/li&gt;
&lt;li&gt;EWS: move more WebDav code to DavExchangeSession&lt;/li&gt;
&lt;li&gt;EWS: Various fixes after refactoring on DASL request generation&lt;/li&gt;
&lt;li&gt;EWS: in progress refactoring of contacts and events handling&lt;/li&gt;
&lt;li&gt;EWS: implement folder ctag, remove deprecated foldername property&lt;/li&gt;
&lt;li&gt;EWS: move WebDav message write and delete to DavExchangeSession&lt;/li&gt;
&lt;li&gt;EWS: move WebDav code to DavExchangeSession&lt;/li&gt;
&lt;li&gt;EWS: refactor IMAP search, use Conditions classes instead of string search filder&lt;/li&gt;
&lt;li&gt;EWS: Use int values to create ExtendedFieldURI propertyTags&lt;/li&gt;
&lt;li&gt;EWS: map folder path to and from IMAP&lt;/li&gt;
&lt;li&gt;EWS: implement NotCondition and public folder access&lt;/li&gt;
&lt;li&gt;EWS: implement IndexedFieldURI and InternetMessageHeader&lt;/li&gt;
&lt;li&gt;EWS: refactor search to use classes instead of String filters&lt;/li&gt;
&lt;li&gt;EWS: implement MultipleOperandBooleanExpression (And, Or, Not conditions)&lt;/li&gt;
&lt;li&gt;EWS: refactor folder search, create abstract getFolder methods&lt;/li&gt;
&lt;li&gt;EWS: start ExchangeSession refactoring to extract Dav calls&lt;/li&gt;
&lt;li&gt;EWS: refactor options, use enums&lt;/li&gt;
&lt;li&gt;EWS: implement basic SearchExpression restriction&lt;/li&gt;
&lt;li&gt;EWS: Implement CreateFolder, DeleteFolder and CreateItem, refactor options&lt;/li&gt;
&lt;li&gt;EWS: retrieve and decode MIME content&lt;/li&gt;
&lt;li&gt;EWS: add standard field additional property, implement IncludeMimeContent in GetItem, add DeleteItemMethod&lt;/li&gt;
&lt;li&gt;EWS: Generic item property mapping&lt;/li&gt;
&lt;li&gt;EWS: refactor EWS code&lt;/li&gt;
&lt;li&gt;EWS: experimental HttpClient based EWS methods&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_48"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: fix time-range filter support in EWS mode&lt;/li&gt;
&lt;li&gt;Caldav: move calendar on displayname update&lt;/li&gt;
&lt;li&gt;Caldav: partial MKCALENDAR implementation&lt;/li&gt;
&lt;li&gt;Caldav: implement time-range request&lt;/li&gt;
&lt;li&gt;Caldav: add missing dtstart field&lt;/li&gt;
&lt;li&gt;Caldav: improve 404 error handling&lt;/li&gt;
&lt;li&gt;Caldav: fix regression in processItem&lt;/li&gt;
&lt;li&gt;Caldav: UTF-8 encode report body&lt;/li&gt;
&lt;li&gt;Caldav: catch any exception in reportItems&lt;/li&gt;
&lt;li&gt;Caldav: Process request before sending response to avoid sending headers twice on error&lt;/li&gt;
&lt;li&gt;Caldav: Workaround for Lightning/1.0b2 href encoding bug in REPORT requests&lt;/li&gt;
&lt;li&gt;Caldav: move processItem logic back to CaldavConnection&lt;/li&gt;
&lt;li&gt;Caldav: Workaround for emClient broken href encoding&lt;/li&gt;
&lt;li&gt;Caldav: remove buildCalendarPath method&lt;/li&gt;
&lt;li&gt;Caldav: allows mixed case contentType in event MIME message (fix Unable to get event error)&lt;/li&gt;
&lt;li&gt;Caldav: fix 3014204 missing timezone&lt;/li&gt;
&lt;li&gt;Caldav: fix 2902372 private flag handling undex iCal 4 (OSX 10.6 Snow Leopard)&lt;/li&gt;
&lt;li&gt;Caldav: send current-user-principal on principals folder for iCal&lt;/li&gt;
&lt;li&gt;Caldav: workaround for iCal bug: do not notify if reply explicitly not requested&lt;/li&gt;
&lt;li&gt;Caldav: add CRLF after END:VCALENDAR to comply with RFC&lt;/li&gt;
&lt;li&gt;Caldav: fix regression in getItem, allow urn:content-classes:calendarmessage contentClass&lt;/li&gt;
&lt;li&gt;Caldav: Fix Carddav etag handling (additional Head request) and implement card delete&lt;/li&gt;
&lt;li&gt;Caldav: Implement Carddav create (only a few attributes mapped)&lt;/li&gt;
&lt;li&gt;Caldav: Implement basic Carddav search requests&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="dav_12"&gt;DAV:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Dav: more property update fixes&lt;/li&gt;
&lt;li&gt;Dav: patch filter on invalid Exchange Webdav response&lt;/li&gt;
&lt;li&gt;Dav: new ExchangePropPatchMethod to handle custom exchange propertyupdate and invalid response tag names&lt;/li&gt;
&lt;li&gt;Dav: refactor getContentReader and fix regression on null date value&lt;/li&gt;
&lt;li&gt;Dav: fix nullpointer in DavExchangeSession&lt;/li&gt;
&lt;li&gt;Dav: handle null properties with new createMessage&lt;/li&gt;
&lt;li&gt;Dav: another datereceived fix&lt;/li&gt;
&lt;li&gt;Dav: switch back to DAV:uid, used mainly in POP service (case sensitive)&lt;/li&gt;
&lt;li&gt;Dav: fix bug 3022451 in new search filter implementation with empty sub conditions&lt;/li&gt;
&lt;li&gt;Dav: Add folder unit tests&lt;/li&gt;
&lt;li&gt;Dav: add private and sensitivity fields&lt;/li&gt;
&lt;li&gt;Dav: implement timezone mapping for Exchange 2007, should fix the allday issue with Outlook&lt;/li&gt;
&lt;li&gt;Dav: use search expression to request ishidden&lt;/li&gt;
&lt;li&gt;Dav: fix regression in deleteItem&lt;/li&gt;
&lt;li&gt;Dav: fix regression 3020385 on folder handling&lt;/li&gt;
&lt;li&gt;Dav: Refactor folder search to use searchItems&lt;/li&gt;
&lt;li&gt;Dav: use Email1EmailAddress mapi property to get mail attribute, add uid attribute&lt;/li&gt;
&lt;li&gt;Dav: fix from audit&lt;/li&gt;
&lt;li&gt;Dav: add unit tests, move buildCalendarPath logic to getFolderPath&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="bug-fixes"&gt;Bug fixes:&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Use private MultiThreadedHttpConnectionManager with NTLM to avoid persistent authentication on connection issues&lt;/li&gt;
&lt;li&gt;Fix regression in AbstractConnection: return null instead of empty string on closed connection&lt;/li&gt;
&lt;li&gt;Fix 3001579: improve NTLM support&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_43"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: add uidNext MAPI property (not available under Exchange 2003)&lt;/li&gt;
&lt;li&gt;IMAP: fix deleted flag handling over Webdav&lt;/li&gt;
&lt;li&gt;IMAP: fix flag handling in createMessage&lt;/li&gt;
&lt;li&gt;IMAP: new seen flag test case&lt;/li&gt;
&lt;li&gt;IMAP: fix regression on imap uid restore&lt;/li&gt;
&lt;li&gt;IMAP: fix 3023386, support BODY.PEEK&lt;span&gt;[1.MIME]&lt;/span&gt; partial fetch&lt;/li&gt;
&lt;li&gt;IMAP: new unit tests and fix $Forwarded flag removal&lt;/li&gt;
&lt;li&gt;IMAP: implement deleted/undeleted search as condition instead of post filter&lt;/li&gt;
&lt;li&gt;IMAP: add IMAP unit test&lt;/li&gt;
&lt;li&gt;IMAP: fix 3014787 remove property over WebDav&lt;/li&gt;
&lt;li&gt;IMAP: implement last message (simple *) fetch range&lt;/li&gt;
&lt;li&gt;IMAP: send required "* SEARCH" on empty search response&lt;/li&gt;
&lt;li&gt;IMAP: Add a new hidden davmail.deleteBroken setting to delete broken messages&lt;/li&gt;
&lt;li&gt;IMAP: implement a new imapAutoExpunge setting to delete messages immediately over IMAP&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="smtp_15"&gt;SMTP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;SMTP: send message directly without creating a Draft message to preserve Message-id&lt;/li&gt;
&lt;li&gt;SMTP: fix log message&lt;/li&gt;
&lt;li&gt;SMTP: fix 3024482, avoid duplicate messages with gmail&lt;/li&gt;
&lt;li&gt;SMTP: Fix DoubleDotInputStream pushback size&lt;/li&gt;
&lt;li&gt;SMTP: last CRLF is not included in message content&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="documentation_43"&gt;Documentation:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: javadoc and code cleanup&lt;/li&gt;
&lt;li&gt;Doc: fix default domain label&lt;/li&gt;
&lt;li&gt;Doc: new FAQ entry on OSX auto start "Login Items"&lt;/li&gt;
&lt;li&gt;Doc: typos fixes from Raphael Fairise&lt;/li&gt;
&lt;li&gt;Doc: update release guide&lt;/li&gt;
&lt;li&gt;Doc: add a new mail.strictly_mime FAQ entry to enable quoted-printable&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="pop_7"&gt;POP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;POP: fix regression in TOP command&lt;/li&gt;
&lt;li&gt;POP: fix message termination, append CRLF only when necessary&lt;/li&gt;
&lt;li&gt;POP: replace deprecated write method, use DoubleDotOutputStream instead&lt;/li&gt;
&lt;li&gt;POP: allow space in username&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="ldap_16"&gt;LDAP:&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;LDAP: fix contact attributes reverse mapping&lt;/li&gt;
&lt;li&gt;LDAP: improve contact attribute mapping and add a few new properties&lt;/li&gt;
&lt;li&gt;LDAP: fix attribute map&lt;/li&gt;
&lt;li&gt;LDAP: fix regression after EWS refactoring&lt;/li&gt;
&lt;li&gt;LDAP: use imap uid as ldap uid&lt;/li&gt;
&lt;li&gt;LDAP: use PR_SEARCH_KEY instead of DAV:uid as uid string&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="osx_23"&gt;OSX:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Exclude growl from non OSX packages&lt;/li&gt;
&lt;li&gt;Fix growl build project name&lt;/li&gt;
&lt;li&gt;OSX: implement growl support&lt;/li&gt;
&lt;li&gt;include jnilib in OSX package&lt;/li&gt;
&lt;li&gt;libgrowl-0.2 with libgrowl.jnilib compiled on OSX Snow Leopard&lt;/li&gt;
&lt;li&gt;set libgrowl version to 0.2&lt;/li&gt;
&lt;li&gt;rename generated jar with version, exclude test classes and create Manifest with Michael Stringer author&lt;/li&gt;
&lt;li&gt;Improve Growl exception handling, remove System.out and a few fixes from audit&lt;/li&gt;
&lt;li&gt;Initial growl import from &lt;a href="http://forums.cocoaforge.com/viewtopic.php?f=6&amp;amp;t=17320" rel="nofollow"&gt;http://forums.cocoaforge.com/viewtopic.php?f=6&amp;amp;t=17320&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-366-2010-05-04"&gt;DavMail 3.6.6 2010-05-04&lt;/h2&gt;
&lt;p&gt;This release is mainly focused on IMAP enhancements, including IDLE (RFC2177)&lt;br/&gt;
aka "Push Mail" support and other protocol compliance fixes, particularly on&lt;br/&gt;
partial fetch. NTLMv2 is also supported thanks to the JCIFS library.&lt;/p&gt;
&lt;h3 id="documentation_44"&gt;Documentation:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: update doc and roadmap&lt;/li&gt;
&lt;li&gt;Doc: adjust settings message&lt;/li&gt;
&lt;li&gt;Doc: improve server/client certificates description&lt;/li&gt;
&lt;li&gt;Doc: new FAQ entry on message deleted over IMAP still visible through OWA&lt;/li&gt;
&lt;li&gt;Doc: fix maven site generation&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_44"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: send BAD instead of BYE on exception&lt;/li&gt;
&lt;li&gt;IMAP: fix 2992976, implement complex index and uid range in SEARCH&lt;/li&gt;
&lt;li&gt;IMAP: Handle exception during IDLE&lt;/li&gt;
&lt;li&gt;IMAP: add a new setting to enable/disable IDLE&lt;/li&gt;
&lt;li&gt;IMAP: use getRawInputStream instead of writeTo to avoid MIME message changes, cache message body in SharedByteArrayInputStream&lt;/li&gt;
&lt;li&gt;IMAP: poll folder every 30 seconds in IDLE mode, clear cached message&lt;/li&gt;
&lt;li&gt;IMAP: implement IDLE extension (RFC2177)&lt;/li&gt;
&lt;li&gt;IMAP: fix 2971184, do not decode content in partial fetch (replace getDataHandler with PartOutputStream)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements_46"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Exclude redline lib from distribution packages&lt;/li&gt;
&lt;li&gt;Use https in default Exchange url&lt;/li&gt;
&lt;li&gt;Make sure log messages are not localized&lt;/li&gt;
&lt;li&gt;Remove unused messageId field&lt;/li&gt;
&lt;li&gt;Do not shutdown connection manager on restart&lt;/li&gt;
&lt;li&gt;Allow Exchange server to use gzip compression&lt;/li&gt;
&lt;li&gt;Sample SocketAppender configuration&lt;/li&gt;
&lt;li&gt;Improve NTLM mode detection&lt;/li&gt;
&lt;li&gt;JCIFS based NTLMv2 implementation&lt;/li&gt;
&lt;li&gt;Hardcode /owa/ path in getAliasFromOptions and getEmailFromOptions for Exchange 2007, improve failure message&lt;/li&gt;
&lt;li&gt;Improve xmlEncode, use compiled static patterns&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_49"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: fix 2992811, missing timezones&lt;/li&gt;
&lt;li&gt;Caldav: fix 2991030 tasks disappeared&lt;/li&gt;
&lt;li&gt;Caldav: add VTODO to supported-calendar-component-set response&lt;/li&gt;
&lt;li&gt;Caldav: fix regression in getAllDayLine()&lt;/li&gt;
&lt;li&gt;Caldav: make shared calendar test case insensitive&lt;/li&gt;
&lt;li&gt;Caldav: 0 or no value in caldavPastDelay means no limit&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-365-2010-04-13"&gt;DavMail 3.6.5 2010-04-13&lt;/h2&gt;
&lt;p&gt;This release includes a major refactoring of the IMAP FETCH implementation&lt;br/&gt;
to improve performance and provide RFC compliant partial fetch. The Carddav&lt;br/&gt;
support sponsored by french DGA through project TrustedBird is now included&lt;br/&gt;
in the roadmap. Private events filter on shared calendar is also available&lt;br/&gt;
and DavMail can now retrieve proxy settings directly from system configuration.&lt;/p&gt;
&lt;h3 id="smtp_16"&gt;SMTP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;SMTP: implement AUTH LOGIN username (with optional initial-response, see RFC2554)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_45"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: Keep a single message in MessageList cache to handle chunked fetch, reenable maxSize in ImapConnection.&lt;/li&gt;
&lt;li&gt;IMAP: implement subparts partial fetch&lt;/li&gt;
&lt;li&gt;IMAP: Fix message write, double dot only for POP, not IMAP&lt;/li&gt;
&lt;li&gt;IMAP: Do not advertise not yet supported custom flags&lt;/li&gt;
&lt;li&gt;IMAP: fix from audit&lt;/li&gt;
&lt;li&gt;IMAP: major FETCH implementation refactoring, make code simpler and more efficient&lt;/li&gt;
&lt;li&gt;IMAP: add BODY.PEEK&lt;span&gt;[index]&lt;/span&gt; support&lt;/li&gt;
&lt;li&gt;IMAP: improve partial fetch support&lt;/li&gt;
&lt;li&gt;IMAP: fix 2962071, quote folder names in STATUS response&lt;/li&gt;
&lt;li&gt;IMAP: allow partial part fetch&lt;/li&gt;
&lt;li&gt;IMAP: fix regression on unknown parameter handling&lt;/li&gt;
&lt;li&gt;IMAP: implement part fetch (BODY&lt;span&gt;[1]&lt;/span&gt;) &lt;/li&gt;
&lt;li&gt;IMAP: detect unsupported parameter&lt;/li&gt;
&lt;li&gt;IMAP: fix 2973213, escape quotes in subject&lt;/li&gt;
&lt;li&gt;IMAP: fixes to improve JavaMail support&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="doc_3"&gt;Doc:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: move CardDav reference before architecture schema&lt;/li&gt;
&lt;li&gt;Doc: update project description in Maven pom and ant package&lt;/li&gt;
&lt;li&gt;Doc: update project description and RoadMap, announce CardDav support sponsored by french DGA through project Trustedbird&lt;/li&gt;
&lt;li&gt;Doc: update roadmap&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements_47"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Add a new setting to disable startup notification window (contribution from jsquyres)&lt;/li&gt;
&lt;li&gt;Improve getAliasFromOptions to retrieve alias with custom dn&lt;/li&gt;
&lt;li&gt;Workaround for NTLM authentication only on /public&lt;/li&gt;
&lt;li&gt;Add a new setting to retrieve proxies from system configuration&lt;/li&gt;
&lt;li&gt;Fix empty setting behavior: return null instead of empty string&lt;/li&gt;
&lt;li&gt;Sort properties file&lt;/li&gt;
&lt;li&gt;Fix new RPM ant task definition&lt;/li&gt;
&lt;li&gt;Improve public folder url check&lt;/li&gt;
&lt;li&gt;Experimental rpm package build&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="carddav_20"&gt;Carddav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Carddav: refactor folder handling code to prepart CardDav support&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_50"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: fix broken inbox, missing instancetype in search request and add is null in search query&lt;/li&gt;
&lt;li&gt;Caldav: do not try to access inbox on shared calendar (to avoid 440 login timeout errors and session reset)&lt;/li&gt;
&lt;li&gt;Caldav: exclude private events on shared or public calendar PROPFIND&lt;/li&gt;
&lt;li&gt;Caldav: fix regression on invalid events handling, just warn on broken events&lt;/li&gt;
&lt;li&gt;Caldav: drop timezone when converting allday events to client&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-364-2010-02-21"&gt;DavMail 3.6.4 2010-02-21&lt;/h2&gt;
&lt;p&gt;Well, yet another bugfix release, with improved IMAP support,&lt;br/&gt;
SMTP enhancements to support Eudora, NTLM proxy authentication&lt;br/&gt;
support and other bug fixes&lt;/p&gt;
&lt;h3 id="smtp_17"&gt;SMTP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;SMTP: fix 2953552, allow RSET in AUTHENTICATED state&lt;/li&gt;
&lt;li&gt;SMTP: bug id 2953554, implement NOOP&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="ldap_17"&gt;LDAP:&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;LDAP: Enable tray icon on LDAP connection&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="bug-fixes_1"&gt;Bug fixes:&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Fix regression in 3.6.3: basic authentication broken in checkConfig&lt;/li&gt;
&lt;li&gt;GUI: Fix client certificate setting switch&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements_48"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Change debian package dependence to accept openjdk-6-jre and libswt-gtk-3.5-java&lt;/li&gt;
&lt;li&gt;Fix from audit&lt;/li&gt;
&lt;li&gt;Improve log message on HTTP header error&lt;/li&gt;
&lt;li&gt;Implement NTLM HTTP proxy support&lt;/li&gt;
&lt;li&gt;Improve logging of expired sessions&lt;/li&gt;
&lt;li&gt;Support multiple forms in form based authentication logon page&lt;/li&gt;
&lt;li&gt;Catch error on SWT exit&lt;/li&gt;
&lt;li&gt;Enable NTLM on Proxy-Authenticate return code with only NTLM available&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="documentation_45"&gt;Documentation:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: Document davmailservice.exe usage&lt;/li&gt;
&lt;li&gt;Doc: Document Force ActiveSync setting in Getting Started&lt;/li&gt;
&lt;li&gt;Doc: Add an FAQ entry on DavMail settings location&lt;/li&gt;
&lt;li&gt;Doc: Update release notes and guide&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_46"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: new patch from Gellule to fix disappearing messages issue&lt;/li&gt;
&lt;li&gt;IMAP: rethrow SocketException after error in handleFetch&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_51"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: new fix for invalid events&lt;/li&gt;
&lt;li&gt;Caldav: add a hidden davmail.caldavDisableInbox to allow users to disable Caldav Inbox with Thunderbird 3 and Lightning&lt;/li&gt;
&lt;li&gt;Caldav: improve broken events logging&lt;/li&gt;
&lt;li&gt;Caldav: Follow redirects on GET with permanentUrl&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-363-2010-01-24"&gt;DavMail 3.6.3 2010-01-24&lt;/h2&gt;
&lt;p&gt;Another bugfix release, mostly documentation updates, some regressions&lt;br/&gt;
in 3.6.2 in error handling fixed, a new IMAP workaround to completely&lt;br/&gt;
hide the uid change issue, emacs IMAP support and new UI settings for&lt;br/&gt;
previously hidden parameters.&lt;/p&gt;
&lt;h3 id="bug-fix"&gt;Bug fix:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Fix logging settings handling in webapp mode&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements_49"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Improve error handling: detect SocketException to avoid client socket closed errors&lt;/li&gt;
&lt;li&gt;Implement file based (PKCS12 and JKS) client certificates in addition to smartcard support&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="documentation_46"&gt;Documentation:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: update roadmap&lt;/li&gt;
&lt;li&gt;Doc: remove replace token and search page&lt;/li&gt;
&lt;li&gt;Doc: added Gellule as Java Contributor&lt;/li&gt;
&lt;li&gt;Doc: add a security section in the FAQ&lt;/li&gt;
&lt;li&gt;Doc: update FAQ with Exchange prerequisites details&lt;/li&gt;
&lt;li&gt;Document client keystore file settings&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_47"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: brand new IMAP uid workaround and refresh folder on Expunge from Gellule&lt;/li&gt;
&lt;li&gt;IMAP: implement LIST "" "*%" for emacs&lt;/li&gt;
&lt;li&gt;IMAP: another fix for the message uid bump issue&lt;/li&gt;
&lt;li&gt;IMAP: fix 2934922, implement (NOT DELETED) in search filter&lt;/li&gt;
&lt;li&gt;IMAP: extend thunderbird changed uid workaround to all contexts&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="gui_3"&gt;GUI:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Add new setting davmail.defaultDomain to set default windows domain&lt;/li&gt;
&lt;li&gt;Prepare new advanced options&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_52"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: add davmail.forceActiveSyncUpdate option to the settings frame&lt;/li&gt;
&lt;li&gt;Caldav: add davmail.caldavAlarmSound option to the settings frame (used to force conversion of Caldav alarms to AUDIO supported by iCal)&lt;/li&gt;
&lt;li&gt;Caldav: fix 2884864, send notifications to all participants on CANCEL&lt;/li&gt;
&lt;li&gt;Caldav: Fix invalid event handling, exclude events from returned list&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="smtp_18"&gt;SMTP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;SMTP: implement RSET (reset) command to avoid connection timeout with Evolution&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-362-2010-01-11"&gt;DavMail 3.6.2 2010-01-11&lt;/h2&gt;
&lt;p&gt;New bugfix release, with improved OSX tray icon, Kontact&lt;br/&gt;
support, a new workaround for thunderbird IMAP no message error,&lt;br/&gt;
public folders on a separate server support, improved ActiveSync&lt;br/&gt;
support and some documentation enhancements.&lt;/p&gt;
&lt;h3 id="ldap_18"&gt;LDAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;LDAP: fix bug 2919463, escape quotes in search filter&lt;/li&gt;
&lt;li&gt;LDAP: fix Kontact ldap filter parsing, allow LDAP_FILTER_PRESENT in subfilter&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="documentation_47"&gt;Documentation:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: fix script replace&lt;/li&gt;
&lt;li&gt;Doc: new download and build pages&lt;/li&gt;
&lt;li&gt;Doc: update roadmap&lt;/li&gt;
&lt;li&gt;Doc: update doc&lt;/li&gt;
&lt;li&gt;Doc: add search icon&lt;/li&gt;
&lt;li&gt;Doc: Update roadmap&lt;/li&gt;
&lt;li&gt;Doc: Add roadmap to site menu&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_48"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: workaround for thunderbird random issue with no message found, keep previous message list to cope with recent message uid change.&lt;/li&gt;
&lt;li&gt;IMAP: try to support public folders hosted on a separate server (302 redirect on PROPFIND)&lt;/li&gt;
&lt;li&gt;IMAP: fix date parsing error, see bug 2878289&lt;/li&gt;
&lt;li&gt;IMAP: fix 2878289, implement extended MIME header search in &lt;a href="http://schemas.microsoft.com/mapi/string/" rel="nofollow"&gt;http://schemas.microsoft.com/mapi/string/&lt;/a&gt;{00020386-0000-0000-C000-000000000046}/ namespace&lt;/li&gt;
&lt;li&gt;IMAP: improve error logging on 500 internal server error&lt;/li&gt;
&lt;li&gt;IMAP: Improve error handling, do not fail on message retrieval error, just send error message&lt;/li&gt;
&lt;li&gt;IMAP: implement EXPUNGE untagged response on NOOP to avoid NO message not found on Exchange message message uid change&lt;/li&gt;
&lt;li&gt;IMAP: implement RFC822.HEADER for Sylpheed&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_53"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: do not send fake inbox for public calendars to iCal&lt;/li&gt;
&lt;li&gt;Caldav: id 2900599, implement optional attendees in notifications&lt;/li&gt;
&lt;li&gt;Caldav: fix bug 2896135, iCal login fails at iCal startup&lt;/li&gt;
&lt;li&gt;Caldav: Send root instead of calendar href as inbox to fix iCal regression&lt;/li&gt;
&lt;li&gt;Caldav: Exclude events with a null instancetype and no ICS content&lt;/li&gt;
&lt;li&gt;Caldav: Workaround for Lightning 1.0pre public calendar, send calendar href as inbox/outbox urls&lt;/li&gt;
&lt;li&gt;Caldav: Convert DISPLAY to AUDIO only if user defined an alarm sound in settings (davmail.caldavAlarmSound)&lt;/li&gt;
&lt;li&gt;Caldav: fix NullPointerException in notifications&lt;/li&gt;
&lt;li&gt;Caldav: Fix bug 2907350, multiple calendar support issue with iCal&lt;/li&gt;
&lt;li&gt;Caldav: another timezone fix&lt;/li&gt;
&lt;li&gt;Caldav: Improve error handling on invalid events&lt;/li&gt;
&lt;li&gt;Caldav: another timezone fix&lt;/li&gt;
&lt;li&gt;Caldav: do not return invalid message content&lt;/li&gt;
&lt;li&gt;Caldav: move failover for Exchange 2007 plus encoding issue to Exchange session&lt;/li&gt;
&lt;li&gt;Caldav: a brand new ActiveSync fix, set contentclass to make ActiveSync happy, but also set PR_INTERNET_CONTENT to preserve custom properties. Also get etag from updated event.&lt;/li&gt;
&lt;li&gt;Caldav: major refactoring, move all ICS methods to Event inner class&lt;/li&gt;
&lt;li&gt;Caldav: fix bug 2902358, encode messageUrl in PropPatch with forceActiveSyncUpdate=true&lt;/li&gt;
&lt;li&gt;Caldav: improve MIME message headers in createOrUpdateEvent&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="bugfixes_2"&gt;Bugfixes:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Fix last open session failover: do not append &lt;a class="user-mention" href="/u/hostname/"&gt;@hostname&lt;/a&gt; when alias contains @&lt;/li&gt;
&lt;li&gt;Revert to message url as default, use permanentUrl as failover&lt;/li&gt;
&lt;li&gt;Always use NTCredentials for proxy authorization&lt;/li&gt;
&lt;li&gt;Another NTLM fix: activate NTLM only on 401 unauthorized in executeGetMethod&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements_50"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Fix from audit (spelling errors)&lt;/li&gt;
&lt;li&gt;Add search page and change default package name for default svn builds&lt;/li&gt;
&lt;li&gt;Improve message logging&lt;/li&gt;
&lt;li&gt;Fixes from audit&lt;/li&gt;
&lt;li&gt;Additional Jsmooth settings&lt;/li&gt;
&lt;li&gt;Force flags parameter to 4 in Form Based Authentication&lt;/li&gt;
&lt;li&gt;Jsmooth patch to allow -X jvm options&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="osx_24"&gt;OSX:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;OSX: replace inverted active icon&lt;/li&gt;
&lt;li&gt;OSX: new Mac OS X only icons&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-361-2009-11-24"&gt;DavMail 3.6.1 2009-11-24&lt;/h2&gt;
&lt;p&gt;This is a bugfix release with fixed regressions from 3.6.0&lt;br/&gt;
and a few enhancements from user feedback.&lt;/p&gt;
&lt;h3 id="documentation_48"&gt;Documentation:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: switch download links to generic link&lt;/li&gt;
&lt;li&gt;Doc: Update roadmap&lt;/li&gt;
&lt;li&gt;Doc: add roadmap&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="bugfixes_3"&gt;Bugfixes:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Fix regression in Form Based Authentication: detect Exchange 2007 UserContext cookie&lt;/li&gt;
&lt;li&gt;Host is mandatory for NTLMScheme, get current hostname for proxy authentication&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements_51"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Experimental: reactivate NTLM authentication but leave authentication preemptive mode to allow basic authentication.&lt;/li&gt;
&lt;li&gt;Move PKCS11 registration to a separate class to avoid ClassNotFoundException&lt;/li&gt;
&lt;li&gt;Experimental OTP (token) based authentication&lt;/li&gt;
&lt;li&gt;Vista png icons support for JSmooth&lt;/li&gt;
&lt;li&gt;Fix from audit&lt;/li&gt;
&lt;li&gt;New upload-dist ant task to upload new release files&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_54"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: failover for Exchange 2007 plus encoding issue, search event by displayname to get permanent Url&lt;/li&gt;
&lt;li&gt;Caldav: Additional timezones&lt;/li&gt;
&lt;li&gt;Caldav: Revert commit 765, VTODO events have a null instancetype&lt;/li&gt;
&lt;li&gt;Caldav: additional timezone&lt;/li&gt;
&lt;li&gt;Caldav: Remove MAILTO: in addition to mailto: in getFreeBusy&lt;/li&gt;
&lt;li&gt;Caldav: Bug 2898469 do not UrlEncode draft url twice to avoid 404 not found on send event message&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-360-2009-11-15"&gt;DavMail 3.6.0 2009-11-15&lt;/h2&gt;
&lt;p&gt;This release contains a lot of enhancements, both bug fixes&lt;br/&gt;
and new features from user feedback on 3.5.0, including improved&lt;br/&gt;
Evolution LDAP support, LDAP abandon support (faster searches with&lt;br/&gt;
Evolution and OSX), experimental windows service wrapper, improved&lt;br/&gt;
form based authentication support and ENVELOPE IMAP command support.&lt;br/&gt;
I wish to thank Dan Foody for his valuable contributions on&lt;br/&gt;
OSX Snow Leopard support (attendee completion in iCal and complex&lt;br/&gt;
LDAP filters handling).&lt;br/&gt;
Also added an architecture schema on DavMail home page to quickly&lt;br/&gt;
describe DavMail features.&lt;/p&gt;
&lt;h3 id="ldap_19"&gt;LDAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;LDAP: implement cn=* filter for Evolution&lt;/li&gt;
&lt;li&gt;LDAP: run searches in separate threads to implement ABANDON, will make searches faster with some clients (Evolution and OSX address book)&lt;/li&gt;
&lt;li&gt;LDAP: implement startsWith on Contact search, only objectclass=* is a full search&lt;/li&gt;
&lt;li&gt;LDAP: fix for iCal4 attendee completion,  send localhost if current socket is local, else send fully qualified domain name&lt;/li&gt;
&lt;li&gt;LDAP: major refactoring from Dan Foody to improve complex filters handling&lt;/li&gt;
&lt;li&gt;LDAP: improve contact search, reencode uids to hex to avoid case sensitivity issues&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="documentation_49"&gt;Documentation:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: Set Dan Foody as main java contributor&lt;/li&gt;
&lt;li&gt;Doc: improve DavMail logo&lt;/li&gt;
&lt;li&gt;Doc: add new Logo, improve internet explorer compatibility&lt;/li&gt;
&lt;li&gt;Doc: Add an architecture schema on site welcome page&lt;/li&gt;
&lt;li&gt;Doc: Improve getting started documentation, explain Exchange 2003 and 2007 paths (/exchange/ and /owa/) &lt;/li&gt;
&lt;li&gt;Doc: fix site style&lt;/li&gt;
&lt;li&gt;Doc: fix maven site title&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="smtp_19"&gt;SMTP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;SMTP: fix by Marc Macenko, case sensitive RCPT TO: &lt;/li&gt;
&lt;li&gt;SMTP: allow lower case commands&lt;/li&gt;
&lt;li&gt;SMTP: experimental: remove Content-Type on create message to avoid 406 not acceptable with some Exchange servers.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="bugfixes_4"&gt;Bugfixes:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Fix 2887947: Exchange server with a username hidden field&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements_52"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Check for released version in a separate thread and set timeout to ten seconds&lt;/li&gt;
&lt;li&gt;Refactor message url encoding&lt;/li&gt;
&lt;li&gt;Upgrade Jmooth wrappers, add -Xrs jvm option to davmailservice wrapper to avoid service stop on user session logout (http://sourceforge.net/projects/jsmooth/forums/forum/297041/topic/2370742)&lt;/li&gt;
&lt;li&gt;Fix regression from revision 811&lt;/li&gt;
&lt;li&gt;Refactor ExchangeSession, use StringUtil to simplify code&lt;/li&gt;
&lt;li&gt;Remove username duplicate check, as formLogin now resets values before POST&lt;/li&gt;
&lt;li&gt;Start refactoring: StringUtil class&lt;/li&gt;
&lt;li&gt;Fix classpath in jsmooth wrappers to use new javamail&lt;/li&gt;
&lt;li&gt;Allow custom form with userid/pw fields in form based authentication&lt;/li&gt;
&lt;li&gt;Improve form based authentication, look for Exchange session cookies sessionid and cadata&lt;/li&gt;
&lt;li&gt;Fix test&lt;/li&gt;
&lt;li&gt;Upgrade JavaMail to 1.4.1&lt;/li&gt;
&lt;li&gt;New create folder method&lt;/li&gt;
&lt;li&gt;Fix FBA authentication, reset query string in getAbsoluteURI()&lt;/li&gt;
&lt;li&gt;New abstract JUnit test case class&lt;/li&gt;
&lt;li&gt;Detect redirect form instead of logon form, follow redirect to logon form&lt;/li&gt;
&lt;li&gt;Add an upload-site ant task&lt;/li&gt;
&lt;li&gt;Fixes from audit&lt;/li&gt;
&lt;li&gt;Fix settings default values and update doc&lt;/li&gt;
&lt;li&gt;Drop icon activity switches under 250ms to avoid fast flickering on OSX, add new switch icon in IMAP fetch iterations&lt;/li&gt;
&lt;li&gt;Improve script based form redirect to handle more cases&lt;/li&gt;
&lt;li&gt;Refactor ExchangeSession to allow independent session creation.&lt;/li&gt;
&lt;li&gt;Allow directory in logFilePath settings, add /davmail.log suffix in this case&lt;/li&gt;
&lt;li&gt;Allow follow redirects on /public GET requests&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_55"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: use permanenturl for Caldav to avoid encoding issues&lt;/li&gt;
&lt;li&gt;Caldav: do not close connection on 401 authorization required, may help iCal authentication&lt;/li&gt;
&lt;li&gt;Caldav: Additional Allday fix for Exchange 2007 and Outlook, implement a failover with a new davmail.timezoneId setting.&lt;/li&gt;
&lt;li&gt;Caldav: fix regression on create event, missing CRLF in mime message&lt;/li&gt;
&lt;li&gt;Caldav: Fix regression on public calendar folders linked to multiple calendar support for iCal&lt;/li&gt;
&lt;li&gt;Caldav: use chunked response to send calendar folder content as ICS to avoid timeout&lt;/li&gt;
&lt;li&gt;Caldav: Experimental GET ics on folder and fix regression on public folder access&lt;/li&gt;
&lt;li&gt;Caldav: get current VTIMEZONE body from OWA to create Allday events compatible with Outlook. Users still need to select the same Timezone in Outlook and OWA.&lt;/li&gt;
&lt;li&gt;Caldav: Fix Timezone value&lt;/li&gt;
&lt;li&gt;Caldav: Create a new setting davmail.forceActiveSyncUpdate to let users choose to force ActiveSync event. Note: custom iCal or Lightning ICS properties are lost if this option is enabled.&lt;/li&gt;
&lt;li&gt;Caldav: Some Exchange servers redirect to a different host for freebusy, use wide auth scope&lt;/li&gt;
&lt;li&gt;Caldav: Another fix from Dan Foody: improve dumpICS debug option&lt;/li&gt;
&lt;li&gt;Caldav: need to check session on each request, credentials may have changed or session expired&lt;/li&gt;
&lt;li&gt;Caldav: fix regression after ActiveSync patch, PROPPATCH on contentClass removes all custom ICS properties&lt;/li&gt;
&lt;li&gt;Caldav: improve getICSValue, do not return values inside VALARM section&lt;/li&gt;
&lt;li&gt;Caldav: do not send events with a null instancetype (may be the cause of iCal failure)&lt;/li&gt;
&lt;li&gt;CalDav: Send sub folders for multi-calendar support under iCal&lt;/li&gt;
&lt;li&gt;Caldav: fix path translation to Exchange for calendars in sub folders under /calendar&lt;/li&gt;
&lt;li&gt;Caldav: Added supported-calendar-component-set to calendar response&lt;/li&gt;
&lt;li&gt;Caldav: added a debug trace when requested calendar is not user calendar (maybe shared, but often url mistake in Caldav client)&lt;/li&gt;
&lt;li&gt;Caldav: fix Bug 2686125, PROPPATCH event after PUT to trigger activeSync PUSH, tested with iPhone 3 using activeSync&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_49"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: use permanenturl instead of href to avoid url encoding issues&lt;/li&gt;
&lt;li&gt;IMAP: Revert convert absolute IMAP path to relative path, breaks Caldav&lt;/li&gt;
&lt;li&gt;IMAP: Convert absolute IMAP path to relative path and detect ISA server cookie starting with cadata (instead of equals cadata)&lt;/li&gt;
&lt;li&gt;IMAP: use upper case NIL in ENVELOPE&lt;/li&gt;
&lt;li&gt;IMAP: improve MimeMessage handling, drop after fetch to avoid keeping full message in memory&lt;/li&gt;
&lt;li&gt;IMAP: fix new ENVELOPE feature, must return encoded values&lt;/li&gt;
&lt;li&gt;IMAP: implement store by id and ENVELOPE&lt;/li&gt;
&lt;li&gt;IMAP: update message flag only if changed to avoid unneeded message uid bump, may fix Evolution and Apple Mail constant reload issue&lt;/li&gt;
&lt;li&gt;IMAP: implement search by id&lt;/li&gt;
&lt;li&gt;IMAP: send default BODYSTRUCTURE on MIME encoding error&lt;/li&gt;
&lt;li&gt;IMAP: improve complex content-type handling in BODYSTRUCTURE&lt;/li&gt;
&lt;li&gt;IMAP: fix deleted flag handling, switch to official Exchange IMAP property &lt;a href="http://schemas.microsoft.com/mapi/id/" rel="nofollow"&gt;http://schemas.microsoft.com/mapi/id/&lt;/a&gt;{00062008-0000-0000-C000-000000000046}/0x8570&lt;/li&gt;
&lt;li&gt;IMAP: detect HttpNotFoundException on folder select&lt;/li&gt;
&lt;li&gt;IMAP: improve public folder error handling&lt;/li&gt;
&lt;li&gt;IMAP: fix space at end of folder name&lt;/li&gt;
&lt;li&gt;IMAP: Fix regression on LIST INBOX&lt;/li&gt;
&lt;li&gt;IMAP: experimental public folder access&lt;/li&gt;
&lt;li&gt;IMAP: switch to &lt;a href="http://schemas.microsoft.com/exchange/contentstate" rel="nofollow"&gt;http://schemas.microsoft.com/exchange/contentstate&lt;/a&gt; to handle deleted flag (DAV:isdeleted did not work with some Exchange servers).&lt;/li&gt;
&lt;li&gt;IMAP: implement undelete message&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-350-2009-09-22"&gt;DavMail 3.5.0 2009-09-22&lt;/h2&gt;
&lt;p&gt;This release improves OSX Snow Leopard support, thank to&lt;br/&gt;
contributions from Dan Foody. Contact searches are also&lt;br/&gt;
available now in addition to global address book searches&lt;br/&gt;
over LDAP. IMAP with iPhone should now work correctly with&lt;br/&gt;
most messages, Evolution IMAP read flag is fixed.&lt;br/&gt;
Also added an experimental windows service support&lt;br/&gt;
and a lot of other bug fixes and enhancements. &lt;/p&gt;
&lt;h3 id="doc_4"&gt;Doc:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: Fix FAQ whitespaces&lt;/li&gt;
&lt;li&gt;Doc: improve javadoc and code cleanup&lt;/li&gt;
&lt;li&gt;Doc: New OSX settings screenshot&lt;/li&gt;
&lt;li&gt;Doc: update release guide&lt;/li&gt;
&lt;li&gt;Doc: improve index and build doc&lt;/li&gt;
&lt;li&gt;Doc: detailed WIRE debug log file creation&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="windows_7"&gt;Windows:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Windows: Include DavMail service in windows package&lt;/li&gt;
&lt;li&gt;Windows: create windows service exe&lt;/li&gt;
&lt;li&gt;Windows: create windows service exe&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_50"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: test session expiration on each command, get a new session on expiration&lt;/li&gt;
&lt;li&gt;IMAP: improve error logging on network down&lt;/li&gt;
&lt;li&gt;IMAP: fix bug 2845530 implement FLAGS.SILENT command&lt;/li&gt;
&lt;li&gt;IMAP: fix absolute (public) path handling&lt;/li&gt;
&lt;li&gt;IMAP: fix BODYSTRUCTURE, build message on full buffer, do not rely on partial buffer (header, body, ...)&lt;/li&gt;
&lt;li&gt;IMAP: fix bug 2835529 FETCH with unordered range&lt;/li&gt;
&lt;li&gt;IMAP: send default BODYSTRUCTURE on mime parsing failure&lt;/li&gt;
&lt;li&gt;IMAP: Improve IMAP bodystructure error logging&lt;/li&gt;
&lt;li&gt;IMAP: Send bodystructure with headers for iPhone request (BODYSTRUCTURE BODY.PEEK&lt;span&gt;[HEADER]&lt;/span&gt;) &lt;/li&gt;
&lt;li&gt;IMAP: send BODY&lt;span&gt;[TEXT]&lt;/span&gt; for BODY.PEEK&lt;span&gt;[TEXT]&lt;/span&gt; request, may improve iPhone support&lt;/li&gt;
&lt;li&gt;IMAP: First fix for bug 2840255, do not follow redirects on message FETCH&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_56"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: fix conflict between X-MICROSOFT-CDO-BUSYSTATUS, X-MICROSOFT-CDO-ALLDAYEVENT and ORGANIZER ics patches&lt;/li&gt;
&lt;li&gt;Caldav: check credentials on each request&lt;/li&gt;
&lt;li&gt;Caldav: Disable broken sub calendar folders code&lt;/li&gt;
&lt;li&gt;Caldav: Do not fail on Inbox access denied, just return an empty folder&lt;/li&gt;
&lt;li&gt;Caldav: fix multi calendar Exchange path for sub folders&lt;/li&gt;
&lt;li&gt;Caldav: Experimental, fix sub calendar folders path&lt;/li&gt;
&lt;li&gt;Caldav: Experimental, send sub calendar folders on propfind with depth 1&lt;/li&gt;
&lt;li&gt;Caldav: Handle multi line description in calendar message body&lt;/li&gt;
&lt;li&gt;Caldav: merged contribution from Dan Foody,&lt;/li&gt;
&lt;li&gt;Caldav: convert sound to display alarms and back&lt;/li&gt;
&lt;li&gt;Caldav: remove additional organizer attendee line&lt;/li&gt;
&lt;li&gt;Caldav: remove RSVP=TRUE if PARTSTAT is not NEEDS-ACTION&lt;/li&gt;
&lt;li&gt;Caldav: add dump ICS logging feature&lt;/li&gt;
&lt;li&gt;Caldav: add a text/plain body to calendar messages&lt;/li&gt;
&lt;li&gt;Caldav: create a subject for calendar messages&lt;/li&gt;
&lt;li&gt;Caldav: fixed some encoding issues in Dan's code&lt;/li&gt;
&lt;li&gt;Caldav: Additional timezones&lt;/li&gt;
&lt;li&gt;Caldav: failover to DAV:comment instead of CALDAV:schedule-state on some Exchange servers&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ldap_20"&gt;LDAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;LDAP: iCal fix to suit both iCal 3 and 4:  move cn to sn, remove cn&lt;/li&gt;
&lt;li&gt;LDAP: iCal: do not send LDAP_SIZE_LIMIT_EXCEEDED on apple-computer search by cn with sizelimit 1&lt;/li&gt;
&lt;li&gt;LDAP: copy uid to apple-generateduid for iCal attendee search &lt;/li&gt;
&lt;li&gt;LDAP: Make sure we do not send empty description field, replace " \n" with null&lt;/li&gt;
&lt;li&gt;LDAP: fix thread name&lt;/li&gt;
&lt;li&gt;LDAP: exclude non contact entries from search, fiw map key and sn copy for iCal&lt;/li&gt;
&lt;li&gt;LDAP: fix contact search, do not send unrequested attributes&lt;/li&gt;
&lt;li&gt;LDAP: improve Contact search filter support&lt;/li&gt;
&lt;li&gt;LDAP: Additional Contact attributes&lt;/li&gt;
&lt;li&gt;LDAP: refactor contact find, generic attribute mapping&lt;/li&gt;
&lt;li&gt;LDAP: experimental contact search support&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="osx_25"&gt;OSX:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;OSX: Prepare hide from Dock option&lt;/li&gt;
&lt;li&gt;OSX: crazy workaround from Dan Foody to fix attendee search on OSX Snow Leopard&lt;/li&gt;
&lt;li&gt;OSX: iCal4 (OSX Snow Leopard fixes)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="bug-fixes_2"&gt;Bug Fixes:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Fix regression in Form Based Logon: fix script based logon URI creation with path and query&lt;/li&gt;
&lt;li&gt;Another network down fix: DavMailException is not network down&lt;/li&gt;
&lt;li&gt;Improve Form Based Logon: fix script based logon URI creation&lt;/li&gt;
&lt;li&gt;Improve Form Based Logon: use full URI instead of path in PostMethod, also force trusted=4&lt;/li&gt;
&lt;li&gt;Simplify HttpClient creation to avoid password decoding bug in commons httpclient ('+' in password decoded as ' ')&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements_53"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Improve HttpException error logging&lt;/li&gt;
&lt;li&gt;Fixes from checkStyle audit&lt;/li&gt;
&lt;li&gt;Adjust checkStyle settings&lt;/li&gt;
&lt;li&gt;Improve error handling on invalid URL&lt;/li&gt;
&lt;li&gt;Various fixes from FindBugs audit&lt;/li&gt;
&lt;li&gt;Fix from audit: synchronize access to HttpConnectionManager&lt;/li&gt;
&lt;li&gt;Refactor ExchangeSession: do not follow redirects with GET methods&lt;/li&gt;
&lt;li&gt;Fix from audit&lt;/li&gt;
&lt;li&gt;Do not pass DavMailAuthenticationException to handle network down&lt;/li&gt;
&lt;li&gt;Custom form (txtUserName, tstUserPass) support&lt;/li&gt;
&lt;li&gt;Another network down fix from Dan Foody&lt;/li&gt;
&lt;li&gt;Merged another patch from Dan Foody on network down detection&lt;/li&gt;
&lt;li&gt;New settings method: return log file directory&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-340-2009-08-14"&gt;DavMail 3.4.0 2009-08-14&lt;/h2&gt;
&lt;p&gt;This release includes iPhone 3 Caldav support, upgrade to SWT 3.5,&lt;br/&gt;
Palm Pre IMAP fixes, improved shared/public calendar support&lt;br/&gt;
and a lot of bug fixes.&lt;/p&gt;
&lt;h3 id="doc_5"&gt;Doc:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: Code cleanup and improve javadoc&lt;/li&gt;
&lt;li&gt;Doc: Update doc&lt;/li&gt;
&lt;li&gt;Doc: Upgrade maven site plugin and improve style&lt;/li&gt;
&lt;li&gt;Doc: Update maven pom inceptionYear&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="bug"&gt;Bug:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bug: Do not try to set Nimbus Look And Feel on Linux with Gtk&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements_54"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Remove NTLM authentication, breaks Basic authentication (missing domain in username)&lt;/li&gt;
&lt;li&gt;Set NTLM as last authentication scheme&lt;/li&gt;
&lt;li&gt;Experimental: reenable NTLM authentication&lt;/li&gt;
&lt;li&gt;Upgrade SWT to 3.5&lt;/li&gt;
&lt;li&gt;Use getFolderPath in getSubFolders&lt;/li&gt;
&lt;li&gt;Make API more consistent: createMessage must get a folder path, not URL&lt;/li&gt;
&lt;li&gt;Enhancement: Patch 2826966 from Eivind Tagseth, Make davmail.sh work from any location&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_51"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: Need to reset index for Palm pre&lt;/li&gt;
&lt;li&gt;IMAP: case insensitive search operators&lt;/li&gt;
&lt;li&gt;IMAP: Fix bug 2835529, implement SEARCH ALL SINCE for Palm Pre&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_57"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: improve error handling, 440 means 403 forbidden on Exchange&lt;/li&gt;
&lt;li&gt;Caldav: Fix shared calendar support for Lightning&lt;/li&gt;
&lt;li&gt;Caldav: additional patch for Outlook created recurring events&lt;/li&gt;
&lt;li&gt;Caldav: set X-MICROSOFT-CDO-BUSYSTATUS according to TRANSP field&lt;/li&gt;
&lt;li&gt;Caldav: implement a timezone translation table for iPhone 3, revert organizer patch (breaks notifications with Lightning)&lt;/li&gt;
&lt;li&gt;Caldav: another iPhone fix, remove organizer line if user is organizer&lt;/li&gt;
&lt;li&gt;Caldav: generic timezone patch for iPhone 3&lt;/li&gt;
&lt;li&gt;Caldav: remove empty ics properties&lt;/li&gt;
&lt;li&gt;Caldav: Remove calendar-proxy, only used for delegate calendars&lt;/li&gt;
&lt;li&gt;Caldav: try to improve responses for iCal&lt;/li&gt;
&lt;li&gt;Caldav: fix bug 2833044 Event not found error on dismissing reminders with events created in Outlook with a plus sign in subject&lt;/li&gt;
&lt;li&gt;Caldav: Experimental, add calendar-proxy DAV option and version in server header&lt;/li&gt;
&lt;li&gt;Caldav: Add missing allow OPTIONS header&lt;/li&gt;
&lt;li&gt;Caldav: improve public (shared) calendar support, accept calendars at any depth&lt;/li&gt;
&lt;li&gt;Caldav: set caldav logging to davmail logging level&lt;/li&gt;
&lt;li&gt;Caldav: updated fix, remove organizer line if event has no attendees for iPhone&lt;/li&gt;
&lt;li&gt;Caldav: remove organizer line if current user is organizer for iPhone, will not remove line for events with attendees&lt;/li&gt;
&lt;li&gt;Caldav: Improve principal -&amp;gt; actualPrincipal detection: use session alias instead of login&lt;/li&gt;
&lt;li&gt;Caldav: fix bug 2819028, case insensitive email in sendPrincipal test&lt;/li&gt;
&lt;li&gt;Caldav: iPhone compatibility, remove &amp;lt;c:comp name="VTODO"&amp;gt;&amp;lt;/c:comp&amp;gt;&lt;/li&gt;
&lt;li&gt;Caldav: iPhone workaround: send calendar subfolder&lt;/li&gt;
&lt;li&gt;Caldav: revert @ encoding, breaks iCal&lt;/li&gt;
&lt;li&gt;Caldav: iPhone fix, encode @ in Caldav response hrefs&lt;/li&gt;
&lt;li&gt;Caldav: untested, extended PROPFIND / response for iPhone 3.0&lt;/li&gt;
&lt;li&gt;Caldav: fix infinite loop with Sunbird 1.0pre with invalid credentials&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="smtp_20"&gt;SMTP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;SMTP: fix bug 2791607, do not patch message body (breaks electronic signature), no longer needed with latest Thunderbird&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-330-2009-07-22"&gt;DavMail 3.3.0 2009-07-22&lt;/h2&gt;
&lt;p&gt;This is a bug fix release after two beta releases,&lt;br/&gt;
including PKCS11 (smartcard) client certificate support,&lt;br/&gt;
gateway encryption (SSL) support, the new jackrabbit and httpclient libraries&lt;br/&gt;
and I18N support (french and english available).&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: updated caldav response headers according to gmail, added Expires and Cache-control HTTP headers&lt;/li&gt;
&lt;li&gt;POP3: implement NOOP command&lt;/li&gt;
&lt;li&gt;Doc: Update documentation header&lt;/li&gt;
&lt;li&gt;Doc: Add GPLv2 header to all source files&lt;/li&gt;
&lt;li&gt;Doc: Remove Apache license from checkstyle config file header&lt;/li&gt;
&lt;li&gt;IMAP: fix DELETED/UNDELETED SEARCH parameters&lt;/li&gt;
&lt;li&gt;IMAP: Fix bug 2822625: support index range in IMAP SEARCH&lt;/li&gt;
&lt;li&gt;Enhancements: Merged network down (with firewall) code from Dan Foody&lt;/li&gt;
&lt;li&gt;Caldav: Additional properties and ignore cases for Sunbird&lt;/li&gt;
&lt;li&gt;Caldav: Fix empty organizer field in ICS (active sync support) and another getParticipants bug&lt;/li&gt;
&lt;li&gt;GUI: Fix OSX menu default ActionListener&lt;/li&gt;
&lt;li&gt;GUI: Try to set Nimbus Look And Feel on Linux with Gtk&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-330b2-2009-06-29"&gt;DavMail 3.3.0b2 2009-06-29&lt;/h2&gt;
&lt;p&gt;This is a bug fix release, with nonetheless one main new feature:&lt;br/&gt;
PKCS11 (smartcard) client certificate support !&lt;br/&gt;
Tested with ActivIdentity ActivClient and Mozilla soft token, should&lt;br/&gt;
work with any PKCS11 module.&lt;/p&gt;
&lt;h3 id="security_4"&gt;Security:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;(RFE 2800206) PKCS11 (smartcard) client certificate support&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="server-daemon-mode"&gt;Server (daemon) mode:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Fix server mode: now all listener threads are daemon, avoid main thread exit and add a shutdown hook&lt;/li&gt;
&lt;li&gt;Name shutdown thread&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_58"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Move wire debug log with headers&lt;/li&gt;
&lt;li&gt;Fix NoSuchMethodError with Java 5&lt;/li&gt;
&lt;li&gt;revert supported-calendar-component-set on root and improve logging&lt;/li&gt;
&lt;li&gt;fix regression on iCal calendar color change&lt;/li&gt;
&lt;li&gt;only include attendees with RSVP=TRUE or PARTSTAT=NEEDS-ACTION for notifications (avoid iCal additional notifications)&lt;/li&gt;
&lt;li&gt;Improve error handling on FreeBusy failure&lt;/li&gt;
&lt;li&gt;add supported-calendar-component-set property requested by iPhone 3.0&lt;br/&gt;
 Sunbird compatibility, exclude events with empty names&lt;/li&gt;
&lt;li&gt;Fix for iCal: send etag on GET and HEAD requests&lt;/li&gt;
&lt;li&gt;Send empty response instead of error on freebusy with unknown attendee&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_52"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;revert refreshFolder calls that break Outlook&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="osx_26"&gt;OSX:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Remove default trayIcon listener on OSX&lt;/li&gt;
&lt;li&gt;Fixed logFilePath logic on OSX&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements_55"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Update ExchangeSession test&lt;/li&gt;
&lt;li&gt;Exclude optional log4j maven dependencies&lt;/li&gt;
&lt;li&gt;Added a logFilePath setting to set log4j file appender path, this appender is now added dynamically to avoid davmail.log file create failure&lt;/li&gt;
&lt;li&gt;Upgrade Log4J to 1.2.15&lt;/li&gt;
&lt;li&gt;Make sure we do exit: catch exceptions before System.exit&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="doc_6"&gt;Doc:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Document build process in FAQ&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="known-issues"&gt;Known issues:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Does not - yet - work with iPhone 3.0 Caldav&lt;/li&gt;
&lt;li&gt;Still issues with Exchange activeSync mode&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="davmail-330b1-2009-06-10"&gt;Davmail 3.3.0b1 2009-06-10&lt;/h2&gt;
&lt;p&gt;This release is mainly a deep refactoring: replaced deprecated &lt;br/&gt;
jakarta slide library with jackrabbit and upgrade httpclient.&lt;br/&gt;
Also added client to gateway encryption (SSL) support, started I18N&lt;br/&gt;
(french and english available) and many bug fixes and enhancements.&lt;/p&gt;
&lt;h3 id="i18n"&gt;I18N:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;I18N: FrameGatewayTray&lt;/li&gt;
&lt;li&gt;I18N: Format port numbers and add missing message&lt;/li&gt;
&lt;li&gt;I18N: improve startup log message&lt;/li&gt;
&lt;li&gt;I18N: remove Locale.ROOT not available under Java 1.5&lt;/li&gt;
&lt;li&gt;I18N: externalize and translate exception messages&lt;/li&gt;
&lt;li&gt;I18N: Do not apply i18n on log file&lt;/li&gt;
&lt;li&gt;I18N: french localization&lt;/li&gt;
&lt;li&gt;I18N: externalize all DavGatewayTray log statements for i18n&lt;/li&gt;
&lt;li&gt;I18N: ldap package&lt;/li&gt;
&lt;li&gt;I18N: davmail package&lt;/li&gt;
&lt;li&gt;I18N: start internationalization conversion&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="pop_8"&gt;POP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;POP: Defer message list after login phase and load only uid and size attributes&lt;/li&gt;
&lt;li&gt;POP: make sure the url is encoded correctly on delete&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="imap_53"&gt;IMAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;IMAP: Detect fetch of a missing (probably deleted) message to avoid infinite loop with Thunderbird&lt;/li&gt;
&lt;li&gt;IMAP: reset icon after each command&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="smtp_21"&gt;SMTP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;SMTP: fixed two bugs, header ignored because of Exchange 2007 from patch and bccbuffer &lt;br/&gt;
 double xml encoding (=&amp;gt; Delivery status notification)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ldap_21"&gt;LDAP:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;LDAP: improve ldap search logging&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="doc_7"&gt;Doc:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Add Mitchell V. Oliver as Java Contributor&lt;/li&gt;
&lt;li&gt;SSL certificate settings documentation in getting started&lt;/li&gt;
&lt;li&gt;Update OSX doc: credentials are mandatory in Directory Utility settings&lt;/li&gt;
&lt;li&gt;Add Eivind Tagseth as Java Contributor&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements_56"&gt;Enhancements:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Check java version in ant build.xml&lt;/li&gt;
&lt;li&gt;Fix ExchangeSession test&lt;/li&gt;
&lt;li&gt;Refactor DavProperty handling with new jackrabbit library&lt;/li&gt;
&lt;li&gt;Close idle connections to exchange after one minute&lt;/li&gt;
&lt;li&gt;Avoid 401 roundtrips&lt;/li&gt;
&lt;li&gt;Remove deprecated HttpException api&lt;/li&gt;
&lt;li&gt;Replace deprecated setRequestBody with setRequestEntity&lt;/li&gt;
&lt;li&gt;Refactor DavProperty handling with new jackrabbit library&lt;/li&gt;
&lt;li&gt;Update packaging and Maven POM after library update&lt;/li&gt;
&lt;li&gt;Major refactoring: replace deprecated jakarta slide with jackrabbit and upgrade httpclient&lt;/li&gt;
&lt;li&gt;Upgrade svnkit library&lt;/li&gt;
&lt;li&gt;Sort properties and display version in startup message&lt;/li&gt;
&lt;li&gt;Use interactive console certificate accept in headless and/or server mode&lt;/li&gt;
&lt;li&gt;Append svn build number to release name&lt;/li&gt;
&lt;li&gt;Additional login failover : get email from options page&lt;/li&gt;
&lt;li&gt;Replace greyscale inactive icon with a color icon&lt;/li&gt;
&lt;li&gt;Avoid nullpointerexception in Settings.setProperty&lt;/li&gt;
&lt;li&gt;Reinsert System.exit after clean shutdown to make sure we do exit&lt;/li&gt;
&lt;li&gt;Make all threads daemon and remove System.exit calls&lt;/li&gt;
&lt;li&gt;Patch 2790299 by Mitchell V. Oliver: Add support for SSL to client connections&lt;/li&gt;
&lt;li&gt;Remember previous checkConfig status to detect network down&lt;/li&gt;
&lt;li&gt;Fixes from audit&lt;/li&gt;
&lt;li&gt;Refactor email retrieval : do not throw IOException in failovers&lt;/li&gt;
&lt;li&gt;Implement BundleMessage.toString() for direct usage in Log4J logger&lt;/li&gt;
&lt;li&gt;Revert to simple class names in thread names&lt;/li&gt;
&lt;li&gt;Catch unknown host on session login&lt;/li&gt;
&lt;li&gt;Workaround for post logon script redirect&lt;/li&gt;
&lt;li&gt;Workaround for Exchange server misconfiguration: move galfind requests to mailPath or /exchange instead of /public&lt;/li&gt;
&lt;li&gt;Enhancements from audit&lt;/li&gt;
&lt;li&gt;Fix exchangeSession test class&lt;/li&gt;
&lt;li&gt;Improve BindException error message&lt;/li&gt;
&lt;li&gt;Cleanup from audit&lt;/li&gt;
&lt;li&gt;Improve exception handling&lt;/li&gt;
&lt;li&gt;Implement a last resort failover to build email from alias and domain name&lt;/li&gt;
&lt;li&gt;Limit redirects to 10 instead of 100&lt;/li&gt;
&lt;li&gt;Replace hardcoded strings&lt;/li&gt;
&lt;li&gt;Refactor SimpleDateFormat usage&lt;/li&gt;
&lt;li&gt;Reorganize packages&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="osx_27"&gt;OSX:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;OSX: replace JavaApplicationStub link with actual file&lt;/li&gt;
&lt;li&gt;OSX: Move davmail.log to Library/Logs/DavMail on OSX&lt;/li&gt;
&lt;li&gt;OSX: Improve Mac OSX Java6 support&lt;/li&gt;
&lt;li&gt;OSX: fix regression on OSX Quit handler&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="bugs-fixed"&gt;Bugs fixed:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Fix bug 2797272: Add disable update check&lt;/li&gt;
&lt;li&gt;Do not localize port numbers&lt;/li&gt;
&lt;li&gt;Replaced localhost check with the isLoopbackAddress() method, should be IPV6 compatible&lt;/li&gt;
&lt;li&gt;Fix regression : /exchange/ does not work for galfind under Exchange 2007&lt;/li&gt;
&lt;li&gt;Fixed 2717547: Unsupported filter attribute: apple-group-memberguid&lt;/li&gt;
&lt;li&gt;URI encode alias in getEmail()&lt;/li&gt;
&lt;li&gt;Fix SSLProtocolSocketFactory with HttpClient 3.1&lt;/li&gt;
&lt;li&gt;Reenable limited timeout on getReleasedVersion&lt;/li&gt;
&lt;li&gt;Always exclude NTLM authentication, not only for proxy authorization&lt;/li&gt;
&lt;li&gt;Fix 2717446 from Eivind Tagseth&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav_59"&gt;Caldav:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: fix unknown recipient message&lt;/li&gt;
&lt;li&gt;Caldav: do not send freebusy info if attendee is unknown&lt;/li&gt;
&lt;li&gt;Caldav: Improve calendar-color patch answer&lt;/li&gt;
&lt;li&gt;Caldav: implement HEAD request&lt;/li&gt;
&lt;li&gt;Improve network down detection for Caldav&lt;/li&gt;
&lt;li&gt;Caldav: No need to check connectivity on HTTPS&lt;/li&gt;
&lt;li&gt;Caldav: Fix Bug 2783595, allow empty lines in ICS content&lt;/li&gt;
&lt;li&gt;Caldav: Exclude RSVP=FALSE from notifications recipients list for Outlook 2003 compatibility&lt;/li&gt;
&lt;li&gt;Caldav: exclude invalid attendees address from recipient list&lt;/li&gt;
&lt;li&gt;Caldav: avoid duplicate / in event path&lt;/li&gt;
&lt;li&gt;Caldav: implement public shared calendar&lt;/li&gt;
&lt;li&gt;Caldav: In progress multi calendar support&lt;/li&gt;
&lt;li&gt;Caldav: fix regression in FreeBusy date handling&lt;/li&gt;
&lt;li&gt;Caldav: switch icon during event report&lt;/li&gt;
&lt;li&gt;Caldav: refactor CaldavConnection, prepare /public context&lt;/li&gt;
&lt;li&gt;Caldav: another special characters handling improvement&lt;/li&gt;
&lt;li&gt;Caldav: iCal decodes hrefs, not lightning =&amp;gt; detect client in CaldavRequest&lt;/li&gt;
&lt;li&gt;Caldav: replace etag by resourcetag in getCalendarEtag&lt;/li&gt;
&lt;li&gt;Caldav: Send events back to the client after each get on REPORT request (avoid iCal timeout)&lt;/li&gt;
&lt;li&gt;Caldav: no inbox/outbox for delegated calendars&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mickael Guessant</dc:creator><pubDate>Sat, 11 Nov 2023 12:13:19 -0000</pubDate><guid>https://sourceforge.netb87c99a76369771fd8800ef74d7fc36e7aab4f14</guid></item><item><title>DavMail 6.1.0 released</title><link>https://sourceforge.net/p/davmail/news/2023/03/davmail-610-released/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Ever wanted to get rid of Outlook ? DavMail is a POP/IMAP/SMTP/Caldav/Carddav/LDAP Exchange and Office 365&lt;br/&gt;
gateway allowing users to use any mail/calendar client (e.g. Thunderbird with Lightning or&lt;br/&gt;
Apple iCal) with an Exchange server, even from the internet or behind a firewall through&lt;br/&gt;
Outlook Web Access.&lt;br/&gt;
DavMail now includes an LDAP gateway to Exchange global address book and user personal&lt;br/&gt;
contacts to allow recipient address completion in mail compose window and full calendar&lt;br/&gt;
support with attendees free/busy display.&lt;br/&gt;
The main goal of DavMail is to provide standard compliant protocols in front of proprietary&lt;br/&gt;
Exchange. This means LDAP for global address book, SMTP to send messages, IMAP to browse&lt;br/&gt;
messages on the server in any folder, POP to retrieve inbox messages only, Caldav for&lt;br/&gt;
calendar support and Carddav for personal contacts sync.&lt;br/&gt;
Thus any standard compliant client can be used with Microsoft Exchange.&lt;br/&gt;
DavMail gateway is implemented in java and should run on any platform. Releases are tested&lt;br/&gt;
on Windows, Linux (Ubuntu) and Mac OSX. Tested successfully with the Iphone&lt;br/&gt;
(gateway running on a server).&lt;/p&gt;
&lt;p&gt;First release in a long time to publish pending changes, including Kerberos support fix, &lt;br/&gt;
experimental number matching support for upcoming Microsoft authenticator default configuration change,&lt;br/&gt;
store new refresh token received at authentication.&lt;br/&gt;
In addition, some Log4J specific patches to remove vulnerable classes from library&lt;br/&gt;
(even if DavMail is not impacted with standard configuration)&lt;/p&gt;
&lt;h3 id="o365"&gt;O365&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;O365: implement number matching logic in O365Authenticator&lt;/li&gt;
&lt;li&gt;O365: retrieve number matching value during phone app MFA&lt;/li&gt;
&lt;li&gt;O365: adjust logging level on O365 refresh token error&lt;/li&gt;
&lt;li&gt;O365: change persist token logic to store new refresh token after succesful refresh&lt;/li&gt;
&lt;li&gt;Experimental: store refreshed token when davmail.storeRefreshedToken=true&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="windows"&gt;Windows&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Windows: Add missing labelReplace active wait with wait/notifyAll in DavService&lt;/li&gt;
&lt;li&gt;Update winrun4j wrappers after lib upgrades&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="linux"&gt;Linux&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Linux: block davmail azul when davmail script is located under /usr/bin (package installed)&lt;/li&gt;
&lt;li&gt;Linux: fix PosixFilePermissions for writeable only by user&lt;/li&gt;
&lt;li&gt;Linux: try to make .davmail.properties file readable by user only on create&lt;/li&gt;
&lt;li&gt;Linux: improve launch script to take into account script location&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enhancements"&gt;Enhancements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Add missing label&lt;/li&gt;
&lt;li&gt;Replace active wait with wait/notifyAll&lt;/li&gt;
&lt;li&gt;Upgrade woodstox to 1.4.0 and jettison to 1.5.3&lt;/li&gt;
&lt;li&gt;Merge &lt;a href="https://github.com/mguessan/davmail/pull/225" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/225&lt;/a&gt; remove (most) http:// links in Maven POM&lt;/li&gt;
&lt;li&gt;Make ScheduledThreadPool thread daemon&lt;/li&gt;
&lt;li&gt;Switch to https for version check&lt;/li&gt;
&lt;li&gt;DavMailIdleConnectionEvictor fix from audit&lt;/li&gt;
&lt;li&gt;Refactor DavMailIdleConnectionEvictor to be less agressive on idle connection checks/purge and use scheduler instead of active polling&lt;/li&gt;
&lt;li&gt;Override SPNegoScheme to take into account DavMail kerberos settings&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="documentation"&gt;Documentation&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Sample syslog configuration&lt;/li&gt;
&lt;li&gt;Update current version in README.md&lt;/li&gt;
&lt;li&gt;OSX: remove reference to Growl in documentation&lt;/li&gt;
&lt;li&gt;Doc: security note on DavMail not vulnerable to CVE-2021-44228&lt;/li&gt;
&lt;li&gt;Doc: add a section on Fedora installation from copr&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="caldav"&gt;Caldav&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Caldav: Do not try to update modified occurrences on Mozilla thunderbird dismiss event&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="security"&gt;Security&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Security: Strip packaged log4j jar from JMSSink and JDBCAppender to ensure DavMail is not vulnerable to CVE-2022-23305 &amp;amp; CVE-2022-23302, see &lt;a href="https://github.com/mguessan/davmail/issues/250" rel="nofollow"&gt;https://github.com/mguessan/davmail/issues/250&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Remove JMSAppender, SMTPAppender and SocketServer from Log4J binary as an additional security measure (CVE-2019-17571 CVE-2021-4104), even if DavMail is not vulnerable with standard configuration&lt;/li&gt;
&lt;li&gt;Upgrade Log4J to latest version 1.2.17 in Winrun4J wrappers&lt;/li&gt;
&lt;li&gt;Upgrade Log4J to latest version 1.2.17&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mickael Guessant</dc:creator><pubDate>Sun, 19 Mar 2023 16:21:44 -0000</pubDate><guid>https://sourceforge.net8cd6a09ff1ab4d5d3b397f4f7aed07543b73fa86</guid></item><item><title>DavMail 6.0.1 released</title><link>https://sourceforge.net/p/davmail/news/2021/12/davmail-601-released/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Ever wanted to get rid of Outlook ? DavMail is a POP/IMAP/SMTP/Caldav/Carddav/LDAP Exchange and Office 365&lt;br/&gt;
gateway allowing users to use any mail/calendar client (e.g. Thunderbird with Lightning or&lt;br/&gt;
Apple iCal) with an Exchange server, even from the internet or behind a firewall through&lt;br/&gt;
Outlook Web Access.&lt;br/&gt;
DavMail now includes an LDAP gateway to Exchange global address book and user personal&lt;br/&gt;
contacts to allow recipient address completion in mail compose window and full calendar&lt;br/&gt;
support with attendees free/busy display.&lt;br/&gt;
The main goal of DavMail is to provide standard compliant protocols in front of proprietary&lt;br/&gt;
Exchange. This means LDAP for global address book, SMTP to send messages, IMAP to browse&lt;br/&gt;
messages on the server in any folder, POP to retrieve inbox messages only, Caldav for&lt;br/&gt;
calendar support and Carddav for personal contacts sync.&lt;br/&gt;
Thus any standard compliant client can be used with Microsoft Exchange.&lt;br/&gt;
DavMail gateway is implemented in java and should run on any platform. Releases are tested&lt;br/&gt;
on Windows, Linux (Ubuntu) and Mac OSX. Tested successfully with the Iphone&lt;br/&gt;
(gateway running on a server).&lt;/p&gt;
&lt;p&gt;Bugfix release with a few Office 365 enhancements&lt;/p&gt;
&lt;h3 id="o365"&gt;O365&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;O365: default to MSCAPI on windows for native client certificate access&lt;/li&gt;
&lt;li&gt;O365: name button Send instead of OK in manual authenticator dialog&lt;/li&gt;
&lt;li&gt;OS65: merge &lt;a href="https://github.com/mguessan/davmail/pull/158" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/158&lt;/a&gt; Added Copy to Clipboard button Manual auth dialog&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="linux"&gt;Linux&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Linux: improve "davmail azul" error handling&lt;/li&gt;
&lt;li&gt;Linux: Update changelog in RPM spec&lt;/li&gt;
&lt;li&gt;Linux: Fix RPM spec, remote source does not work&lt;/li&gt;
&lt;li&gt;Linux: Merge RPM spec contribution from michals on &lt;a href="https://build.opensuse.org" rel="nofollow"&gt;https://build.opensuse.org&lt;/a&gt;, check for systemd support and deploy the right service&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="hc4"&gt;HC4&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;HC4: make DavMail Kerberos configuration provider&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ews"&gt;EWS&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;EWS: merge &lt;a href="https://github.com/mguessan/davmail/pull/106" rel="nofollow"&gt;https://github.com/mguessan/davmail/pull/106&lt;/a&gt; Support servers only offering EWS/Services.wsdl instead of EWS/Exchange.asmx&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="documentation"&gt;Documentation&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Doc: Remove HttpClient migration warning&lt;/li&gt;
&lt;li&gt;Doc: instructions on standalone setup on Linux for best O365 support&lt;/li&gt;
&lt;li&gt;Update readme for Github home page&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mickael Guessant</dc:creator><pubDate>Fri, 03 Dec 2021 16:48:41 -0000</pubDate><guid>https://sourceforge.net842aa33537ca735ead55f4391917968313a51891</guid></item></channel></rss>