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