Prefer backward-compatible changes: only add optional fields, don’t rename/remove fields, and version events when you must break compatibility. Consumers should ignore unknown fields and handle missing fields safely.