Summary
atmail dav server 1.1.0 highlights:
- DAV
- base code upgrade
- Introduction of hashed password schemes
- Added features to support migration
atmail suite 8.2.0 highlights:
- Double click support
- Calendar Sharing
- Right click context menu
- Composer Improvements
- Forgotten user password
- Some features require administrators to follow our help center documentation for configuration changes during upgrades.
WEBMAIL - 8.2.0
- Improved help documentation
- Added shared calendar support
- Right clicks on new thread items now move already open menu to new thread list item
- CalendarListItem.js removed console.log()
- Added in-app calendar sharing help
- Added hint in UI to reduce confusion for password reset dialogs
- General cleanup of debug logs
- Added thread list context menu to help documentation
- Fixed firefox upload attachment freeze issue
- Fixed X-JMAP-Extentions in event source to append :1 to each extension name
- Removed edit/delete options from UI for read-only events
- Fixed display of autocomplete list
- Update code to use react-router v4
- Allow editing of imap service account password
- Fixed remove flag
- Added 'archive' option for mail
- Include font options in the composers toolbar
- Added a fix to prevent the submenus from flickering open/closed when re-rendered
- Reposition menu when beyond window edges
- Highlight formatting options in use in wysiwyg toolbars
- Hides the timezone details in attached events as we display them in the local datetime
- Now correctly handles event invitations sent to an alias
- Dont show empty event notes
- Correctly open events in the agenda view
- Fixed thread ordering
- If a new event form is already open, creating another new event will now reload the form with the new date/time
- Emails with no subject now display '(no subject)'
- Double clicking on an event will now open it in edit mode
- Correct collapsed messages overlap
- General improvement in error handling
- Double-click on a time/day slot now opens the new event form
- Support creating a new event by drag and selecting times on the calendar
- Added support for migration statuses
- Ensure all day events dont grow in duration when dragging and dropping
- Support drag and dropping of events to change their date/time
- Add ability to add an emailers details as a contact
- Prevent proptype warning with the "all" group not having an id
- Re-fetch message after loading to avoid undefined message body error
- Added features to support 'add to contacts'
- Improve toggling themes for all components
- Added ability to print single message from a thread
- Show alert if trying to save a contact while photo is still uploading
- Improve showing and removing of avatars
- Show contact avatars when viewing mail
- Only show populated fields when viewing a contact
- Wrap text on long attachment names
- Support font, link and image commands in toolbars
- Display attached event dates as "user" (determine by users timezone setting) values
- Ensure multi day and all day events end at the end of the day
API SERVER - 8.2.0
- Added forgotten password functionality and callbacks
- Add nil check for processed enmime envelope.
- Use the NAMESPACE delimiter for the virtual namespace, for mdbox
- Fix behaviour when empty props array passed into GetProperty. Now all props requested.
- Added code to prevent index out of bound during mail fetch
- Filtered out DAV containers that do not support VEVENTS
- Total now excludes messages with Deleted, no need to filter; Messages with Deleted flag MUST NOT be visible to JMAP
- Log level incorrect for for Quota error
- Fix NPE on setMailboxes with parentID not set
- Fixed apiserver parse email date failure issue
- Fix apiadmin identity list and add
- Fix exclusive client access violation on Check
- Fixed apiadmin service add error on mysql due to zero date issue
- Improved threading
- Added a backup no threading implemention
- Added x_atmail_calendar_acl extention to support shared calendars
- Changed logger output to not include date stamp during apiadmin usage
- Added heavy logging during debug mode for provisioning
- Added DAV server schema version detection to provisioning; Provision/de-provision system now supports DAV server version 3.0.x > 3.2.x schema
- Update to airbrake v3 API
- Fixed inverted error check for GetAccountStatus
- Fixed inverted logic check for connectFailure
- Fixed setCalendars trying to check if contacts account is readonly
- Fixed error strings for GetCalDavClient and GetCardDavClient to return descriptive errors
- Fixed panic if account missing contact account when instancing _caldav_ client
- Improved show-config output for apiserver binary
- Fixed password generation issue with apiadmin
- corrected issue where connection status is only set on failure of imap connection
- Add missing check for NAMESPACE capability
- Corrected bug where owner was wrong - now uses 'organiser' from dav response
- Fix MAILSERVER_URL default value
- Corrected a few issues with getAccountIDs where shadowed variables overwrote result and missing transaction database usage
- License error are now streamed via eventsource
- Refactored filtering of contact properties
- Fixed IsTerminal usage for apiadmin
- Fixed getContacts respecting properties requested
- Improved provisioning for USERS that have a ACCOUNT but not SERVICE accounts setup
- Fixed vcard unmarshal to follow RFC2425 section 5.8.2
- Added download image from vcard feature
- Fixed 'other' field being ignored for contacts
- Corrected bug where calendars with alpha channel stored are presented in frontend as red
Known Issues
- A blank {} properties is treated as NULL for getContacts
DAV - 1.1.0
- Added features to support upcoming migrations from on premise atmail
- Upgraded base code to 3.2.0 from upstream provider
- normalised end of lines
- Removed PHP 5.5 specific code to resolve PHP 5.4 support
- polyfilled required DateTimeImmutable + DateTimeInterface for PHP 5.4 support
- Added CalDav/Subscriptions plugin
- Added Dav/Sharing plugin
- Fixed duplicate STATUS message on CANCEL ITIP message
- Fixed PDO connection to use UTF8
- Added UPGRADE.md, NOTES.md, CONFIG.md for different sections of original README.md; These three new files should be included in distributed package
- Added description for configuration options in readme.md
- Removed unused CHANGELOG
- Added memory and execution limit settings
- Added warning output to log if memory limits hit
- Added support global address book - disabled by default
- Added unique index on cards similar to calendar events
- Added password hash modes
- Changed from digest to basic auth for support of hash modes
- Added database migration scripts
- Now applies atmail schema to dav database, allows version control
- Added switch to enable/disable browser plugin
Change Log
T | Summary |
---|---|
Collapsed message overlap | |
Cannot read property 'includes' of undefined | |
Cannot read property 'scrollTop' of null | |
Foreach bug in sse handling contact/contactlist | |
Improve configureEnv.sh fix the alias issue | |
Remove 3.0.9 sabredav code from API | |
No default value for configuration file | |
Mysql vs MariaDB - strict DB issues | |
Attachment is received as 0 byte. | |
setCalendars panics when checking if calendars is read only instead checks contacts exist | |
"nil" hardcoded error strings if GetCalDavClient or GetCardDavClient return an error | |
GetCalDavClient panics if account does not contain a contact account | |
apiadmin password generate - trailing enter | |
Conformance testing for ITIP | |
DAV containers that do not support VEVENTS are still displayed as a calendar | |
Starting fails with logger.isTerminal is undefined | |
Test framework is failing | |
Blobs can be deleted whilst a reference to them are still in use | |
Install schema has an error | |
Tests currently broken | |
Add STOP to sieve rule | |
Timezone conversion bug - Google Calendar invite | |
License seat message only output on command line | |
deletedomain api fails | |
setSettings with new settings generates error | |
apiadmin service list - not displaying service account type | |
Mailbox failed to load if a date inside ITIP message missing location | |
Failed to create event | |
Failed to parse cancelled event invitation | |
IDLETERM Error: &errors.errorString{s:\"EOF\"} | |
Event date/time details incorrect | |
APIServer/Admin configuration file location | |
Timezone calculation - calendar event | |
Server should set isAnswered when sending a message | |
Attachments CID inline should be CID only, not "cid:" | |
Can save a contact with no data | |
Contact/CalendarEvent properties not being used | |
Total maibox counts looks incorrect (gmail) | |
![]() |
Shared calendars |
QUOTA from IMAP, flow through to UI | |
Use delimiter from namespace call | |
Bump version to 8.2.0 | |
IMAPS connections require some more configuration options | |
Configuration Review | |
Add temp dir to .gitignore | |
Reduce number of queries upon login (and others) | |
Update schema to use CREATE TABLE IF NOT EXISTS | |
Support license sse events | |
Support drag and drop of events | |
Create event via drag and select | |
Open new event form by double click a day on the calendar | |
Improve admin journal details | |
Create API extension for read of admin journal | |
Create API extension for exposure of shared calendars | |
Support for SabreDAV ACL | |
THINK: What sharing models are supported by SabreDAV | |
THINK: Can we share calendars externally? | |
Attached messages | |
APNS | |
Calling getContacts doesnt respect "properties" | |
Event source pubish license expiration | |
Cleanup and tidy comments, variable usage etc | |
Ensure provisioning and deprovisions function with sabredav 3.2.x | |
Wire together getCalendars and setCalendars API calls to datasource and backend | |
Test suite for calendar sharing | |
Create apiadmin tooling | |
Pass in extensions via get param | |
Refactor filtering of contact properties to inside api.getAPIContact | |
Modifiy api.GetProperty to accept a default field | |
Add contact bitfields for use with api.GetProperty | |
Create stubs to use in webapp development | |
Update generate_test_data.bash to be compatible with RPM installation | |
Update settings test to use new Settings structure | |
Update common framework to use config.DefaultFlag.Bind rather then older GetBind() | |
Fix ds.NewDBDatasource signature | |
Fix ds.ConnectDatabase signature change for testing common framework | |
Improve cleanup to a manager that we can implement other rules later | |
Update tests to use new style blob functions | |
Move background cleanup of blobs from main to a package | |
Investigate changes to file upload / blob storage | |
Store discovered values in table | |
THINK: Store discovered resources in table or rediscovery? | |
Integrate changes for migration | |
Provide migration tools 3.x > 3.2.0 | |
Force composer to accept PHP 5.4 for sabredav 3.2.0 | |
Implement DateTimeImmutable (php 5.5 only object) from DateTime | |
Remove try/catch/finally - php 5.5 only | |
Rebuild release | |
Support migrate status | |
SKIP_TLS_VERIFY_ALL set to true for default | |
Document skip tls functions | |
Document forgotten password feature | |
Document SMTP configuration options | |
Document cache items | |
Investigate best protocol feature to use for sharing | |
Setup a multi IMAP testing environment | |
Schema change for migrations | |
Ensure documentation is complete for api server | |
Upgrade failure | |
Create release | |
Upgrade base sabredav code to 3.2.x | |
BUG: PDO connection does not specify UTF8 | |
Create versioning control for schema and code | |
SELinux stops installation and running | |
Make global directory tighter when searching from cards that match users | |
Modify sabredav to configure execution and memory limits |
BUG
NEW FEATURE
EPIC
SUB-TASK
IMPROVEMENT
Comments