|
| 1 | +# Versioning Strategy |
| 2 | + |
| 3 | +`twilio-go` uses a modified version of [Semantic Versioning][semver] for |
| 4 | +all changes to the helper library. It is strongly encouraged that you pin at |
| 5 | +least the major version and potentially the minor version to avoid pulling in |
| 6 | +breaking changes. |
| 7 | + |
| 8 | +Semantic Versions take the form of `MAJOR.MINOR.PATCH` |
| 9 | + |
| 10 | +When bugs are fixed in the library in a backwards-compatible way, the `PATCH` |
| 11 | +level will be incremented by one. When new features are added to the library |
| 12 | +in a backwards-compatible way, the `PATCH` level will be incremented by one. |
| 13 | +`PATCH` changes should _not_ break your code and are generally safe for upgrade. |
| 14 | + |
| 15 | +When a new large feature set comes online or a small breaking change is |
| 16 | +introduced, the `MINOR` version will be incremented by one and the `PATCH` |
| 17 | +version reset to zero. `MINOR` changes _may_ require some amount of manual code |
| 18 | +change for upgrade. These backwards-incompatible changes will generally be |
| 19 | +limited to a small number of function signature changes. |
| 20 | + |
| 21 | +The `MAJOR` version is used to indicate the family of technology represented by |
| 22 | +the helper library. Breaking changes that require extensive reworking of code |
| 23 | +will cause the `MAJOR` version to be incremented by one, and the `MINOR` and |
| 24 | +`PATCH` versions will be reset to zero. Twilio understands that this can be very |
| 25 | +disruptive, so we will only introduce this type of breaking change when |
| 26 | +absolutely necessary. New `MAJOR` versions will be communicated in advance with |
| 27 | +`Release Candidates` and a schedule. |
| 28 | + |
| 29 | +## Supported Versions |
| 30 | + |
| 31 | +Only the current `MAJOR` version of `twilio-go` is supported. New |
| 32 | +features, functionality, bug fixes, and security updates will only be added to |
| 33 | +the current `MAJOR` version. |
| 34 | + |
| 35 | +[semver]: https://semver.org |
0 commit comments