This is an automated email from the ASF dual-hosted git repository.

btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit 9f84948e861045699affa04822f24e5d3e44e15e
Author: Benoit TELLIER <[email protected]>
AuthorDate: Thu Sep 25 10:04:20 2025 +0200

    Separate improvments and fixes in the changelog, combine removal sections 
and document build enhancements
---
 CHANGELOG.md | 196 ++++++++++++++++++++++++++++++-----------------------------
 1 file changed, 99 insertions(+), 97 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 06481925cd..0e0c9ac54e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -25,6 +25,7 @@ This had been repleaced by the Guice DropList extension.
 Please use RFC-8621 implementation rather than this outdated draft.
 
  - JAMES-4065 drop habeas warrant mark mailet
+ - [DROP] Remove Linshare third party connector (#2613
 
 ### Security
 
@@ -97,14 +98,106 @@ The project also bumped dependencies to their latest 
version as of June 2025.
 - [ENAHNCEMENT] SMTP: Allow easily disabling authentcation (#2800)
 - JAMES-4140 Implement adaptative, session-scoped, throttling for IMAP … 
(#2766)
 
+### Fixes
+
+- JAMES-3967 Store mails when relay is exceeded
+- [FIX] LdapRepositoryConfiguration should interoperate with 
UsersRepositoryImpl (#1855)
+- JAMES-3955 Applicative timeouts before Rabbit timeouts
+- JAMES-3828 ICALAttributeDTO: support missing uid, method and dtstamp fields
+- JAMES-3925 Rework JMAP quota cleanup
+- JAMES-3938 IMAP MOVE should not fail on empty mailbox (#1713)
+- [FIX] PropagateLookupRightListener should not fail on missing mailbox
+- [FIX] VerifySenderIdentity makes sense when auth is not announced (#1693)
+- [FIX] Some S3 like object storage, like MinIO, don't accept underscores in 
their bucket name
+- JAMES-3914 Sieve actions fails when several recipients
+- [FIX] IMAP APPEND file leak
+- [FIX] Avoid sending bounce when reprocessing (#2139)
+- JAMES-4020 Fully comply with RFC-3501 Section 6.4.5 (#2123)
+- JAMES-4021 Relay for "abc@def"@domain.com
+- [FIX] AbstractValidRcptHandler fix error handling on invalid username (#2122)
+- [FIX] JMAP: Set configurable limits for /get /set objects (#2096)
+- [FIX] Ship mail over web webadmin routes into more apps (#2099)
+- [FIX] Try recover invalid ascii character in filename
+- [FIX] RSpamD should not fail when reporting empty body
+- [FIX] ImapIdleStateHandler should cancel ongoing requests firs
+- [FIX] cancel ongoing processing for inactive channels
+- [FIX] Modified server set identities may not be deletes (#2083)
+- [FIX] Calendar parsing: be less verbose
+- [FIX] Use Netty dns async resolvers
+- [FIX] IMAP LEAK: CLOSE, UNSELECT
+- [FIX] Email/set should allow creating an email with attachment of a 
destroyed message
+- [FIX] multipart/alternative with attachment had no text value indexed
+- [FIX] Do not double index multipart/alternative
+- [FIX] -openjpa.Multithreaded => -Dopenjpa.Multithreaded
+- [FIX] Avoid forwarding bounces
+- JAMES-4007 Manage IMAP litteral with Leak aware
+- [FIX] Lower log message in MaybeSender
+- [FIX] MailReceptionCheck do not send the mail before we actively listen to 
the results (#2038)
+- JAMES-4004 [FIX] Allow retries for S3 saves (#2025)
+- [FIX] Apply batch size to prefetch
+- [FIX] Lower log level of SSL handshake exceptions (#1998)
+- [FIX] Apply RFC-5321 syntax validation for EHLO (#1979)
+- [FIX] OpenSearch should normalize base subject (#1910)
+- [FIX] HookResultHook added to marker interfaces
+- JAMES-1717 Notification Registry - handle case Ints.checkedCast throws out 
of range when expireDate too far (#2051)
+- JAMES-4008 JMAP - Email/set - Should be able to save a draft with invalid 
email address (#2040)
+- JMAP - EmailSubmission/set - Should not invoke 
onSuccessDestroyEmail/onSuccessUpdateEmail when not created (#2041)
+- JAMES-3998 Empty password should not lead to worrying error (#2026)
+- JAMES-3995 Add a max number of items for EmailGet full reads (#2024)
+- [FIX] Prevent creation of multiline mailbox names (#1973)
+- [FIX] Preserve internal date on restored messages (#2574)
+- [FIX] Reject non strictly positive POP3 indexes (#2575)
+- [FIX] Cleanup EmailQueryView when populating it.
+- [FIX] POP3 UserCmdHandler should return error response when invalid username 
input
+- [FIX] FileNameIs matcher: Parsing for long content disposition filename 
(#2555)
+- [FIX] IMAP login parsing: handle IllegalArgumentException
+- [FIX] RspamD for large moves
+- [FIX] Prevent WebSocket data race (#2550)
+- [FIX] Prevent queue poisoning for spool
+- [FIX] Store add a missing flush
+- [FIX] Avoid NPE on partially written users in Cassandra users repository 
(#2458)
+- [FIX] DSNBounce should add Auto-Submitted: auto-replied header (#2717)
+- JAMES-3968 Fix mail loss due to RabbitMQ ack failure
+- JAMES-3976 Email/import should accept empty keywords (#1962)
+- [FIX] registrations multimap made fully thread safe (#2291)
+- JAMES-3955 Software timeout before consumer timeout (#2284)
+- JAMES-4015 VacationMailet should sanitize broken Reply-To fields (#2275)
+- JAMES-4037 Fix NPE in IMAP LIST with APPENDLIMIT (#2257)
+- JAMES-4029 Fix infinite loop with Bounce + forward
+- JAMES-4026 Fix inconsistency issue between imap and JMAP RFC-8621
+- [FIX] Filter too big values for Cassandra TTLs (#2156)
+- JAMES-4101 Wrap SMTp startTLS into a NETTY transaction
+- [FIX] Silent verbose SSL logs in SMTP (#2578)
+- [FIX] Silent Eof exception for webadmin (#2577)
+- JAMES-4095 Forbid deleting INBOX in IMAP (#2541)
+- [FIX] DistributedDeletedMessageVaultDeletionCallback: add an applicative 
timeout before RabbitMQ consumer timeout
+- [FIX] Improve S3 MinIO support with MinIOGenerationAwareBlobId MinIO 
compatibility
+- [FIX] Support RFC-3848 service types in Received headers (#2536)
+- JAMES-4094 Trigger quota-ratio index update when modifying quota limits 
(#2538)
+- [FIX] IDLE - prevent data race upon answers on channel writes (#2525)
+- JAMES-3893 Identity routes should not return 500 code when invalid username 
(#2519)
+- [FIX] Filter out invalid user in LDAP
+- [FIX] Always schedule execution of new IMAP requests to the event loop
+- [FIX] No longer use recursivity in ReactiveThrottler::onRequestDone
+- [FIX] JAMES-4088 Ensure IMAP SELECT EXIST response is up to date (#2507)
+- JAMES-3954 PartialRange might be reversed
+- JAMES-3754 Update IMAP4 ID - return NIL, replace to empty list
+- [FIX] Handle XOAUTH2 for SMTP without initial response (#2428)
+- [FIX] WebSocket should return `Sec-WebSocket-Protocol: jmap` response header
+- James: unset JAVA_TOOL_OPTIONS env variable when running james-cli
+- JAMES-4060: Fix UID FETCH command failing on empty mailbox (#2386)
+- Explicit commit after running reindex (#2381)
+- JAMES-4058 TextCalendarBodyToAttachment screw up text/calendar parts (#2384)
+- JAMES-3754 Relax Id command parsing (#2758)
+- JAMES-2182 IMAP processors should catch InsufficientRightsException
+- JAMES-4115 FileMailRepository: drop cacheKey & refactor (#2662)
+
 ### Improvements
  
  - JAMES-4125 rework mailet api
  - JAMES-4123 Renames CassandraModule to CassandraDataDefinition
  - JAMES-4103 Allow customizing MessageParser
  - JAMES-3967 RelayLimit: add error log
- - JAMES-3967 Store mails when relay is exceeded
- - [FIX] LdapRepositoryConfiguration should interoperate with 
UsersRepositoryImpl (#1855)
  - JAMES-3539 PushSubscription/get should return expired subscriptions (#1845)
  - [ENHANCEMENT] Allow to trust all certificates with S3 blobstore (#1846)
  - Numerous dependency updates
@@ -114,148 +207,63 @@ The project also bumped dependencies to their latest 
version as of June 2025.
  - JAMES-3963 Sort From To Cc on display name first (#1811)
  - JAMES-3955 Increase consumer timeout for TaskManagerWorkQueue
  - JAMES-3955 WARNING logs upon closing RABBITMQ channels
- - JAMES-3955 Applicative timeouts before Rabbit timeouts
  - JAMES-3958 DKIM: Be resilient when updating mails with invalid headers 
(#1783)
  - JAMES-3874 LMTP should handle overQuota exceptions
  - JAMES-3944 Forwards should rewrite MAIL FROM
  - JAMES-3887 MailboxManager::createMailboxReactive should subscribe parent 
mailboes it creates (#1752)
- - JAMES-3828 ICALAttributeDTO: support missing uid, method and dtstamp fields
  - [IMPROVMENT] Add Cassandra statements to the logs (#1723)
- - JAMES-3925 Rework JMAP quota cleanup
  - JAMES-3926 Move mutualized quota DAOs to backend/cassandra
- - JAMES-3604 Enable to use quorum queues onto DTM work queue (#1708)
- - JAMES-3938 IMAP MOVE should not fail on empty mailbox (#1713)
- - [FIX] VerifySenderIdentity makes sense when auth is not announced (#1693)
- - [FIX] PropagateLookupRightListener should not fail on missing mailbox
- - [FIX] Some S3 like object storage, like MinIO, don't accept underscores in 
their bucket names
- - JAMES-3914 Sieve actions fails when several recipients
+ - JAMES-3604 Enable to use quorum queues onto DTM work queue (#1708)s
  - JAMES-3911 JPA: Prevent concurrent operations on the same EntityManager
- - [FIX] Avoid sending bounce when reprocessing (#2139)
- - [FIX] IMAP APPEND file leak
- - JAMES-4020 Fully comply with RFC-3501 Section 6.4.5 (#2123)
  - [LOGGING] Aborting JMAP upload is too verbose (#2125)
- - JAMES-4021 Relay for "abc@def"@domain.com
- - [FIX] AbstractValidRcptHandler fix error handling on invalid username 
(#2122)
- - [UPDATE] MIME4J 0.8.9 -> 0.8.11 (#2120)
- - [FIX] JMAP: Set configurable limits for /get /set objects (#2096)
+ - [UPDATE] MIME4J 0.8.9 -> 0.8.13
  - JAMES-4019 ReactiveThrottler should handle better cancellation (#2104)
  - [ENHANCEMENT] Decrease log level for "NotSslRecordException"
  - JAMES-4018 SMTP RCPT TO should parse parameters once
- - [FIX] Ship mail over web webadmin routes into more apps (#2099)
- - [FIX] Try recover invalid ascii character in filename
- - [FIX] RSpamD should not fail when reporting empty body
  - JAMES-3534 Fixbug - Identity response alway return mayDelete=false when 
server set identity
- - [FIX] ImapIdleStateHandler should cancel ongoing requests firs
- - [FIX] cancel ongoing processing for inactive channels
- - [FIX] Modified server set identities may not be deletes (#2083)
- - [FIX] Calendar parsing: be less verbose
  - [IMPROVEMENT] Allow Email/set create to override attachment charset
  - JMAP - Delete/destroy should take a set as an input
- - [FIX] -openjpa.Multithreaded => -Dopenjpa.Multithreaded
- - [FIX] Avoid forwarding bounces
- - JAMES-4007 Manage IMAP litteral with Leak aware
- - JAMES-1717 Notification Registry - handle case Ints.checkedCast throws out 
of range when expireDate too far (#2051)
  - JAMES-4012 Lenient MDN parsing for human readable part (#2057)
- - [FIX] Lower log message in MaybeSender
  - JAMES-4013 Relay MDN/send
  - JAMES-3885 Webadmin route to change of username - support `force` parameter 
 - do not require old user to exist (#2054)
- - JAMES-4008 JMAP - Email/set - Should be able to save a draft with invalid 
email address (#2040)
  - JAMES-4009 StripAttachment should explicitly handle duplicates
- - [FIX] MailReceptionCheck do not send the mail before we actively listen to 
the results (#2038)
- - JMAP - EmailSubmission/set - Should not invoke 
onSuccessDestroyEmail/onSuccessUpdateEmail when not created (#2041)
  - JAMES-4006 Bouncer should pass DSN to bounce processor
- - JAMES-3998 Empty password should not lead to worrying error (#2026)
- - JAMES-4004 [FIX] Allow retries for S3 saves (#2025)
- - [FIX] Apply batch size to prefetch
- - JAMES-3995 Add a max number of items for EmailGet full reads (#2024)
- - [FIX] Use Netty dns async resolvers
- - [FIX] IMAP LEAK: CLOSE, UNSELECT
- - [FIX] Email/set should allow creating an email with attachment of a 
destroyed message
- - [FIX] multipart/alternative with attachment had no text value indexed
- - [FIX] Do not double index multipart/alternative
  - JAMES-3775 Pass SSL information to RspamD scanner mailet
  - JAMES-3991 Vacation handling should be case insensitive
- - [FIX] Lower log level of SSL handshake exceptions (#1998)
  - JAMES-3986 AttachmentFileNameIs should be decently tested (#1991)
- - [FIX] Apply RFC-5321 syntax validation for EHLO (#1979)
  - JAMES-3981 Remove double logs upon closed channels
  - [IMPROVEMENT] SPF mailet: add missing private network "192.168.0.0/16" and 
use correct CIDR for private range "172.16.0.0/12"
  - [ENHANCEMENT] Add Hostname header onto RspamD client
- - [FIX] Prevent creation of multiline mailbox names (#1973)
  - [ENHANCEMENT] Add SSL information into SMTP header
- - JAMES-3976 Email/import should accept empty keywords (#1962)
- - [FIX] OpenSearch should normalize base subject (#1910)
- - JAMES-3968 Fix mail loss due to RabbitMQ ack failure
- - [FIX] HookResultHook added to marker interfaces
  - JAMES-3581 Parsing TypeName should be more lenient while parsing server 
side data (#2343)
  - JAMES-4048 Record LDAP connection metrics
  - JAMES-4043 Improve literal handling (#2311)
  - JAMES-3994 Adopt Apache Pekko instead of Akka (#2300)
- - [FIX] registrations multimap made fully thread safe (#2291)
- - JAMES-3955 Software timeout before consumer timeout (#2284)
  - [IMPROVEMENT] Configure fastview projection miss threshold (#2276)
- - JAMES-4015 VacationMailet should sanitize broken Reply-To fields (#2275)
  - JAMES-4040 JMAP mailbox role spam => junk (#2261)
  - JAMES-4038 Relax EHLO validation for EMclient (#2262)
- - JAMES-4037 Fix NPE in IMAP LIST with APPENDLIMIT (#2257)
  - JAMES-4037 Resolve MailboxTyper for Spring
  - [METRICS] Expose useful S3 Client Metrics
  - JAMES-3539 Backend should clean expired Push subscriptions
  - [ENHANCEMENT] Metrics for rabbitmq channel pool (#2232)
  - JAMES-4027 Make all queues on Rabbitmq quorum queue when quorum option is 
enabled
- - JAMES-4029 Fix infinite loop with Bounce + forward
- - JAMES-4026 Fix inconsistency issue between imap and JMAP RFC-8621
- - [FIX] Filter too big values for Cassandra TTLs (#2156)
  - [ENHANCEMENT] Add User-Agent in JMAP logging context (#2604)
- - JAMES-4101 Wrap SMTp startTLS into a NETTY transaction
- - [FIX] Silent verbose SSL logs in SMTP (#2578)
- - [FIX] Silent Eof exception for webadmin (#2577)
  - [devscout] upgrade logback and crowdsec
- - [FIX] Preserve internal date on restored messages (#2574)
- - [FIX] Reject non strictly positive POP3 indexes (#2575)
- - [FIX] Cleanup EmailQueryView when populating it.
- - [FIX] POP3 UserCmdHandler should return error response when invalid 
username input
- - [FIX] FileNameIs matcher: Parsing for long content disposition filename 
(#2555)
- - [FIX] IMAP login parsing: handle IllegalArgumentException
- - [FIX] RspamD for large moves
- - [FIX] Prevent WebSocket data race (#2550)
  - JAMES-4096 Rename INBOX (#2549)
  - JAMES-3605 Implement DeletedMessageVaultWorkQueueReconnectionHandler
- - [FIX] DistributedDeletedMessageVaultDeletionCallback: add an applicative 
timeout before RabbitMQ consumer timeout
- - [FIX] Improve S3 MinIO support with MinIOGenerationAwareBlobId MinIO 
compatibility
- - JAMES-4095 Forbid deleting INBOX in IMAP (#2541)
- - [FIX] Support RFC-3848 service types in Received headers (#2536)
- - JAMES-4094 Trigger quota-ratio index update when modifying quota limits 
(#2538)
- - [FIX] IDLE - prevent data race upon answers on channel writes (#2525)
- - JAMES-3893 Identity routes should not return 500 code when invalid username 
(#2519)
- - [FIX] Filter out invalid user in LDAP
- - [FIX] Always schedule execution of new IMAP requests to the event loop
- - [FIX] No longer use recursivity in ReactiveThrottler::onRequestDone
- - [FIX] JAMES-4088 Ensure IMAP SELECT EXIST response is up to date (#2507)
  - JAMES-2456 Update Tika to version 3.0.0.0
  - JAMES-4087 Allow combining composite matchers
  - [ENHANCEMENT] Ensure the MDC context is carried over upon IMAP parsing 
errors
  - JAMES-4077 Back memory-app with Lucene
- - JAMES-3754 Update IMAP4 ID - return NIL, replace to empty list
  - [ENHANCEMENT] mailUserAgent in IMAP MDC
- - JAMES-3954 PartialRange might be reversed
- - [FIX] Prevent queue poisoning for spool
- - [FIX] Store add a missing flush
- - [FIX] Avoid NPE on partially written users in Cassandra users repository 
(#2458)
  - JAMES-4079 Fix RecipientRewriteTable adds duplicate mapping (#2449)
  - James 1409 - Change JPARecipientRewriteTable to store separate record per 
target address (#2444)
  - JAMES-3552 Better enforcements of JMAP session limits
  - AmqpForwardAttribute: support HA by allowing specifying several hosts 
(#2430)
- - [FIX] Handle XOAUTH2 for SMTP without initial response (#2428)
- - [FIX] WebSocket should return `Sec-WebSocket-Protocol: jmap` response header
  - AmqpForwardAttribute mailet: ignore errors when creating an exchange that 
already exists with a different configuration. (#2414)
- - James: unset JAVA_TOOL_OPTIONS env variable when running james-cli
  - JAMES-4050 Allow `%` and `*` characters in mailbox names
- - JAMES-4060: Fix UID FETCH command failing on empty mailbox (#2386)
- - Explicit commit after running reindex (#2381)
  - Improving James shutdown speed (#2380)
  - JAMES-4063 Update SMIMECheckSignature to use Filesystem to load crypto 
materials and handle multiple certificates
- - JAMES-4058 TextCalendarBodyToAttachment screw up text/calendar parts (#2384)
  - JAMES-4046 Upgrade Lucene to version 9.11.1 (#2373)
  - JAMES-4054 Add X-SMIME-Status in SMIMECheckSignature process (#2366)
  - JAMES-4052 Add optional user property to OpenSearch index (#2363)
@@ -263,7 +271,6 @@ The project also bumped dependencies to their latest 
version as of June 2025.
  - [IMPROVEMENT] JMAP use search index relevance as default sort
  - [ENHANCEMENT] Log cassandra table informations
  - [ENHANCEMENT] Add a simpler password mechanism to webadmin (#2759)
- - JAMES-3754 Relax Id command parsing (#2758)
  - [ENAHNCEMENT] Implement a MaxConnectionLifespanHandler SMTP handler
  - [ENHANCEMENT] DKIMVerify outputs logs and machine readable attributes
  - [ENHANCEMENT] Include filename in search snippet
@@ -274,12 +281,9 @@ The project also bumped dependencies to their latest 
version as of June 2025.
  - JAMES-3539 Types field in push subscription should accept null value 
(#2723) and WebPushClient should accept more flexible 20x codes from Push server
  - JAMES-5431 add SanitizeMimeMessageId mailet  (#2718)
  - JAMES-4131 Configure a fallback bucket for S3 (#2719)
- - JAMES-2182 IMAP processors should catch InsufficientRightsException
- - [FIX] DSNBounce should add Auto-Submitted: auto-replied header (#2717)
  - JAMES-3819 Give tools to enforce RFC-8461 MTA-STS (#2697)
  - [ENHANCEMENT] JMAP MDC: make the original IP header configurable
  - [JAMES-4119] Core data migration tool from JPA to Postgres
- - JAMES-4115 FileMailRepository: drop cacheKey & refactor (#2662)
  - JAMES-4117 JMAP - Email/set create - support blobId in htmlBody + textBody 
properties (#2661)
  - JAMES-3962 JMAP Email/set: move `EmailHeader[]` from `bodyValues` to 
`htmlBody`/`textBody` (#2659)
  - JAMES-3788 Allow configuring if Proxy or SSL frames should be handled… 
(#2634)
@@ -331,10 +335,8 @@ The project also bumped dependencies to their latest 
version as of June 2025.
 ### Build
 
  - Publish build scans to develocity.apache.org
-
-### Removal
-
- - [DROP] Remove Linshare third party connector (#2613
+ - Introduce a build cache
+ - Faster build time improvments
 
 ## [Unreleased 3.8.x]
 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to