GRPC Objective-C  1.26.0
gRPC Versioning Guide

Versioning Overview

All gRPC implementations use a three-part version number (vX.Y.Z) and strictly follow semantic versioning, which defines the semantics of major, minor and patch components of the version number. In addition to that, gRPC versions evolve according to these rules:

There are also a few extra rules regarding adding new gRPC implementations (e.g. adding support for a new language)

Policy for updating the major version number

To avoid user confusion and simplify reasoning, the gRPC releases in different languages try to stay synchronized in terms of major and minor version (all languages follow the same release schedule). Nevertheless, because we also strictly follow semantic versioning, there are circumstances in which a gRPC implementation needs to break the version synchronicity and do a major version bump independently of other languages.

Situations when it's ok to do a major version bump

Note that while major version bump allows changing APIs used by the users, it must not impact the interoperability of the implementation with other gRPC implementations and the previous major version released. That means that no backward incompatible protocol changes are allowed: old clients must continue interoperating correctly with new servers and new servers with old clients.

Situations that DON'T warrant a major version bump