Messages by Date
-
2026/10/01
Re: October release timeline
Mark Thomas
-
2026/10/01
(tomcat) 13/24: Remove completed file factories by instance in FarmWarDeployer to avoid evicting a freshly created factory for a new transfer of the same WAR
remm
-
2026/10/01
(tomcat) 09/24: Make MultiEnumeration.nextElement throw NoSuchElementException when exhausted and report attribute names present in both stores only once
remm
-
2026/10/01
(tomcat) branch 10.1.x updated (1765a0eb20 -> 16a01d5e0b)
remm
-
2026/10/01
(tomcat) 08/24: Fire ServletContextAttributeListener events for attributes stored in the local map of a ReplicatedContext by extracting the event firing logic of ApplicationContext into overridable hooks
remm
-
2026/10/01
(tomcat) 06/24: Close the multicast socket in MultiCastSender when socket setup fails after creation to avoid leaking one socket per heartbeat and validate the TTL range in HeartbeatListener
remm
-
2026/10/01
(tomcat) 20/24: Make hasMembers volatile so that membership changes made on the tribes membership thread are visible to the request threads that read it
remm
-
2026/10/01
(tomcat) 13/24: Remove completed file factories by instance in FarmWarDeployer to avoid evicting a freshly created factory for a new transfer of the same WAR
remm
-
2026/10/01
(tomcat) 17/24: Reset noContextManagerReceived in DeltaManager.getAllClusterSessions() alongside stateTransferred so that a repeated state transfer does not exit immediately on a stale response
remm
-
2026/10/01
(tomcat) 19/24: Make hasMembers volatile so that membership changes made on the tribes membership thread are visible to the request threads that read it
remm
-
2026/10/01
(tomcat) 06/24: Close the multicast socket in MultiCastSender when socket setup fails after creation to avoid leaking one socket per heartbeat and validate the TTL range in HeartbeatListener
remm
-
2026/10/01
(tomcat) 15/24: Log a clear configuration error and disable watching when FarmWarDeployer has watchEnabled set without a watchDir rather than failing with a NullPointerException on start
remm
-
2026/10/01
(tomcat) 02/24: Guard ClusterSingleSignOn.stopInternal() against a ClassCastException when the ReplicatedMap was never created after a failed start
remm
-
2026/10/01
(tomcat) 21/24: Fire the SEND_MESSAGE_FAILURE_EVENT lifecycle event with the failing message, destination and exception from SimpleTcpCluster.send() when notifyLifecycleListenerOnFailure is enabled, making the previously declared but never fired event work as documented
remm
-
2026/10/01
(tomcat) 07/24: Move attributes set during web application startup into the replicated attribute map when it is installed in ReplicatedContext so they are replicated to the other nodes
remm
-
2026/10/01
(tomcat) 23/24: Name the fallback manager created by SimpleTcpCluster.createManager() when cloning the manager template fails so that its replication messages carry a context name and are not routed to every context on the receiving nodes
remm
-
2026/10/01
(tomcat) 16/24: Capture and send the final session delta in DeltaSession.expire() before acquiring the session monitor to avoid a lock order inversion against the delta lock
remm
-
2026/10/01
(tomcat) 24/24: Java compat and changelog merge issue
remm
-
2026/10/01
(tomcat) 20/24: Snapshot the request counter in ReplicationValve.updateStats() and guard against zero so that a concurrent resetStatistics() cannot cause a division by zero
remm
-
2026/10/01
(tomcat) branch 9.0.x updated (041c531d54 -> cc0900f3c6)
remm
-
2026/10/01
(tomcat) 04/24: Bound connect and read operations in TcpSender with timeouts since the heartbeat runs on the shared server utility executor, and close connections on read failure
remm
-
2026/10/01
(tomcat) 11/24: Synchronize FileMessageFactory.isValid() with the write path and remove expired factories by instance to avoid racing with in-flight transfers
remm
-
2026/10/01
(tomcat) 12/24: Use a concurrent map for WarWatcher.currentStatus since clear() may run on the stop thread while check() iterates the map on the container background thread
remm
-
2026/10/01
(tomcat) 10/24: Correct the calculation of the total number of fragment messages in FileMessageFactory which declared one message too many for files whose size is an exact multiple of the fragment size, so WAR deployments via FarmWarDeployer never completed for those files
remm
-
2026/10/01
(tomcat) 09/24: Make MultiEnumeration.nextElement throw NoSuchElementException when exhausted and report attribute names present in both stores only once
remm
-
2026/10/01
(tomcat) 03/24: Skip auto-assigned-port connector thread pool MBeans in CollectedInfo since their name carries a name index rather than a port
remm
-
2026/10/01
(tomcat) 02/24: Guard ClusterSingleSignOn.stopInternal() against a ClassCastException when the ReplicatedMap was never created after a failed start
remm
-
2026/10/01
(tomcat) 24/24: Java compat and changelog merge issue
remm
-
2026/10/01
(tomcat) 20/24: Snapshot the request counter in ReplicationValve.updateStats() and guard against zero so that a concurrent resetStatistics() cannot cause a division by zero
remm
-
2026/10/01
(tomcat) 12/24: Use a concurrent map for WarWatcher.currentStatus since clear() may run on the stop thread while check() iterates the map on the container background thread
remm
-
2026/10/01
(tomcat) 22/24: Make SimpleTcpCluster.stopInternal() cleanup robust: guard each step so a channel stop failure cannot skip listener removal and cluster valve unregistration, and unregister the MBeans of all cluster members from the member name map on stop
remm
-
2026/10/01
(tomcat) 10/24: Correct the calculation of the total number of fragment messages in FileMessageFactory which declared one message too many for files whose size is an exact multiple of the fragment size, so WAR deployments via FarmWarDeployer never completed for those files
remm
-
2026/10/01
(tomcat) 14/24: Avoid logging a spurious delete failure for a context.xml that never existed and log a warning when a cluster undeploy targets a context that is not present on the node in FarmWarDeployer
remm
-
2026/10/01
(tomcat) 08/24: Fire ServletContextAttributeListener events for attributes stored in the local map of a ReplicatedContext by extracting the event firing logic of ApplicationContext into overridable hooks
remm
-
2026/10/01
(tomcat) 23/24: Name the fallback manager created by SimpleTcpCluster.createManager() when cloning the manager template fails so that its replication messages carry a context name and are not routed to every context on the receiving nodes
remm
-
2026/10/01
(tomcat) 13/24: Remove completed file factories by instance in FarmWarDeployer to avoid evicting a freshly created factory for a new transfer of the same WAR
remm
-
2026/10/01
(tomcat) 17/24: Reset noContextManagerReceived in DeltaManager.getAllClusterSessions() alongside stateTransferred so that a repeated state transfer does not exit immediately on a stale response
remm
-
2026/10/01
(tomcat) 11/24: Synchronize FileMessageFactory.isValid() with the write path and remove expired factories by instance to avoid racing with in-flight transfers
remm
-
2026/10/01
(tomcat) 21/24: Fire the SEND_MESSAGE_FAILURE_EVENT lifecycle event with the failing message, destination and exception from SimpleTcpCluster.send() when notifyLifecycleListenerOnFailure is enabled, making the previously declared but never fired event work as documented
remm
-
2026/10/01
(tomcat) 18/24: Compare type and action as well as name when de-duplicating DeltaRequest actions so that distinct changes sharing a name, such as an attribute and a note, are all replicated, and recycle the evicted action back to the pool
remm
-
2026/10/01
(tomcat) 19/24: Make hasMembers volatile so that membership changes made on the tribes membership thread are visible to the request threads that read it
remm
-
2026/10/01
(tomcat) 15/24: Log a clear configuration error and disable watching when FarmWarDeployer has watchEnabled set without a watchDir rather than failing with a NullPointerException on start
remm
-
2026/10/01
(tomcat) 04/24: Bound connect and read operations in TcpSender with timeouts since the heartbeat runs on the shared server utility executor, and close connections on read failure
remm
-
2026/10/01
(tomcat) 05/24: Keep existing proxy connections in TcpSender.init when the proxy list has not changed since the heartbeat runs init on every periodic event and closing connections there defeated the keep-alive design
remm
-
2026/10/01
(tomcat) 03/24: Skip auto-assigned-port connector thread pool MBeans in CollectedInfo since their name carries a name index rather than a port
remm
-
2026/10/01
(tomcat) 03/24: Skip auto-assigned-port connector thread pool MBeans in CollectedInfo since their name carries a name index rather than a port
remm
-
2026/10/01
(tomcat) 18/24: Reset noContextManagerReceived in DeltaManager.getAllClusterSessions() alongside stateTransferred so that a repeated state transfer does not exit immediately on a stale response
remm
-
2026/10/01
(tomcat) 24/24: Name the fallback manager created by SimpleTcpCluster.createManager() when cloning the manager template fails so that its replication messages carry a context name and are not routed to every context on the receiving nodes
remm
-
2026/10/01
(tomcat) 19/24: Compare type and action as well as name when de-duplicating DeltaRequest actions so that distinct changes sharing a name, such as an attribute and a note, are all replicated, and recycle the evicted action back to the pool
remm
-
2026/10/01
(tomcat) 11/24: Synchronize FileMessageFactory.isValid() with the write path and remove expired factories by instance to avoid racing with in-flight transfers
remm
-
2026/10/01
(tomcat) 17/24: Capture and send the final session delta in DeltaSession.expire() before acquiring the session monitor to avoid a lock order inversion against the delta lock
remm
-
2026/10/01
(tomcat) 21/24: Snapshot the request counter in ReplicationValve.updateStats() and guard against zero so that a concurrent resetStatistics() cannot cause a division by zero
remm
-
2026/10/01
(tomcat) 02/24: Guard ClusterSingleSignOn.stopInternal() against a ClassCastException when the ReplicatedMap was never created after a failed start
remm
-
2026/10/01
(tomcat) 22/24: Fire the SEND_MESSAGE_FAILURE_EVENT lifecycle event with the failing message, destination and exception from SimpleTcpCluster.send() when notifyLifecycleListenerOnFailure is enabled, making the previously declared but never fired event work as documented
remm
-
2026/10/01
(tomcat) 05/24: Keep existing proxy connections in TcpSender.init when the proxy list has not changed since the heartbeat runs init on every periodic event and closing connections there defeated the keep-alive design
remm
-
2026/10/01
(tomcat) 15/24: Avoid logging a spurious delete failure for a context.xml that never existed and log a warning when a cluster undeploy targets a context that is not present on the node in FarmWarDeployer
remm
-
2026/10/01
(tomcat) branch 11.0.x updated (677e69a178 -> b49da4a163)
remm
-
2026/10/01
(tomcat) 10/24: Correct the calculation of the total number of fragment messages in FileMessageFactory which declared one message too many for files whose size is an exact multiple of the fragment size, so WAR deployments via FarmWarDeployer never completed for those files
remm
-
2026/10/01
(tomcat) 08/24: Fire ServletContextAttributeListener events for attributes stored in the local map of a ReplicatedContext by extracting the event firing logic of ApplicationContext into overridable hooks
remm
-
2026/10/01
(tomcat) 12/24: Use a concurrent map for WarWatcher.currentStatus since clear() may run on the stop thread while check() iterates the map on the container background thread
remm
-
2026/10/01
(tomcat) 06/24: Close the multicast socket in MultiCastSender when socket setup fails after creation to avoid leaking one socket per heartbeat and validate the TTL range in HeartbeatListener
remm
-
2026/10/01
(tomcat) 14/24: Use REPLACE_EXISTING when moving a received WAR into place in FarmWarDeployer since the delete of an old WAR with the same name may have failed
remm
-
2026/10/01
(tomcat) 01/24: Replicate SSO session key set changes from removeSession() and sessionChangedId() in ClusterSingleSignOn so SSO entries are deregistered on all nodes when the last associated session expires
remm
-
2026/10/01
(tomcat) 23/24: Make SimpleTcpCluster.stopInternal() cleanup robust: guard each step so a channel stop failure cannot skip listener removal and cluster valve unregistration, and unregister the MBeans of all cluster members from the member name map on stop
remm
-
2026/10/01
(tomcat) 07/24: Move attributes set during web application startup into the replicated attribute map when it is installed in ReplicatedContext so they are replicated to the other nodes
remm
-
2026/10/01
(tomcat) 04/24: Bound connect and read operations in TcpSender with timeouts since the heartbeat runs on the shared server utility executor, and close connections on read failure
remm
-
2026/10/01
(tomcat) 09/24: Make MultiEnumeration.nextElement throw NoSuchElementException when exhausted and report attribute names present in both stores only once
remm
-
2026/09/30
(tomcat) 11/25: Synchronize FileMessageFactory.isValid() with the write path and remove expired factories by instance to avoid racing with in-flight transfers
remm
-
2026/09/30
(tomcat) 15/25: Avoid logging a spurious delete failure for a context.xml that never existed and log a warning when a cluster undeploy targets a context that is not present on the node in FarmWarDeployer
remm
-
2026/09/30
(tomcat) 12/25: Use a concurrent map for WarWatcher.currentStatus since clear() may run on the stop thread while check() iterates the map on the container background thread
remm
-
2026/09/30
(tomcat) 18/25: Reset noContextManagerReceived in DeltaManager.getAllClusterSessions() alongside stateTransferred so that a repeated state transfer does not exit immediately on a stale response
remm
-
2026/09/30
(tomcat) 09/25: Make MultiEnumeration.nextElement throw NoSuchElementException when exhausted and report attribute names present in both stores only once
remm
-
2026/09/30
(tomcat) 24/25: Name the fallback manager created by SimpleTcpCluster.createManager() when cloning the manager template fails so that its replication messages carry a context name and are not routed to every context on the receiving nodes
remm
-
2026/09/30
(tomcat) 22/25: Fire the SEND_MESSAGE_FAILURE_EVENT lifecycle event with the failing message, destination and exception from SimpleTcpCluster.send() when notifyLifecycleListenerOnFailure is enabled, making the previously declared but never fired event work as documented
remm
-
2026/09/30
(tomcat) 25/25: Merge branch 'main' of [email protected]:apache/tomcat.git into main
remm
-
2026/09/30
(tomcat) 10/25: Correct the calculation of the total number of fragment messages in FileMessageFactory which declared one message too many for files whose size is an exact multiple of the fragment size, so WAR deployments via FarmWarDeployer never completed for those files
remm
-
2026/09/30
(tomcat) 16/25: Log a clear configuration error and disable watching when FarmWarDeployer has watchEnabled set without a watchDir rather than failing with a NullPointerException on start
remm
-
2026/09/30
(tomcat) 04/25: Bound connect and read operations in TcpSender with timeouts since the heartbeat runs on the shared server utility executor, and close connections on read failure
remm
-
2026/09/30
(tomcat) 08/25: Fire ServletContextAttributeListener events for attributes stored in the local map of a ReplicatedContext by extracting the event firing logic of ApplicationContext into overridable hooks
remm
-
2026/09/30
(tomcat) 01/25: Replicate SSO session key set changes from removeSession() and sessionChangedId() in ClusterSingleSignOn so SSO entries are deregistered on all nodes when the last associated session expires
remm
-
2026/09/30
(tomcat) 20/25: Make hasMembers volatile so that membership changes made on the tribes membership thread are visible to the request threads that read it
remm
-
2026/09/30
(tomcat) 07/25: Move attributes set during web application startup into the replicated attribute map when it is installed in ReplicatedContext so they are replicated to the other nodes
remm
-
2026/09/30
(tomcat) 02/25: Guard ClusterSingleSignOn.stopInternal() against a ClassCastException when the ReplicatedMap was never created after a failed start
remm
-
2026/09/30
(tomcat) 06/25: Close the multicast socket in MultiCastSender when socket setup fails after creation to avoid leaking one socket per heartbeat and validate the TTL range in HeartbeatListener
remm
-
2026/09/30
(tomcat) 21/25: Snapshot the request counter in ReplicationValve.updateStats() and guard against zero so that a concurrent resetStatistics() cannot cause a division by zero
remm
-
2026/09/30
(tomcat) 03/25: Skip auto-assigned-port connector thread pool MBeans in CollectedInfo since their name carries a name index rather than a port
remm
-
2026/09/30
(tomcat) 23/25: Make SimpleTcpCluster.stopInternal() cleanup robust: guard each step so a channel stop failure cannot skip listener removal and cluster valve unregistration, and unregister the MBeans of all cluster members from the member name map on stop
remm
-
2026/09/30
(tomcat) 17/25: Capture and send the final session delta in DeltaSession.expire() before acquiring the session monitor to avoid a lock order inversion against the delta lock
remm
-
2026/09/30
(tomcat) 13/25: Remove completed file factories by instance in FarmWarDeployer to avoid evicting a freshly created factory for a new transfer of the same WAR
remm
-
2026/09/30
(tomcat) 14/25: Use REPLACE_EXISTING when moving a received WAR into place in FarmWarDeployer since the delete of an old WAR with the same name may have failed
remm
-
2026/09/30
(tomcat) 19/25: Compare type and action as well as name when de-duplicating DeltaRequest actions so that distinct changes sharing a name, such as an attribute and a note, are all replicated, and recycle the evicted action back to the pool
remm
-
2026/09/30
(tomcat) 05/25: Keep existing proxy connections in TcpSender.init when the proxy list has not changed since the heartbeat runs init on every periodic event and closing connections there defeated the keep-alive design
remm
-
2026/09/30
(tomcat) branch main updated (e45dc8bd73 -> 2c7defae5d)
remm
-
2026/09/30
Re: October release timeline
Rémy Maucherat
-
2026/09/30
(tomcat) branch main updated: Attempt to fix buildbot failure
markt
-
2026/09/30
(tomcat) branch 9.0.x updated (59ef2708a3 -> 041c531d54)
remm
-
2026/09/30
(tomcat) 03/09: Use an instanceof check when instantiating the configured randomClass in CsrfPreventionFilterBase.init() so a class that is not a Random subclass produces the intended ServletException rather than a raw ClassCastException
remm
-
2026/09/30
(tomcat) 08/09: Remove the placeholder from the http.403 message of the filters package which was rendered literally in the non-HTTP deny response of RequestFilter since no argument was ever provided
remm
-
2026/09/30
(tomcat) 01/09: Ignore a null charset in the AddDefaultCharsetFilter response wrapper rather than storing it and later appending a literal charset=null parameter to the Content-Type header
remm
-
2026/09/30
(tomcat) 02/09: Make the content-type checks in the AddDefaultCharsetFilter response wrapper case-insensitive as required by RFC 9110 for media types and parameter names
remm
-
2026/09/30
(tomcat) 09/09: Fix compilation errors
remm
-
2026/09/30
(tomcat) 06/09: Clamp the max-age value generated by the ExpiresFilter to a minimum of zero to avoid emitting the invalid negative delta-seconds value when the computed expiration time is already in the past
remm
-
2026/09/30
(tomcat) 07/09: Validate the port header value in RemoteIpFilter and RemoteIpValve so that values outside the 1-65535 range fall back to the default server port rather than being applied as an invalid port
remm
-
2026/09/30
(tomcat) 04/09: Use an instanceof check when instantiating the configured rateLimitClassName in RateLimitFilter.init() so a class that does not implement RateLimiter produces the intended ServletException rather than a raw ClassCastException
remm
-
2026/09/30
(tomcat) 05/09: Synchronise the check for an existing nonce cache with its creation in CsrfPreventionFilter to prevent concurrent requests on the same session discarding a cache containing already-issued nonces, which could trigger spurious rejections
remm
-
2026/09/30
(tomcat) 09/09: Fix compilation errors
remm
-
2026/09/30
(tomcat) 01/09: Ignore a null charset in the AddDefaultCharsetFilter response wrapper rather than storing it and later appending a literal charset=null parameter to the Content-Type header
remm
-
2026/09/30
(tomcat) 08/09: Remove the placeholder from the http.403 message of the filters package which was rendered literally in the non-HTTP deny response of RequestFilter since no argument was ever provided
remm
-
2026/09/30
(tomcat) 06/09: Clamp the max-age value generated by the ExpiresFilter to a minimum of zero to avoid emitting the invalid negative delta-seconds value when the computed expiration time is already in the past
remm
-
2026/09/30
(tomcat) 03/09: Use an instanceof check when instantiating the configured randomClass in CsrfPreventionFilterBase.init() so a class that is not a Random subclass produces the intended ServletException rather than a raw ClassCastException
remm
-
2026/09/30
(tomcat) 05/09: Synchronise the check for an existing nonce cache with its creation in CsrfPreventionFilter to prevent concurrent requests on the same session discarding a cache containing already-issued nonces, which could trigger spurious rejections
remm
-
2026/09/30
(tomcat) 02/09: Make the content-type checks in the AddDefaultCharsetFilter response wrapper case-insensitive as required by RFC 9110 for media types and parameter names
remm
-
2026/09/30
(tomcat) 07/09: Validate the port header value in RemoteIpFilter and RemoteIpValve so that values outside the 1-65535 range fall back to the default server port rather than being applied as an invalid port
remm
-
2026/09/30
(tomcat) 04/09: Use an instanceof check when instantiating the configured rateLimitClassName in RateLimitFilter.init() so a class that does not implement RateLimiter produces the intended ServletException rather than a raw ClassCastException
remm
-
2026/09/30
(tomcat) branch 10.1.x updated (5301caf434 -> 1765a0eb20)
remm
-
2026/09/30
(tomcat) 09/11: Merge branch 'main' of [email protected]:apache/tomcat.git into main
remm
-
2026/09/30
(tomcat) 03/08: Use an instanceof check when instantiating the configured randomClass in CsrfPreventionFilterBase.init() so a class that is not a Random subclass produces the intended ServletException rather than a raw ClassCastException
remm
-
2026/09/30
(tomcat) 07/08: Validate the port header value in RemoteIpFilter and RemoteIpValve so that values outside the 1-65535 range fall back to the default server port rather than being applied as an invalid port
remm
-
2026/09/30
(tomcat) branch 11.0.x updated (78036375a6 -> 677e69a178)
remm
-
2026/09/30
(tomcat) 08/08: Remove the placeholder from the http.403 message of the filters package which was rendered literally in the non-HTTP deny response of RequestFilter since no argument was ever provided
remm
-
2026/09/30
(tomcat) 02/08: Make the content-type checks in the AddDefaultCharsetFilter response wrapper case-insensitive as required by RFC 9110 for media types and parameter names
remm
-
2026/09/30
(tomcat) 05/08: Synchronise the check for an existing nonce cache with its creation in CsrfPreventionFilter to prevent concurrent requests on the same session discarding a cache containing already-issued nonces, which could trigger spurious rejections
remm
-
2026/09/30
(tomcat) 04/08: Use an instanceof check when instantiating the configured rateLimitClassName in RateLimitFilter.init() so a class that does not implement RateLimiter produces the intended ServletException rather than a raw ClassCastException
remm
-
2026/09/30
(tomcat) 01/08: Ignore a null charset in the AddDefaultCharsetFilter response wrapper rather than storing it and later appending a literal charset=null parameter to the Content-Type header
remm
-
2026/09/30
(tomcat) 06/08: Clamp the max-age value generated by the ExpiresFilter to a minimum of zero to avoid emitting the invalid negative delta-seconds value when the computed expiration time is already in the past
remm
-
2026/09/30
(tomcat) 01/11: Ignore a null charset in the AddDefaultCharsetFilter response wrapper rather than storing it and later appending a literal charset=null parameter to the Content-Type header
remm
-
2026/09/30
(tomcat) 08/11: Remove the placeholder from the http.403 message of the filters package which was rendered literally in the non-HTTP deny response of RequestFilter since no argument was ever provided
remm
-
2026/09/30
(tomcat) 02/11: Make the content-type checks in the AddDefaultCharsetFilter response wrapper case-insensitive as required by RFC 9110 for media types and parameter names
remm
-
2026/09/30
(tomcat) 10/11: Merge branch 'main' of [email protected]:apache/tomcat.git into main
remm
-
2026/09/30
(tomcat) 06/11: Clamp the max-age value generated by the ExpiresFilter to a minimum of zero to avoid emitting the invalid negative delta-seconds value when the computed expiration time is already in the past
remm
-
2026/09/30
(tomcat) 03/11: Use an instanceof check when instantiating the configured randomClass in CsrfPreventionFilterBase.init() so a class that is not a Random subclass produces the intended ServletException rather than a raw ClassCastException
remm
-
2026/09/30
(tomcat) 05/11: Synchronise the check for an existing nonce cache with its creation in CsrfPreventionFilter to prevent concurrent requests on the same session discarding a cache containing already-issued nonces, which could trigger spurious rejections
remm
-
2026/09/30
(tomcat) 11/11: Merge branch 'main' of [email protected]:apache/tomcat.git into main
remm
-
2026/09/30
(tomcat) 07/11: Validate the port header value in RemoteIpFilter and RemoteIpValve so that values outside the 1-65535 range fall back to the default server port rather than being applied as an invalid port
remm
-
2026/09/30
(tomcat) branch main updated (9c6823e159 -> 8443c1d858)
remm
-
2026/09/30
(tomcat) 04/11: Use an instanceof check when instantiating the configured rateLimitClassName in RateLimitFilter.init() so a class that does not implement RateLimiter produces the intended ServletException rather than a raw ClassCastException
remm
-
2026/09/30
(tomcat) branch 11.0.x updated: Tomcat 11 baseline is Java 17 not Java 21
markt
-
2026/09/30
(tomcat) branch 9.0.x updated: Update to Bouncy Castle 1.86
markt
-
2026/09/30
(tomcat) branch 10.1.x updated: Update to Bouncy Castle 1.86
markt
-
2026/09/30
(tomcat) branch 11.0.x updated: Correct location
markt
-
2026/09/30
(tomcat) branch 11.0.x updated: Update to Bouncy Castle 1.86
markt
-
2026/09/30
Re: October release timeline
Mark Thomas
-
2026/09/30
(tomcat) branch main updated: Update to Bouncy Castle 1.8.6
markt
-
2026/09/30
(tomcat) branch 9.0.x updated: Update to Byte Buddy 1.18.14
markt
-
2026/09/30
(tomcat) branch main updated: Update to Checkstyle 14.3.0
markt
-
2026/09/30
(tomcat) branch 10.1.x updated: Update to Byte Buddy 1.18.14
markt
-
2026/09/30
(tomcat) branch 11.0.x updated: Update to Byte Buddy 1.18.14
markt
-
2026/09/30
(tomcat) branch main updated: Update to Byte Buddy 1.18.14
markt
-
2026/09/30
(tomcat) branch 9.0.x updated: Update NSIS to 3.13
markt
-
2026/09/30
(tomcat) branch 10.1.x updated: Update NSIS to 3.13
markt
-
2026/09/30
(tomcat) branch 11.0.x updated: Correct location
markt
-
2026/09/30
(tomcat) 02/02: Update NSIS to 3.13
markt
-
2026/09/30
(tomcat) 01/02: Update to the Eclipse JDT compiler 4.41
markt
-
2026/09/30
(tomcat) branch 11.0.x updated (f386b930f1 -> 04acaa8e32)
markt
-
2026/09/30
(tomcat) branch main updated: Update NSIS to 3.13
markt
-
2026/09/30
(tomcat) branch main updated: Update to the Eclipse JDT compiler 4.41
markt
-
2026/09/30
[Bug 70251] New: CloseableURLConnection closes shared Jar file
bugzilla
-
2026/09/30
(tomcat) branch 11.0.x updated: Treat close() the same was as shutdown()
markt
-
2026/09/30
(tomcat) branch main updated: Treat close() the same was as shutdown()
markt
-
2026/09/30
(tomcat) branch 9.0.x updated: Rename tests to match standard naming convention.
markt
-
2026/09/30
(tomcat) branch 11.0.x updated: Rename tests to match standard naming convention.
markt
-
2026/09/30
(tomcat) branch main updated: Rename tests to match standard naming convention.
markt
-
2026/09/30
(tomcat) branch 10.1.x updated: Rename tests to match standard naming convention.
markt
-
2026/09/30
(tomcat) branch 9.0.x updated: Explicitly state virtual host and SNI matching are separate
markt
-
2026/09/30
(tomcat) 01/10: Add the missing standardService.connector.startFailed and standardService.connector.stopFailed localization keys so connector start and stop failures produce readable messages rather than the raw key
remm
-
2026/09/30
(tomcat) branch 11.0.x updated: Explicitly state virtual host and SNI matching are separate
markt
-
2026/09/30
(tomcat) branch main updated: Follow-up to 87ed9d47
markt
-
2026/09/30
(tomcat) branch 9.0.x updated (2fb3864f0e -> 006099e16a)
markt
-
2026/09/30
(tomcat) 07/08: Make FrameworkListener registration idempotent so repeated Server start events do not add duplicate container listeners or orphan previous per-context lifecycle listeners that can no longer be removed
remm
-
2026/09/30
(tomcat) 07/10: Walk the class hierarchy in NamingResourcesImpl getSetterType() and getFieldType() so that injection targets resolving to inherited fields or setters are no longer rejected at deployment, matching the behaviour of the runtime injection engine
remm
-
2026/09/30
(tomcat) 10/10: Merge branch 'main' of [email protected]:apache/tomcat.git into main
remm
-
2026/09/30
(tomcat) 06/10: Retain an existing resource link in NamingResourcesImpl.addEnvironment() when the link's global target is not an overridable global environment rather than adding an environment entry with the same name which would create a duplicate JNDI binding
remm
-
2026/09/30
Re: (tomcat) branch main updated: Follow-up to 09c0caced9
Rémy Maucherat
-
2026/09/30
(tomcat) 05/07: Initialize the ServerAuthModule before caching the SingleModuleServerAuthContext so a failed initialization is not cached permanently and can be re-attempted on next use
remm
-
2026/09/30
(tomcat) 04/04: Merge branch '10.1.x' of [email protected]:apache/tomcat.git into 10.1.x
remm
-
2026/09/30
(tomcat) branch 9.0.x updated: Follow-up to 87ed9d47
markt
-
2026/09/30
(tomcat) branch main updated: Follow-up to 34315ac0
markt
-
2026/09/30
(tomcat) 07/08: Use the atomic add() of the shared entries set as the name claim in all NamingResourcesImpl add*() methods to close the check-then-act race which could allow two descriptors with the same JNDI name to both be registered
remm
-
2026/09/30
(tomcat) 05/07: Initialize the ServerAuthModule before caching the SingleModuleServerAuthContext so a failed initialization is not cached permanently and can be re-attempted on next use
remm
-
2026/09/30
(tomcat) branch 9.0.x updated: Partial revert of 6fd26942
markt
-
2026/09/30
(tomcat) branch 10.1.x updated: Fix CharChunk.indexOf(char) for chunks with a non-zero start
markt
-
2026/09/30
(tomcat) 07/08: Use the atomic add() of the shared entries set as the name claim in all NamingResourcesImpl add*() methods to close the check-then-act race which could allow two descriptors with the same JNDI name to both be registered
remm
-
2026/09/30
(tomcat) branch 10.1.x updated (792859bdb8 -> bd356f1714)
remm
-
2026/09/30
(tomcat) branch 10.1.x updated: Partial revert of 99d1d567
markt
-
2026/09/30
(tomcat) 05/06: Update the JASPIC client Subject only when password validation succeeded (or was not requested), failing closed rather than adding a principal derived from untrusted caller-supplied data when validation failed
remm
-
2026/09/30
(tomcat) branch 10.1.x updated: Fix IDE resource leak warnings
markt
-
2026/09/30
(tomcat) 03/04: Merge branch '10.1.x' of [email protected]:apache/tomcat.git into 10.1.x
remm
-
2026/09/30
(tomcat) branch 9.0.x updated: Fix IDE resource leak warnings
markt
-
2026/09/30
(tomcat) branch 11.0.x updated: Fix IDE resource leak warnings
markt
-
2026/09/30
(tomcat) branch main updated: Fix IDE resource leak warnings
markt
-
2026/09/30
(tomcat) 10/10: Merge branch '11.0.x' of [email protected]:apache/tomcat.git into 11.0.x
remm
-
2026/09/30
Re: [PR] Fix CharChunk.indexOf(char) for chunks with a non-zero start [tomcat]
via GitHub
-
2026/09/30
(tomcat) 03/07: Return 0 rather than -1 for zero-length reads from InputBuffer at end of stream, as required by the InputStream/Reader contract, and avoid the unnecessary blocking fill these requests previously triggered
remm
-
2026/09/30
(tomcat) branch 10.1.x updated: Route JspC context logging through Ant
markt
-
2026/09/30
(tomcat) branch 9.0.x updated: Route JspC context logging through Ant
markt
-
2026/09/30
(tomcat) branch 11.0.x updated: Route JspC context logging through Ant
markt
-
2026/09/30
(tomcat) branch 10.1.x updated (ce5f2588a8 -> ae6ad90929)
remm
-
2026/09/30
Re: [PR] Route JspC context logging through Ant [tomcat]
via GitHub
-
2026/09/30
(tomcat) branch main updated: Route JspC context logging through Ant
markt
-
2026/09/30
Re: [PR] Fix Map.Entry contract for CaseInsensitiveKeyMap entries [tomcat]
via GitHub