1.0.16
Changelog: Apache James
Added
- ENHACEMENTS: ManageSieve capabilities (#2916)
- JAMES-4181 Webadmin: Ability to move emails between repositories (#2954)
- JAMES-4185 Ability to browse deleted message vault
- [ENHANCEMENT] Audit trail: IMAP CLOSE
- [ENHANCEMENT] Audit trail: message deletion
- JAMES-4183 AllowedUnauthenticatedSender Mail hook
- JAMES-4189 Ability to list users by domain
- JAMES-4190 Allow registering read only IMAP annotations (#2975)
Changed
- [ENHANCEMENT] Allow extending subaddressing (#2946)
- [ENHANCEMENT] MailetContainer should record loggedIn user in MDC (#2950)
- JAMES-4176 Retire email_query_view_sent_at
- Upgrade ActiveMQ & friends - CVE-2025-66168 + CVE-2026-27446 (#2961)
- JAMES-4186 [REFACTOR] EmaiQueryOptimizer interface to wrap email query view logic in JMAP EmailQueryMethod (#2963)
- JAMES-4187 Drop Cassandra EmailQueryView lookup table by enriching FlagsUpdated with internalDate
- JAMES-4189 Handle UsersRepository::listUsersOfADomainReactive without virtualHosting
Fixed
- [FIX] VacationRoutes error handling 500 instead of 500 (#2942)
- [FIX] Handle Lookup write propagation in complex sharing scenari
- [FIX] outgoingQueue => outgoing for RemoteDelivery mailet in mailetcontainer.xml examples
- [FIX] Subscribe Restored-Messages for the mailbox to be visible in IMAP (#2976)
Performance
- [PERF] Precompute ResultSet indexes on large IMAP processings (#2974)
Changelog: Tmail
Added
- Feature/llm mail classifier set label keywords (#2136)
- llm: Implement dual labeling for LLM predictions audit (#2153) (#2162)
- ISSUE-2175 WebAdmin API to manage folders within Team Mailboxes
- ISSUE-2178 Listener to handle folder subscriptions onto team mailboxes (#2182)
- ISSUE-2156 Provision Template folder for Team mailboxes (#2187)
- ISSUE-2179 Routes to manage extra senders
- ISSUE-2176 Implement Subaddressing on team mailboxes
- ISSUE-2183 Team mailbox identity auto-provisionning
- ISSUE-2116 SAAS: add promotion footer to signature of non-paying user
- ISSUE-2172 Flag projection
- ISSUE-2232 Auditability: Message locator
- ISSUE-2238 Implement (optional) webadmin route for searching in user … (#2239)
- TWP-996 Store settings for non existing users
- ISSUE-2159 Webadmin route to manage labels (#2245)
- ISSUE-2160 Read only labels (#2257)
- ISSUE-2255 IMAP extension for Labels
- ISSUE-2261 Auto provision labels (#2262)
Changed
- ISSUE-2215 Add organizationId to MDC (#2217)
- ISSUE-2116 IdentityProvisionListener: Interpolate LDAP attribute in signature text (#2223)
- [TMail] Adapt MessageContentDeletionEvent: enrich Flags
- ISSUE-2160 Labels: add a version in the capability (#2264)
Fixed
- fix(rag): removing prefix tmail_ from document id (#2164)
- [FIX] LLM classifier listener should load correctly configuration
- [FIX] outgoingQueue => outgoing for RemoteDelivery mailet in mailetcontainer(#2197)
- [FIX] MailetContainer should record loggedIn user in MDC (#2201)
- [FIX] TeamMailboxRepositoryImpl: createMailboxReliably should be fully idempotent (#2222)
- [FIX] Accept domain contact for SabreContactsConsumer (#2225)
- [SAAS] ISSUE-2214 Domain with rate limit are listed
- ISSUE-2251 Handle SaaS Account at the domain level for B2B
- ISSUE-2237 Support ITIP replies without organizers (#2246)
Update procedure
From the tmail-1.0.15 release:
Cassandra table update
- Add the following columns to the domains table:
activated: to allow setting up rate limits on a domain before it’s being activatedcan_upgrade: allows domain saas default canUpgrade value for users of that domainis_paying: allows domain saas default isPaying value for users of that domain
To add these columns, run the following CQL commands:
ALTER TABLE domains ADD activated boolean;
ALTER TABLE domains ADD can_upgrade boolean;
ALTER TABLE domains ADD is_paying boolean;Note : existing domains prior to this addition without the activated field setup will be considered as unactivated. You need then to set manually existing domains to activated = true
- Add the following column to the labels table:
read_only: When set totrue, a label cannot be updated or deleted by the user via JMAP (Label/set). Read-only labels can still be managed by administrators through the WebAdmin API.
To add this column, run the following CQL command:
ALTER TABLE labels ADD read_only boolean;Note: Labels created before this migration will have NULL for this column, which is treated as false (not read-only) by the application.
Tmail deployment
- Rolling update the docker image to
tmail-1.0.16.