I think this is all both necessary and sufficient for safety though.
The client-library-version metadata is NOT necessary, as any change that would
read this and change behavior needs GetVersion to be safe, but we should still
consider adding it ASAP for troubleshooting purposes. It'd be useful to be
able to tell if version N created an event -> if it should have data X or Y.
Unfortunately complicated :|
I think this is all both necessary and sufficient for safety though. The client-library-version metadata is NOT necessary, as any change that would read this and change behavior needs GetVersion to be safe, but we should still consider adding it ASAP for troubleshooting purposes. It'd be useful to be able to tell if version N created an event -> if it should have data X or Y.