EGroupware 23.1 was releases on 15 March 2023. Since then, maintenance releases have included many corrections as well as new functions, settings and presets.
See below for detailed release notes.
The release notes from the pre-releases are also listed here (below).
Release notes EGroupware 23.1: Read here
For each update the changes are described in Announcements. This article summarizes the descriptions once again.
Changelog release 23.1.20231110
- Collabora: fix inserting images from filemanager
- Notifications: aggregate messages by app:id to return only latest one, also added a cut-off date of 30 days and cleaning older messages
- Addressbook/REST API: categories were lost, when updating existing contacts
- Mail/REST API: always add signature below supplied body (independent of user preference for reply/forward)
- Calendar/REST API: adding of participants to events
- ActiveDirectory: supporting well-known SIDs not matching the domain-SID e.g. S-1-5-32-544 for BUILDIN\Administrators
- AD Import: run full group import for AD, as it does not update modification time of group, when memberships change
- AD/LDAP Import: allow setting import frequency < 1h eg. .1: every 5min, .5: every 30min
- Api: converted action-system to TypeScript
- Many translations
- New icons (email) WIP
New functions / preferences or other important things:
- Mail/REST API: always add signature below supplied body (independent of user preference for reply/forward)
Emails that are generated via the Mail/REST API in EGroupware now always have the signature placed below the delivered body.
This is now independent of the user settings for the signature position.
- Calendar/REST API: adding of participants to events
It is now possible to add participants to appointments created via the Calendar/REST API.
- AD/LDAP Import: allow setting import frequency < 1h eg. .1: every 5min, .5: every 30min
The automatic import of AD/LDAP users/groups can now be set finer and shorter down to 5 minutes.
The value should not be set shorter than absolutely necessary in order not to unnecessarily burden EGroupware and the AD/LDAP systems.
Changelog release 23.1.20230911
- Mail: equal sign followed by numbers is mangled in plain-text mails (e.g. =22 becomes a ")
- Calendar: fix at certain times calendar showed Tuesday-Monday instead of Monday-Sunday (depending on timezone)
- Api: Store recoverable password (encrypted) for shares so you don’t have to change it when you forget
- Api: fixed date&time display on mobile devices
- ActiveDirectory: fix regression causing password change to fail with error “no SSL connection”, even if one was used
This Maintenance update is provided via Docker container.
New functions / preferences or other important things:
This update contains “only” bug fixes.
Changelog release 23.1.20230824
- Api: Store recoverable password (encrypted) for shares so you don’t have to change it when you forget
- Mail: new modus for vacation notice to not save message to INBOX and REST API to set vacation handling
- Mail: Add attachment action “Forward to” that adds file directly to compose window
- Mail/ActiveSync: fix wrong mime-type / broken mail when AS smart-forward is used e.g. by gmail app
- Calendar/CalDAV: Thunderbird and CalDAVSynchronizer: update only participant data, instead of failing when the event was changed
- Calendar/CalDAV: do NOT limit number of returned events for GET requests with download parameter
- Calendar/CalDAV: download of whole calendar as ics with a GET request on the collection and download GET parameter gave an empty file
- Calendar: Change how participant emails are shown
- PostgreSQL/Mail: fix SQL error querying email avatars
- smallPART: automatic subscribe everyone (including teachers) only as student on LTI launch, course owner must grant higher rights
- Status: add rocketchat group preference in order to be able to show selective RC groups in status app
- Tracker: Add ability to set due date through mailhandling and escalations
- Tracker: Add configuration option to set ticket start date from email
- AD/LDAP: added a DN filter to the periodic import to e.g. use 2 OU with a shared base
- AD/LDAP: fix periodic incremental import was loosing memberships to local groups for modified users
- AD/LDAP: fix duplicate key account_lid error on import caused by mixed case in account-names not treated equal
- AD/LDAP: fix local uploaded pictures are lost when automatic import is used
- ActiveDirectory: fix not working ldaps connection on a non-standard port
- General: Add new translations and icons
This Maintenance update is provided via Docker container.
New functions / preferences or other important things:
- Mail: new modus for vacation notice to not save message to INBOX and REST API to set vacation handling
It is now possible to set in the absence note that the answered e-mail is not saved in the inbox.
It is also possible to set that no out-of-office message is sent. In this way, you can also only set a forwarding with the out-of-office message.
Furthermore, we have created an API for out-of-office notification:
This means that the out-of-office notification can also be controlled by other systems such as holiday planners.
- Mail: Add attachment action “Forward to” that adds file directly to compose window
It is now possible to attach attachments from e-mails directly to a new e-mail:
- Status: add rocketchat group preference in order to be able to show selective RC groups in status app
It is now possible to select Rocket.Chat groups for display in the status sidebar.
- Tracker: Add ability to set due date through mailhandling and escalations
- Tracker: Add configuration option to set ticket start date from email

Changelog release 23.1.20230728
- fix some regressions introduced in last maintenance release, see
This Maintenance update is provided via Docker container.
New functions / preferences or other important things:
- fix some regressions introduced in last maintenance release, see
We had to publish an update of the update at short notice because serious errors had crept in.
Changelog release 23.1.20230726
- API/Login: application passwords / token to use instead of regular user credentials, optional with limited rights
- Mail: REST API to send mails including attachments / sharing links, or open interactive compose windows
- Mail: improve performace by skiping search for avatar images in contacts in favor of loading them when they become visible
- Calendar: new REST API to read, create, modify and delete events
- Calendar: fix empty calendar on mobile devices
- Calendar: Added category filter for events without a category set
- Api: When clicking an email address, ask if user wants to add email to existing compose window or start a new mail
- API: Customfield selectboxes can read options from a JSON file in the VFS using @[path] ex: @/home/Default/options.json
- Adressbook/CardDAV: unconditionally start output-buffering to fix problems with huge multiget reports from TB110 AB
- mailto: fix wrong URL registered for on premise installation (you need to delete it in the browser first!)
- Wiki: allow German umlauts and other non-ascii chars in page names
- Infolog / Tracker: Change timesheet total columns to ignore timesheet ACL
- Tracker: Add configuration setting for default tracker queue for new tickets instead of just the first one
- Tracker: Add read / unread filter to tracker list
- ActiveDirectory: implement fail over for multiple AD controllers (failed controllers are blacklisted for 5min)
- Setup/Authentication: added an authentication log and fallback authentication for all backends
- Older/forgotten: Keep list open for selecting multiple items
- All apps: Improve icons and translations
This Maintenance update is provided via Docker container.
New functions / preferences or other important things:
- Mail: REST API to send mails including attachments / sharing links, or open interactive compose windows
New API for triggering mail composing.
See documentation on GitHib-Wiki.
More on this soon in a separate article.
- Calendar: new REST API to read, create, modify and delete events
New API for creating appointments.
See documentation on GitHub-Wiki.
More on this soon in a separate article.
- Calendar: Added category filter for events without a category set
It is now possible to set a category filter “non”:

- API: When clicking an email address, ask if user wants to add email to existing compose window or start a new mail
You can add further addresses to an open Compose Mail window by clicking on E-mail Addresses or in the Address Book/Context Menu/Mail. You thus collect addresses.
If more than one Compose Mail window is open, a prompt appears asking to which mail you want to add the address(es).
Until now, there was no query if only one mail-composing window was open. This meant that it was possible to add addresses to a mail unintentionally (click on address, …) and not notice it.
Now a query appears even if only one mail composing window is open:

Addition:
Files can also be added collectively 
- Tracker: Add configuration setting for default tracker queue for new tickets instead of just the first one
It is now possible to define a default tracker queue:
- Tracker: Add read / unread filter to tracker list
It is now possible to filter on read/unread items:
- Older/forgotten: Keep list open for selecting multiple items
A new preference in the common preferences controls whether the selection list remains open after a search to select further entries:
Changelog release 23.1.20230620
- Mail: Add new pane option for showing all columns in vertical 3-pane view
- Mail: fix mixed up inline images and attachments in smime signed messages
- Calendar: fix external organizer was not notified by mail (and other missing notifications of non-users)
- Calendar: Fix clicking a day in a different month in sidemenu jumped to wrong date
- Calendar: Deleting an event sometimes left other user’s alarms
- Calendar: Adding alarms sometimes gave incorrect “can’t add alarms in the past” error
- Calendar: History tab showed start / end times in server time, not user time
- Home: Fix birthdays were not visible
- Infolog / Tracker: Change timesheet total columns to ignore timesheet ACL
- Infolog: History tab showed start / due / completed dates in server time, not user time
- Timesheet: When changing duration, update quantity if it’s not been set to something different
- Api: Fix custom etemplates were still used after deletion
- eSync: fix meeting requests confirmed via ActiveSync protocol got wrong time
- EPL: fixed/completed Wildix PBX implementation
- full list of changes https://github.com/EGroupware/egroupware/compare/23.1.20230524...23.1.20230620
- All apps: Improve icons and translations
New functions / preferences or other important things:
- Mail: Add new pane option for showing all columns in vertical 3-pane view
It is now possible to select the 3-column view with all columns and configure the column as usual.
- EPL: fixed/completed Wildix PBX implementation
We have expanded the implementation of Wildix Cloud Telephone Systems.
No CTI yet? Check out our CTI integration page:
We recommend (especially for Germany) our partner Placetel.
For/with Placetel we have the best integration and functionality.
More about CTI: Contact
Changelog release 23.1.20230524
- Mail: performance improvements for huge addressbooks by caching avatars
- Mail: searching in compose now ignores custom fields as they might lead to unexpected results
- Mail: fix preview and display no longer can decrypt an encrypted pgp message
- Mail: fix date filter is no longer working in mail’s list
- Mail: work around Firefox not offering an option to not ask again installing EGroupware as mail-handler
- eSync/Mail: fix wrong timezone conversation if user-timezone is different from server-timezone
- CalDAV/Calendar: fix group invitations were not shown on devices unless explicit accepted
- Filemanager/All apps: Fix drag out files to desktop (Chrome only!) and file drag in (all browsers)
- Mobile theme: Fix calendar header toolbars are no more visible
- smallPART: Added Commentstoptime to Comment-CSV-Export
- Status: fix call popup shows empty white screen (happens in FF only)
- All apps: fix / improve several widgets specially selectbox and tags
- All apps: Improve icons and translations
This Maintenance update is provided via Docker container.
If you have problems with this update, you can easily revert to the previous version:
Manual (container) update/downgrade in a Docker installation
Manuelles (Container)-Update/Downgrade in einer Docker-Installation
New functions / preferences or other important things:
- Mail: performance improvements for huge addressbooks by caching avatars
The folder change now works faster again due to better caching of the avatars.
Changelog release 23.1.20230503
- CalDAV/InfoLog: fix infinit loop causing high database load, if sync-collection report did not query calendar-data
- CalDAV/Calendar: fix recurring events with users only added to an exception and have been deleted or rejected after
- CardDAV/Addressbook: show and allow to sync for default and forced preferences all ABs of the admin user
- Calendar: fix not displayed events of resources when a resource category was selected
- Mail: fix resize of compose window in plain-text mode to display everything
- Mail: fix showing of calendar invitations in s/mime
- Rocketchat: fix rocketchat’s status sometimes is not showing up in Status app for bigger installations
- Status: fix top header (invite button, end call button, …) in call dialogs no longer is visible
- Status: fix ringing tone never ends after a call being answered
- Status: fix somehow not found user in contacts stalls whole display of status column
- ProjectManager: fix display of icons in project- and element-list
- EPL/ProjectManager: fix moving tasks and projects
- EPL/Firewall: fix test gave an “Illegal offset type” error
- EPL/Tracker: fix reports not being displayed and giving errors
- AD/LDAP/Import: for AD always do a full import of groups, as AD seems not to update the modification date, if only members change
- All apps: various fixes in the new web-component based widgets
- Full list of changes 23.1.20230412…23.1.20230428
- fix some critical errors/regressions in the not published 23.1.20230428 release
- InfoLog: can not set project (caused double submit, stalled saving by redirecting to list)
- Calendar: Allow to select multiple categories in sidemenu
- Calendar: Put email address after user or contact
- ProjectManager: fix entries opened in elements list have wrong project linked (after project is changed)
- full list of changes 23.1.20230428…23.1.20230503
This Maintenance update is provided via Docker container.
If you have problems with this update, you can easily revert to the previous version:
Manual (container) update/downgrade in a Docker installation
Manuelles (Container)-Update/Downgrade in einer Docker-Installation
New functions / preferences or other important things:
- CardDAV/Addressbook: show and allow to sync for default and forced preferences all ABs of the admin user
As an admin, it is now possible to force or preassign the synchronisation of certain address books.
- AD/LDAP/Import: for AD always do a full import of groups, as AD seems not to update the modification date, if only members change
During the AD import, all groups are now always imported, as it is not possible to determine whether a group has changed.
- Calendar: Allow to select multiple categories in sidemenu
It is now (again) possible to select several categories in the page menu (hold Ctrl).
Changelog release 23.1.20230412
- Docker images are available now for architektures: amd64 (as before), arm/v7, arm64/v8 and ppc64le
- Mail: Make list refresh option available in 3pane-view through column selector
- Mail: allow placeholders in compose instead of email-addresses to be able to create mail templates
- Mail/Calendar: show scrollbar, if meeting request does not fit into preview area
- Filemanager: fix broken expose view for filename click&open action
- Filemanager: fix after opening and closing the gallery in filemanager the list is no longer accessible
- Calendar/CalDAV: set current user as owner for events created in resource calendar
- Rocketchat: fix rocketchat’s status sometimes is not showing up in Status app for bigger installations
- Status: add new config setting in order to be able to open BigBlueButton calls in separate window with no iframe
- Status: fix top header (invite button, end call button, …) in call dialogs no longer is visible
- Status: fix ringing tone never ends after a call being answered
- Status: fix somehow not found user in contacts stalls whole display of status column
- Projectmanager: fix missing application and status icon in element list
- LDAP/AD: if only users get imported, set their primary group and memberships as configured for auto-created accounts (Default group by default)
- LDAP/AD/Setup: periodic import disables (add|edit)account hooks, if account-repository is not SQL and further performance improvements
- LDAP/ADS: fix memberships of local groups were lost in periodic account-import
- EPL/CTI/Addressbook: phone numbers written with unusual separator like pipe symbol where not found
- full list of changes https://github.com/EGroupware/egroupware/compare/23.1.20230328…23.1.20230412
This Maintenance update is provided via Docker container.
If you have problems with this update, you can easily revert to the previous version:
Manual (container) update/downgrade in a Docker installation
Manuelles (Container)-Update/Downgrade in einer Docker-Installation
New functions / preferences or other important things:
- Docker images are available now for architektures: amd64 (as before), arm/v7, arm64/v8 and ppc64le
The EGroupware container with the EGroupware source and PHP is now also available for
- linux/arm/v7
- linux/arm64
- linux/ppc64le
https://hub.docker.com/r/egroupware/egroupware/tags
Please note: These container images alone are not sufficient for a running EGroupware. These container images are intended for integrators who know how to use them.
The new architectures are to be regarded as expirimental. We are happy to receive feedback.
The use on a RasPI is not recommended. It will not be fast enough to work with it satisfactorily.
- Mail: allow placeholders in compose instead of email-addresses to be able to create mail templates
It is now possible to use placeholders for the email address in email templates:
- Calendar/CalDAV: set current user as owner for events created in resource calendar
For appointments created in a resource calendar, the current user is now used as the owner.
- Status: add new config setting in order to be able to open BigBlueButton calls in separate window with no iframe
It is now possible to make BBB open in new windows.
This is necessary in some environments or for some BBB servers.
The commits in detail on GitHub:
Diff: 23.1.20230328…23.1.20230412
Changelog release 23.1.20230328
- Safari/iOS: support Safari/iOS 14.x via transpiling of JavaScript
- Home: get home mostly working again
- All apps: multi-selections eg. searching and entering mail addresses close now automatic on selecting a result
- Infolog: Remove height restriction on start/due/completed dates in list
- Mail: fix mail preview don’t get set correctly when running in expand pane view
- Mail: fix mail preview can not show attachments for smime encrypted messages
- NewsAdmin: fix creating of new categories
- WebAuthN: fix not working registration of new authentication devices or browsers
- Notifications: deal with “Lock timeout exceeded” error on too many undeleted notifications
- Rocketchat: fix rocketchat’s status sometimes is not showing up in Status app for bigger installations
- Status: add new config setting in order to be able to open BigBlueButton calls in separate window with no iframe
- Status: fix top header (invite button, end call button, …) in call dialogs no longer is visible
- Status: fix ringing tone never ends after a call being answered
- Status: fix somehow not found user in contacts stalls whole display of status column
- Api/MariaDB/MySQL: fix SQL error handling in PHP 8.1
- Admin/Setup: logging all DB backup operations to a text file db_backup.log in backup-directory
- LDAP/Univention: periodic account-import for Univention (mailPrimaryAddress), use LDAP account-filter for reading accounts too
- full list of changes 23.1.20230314…23.1.20230328
This Maintenance update is provided via Docker container.
New functions / preferences or other important things:
- Safari/iOS: support Safari/iOS 14.x via transpiling of JavaScript
With this update we support iOS from version 14.
- All apps: multi-selections eg. searching and entering mail addresses close now automatic on selecting a result
When selecting/searching for addresses/users, the search now closes after the selection.
When addressing an e-mail, the arrow can be used to enter further addresses after the first one:
Or you can use the down arrow key.
- Status: add new config setting in order to be able to open BigBlueButton calls in separate window with no iframe
It is now possible to have BBB calls open in a separate window:
The commits in detail on GitHub:
Diff: 21.1.20221202…21.1.20230210
Changelog release 23.1.20230314
- 23.1 final release with the following major features:
- Modernization through technology change to Web Components and Lit
- Working time recording and timer for projects
- New features in the mail app including OAuth support for Office365 and Gmail
- Optimizations in the file manager: user quota and push notifications
- New functionalities in various applications e.g. with regard to Kanban integration
- Improvement of user selection and performance for large installations
- New features for administrators: PUSH notifications and synchronization users to LDAP/AD
- Changes since 5th RC: 23.1.20230228…23.1.20230314
- Home: fix not working home app caused by new JS loading and transformed it to use webcomponents
- Admin/Setup: logging all DB backup operations to a text file db_backup.log in backup-directory
- Rocketchat: fix rocketchat’s status sometimes is not showing up in Status app for bigger installations
Changelog pre-release 23.1.20230228
- 5th release and hopefulle last candidate for upcomming 23.1
- Addressbook/CardDAV: fix new Thunderbird 110 could not sync big addressbooks
- Mail/OAuth: fix mail account creation failed for regular EGroupware users / non-admins
- Timesheet: allow to set preference to never ask again to start working time on login
- AD/LDAP: account import supports now (keeping) local groups and their memberships, if configured to do so
- ActiveDirectory: fix making extra AD attributes available via custom fields with “ldap_” prefix
- AD/LDAP: fix SQL error “duplicate entry ‘X’ on egw_accounts.account_lid” when updating an existing account
- Status/ActiveDirectory: fix not displayed photo avatar
- Status/LDAP/AD/UCS: fix picture of users not stored in DB was not shown
- for a full list of fixes check: 23.1.20230210…23.1.20230228
Changelog pre-release 23.1.20230210
- 4th release candidate for upcomming 23.1, final released scheduled for March 1st 2023
- Mail/OAuth: fix not working auth with custom Office365 domains outside mail wizard
- TimeSheet: allow to update times in events tab rows by clicking on the time
- LDAP: fix LDAP protocol error creating new groups without a description
- LDAP/Addressbook: make further LDAP attributes available as custom-fields using “ldap_” as name for accounts in LDAP
- LDAP/Univention: make birthday of users available in addressbook (univentionPerson.univentionBirthday attribute)
- KnowledgeBase: get maintain articles and questions working (requires git pull on old etemplate repo too!)
- Mail: slight rework of preview to make more information available without hover (not yet fully finished)
- PostgreSQL: fixed PHP 8.1 problems (affected rows always returning false, not allowing to update entries)
- All apps: generate letter-avatars client-side to avoid big request peaks for big installation eg. on search in calendar
- for a full list check: 23.1.20230125…23.1.20230210
Changelog pre-release 23.1.20230125
- 3rd release candidate for upcomming 23.1
- to test simply change the tag in your /etc/egroupware-docker/docker-composer.override.yml to 23.1
- Mail: OAuth authentication for Microsoft (Office365, outlook.com, …) and GMail
- Admin: added PHP FPM status page and documented how to enabled it
- Rocketchat: fix realtime api not wokring becase of CSP error
- eTemplate: many small bugfixes in several of the widgets/webcomponents
Changelog pre-release 23.1.20230114
- 2nd release candiate for 23.1
- fixed some regression with select boxes
- EPL: automatic loading of 23.1 license
- KnowledgeBase: fix loading tabs and TinyMCE for 23.1, also requires a phpbrain update via git
Changelog pre-release 23.1.20230110
- first 23.1 release-candidate
- new web-components based eTemplate2 widgets derived from Shoelace (https://shoelace.style)
- new JS loading with rollup
- quota support for virtual file system
Release Notes from the previous version 21.1:
If you have any questions or suggestions about this post, please post them in the forum.