Release of Canton 3.5.12
Canton 3.5.12 has been released on August 07, 2026.Summary
This is a maintenance release that ships improvements for CantonBFT and the traffic enforcement app, as well as improving the mitigation for a critical fix shipped with 3.4.11.What’s New
Traffic Enforcement App
- This release reworks and improves the way local traffic accounts on the participant are updated.
In particular the
par_traffic_enforcement_eventis dropped and re-created from scratch. Events were never exposed through the API so this will only affect users who have been accessing the database directly. Importantly, the traffic balances are not affected by this change and account balance continuity is preserved, and the API for querying traffic balances remains unchanged. - Various bug fixes in the in-memory implementation of the traffic accounting
CantonBFT Improvements
- Upon completing the locally-led segment in an epoch, CantonBFT nodes now dynamically increase the rate of retransmission requests to decrease the time it takes to retrieve any missing messages from other peers’ segments.
- Added a new metric
relative-segment-latencythat records the rate and latency it takes to complete a segment after the segment led by this node completed. - Lower log level of dissemination: some batch dissemination logs in CantonBFT were logged at WARN level, which is too high because they don’t imply abnormal conditions nor non-compliant behavior. This change lowers their log level to INFO.
Bugfixes
(26-005, Critical): LSU: Cancelled LSU leftover state prevents PN startup after a successful LSU
A mitigation of this bug has already been shipped in 3.4.11, this patch release improves the early fix.Issue Description
Cancelled LSU left stale state that combined with a subsequent successful LSU state would prevent a participant node from starting up due to it erroneously recognizing the state mixture as an incomplete LSU and failing to complete it.Affected Deployments
Participant nodesAffected Versions
All versions before 3.5.11Impact
Participants will not start up if restarted for any reasonSymptom
Participant node does not start with a log message:Attempting to run Startup participant node failed with Unable to finish upgrade ...
Workaround
Do not restart a PN before upgrading to a non-affected version. For the cancelled DevNet LSU to the physical synchronizer id::35-4 the issue could be mitigated by running a database query:
Likeliness
The issue happens on a restart of the participant node, regardless of the restart cause, including normal operational procedures.Recommendation
Upgrade to 3.5.11Compatibility
The following Canton protocol versions are supported:
Canton has been tested against the following versions of its dependencies: