- Update to Kubernetes model v1.34.6
- Add guards so that the client is usable on iOS (#48 by donbachi)
- Add token renewal for tokens loaded from file before expiration (#49 by t089)
- Refactor configuration builders and add support for overriding the current k8s context (#47 by nefilim)
- Update model to v0.18.0 and Kubernetes to v1.33.3
- Add support for KUBECONFIG env variable (#44 by @sliemeobn)
- Update to Kubernetes model v1.32.2
- Add client support for proxy URLs (#43 by @ewilken)
- Add client support for gzipped server responses (#43 by @ewilken)
- Add an optional
tailLinesparameter to the log request to be able to limit the number of lines requested from the server (#43 by @ewilken) - Fix a bug on
RequestBuilderwhere a path was overwritten where it should have been appended (#43 by @ewilken)- This became apparent with users using Rancher, where the base path already had a
/in it
- This became apparent with users using Rancher, where the base path already had a
- Add a
doesNotExistvariant toLabelSelectorRequirement, akin to the upstream "DoesNotExist" variant on selectors (#43 by @ewilken) - Add the upstream
installHint,provideClusterInfoandinteractiveModefields to ExecConfig (#43 by @ewilken) - Make
ExecCredentialpublic too able to base custom exec implementations on top of it (#43 by @ewilken) - Add public initializers to
ClusterandAuthInfo(#43 by @ewilken) - Make
Cluster,AuthInfo,AuthProviderConfig,ExecConfigandExecEnvVarconform to Hashable and Equatable (#43 by @ewilken)
- Make immutable and non-mutating client properties nonisolated
- Make client implementations actors
- Mark synchronous shutdown methods as nonisolated
- Make API-Groups protocols and implementations as Sendable
- Mark configuration structs as Sendable
- Mark
NamespaceSelector,LabelSelectorRequirement,FieldSelectorRequirementas Sendable - Mark
ListOptionandReadOptionsas Sendable - Make client's
watchandfollowfunctions asynchronous
- Update to Kubernetes model v1.32.0
- Update dependencies:
- Async HTTP Client 1.24.2
- Kubernetes 1.32.0
- SwiftkubeModel 0.16.0
- SwiftNIO 2.80.0
- SwiftLog 1.6.2
- SwiftMetrics 2.5.1
- Yams 5.1.3
- Add function to create
KubernetesClientConfigfrom string #41 - Add support for Swift 6 and strict concurrency
- Raise minimum Swift version to 5.9
- Raise minimum supported macOS platform version to 12
KubernetesResourcesisSendablenow- Any CRDs conforming to
KubernetesResourcesmust beSendable
- Any CRDs conforming to
SwiftkubeClientTaskis an actor now and all its public methods are async- Previous calls to
task.start()must be changed toawait task.start()
- Previous calls to
- Update to Kubernetes model v1.29.6
- Update dependencies:
- Async HTTP Client 1.21.2
- Kubernetes 1.29.6
- SwiftkubeModel 0.14.0
- SwiftNIO 2.67.0
- SwiftLog 1.6.1
- SwiftMetrics 2.5.0
- Yams 5.1.2
- Set hard limit for maximum amount of bytes to collect in RequestHandler #40
- Raise minimum Swift version to 5.8
- This aligns supported Swift versions with rest of the ecosystem
- Update dependencies:
- Async HTTP Client 1.19.0
- Kubernetes 1.28.3
- SwiftkubeModel 0.13.0
- SwiftNIO 2.61.0
- Update to Kubernetes model v1.28.0
- Add support for exec kube config #29 by @portellaa
- Use DeleteOptions on delete resource #34 by @tallnato
- Update to Kubernetes model v1.26.4
- Add support for
resourceVersionin streaming task
- Set the default response body buffer size for requests returning String to 10MB #30 by @ewilken
- Fix streaming issues when watching resources with small payloads #31
- Drop support for Swift 5.5
- Update to Kubernetes model v1.24.10
- Fix decoding error when deleting a service #27
SwiftkubeModel 0.8.0makes allKubernetesResourcesHashable #28
- Use structured concurrency instead of EventLoops for watching resources #25
- Fix client crash in
GenericKubernetesClient.prepareDecoderdue to decoder instance being shared #24
- Drop AnyKubernetesAPIResource in favour of UnstructuredResource
- The generic client for a given
GroupVersionResourceusesUnstructuredResourcefor unknown types:KubernetesClient/``for``(gvr:) -> GenericKubernetesClient<AnyKubernetesAPIResource>is replaced with:KubernetesClient/``for``(gvr:) -> GenericKubernetesClient<UnstructuredResource>
- The
SwiftkubeClientTaskreturned by thewatchandfollowAPI must be started explicitly - The
SwiftkubeClientTaskreturns anAsyncThrowingStreaminstead of using a callback delegate
- Update to Kubernetes model v1.24.8
- Update dependencies
- Async HTTP Client 1.13.1
- SwiftkubeModel 0.6.0
- SwiftLog 1.4.4
- SwiftMetrics 2.3.3
- SwiftNIO 2.46.0
- Yams 5.0.1
- Update k3s docker image to k3s:v1.24.8-k3s1
- Add configurable timeout and redirect config for the underlying HTTPClient by @octo47
- Update documentation comments
- Raise minimum supported Swift version to 5.5
- Replace
EventLoopswithasync/awaitstyle API
- Update to Kubernetes model v1.22.7
- Add option to retrieve logs once without watching / streaming (#14) by @thomashorrobin
- Add discovery API to load server resources
- Use SwiftkubeModel v0.5.0
- Refactor client to use
GroupVersionResourceinstead ofGroupVersionKindfor resource type resolution - Support creating a parametrised generic client given a
GroupVersionResource - Make
GenericKubernetesClientextensions public - Update k3s docker image to k3s:v1.22.7-k3s1
- Typo in property name for storage.v1 API Group (#11) by @portellaa
- Add explicit dependency on NIO (#12) by @t089
- Update to Kubernetes model v1.20.9
- Add
LocalFileConfigLoaderfor loading KubeConfigs from a local file given a URL #8 by @thomashorrobin - Add support for
scaleandstatusAPI - Setup CI with live K3d cluster and add several tests against it
- Add missing support for
continuetoken inListOptionfor retrieving subsequent list results #9 - Track dependency on SwiftkubeModel up-to-next minor instead of major #10
- Add supported platforms for Swift package
- Add CI for iOS build
- DSL for all API Groups/Versions
- Update to Kubernetes model v1.19.8
- Discovery for server API groups and versions
- Fix SwiftkubeClientTask cancelling
- Implement asynchronous shutdown
- Implement reconnect handling for
watchandfollowAPI requests - Introduce
ResourceWatcherDelegateandLogWatcherDelegateprotocols
- Changed signature of
watchandfollowAPIs. - Replace
ResourceWatchandLogWatchwith new protocols - The
followandwatchfunctions return a cancellableSwiftkubeClientTaskinstance insteaf ofHTTPClient.Task<Void>.
- Add metrics support for gathering request latencies and counts
- Support
ListOptionsin watch call - Add
watchandfollowAPI that accept aRecourceWatchorLogWatchinstance - Add an
errorHandlerclosure toResourceWatchandLogWatch - Make Selectors (
NamespaceSelector,LabelSelectoretc.) Hashable
- Replace implicit client shutdown on deinit with explicit
syncShutdow - Expose
ResourceWatchandLogWatchclasses for extension
- Add SwiftFormat config and format code base accordingly
- Add support for
ReadOptions
- Fix massive memory leak by breaking retain cycle between the
JSONDecoderandDateFormatters#4 by @t089
- Change personal copyright to Swiftkube Project
- Make
KubernetesClientConfiginitializer public #3
- Update to Kubernetes model v1.18.13
- No model changes between 1.18.9 and 1.18.13. This release is to track the update explicitly via a version bump.
- Add support for
DeleteOptions
- Can not create resources because of "Resource
metadata.namemust be set" error #2
- Add support for
ListOptions - Add
core.v1.Podstatus read and update API
- KubernetesClient can't create x509 authentication from local kubeconfig's certificate data and key #1
- Initializers of
GenericKubernetesClientsare no longer public - Function signature change:
- from
watch(in:watch:) throws -> EventLoopFuture<Void> - to
watch(in:using:) throws -> HTTPClient.Task<Void>
- from
- Function signature change:
- from
follow(in:name:container:watch:) throws -> HTTPClient.Task<Void> - to
follow(in:name:container:using:) throws -> HTTPClient.Task<Void>
- from
Initial release