Release overview
Release Date: 25th May 2020
Release Versions: atmail suite - 8.7 / atmail DAV server - 8.7 / atmail mail server - 8.7 / atmail mail server ansible - 8.7
Roll up release notes
The 8.7 release is a roll up release which includes all work performed from 8.6.0 → 8.7 (8.6.1, 8.6.2).
The release also includes multiple fixes released as 8.7 patches. This document combines all of the 8.7.x release notes.
Breaking Changes
Class of Service (CoS)
Cos has been upgraded from version 1 to version 2, which has been fully redesigned with completely different database schema. For details of upgrading cos, please refer to the guide "Upgrade CoS from v1.x to v2.x".iOSProfileEnabled setting
The iOSProfileEnabled
setting was previously settable on a per-domain basis (via apiadmin or WebmailIntegration plugin in mail server). As the feature did not support domain-specific values for the configuration options in the profile document it made no sense for this to be a per-domain setting and as such the setting has been moved to an environment variable settable in api.conf (named DISABLE_IOS_PROFILE
) and is now either on or off for all users hosted on the system.
Action required
If you previously had iOSProfileEnabled=false
for all domains then you will need to set DISABLE_IOS_PROFILE=true
in api.conf and restart apiserver.
If you previously had iOSProfileEnabled=true
for all domains then no action is required as DISABLE_IOS_PROFILE
defaults to false.
If you have a mix of settings for different domains then you will need to decide what global setting to use and update api.conf accordingly.
New Features
Product | Component | Title | Summary | Other |
---|---|---|---|---|
atmail suite |
||||
Webmail | UX Enhancements |
|
||
Webmail | Calendar | UX Enhancements |
|
|
Webmail | Login | UX Enhancements |
|
|
Webmail | Contacts | UX Enhancements |
|
|
Webmail | quota | Class of service quota |
|
|
Webmail | Class of service | Toggle features via Class of service |
|
|
Webmail | Login | Ability to customize request password url |
|
|
Webmail | Contacts | Contact group sidebar |
|
|
Webmail | Contacts | Import distribution lists |
|
|
Webmail | Login | Language management on login page |
|
|
Webmail | All | Translations |
|
|
atmail mail server |
||||
CoS Plugin | Services | Revamped from 8.6.0 to include more features |
CoS can now control the following features via profiles and specific account exceptions:
CoS is controlled by RBAC for fine grained decisions on which admins can control settings. |
Detailed documentation: Class of Service and sub-pages. |
Advertising Plugin | Services | Plugin location has changed and additional features added |
Advertising is managed as part of the services section Advertising layouts are controlled per domain. |
Detailed documentation: Advertising. |
Product Improvements
Product
|
Component
|
Title
|
Summary
|
---|---|---|---|
Webmail | All | Theming |
|
Webmail | Help | Improved In-app Help |
|
Webmail | Draft duplicates |
|
|
API | Login | Invalidate stored passwords |
|
Webmail | Login | iOS profiles |
|
API | Mime |
|
|
Webmail | All | Error messages |
|
Webmail | API | Resilience |
|
Webmail | Mailboxes |
|
|
Webmail | Content Previews |
|
|
Webmail | All | Translation |
|
API | Admin tool | Scaling |
|
Webmail | Contacts | Import |
|
API | Mailbox roles |
|
|
API | All | SQL Improvement |
|
Webmail | All | UX Enhancements |
|
Webmail | Calendar | Shared Calendars |
|
Webmail | All | Hebrew translation |
|
Webmail | IE11 typing speed |
|
|
Mailserver | Webmail integration | CIDR support for authentication |
|
API | Performance | getMailboxes |
|
Webmail | Spam Management | Improved logging |
|
Webmail | Analytics | Google Analytics per domain |
|
Bug Fixes
atmail suite
- When you create a folder in another browser with same login user, that folder is not displayed instantly or after refresh in the first browser.
- White Scroll bar (with shadow bar) is displayed on mail left panel when in RTL-Hebrew.
- After successful login using a one time password, the user updates the password and then 15 seconds later is kicked out of the login.
- Webmail selected count error.
- Importing contacts not working for some combinations of VCARDs.
- Support parsing emails that contain unused parameters in some mime fields.
- Responsive CSS is broken for wrapping UI items in the composer.
- On error, webmail is not displaying the error text.
- If a user has an invalid theme ID in their settings it breaks webmail.
- Webmail > Compose > Italian Keyboard > "@" symbol causes close of email address.
- Support invalid media type with duplicate named properties.
- Webmail allows selection of /noselect folders.
- Login screen `login` button always displays blue button on IE (11.503) when themed.
- Using " in auto-reply returns an empty error.
- "No emails to list" message is not vertically centred.
- Updating blacklist / whitelist settings when other spam handling features are disabled results in spam_treatment from trash to mark.
- Remove show/hide block sender when spam is enabled or disabled as these are decoupled functions from spam.
- Always display date and time switch isn't working.
- Block sender isn't shown on first login even if spam is enabled.
- Webmail integration plugin does not support certain characters in custom forgot password template.
- Freshly created read only calendars can have events edited.
- Added cache clear functions.
- Enable/disable webmail advertising by cos settings.
- Change translation of the selection tool.
- Class of service update to support new webmail advertising feature.
- Enable / disable spam should leave black and whitelists open.
- Calling setSettings without spam settings results in sieve error.
- Scale issue in apiadmin - large numbers of users renders user list unusable.
- Master password feature does not function when transient password mode is enabled.
- Spam threshold incorrectly set to zero when setting white/black list spam settings.
- Flushes consul 8500 port and crash when CoS not available.
- API does not allow login to email address that have dot-atom form.
- Force password update feature fails first login after resetting password.
- If a service account for calendar is broken, the webmail client is unable to delete email.
- Multiple email in Inbox when sending email with self cc'd.
- Cached errors for getMessageList result in 'Sorry, we could not retrieve your mail'.
- When replying to a thread server side events does not correctly update the thread.
- Empty Trash is not pushing through SSE, when tab to next mail folder (inbox) results another copy of 'TRASH' folder.
- Editing a saved draft for in reply thread and 'SEND' results to multiple email thread and in reply section still editable.
- Emails containing a document without a mime structure are not downloadable properly from webmail.
- Three dots for forwards in Sent folder are not clickable in Hebrew.
- Empty horizontal line appears at the bottom of message header when browser is resized.
- Remembered contacts aren't available in the session they're created in.
- Select all emails then deleting doesn't delete all messages in thread.
- Horizontal scrollbar appears on thread filter menu.
- When replying to a message in Firefox the composer bar disappears.
- 'SPAM' folder in all languages except Hebrew is not translated.
- IE11 - Forgot password link should open a new window.
- IE11 - Webmail Search Error.
- IE11 - Typing speed on login page for some browsers is slow.
- Share Calendar > Add many emails and the UI overflows.
- Fixed an issue where re-rendering of images within received email increased mailbox latency.
- Resolved errors in German translation.
- Resolved errors in French translation.
- Fixed bugs with saving and display of email drafts.
- Fixed a bug with branding that was preventing app-bar colour settings from applying to app-bar icons.
- Fixed a bug that sporadically prevented a user from successfully changing their password.
- Fixed a bug that prevented some email signature images from displaying.
-
Report Spam not working.
-
Third Party Account adds are not set up.
-
Regression - Settings - Spam Score is 0 but tagged as whitelist but automatically moved to spam folder not stayed in inbox.
-
Forgotten password doesn't work.
-
Ads wont display if AdvertisementSpace is rendered before getSettings completes.
-
Can't forward after starting a reply.
-
Counts on default folders should not be hidden on hover.
-
Cannot add recipient on reply composer.
-
Image in signature has broken html <img> tag causing image to not show in gmail.
-
Resolved an issue where some emails were not displayed in webmail.
-
AllowedEmailDomain 'ALL' doesn't work.
-
Fixed misspelling in Change Password text.
-
Fixed an issue where the contact list may not load for some users (infinitely spinning).
-
Advertising: force ad to reload for responsive display.
-
Fix console warning for react properties.
-
Resolved a bug where the pop up message that appears when selecting ‘delete’ a folder, says ‘are you sure you wish to delete ‘Example’ and its one email?’ regardless of the number of emails in the folder.
atmail mail server
- Webmail Admin is not displaying results for 'Send Log', 'Received Log' and 'Webmail Log'.
- Mailserver sub admin role unable to delete email aliases.
- Consul becomes optional.
- User exceptions added.
- Admin unable to delete domains that have COS v1 setup.
- Correct spelling mistake in error message.
- Fix vulnerability scan issues.
- Add feature to invalidate passwords to support migrations.
- Support CoS quota in webmail.
- Exim select on Config table required in install script.
- External email alias limit view for subadmin.
- Missing external email alias after creation for subadmin.
- DKIM signature does not match DKIM selector.
- Resolved a bug with external email aliases.
- Fixed issues with mail server management of Class of Service API.
- Separated Mail Server and Ansible packages.
- Resolved a bug that could display internal IP addresses during password reset processes.
atmail DAV server
- Improved headers that caused SPAM classification on Office365.
- CoS support.
- MyFiles using STORAGE_ENGINE=FS was broken with ms_pdo error
- Removed requirement for DAV_SENDER. From and Reply-To are set to the event owner. Sender is set to SMTP_USER.
- Improved performance for contacts and myFiles.
atmail mail server ansible:
- Add timeout option for antispam call on MX.
- Change order of exim routers to prevent loop.
Improvements
atmail suite
- Mailbox role can be assigned to multiple mailboxes.
- Contact parser now supports `MEMBER` group kind.
- Contact groups in a single VCARD as a distribution list now supported.
- Improved indexes for sql tables.
- GetMailboxes api call refactored to improve performance
- Error log and level improvements.
- Allow toggle of tasks via COS settings.
- Language management on login page - user option and defaults.
- Ability to customize request password url.
- As a webmail user I want to be able to add, delete and rename contact groups from the sidebar group list.
- Change translation of the selection tool.
- Help center to include enable and disable spam functionality.
- Class of service update to support new webmail advertising feature.
- During API calls, attempt to retry calls 3 times if 5xx is returned.
- Help text should toggle according to feature set enabled in webmail - select all.
- Composer 'To' list wrapping improvement.
- Improved email content previews.
- Icon to indicate email has been replied to.
- Icon to indicate email has been forwarded.
- Icon to indicate that an email has been replied to and forwarded.
- Add Funnel Icon top right of nav-bar between search and sort.
- User setting toggle -> disable email preview.
- Documentation for reference to "emails" - change to "email(s)".
- If threads are disabled, all actions (archive, trash etc) relate to the individual email.
- If threads are enabled, all actions (archive, trash etc) relate to the entire thread. (incl. spam management).
- User Setting > Mail > Toggle "enable/disable email threads".
- Default setting for all users is "threaded".
- User Option to select default calendar view.
- Use calendar view from API in webmail.
- Quick-view of contact list when composing an email.
- User option to disable email preview so that only sender and subject are displayed in the message list.
- User option for a sender to set, and receiver to view, email priority.
- User option to enable/disable email conversation threading.
- As a user, I want to set default views for calendars.
- Update redux dev-tool integration.
- Logging improvements during forgot password.
- Remove `disable` text from toggle switches - switches themselves are the action of the word.
- Reply/forward indicator in threads.
- Change mentions of "Flag" or "Flagged" to "Star" and "Starred".
- Hebrew translation change for Add task.
- Hebrew translation change for Forward.
- Only display fields that have data in them (Contacts, Calendars, Tasks).
- Improved time picker (clock UI) for calendar & tasks.
- Add reply, reply-all and forward icons to top the of the email message in webmail UI.
- Select All > drop down list translation improvement.
- Logging improvement - Forgot Password.
- Add visual indication of replied/forwarded status in webmail UI.
- Filter for read/unread messages in folder.
- Improve UK English translations.
- Removed redundant calls during login process to improve login speed.
atmail mail server
- Support CoS Quota.
- Support CIDR list for webmail / admin authentication.
- Call home stats support.
atmail DAV server
- CoS total quota support.
Known Issues Resolved
atmail suite
- Edge print issue → Microsoft Edge has issue with print. Print doesn't work with version 44.17763.1.0(even on any web page), Please update edge to latest version.
Known Issues Outstanding
atmail suite
- API call getContacts → blank {} properties is treated as NULL.
- atmail suite → When receiving a thread update, the avatar is not updated to latest replied user
- Some mail is not reported due to virtual folder dovecot bug when using file based indexes (clear virtual indexes as a workaround).
- Transient password accounts will not work if the domain is switch back to normal logins and visa versa.
- Combined quota will only update on login if SSE is disabled or in error.
- Mini calendar isn't formatted correctly for 12h time. AM and PM are placed on new lines and the text is too small.
- Calendar entries that are not parsed correctly by the DAV server will not be displayed.
- Advanced search's "has attachment" option is wrapped on some screens with high resolutions.
- Repetitive error when attempting to decline an event invitation that originates in Outlook.
- Webmail and email domain names are interchanged when fetching settings for users. Please ensure both email and web hostname settings for api match.
atmail mail server
- On first installation, if a domain is created before services are published the domain will be unavailable to the API.
atmail DAV server
- quota allocated for storage cannot be changed via UI, DB only.
- Shared calendar renaming only updates name itself, not all shared calendar renamed.
atmail Storeman
- Mailstore mailboxes archive correctly, but do not delete the mailbox files when the account is actively being accessed. Set the account deletion delay to greater than 1 day, or ensure the deleted account isn't being accessed via webmail.
Installation/Upgrade Guides
Upgrading to 8.7.0 from 8.6.x
- If an upgrade, update to the latest base packages supplied by CentOS to ensure all the latest security and stability packages are applied:
-
[root@localhost tmp]# yum update -y mariadb mariadb-server openssl openssl-libs exim nginx php php-fpm
If you are using redis (optional): -
[root@localhost tmp]# yum update -y redis
- Use yum to update the atmail-common rpm.
[root@localhost atmail-suite[version]]# yum update atmail-common
Creating group atmail ..... [ OK ]
Creating user atmail ..... [ OK ]
Switching SELinux to permissive mode ..... [ OK ] - Use yum to install the atmail-api rpm.
[root@localhost atmail-suite[version]]# yum update atmail-api
warning: /var/cache/yum/x86_64/7/epel/packages/nginx-1.10.2-1.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY
Public key for nginx-1.10.2-1.el7.x86_64.rpm is not installed
Importing GPG key 0x352C64E5:
Userid : "Fedora EPEL (7) <epel@fedoraproject.org>"
Fingerprint: 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5 Package : epel-release-7-9.noarch (@extras)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
Remove /etc/atmail/api/.master on slave nodes - If this is an upgrade, stop the API server and perform a database schema update like so:
[root@localhost atmail-suite[version]]# systemctl stop apiserver
[root@localhost atmail-suite[version]]# apiserver -config /etc/atmail/api/api.conf --updatedb <..snip..>INFO[0002] Migrations file pairs found: XXWhen you see this line above, hit Ctrl-C (^C) to exit, as all schema updates have been performed.
^C - Restart API service
[root@localhost atmail-suite[version]]# systemctl restart apiserver
- Check the status of apiserver and ensure it is active and running
- yum update atmail-webmail -y
- yum update atmail-dav -y
- Restart services.
systemctl restart php-fpm
systemctl restart nginx - atmail suite installation complete! Access your installation via your URL hostname slash webmail.
https://yourhostname.com/login/ - Update mailserver
- yum upgrade dovecot -y
yum upgrade dovecot-pigeonhole -y
yum upgrade dovecot-mysql -y
yum upgrade atmail-mailserver -y
yum upgrade atmail-mailserver-plugin-WebmailIntegration -y - Restart services.
systemctl restart php-fpm
systemctl restart nginx - Ensure cos is installed and running Class of Service (cos) User Manual.
- Optional: Consul is installed and running. Instructions here Service Discovery With Consul.
Class of Service
Refer to Upgrade CoS from v1.x to v2.x.
atmail mail server
During the upgrade of atmail mail server please consider the following:
atmail-cosadm version 2.1 or higher is now an install dependency, although it is not required at runtime
SQL Account Changes
The account EXIM uses to access mail server database requires SELECT access on Config table. Whilst this has been added to the install script, updates and current installs will need to GRANT this access t the exim user.
Schema changes
|
atmail api server
During the upgrade of atmail api server please consider the following:
Schema changes
ALTER TABLE GlobalSettings ADD COLUMN ComposerPlaceholderText VARCHAR(256) DEFAULT “”;
ALTER TABLE GlobalSettings ADD COLUMN LocaleSelectEnabled Bool DEFAULT TRUE;
ALTER TABLE GlobalSettings ADD COLUMN IOSProfileEnabled Bool DEFAULT FALSE;
ALTER TABLE GlobalSettings ADD COLUMN SelectAllRenderedOnly BOOL DEFAULT FALSE;
ALTER TABLE GlobalSettings ADD COLUMN SelectAllLimit INT UNSIGNED DEFAULT 0;
ALTER TABLE GlobalSettings ADD COLUMN SelectAllEnabled Bool DEFAULT TRUE;
CREATE INDEX idx_ServiceAccounts_Username ON ServiceAccounts (Username);
ALTER TABLE GlobalSettings ADD COLUMN AllowedEmailDomain TEXT NOT NULL DEFAULT ‘’;
ALTER TABLE GlobalSettings ADD COLUMN MaxSignatureUploadSize INT UNSIGNED NOT NULL DEFAULT 0;
ALTER TABLE GlobalSettings ADD COLUMN AllowSelectPrimaryAccount Bool DEFAULT TRUE;
General
When upgrading please ensure you run the schema upgrade tools:
apiserver --updatedb
cd /usr/share/atmail/dav/; php ./scripts/update.php
cd /usr/share/atmail/mailserver/webui; php ./utilities/update/db.php
Mailserver and Storeman relies on each other publishing to a message bus (REDIS). Configurations for the redis hosts are found in the following:
Storeman: /etc/atmail/storeman/storeman.yaml
Mailserver: SQL-mailserver.Config. When sessionType
is set to redis.
Feature Guides
atmail suite - Customise request password reset/forgot url
To change the password reset url you must manually replace the token ##RECOVER_PASSWORD_URL##
with your full password reset URL in all JS files in /usr/share/atmail/webmail/public/
.
atmail suite - Customise the composer placeholder text
To customise the composer placeholder text:
- Using the administration interface navigate to
Services > Webmail Settings > Composer placeholder text
- Enter the placeholder text you would like for the webmail host
- Save settings
- The new placeholder text will be available next login to webmail.
atmail suite - Language management on login page
To manage the language selection on the login page:
-
Using the administration interface navigate to
Services > Webmail Settings > Show language selector / Default locale
- Default locale will set the two character locale default for the login page
- Show language selector will allow/disallow the user to select the translation for the login page
atmail suite - Advertising
Detailed documentation: Advertising
Comments