From 395c8422fe90080314c7d9b4114d701a0c049e1f Mon Sep 17 00:00:00 2001 From: Tigran Najaryan <4194920+tigrannajaryan@users.noreply.github.com> Date: Wed, 19 Apr 2023 20:31:44 -0400 Subject: [PATCH] Clarify how additive changes are handled (#455) This PR explicitly lists the additive changes allowed and adds a requirement that such additive changes must be accompanied by interoperability explanation when necessary. This is a subset of https://github.com/open-telemetry/opentelemetry-proto/pull/432 that contains other guarantees that we did not yet agree to. I believe this particular subset is necessary regardless of what we decide about #432. --- README.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/README.md b/README.md index 29fa0ed61..5a8a1710d 100644 --- a/README.md +++ b/README.md @@ -66,6 +66,19 @@ The following changes are allowed: Note that none of the above allowed changes affects the binary wire representation or the JSON wire representation. +The following additive changes are allowed: + +- Adding new fields to existing messages. +- Adding new messages or enums. +- Adding new choices to existing enums. +- Adding new choices to existing oneof fields. +- Adding new services. +- Adding new methods to existing services. + +All the additive changes above must be accompanied by an explanation about how +new and old senders and receivers that implement the version of the protocol +before and after the change interoperate. + No guarantees are provided whatsoever about the stability of the code that is generated from the .proto files by any particular code generator.