mirror of
https://github.com/kubernetes/client-go.git
synced 2025-06-27 15:39:39 +00:00
Merge pull request #466 from nikhita/release-9
Add client-go 9.0.0 changelog
This commit is contained in:
commit
c49eef9ec8
181
CHANGELOG.md
181
CHANGELOG.md
@ -5,6 +5,187 @@ https://github.com/kubernetes/test-infra/issues/5843.
|
|||||||
Changes in `k8s.io/api` and `k8s.io/apimachinery` are mentioned here
|
Changes in `k8s.io/api` and `k8s.io/apimachinery` are mentioned here
|
||||||
because `k8s.io/client-go` depends on them.
|
because `k8s.io/client-go` depends on them.
|
||||||
|
|
||||||
|
# v9.0.0
|
||||||
|
|
||||||
|
**Breaking Changes:**
|
||||||
|
|
||||||
|
* client-go now supports additional non-alpha-numeric characters in UserInfo
|
||||||
|
"extra" data keys. It should be updated in order to properly support extra
|
||||||
|
data containing "/" characters or other characters disallowed in HTTP headers.
|
||||||
|
Old clients sending keys which were `%`-escaped by the user will have their
|
||||||
|
values unescaped by new API servers.
|
||||||
|
([#65799](https://github.com/kubernetes/kubernetes/pull/65799))
|
||||||
|
|
||||||
|
* `apimachinery/pkg/watch.Until` has been moved to
|
||||||
|
`client-go/tools/watch.UntilWithoutRetry`. While switching please consider
|
||||||
|
using the new `client-go/tools/watch.UntilWithSync` or `client-go/tools/watch.Until`.
|
||||||
|
([#66906](https://github.com/kubernetes/kubernetes/pull/66906))
|
||||||
|
|
||||||
|
* [k8s.io/apimachinery] `Unstructured` metadata accessors now respect omitempty semantics
|
||||||
|
i.e. a field having zero value will now be removed from the unstructured metadata map.
|
||||||
|
([#67635](https://github.com/kubernetes/kubernetes/pull/67635))
|
||||||
|
|
||||||
|
* [k8s.io/apimachinery] The `ObjectConvertor` interface is now changed such that
|
||||||
|
`ConvertFieldLabel` func takes GroupVersionKind as an argument instead of just
|
||||||
|
version and kind. ([#65780](https://github.com/kubernetes/kubernetes/pull/65780))
|
||||||
|
|
||||||
|
* [k8s.io/apimachinery] componentconfig `ClientConnectionConfiguration` is
|
||||||
|
moved to `k8s.io/apimachinery/pkg/apis/config`.
|
||||||
|
([#66058](https://github.com/kubernetes/kubernetes/pull/66058))
|
||||||
|
|
||||||
|
* [k8s.io/apimachinery] Renamed ` KubeConfigFile` to `Kubeconfig` in
|
||||||
|
`ClientConnectionConfiguration`.
|
||||||
|
([#67149](https://github.com/kubernetes/kubernetes/pull/67149))
|
||||||
|
|
||||||
|
* [k8s.io/apimachinery] JSON patch no longer supports `int`.
|
||||||
|
([#63522](https://github.com/kubernetes/kubernetes/pull/63522))
|
||||||
|
|
||||||
|
**New Features:**
|
||||||
|
|
||||||
|
* Add ability to cancel leader election.
|
||||||
|
This also proves useful in integration tests where the whole app is started and
|
||||||
|
stopped in each test. ([#57932](https://github.com/kubernetes/kubernetes/pull/57932))
|
||||||
|
|
||||||
|
* An example showing how to use fake clients in tests is added.
|
||||||
|
([#65291](https://github.com/kubernetes/kubernetes/pull/65291))
|
||||||
|
|
||||||
|
* [k8s.io/apimachinery] Create and Update now support `CreateOptions` and `UpdateOptions`.
|
||||||
|
([#65105](https://github.com/kubernetes/kubernetes/pull/65105))
|
||||||
|
|
||||||
|
**Bug fixes and Improvements:**
|
||||||
|
|
||||||
|
* Decrease the amount of time it takes to modify kubeconfig
|
||||||
|
files with large amounts of contexts.
|
||||||
|
([#67093](https://github.com/kubernetes/kubernetes/pull/67093))
|
||||||
|
|
||||||
|
* The leader election client now renews timeout.
|
||||||
|
([#65094](https://github.com/kubernetes/kubernetes/pull/65094))
|
||||||
|
|
||||||
|
* Switched certificate data replacement from `REDACTED` to `DATA+OMITTED`.
|
||||||
|
([#66023](https://github.com/kubernetes/kubernetes/pull/66023))
|
||||||
|
|
||||||
|
* Fix listing in the fake dynamic client.
|
||||||
|
([#66078](https://github.com/kubernetes/kubernetes/pull/66078))
|
||||||
|
|
||||||
|
* Fix discovery so that plural names are no longer ignored if a singular name is not specified.
|
||||||
|
([#66249](https://github.com/kubernetes/kubernetes/pull/66249))
|
||||||
|
|
||||||
|
* Fix kubelet startup failure when using `ExecPlugin` in kubeconfig.
|
||||||
|
([#66395](https://github.com/kubernetes/kubernetes/pull/66395))
|
||||||
|
|
||||||
|
* Fix panic in the fake `SubjectAccessReview` client when object is nil.
|
||||||
|
([#66837](https://github.com/kubernetes/kubernetes/pull/66837))
|
||||||
|
|
||||||
|
* Periodically reload `InClusterConfig` token.
|
||||||
|
([#67359](https://github.com/kubernetes/kubernetes/pull/67359))
|
||||||
|
|
||||||
|
* [k8s.io/apimachinery] Report parsing error in json serializer.
|
||||||
|
([#63668](https://github.com/kubernetes/kubernetes/pull/63668))
|
||||||
|
|
||||||
|
* [k8s.io/apimachinery] The `metav1.ObjectMeta` accessor does not deepcopy
|
||||||
|
owner references anymore. In general, the accessor interface does not enforce
|
||||||
|
deepcopy nor does it forbid it (e.g. for `unstructured.Unstructured`).
|
||||||
|
([#64915](https://github.com/kubernetes/kubernetes/pull/64915))
|
||||||
|
|
||||||
|
* [k8s.io/apimachinery] Utility functions `SetTransportDefaults` and `DialerFor`
|
||||||
|
once again respect custom Dial functions set on transports.
|
||||||
|
([#65547](https://github.com/kubernetes/kubernetes/pull/65547))
|
||||||
|
|
||||||
|
* [k8s.io/apimachinery] Speed-up conversion function invocation by avoiding
|
||||||
|
`reflect.Call`. Action required: regenerated conversion with conversion-gen.
|
||||||
|
([#65771](https://github.com/kubernetes/kubernetes/pull/65771))
|
||||||
|
|
||||||
|
* [k8s.io/apimachinery] Establish "406 Not Acceptable" response for
|
||||||
|
unmarshable protobuf serialization error.
|
||||||
|
([#67041](https://github.com/kubernetes/kubernetes/pull/67041))
|
||||||
|
|
||||||
|
* [k8s.io/apimachinery] Immediately close the other side of the connection by
|
||||||
|
exiting once one side closes when proxying.
|
||||||
|
([#67288](https://github.com/kubernetes/kubernetes/pull/67288))
|
||||||
|
|
||||||
|
|
||||||
|
## API changes
|
||||||
|
|
||||||
|
**Breaking Changes:**
|
||||||
|
|
||||||
|
* Volume dynamic provisioning scheduling has been promoted to beta.
|
||||||
|
ACTION REQUIRED: The DynamicProvisioningScheduling alpha feature gate has been removed.
|
||||||
|
The VolumeScheduling beta feature gate is still required for this feature.
|
||||||
|
([#67432](https://github.com/kubernetes/kubernetes/pull/67432))
|
||||||
|
|
||||||
|
* The CSI file system type is no longer defaulted to ext4.
|
||||||
|
All the production drivers listed under https://kubernetes-csi.github.io/docs/Drivers.html
|
||||||
|
were inspected and should not be impacted after this change.
|
||||||
|
If you are using a driver not in that list,
|
||||||
|
please test the drivers on an updated test cluster first.
|
||||||
|
([#65499](https://github.com/kubernetes/kubernetes/pull/65499))
|
||||||
|
|
||||||
|
**New Features:**
|
||||||
|
|
||||||
|
* Support annotations for remote admission webhooks.
|
||||||
|
([#58679](https://github.com/kubernetes/kubernetes/pull/58679))
|
||||||
|
|
||||||
|
* Support both directory and block device for local volume
|
||||||
|
plugin `FileSystem` `VolumeMode`.
|
||||||
|
([#63011](https://github.com/kubernetes/kubernetes/pull/63011))
|
||||||
|
|
||||||
|
* Introduce `autoscaling/v2beta2` and `custom_metrics/v1beta2`,
|
||||||
|
which implement metric selectors for Object and Pods metrics,
|
||||||
|
as well as allowing AverageValue targets on Objects, similar to External metrics.
|
||||||
|
([#64097](https://github.com/kubernetes/kubernetes/pull/64097))
|
||||||
|
|
||||||
|
* Add `Lease` API in the `coordination.k8s.io` API group.
|
||||||
|
([#64246](https://github.com/kubernetes/kubernetes/pull/64246))
|
||||||
|
|
||||||
|
* `ProcMount` added to `SecurityContext` and `AllowedProcMounts` added to `PodSecurityPolicy`
|
||||||
|
to allow paths in the container's `/proc` to not be masked.
|
||||||
|
([#64283](https://github.com/kubernetes/kubernetes/pull/64283))
|
||||||
|
|
||||||
|
* Add the `AuditAnnotations` field to `ImageReviewStatus` to allow the
|
||||||
|
`ImageReview` backend to return annotations to be added to the created pod.
|
||||||
|
([#64597](https://github.com/kubernetes/kubernetes/pull/64597))
|
||||||
|
|
||||||
|
* SCTP is now supported as additional protocol (alpha) alongside TCP and UDP in
|
||||||
|
Pod, Service, Endpoint, and NetworkPolicy.
|
||||||
|
([#64973](https://github.com/kubernetes/kubernetes/pull/64973))
|
||||||
|
|
||||||
|
* The `PodShareProcessNamespace` feature to configure PID namespace sharing
|
||||||
|
within a pod has been promoted to beta.
|
||||||
|
([#66507](https://github.com/kubernetes/kubernetes/pull/66507))
|
||||||
|
|
||||||
|
* Add `TTLSecondsAfterFinished` to `JobSpec` for cleaning up Jobs after they finish.
|
||||||
|
([#66840](https://github.com/kubernetes/kubernetes/pull/66840))
|
||||||
|
|
||||||
|
* Add `DataSource` and `TypedLocalObjectReference` fields to support
|
||||||
|
restoring a volume from a volume snapshot data source.
|
||||||
|
([#67087](https://github.com/kubernetes/kubernetes/pull/67087))
|
||||||
|
|
||||||
|
* `RuntimeClass` is a new API resource for defining different classes of runtimes
|
||||||
|
that may be used to run containers in the cluster.
|
||||||
|
Pods can select a `RunitmeClass` to use via the `RuntimeClassName` field.
|
||||||
|
This feature is in alpha, and the `RuntimeClass` feature gate must be enabled
|
||||||
|
in order to use it. ([#67737](https://github.com/kubernetes/kubernetes/pull/67737))
|
||||||
|
|
||||||
|
* To address the possibility dry-run requests overwhelming admission webhooks
|
||||||
|
that rely on side effects and a reconciliation mechanism, a new field is being
|
||||||
|
added to `admissionregistration.k8s.io/v1beta1.ValidatingWebhookConfiguration`
|
||||||
|
and `admissionregistration.k8s.io/v1beta1.MutatingWebhookConfiguration` so that
|
||||||
|
webhooks can explicitly register as having dry-run support.
|
||||||
|
If a dry-run request is made on a resource that triggers a non dry-run supporting
|
||||||
|
webhook, the request will be completely rejected, with "400: Bad Request".
|
||||||
|
Additionally, a new field is being added to the
|
||||||
|
`admission.k8s.io/v1beta1.AdmissionReview` API object, exposing to webhooks
|
||||||
|
whether or not the request being reviewed is a dry-run.
|
||||||
|
([#66936](https://github.com/kubernetes/kubernetes/pull/66936))
|
||||||
|
|
||||||
|
**Bug fixes and Improvements:**
|
||||||
|
|
||||||
|
* The `DisruptedPods` field in `PodDisruptionBudgetStatus` is now optional.
|
||||||
|
([#63757](https://github.com/kubernetes/kubernetes/pull/63757))
|
||||||
|
|
||||||
|
* `extensions/v1beta1` Deployment's `ProgressDeadlineSeconds` now defaults to `MaxInt32`.
|
||||||
|
([#66581](https://github.com/kubernetes/kubernetes/pull/66581))
|
||||||
|
|
||||||
# v8.0.0
|
# v8.0.0
|
||||||
|
|
||||||
**Breaking Changes:**
|
**Breaking Changes:**
|
||||||
|
24
README.md
24
README.md
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
Go clients for talking to a [kubernetes](http://kubernetes.io/) cluster.
|
Go clients for talking to a [kubernetes](http://kubernetes.io/) cluster.
|
||||||
|
|
||||||
We currently recommend using the v8.0.0 tag. See [INSTALL.md](/INSTALL.md) for
|
We currently recommend using the v9.0.0 tag. See [INSTALL.md](/INSTALL.md) for
|
||||||
detailed installation instructions. `go get k8s.io/client-go/...` works, but
|
detailed installation instructions. `go get k8s.io/client-go/...` works, but
|
||||||
will build `master`, which doesn't handle the dependencies well.
|
will build `master`, which doesn't handle the dependencies well.
|
||||||
|
|
||||||
@ -91,16 +91,15 @@ We will backport bugfixes--but not new features--into older versions of
|
|||||||
|
|
||||||
#### Compatibility matrix
|
#### Compatibility matrix
|
||||||
|
|
||||||
| | Kubernetes 1.5 | Kubernetes 1.6 | Kubernetes 1.7 | Kubernetes 1.8 | Kubernetes 1.9 | Kubernetes 1.10 | Kubernetes 1.11 |
|
| | Kubernetes 1.6 | Kubernetes 1.7 | Kubernetes 1.8 | Kubernetes 1.9 | Kubernetes 1.10 | Kubernetes 1.11 | Kubernetes 1.12 |
|
||||||
|---------------------|----------------|----------------|----------------|----------------|----------------|-----------------|-----------------|
|
|---------------------|----------------|----------------|----------------|----------------|-----------------|-----------------|-----------------|
|
||||||
| client-go 1.5 | - | - | - | - | - | - | - |
|
| client-go 3.0 | ✓ | - | +- | +- | +- | +- | +- |
|
||||||
| client-go 2.0 | ✓ | +- | +- | +- | +- | +- | +- |
|
| client-go 4.0 | +- | ✓ | +- | +- | +- | +- | +- |
|
||||||
| client-go 3.0 | +- | ✓ | - | +- | +- | +- | +- |
|
| client-go 5.0 | +- | +- | ✓ | +- | +- | +- | +- |
|
||||||
| client-go 4.0 | +- | +- | ✓ | +- | +- | +- | +- |
|
| client-go 6.0 | +- | +- | +- | ✓ | +- | +- | +- |
|
||||||
| client-go 5.0 | +- | +- | +- | ✓ | +- | +- | +- |
|
| client-go 7.0 | +- | +- | +- | +- | ✓ | +- | +- |
|
||||||
| client-go 6.0 | +- | +- | +- | +- | ✓ | +- | +- |
|
| client-go 8.0 | +- | +- | +- | +- | +- | ✓ | +- |
|
||||||
| client-go 7.0 | +- | +- | +- | +- | +- | ✓ | +- |
|
| client-go 9.0 | +- | +- | +- | +- | +- | +- | ✓ |
|
||||||
| client-go 8.0 | +- | +- | +- | +- | +- | +- | ✓ |
|
|
||||||
| client-go HEAD | +- | +- | +- | +- | +- | +- | +- |
|
| client-go HEAD | +- | +- | +- | +- | +- | +- | +- |
|
||||||
|
|
||||||
Key:
|
Key:
|
||||||
@ -128,9 +127,10 @@ between client-go versions.
|
|||||||
| client-go 3.0 | Kubernetes main repo, 1.6 branch | = - |
|
| client-go 3.0 | Kubernetes main repo, 1.6 branch | = - |
|
||||||
| client-go 4.0 | Kubernetes main repo, 1.7 branch | = - |
|
| client-go 4.0 | Kubernetes main repo, 1.7 branch | = - |
|
||||||
| client-go 5.0 | Kubernetes main repo, 1.8 branch | = - |
|
| client-go 5.0 | Kubernetes main repo, 1.8 branch | = - |
|
||||||
| client-go 6.0 | Kubernetes main repo, 1.9 branch | ✓ |
|
| client-go 6.0 | Kubernetes main repo, 1.9 branch | = - |
|
||||||
| client-go 7.0 | Kubernetes main repo, 1.10 branch | ✓ |
|
| client-go 7.0 | Kubernetes main repo, 1.10 branch | ✓ |
|
||||||
| client-go 8.0 | Kubernetes main repo, 1.11 branch | ✓ |
|
| client-go 8.0 | Kubernetes main repo, 1.11 branch | ✓ |
|
||||||
|
| client-go 9.0 | Kubernetes main repo, 1.12 branch | ✓ |
|
||||||
| client-go HEAD | Kubernetes main repo, master branch | ✓ |
|
| client-go HEAD | Kubernetes main repo, master branch | ✓ |
|
||||||
|
|
||||||
Key:
|
Key:
|
||||||
|
Loading…
Reference in New Issue
Block a user