> [!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)]]