Skip to content

Commit eab6917

Browse files
authored
Merge pull request #429 from nikhita/release-8
Add client-go 8.0.0 changelog
2 parents 03bfb9b + 1406b3f commit eab6917

File tree

2 files changed

+186
-15
lines changed

2 files changed

+186
-15
lines changed

CHANGELOG.md

+171-1
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,180 @@
11
TODO: This document was manually maintained so might be incomplete. The
22
automation effort is tracked in
3-
https://github.com/kubernetes/client-go/issues/234.
3+
https://github.com/kubernetes/test-infra/issues/5843.
44

55
Changes in `k8s.io/api` and `k8s.io/apimachinery` are mentioned here
66
because `k8s.io/client-go` depends on them.
77

8+
# v8.0.0
9+
10+
**Breaking Changes:**
11+
12+
* `KUBE_API_VERSIONS` has been removed.
13+
14+
* [https://github.com/kubernetes/kubernetes/pull/63165](https://github.com/kubernetes/kubernetes/pull/63165)
15+
16+
* The client-go/discovery `RESTMapper` has been moved to client-go/restmapper.
17+
18+
* [https://github.com/kubernetes/kubernetes/pull/63507](https://github.com/kubernetes/kubernetes/pull/63507)
19+
20+
* `CachedDiscoveryClient` has been moved from kubectl to client-go.
21+
22+
* [https://github.com/kubernetes/kubernetes/pull/63550](https://github.com/kubernetes/kubernetes/pull/63550)
23+
24+
* The `EventRecorder` interface is changed to include an `AnnotatedEventf` method, which can add annotations to an event.
25+
26+
* [https://github.com/kubernetes/kubernetes/pull/64213](https://github.com/kubernetes/kubernetes/pull/64213)
27+
28+
* [k8s.io/apimachinery] The deprecated `RepairMalformedUpdates` flag has been removed.
29+
30+
* [https://github.com/kubernetes/kubernetes/pull/61455](https://github.com/kubernetes/kubernetes/pull/61455)
31+
32+
**New Features:**
33+
34+
* A new easy-to-use dynamic client is added and the old dynamic client is now deprecated.
35+
36+
* [https://github.com/kubernetes/kubernetes/pull/62913](https://github.com/kubernetes/kubernetes/pull/62913)
37+
38+
* client-go and kubectl now detect and report an error on duplicated name for user, cluster and context, while loading the kubeconfig.
39+
40+
* [https://github.com/kubernetes/kubernetes/pull/60464](https://github.com/kubernetes/kubernetes/pull/60464)
41+
42+
* The informer code-generator now allows specifying a custom resync period for certain informer types and uses the default resync period if none is specified.
43+
44+
* [https://github.com/kubernetes/kubernetes/pull/61400](https://github.com/kubernetes/kubernetes/pull/61400)
45+
46+
* Exec authenticator plugin now supports TLS client certificates.
47+
48+
* [https://github.com/kubernetes/kubernetes/pull/61803](https://github.com/kubernetes/kubernetes/pull/61803)
49+
50+
* The discovery client now has a default request timeout of 32 seconds.
51+
52+
* [https://github.com/kubernetes/kubernetes/pull/62733](https://github.com/kubernetes/kubernetes/pull/62733)
53+
54+
* The OpenStack auth config from is now read from the client config. If the client config is not available, it falls back to reading from the environment variables.
55+
56+
* [https://github.com/kubernetes/kubernetes/pull/60200](https://github.com/kubernetes/kubernetes/pull/60200)
57+
58+
* The in-tree support for openstack credentials is now deprecated. Please use the `client-keystone-auth` from the cloud-provider-openstack repository. Details on how to use this new capability is documented [here](https://github.com/kubernetes/cloud-provider-openstack/blob/master/docs/using-client-keystone-auth.md)
59+
60+
* [https://github.com/kubernetes/kubernetes/pull/64346](https://github.com/kubernetes/kubernetes/pull/64346)
61+
62+
**Bug fixes and Improvements:**
63+
64+
* 406 mime-type errors are now tolerated while attempting to load new openapi schema. This improves compatibility with older servers when creating/updating API objects.
65+
66+
* [https://github.com/kubernetes/kubernetes/pull/61949](https://github.com/kubernetes/kubernetes/pull/61949)
67+
68+
* Removes the generated `DeleteCollection()` method for `Services` since the API does not support it.
69+
70+
* [https://github.com/kubernetes/kubernetes/pull/63861](https://github.com/kubernetes/kubernetes/pull/63861)
71+
72+
* Event object references with apiversion now report an apiversion, instead of just the group.
73+
74+
* [https://github.com/kubernetes/kubernetes/pull/63913](https://github.com/kubernetes/kubernetes/pull/63913)
75+
76+
[https://github.com/kubernetes/kubernetes/pull/62462](https://github.com/kubernetes/kubernetes/pull/62462)
77+
78+
* [k8s.io/apimachinery] `runtime.Unstructured.UnstructuredContent()` no longer mutates the source while returning the contents.
79+
80+
* [https://github.com/kubernetes/kubernetes/pull/62063](https://github.com/kubernetes/kubernetes/pull/62063)
81+
82+
* [k8s.io/apimachinery] Incomplete support for `uint64` is now removed. This fixes a panic encountered while using `DeepCopyJSON` with `uint64`.
83+
84+
* [https://github.com/kubernetes/kubernetes/pull/62981](https://github.com/kubernetes/kubernetes/pull/62981)
85+
86+
* [k8s.io/apimachinery] API server can now parse `propagationPolicy` when it sent as a query parameter sent with a delete request.
87+
88+
* [https://github.com/kubernetes/kubernetes/pull/63414](https://github.com/kubernetes/kubernetes/pull/63414)
89+
90+
* [k8s.io/apimachinery] APIServices with kube-like versions (e.g. v1, v2beta1, etc.) will be sorted appropriately within each group.
91+
92+
* [https://github.com/kubernetes/kubernetes/pull/64004](https://github.com/kubernetes/kubernetes/pull/64004)
93+
94+
* [k8s.io/apimachinery] `int64` is the only allowed integer for printers.
95+
96+
* [https://github.com/kubernetes/kubernetes/pull/64639](https://github.com/kubernetes/kubernetes/pull/64639)
97+
98+
## API changes
99+
100+
**Breaking Changes:**
101+
102+
* Support for `alpha.kubernetes.io/nvidia-gpu` resource which was deprecated in 1.10 is removed. Please use the resource exposed by `DevicePlugins` instead (`nvidia.com/gpu`).
103+
104+
* [https://github.com/kubernetes/kubernetes/pull/61498](https://github.com/kubernetes/kubernetes/pull/61498)
105+
106+
* Alpha annotation for `PersistentVolume` node affinity has been removed. Update your `PersistentVolume`s to use the beta `PersistentVolume.nodeAffinity` field before upgrading.
107+
108+
* [https://github.com/kubernetes/kubernetes/pull/61816](https://github.com/kubernetes/kubernetes/pull/61816)
109+
110+
* `ObjectMeta ` `ListOptions` `DeleteOptions` are removed from the core api group. Please use the ones in `meta/v1` instead.
111+
112+
* [https://github.com/kubernetes/kubernetes/pull/61809](https://github.com/kubernetes/kubernetes/pull/61809)
113+
114+
* `ExternalID` in `NodeSpec` is deprecated. The externalID of the node is no longer set in the Node spec.
115+
116+
* [https://github.com/kubernetes/kubernetes/pull/61877](https://github.com/kubernetes/kubernetes/pull/61877)
117+
118+
* PSP-related types in the `extensions/v1beta1` API group are now deprecated. It is suggested to use the `policy/v1beta1` API group instead.
119+
120+
* [https://github.com/kubernetes/kubernetes/pull/61777](https://github.com/kubernetes/kubernetes/pull/61777)
121+
122+
**New Features:**
123+
124+
* `PodSecurityPolicy` now supports restricting hostPath volume mounts to be readOnly and under specific path prefixes.
125+
126+
* [https://github.com/kubernetes/kubernetes/pull/58647](https://github.com/kubernetes/kubernetes/pull/58647)
127+
128+
* `Node.Spec.ConfigSource.ConfigMap.KubeletConfigKey` must be specified when using dynamic Kubelet config to tell the Kubelet which key of the `ConfigMap` identifies its config file.
129+
130+
* [https://github.com/kubernetes/kubernetes/pull/59847](https://github.com/kubernetes/kubernetes/pull/59847)
131+
132+
* `serverAddressByClientCIDRs` in `meta/v1` APIGroup is now optional.
133+
134+
* [https://github.com/kubernetes/kubernetes/pull/61963](https://github.com/kubernetes/kubernetes/pull/61963)
135+
136+
* A new field `MatchFields` is added to `NodeSelectorTerm`. Currently, it only supports `metadata.name`.
137+
138+
* [https://github.com/kubernetes/kubernetes/pull/62002](https://github.com/kubernetes/kubernetes/pull/62002)
139+
140+
* The `PriorityClass` API is promoted to `scheduling.k8s.io/v1beta1`.
141+
142+
* [https://github.com/kubernetes/kubernetes/pull/63100](https://github.com/kubernetes/kubernetes/pull/63100)
143+
144+
* The status of dynamic Kubelet config is now reported via `Node.Status.Config`, rather than the `KubeletConfigOk` node condition.
145+
146+
* [https://github.com/kubernetes/kubernetes/pull/63314](https://github.com/kubernetes/kubernetes/pull/63314)
147+
148+
* The `GitRepo` volume type is deprecated. To provision a container with a git repo, mount an `EmptyDir` into an `InitContainer` that clones the repo using git, then mount the `EmptyDir` into the Pod's container.
149+
150+
* [https://github.com/kubernetes/kubernetes/pull/63445](https://github.com/kubernetes/kubernetes/pull/63445)
151+
152+
* The Sysctls experimental feature has been promoted to beta (enabled by default via the `Sysctls` feature flag). `PodSecurityPolicy` and `Pod` objects now have fields for specifying and controlling sysctls. Alpha sysctl annotations will be ignored by 1.11+ kubelets. All alpha sysctl annotations in existing deployments must be converted to API fields to be effective.
153+
154+
* [https://github.com/kubernetes/kubernetes/pull/63717](https://github.com/kubernetes/kubernetes/pull/63717)
155+
156+
* The annotation `service.alpha.kubernetes.io/tolerate-unready-endpoints` is deprecated. Users should use `Service.spec.publishNotReadyAddresses` instead.
157+
158+
* [https://github.com/kubernetes/kubernetes/pull/63742](https://github.com/kubernetes/kubernetes/pull/63742)
159+
160+
* `VerticalPodAutoscaler` has been added to `autoscaling/v1` API group.
161+
162+
* [https://github.com/kubernetes/kubernetes/pull/63797](https://github.com/kubernetes/kubernetes/pull/63797)
163+
164+
* Alpha support is added for dynamic volume limits based on node type.
165+
166+
* [https://github.com/kubernetes/kubernetes/pull/64154](https://github.com/kubernetes/kubernetes/pull/64154)
167+
168+
* `ContainersReady` condition is added to the Pod status.
169+
170+
* [https://github.com/kubernetes/kubernetes/pull/64646](https://github.com/kubernetes/kubernetes/pull/64646)
171+
172+
**Bug fixes and Improvements:**
173+
174+
* Default mount propagation has changed from `HostToContainer` (`rslave` in Linux terminology) to `None` (`private`) to match the behavior in 1.9 and earlier releases. `HostToContainer` as a default caused regressions in some pods.
175+
176+
* [https://github.com/kubernetes/kubernetes/pull/62462](https://github.com/kubernetes/kubernetes/pull/62462)
177+
8178
# v7.0.0
9179

10180
**Breaking Changes:**

README.md

+15-14
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Go clients for talking to a [kubernetes](http://kubernetes.io/) cluster.
44

5-
We currently recommend using the v7.0.0 tag. See [INSTALL.md](/INSTALL.md) for
5+
We currently recommend using the v8.0.0 tag. See [INSTALL.md](/INSTALL.md) for
66
detailed installation instructions. `go get k8s.io/client-go/...` works, but
77
will build `master`, which doesn't handle the dependencies well.
88

@@ -91,17 +91,17 @@ We will backport bugfixes--but not new features--into older versions of
9191

9292
#### Compatibility matrix
9393

94-
| | Kubernetes 1.4 | Kubernetes 1.5 | Kubernetes 1.6 | Kubernetes 1.7 | Kubernetes 1.8 | Kubernetes 1.9 | Kubernetes 1.10 |
95-
|---------------------|----------------|----------------|----------------|----------------|----------------|----------------|-----------------|
96-
| client-go 1.4 | | - | - | - | - | - | - |
97-
| client-go 1.5 | + | - | - | - | - | - | - |
98-
| client-go 2.0 | +- || +- | +- | +- | +- | +- |
99-
| client-go 3.0 | +- | +- || - | +- | +- | +- |
100-
| client-go 4.0 | +- | +- | +- || +- | +- | +- |
101-
| client-go 5.0 | +- | +- | +- | +- || +- | +- |
102-
| client-go 6.0 | +- | +- | +- | +- | +- || +- |
103-
| client-go 7.0 | +- | +- | +- | +- | +- | +- ||
104-
| client-go HEAD | +- | +- | +- | +- | +- | + | + |
94+
| | Kubernetes 1.5 | Kubernetes 1.6 | Kubernetes 1.7 | Kubernetes 1.8 | Kubernetes 1.9 | Kubernetes 1.10 | Kubernetes 1.11 |
95+
|---------------------|----------------|----------------|----------------|----------------|----------------|-----------------|-----------------|
96+
| client-go 1.5 | - | - | - | - | - | - | - |
97+
| client-go 2.0 | | +- | +- | +- | +- | +- | +- |
98+
| client-go 3.0 | +- || - | +- | +- | +- | +- |
99+
| client-go 4.0 | +- | +- || +- | +- | +- | +- |
100+
| client-go 5.0 | +- | +- | +- || +- | +- | +- |
101+
| client-go 6.0 | +- | +- | +- | +- || +- | +- |
102+
| client-go 7.0 | +- | +- | +- | +- | +- | | +- |
103+
| client-go 8.0 | +- | +- | +- | +- | +- | +- ||
104+
| client-go HEAD | +- | +- | +- | +- | +- | +- | +- |
105105

106106
Key:
107107

@@ -127,9 +127,10 @@ between client-go versions.
127127
| client-go 2.0 | Kubernetes main repo, 1.5 branch | = - |
128128
| client-go 3.0 | Kubernetes main repo, 1.6 branch | = - |
129129
| client-go 4.0 | Kubernetes main repo, 1.7 branch | = - |
130-
| client-go 5.0 | Kubernetes main repo, 1.8 branch | |
130+
| client-go 5.0 | Kubernetes main repo, 1.8 branch | = - |
131131
| client-go 6.0 | Kubernetes main repo, 1.9 branch ||
132132
| client-go 7.0 | Kubernetes main repo, 1.10 branch ||
133+
| client-go 8.0 | Kubernetes main repo, 1.11 branch ||
133134
| client-go HEAD | Kubernetes main repo, master branch ||
134135

135136
Key:
@@ -154,7 +155,7 @@ existing users won't be broken.
154155

155156
### Kubernetes tags
156157

157-
As of April 2018, client-go is still a mirror of
158+
This repository is still a mirror of
158159
[k8s.io/kubernetes/staging/src/client-go](https://github.com/kubernetes/kubernetes/tree/master/staging/src/k8s.io/client-go),
159160
the code development is still done in the staging area. Since Kubernetes 1.8
160161
release, when syncing the code from the staging area, we also sync the Kubernetes

0 commit comments

Comments
 (0)