Upgrade Calendar
The Canton operations schedule as a calendar you subscribe to once. Upgrade deadlines, minimum versions, topology freezes and Logical Synchronizer Upgrades, filtered to the network and the role you actually operate.
Subscribe
https://ccpedia.xyz/api/calendar/validator.icshttps://ccpedia.xyz/api/calendar/sv.icshttps://ccpedia.xyz/api/calendar/mainnet.icshttps://ccpedia.xyz/api/calendar/testnet.icshttps://ccpedia.xyz/api/calendar/devnet.icsSubscribe adds a live feed that refreshes on its own. Copy URL gives you the same thing as https, for clients that will not take a webcal link. Both point at the same file, which is regenerated every 30 minutes from the Foundation schedule.
Next up for validator operators
| When | Network | Version | What |
|---|---|---|---|
| 2026-07-22 · tomorrow | DevNet | — | DevNet: LSU to adopt CantonBFT-based synchronizers. |
| 2026-07-27 · in 6 days | MainNet | 0.6.11 | Minimum version |
| 2026-07-27 · in 6 days | TestNet | 0.6.11 | Minimum version |
| 2026-07-27 · in 6 days | DevNet | 0.6.11 | Minimum version |
| 2026-07-27 · in 6 days | MainNet | 0.6.12 | MainNet upgrades to Splice 0.6.12 |
| 2026-07-27 · in 6 days | TestNet | 0.6.13 | TestNet upgrades to Splice 0.6.13 |
| 2026-07-27 · in 6 days | DevNet | 0.6.14 | DevNet upgrades to Splice 0.6.14 |
| 2026-07-28 · in 7 days | MainNet | — | Minimum .dar package versions |
| 2026-07-28 · in 7 days | TestNet | — | Minimum .dar package versions |
| 2026-07-28 · in 7 days | DevNet | — | Minimum .dar package versions |
| 2026-07-28 · in 7 days | MainNet | 0.6.11 | MainNet: Daml models from Splice 0.6.11 effective (required for CIP-112) |
| 2026-08-03 · in 13 days | DevNet | — | DevNet Breaking API Change: |
| 2026-08-03 · in 13 days | MainNet | 0.6.13 | MainNet upgrades to Splice 0.6.13 |
| 2026-08-03 · in 13 days | TestNet | 0.6.14 | TestNet upgrades to Splice 0.6.14 |
What is in the feed, and what is not
CCPEDIA parses the Foundation schedule and attributes a network to 385 of 483 events, extracting a Splice version wherever the source states one. Both go into the calendar entry, so an event reads as a requirement rather than as a note.
The remaining 98events have no network we could attribute with confidence, and none of them are served. A wrong upgrade deadline sitting in an operator's calendar is worse than an absent one, so the filter runs when the feed is built, not when it is parsed. For the same reason a feed that resolves to almost nothing returns an error instead of an empty calendar, which would silently erase the deadlines a subscriber already had.
To check your own node against these deadlines, use the upgrade check. For the raw event stream see radar, and for alerting straight from Prometheus see /api/ops-metrics.