Skip to content

Releases: kube-rs/kube

0.95.0

16 Sep 11:58
0.95.0
6216baa
Compare
Choose a tag to compare

Kubernetes v1_31 support via k8s-openapi 0.23

Please upgrade k8s-openapi along with kube to avoid conflicts.

New minimum versions: MSRV 1.77.2, MK8SV: 1.26

What's Changed

Changed

  • Update tokio-tungstenite requirement from 0.23.0 to 0.24.0 by @dependabot in #1579
  • Bump k8s-openapi to 0.23 for Kubernetes 1.31 support by @clux in #1581

Full Changelog: 0.94.2...0.95.0

0.94.2

13 Sep 13:21
0.94.2
76944b4
Compare
Choose a tag to compare

What's Changed

Fixes a runtime regression in watch_object.

Fixed

New Contributors

Full Changelog: 0.94.1...0.94.2

0.94.1

09 Sep 19:28
0.94.1
0dcaa4a
Compare
Choose a tag to compare

What's Changed

Convenience release. Adjusted a version bound to avoid possibility of running into version compatibility errors with hyper-rustls.

Fixed

New Contributors

Full Changelog: 0.94.0...0.94.1

0.94.0

09 Sep 10:38
0.94.0
b6e7db6
Compare
Choose a tag to compare

Highlights

Support for rustls's aws-lc-rs is available under a new kube/aws-lc-rs feature. Via #1568 for #1562

Furthermore, there are features to help avoid dynamic typing:

  1. Added a DeserializeGuard safety wrapper to lift deserialisation errors (to e.g. not break watchers). See the errorbound example and core module module. Wrapped type be used with e.g. Api::<DeserializeGuard<CaConfigMap>>. Via #1556
  2. A derive macro for Resource; #[derive(Resource)] allows inheriting existing k8s-openapi resource implementations to avoid stepping down to the dynamic api. See the cert check example for usage. Via #1565

What's Changed

Added

Changed

  • Make implicitly dependent feature explicitly depend on each other by @clux in #1551

New Contributors

Full Changelog: 0.93.1...0.94.0

0.93.1

23 Jul 09:41
0.93.1
3d2471b
Compare
Choose a tag to compare

What's Changed

Fixed

  • add missing feature gate on ConfigExt for no-features build by @HoKim98 in #1549

New Contributors

Full Changelog: 0.93.0...0.93.1

0.93.0

22 Jul 22:16
0.93.0
Compare
Choose a tag to compare

Highlights

Better query validation, better client header customisation, and two new modules:

  1. core::labels module for creating typed label selectors for ListParams or WatchParams. Can be constructed from a native LabelSelector, or directly from a Selector of Expressions. PR.
  2. prelude to simplify imports of extension traits. PR.

A big thank you to everyone who contributed to this release!

What's Changed

Added

Changed

Removed

  • runtime: remove deprecated default_backoff by @clux in #1518

Fixed

  • Fix watcher not fully paginating on Init by @clux in #1525 (ported to 0.92.1)
  • Prevent empty string object name requests from being sent to the apiserver by @xMAC94x in #1541

New Contributors

Full Changelog: 0.92.0...0.93.0

0.92.1

19 Jun 22:14
0.92.1
0f7ea8f
Compare
Choose a tag to compare

Bugfix Release

This release fixes #1524; a regression from 0.92.0 causing watcher to skip pages on initial list. See #1525.

It is recommended to upgrade from 0.92.0.

What's Changed

Fixed

  • Fix watcher not fully paginating on Init by @clux in #1525

0.92.0

12 Jun 10:33
0.92.0
0f6cb6f
Compare
Choose a tag to compare

Runtime: Decreased Memory Usage from watcher

Buffering of initial pages / init streams is no longer a mandatory process with watcher::Event gaining new Init, InitApply, and InitDone events. These events are read on the store side maintaining the atomicity/completeness guarantees for reflector and Store users.

This constitutes a significant memory decrease for all watcher users, and it has more details in a new kube.rs/blog post.

The downside is a breaking change to watcher::Event. Plain usage of watcher / reflector / Controller should generally not need to change anything, but custom stores / matches on watcher::Event will need an update. If you are writing custom stores, the new signals should be helpful for improved caching.

Thanks to @fabriziosestito via Kubewarden for #1494 . Follow-ups for this feature: #1499 and #1504.

Client: HTTP Proxy Support

Support is now introduced under the http-proxy feature pulling in hyper-http-proxy complementing the already existing socks5 proxy feature.

Thanks to @aviramha via MetalBear for the support in #1496, with follow-ups #1501 + #1502

What's Changed

Added

Changed

Fixed

  • Fix potentially panicing unchecked duration adds in runtime by @clux in #1489
  • ObjectList now accepts null metadata like upstream k8s does by @aviramha in #1492
  • rename http_proxy feature to http-proxy and add it to the umbrella crate by @aviramha in #1501
  • move from hyper-proxy2 to hyper-http-proxy by @aviramha in #1502

New Contributors

Full Changelog: 0.91.0...0.92.0

0.91.0

06 May 14:04
0.91.0
5dbae3a
Compare
Choose a tag to compare

Kubernetes v1_30 support via k8s-openapi 0.22

Please upgrade k8s-openapi along with kube to avoid conflicts.

Unstable Stream Sharing

A more complete implementation that allows sharing watcher streams between multiple Controllers (for #1080) has been added under the unstable-runtime feature-flag in #1449 and #1483 by @mateiidavid. This represents the first usable implementation of shared streams (and replaces the older prototype part in #1470). While some changes are expected, you can check the shared_stream_controller example for a high-level overview.

What's Changed

Added

Changed

  • Upgrade k8s-openapi to 0.22 and bump MK8SV to 1.25 by @clux in #1485

Removed

  • Remove abandoned StreamSubscribe implementation by @clux in #1470

Fixed

  • Include inner error message in Display for SerdeError by @XAMPPRocky in #1481
  • Remove invalid uniqueItems property from CRDs when Sets are used by @sbernauer in #1484

New Contributors

Full Changelog: 0.90.0...0.91.0

0.90.0

03 Apr 16:32
0.90.0
5dce83b
Compare
Choose a tag to compare

Highlights

kube::client::Body Improvements

  • Unit testing helpers #1444 + #1445,
  • Accuracy; size_hint and is_end_stream implemented in #1452 + internal cleanups #1453 and #1455

Dependency Cleanups

  • rustls to 0.23 in #1457
  • once_cell removed in #1447 (no longer needed)
  • futures feature prune in #1442
  • chrono features prune in #1448, and bump its min version pin in #1458

What's Changed

Added

  • Add proxy Body::collect_bytes for easier unit tests by @clux in #1445

Changed

Fixed

  • disable unused futures feature by @tottoto in #1442
  • Expose Body::empty for easier tests by @clux in #1444
  • replace once_cell Lazy with ordinary static by @tottoto in #1447
  • replace chrono feature clock with now by @tottoto in #1448
  • implement http_body trait method by @tottoto in #1452
  • Fix examples for custom clients not authenticating by @clux in #1450
  • Set a compatible minimum chrono version by @clux in #1458

Full Changelog: 0.89.0...0.90.0