> [!abstract] Managing breaking changes to event schemas by publishing multiple versions simultaneously and setting deprecation dates.
## Strategy
1. Publish **both versions** of the event simultaneously (v1 and v2)
2. Set a **deprecation date** for the old version
3. Give consumers time to migrate to the new version
4. Stop publishing the old version on the deprecation date
## Key Principles
- Stick to deprecation dates - otherwise you'll manage too many versions
- Use version numbers in event type (e.g., `order.confirmed.v1`)
- Schema is the **highest form of [[Coupling|coupling]]** in event systems
## Governance
Use **RFCs (Request for Comments)** for breaking changes:
- Tag RFC with event type
- Give others a chance to comment
- Keeps teams asynchronous but collaborative
## Sources
[[x_Sources/Videos/Video - Build An Event Driven System - NDC Oslo 2024|Build An Event Driven System - James Eastham (NDC Oslo 2024)]]