Skip to content

1.0.16

Choose a tag to compare

@Arsnael Arsnael released this 19 Mar 03:20

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

  1. Add the following columns to the domains table:
  • activated : to allow setting up rate limits on a domain before it’s being activated
  • can_upgrade : allows domain saas default canUpgrade value for users of that domain
  • is_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

  1. Add the following column to the labels table:
  • read_only : When set to true, 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.