- feat: regenerate client for Kubernetes API Version: 1.16.14 using OpenAPI 4.3.1
- fix: Removed shlex args mangling (#110, @WoLpH
- fix: remove redundant close() in Watch class (#119, @tomplus
API Change:
- Resolve regression in metadata.managedFields handling in update/patch requests submitted by older API clients (#91748, @apelisse) [SIG API Machinery and Testing]
- Fix bug where sending a status update completely wipes managedFields for some types. (#90033, @apelisse) [SIG API Machinery and Testing]
- The
MutatingWebhookConfiguration
andValidatingWebhookConfiguration
APIs have been promoted toadmissionregistration.k8s.io/v1
:failurePolicy
default changed fromIgnore
toFail
for v1matchPolicy
default changed fromExact
toEquivalent
for v1timeout
default changed from30s
to10s
for v1sideEffects
default value is removed, and the field made required, and onlyNone
andNoneOnDryRun
are permitted for v1admissionReviewVersions
default value is removed and the field made required for v1 (supported versions for AdmissionReview arev1
andv1beta1
)- The
name
field for specified webhooks must be unique forMutatingWebhookConfiguration
andValidatingWebhookConfiguration
objects created viaadmissionregistration.k8s.io/v1
- The
AdmissionReview
API sent to and received from admission webhooks has been promoted toadmission.k8s.io/v1
. Webhooks can specify a preference for receivingv1
AdmissionReview objects withadmissionReviewVersions: ["v1","v1beta1"]
, and must respond with an API object in the sameapiVersion
they are sent. When webhooks useadmission.k8s.io/v1
, the following additional validation is performed on their responses:response.patch
andresponse.patchType
are not permitted from validating admission webhooksapiVersion: "admission.k8s.io/v1"
is requiredkind: "AdmissionReview"
is requiredresponse.uid: "<value of request.uid>"
is requiredresponse.patchType: "JSONPatch"
is required (ifresponse.patch
is set) (#80231, @liggitt)
- The
CustomResourceDefinition
API type is promoted toapiextensions.k8s.io/v1
with the following changes:- Use of the new
default
feature in validation schemas is limited to v1 spec.scope
is no longer defaulted toNamespaced
and must be explicitly specifiedspec.version
is removed in v1; usespec.versions
insteadspec.validation
is removed in v1; usespec.versions[*].schema
insteadspec.subresources
is removed in v1; usespec.versions[*].subresources
insteadspec.additionalPrinterColumns
is removed in v1; usespec.versions[*].additionalPrinterColumns
insteadspec.conversion.webhookClientConfig
is moved tospec.conversion.webhook.clientConfig
in v1spec.conversion.conversionReviewVersions
is moved tospec.conversion.webhook.conversionReviewVersions
in v1spec.versions[*].schema.openAPIV3Schema
is now required when creating v1 CustomResourceDefinitionsspec.preserveUnknownFields: true
is disallowed when creating v1 CustomResourceDefinitions; it must be specified within schema definitions asx-kubernetes-preserve-unknown-fields: true
- In
additionalPrinterColumns
items, theJSONPath
field was renamed tojsonPath
in v1 (fixes kubernetes/kubernetes#66531) Theapiextensions.k8s.io/v1beta1
version ofCustomResourceDefinition
is deprecated and will no longer be served in v1.19. (#79604, @liggitt)
- Use of the new
- The
ConversionReview
API sent to and received from custom resource CustomResourceDefinition conversion webhooks has been promoted toapiextensions.k8s.io/v1
. CustomResourceDefinition conversion webhooks can now indicate they support receiving and responding withConversionReview
API objects in theapiextensions.k8s.io/v1
version by includingv1
in theconversionReviewVersions
list in their CustomResourceDefinition. Conversion webhooks must respond with a ConversionReview object in the same apiVersion they receive.apiextensions.k8s.io/v1
ConversionReview
responses must specify aresponse.uid
that matches therequest.uid
of the object they were sent. (#81476, @liggitt) - Add scheduling support for RuntimeClasses. RuntimeClasses can now specify nodeSelector constraints & tolerations, which are merged into the PodSpec for pods using that RuntimeClass. (#80825, @tallclair)
- Kubelet should now more reliably report the same primary node IP even if the set of node IPs reported by the CloudProvider changes. (#79391, @danwinship)
- Omit nil or empty field when calculating container hash value to avoid hash changed. For a new field with a non-nil default value in the container spec, the hash would still get changed. (#57741, @dixudx)
- Property
conditions
inapiextensions.v1beta1.CustomResourceDefinitionStatus
andapiextensions.v1.CustomResourceDefinitionStatus
is now optional instead of required. (#64996, @roycaihw) - When the status of a CustomResourceDefinition condition changes, its corresponding
lastTransitionTime
is now updated. (#69655, @CaoShuFeng)
- feat: regenerate client against openapi-generator v4.3.0 (context-manager and close function for http client instead of using
__del__
method) (#99, @jnschaeffer)
- feat: add compatability for follow methods (#98, @playground-julia)
- feat: regenerate library using the latest version of openapi-generator (4.3.x) (gen/#146, @tomplus)
- test: add tests for Python 3.8. (#86, @tomplus)
- fix: prevent installing aiohttp 4.0 and up for now (#88, @sepulworld)
- fix: watch.stream stores resource_version for the next call (#89, @tomplus)
- chore: remove unused path import (#92, @aK0nshin)
API Change:
- Introduce
ExtensionsV1beta1RuntimeClassStrategyOptions
andPolicyV1beta1RuntimeClassStrategyOptions
. Add RuntimeClass restrictions & defaulting to PodSecurityPolicy kubernetes/kubernetes#73795 - Introduce
V1WindowsSecurityContextOptions
. Add Windows specific options in Pod Security Context and Container Security Context kubernetes/kubernetes#77147 - Split
V1beta1Webhook
intoV1beta1MutatingWebhook
andV1beta1ValidatingWebhook
kubernetes/kubernetes#78491 - Introduce parameter
allow_watch_bookmarks
in list options for requesting watch bookmarks from apiserver. The implementation in apiserver is hidden behind feature gateWatchBookmark
(currently in Alpha stage) kubernetes/kubernetes#74074 - Add
V1DeleteOptions
parameters (dry_run
,grace_period_seconds
,orphan_dependents
,propagation_policy
) to delete collection APIs kubernetes/kubernetes#77843 - Add ListMeta.RemainingItemCount. When responding a LIST request, if the server has more data available, and if the request does not contain label selectors or field selectors, the server sets the ListOptions.RemainingItemCount to the number of remaining objects kubernetes/kubernetes#75993
- Add
controller_expand_secret_ref
inV1SecretReference
to store CSI volume expansion secrets kubernetes/kubernetes#77516 - Introduce
preemption_policy
field to V1PriorityClass kubernetes/kubernetes#74614 - Add
port
configuration to service reference in Admission webhook configuration, AuditSink webhook configuration, CRD Conversion webhook configuration and kube-aggregator kubernetes/kubernetes#74855 - Introduce
inline_volume_spec
toV1PersistentVolumeSpec
kubernetes/kubernetes#77703 - Add fields
x_kubernetes_embedded_resource
,x_kubernetes_int_or_string
,x_kubernetes_preserve_unknown_fields
to V1beta1JSONSchemaProps kubernetes/kubernetes#77207
- fix: when
_preload_content=False
Websocket Stream returns 401 error (#84, @kexirong) - fix: e2e tests use
apps/v1
api instead of removedextensions/v1beta1
(#85, @tomplus)
- feat: add
create_form_yaml()
functionality (#76, @PidgeyBE) - feat: custom objects can be merged by json-patch (gen/#119, @tomplus)
- fix: parse microseconds in data-time fields (#80, @tomplus)
- feat: upgrade to API spec from Kubernetes 1.14 (#83, @tomplus)
API Change:
- Remove the AdmissionregistrationV1alpha1 API group, containing only the InitializationConfiguration type kubernetes/kubernetes#72972
- Promote Lease API to v1 kubernetes/kubernetes#72239
- The Ingress API is now available via
NetworkingV1beta1Api
.ExtensionsV1beta1Api
Ingress objects are deprecated and will no longer be served in Kubernetes v1.18 kubernetes/kubernetes#74057 - Introduce RuntimeClass to NodeV1alpha1Api and NodeV1beta1Api kubernetes/kubernetes#74433
- Graduate PriorityClass API to GA SchedulingV1Api kubernetes/kubernetes#73555
- Introduce CSINodeInfo and CSIDriver to StorageV1beta1Api kubernetes/kubernetes#74283
- The alpha Initializers feature,
admissionregistration.k8s.io/v1alpha1
API version,Initializers
admission plugin, and use of themetadata.initializers
API field have been removed. Discontinue use of the alpha feature and delete any existingInitializerConfiguration
API objects before upgrading. Themetadata.initializers
field will be removed in a future release. The parameterinclude_uninitialized
has been removed. kubernetes/kubernetes#72972
- feat: check whether an object key is present on watch (#71, @mickours)
- feat: merging kubeconfig files (#69, @tomplus)
- feat: switch to openapi-generator (#58, @tomplus)
- feat: add fieldSelector parameter to list/watch methods in custom objects spec (gen/#106)
- feat: upgrade to API spec from Kubernetes 1.13 (#58, @tomplus)
Breaking Changes:
- Model v1beta1WebhookClientConfig is renamed to AdmissionregistrationV1beta1WebhookClientConfig, to avoid naming conflict with ApiextensionsV1beta1WebhookClientConfig introduced in: kubernetes/kubernetes#67006
- Delete request's body parameter is optional kubernetes/kubernetes#70032
- feat: remove dependency to urllib3 from kube_config, pin urlllib>=1.23 due to CVE-2018-20060 (#56, @tomplus)
- fix: kubeconfig loading failure when server uri contains trailing slash (#53, @tomplus)
- feat: regenerate client with thread-pool optimization (#54, @tomplus)
- first stable release 7.0.0
- feat: add debug logs to KubeConfigLoader (#45, @tomplus)
- feat: exec-plugins support in kubeconfig (#44, @tomplus)
- fix: read config data with bytes (python3) (#41, @tomplus)
- feat: regenerate with latest client gen to get custom object status scale api (#37, @juliantaylor)
- fix: handling timeout by watch loop (#39, @tomplus)
- feat: make function
load_kube_config
asynchronous - feat: function to auto-refresh gke token
- feat: remove synchronous libraries from dependencies
- feat: watch stops the iterator for empty responses and do not process ERROR responses (#22, @olitheolix)
- feat: replace urllib3 by http.client in e2e initializer (#20, @tomplus)
- feat: new example - tail.py (#19, @tomplus)
- feat: new example - simultaneously watch multiple event streams without threads (#13, @olitheolix)
- fix: fix few typos in setup.py (#18, @evemorgen)
- fix: requirement for requests and urllib3 version (#16, @tomplus)
- fix e2e and unit tests
- fix Watch, Stream
- fix requirements.txt
- first release