DavMail Changelog

What's new in DavMail 6.0.0 Build 3375

Jul 22, 2021
  • OSX:
  • OSX: completely drop Growl support
  • OSX: prepare possible path for an embedded jre mode
  • OSX: update universalJavaApplicationStub to latest version from https://github.com/tofi86/universalJavaApplicationStub/blob/master/src/universalJavaApplicationStub
  • Documentation:
  • Doc: merge Clarify the usage of imapIdleDelay https://github.com/mguessan/davmail/pull/116
  • Doc: add comment on IDLE and timeout setting
  • Doc: link to standalone windows package
  • Doc: fix Zulu link
  • Doc: remove references to Java 6 in documentation
  • Build:
  • Appveyor: update ant
  • Appveyor: build with jdk15
  • Appveyor: purge artifacts for all builds except jdk 8
  • Build: run Sonar with JDK 11
  • Update junit to 4.13.1 in Maven
  • Update junit to 4.13.1
  • Linux:
  • Linux: Experimental: download Azul JRE FX with command 'davmail azul'
  • Linux: merge https://github.com/mguessan/davmail/pull/133 Linux Gnome Desktop: fix systray support
  • Linux: Update service file to allow 0-1023 ports binding (https://github.com/mguessan/davmail/pull/117)
  • Windows:
  • Windows: switch standalone jre to Azul FX 15
  • Windows: create a standalone package with Azul JRE FX in order to have a working O365InteractiveAuthenticator
  • Winrun4J: prefer embedded VM for standalone package and export sun.net.www.protocol.https
  • Winrun4J: update binaries
  • Winrun4J: prepare standalone configuration
  • Windows: update winrun4j config to require Java >= 8
  • IMAP:
  • IMAP: fix thread handling from audit
  • IMAP: Compute body part size with failover
  • O365:
  • O365: log token file creation
  • O365: cleanup from audit
  • O365: Add davmail.oauth.tokenFilePath to sample properties file
  • O365: disable HTTP/2 loader on Java 14 and later to enable custom socket factory
  • O365: allow user agent override in O365InteractiveAuthenticator, switch default user agent to latest Edge
  • O365: with Java 15 url with code returns as CANCELLED
  • O365: MSCAPI and Java version 13 or higher required to access TPM protected client certificate on Windows
  • O365: merge first commit from https://github.com/mguessan/davmail/pull/134/ OAuth via ADFS with MFA support
  • O365: fix store refreshToken call
  • O365: introduce davmail.oauth.tokenFilePath setting to store Oauth tokens in a separate file
  • O365: switch to try with resource style
  • Drop explicit dependency to netscape.javascript package in O365InteractiveJSLogger
  • O365: follow redirects on ADFS authentication
  • HC4:
  • Refactor ExchangeSessionFactory, create HttpClientAdapter in session
  • HC4: update winrun4j binaries
  • HC4: drop HttpClient 3 dependency in Maven, winrun4j binaries and nsi setup
  • HC4: drop remaining HttpClient 3 classes
  • HC4: drop DavMailCookieSpec and DavGatewaySSLProtocolSocketFactory (merge in SSLProtocolSocketFactory)
  • HC4: drop DavGatewayHttpClientFacade and RestMethod
  • HC4: default to Edge user agent
  • HC4: Do not enable NTLM in Kerberos mode
  • HC4: switch checkConfig to HttpClient 4
  • HC4: merge HC4DavExchangeSession to DavExchangeSession
  • HC4: cleanup HC4ExchangeFormAuthenticator references
  • HC4: merge HC4ExchangeFormAuthenticator to ExchangeFormAuthenticator, extend authenticator interface to return HttpClientAdapter, switch to DavExchangeSession
  • HC4: switch O365 authenticators test code to HttpClient 4
  • HC4: adjust CreateItemMethod chunked call
  • HC4: switch ExchangeSessionFactory to HttpClient 4
  • HC4: add a warning about HttpClient 4 migration
  • HC4: Enable ssl logging in addition to wire with HttpClient 4
  • HC4: switch EWS implementation to HttpClient 4
  • EWS:
  • EWS: improve isItemId detection to match base 64 encoded id
  • EWS: drop NTLM as a failover logic
  • EWS: cleanup unused code now that we have a reliable way to retrieve email address with ConvertId
  • EWS: drop property davmail.caldavRealUpdate, no longer used
  • EWS: Improved uid handling from audit
  • EWS: Enable Woodstox workaround for malformed xml with latest Woodstox version
  • Enhancements:
  • Clear session pool on DavMail restart
  • Upgrade to Woodstox 6.2.0 as it's now available on debian, drop Woodstox patched StreamScanner
  • Caldav:
  • Caldav: merge https://github.com/mguessan/davmail/pull/139 Fix missing XML encode
  • Caldav: use Exchange timezone to compute event time in test case
  • Caldav: create test cases for recurring events

New in DavMail 5.5.0 Build 3293 (Apr 16, 2020)

  • This release contains a lot of bugfixes, enhancements and some user contributions from Github.
  • Most activity is related to HttpClient 4 refactoring, this will probably be the latest version based in HttpClient 3.
  • Minimum Java version is now 8, also dropped Growl support on MacOS.
  • Notable changes for end users are Oauth token persistence to avoid frequent O365 authentications and OIDC support for
  • Personal outlook accounts.
  • Known issues: some users reported regressions with form authentication, please report such regressions with log files.
  • IMAP:
  • IMAP: catch non IOException errors in FolderLoadThread
  • IMAP: fix https://github.com/mguessan/davmail/pull/91 Allow user name to be specified as [email protected] in addition to domainuser to access shared mailbox
  • IMAP: unquote CHARSET in IMAP search
  • IMAP: cleanup test cases
  • Documentation:
  • Doc: describe new Office 365 authentication modes
  • Doc: remove deprecated enableEWS reference
  • Doc: Document new connection modes in template davmail.properties
  • Doc: Add all time downloads badge
  • Doc: push sonarcloud badges
  • Enhancements:
  • Apply xml transformer settings recommended by Sonar
  • Dos2unix template davmail.properties file
  • Prepare migration to https://davmail.sourceforge.io
  • Settings: cleanup from audit
  • Latest edge user agent does not work, use Outlook 2013 instead
  • Convert HTTP code to Java 8
  • Cleanup from audit
  • Fix sonar detected vulnerability
  • Update to Java 8 and code cleanup
  • Comment HttpURLConnectionWrapper
  • Fix regression in AbstractServer
  • Remove unused label
  • Cleanup from audit at Java 8 language level
  • Security:
  • Enable TLSv1.1 and TLSv1.2
  • HttpClient 4:
  • HC4: httpClient is not shared between clients, do not track connection state to enable NTLM connection pooling
  • HC4: set default connection per route to 5
  • HC4: refactor Exchange 2007 test cases
  • HC4: Prepare switch, create a temporary HC4WebDav mode
  • HC4: ExchangeSession cleanup
  • HC4: unit test cleanup
  • HC4: make ExchangeSession independent of HttpClient implementation
  • HC4: remove reference to old HttpStatus in HttpClientAdapter
  • HC4: more HC4ExchangeFormAuthenticator refactoring and fixes
  • HC4: test form authentication failure
  • HC4: more DavExchangeSession refactoring
  • HC4: more form authenticator fixes
  • HC4: create ResponseWrapper interface for PostRequest and GetRequest
  • HC4: new executeFollowRedirect implementation and get user agent from settings
  • HC4: cleanup from audit and fix regression, need to follow redirect after OWA authentication
  • HC4: more authentication test case
  • HC4: Implement single thread connection evictor
  • HC4: improve PostRequest and RestRequest
  • HC4: implement executePostRequest with test case
  • HC4: new GetRequest implementation with test case
  • HC4: more request refactoring
  • Refactor RestRequest to use ResponseHandler mode only
  • Refactor TestHttpClientAdapter
  • HC4: improve RestRequest
  • HC4: remove old HttpException and move to HttpResponseException
  • HC4: switch to HttpGet
  • HC4: add buildHttpException to HttpClientAdapter
  • HC4: cleanup from audit
  • HC4: keep statusLine in request
  • HC4: cleanup to finalize migration
  • HC4: convert encodeAndFixUrl
  • HC4: Remove old HttpStatus dependency
  • Remove HttpException dependency
  • HC4: convert Head and Post methods
  • HC4: convert GetMethod to HttpGet
  • HC4: convert remaining http client 3 methods
  • HC4: Implement create/delete folder
  • HC4: implement Exchange WebDav search request
  • HC4: Fix initial uri in HttpClientAdapter
  • HC4: convert internalGetFolder
  • HC4: refactor TestCaldavHttpClient4
  • HC4: more test cases on session creation
  • HC4: convert getWellKnownFolders, first working version of session creation
  • HC4: convert checkPublicFolder
  • HC4: get httpClientAdapter from HC4ExchangeFormAuthenticator
  • HC4: Main test case for HC4DavExchangeSession
  • HC4: convert getEmailAndAliasFromOptions
  • HC4: convert getMailpathFromWelcomePage
  • HC4: baseline DavExchangeSession for HttpClient 4 migration
  • HTTP: Improve HttpClientAdapter, enable kerberos support according to setting
  • HttpClient4: improve HttpClientAdapter
  • HttpClient4: Test timeouts with proxy
  • Refactor TestHttpClient4 with try with resource
  • Caldav:
  • Caldav: fix https://github.com/mguessan/davmail/pull/88 EXDATE timezone issue
  • O365:
  • O365: fix https://github.com/mguessan/davmail/pull/92 failover for null query with non https URI
  • O365: refactor O365Authenticator and fix regressions
  • O365: switch to new executeFollowRedirect implementation
  • O365: refactor O365Authenticator
  • Refactor O365InteractiveJSLogger to work with more JDK versions
  • Test:
  • Test: improve notification dialog test
  • Test: Improve client certificate test
  • Improve getReleasedVersion test case
  • Test: Improve base test cases
  • Add new harmcrest-core junit dependency ant enable IMAP test cases
  • Test: update junit to 4.12
  • Run a SSL server socket
  • Test: cleanup code
  • Improve TestDavGateway
  • Make AbstractDavMailTestCase abstract
  • HttpClient: improve test cases
  • Build:
  • Fix file name for Appveyor trunk builds
  • Fix git svn warning
  • Try to get svn revision from git
  • Set jacoco path in sonar config
  • Fix test-compile language level
  • Upload coverage report to sourceforge for AppVeyor
  • Prepare Jacoco coverage report
  • Cleanup unused ant check
  • Exclude Sonar working directory from package
  • Appveyor: try to run sonar from Appveyor build
  • EWS:
  • EWS: make getPageSize static
  • EWS: merge PR Allow to configure EWS folder fetch page size https://github.com/mguessan/davmail/pull/79
  • EWS: fix response handling
  • EWS: fix O365Authenticator
  • EWS: fix regression in O365Token
  • EWS: handle malformed id_token
  • EWS: refactor authenticators to use davmail.enableOidc
  • EWS: create a new davmail.enableOidc setting tp switch to new v2.0 OIDC compliant endpoint https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison
  • EWS: Prepare OIDC support, add v2.0 url in interactive authenticator
  • EWS: Prepare OIDC support, decode id_token
  • EWS: enable davmail.oauth.persistToken by default
  • DAV:
  • DAV: MOVE returns SC_CONFLICT on missing target folder
  • Dav: Update to Java 8
  • SMTP:
  • SMTP: improve error message handling
  • SMTP: fix smtp test cases
  • LDAP:
  • LDAP: clean test case
  • LDAP: fix dn authentication
  • LDAP: Ber code cleanup from audit
  • LDAP: update LdapConnection to Java 8
  • LDAP: make parseIntWithTag protected to call it from LdapConnection
  • Use imported Ber implementation instead of com.sun.jndi.ldap
  • Import Ber implementation from OpenJDK to avoid compilation warnings
  • OSX:
  • OSX: drop Growl support

New in DavMail 5.4.0 Build 3135 (Nov 12, 2019)

  • Main new feature is experimental support for stored Oauth tokens with davmail.oauth.persistToken=true, tokens are stored encrypted with client provided password. Also improved SPECIAL-USE IMAP support and fixed a few regressions related to ExchangeSessionFactory refactoring and a lot of bug fixed from user feedback.
  • Enhancements:
  • Add sonar target to ant build
  • Sonar configuration
  • Add sonarqube-ant-task to lib
  • Throw NoSuchElementException in message iterator for iteration beyond the end of the collection
  • InterruptedException should not be ignored
  • CurrentVersion is never null
  • Make AbstractConnection abstract
  • Update default user agent to latest version of Edge on Windows
  • Add .gitignore file
  • Update StringEncryptor to Java 8
  • Update Maven and Ant build to Java 1.8
  • Drop Java 7 in travis config
  • Add {AES} prefix to encrypted strings
  • Improve StringEncryptor compatibility with older jdks
  • Ignore stream errors on disconnect, messages cleanup
  • Testcase for password based string encryptor
  • Implement password based string encryptor
  • Refactor settings save to preserve comments
  • Force Trusty in Travis config
  • Appveyor:
  • Appveyor: Update to ant 1.10.7
  • Appveyor: test JDK 12 and 13 build
  • Security:
  • Security: secure XML transformer
  • Security: Untrusted XML should be parsed without resolving external data
  • SWT:
  • SWT: Refactor the synchronisation mechanism to not use a Thread instance as a monitor
  • LDAP:
  • LDAP: Add a note to Thunderbird directory config on uid=username syntax
  • IMAP:
  • IMAP: implement RETURN (SPECIAL-USE) in IMAP list command, return special folders only, fix for https://sourceforge.net/p/davmail/bugs/721
  • IMAP: allow recursive search on public folders
  • Carddav:
  • Carddav: iOS does not support VCard 4, detect its old Carddav client and send VCard 3 content, exclude unsupported distribution list items
  • Caldav:
  • Caldav: do not try to send cancel notifications on shared and public calendars
  • EWS:
  • EWS: allow O365Manual in headless mode
  • EWS: implement command line mode for O365ManualAuthenticator, as suggested in https://github.com/mguessan/davmail/issues/48
  • EWS: exchangecookie is not a good check of successful authentication
  • EWS: detect direct EWS even if mode is different
  • EWS: experimental, store Oauth refresh tokens in davmail.properties when davmail.oauth.persistToken=true
  • EWS: fix /public and /archive folders access over EWS
  • EWS: improve O365Authenticator error detection
  • EWS: fix access to /public folder
  • EWS: Try to improve O365 authentication with ADFS tenants
  • Documentation:
  • Doc: fix trusterbird link on home page
  • SMTP:
  • SMTP: fix #720 Davmail returns 503 instead of 530 when trying to send mail before authentication

New in DavMail 5.3.1 Build 3079 (Aug 13, 2019)

  • Bugfix release to fix NTLM authentication for some Exchange on premise instances.
  • Also includes a new OSX handlers implementation required to support recent OSX JDKs.
  • Enhancements:
  • Reprocess credentials in addNTLM
  • Use github download link instead of direct sourceforge link in About dialog
  • Improve ExchangeFormAuthenticator logging
  • EWS:
  • EWS: fix possible bug with username with authenticatorClass
  • EWS: add an Open button to O365ManualAuthenticatorDialog in case links are not working
  • EWS: fix regression in OWA authentication mode, enable NTLM if required by EWS endpoint
  • OSX:
  • OSX: comment zulufx jre embed
  • OSX: prepare zulufx jre embed
  • OSX: drop old OSXAdapter
  • OSX: cleanup unused methods
  • OSX: no need to register QuitHandler, default is fine
  • OSX: implement new Desktop handlers on Java 9 and later, keep compatibility with com.apple.eawt.Application

New in DavMail 5.3.0 Build 3065 (Aug 8, 2019)

  • Enhancements:
  • Cleanup from audit
  • Update Maven POM
  • Implement a new davmail.userWhiteList setting to only allow limited users and/or domains, see https://github.com/mguessan/davmail/issues/47
  • Value is a comma separated list of emails or domains ([email protected] or @company.com)
  • Cleanup: remove duplicate code
  • IMAP:
  • IMAP: additional folder test case
  • IMAP: Fix #714 StringIndexOutOfBoundsException with NOT UID condition
  • IMAP: fix https://github.com/mguessan/davmail/issues/35, Result of of a mailbox search is different between search and uid_search
  • IMAP: try to encode invalid character ( and ) in keywords
  • IMAP: fix #708 issue, more generic patch when folder name starts with a special folder name
  • IMAP: fix #708 issue with folder name that starts with Inbox
  • IMAP: encode greater than character in folder name
  • HTTP:
  • Fix logger and remove old httpClient dependency in HttpClientAdapter
  • HTTP: Full Http Client 4 form authentication module
  • HTTP: experimental Http Client 4 authenticator
  • HTTP: Implement execute with custom local context and manage cookies
  • HTTP: cleanup from audit
  • HTTP: remove form authentication code from ExchangeSession
  • HTTP: Switch to new ExchangeFormAuthenticator
  • HTTP: adjust RestRequest for HttpClient 4 Exchange DAV requests
  • HTTP: implement HttpClient 4 Exchange DAV requests
  • HTTP: prepare major refactoring, extract form authentication from ExchangeSession
  • HTTP: migrate O365Token to HttpClient4
  • HTTP: remove last dependencies to HttpClient3 in URIUtil
  • HTTP: set logging levels for HttpClient 4
  • HTTP: improve request implementation
  • HTTP: move requests to new package
  • HTTP: improve REST request
  • HTTP: Accept String urls in GetRequest and PostRequest
  • HTTP: switch to GetRequest in getReleasedVersion
  • HTTP: Http Client 4 GET and POST request wrappers
  • HTTP: a few more test cases
  • HTTP: improve HttpClientAdapter interface
  • HTTP: switch check released version to HttpClient 4
  • HTTP: implement Get and Rest requests with HttpClient 4
  • HTTP: reenable basic proxy authentication on Java >= 1.8.111 in HttpClientAdapter
  • HTTP: reimplement URIUtil to prepare HttpClient 4 migration
  • HTTP: Cleanup from audit
  • HTTP: reenable basic proxy authentication on Java >= 1.8.111: jdk.http.auth.tunneling.disabledSchemes=""
  • HTTP: Implement JCIFS NTLM authentication with HttpClient 4
  • GUI:
  • GUI: translate disableTrayActivitySwitch messages
  • GUI: merge Add davmail.disableTrayActivitySwitch to disable tray icon activity, see https://github.com/mguessan/davmail/pull/28
  • EWS:
  • EWS: O365Manual add mode in Settings
  • EWS: O365Manual enable in ExchangeSessionFactory
  • EWS: O365Manual missing label
  • EWS: add davmail.oauth.tenantId setting to GUI and documentation
  • EWS: create a new davmail.oauth.tenantId setting to set actual company tenant
  • EWS: additional cases for Microsoft account authentication
  • EWS: refactor O365 interactive to always use an HttpURLConnectionWrapper
  • EWS: Fix error handling in manual authentication failover
  • EWS: fix NPE in manual authenticator
  • EWS: do not force user agent in O365 interactive authenticator, breaks Microsoft login form browser detection
  • EWS: improve Okta support in O365 interactive authenticator
  • EWS: prepare tenant independent authenticator: do not hard code /common/
  • EWS: always enable interactive authenticator in settings now that we have a failover without JavaFX
  • EWS: i18n manual authentication messages
  • EWS: Prepare a failover manual authenticator when OpenJFX is not available
  • EWS: merge https://github.com/mguessan/davmail/pull/26, Added input names for form authentication
  • EWS: do not call addNTLM in ExchangeSessionFactory to avoid kerberos configuration conflict
  • EWS: fix regression to correctly detect network down
  • EWS: fix regression, do not force user-agent in 0365 interactive authenticator
  • EWS: cleanup from audit
  • EWS: O36 authenticators cleanup from audit
  • EWS: use ConvertId to retrieve current mailbox primary SMTP address, more reliable than ResolveNames
  • EWS: migrate O365Authenticator to HttpClient 4
  • EWS: remove duplicate code in O365 interactive authenticator
  • EWS: improve interactive authenticator, adjust integrity workaround for Okta
  • EWS: improve interactive authenticator, adjust integrity workaround and catch javascript errors
  • EWS: Apply integrity disable workaround to Okta form second step
  • EWS: use URIBuilder instead of URIUtil to build URI
  • EWS: fix support for new Okta authentication form, need to disable integrity check
  • EWS: drop old Autodiscover failover, need to implement before authentication instead
  • EWS: log connection errors in O365InteractiveAuthenticator
  • EWS: new AutoDiscoverMethod implementation
  • EWS: improve O365 token logging
  • Documentation:
  • Doc: fix title in page
  • Doc: improved site skin with collapsible sidebar
  • Doc: upgrade Maven Javadoc plugin
  • Doc: Switch to modern responsive Maven fluido skin
  • Doc: Switch to modern responsive Maven reflow skin
  • DAV:
  • DAV: cleanup from audit
  • DAV: remove dependency to old URIException
  • Caldav:
  • Caldav: cleanup from audit
  • Caldav: send 404 not found instead of 400 for unknown requests
  • Caldav: Do not try to update event is X-MOZ-FAKED-MASTER is set
  • Caldav: fix test case
  • OSX:
  • OSX: merge patch #54 Set NSSupportsAutomaticGraphicsSwitching to Yes to prevent macOS GPU access
  • SWT:
  • SWT: merge duplicate code

New in DavMail 4.8.6 Build 2600 (Jun 15, 2018)

  • IMAP:
  • IMAP: Fix #631 IMAP SEARCH CHARSET US-ASCII fails
  • Caldav:
  • Caldav: fix #687 can't move event to trash in a shared mailbox
  • Caldav: fix multivalued field update, send DeleteItemField instead of SetItemField with an empty value when field has no value, should fix bug #682
  • Caldav: Detect X-MOZ-LASTACK and X-MOZ-SNOOZE-TIME updates to avoid sending notifications on dismiss with Thunderbird
  • Documentation:
  • Doc: update roadmap
  • Enhancements
  • Fix #476, try to avoid deadlock with a connection manager object lock
  • Fix #456 longstanding proxy handling issue
  • Update spec file
  • Add GPLv2 license at root

New in DavMail 4.8.5 Build 2589 (Apr 12, 2018)

  • Caldav:
  • Caldav: test notification dialog
  • Caldav: do not throw exception on invalid email in getFreeBusyData
  • Caldav: EWS isorganizer is Exchange 2013 and later only, switch to myresponsetype
  • Caldav: fix #306, do not try to retrieve textbody on Exchange < 2013
  • Caldav: do not try to update etag if latest response item is empty
  • Caldav: fix #679, invalid date exception on recurring event with an end date update
  • Caldav: fix #346, map America/Chicago to Central Standard Time instead of Central America Standard Time
  • Enhancements:
  • Drop redline library
  • Disable tray on Gnome
  • Drop platform specific Linux packages, drop SWT on windows, remove dist-rpm (user build.opensuse.org instead), upgrade SWT to 4.6 on Linux
  • Upgrade htmlcleaner to 2.21, see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=891916
  • Fix popMarkReadOnRetr setting save
  • Update winrun4j wrappers
  • Documentation:
  • Doc: cleanup supported versions

New in DavMail 4.8.2 Build 2524 (Jan 16, 2018)

  • EWS Caldav refactoring in progress, enabled through new davmail.caldavRealUpdate setting
  • to avoid regressions as seen in 4.8.1.
  • Caldav:
  • Caldav: EWS refactoring, handle mozilla alarm fields
  • Caldav: EWS refactoring, implement modified occurrences
  • Caldav: EWS refactoring, implement excluded dates (deleted occurrences)
  • Caldav: optionally enable new EWS caldav implementation with davmail.caldavRealUpdate
  • Caldav: Improve meeting response detection to avoid NullPointerException
  • Caldav: EWS refactoring, implement reminder update

New in DavMail 4.8.0 Build 2479 (Mar 24, 2017)

  • Enhancement:
  • Use Office365 url as default davmail.url value
  • Remove Sun (Oracle) JDK dependency in unit test
  • Experimental: compile Junit tests
  • Change default url to https://outlook.office365.com/EWS/Exchange.asmx
  • Log all connections disconnect
  • Log all connections and logon success / failure
  • Improve TLS settings: disable Client-initiated TLS renegotiation with jdk.tls.rejectClientInitiatedRenegotiation and force strong ephemeral Diffie-Hellman parameter with jdk.tls.ephemeralDHKeySize
  • Remove sun.security.ssl.allowUnsafeRenegotiation=true system property as it's hopefully no longer required by iCal
  • Fix broken davmailservice64.exe
  • Documentation:
  • Doc: document IMAP tags to Exchange categories custom mappings
  • Doc: Add TLS settings documentation from support request #289
  • Doc: fix maven generated site dash encoding
  • Caldav:
  • Caldav: Fix #643 VTODO PRIORITY 0 fails, map it to Normal importance
  • Caldav: accept all meeting item types in calendar (MeetingMessage, MeetingRequest, MeetingResponse, MeetingCancellation)
  • Caldav: fix #639, task description is not visible in Thunderbird, try to get description from text body
  • Caldav: fix #628, remove METHOD: PUBLISH from events retrieved from Exchange
  • 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)
  • Caldav: Additional recurrence search test
  • IMAP:
  • IMAP: flags to category conversion unit tests and make standard flags case insensitive
  • IMAP: make IMAP flag to category lookup case insensitive
  • IMAP: fix huge cache issue, chunk IMAP fetch triggers multiple full message download
  • IMAP: fix regression after #41 IMAP wildcard LIST supportwith unit test
  • IMAP: apply patch #41 IMAP wildcard LIST supportwith unit test
  • IMAP: mark message seen only if unseen
  • IMAP: fix #629 Read email doesn't stay read. According to IMAP RFC: The Seen flag is implicitly set
  • IMAP: merge patch from #634, copy mail doesn't preserve tag/category
  • IMAP: fix regression in mime message handling and rename mimeBody to mimeContent
  • IMAP: Fix #633 Compatibility with javamail 1.5.6, store byte array instead of SharedByteArrayInputStream
  • Carddav:
  • Carddav: do not send empty EmailAddresses collection tag
  • EWS:
  • EWS: Change isrecurring property to PidLidRecurring (0x8223)
  • EWS/Webdav: implement exists filter condition
  • SWT:
  • SWT: Try to detect if system tray is indeed available
  • OSX:
  • OSX: Update universalJavaApplicationStub to version 2.0.1
  • OSX: Upgrade jarbundler to 3.3.0
  • SMTP:
  • SMTP: append a line feed to avoid thunderbird message drop

New in DavMail 4.7.3 Build 2438 (Jan 20, 2017)

  • Enhancement:
  • Improve windows installer, make auto start at logon optional
  • Update release guide with opensuse build env
  • update icon cache
  • Update winrun4j wrappers icon to 128x128
  • EWS:
  • EWS: workaround for invalid cookie domain on Office365
  • DAV:
  • DAV: merge patch from #232 Outlook-created appt does not go through. OWA-created one does
  • IMAP:
  • IMAP: additional fix for #626, workaround for from: header not searchable over EWS
  • IMAP: fix for #626, workaround for to: header not searchable over EWS
  • SMTP:
  • SMTP: Merge patch 627 by Peter Chubb, server returns incorrect code on authentication failure

New in DavMail 4.7.2 Build 2427 (Jun 26, 2016)

  • Bug fix release, detect Exchange throttling to temporarily block requests and a few Carddav fixes.
  • EWS:
  • EWS: handle Exchange throttling, suspend all requests according to server provided delay
  • EWS: send DavMailException instead of authentication exception on EWS not available error
  • Enhancements:
  • 128x128 DavMail icon
  • Add a new davmail.httpMaxRedirects setting
  • DAV: add a hidden davmail.disableNTLM setting
  • Carddav:
  • Carddav: fix another regression on contact create with empty field
  • Carddav: remove email over EWS unit test
  • Carddav: fix email address removal over EWS

New in DavMail 4.7.1 Build 2416 (Jan 8, 2016)

  • Enhancement:
  • Improve NTLM support try to send hostname as workstation name instead of UNKNOWN
  • Fix notification dialog message
  • Prepare ExchangeSessionFactory refactoring
  • Fix typo in french translation
  • Fix broken Sourceforge link in About dialog
  • Carddav:
  • Carddav: fix regression on contact update with empty field triggering DeleteItemField

New in DavMail 4.7.0 Build 2408 (Nov 29, 2015)

  • Caldav:
  • Caldav: Map additional priority levels
  • Caldav: fix missing LAST-MODIFIED in events
  • Enhancements:
  • Improved tray icon with alpha blend
  • Fix imports
  • Prepare mutual SSL authentication between client and DavMail implementation
  • Implement -notray command line option as a workaround for broken SWT and Unity issues
  • Change warning messages to debug in close method
  • Improve client certificate dialog, build description from certificate
  • Exclude client certificates not issued by server provided issuers list
  • IMAP:
  • IMAP: Additional translations and doc for new IMAP setting
  • IMAP: Merge patch by Mauro Cicognini, add a new setting to always send approximate message in RFC822.SIZE to avoid downloading full message body
  • IMAP: fix regression with quotes inside folder names
  • IMAP: handle quotes inside folder names correctly
  • OSX:
  • OSX link local address on loopback interface
  • Exclude arguments starting with dash to avoid patch 38 regression on OSX
  • Documentation:
  • Doc: Document -notray option
  • Switch to OpenHub instead of Ohloh
  • EWS:
  • EWS: prepare distribution list implementation
  • Fix #254 davmail.exchange.ews.EWSException: ErrorIncorrectUpdatePropertyCount
  • Carddav:
  • Carddav: Test case for comma in ADR field
  • Carddav: Do not replace comma on ADR field, see support request 255
  • Caldav: Ignore missing END:VCALENDAR line on modified occurrences
  • CardDav: Add empty property test case

New in DavMail 4.6.2 Build 2377 (Aug 20, 2015)

  • Packaging:
  • Compute distribution packages checksums
  • Maven: set mimimum Maven version and fix FindBugs filter
  • Maven: add Gtk lib in repo to avoid ClassNotFound
  • Maven: exclude non DavMail classes from FindBugs report
  • Maven: Update POM to Maven 3
  • Separate prepare-dist ant task
  • Separate jar ant task
  • RPM: Change log for 4.6.1 and remove ant-nodeps dependency for Fedora >=19 compatibility
  • RPM: first step to a noarch package, externalize SWT dependency
  • RPM: Add rcdavmail link, mark logrotate config file
  • RPM: Fix License and URL
  • Enhancements:
  • Fix davmailconsole.exe
  • Switch to TLS in DavGatewaySSLProtocolSocketFactory
  • Improve refresh folder logic, ctag stamp is limited to second, check message count
  • Try to support Citrix NetScaler authentication form
  • Improve Java version check
  • Update compile level to 1.6
  • Remove unneeded catch section
  • WebDav:
  • DAV: avoid NullPointerException trying to access Exchange 2013 in Dav mode
  • IMAP:
  • IMAP: refactor IMAP test cases
  • IMAP: ignore Draft flag on update, Draft is readonly after create
  • IMAP: fix new IMAP tokenizer
  • IMAP: rewrite tokenizer to manage quoted folder names and complex search
  • IMAP: Fix #591 Properly escape quotes in folder names
  • IMAP: additional IMAP test cases
  • EWS:
  • EWS: davmail.enableChunkedRequest default value is now false, as IIS does not support chunked requests
  • EWS: Make chunked content optional in CreateItemMethod with new davmail.enableChunkedRequest property
  • Use EWS path in davmail.properties template file
  • Doc:
  • Doc: add Indicator SystemtrayUnity to linux doc
  • Fix Javadoc
  • OSX:
  • OSX: merge patch 38, allow commandline options to run multiple instances.
  • SMTP:
  • SMTP: use content chunk to send large messages

New in DavMail 4.6.1 Build 2343 (Feb 18, 2015)

  • Bugfix release to fix recent regression with Office 365,
  • also includes a few Linux and IMAP enhancements.
  • SWT:
  • SWT: improve tray init, preload image and add a delay on first message
  • Enhancements:
  • Add a few more logging statements
  • IMAP:
  • Fix #36 Endless loop when using IMAP IDLE feature with SSL sockets, replaced thread sleep with a short timeout on socket read
  • EWS:
  • EWS: update checkEndPointUrl, send get root folder request instead of static wsdl request no longer available on Office365

New in DavMail 4.6.0 Build 2331 (Jan 28, 2015)

  • Bugfix release with many IMAP enhancements over EWS, implement batch move items, also includes a brand new generic OSX package to handle new OSX java behaviour.
  • OSX:
  • OSX: refactor OSX package based on universalJavaApplicationStub
  • Replace Java application stub with https://github.com/tofi86/universalJavaApplicationStub/blob/master/src/universalJavaApplicationStub
  • Doc:
  • Doc: update OSX setup documentation
  • Doc: additional Linux instructions for Ubuntu 14
  • Fix #31 A typo in davmail.properties example
  • EWS:
  • EWS: improve main calendar folder test
  • EWS: fix batch move
  • EWS: Adjust paged search for folders
  • EWS: implement batch move items
  • EWS: improve folder paged search
  • Prepare batch move implementation
  • EWS: force NTLM in direct EWS mode
  • EWS: implement batch move method
  • EWS: switch to GetMethod to check endpoint
  • EWS: take paging into account in appendSubFolders
  • EWS: fix ErrorExceededFindCountLimit on FindFolder requests
  • EWS: avoid NullPointerException in fixAttendees
  • IMAP:
  • IMAP: fix 587 log and skip broken messages
  • Caldav
  • Caldav: fix #98 Support of Contacts in CardDav REPORT
  • Fix #35 duplicates in updated reoccurring events
  • Enhancements
  • Fix potential CVE-2014-3566 vulnerability
  • From audit: remove throws statement
  • Adjust KerberosHelper logging message
  • Fix for #534 Kerberos Authentication doesn't seem to be work cross domain
  • LDAP:
  • LDAP: reset icon after search

New in DavMail 4.5.1 Build 2303 (Jul 22, 2014)

  • Bugfix release to fix Exchange 2013 regressions and wrong Europe/London timezone mapping.
  • DAV:
  • DAV: Another email address failover
  • Caldav:
  • Caldav: Fix GMT Standard Time mapping to Europe/London
  • More timezones
  • Caldav: do not request additional properties for MeetingCancellation and MeetingResponse
  • Caldav: merge 33, apply myresponsetype partstat on all Exchange versions
  • Caldav: fix 569 and patch 32, avoid NullPointerException with Exchange 2013
  • EWS:
  • EWS: Avoid null in log message
  • Enhancements:
  • Merge patch 34: Fix false positive when searching for user alias and email
  • Doc:
  • Update FAQ on EWS endpoint not available error

New in DavMail 4.5.0 Build 2292 (Jun 4, 2014)

  • EWS: adjust declined item handling
  • EWS: used paged search with static search condition, send a single request when folderSizeLimit is enabled
  • EWS: Allow Item and PostItem elements in message folders
  • EWS: Improve Exchange 2013 support
  • EWS: avoid mime content String conversion
  • EWS: Improve javadoc and make ItemId serializable
  • EWS: expect UTF-8 in options responses
  • EWS: remove unused field
  • EWS: Force encoding in mimeContent decode
  • EWS: Avoid /owa form request in direct EWS mode
  • Documentation:
  • Add davmail.defaultDomain to template properties file
  • Doc: Change default port in Thunderbird directory config screenshot
  • Update settings image
  • IMAP:
  • IMAP: fix 564, Moving / copying messages in public mailbox
  • IMAP: implement separate thread folder load on STATUS request to avoid client timeouts
  • IMAP: fix 209, use isEqualTo instead of contains to search keywords on Exchange 2010
  • IMAP : various enhancements from audit, switch to enum and avoid NullPointerException
  • OSX:
  • OSX: force working directory to application root
  • Enhancements:
  • Upgrade svnkit to 1.8
  • Update WinRun4J wrappers
  • Upgrade WinRun4J to 0.4.5
  • Kerberos: make sure access to client login context is synchronized
  • Kerberos: synchronize access to clientLoginContext
  • Make MessageWrapper static
  • Revert Java 7 only changes
  • Do not try WebDav mode if owa url ends with /ews/exchange.asmx
  • Additional code fixes from audit, do not try to get time zone from options page in direct EWS mode
  • Force encoding in message create thread
  • Prepare WoodStox Xml10AllowAllEscapedChars setting implementation
  • Apply Base64 refactoring to all classes
  • Apply new base64 methods to CaldavConnection
  • Refactor base64 encode/decode methods
  • Improve contact picture error handling
  • Improve session factory log statements
  • Avoid null in log statement
  • New experimental davmail.exchange.maxConnections setting to limit concurrent connections to Exchange server
  • Caldav:
  • Caldav: fix bug in VCalendar dtend check
  • POP:
  • Refactor PopConnection, use enumeration instead of int
  • Coverity:
  • From coverity: listFiles may return null
  • From coverity: avoid null dereference in VProperty
  • From coverity: avoid null dereference in getFolderPath
  • From coverity: check null image in FrameGatewayTray
  • From coverity: more encoding fixes
  • From coverity: synchronize HttpClient cookies access
  • From coverity: synchronize FileAppender creation
  • From coverity: URI.getPath may return null
  • From coverity: ImageIO.read may return null
  • From coverity: trayItem.getImage may return null
  • From coverity: client.getInetAddress() may return null
  • From coverity: createSaslServer may return null
  • From coverity: use UTF-8 encoding in Hex conversion methods
  • From coverity: force encoding to UTF-8 on socket output stream
  • From coverity: set encoding on String to bytes conversion
  • From coverity: use getParamValue instead of getParam().getValue() to avoid null dereference
  • From coverity: editor pane font can be null
  • From coverity: check null after ImageIO.read
  • UI:
  • UI: small fixes on ui code from audit
  • Refactor SWT tray dispose management on exit
  • Handle missing resource in loadSwtImage
  • DAV:
  • DAV: decode base64 content as ASCII

New in DavMail 4.4.1 Build 2225 (Jan 31, 2014)

  • Includes mostly EWS support enhancements, Sogo carddav issue workaround, new IMAP uid based paging implementation to handle concurrent folder changes and a few other bug fixes.
  • Documentation:
  • Doc: update donation link to let user choose currency
  • Doc: Update iCal Caldav setup for OSX Mavericks
  • Doc: update server setup documentation, use noinstall package on Windows
  • Doc: Update news url in release guide
  • EWS:
  • EWS: workaround for user reported issue, less strict filter in isItemId
  • EWS: Override authentication mode test: EWS is never form based
  • EWS: new paging implementation based on imap uid sort to avoid issues on concurrent changes on searched folder
  • EWS: in direct EWS mode, try to use ResolveNames to get current user email address
  • EWS: Another try for checkEndPointUrl, head on /ews/exchange.asmx and follow redirects to wsdl
  • EWS: improve ItemId vs user provided item name detection
  • Enhancements
  • From coverity: avoid null dereference when no network interface is available
  • From coverity: set encoding on byte array to String conversion
  • From coverity: fix resource leak
  • Update svnant libraries
  • Fix reauthentication issue: separate domain from username in credentials
  • Fix NullPointerException in thread "Shutdown" tray disposal server mode
  • Fix authentication failure after session expiration
  • Caldav:
  • Caldav: Fix 555 another broken Israeli timezone
  • Caldav: ignore invalid BEGIN line inside object (Sogo Carddav issue)

New in DavMail 4.4.0 Build 2198 (Nov 14, 2013)

  • Documentation:
  • Doc: update roadmap
  • Doc: reference Marcin Dulak as contributor (RPM package maintainer)
  • Doc: Document OSX Mavericks IMAP account creation
  • Doc: improve FAQ
  • Doc: Fix OSX download instructions
  • Doc: Update OSX doc
  • Doc: additional FAQ comment on shared calendar hierarchy
  • Doc: update smtp screenshot
  • Doc: update more Thunderbird screenshots
  • Doc: update Lightning screenshots
  • Doc: document calendar.caldav.sched.enabled in main Lightning setup doc
  • Enhancements:
  • Additional IMAP unit tests
  • Add davmail.folderSizeLimit to UI and documentation
  • Fix AbstractConnection.readContent, see https://sourceforge.net/p/davmail/bugs/538/
  • SMTP:
  • SMTP: create a new davmail.smtpStripFrom boolean property to force From: header removal
  • IMAP:
  • IMAP: Make flags case insensitive on append
  • IMAP: improve uidNext implementation
  • Italian IMAP flag translation thanks to [email protected]
  • IMAP: fix 538, send capabilities untagged response to avoid timeout on large message APPEND
  • IMAP: Implement davmail.folderSizeLimit
  • Caldav:
  • Caldav: change user agent test to include all iOS versions

New in DavMail 4.3.4 Build 2174 (Sep 10, 2013)

  • Documentation:
  • Doc: Reference Alexandre Rossi as Debian package maintainer
  • Doc: Update FAQ shared mailbox path
  • Doc: update svn repository location in build doc
  • Force language on donations link
  • Doc: OSX LaunchDaemon
  • Enhancements:
  • Add trust="true" to scp command
  • Italian translation from gil cattaneo https://bugzilla.redhat.com/show_bug.cgi?id=894413
  • Allow identical username/userid in multiple factor authentication form
  • Rethrow DavMailException on connect exception
  • Fix NullPointerException on server unavailable
  • New experimental davmail.popCommonDeleted flag to switch to a different property on old Exchange 2003 servers
  • Caldav:
  • Caldav: flag ORGANIZER participant status as ACCEPTED instead of NEEDS-ACTION
  • Caldav: do not overwrite X-MICROSOFT-CDO-BUSYSTATUS if TRANSP is not provided
  • Merge patch to set sensitivy on VTODO
  • OSX:
  • OSX: Get application path from library path with Java7 launcher
  • OSX: move libgrowl to library path
  • OSX: build Java 7 package
  • Customized OSX app launcher messages
  • Java7 OSX app launcher
  • EWS:
  • EWS: fix 537, detect 507 Insufficient Storage
  • WebDav:
  • DAV: set SO timeout on connection
  • IMAP:
  • IMAP: new header fix, do not rely on messageheaders attribute on full headers request, load message
  • IMAP: improve invalid message header test
  • IMAP: fix invalid message header filter
  • IMAP: write message without headers on BODY[TEXT] fetch

New in DavMail 4.3.3 Build 2146 (Jun 14, 2013)

  • Enhancements:
  • Update Maven POM to new Sourceforge project site
  • Rename new setting to davmail.enableKeepalive and include in settings GUI
  • IMAP:
  • IMAP: make keepalive spaces optional with new davmail.imapEnableKeepalive setting
  • IMAP: interrupt EWS folder load on client timeout
  • IMAP: fix missing headers with Outlook
  • IMAP: Detect invalid content in message header field
  • IMAP: skip Microsoft Mail Internet Headers Version 2.0 in message headers field
  • IMAP: remove additional logging

New in DavMail 4.3.2 Build 2138 (Jun 7, 2013)

  • Fix regression on IMAP select folder with Thunderbird

New in DavMail 4.3.1 Build 2134 (Jun 6, 2013)

  • OSX:
  • OSX: switch back to single archive and add a comment
  • IMAP:
  • IMAP: fix double header content and optimize header fetch with Fetchmail
  • IMAP: fix regression in append envelope
  • IMAP: fix multithreaded folder load implementation to support more IMAP clients
  • POP:
  • POP: fix 3613743, remove additional +OK during message RETR

New in DavMail 4.2.1 Build 2089 (Apr 12, 2013)

  • Kerberos:
  • Add enable Kerberos checkbox to DavMail GUI
  • Kerberos read KRB5CCNAME environment variable to set ticket cache path
  • Kerberos implement graphical callback on missing token
  • Kerberos: Renew almost expired tickets and detect expired TGT in cache => try to relogin
  • Kerberos: Handle client context timeout, try to recreate context
  • Improve KerberosHelper implementation, prepare credential delegation support
  • Enhancements:
  • Try to fix 3606267: New debian dependency with wrong package name
  • Fix 3602588, allow oracle-java7-jre
  • Fix regression: disable console appender in gui mode
  • Use NewIbmX509 on IBM JDK instead of NewSunX509 SSL algorithm implementation
  • Fix 3602351, detect missing item
  • EWS:
  • EWS: do not catch socket exception in executeMethod
  • EWS: workaround for Nokia N9 Caldav implementation bug
  • DAV:
  • DAV: throw error on broken connection
  • SMTP:
  • SMTP: do not allow send as another user on Exchange 2003
  • IMAP:
  • IMAP: exclude Mutt header request from size optimization
  • IMAP: change kerberos login error message
  • IMAP send error on authentication failed
  • Documentation:
  • Doc: Additional Kerberos documentation
  • Initial Kerberos documentation
  • Caldav:
  • Caldav: do not send 401 on authentication error in Kerberos mode

New in DavMail 4.2.0 Build 2066 (Feb 27, 2013)

  • Kerberos:
  • Kerberos: implement server side security context and token handling
  • Kerberos: server side login module
  • Improve Kerberos logging and implement command line callback
  • Do not set preemptive authentication in Kerberos mode
  • Enable Kerberos authentication scheme with davmail.enableKerberos setting
  • Kerberos authentication implementation: SpNegoScheme to implement Negotiate authentication scheme, KerberosHelper to handle ticket access and KerberosLoginConfiguration to replace JAAS configuration file
  • Enhancements:
  • Fix accept certificate message
  • Make davmail.sh executable in platform independent package
  • Update desktop entry comment
  • Update RPM spec file from build.opensuse.org (marcindulak)
  • Add libswt-cairo-gtk-3-jni to debian package dependencies
  • Clear cookies created by authentication test
  • Upgrade jackrabbit-webdav and htmlcleaner in davmailconsole wrapper
  • Upgrade jackrabbit-webdav to 2.4.3
  • Upgrade htmlcleaner to 2.2
  • Exclude Jsmooth, nsi, OSX and contribs (with binary) from source only package
  • Prepare source only package
  • Bugfix:
  • Check file encoding in build file
  • Refactor StringUtil and encode ~ in urlcompname
  • IMAP:
  • IMAP: Implement custom IMAP flags to keywords mapping in settings
  • Caldav:
  • Caldav: add iOS6 user agent

New in DavMail 4.1.0 Build 2042 (Sep 27, 2012)

  • Caldav:
  • Caldav: do not try to load tasks MIME body
  • Caldav: workaround for 3569922: quick fix for broken Israeli Timezone issue
  • Caldav: remove urlencoding workaround for emClient >= 4
  • Caldav: Ignore 401 unauthorized on public event, return 200
  • Caldav: Rename TZID also in RECURRENCE-ID
  • Caldav: force 403 forbidden instead of 401 on unauthorized update to public folder item
  • Caldav: Fix 3569934 NullPointerException on broken PROPFIND request
  • Caldav: Fix 3567364, regression on from/to/cc handling in calendar related to IMAP search enhancement. Separate mapping for message fields/headers
  • IMAP:
  • IMAP: send updated flags on folder refresh
  • IMAP: fix keyword handling to avoid sending \Seen as keyword
  • IMAP: retrieve message count on folder
  • IMAP: apply flag to keyword conversion in SEARCH, refresh folder before search
  • IMAP: improve keyword support, map $label1 to 5 from Thunderbird to Outlook categories
  • IMAP: fix keywords implementation, make it case insensitive, implement KEYWORD search
  • IMAP: implement generic FLAGS mapping to Outlook categories
  • IMAP: fix 3566412, range iterator is on folder messages, not messages returned from search
  • EWS:
  • EWS: Get primary smtp email address with ResolveNames in direct EWS mode
  • Enhancements
  • Allow Java 7 to build DavMail
  • Prepare message keywords/categories support
  • WebDav:
  • Dav: implement multivalued property suppord in ExchangeDavMethod
  • Web:
  • Web: Fix 3566941 Imap protocol is not activated by default in .war

New in DavMail 4.0.0 Build 2016 (Sep 11, 2012)

  • IMAP:
  • IMAP: workaround for broken message headers on Exchange 2010
  • IMAP: log content if less than 2K
  • IMAP: improve Exchange 2010 header search, use direct header names to implement substring search on some headers
  • IMAP: additional fix for Exchange 2010 header search, use PR_TRANSPORT_MESSAGE_HEADERS
  • IMAP: Exchange 2010 does not support header search, workaround to avoid duplicate items in Drafts folder with Thunderbird
  • IMAP: fix 3553942, unexpected imap NIL response
  • IMAP: detect and ignore missing message to avoid NullPointerException
  • IMAP: improve bodystructure error handling
  • Documentation:
  • Doc: fix image swap
  • Doc: update roadmap
  • Doc: add Developed with Intellij Idea link
  • Caldav:
  • Caldav: encode semicolon in urlcompname
  • Caldav: fix attendees in modified occurences
  • Caldav: additional timezone names for Exchange 2010
  • Caldav: additional timezones available in Exchange 2007
  • Caldav: Partial fix for missing items on Exchange 2010
  • Caldav: fix OSX Mountain Lion (iCal 6) support
  • Enhancement:
  • Merge patch 3488553: Make davmail.jar executable
  • Merge patch from 3562031, advanced noProxyFor handling
  • Display released version in about frame when different from current version
  • Fix 3562031, implement davmail.noProxyFor setting to exclude hosts from proxy settings
  • Merge preauthentication page patch
  • Prepare pre authentication page merge in ExchangeSession
  • Implement javascript redirect in executeFollowRedirects
  • Prepare javascript redirect merge (multiple authentication pages)
  • Try to improve shutdown hook
  • OSX:
  • OSX: Add a note on Gatekeeper for OSX Mountain Lion users
  • EWS:
  • EWS: fix davmail.acceptEncodingGzip setting handling

New in DavMail 3.9.9 Build 1976 (Jul 11, 2012)

  • Caldav:
  • Caldav: encode ? in urlcompname
  • Caldav: fix 3534615, patch allday dates only on Exchange 2007
  • Caldav: implement full contact folder dump at /users//contacts/
  • Caldav: implement task priority over EWS
  • Caldav: remove unsupported attachment reference to avoid iPhone/iPad crash
  • Caldav: reintroduce davmail.caldavDisableTasks setting to disable tasks support
  • Caldav: fix encode pipe | to | in urlcompname
  • Caldav: encode pipe | to | in urlcompname
  • CalDav: Fix 3512857, avoid double path encoding in DavExchangeSession.loadVtimezone()
  • Caldav: improve Exchange 2007 EWS meeting support
  • Caldav: rebuild meeting attendees only for Exchange 2007, Exchange 2010 ics parser is correct
  • Enhancements:
  • Fixes from audit
  • store davmail.log in user home folder to avoid crash on first start when current directory is not writable by user
  • Add WinRun4J to Maven POM and update windows service documentation
  • Switch to WinRun4J for Windows service wrapper
  • Fix 3494770: Add missing antlr runtime
  • Upgrade svnkit for subversion 1.7 compatibility
  • IMAP:
  • IMAP: Fix 3534801, workaround for missing From header
  • IMAP: fix 3441891, workaround for Exchange 2003 ActiveSync bug
  • IMAP: experimental implementation of header only FETCH, do not download full message content and send approximate RFC822.SIZE (MAPI size)
  • IMAP: avoid full message download on OSX Lion flags request with content-class header
  • IMAP: exclude IDLE from infinite loop detection
  • IMAP: add date header to rebuilt message
  • IMAP: Force UTF-8 on message rebuild
  • IMAP: implement RFC822 fetch request
  • GUI:
  • GUI: force alwaysOnTop on dialogs to make sure they are visible
  • GUI: always bring dialog windows to front
  • Documentation:
  • Doc: add a new FAQ entry on shared mailbox access over IMAP
  • Doc: Update doc to include Java 7
  • Doc: small fix in Linux setup doc
  • Doc: Update Linux instructions for Ubuntu 12 Natty
  • Doc: New review
  • Doc: update Thunderbird POP account setup doc
  • Doc: Update SSL setup documentation on PKCS12 passwords
  • Doc: add a note on hidden folders on OSX Lion
  • Doc: Fix new thunderbird doc
  • OSX:
  • OSX: new hide from Dock setting available directly in UI (DavMail restart needed)
  • Carddav:
  • Carddav: Fix 3511472, implement fileas over EWS
  • Carddav: Skip carriage return in ICSBufferedWriter
  • EWS:
  • EWS: disable gzip encoding if WIRE logging is at DEBUG level
  • EWS: fix 3263905 ErrorInvalidPropertyRequest, do not update message:IsRead on appointments
  • EWS: make isMainCalendar case insensitive
  • EWS: revert chunked inputstream inside gzip and create new setting davmail.acceptEncodingGzip
  • EWS: handle chunked inputstream inside gzip
  • EWS: improve error message handling, log error description
  • EWS: improve error handling on socket exception
  • EWS: avoid NullPointerException in broken message rebuild
  • WebDav:
  • Dav: decode permanenturl to avoid double urlencoding issue
  • Dav: decode url returned on saveappt cmd in DavExchangeSession.loadVtimezone()

New in DavMail 3.9.8 Build 1921 (Feb 22, 2012)

  • Documentation:
  • Doc: update roadmap
  • Doc: add a statement on adding NSIS to system path in build instructions
  • Doc: update Thunderbird IMAP setup instructions for Thunderbird 10
  • Doc: update java package reference
  • Doc: update address book setup instructions for OSX Lion
  • Doc: add Growl reference in OSX setup
  • Enhancements:
  • Fix nsis script: delete stax api jar on uninstall
  • Fixes from audit
  • New redline ant task definition fix
  • Exclude Junit from binary packages
  • Create Windows noinstall package
  • Implement a new davmail.clientSoTimeout setting to adjust or disable connection timeout
  • Improve message on invalid OWA uri
  • Fix notification dialog test
  • Improve Pinsafe captcha display
  • workaround for broken form with empty action
  • Implement ISA server PINsafeISAFilter support (captcha image)
  • Upgrade Redline RPM
  • Add StreamScanner.java from Woodstox 4.1.2
  • Upgrade to Woodstox 4.1.2
  • Fix 3454332: davmail.sh script missing shebang
  • add trust=true in upload-site
  • IMAP:
  • IMAP: fix search date format for Exchange 2010 support (ErrorInvalidValueForProperty)
  • IMAP: implement SEARCH TEXT on from, to, cc, subject and body
  • IMAP: send error on COPY/MOVE when message iterator is empty
  • IMAP: implement MOVE RFC draft http://tools.ietf.org/id/draft-krecicki-imap-move-00.html
  • IMAP: fix 3480516, () instead of NIL on empty envelope header
  • IMAP: Fix 3479993, backslash in header
  • SMTP:
  • SMTP: fix 3489007, Sparrow AUTH PLAIN authentication support
  • Caldav:
  • Caldav: force context Timezone on Exchange 2010
  • Caldav: add missing timezones from Exchange 2007 over WebDav
  • Caldav: let users edit outgoing notifications for meeting requests
  • Caldav: fix NullPointerException on addressbook request
  • Caldav: workaround for broken items with \n as first line character
  • POP:
  • POP: add a new setting to mark messages read after RETR
  • EWS:
  • EWS: fix ErrorInvalidValueForProperty on search undeleted with Exchange 2010, set type Integer on PidLidImapDeleted and junk 0x1083
  • EWS: new fix to improve failover on error retrieving MimeContent
  • EWS: improve failover on error retrieving MimeContent
  • EWS: Fix 3471671, workaround for Exchange invalid chars
  • LDAP:
  • LDAP: improve invalid dn message
  • OSX:
  • OSX: make nodock mode the default
  • OSX: make sure davmail.jar is first in classpath
  • DAV:
  • Dav: set contact email type to SMTP
  • Dav: add email type MAPI properties
  • Carddav:
  • Carddav: avoid NullPointerException on broken contact
  • Carddav: fix regression on address book handling on Snow Leopard
  • Carddav: decode urlcompname before search to retrieve contacts with & in url

New in DavMail 3.9.7 Build 1870 (Jan 11, 2012)

  • WebDav:
  • Dav: fix regression in new Stax implementation
  • Dav: new stax based WebDav requests implementation to reduce memory usage, enabled on Search requests
  • Dav: switch back to mailbox path on Exchange 2003 for CmdBasePath
  • Caldav:
  • Caldav: Experimental patch to support spaces in calendar or contacts path on OSX, see 3464086
  • Caldav: Create a new davmail.caldavEnableLegacyTasks to allow access to tasks created in calendar folder by previous DavMail versions
  • Caldav: drop davmail.caldavDisableTasks setting, retrieve only events from calendar
  • Caldav: Change field update order for Exchange 2007 over EWS
  • Caldav: apply date filter to tasks
  • Caldav: new timezone for Mexico
  • Caldav: fix 3433584, encode comma in LOCATION field
  • IMAP:
  • IMAP: fix double slash in folder path
  • IMAP: return all search results uids on a single line for Wanderlust
  • IMAP: new davmail.imapIncludeSpecialFolders setting to access all folders including calendar and tasks over IMAP
  • IMAP: fix wanderlust support, allow lower case fetch params
  • Documentation:
  • Doc: Added DavMail hangs on 64-bit Linux FAQ entry
  • Doc: add documentation for davmail.logFileSize option
  • Enhancements:
  • Change default use system proxies value to false
  • Avoid NullPointerException on WebdavNotAvailableException
  • Fix upload-version target site
  • EWS:
  • EWS: fix Exchange 2010 SP1 support
  • EWS: use archivemsgfolderroot as archive root
  • EWS: enable preemptive authentication on non NTLM endpoints
  • EWS: add Exchange2010_SP1 support for online archive
  • LDAP:
  • LDAP: avoid NullPointerException during SASL authentication
  • Carddav:
  • Carddav: encode star in urlcompname

New in DavMail 3.9.6 Build 1843 (Oct 31, 2011)

  • Enhancements:
  • Add a new upload-version ant target to upload version.txt
  • Workaround for broken servers that send invalid Basic authentication challenge
  • Add exchangecookie to the list of authentication cookies for direct EWS access
  • Add a new auto value to davmail.enableEws setting to avoid unwanted switch from WebDav to EWS on temporary Exchange connection issue
  • Encode # in urlcompname
  • Fix bug on ITEM_PROPERTIES value on EWS/WebDav mode switch
  • Add new Default button to reset log levels
  • Implement a new option to let users disable all GUI notifications
  • Additional exception trace exclusion
  • Revert 1.7 test on SWT, tray implementation is still broken on Linux
  • Documentation:
  • Doc: reformat urls in FAQ
  • Doc: add a note to help users with broken Unity desktop manager on Ubuntu
  • Doc: Fix typo in project description
  • Doc: additional note on Caldav setup in Thunderbird and new external review
  • Doc: document new disable balloon notifications setting
  • Doc: Update roadmap
  • Doc: New reviews
  • Doc: Update iCal doc to match both Snow Leopard and Lion
  • Doc: Update FAQ
  • Doc: Update DavMail settings screenshot
  • Linux
  • Allow openjdk-7-jre dependency in deb package
  • Fix 3418960: Update dependencies for Ubuntu 11.10, add libswt-gtk-3-java
  • Caldav:
  • Caldav: apply iCal 5 workaround to iOS 5
  • Caldav: new timezone in rename table
  • Caldav: try to merge Exchange 2010 and 2007 filters
  • Caldav: additional unit tests
  • Caldav: fix 3426148 decode and encode comma in RESOURCES field value
  • Caldav: Fix complex timezones sent by clients, leave only latest STANDARD and DAYLIGHT definition
  • Caldav: Fix 3420240, retrieve description from tasks over Dav
  • EWS:
  • EWS: add new DistinguishedFolderId value for Exchange archive support
  • EWS: throw exception on 400 Bad request answer
  • IMAP:
  • IMAP: fix 3426383, implement CHARSET in SEARCH command, allow ASCII and UTF-8
  • IMAP: fix 3353862, long file names encoding in BODYSTRUCTURE
  • SMTP:
  • SMTP: adjust workaround for misconfigured Exchange server that return 406 Not Acceptable on draft message creation, look inside multipart messages

New in DavMail 3.9.5 Build 1805 (Oct 4, 2011)

  • OSX:
  • Fix crash in Growl plugin on OSX: do not sent SSL content to Growl
  • EWS:
  • EWS: rebuild broken message (null MimeContent) from properties
  • EWS: improve error logging on invalid character
  • EWS: fix tasks field order, send Extended Properties first to match EWS schema
  • EWS: replace extension before looking for items in task folder
  • EWS: Fix 3407395, do not set mailbox on FolderIds returned by Exchange
  • LDAP:
  • LDAP: fix DIGEST-MD5 authentication and adjust dn context for OSX Lion, still experimental
  • LDAP: fix DIGEST-MD5 SASL authentication for OSX Lion
  • LDAP: experimental SASL DIGEST-MD5 implementation for OSX Lion Directory Utility support
  • Caldav:
  • Caldav: need to send principal-URL on principal path, only for OSX Lion
  • Caldav: allow direct access to task folder
  • Enhancements:
  • Force toFront and requestFocus to bring windows to front
  • Additional proxy selector logging
  • Fixes from audit
  • Upgrade Log4J to 1.2.16
  • Documentation
  • Doc: Add saveInSent reference in FAQ

New in DavMail 3.9.4 Build 1787 (Sep 14, 2011)

  • Caldav:
  • Caldav: fix regression
  • Caldav: implement update folder
  • Caldav: fix regression on Snow Leopard
  • Caldav: more general fix for misconfigured Exchange server, replace host name in url also over Caldav
  • Caldav: additional fix for CRLF in urlcompname
  • Caldav: additional task fields over EWS and fix urlcompname decoding
  • Caldav: implement task categories over EWS
  • Caldav: update additional MAPI properties for tasks
  • Caldav: implement startdate and duedate on tasks
  • Caldav: implement task categories
  • Caldav: Need to encode % in urlcompname
  • Caldav: implement task percent complete and status over WebDav
  • Caldav: improve task support over WebDav, rename .ics to .EML and implement priority (importance)
  • Caldav: do not try to get ICS content from tasks
  • Caldav: encode @ in path only for iCal 5 (OSX Lion)
  • Caldav: implement supported-report-set
  • Enhancements:
  • Do not always log stacktrace in handleNetworkDown
  • Fix IllegalArgumentException in fixClientHost when scheme is null
  • Temporary fix: log exception stack trace in handleNetworkDown
  • Temporary fix: log exception in handleNetworkDown
  • Another init script
  • Small failover fix
  • Improve client host update fix
  • Test various event count
  • IMAP:
  • IMAP: implement DRAFT and UNDRAFT search conditions, fix 3396248
  • IMAP: fix failover for misconfigured Exchange server, replace host name in url
  • IMAP: fix regression in EwsExchangeSession.createMessage
  • IMAP: Fix 3383832, set ItemClass to send read receipt over EWS to avoid ErrorObjectTypeChanged
  • EWS:
  • EWS: Allow null value in StringUtil.decodeUrlcompname
  • EWS: use isrecurring with Exchange 2010 and instancetype with Exchange 2007
  • EWS: revert 3317867 XML1.1 header workaround to fix 3385308
  • DAV:
  • Dav: check checkPublicFolder calls
  • Dav: Avoid returning null in getCmdBasePath
  • Documentation:
  • Doc: fix OSX iCal setup documentation for OSX Lion
  • LDAP:
  • LDAP: send error on DIGEST-MD5 bind request

New in DavMail 3.9.1 Build 1646 (Mar 23, 2011)

  • Create a new RPM package with redline rpm ant task
  • Implement Caldav attachments
  • Implement hide from Dock option on OSX

New in DavMail 3.8.8 Build 1608 (Jan 12, 2011)

  • Documentation:
  • Doc: change Maven site plugin version
  • Doc: additional external links
  • Doc: Add anew reviews page
  • Doc: Update POM and release guide
  • Doc: move advanced settings to a separate page to keep getting started page simple
  • Doc: add SWT bug reference to FAQ, on Ubuntu, notify text conflicts with default theme
  • Doc: full iPhone setup instructions
  • Doc: update war deployment description
  • Doc: Additional smartcard PKCS11 setup instructions with NSS and Coolkey examples
  • Caldav:
  • Caldav: Additional timezone mappings
  • Caldav: workaround for Exchange 2010 bug, \n in timezone name generates invalid ICS content
  • Caldav: improve timezone rename error message
  • Caldav: fix floating timezone in iCal: rename TZID for maximum iCal/iPhone compatibility
  • Do not send Exchange 2003 appointment creation request to Exchange 2007
  • EWS:
  • EWS: return HttpNotFoundException on event not found to trigger Lightning workaround
  • EWS: fix instancetype field definition: Integer instead of String (fix Caldav filter over EWS)
  • EWS: improved email/alias failover fix
  • EWS: fix regression in comment
  • EWS: additional failover mail build on logon form failure
  • EWS: store X-MOZ-SEND-INVITATIONS property to fix no notification issue with Lightning
  • EWS: fix Caldav inbox handling over EWS
  • EWS: improve timezone handling
  • EWS: Update Field list
  • EWS: fix 3098008, implement result paging to handle message folders with more than 1000 messages
  • EWS: exclude non message types from searchMessages
  • EWS: fix email mapping on LDAP response
  • EWS: add BusinessCountryOrRegion contact field
  • Enhancements
  • Additional session create log statement
  • New multiple user fields implementation: expect userid|username as login value
  • Improve connection pool handling: do not pool simple checkConfig and getVersion connections.
  • Implement OTP form with multiple username fields (username and userid)
  • Contribution from Geert Stappers: start/stop script
  • Improve NTLM authentication detection
  • Always use private connection manager to avoid session conflict
  • Fixes from audit
  • Update javamail to 1.4.3
  • Adjust Mime decoder settings (fix)
  • Adjust Mime decoder settings
  • Workaround for space in cookie name
  • Use a_sLgnQS instead of a_sLgn first to support new OWA 8.3.83.4
  • Additional NTLM flags to match Firefox flags
  • Add UTF-7 support with jcharset
  • Failover for misconfigured Exchange server, replace host name in url
  • SMTP:
  • SMTP: fix 3132569, always remove From header to avoid 403 error on send
  • SMTP: workaround for misconfigured Exchange servers: failover on Draft message creation through properties. Warning: attachments are lost
  • IMAP:
  • IMAP: Fix 3137275 Imap header fetch bug
  • WebDav:
  • Dav: make sure Destination contains full url and not only path, may fix SMTP send and IMAP copyMessage on Exchange 2003
  • Carddav
  • Carddav: Update contact test

New in DavMail 3.8.7 Build 1558 (Nov 25, 2010)

  • Documentation:
  • Doc: Update Carddav setup doc
  • Doc: ssl setup doc update from kerstkonijn
  • Enhancements
  • Unzip contribs content
  • Update rpm ant task parameters to create valid rpm package
  • Workaround for malformed cookies with space in name
  • From Geert Stappers: add includeantruntime="false" to avoid ant 1.8 warning
  • Workaround for invalid redirect location
  • Improve error handling: detect redirect to reason=0 as session expired
  • Suggestion from Geert Stappers: add svn:ignore property
  • RPM spec from Marko Myllynen
  • Caldav:
  • Caldav: Fix timezone support with Exchange 2010 SP1
  • Caldav: use rebuild event from MAPI properties failover in all error cases
  • Caldav: add requestFocus() to bring notification dialog to foreground
  • Caldav: added edit notifications checkbox in settings frame
  • IMAP:
  • IMAP: include current folder in recursive search
  • IMAP: encode source path in copyMessage
  • IMAP: new test case to show Thunderbird perf issue
  • IMAP: Fix 3109303 Handle null string during mail fetch
  • IMAP: fix nullpointerException in header fetch
  • IMAP: fix 3106803, IMAP client stuck scanning Inbox, fix header and body fetch in same request
  • IMAP: throw error on 440 Login Timeout to avoid message corruption
  • LDAP:
  • LDAP: do not log error on OSX groups request
  • EWS:
  • EWS: Upgrade woodstox version to use enhanced base64 conversion (reduced memory usage)
  • EWS: allow autodiscover after authentication failure
  • EWS: fix contact email update
  • OSX:
  • OSX: search and replace on existing file, spotted by Geert Stappers

New in DavMail 3.8.5 Build 1480 (Sep 28, 2010)

  • Bugfixes:
  • Fix regression in Exchange 2007 over Dav session
  • Enhancements:
  • Detect and submit language selection automatically
  • More fixes from audit
  • Fixes from audit
  • Restore cookies on error
  • Improve buildSessionInfo failover
  • Fix ssl trustmanager error handling
  • Enable Webdav/Galfind failover on Exchange 2007
  • Workaround for basic authentication on /exchange and form based authentication at /owa
  • Caldav:
  • Caldav: detect invalid events with empty dtstart property
  • Caldav: implement mozilla alarm flags X-MOZ-LASTACK and X-MOZ-SNOOZE-TIME over EWS
  • Caldav: EWS, rebuild attendee list from properties
  • Caldav: test principal request
  • Caldav: fix 3067915 getRangeCondition too restrictive
  • Caldav: implememnt Busy flag over EWS and refactor create code
  • Caldav: fix create allday event over EWS and check if current user is organizer
  • Caldav: Fixed regression in allday event handling
  • Caldav: improve EWS implementation
  • Caldav: improve timezone error handling
  • Caldav: remove empty properties
  • Caldav: avoid invalid X-CALENDARSERVER-ACCESS and CLASS
  • Caldav: avoid empty X-CALENDARSERVER-ACCESS and CLASS
  • Caldav: reinsert the deleteBroken check
  • Caldav: fix VProperty parser
  • Caldav: additional VCalendar properties for rebuilt item: VALARM (reminder)
  • Caldav: additional VCalendar properties for rebuilt item: RRULE, EXDATE, CLASS
  • Caldav: failover for broken event, rebuild VCalendar content from raw properties
  • Caldav: fix 3063407, regression in sendPrincipal
  • Carddav:
  • Carddav: fix null value in email address
  • Carddav: fix email address handling over EWS
  • Exchange Web Services:
  • EWS: fix 3047563 double inbox
  • EWS: more caldav ews fixes
  • SMTP:
  • SMTP: rewrite getAllRecipients to disable strict header check
  • SMTP: new try at encoding fix: set mailOverrideFormat and messageFormat
  • Documentation:
  • Upgrade maven site-plugin and update release guide
  • IMAP:
  • IMAP: fix 3072497 Imap server too picky about case
  • IMAP: improve BODYSTRUCTURE implementation, make it recursive
  • IMAP: implement partial header fetch
  • LDAP:
  • LDAP: new attribute mapping
  • LDAP: cache current hostname value in sendComputerContext to improve iCal address completion performance
  • LDAP: additional ignore attributes
  • LDAP: add gidnumber to attribute ignore list
  • LDAP: fix regression on iCal 3 search completion
  • SWT:
  • SWT: allow libswt-gtk-3.6-java on debian, available from ppa:aelmahmoudy/ppa

New in DavMail 3.8.2 Build 1385 (Aug 25, 2010)

  • Enhancements:
  • Disable SWT on Java 7
  • Update debian package description and categories
  • fix 2995990: Add support for already authenticated users
  • Fix missing hide password in log over IMAP
  • More session creation enhancements, fix public folder test when /public is 403
  • Refactor email and alias retrieval: always use options page with Exchange 2007
  • Improve socket closed error handling
  • Try default form url on authentication form not found
  • Add Java Service Wrapper contribution from Dustin Hawkins
  • Caldav:
  • Caldav: move delete broken event logic to DavExchangeSession
  • Caldav: delete broken events when davmail.deleteBroken is true
  • Caldav: improve event logging, include subject
  • IMAP:
  • IMAP: handle 507 InsufficientStorage error
  • IMAP: fix regression in NOT DELETED filter
  • Documentation:
  • Doc: Update OSX directory setup documentation
  • DAV:
  • DAV: Encode apos in urlcompname used in DAV search request
  • EWS:
  • EWS: fix single message in folder with Exchange 2010 bug
  • EWS: implement loadVTimezone for Exchange 2010
  • SMTP:
  • SMTP: fix regression on bcc handling
  • SMTP: convert Resentheaders, see 3019708
  • LDAP:
  • LDAP: avoid galLookup in iCal searches
  • Carddav:
  • Carddav: Fix email update over EWS

New in DavMail 3.8.1 Build 1361 (Aug 18, 2010)

  • Exchange Web Services:
  • EWS: hard method: delete/create on update
  • EWS: Fix DeleteItem for CalendarItem
  • EWS: implement loadVtimezone, get user timezone id from OWA settings
  • EWS: Fix FieldURIOrConstant test
  • EWS: separate domain from userName in NTLM mode
  • EWS: MultiCondition galFind
  • EWS: implement basic galFind search
  • EWS: implement resolvenames response parsing
  • EWS: fix subfolder search on Exchange 2010
  • EWS: implement user availability (freebusy) and shared folder access
  • EWS: implement sendEvent
  • EWS: force urlcompname only on create
  • EWS: implement ResolveNames method
  • EWS: Apply workaround to events
  • EWS: workaround for missing urlcompname on Exchange 2010, use encoded ItemId instead
  • EWS: rename equals to isEqualTo and format search date
  • EWS: dynamic version detection
  • EWS: Exchange 2010 message handling
  • EWS: Exchange 2010 folder handling
  • EWS: Exchange 2010 compatibility: add test cookie, access /ews/exchange.asmx endpoint
  • Caldav:
  • Caldav: Fix missing TZID in DTSTART from iPhone
  • Caldav: return reoccuring events on time-range request
  • Caldav: Fix METHOD on create from iPhone
  • Caldav: need to encode colon (:) in urlcompname search, implement a last failover on item search
  • Caldav: implement 2899430, change the subject line when replying to invites
  • Caldav: workaround for Lightning 1.0b2 bug
  • Caldav: disable caldav inbox with Lightning 1.0b2
  • Caldav: fix regression in fixVCalendar (missing organizer)
  • Caldav: skip empty lines
  • Caldav: Fix regressions in Vcalendar handling
  • Caldav: fix nullpointer in VCalendar
  • Caldav: fix regressions and do not filter on outlookmessageclass
  • Caldav: major refactoring of event content handling and notifications
  • Caldav: switch to new VCalendar parser/patcher
  • Caldav: implement VALARM in VCalendar
  • Caldav: more vcalendar patches
  • Caldav: start new VCalendar fixICS implementation
  • Caldav: call fixICS on download
  • Caldav: reenable Lightning 1.0b2 bug workaround
  • Caldav: failover for 404 not found on items containing '+' in url, search item by urlcompname to get permanenturl
  • LDAP:
  • LDAP: create a separate thread only for person/contact searches
  • LDAP: implement galFind MultiCondition over webdav and improve search by mail
  • LDAP: need to galLookup when search attribute is not in galfind result
  • LDAP: another search attribute mapping fix
  • LDAP: code cleanup and some galfind search fixes
  • LDAP: fix 3043659, include entries starting with Z
  • LDAP: Improve sizeLimit handling and ignore attributes
  • LDAP: a few more attribute fixes
  • LDAP: move galLookup to DavExchangeSession
  • LDAP: progress on EWS LDAP implementation and refactoring
  • LDAP: fix regression on OSX directory request on iCal start: filter invalid imapUid condition
  • LDAP: use sizeLimit in contactFind
  • LDAP: Fix OSX directory search on uid
  • Enhancements:
  • Improve error handling
  • Add custom cookie policy to support extended host name
  • Fixes from audit
  • Bugfixes:
  • Fix regression in getAliasFromMailboxDisplayName
  • Deb: Fix regression in debian desktop link
  • Dav:
  • Dav: disable galFind on error
  • SMTP:
  • SMTP: compare actual email address, not email with alias
  • SMTP: no need to remove From header with new sendMessage implementation
  • SWT:
  • SWT: fix 2992428, hide instead of dispose on close
  • Carddav:
  • Carddav: refactor VCard handling to merge with VCalendar code
  • Carddav: disable contact picture handling on Exchange 2007
  • Carddav: implement range search

New in DavMail 3.6.5 Build 1000 (Apr 13, 2010)

  • SMTP:
  • SMTP: implement AUTH LOGIN username (with optional initial-response, see RFC2554)
  • IMAP:
  • IMAP: Keep a single message in MessageList cache to handle chunked fetch, reenable maxSize in ImapConnection.
  • IMAP: implement subparts partial fetch
  • IMAP: Fix message write, double dot only for POP, not IMAP
  • IMAP: Do not advertise not yet supported custom flags
  • IMAP: fix from audit
  • IMAP: major FETCH implementation refactoring, make code simpler and more efficient
  • IMAP: add BODY.PEEK[index] support
  • IMAP: improve partial fetch support
  • IMAP: fix 2962071, quote folder names in STATUS response
  • IMAP: allow partial part fetch
  • IMAP: fix regression on unknown parameter handling
  • IMAP: implement part fetch (BODY[1])
  • IMAP: detect unsupported parameter
  • IMAP: fix 2973213, escape quotes in subject
  • IMAP: fixes to improve JavaMail support
  • Doc:
  • Doc: move CardDav reference before architecture schema
  • Doc: update project description in Maven pom and ant package
  • Doc: update project description and RoadMap, announce CardDav support sponsored by french DGA through project Trustedbird
  • Doc: update roadmap
  • Enhancements:
  • Add a new setting to disable startup notification window (contribution from jsquyres)
  • Improve getAliasFromOptions to retrieve alias with custom dn
  • Workaround for NTLM authentication only on /public
  • Add a new setting to retrieve proxies from system configuration
  • Fix empty setting behavior: return null instead of empty string
  • Sort properties file
  • Fix new RPM ant task definition
  • Improve public folder url check
  • Experimental rpm package build
  • Carddav:
  • Carddav: refactor folder handling code to prepart CardDav support
  • Caldav:
  • Caldav: fix broken inbox, missing instancetype in search request and add is null in search query
  • Caldav: do not try to access inbox on shared calendar (to avoid 440 login timeout errors and session reset)
  • Caldav: exclude private events on shared or public calendar PROPFIND
  • Caldav: fix regression on invalid events handling, just warn on broken events
  • Caldav: drop timezone when converting allday events to client

New in DavMail 3.5.0 Build 745 (Oct 30, 2009)

  • OSX: Prepare hide from Dock option
  • OSX: crazy workaround from Dan Foody to fix attendee search on OSX Snow Leopard
  • OSX: iCal4 (OSX Snow Leopard fixes)
  • Bug Fixes:
  • Fix regression in Form Based Logon: fix script based logon URI creation with path and query
  • Another network down fix: DavMailException is not network down
  • Improve Form Based Logon: fix script based logon URI creation
  • Improve Form Based Logon: use full URI instead of path in PostMethod, also force trusted=4
  • Simplify HttpClient creation to avoid password decoding bug in commons httpclient ('+' in password decoded as ' ')

New in DavMail 3.2.0 (Mar 27, 2009)

  • LDAP:
  • Additional ignore attribute and improves log
  • Comment iCal code
  • Improve iCal autocomplete performance: do not lookup details
  • iCal autocomplete fix
  • iCal autocomplete, moved to separate o=od naming context
  • iCal autocomplete fix from Dan Foody
  • IMAP:
  • Check folder ctag and reload messages as needed, ignore RECENT search PARAMETER, allow quoted and unquoted message id on search
  • Refactor BODYSTRUCTURE generation
  • Mark examine command READ-ONLY
  • Fix regression on SEARCH after refactoring
  • Replaced uid parsing by a new MAPI property: CdoPR_INTERNET_ARTICLE_NUMBER
  • Reset icon between commands
  • Improve HttpException error handling
  • make APPEND flags and date parameters optional
  • Caldav:
  • Set CALDAV:process-state on calendarmessages instead of moveToTrash and merge login with constructor
  • Experimental principal switch (access another user calendar) untested
  • Retrieve VTODO events created in the calendar folder, even if they remain invisible in OWA and Outlook
  • Fix regression on non meeting events
  • If not organizer, set X-MICROSOFT-CDO-REPLYTIME to force Outlook in attendee mode and also set missing METHOD:REQUEST
  • Implement FBTYPE support on Freebusy requests
  • Improve principal error handling
  • Fix regression on freebusy with chunked transfer encoding
  • Chunked encoding on all caldav responses
  • Experimental chunked transfer encoding support
  • Sunbird, ignore inbox folder url in REPORT
  • Added getcontenttype on Inbox for Sunbird 1.0pre
  • Free/busy regression fix from Dan Foody
  • Fix HTTP status code on event delete
  • Reset icon after each HTTP request
  • Fixed path encoding issues on outlook created notifications delete
  • Another fix on & handling to make it compatible with iCal and Lightning
  • Enhancements:
  • Make ExchangeSession thread safe and replace stack pool with simple instance pool
  • Some more refactoring on HttpException and fix regression on purgeOldestTrashMessages
  • Major refactoring: remove non thread safe WebdavResource object
  • Bugs fixed:
  • Fixes from audit
  • Fix commented log message
  • Fix regression on basic authentication after refactoring
  • Return OK on 404 delete: item may have been in another session
  • Fix: explicit contenttag PROPFIND instead of DAV:allprops
  • Fix regression in moveToTrash
  • Documentation:
  • Fixed support link style
  • Add support link to Download section
  • Fix new OSX documentation
  • Full OSX tools documentation
  • Update OSX doc and FAQ

New in DavMail 3.1.0 (Mar 13, 2009)

  • LDAP:
  • Commit iCal autocompletion extensions, even if is does not yet work on my test platform store actual user alias in ExchangeSession
  • Implement complex filter support to prepare iCal completion
  • Do not fail on (&(...)) and filters
  • IMAP:
  • Limit UIDs to only 4 bytes for Outlook compatiblity
  • Only send partial if startIndex>0 for Outlook
  • Ignore buffer size, to avoid multiple message downloads
  • Implement partial fetch
  • Implement empty and BEFORE search filters
  • Fix range parser
  • Encode folder path on create
  • Silent expunge on close
  • Implement BODYSTRUCTURE, needed for Apple Mail
  • When fetching only TEXT, rfc822 size is different from result size
  • Implement UID range search
  • Another try at multiple clients compatibility, implement FETCH BODY[TEXT] with PartOutputStream, send BODYSTRUCTURE with BODY for Apple Mail with actual size, do not set to current folder to null on close
  • Implement fake BODYSTRUCTURE for bigger messages
  • Do not send bodystructure at all, as we do not parse MIME body, best way to support most clients (Thunderbird, Apple Mail, Outlook)
  • Implement STORE FLAGS and allow empty date
  • Fix FETCH answers to match Outlook expectations
  • Remove test code
  • Refactor IMAP fetch to handle more cases (still broken with Outlook)
  • Fixes for Apple Mail SEARCH: UID 1:* search, do not overwrite global messages during search and allow FLAGS.SILENT STORE option
  • Fetch by id for Apple Mail, hide authenticate password in logs, use actual message list size instead of object count
  • Caldav:
  • Just ignore calendar folder proppatch (color not supported in Exchange)
  • Improved message on update and fixed Etag response header
  • do not delete calendar messages in INBOX, move to trash instead
  • From John Ahern, workaround for ICS with empty last line
  • Add getcontenttype response to fix compatibility issue with sunbird 1.0pre
  • Parse inner MultiPart messages
  • Fix regressions after refactoring
  • Handle non multipart mime message, improve debug log
  • Fix AllDay handling
  • remove calendar-auto-schedule, breaks Lightning
  • Caldav response refactoring: replace StringBuilder with CaldavResponse object and ctag implementation on inbox
  • Replace substrings with real MIME message parser to retrieve events, handle ics objects in Inbox
  • Fix regression in calendar REPORT with Lightning
  • From dfoody: Split EXDATE exceptions into multiples lines to work with iCal. Ignore X-ENTOURAGE_UUID to avoid problems with iCal.
  • Do not send notifications if no valid recipients found
  • Allow user name in principal path (in addition to email)
  • Get calendarmessages in Caldav inbox from Exchange Inbox
  • OSX:
  • Fixed OSX package build
  • Fix version value in OSX package
  • Bugs fixed:
  • Fix for bug 2637306: get alias from mailPath display name
  • Failover for Exchange 2007 current user alias retrieval: try to get it from the options page
  • Fixes from audit
  • Fix: when redirected to another SSO server, use full URL instead of path
  • Fix NullpointerException with CAS single signon form
  • Build: remove empty Java stub and update release guide
  • Documentation:
  • Update site logo link
  • Fix OS X setup doc
  • Mac OS X and thunderbird IMAP setup doc
  • Added dfoody as Java Contributor

New in DavMail 3.0.1 (Feb 20, 2009)

  • IMAP:
  • Hide login password in log file
  • Fix LIST "" "" answer (StringIndexOutOfBoundsException)
  • Date and status search
  • Additional complex search filters
  • Search implementation
  • Caldav:
  • From John Ahern: translate CLASS and iCal X-CALENDARSERVER-ACCESS values
  • iCal fails with CalDAVMultiGetOperation not a server error, but bad data => replaced & encoding with URIUtil.encodeWithinQuery
  • Outbox handling, notify all attendees if current user is organizer, else notify only organizer
  • From John Ahern: convert CLASS and iCal X-CALENDARSERVER-ACCESS
  • OSX:
  • Name OSX package with version
  • Register Quit menu handler
  • Generate OSX package with JavaApplicationStub symbolic link
  • Enhancements:
  • Delete build.log in ant clean
  • Add contributors to Maven POM
  • Command line version of the AcceptCertificateDialog
  • Added a Donation button on web site
  • Update site title
  • Update debian package description

New in DavMail 3.0.0 (Feb 12, 2009)

  • IMAP:
  • Add IMAP port in settings panel and allow users to disable some services
  • Implement status command
  • Handle optional datereceived parameter on append
  • Fake subscribe/unsubscribe responses
  • Implement forwarded and answered flags
  • Replace DAV:ishidden with DAV:isdeleted and fix new Iterator FETCH
  • Use DAV:ishidden as persistent deleted flag
  • Convert fetch to range iterator
  • Implement range iterator on copy and fetch to allow multiple messages move/update
  • Fix sendMail regression after IMAP implementation
  • Fix conflict between Draft and bcc PROPATCH
  • Improve error on server socket bind
  • Refactor message delete methods
  • Improve error handling and support optional append date parameter
  • Another message range fix
  • Switch to UUID for message names generation on APPEND
  • Fail gracefully on multiple messages delete
  • Create messages as Draft, handle draft flag
  • Flagged, junk flags, draft replace (append + delete)
  • Implement copy and delete actions on messages and folders
  • Send back flags on STORE command
  • Convert Exchange message uid to long to create persistent IMAP uids
  • Implement move folder, Seen flag, only list mail folders, improve message headers retrieval
  • Build message name from subject on create
  • Folder creation cleanup
  • Implement folder create
  • Implement search check after append
  • Initial append implementation
  • IMAP message list and fetch now working
  • Progress on IMAP implementation : list folders, some fetch orders
  • Start IMAP server, do not start servers if port is empty
  • POP:
  • Implement UIDL command to return a single UIDL
  • Caldav:
  • from John Ahern: send calendarserver-private-events in DAV: header to activate private events in iCal
  • Change message sent through outbox contentClass to urn:content-classes:calendarmessage, parse body to build recipients, exclude current user from recipients
  • Allow multiple attendees in VFREEBUSY request (iCal support)
  • Fix Connection: close handling and ensure full content read
  • Implement invitations through outbox (calendar-auto-schedule)
  • URL encode hrefs in Caldav response, reason for iCal failure
  • Workaround for Lightning bug https://bugzilla.mozilla.org/show_bug.cgi?id=474112:
  • do not pretty print Caldav XML responses (remove non mandatory spaces and CRLF)
  • Use 15 minutes interval instead of 30 for FreeBusy data
  • LDAP:
  • implement (as much as possible) exact match
  • fix gallookup regression
  • OSX:
  • Implement OSX DesktopBrowser
  • Custom MacOSX Frame with specific Menu
  • Workaround for minimum frame size on MacOSX
  • Workaround for bug in MacOSX java in AboutFrame
  • Bugs fixed:
  • Fix logging levels in settings frame on first start
  • Execute AWT frames handling in AWT thread
  • Hide password during AUTH PLAIN in SMTP logs
  • Emails sent with Outlook contain "=" characters
  • Register socket factory *before* listener threads start to avoid exception on first client connection
  • Implement If-None-Match header to avoid unwanted message overwrite
  • Bug 2517478: check if fbdata is not empty
  • Debian package autostart does not work => remove (should create link under ~/.config/autostart)
  • Enhancements:
  • Update doc for 3.0.0 release
  • Implement ExchangeSession.Message equals
  • Add Help button on settings panel
  • New failover GUI for Java 1.5 without SWT (e.g. MacOSX support)
  • Upgrade SWT to 3.4
  • Fix TrustManager log message
  • Mark messages deleted through POP as read, use Overwrite and Allow-rename headers in moveToTrash
  • NSIS ProcessWork plugin from http://www.esanu.name/software/index.php/nsis-kill-process/ needed for windows setup build
  • Replace int states with enum and hide IMAP password in logs, refactor IMAP command parsing
  • Added a FAQ on failed notifications
  • Added another frequently asked question
  • Added a FAQ page in documentation
  • Add Debian package creation

New in DavMail 2.1.1 (Jan 14, 2009)

  • Bugs fixed:
  • Fix current user email retrieval: use login as alias, failover to mailbox name as alias
  • Fix classpath in jsmooth generated exe : move davmail before httpclient to activate patch (prefer Basic over NTLM authentication)
  • Fix Unauthorized response on wrong password : add WWW-Authenticate header
  • Fix : do not apply past event limit to recurring events
  • Enhancements:
  • Enable preemptive authentication to avoid most 401 requests
  • Update linux doc
  • Cleanup from audit
  • From audit : improve ICSBufferedReader performance, reuse StringBuilder
  • Add logging during slow REPORT call
  • Update release guide

New in DavMail 2.1.0 (Jan 6, 2009)

  • Exchange 2007 support:
  • Fix : avoid duplicate entries on email detection (Authentication failure with Exchange 2007)
  • Fix : use email instead of mailbox name for webdav path with Exchange 2007
  • Fix : ExchangeSession pool did not work with Exchange 2007
  • Disable galLookup on error (not supported by Exchange 2007)
  • Fix mailPath with Exchange 2007 : should end with a /
  • Fix : skip From: header in sendMessage to avoid 403 forbidden with Exchange 2007
  • Another hack to make Exchange 2007 authentication work
  • Added failover for script based logon form (Exchange 2007)
  • iCal (in progress) support:
  • Return etag instead of ctag
  • rename getCalendarEtag to getCalendarCtag
  • Return a calendar etag
  • Caldav : remove ending / from URLs, breaks iCal ?
  • Caldav: added a principal resourcetype to principal response
  • Add displaynames to caldav responses
  • return empty resourcetype on events
  • Do not append / to message url
  • Major CaldavConnection refactoring to support iCal and prepare shared calendars support
  • iCal fix : do not test depth on REPORT
  • iCal fix : implement GET request on event
  • iCal fix : Also send events on propfind if depth is 1
  • Fix inbox resourcetype
  • build inbox responses for iCal
  • Remove depth test for iCal
  • Caldav fix for iCal : allow /user instead of /user/ and /calendar instead of /calendar/
  • Bugs fixed:
  • Implement ICS parser/writer to avoid multiline issues (leading to corrupt events)
  • Fix LDAPV3 test
  • Fix LdapConnection thread name
  • Fix Caldav : return 404 if recipient unknown on freebusy and handle busy at interval end
  • Fix : Send 401 Unauthorized on authentication failure on Caldav connections instead of 500 internal server error to let client prompt user for the right password
  • Avoid message overwrite in drafts on send (use UUID)
  • LdapConnection: check config before BIND to avoid password prompt on network down
  • Register custom factory in test class
  • Enhancements:
  • Update calendar doc with new CALDAV url
  • Add some more debug info on login and a response on Caldav HTTP root
  • Activate full calddav debug trace if wire DEBUG selected
  • Build nsis package only on windows
  • Various code cleanup from audit
  • ExchangeSession refactoring : remove duplicate code
  • CaldavConnection refactoring : replace indexOf with actual XML parsing of Caldav requests
  • Update site page titles
  • Update release guide

New in DavMail 2.0.0 (Dec 12, 2008)

  • Bugs fixed :
  • Fix all day events from OWA to client
  • Fix another URI encoding issue with calendar and fix all day events (add X-MICROSOFT-CDO-ALLDAYEVENT)
  • Fix connection pool handling on restart
  • Fix SSLProtocolSocketFactory equals and hashCode to allow pooling
  • Handle returning attributes : return only requested attributes
  • Fix LDAP filter parser : Thunderbird sends values with space as separate strings, rebuild value
  • Added wstx stax parser for Java 1.5 compatibility
  • Fix SWT initialization : wait for SWT thread
  • No error on SocketException (client closed connection)
  • Fix event uri encoding/decoding issue and if-match on update
  • Fix default ports handling
  • Add maven jsr173, htmlcleaner and swt dependencies, found a repo for htmlcleaner
  • Force internet explorer header to get XML responses
  • Fix : force encoding to UTF-8 only on caldav connections and URIUtil.decode on DELETE
  • Fix POP3 TOP command : line count is *after* headers
  • Workaround for SWT SettingsFrame focus
  • Create GUI in AWT Thread
  • Enhancements :
  • Update project description
  • Tell users to activate Lightning cache in doc
  • Make WELL_KNOWN_FOLDERS value static
  • Switch to MultiThreadedHttpConnectionManager for http connection management
  • set servlet-api as optional in maven POM
  • Update doc with new Caldav and LDAP features
  • Added a new setting to get events in the past not older than specified days count
  • SearchMethod based oldest trash message purge
  • Implement an ExchangeSession pool (needed with LdapServer)
  • Add tooltip text to label fields in addition to text fields
  • Standardize logging format (console and file)
  • Improve followredirects logging
  • Various fixes and cleanup from FindBugs audit
  • Add favicon to web site
  • Replace PROPFIND by SEARCH in message retrieval (support for non exchange contentClass e.g. windows mobile messages)
  • Refactor form based authentication : parse html content with htmlcleaner-2.1