Repository navigation
v0.7.0
-
BREAKING CHANGE: The
httpandbytesdependencies have been updated. They now match thetokio0.2 ecosystem. -
BREAKING CHANGE: The
Resourcetrait'sapi_version,group,kindandversionmethods are nowAPI_VERSION,GROUP,KINDandVERSIONassociated consts of&'static strtype. -
BREAKING CHANGE: The
*Listresource types likePodListandNodeListhave now been combined into a single generick8s_openapi::List<T>type. The API response types that contained these list types have been updated accordingly. -
BREAKING CHANGE: The optional parameters of create and replace operations are now emitted as a single common type -
k8s_openapi::CreateOptionalandk8s_openapi::ReplaceOptionalrespectively. -
BREAKING CHANGE: The response types of create, delete, delete-collection, list, patch, replace and watch operations have now been combined into generic
CreateResponse<T>,DeleteResponse<T>,DeleteResponse<List<T>>,ListResponse<T>,PatchResponse<T>,ReplaceResponse<T>andWatchResponse<T>types respectively. -
BUGFIX: v1.16's
k8s_openapi::apiextensions_apiserver::pkg::apis::apiextensions::v1::JSONSchemaPropsOrArray,JSONSchemaPropsOrBoolandJSONSchemaPropsOrStringArraytypes are now generated correctly, just like theirv1betacousins. -
FEATURE: Added support for Kubernetes 1.17 under the
v1_17feature. -
FEATURE: A new
k8s_openapi::ListableResourcetrait has been added to connect a resource type likePodto its corresponding list type likePodList. Currently the trait only has one member - an associated constLIST_KINDthat is the same as the list type'sResource::KIND.
Here are some demonstrative examples of the API changes:
Pod::delete_namespaced_podused to returnDeleteNamespacedPodResponse. It now returnsDeleteResponse<Self>.Pod::delete_collection_namespaced_podused to returnDeleteCollectionNamespacedPodResponse. It now returnsDeleteResponse<List<Self>>.Pod::list_namespaced_podused to returnListNamespacedPodResponsewhich had anOk(PodList)variant. It now returnsListResponse<Self>, which has anOk(List<Self>)variant.
Combining these response types has reduced the compile time and memory usage of the Rust compiler when compiling this crate. Notably, the compiler's memory usage now peaks at ~3 GiB from its earlier ~5 GiB, making it easier to use with environments limited to 4 GiB RAM, like CI VMs and Raspberry Pi's.
Corresponding Kubernetes API server versions:
- v1.8.15
- v1.9.11
- v1.10.13
- v1.11.10
- v1.12.10
- v1.13.12
- v1.14.10
- v1.15.9
- v1.16.6
- v1.17.2