DavMail Gateway Changelog

What's new in DavMail Gateway 6.2.1 Build 3496

Jan 5, 2024
  • Most changes are related to build process and rpm packaging for Fedora/RHEL, also includes a few bug fixes on IMAP
  • Security:
  • Security: Upgrade commons codec to 1.15
  • O365:
  • O365: cleanup from audit
  • O365: no longer apply the disable integrity check workaround by default, fixed in openjfx
  • O365: add a warning message on FIDO authentication triggered
  • O365: allow refresh token persistence without provided password
  • O365: Merge https://github.com/mguessan/davmail/pull/236 Changed authentication link log level
  • Build:
  • AppVeyor: Cleanup
  • AppVeyor: copy plugin to x86-unicode
  • AppVeyor: switch to server 2019
  • Appveyor: investigate java versions
  • AppVeyor: set ANT_HOME value
  • AppVeyor: update ant path
  • AppVeyor: update ant download path
  • Run Sonar scan under JDK19
  • Switch Appveyor build to JDK 19
  • Maven: fix urls from https://github.com/mguessan/davmail/pull/225 by Stefan Weil
  • IMAP:
  • IMAP: merge patch from https://github.com/mguessan/davmail/pull/140, return folders including special use folders when query is %
  • IMAP: implement fetch macro flags, see https://github.com/mguessan/davmail/issues/314
  • IMAP: fix APPENDUID value order
  • Enhancements:
  • Cleanup from audit
  • Fix typo
  • NTLM: improve logging of NTLM negotiation
  • Update Winrun4J wrappers with commons codec 1.15

New in DavMail Gateway 6.0.1 Build 3390 (Dec 5, 2021)

  • Bugfix release with a few Office 365 enhancements:
  • O365
  • O365: default to MSCAPI on windows for native client certificate access
  • O365: name button Send instead of OK in manual authenticator dialog
  • OS65: merge https://github.com/mguessan/davmail/pull/158 Added Copy to Clipboard button Manual auth dialog
  • HC4:
  • HC4: make DavMail Kerberos configuration provider
  • EWS:
  • EWS: merge https://github.com/mguessan/davmail/pull/106 Support servers only offering EWS/Services.wsdl instead of EWS/Exchange.asmx
  • Documentation
  • Doc: Remove HttpClient migration warning
  • Doc: instructions on standalone setup on Linux for best O365 support
  • Update readme for Github home page

New in DavMail Gateway 6.0.0 Build 3375 (Jul 22, 2021)

  • First major release in a long time, main change is switch from HttpClient 3 to 4, please report any regression related to this major rewrite.
  • DavMail now supports more O365 configurations, including access to client certificate to validate device trust.
  • O365 refresh tokens can now be stored securely in a separate (writable) file.
  • On Linux, in order to ensure the right java version is used, a command line option to download latest Azul JRE with OpenJFX support was added,
  • On windows a standalone package contains Azul JRE FX 15, on OSX updated universalJavaApplicationStub to latest version.
  • 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
  • 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 Gateway 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 Gateway 5.2.0 Build 2961 (Feb 12, 2019)

  • Includes improved ADFS compatibility and support Okta authentication in interactive mode,
  • A fix for Thunderbird dismiss issue, a few LDAP and IMAP enhancements (TRYCREATE support).
  • Also upgraded libraries to prepare HttpClient 4 upgrade.
  • ###EWS:
  • EWS: improve O365 mode handling, force url
  • EWS: detect Okta authentication and explicitly fail in this case with O365Authenticator
  • EWS: O365StoredTokenAuthenticator test case
  • EWS: allow cross domain requests for Okta form support in O365Interactive mode
  • EWS: try to fix #702, add login.srf to OpenJFX workaround
  • EWS: Remove Jetbrains only annotation
  • EWS: Fix O365 device login check
  • EWS: cleanup from audit
  • EWS: Another step in O365 device login
  • EWS: detect devicelogin after O365 ADFS authentication, try to follow redirect
  • EWS: adjust 0365Token log statement level
  • ###Caldav:
  • Caldav: explicitly detect Thunderbird dismiss/snooze events to update only mozilla custom properties
  • Caldav: fix #705 daily recurrence issue
  • Caldav: experimental, return created item URL in Location header
  • Caldav: enable isorganizer field
  • Caldav: adjust isOrganizer check (again) to work on all Exchange server versions
  • Caldav: workaround for missing DTEND in event, avoid NullPointerException
  • Caldav: fix recurrence options and implement interval over EWS
  • Caldav: fix montly recurrence handling
  • ###IMAP:
  • IMAP: fix #704 implement [TRYCREATE] on folder not found
  • IMAP: Fix FETCH RFC822 request for python imap client.
  • IMAP: Additional fix for slash in folder name
  • ###Carddav:
  • Carddav: fix regression, override getAllContacts to list contacts and distribution lists
  • ###LDAP:
  • LDAP: cleanup from audit and support simple rdn authentication, see https://github.com/mguessan/davmail/pull/18
  • LDAP: implement hassubordinates attribute
  • LDAP: fix contact filter over EWS
  • LDAP: fix dn authentication, fix https://github.com/mguessan/davmail/pull/18
  • LDAP: improve dn authentication, fix https://github.com/mguessan/davmail/pull/18
  • LDAP: implement dn authentication, see https://github.com/mguessan/davmail/pull/18
  • LDAP: test case for dn authentication, see https://github.com/mguessan/davmail/pull/18
  • LDAP: encode uid value in dn, see https://github.com/mguessan/davmail/pull/18
  • LDAP: add mappings for HomePhone and Pager attributes
  • ###Documentation
  • Doc: fix https://github.com/mguessan/davmail/pull/21
  • Doc: Improve documentation of client connection timeout, merge https://github.com/mguessan/davmail/pull/20
  • Doc: remove alt from OpenHub link
  • Doc: merge documentation provided by Geert Stappers
  • Doc: Update roadmap
  • Doc: update README.md
  • Doc: document Android configuration with a DavMail server
  • Doc: prepare android setup instructions
  • Doc: improve download link in README.md
  • Doc: update Debian package description
  • Doc: fix openhub link
  • ###HTTP:
  • HTTP: switch from URIUtil to URIBuilder in Caldav test cases
  • HTTP: more Caldav test cases with HttpClientAdapter
  • HTTP: implement caldav report and search test case with HttpClientAdapter
  • HTTP: implement Dav request in HttpClient 4 adapter
  • HTTP: improve HttpClient 4 adapter, detect relative url
  • HTTP: implement HttpClientAdapter follow redirects and parse username
  • HTTP: first HttpClientAdapter draft
  • HTTP: include HttpClient 4
  • Update commons-codec to 1.11 (prepare HttpClient 4 migration)
  • HTTP: test HttpClient 4 connection pool management and expiration
  • HTTP: More HttpClient 4 test cases for authentication, proxy, redirects and URI handling
  • HTTP: Basic HttpClient 4 test cases
  • Update jackrabbit to 2.14.6 (latest version to support httpclient 3.1
  • ###Linux:
  • Linux: adjust tray icon for XFCE and KDE
  • Linux: try to adjust tray icon for XFCE
  • Linux: fix swt jar exists test in launch script
  • Linux: fix SWT version in POM and update description
  • Linux: adjust systemd service to rhel/centos
  • Add DavMail systemd service in spec file
  • Linux: fix compatibility with older distributions
  • SWT: Improve code to make it compatible with older SWT libraries in Ubuntu 18.
  • Linux: fix spec file regression
  • ###Maven:
  • Maven: reenable site plugins in pom

New in DavMail Gateway 5.1.0 Build 2891 (Dec 21, 2018)

  • EWS:
  • EWS: more progress on ADFS authentication
  • EWS: cleanup warning message
  • EWS: experimental, implement davmail.oauth.persistToken to store Oauth refresh token
  • EWS: make progress on O365 ADFS authentication, fix method
  • EWS: stored token authentication, load token by username
  • EWS: make progress on O365 ADFS authentication, enable NTLM and pass credentials
  • EWS: O365 authentication, set resource url on token refresh
  • EWS: set default access token expiration
  • EWS: implement stored access token in addition to refresh token (will only last one hour)
  • EWS: experimental, load Oauth refresh token from setting davmail.oauth.refreshToken
  • EWS: fix https://github.com/mguessan/davmail/issues/15 empty domain in NTLM authentication
  • EWS: revert to 4.9.0 behavior for EWS mode
  • EWS: fix regression in token handling
  • EWS: allow urn protocol in O365 authenticator
  • EWS: fix regression when main authentication relies on OWA and/or ADFS
  • EWS: check for errors in returned json token
  • EWS: Fix warning message
  • EWS: workaround for JavaFX bug, add one more URL
  • EWS: call setAlwaysOnTop(true); on page load success
  • EWS: in addition to requestFocus, call toFront
  • EWS: workaround for JavaFX bug, handle more methods in connection wrapper
  • EWS: workaround for JavaFX bug, handle post requests
  • EWS: workaround for JavaFX bug, add additional microsoft url
  • EWS: workaround for JavaFX bug, fix java 8 regression
  • EWS: Add export compiler arg java.base/sun.net.www.protocol.https for webview bug workaround
  • EWS: improve interactive authenticator focus handling and remove reflection calls
  • EWS: workaround for JavaFX bug, use reflection to avoid java 9 errors
  • EWS: workaround for JavaFX bug, drop reference to internal sun class HttpsURLConnectionImpl
  • EWS: workaround for JavaFX bug, disable integrity check on external resources in O365 authentication form
  • EWS: javafx test can also trigger NoClassDefFoundError
  • EWS: Rename JSLogger
  • EWS: improve O365 interactive error handling
  • EWS: override console.log to send error messages to Log4J
  • EWS: More EWS test cases
  • EWS: new authenticator test cases
  • EWS: detect when user settings validation is required by Office 365
  • EWS: detect manual window close event
  • EWS: Make sure we close frame on timeout, improve error message
  • EWS: refactor O365 authenticator to do all gui calls in Swing thread
  • EWS: cleanup from audit
  • EWS: encode slash inside folder names
  • EWS: convert date without SimpleDateFormat during load messages to improve performance and reduce memory footprint
  • EWS: Send authentication failed instead of generic error in case of username mismatch in O365Authenticator
  • Documentation:
  • Doc: update project description in README.md
  • Doc: update project description
  • Doc: adjust IntelliJ link according to JetBrains recommendation
  • Doc: revert openhub change, was a target side issue
  • Doc: add YourKit Java Profiler logo to home page
  • Doc: improve IntelliJ IDEA home page logo
  • Doc: fix swt gtk version in documentation
  • Doc: fix openhub link
  • Doc: add link to https://apps.dev.microsoft.com/
  • Doc: direct link to latest release package download list in README.md
  • Doc: fix link in server setup documentation
  • OSX:
  • OSX: upgrade universalJavaApplicationStub to 3.0.4
  • Linux:
  • Linux: prepare systemd service
  • Linux: missing openjfx dependency
  • Linux: set cross platform look and feel on Linux, except is swing.defaultlaf is set
  • Linux: enable anti aliasing in GUI
  • Linux: improve launch scripts to handle more cases (OpenJDK 11 with or without SWT)
  • Linux: remove swt4 suggests and revert gtk force, does not work under debian sid
  • Linux: Force gtk version no longer required with cross platform look and feel
  • Linux: use hi res icon images in frame mode
  • Linux: Add JavaFX classpath to launch script
  • Linux: add libopenjfx-java dependency to debian package
  • Linux: switch swt dependency to suggests
  • Caldav:
  • Caldav: another NullPointerException fix
  • Caldav: fix #694 Null pointer exception writing days of week
  • Enhancements:
  • Avoid nullpointerexception on missing credentials
  • Move isLinux method to Settings
  • Revert back to Java 6 build in all cases
  • Restore Java 6 compatibility
  • Add utility methods in Settings
  • Do not try SWT when O365 interactive mode is selected.
  • Windows:
  • Windows: update winrun4j 64 wrapper to support java > 8, see https://github.com/poidasmith/winrun4j/pull/81
  • GUI:
  • GUI: dispose notification dialog on close
  • GUI: increase default frame size
  • GUI: add hi res icon images
  • GUI: use setLocationRelativeTo to set frame location
  • SWT:
  • SWT: O365Interactive is not compatible with SWT, do not try to create SWT tray
  • SWT: call GDK.gdk_error_trap_push() to avoid crash
  • SWT: Enable debug mode
  • SWT: upgrade SWT to 4.9
  • SWT: drop deprecated SWT 3 calls and adjust tray icon image to 22px
  • Appveyor:
  • Appveyor: build with JDK11
  • Merge patch #51 Check for javafx in compile classpath

New in DavMail Gateway 4.9.0 Build 2652 (Sep 6, 2018)

  • Includes a lot of enhancements, library upgrades, improved Linux desktop support, code cleanup
  • And a brand new Carddav distribution list support.
  • DavMail repository is now synced with Github, including Travis CI integration.
  • Enhancements:
  • Update Jcharset to 2.0
  • Upgrade JavaMail to 1.5.6
  • Fix maven dependencies, reference local jars for libraries missing in main Maven repository
  • Sample config to log connections in a separate log
  • Provide command to launch DavMail without SWT
  • Cleanup from audit
  • Fix from audit: remove duplicate code
  • Remove old repositories from Maven pom and add stax2-api dependency
  • Remove dependency to xercesImpl-2.8.1.jar
  • Drop jsmoothgen-ant-0.9.9-7-mgu2.jar, replaced with WinRun4J
  • Upgrade to Woodstox 5.1.0, waiting for pull request to drop patch, see https://github.com/FasterXML/woodstox/pull/56
  • Fix from code audit
  • Allow console logging in server mode
  • Implement -server command line option
  • Implement compile target for Java 9 and later
  • Linux:
  • Linux: Allow JDK 11 with Debian package
  • Linux: disable system tray on Ubuntu 18
  • Carddav:
  • Carddav: Add unit test to check CRLF conversion in multiline properties
  • Carddav: by jbhensley, drop carriage returns from property value
  • Carddav: distribution list / contacts unit tests
  • Carddav: by jbhensley, fix vCard PHOTO property. Tested on iOS 11.2.6 and Outlook 2013
  • Carddav: Detect empty picture data
  • Carddav: Use cn as default sn for distribution lists
  • Carddav: avoid NullPointerException with empty distribution lists and prefer user provided photo
  • Carddav: search for members on all email attributes
  • Carddav: Merge contact and distribution list search
  • Carddav: implement distribution list create and update
  • Carddav: Merge DistributionList with Contact
  • Carddav: First step at distribution list implementation, retrieve DL and members
  • Github:
  • Add link to github repo
  • Add Travis build status
  • Fix old developerConnection and remove prerequisites according to Travis CI log
  • First try at travis CI config
  • Added : /trunk/README.md
  • IMAP:
  • IMAP: fix from code audit
  • IMAP: fix #689 Double space in UID FETCH response
  • IMAP: include Conversation History in standard folder list
  • IMAP: fix patch #49 mixed case INBOX select by google
  • EWS:
  • EWS: fix duplicate bcc definition
  • EWS: improve error handling, get field names on update item error
  • Caldav:
  • Caldav: workaround for invalid RRULE with both COUNT and UNTIL values leading to ErrorMimeContentConversion failed error
  • Caldav: cleanup from audit
  • Caldav: fix timezone failover
  • Caldav: unit test for Korganizer duplicate timezone bug
  • Caldav: workaround for Korganizer duplicate timezone bug
  • Caldav: Fix recurrence enumeration values
  • Documentation:
  • Doc: add FAQ entry for Office 365

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

  • Bugfix release with latest Caldav EWS enhancements, also includes fixes for old standing bugs in bug tracker.
  • 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
  • More Caldav fixes, drop SWT on windows and try to improve tray support detection on various Linux distributions.
  • 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

New in DavMail Gateway 4.8.5 Build 2589 (Apr 11, 2018)

  • More Caldav fixes, drop SWT on windows and try to improve tray support detection on various Linux distributions.
  • 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
  • Linux:
  • Refactor icon handling, automatically adjust color/size to match common default themes on Linux and add a new davmail.trayBackgroundColor setting to let users set their own theme color
  • Make spec file compatible with RHEL 7 / Centos 7
  • Documentation:
  • Doc: cleanup supported versions

New in DavMail Gateway 4.8.4-2570 (Apr 4, 2018)

  • Caldav:
  • Caldav: Add davmail.caldavAutoSchedule to GUI
  • Caldav: introduce a new setting davmail.caldavAutoSchedule to enable or disable automatic scheduling in EWS mode
  • Caldav: try to fix #674, do not send notifications on event update
  • Caldav: EWS refactoring, avoid converting simple events to meetings
  • Caldav: Restore calendar-schedule behavior in Webdav mode
  • Caldav: in EWS mode, ignore urlcompname and always use itemid as item name, except if explicitly requested
  • Caldav: isMeeting EWS flag is not reliable, check for attendees with displayto and displaycc
  • Caldav: Fix isorganizer detection in deleteItem
  • IMAP:
  • IMAP: fix regression on search NOT KEYWORD
  • Documentation:
  • Documentation: fix typo in FAQ
  • Doc: Improve Thunderbird LDAP documentation
  • Enhancements:
  • EWS : cleanup from audit
  • Exclude log files from build

New in DavMail Gateway 4.8.3-2554 (Jan 29, 2018)

  • More EWS Caldav refactoring, fix regressions noticed in 4.8.2 and merge a lot of user provided patches.
  • New calendar event handling is not yet enabled by default, please use davmail.caldavRealUpdate=true to
  • check this new experimental implementation.
  • Caldav:
  • Caldav: add cancelled translation
  • Caldav: EWS refactoring, map status field, except CANCELLED not supported by Exchange
  • Caldav: implement editable notifications on meeting cancel
  • Caldav: do not send notifications if user canceled in edit dialog
  • Caldav: Make sure we set all notification options on event update
  • Caldav: Revert status conversion that triggers regressions and enable notifications on create
  • Caldav: test multiline value handling in VCalendar
  • Caldav: test case for loadVtimezone and searchTasksOnly
  • Caldav: in loadVtimezone, delete existing temp folder first to avoid errors
  • Caldav: EWS refactoring, make sure we send meeting notifications
  • Caldav: fix #666 trailing "nn" added to tasks description synced from exchange
  • Caldav: EWS refactoring, only update reminder info on meetings when not organizer
  • Caldav: Fix meeting response body, send and save copy
  • Caldav: EWS refactoring, implement edit notifications comment
  • Caldav: fix task update regression
  • Enhancement:
  • Merge #47, support soTimeout and connectionTimeout on exchange
  • Merge patch #46: Maven patch to add resources in the target/davmail.jar
  • Test: fix initial server and logging settings
  • Copy release notes to dist on release
  • Change test cases to load credentials from a separate test.properties file
  • Remove old jsmooth config file
  • Apply patch to fix #601 invalid davmail.server.certificate.hash format
  • Documentation:
  • Doc: fix #320 Wrong link in documentation
  • IMAP:
  • IMAP: Accept US-ASCII as charset in search condition
  • IMAP: fix #40 KEYWORD support for spring-integrations
  • OSX:
  • OSX: Update universalJavaApplicationStub to 2.1.0
  • Windows:
  • Windows: Create a 64 bits installer for windows
  • Carddav:
  • Carddav: merge patch #44 Allow disabling reading photo from contact data

New in DavMail Gateway 4.8.2-2524 (Jan 3, 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 Gateway 4.8.1-2507 (Dec 13, 2017)

  • Last release before major EWS caldav refactoring, includes only the first behaviour change: do not delete existing meeting on Accept/Decline, just send answer to organizer. Also includes central directory photo handling in Carddav service, improved Java 9 support and many other bug fixes.
  • Caldav:
  • Caldav: temporarily disable EWS refactoring
  • Caldav: EWS refactoring, implement multiple day recurrence and end date
  • Caldav: EWS refactoring, first recurrence implementation step, improve ignore etag handling
  • Caldav: EWS refactoring, manage attendees
  • Caldav: prepare calendar refactoring, do not delete/add received meeting items, just send an Accept/Decline message
  • Caldav: fix regression, busy status is case sensitive in EWS
  • Caldav: fix #657 Tentative events shows as accepted in Thunderbird with user provided patch
  • Caldav: experimental davmail.ignoreNoneMatchStar to let DavMail overwrite existing event automatically processed by Exchange.
  • Carddav:
  • Carddav: implement get photo from Active Directory
  • Enhancements:
  • update winrun4j wrappers
  • Upgrade slf4j to 1.7.25 (patch #45)
  • Fix 654: trim OWA/EWS url
  • Ant: improve java version check
  • Remove useless debug statement
  • Smartcard:
  • Smartcard: improve Java 9 error handling, no longer need a temporary file
  • Smartcard: try to implement code compatible with all java versions including Java 9
  • IMAP:
  • IMAP: implement ON search filter
  • IMAP: detect icedove header fetch to improve performance
  • IMAP: make sure we never return null even with broken 0 uid message
  • POP:
  • POP3: Improve documentation on trash/sent folders purge, change default value from 90 to 0 (disable)
  • SWT:
  • SWT: wait 10s for tray icon to be created

New in DavMail Gateway 4.8.0-2479 (Aug 10, 2017)

  • RPM:
  • update RPM default config file
  • Remove ant-antlr from spec file
  • 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 Gateway 4.7.1-2416 (Jan 23, 2016)

  • Bugfix release, mainly for Carddav regression over EWS, also includes an NTLM support enhancement
  • 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 Gateway 4.7.0-2408 (Nov 28, 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
  • Documentation:
  • Doc: Document -notray option
  • Switch to OpenHub instead of Ohloh
  • EWS:
  • EWS: prepare distribution list implementation
  • Fix #254 davmail.exchange.ews.EWSException: ErrorIncorrectUpdatePropertyCount
  • Windows:
  • Windows: Make MSCAPI keystore type available in Settings for Windows native smartcard support
  • Instantiate MSCAPI explicitly to access Windows Smartcards
  • Enable native Windows SmartCard access through MSCAPI (no PKCS11 config required)
  • 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 Gateway 4.6.2 (Sep 3, 2015)

  • Another bug fix release with some efforts on packaging.
  • 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
  • SMTP:
  • SMTP: use content chunk to send large messages

New in DavMail Gateway 4.6.1 (Sep 3, 2015)

  • Bugfix release to fix recent regression with Office 365, also includes a few 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 Gateway 4.6.0 (Sep 3, 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.
  • 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 Gateway 4.5.1 (Sep 3, 2015)

  • 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

New in DavMail Gateway 4.5.0 (Sep 3, 2015)

  • Includes EWS performance enhancements, improved Exchange 2013 support and many fixes detected by Coverity audit tool
  • EWS:
  • 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
  • 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
  • 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
  • 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 Gateway 4.4.1 (Sep 3, 2015)

  • 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.
  • 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
  • avoid null dereference when no network interface is available
  • set encoding on byte array to String conversion
  • 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:
  • Fix 555 another broken Israeli timezone
  • ignore invalid BEGIN line inside object (Sogo Carddav issue)

New in DavMail Gateway 4.4.0 (Sep 3, 2015)

  • Added folder size limit setting to let users avoid IMAP timeouts and reduce memory footprint.
  • Also contains many documentation updates, including some more bugfixes on IMAP, Caldav and SMTP.
  • Enhancements:
  • - Additional IMAP unit tests
  • - Add davmail.folderSizeLimit to UI and documentation
  • - Fix AbstractConnection.readContent, see https://sourceforge.net/p/davmail/bugs/538/
  • SMTP:
  • create a new davmail.smtpStripFrom boolean property to force From: header removal
  • IMAP:
  • Make flags case insensitive on append
  • improve uidNext implementation
  • Italian IMAP flag translation thanks to [email protected]
  • fix 538, send capabilities untagged response to avoid timeout on large message APPEND
  • Implement davmail.folderSizeLimit

New in DavMail Gateway 4.3.4 (Sep 3, 2015)

  • IMAP header management regression fixes.
  • Also fixed a few bugs reported by users and improved documentation.
  • 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
  • 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 Gateway 4.3.3 (Sep 3, 2015)

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

New in DavMail Gateway 4.3.2 (Sep 3, 2015)

  • IMAP: Fix regression on IMAP select folder with thunderbird