|
| 1 | +apiVersion: release-notes/v2 |
| 2 | +kind: feature |
| 3 | +area: extensibility |
| 4 | + |
| 5 | +# issue is a list of GitHub issues resolved in this note. |
| 6 | +issue: |
| 7 | + - https://github.com/istio/api/issues/3127 |
| 8 | + |
| 9 | +releaseNotes: |
| 10 | + - | |
| 11 | + **Removed** internal multi-version protobuf files from the API. |
| 12 | + This is an internal change for most users. |
| 13 | + If you directly consume Istio APIs as protobufs, read the upgrade notes. |
| 14 | +
|
| 15 | +upgradeNotes: |
| 16 | + title: Internal API protobuf changes |
| 17 | + content: | |
| 18 | + If you do not use Istio APIs from Go (via `istio.io/api` or `istio.io/client-go`) or Protobuf (from `istio.io/api`), this change does not impact you. |
| 19 | +
|
| 20 | + In prior versions, Istio APIs had identical contents replicated across multiple versions. |
| 21 | + For example, the same `VirtualService` protobuf message is defined 3 times (`v1alpha3`, `v1beta1`, and `v1`). |
| 22 | + These schemas are identical except in the package they reside in. |
| 23 | +
|
| 24 | + In this version of Istio, these have been consolidated down to a single version. |
| 25 | + For resources that had multiple versions, the oldest version is retained. |
| 26 | + |
| 27 | + * If you use Istio APIs only via Kubernetes (YAML), there is no impact at all. |
| 28 | + * If you use Istio APIs by Go types, there is essentially no impact. |
| 29 | + Each removed version has been replaced with type aliases to the remaining version, ensuring backwards compatibility. |
| 30 | + However, niche use cases (reflection, etc) may have some impact. |
| 31 | + * If you use Istio APIs directly by Protobuf, and use newer versions, these will no longer be included as part of the API. |
| 32 | + Please reach out to the team if you are impacted. |
0 commit comments