Releases: kube-rs/kube
0.96.0
Highlights
- Features:
webpki-roots
added #1323, and predicates no longer requireunstable-runtime
#1578 - Local auth: improve leniency/kubectl-alignment #1595, remove http proxy vars #1520
- Dependencies: upgrades to
tower
andsecrecy
, andderivative
swapped foreduce
What's Changed
Added
- rustls: optionally use WebPKI roots to avoid panicking on Android & iOS by @ewilken in #1323
- Stabilise runtime predicates by @clux in #1578
- Add
ObjectRef::from
as alias for::from_obj
by @nightkr in #1598
Changed
- Bump
secrecy
to 0.10 by @clux in #1588 - Upgrades
tower
to 0.5.1 by @markdingram in #1589 - runtime: rename references from Flatten to Decode by @clux in #1520
Removed
Fixed
- replace derivative dependency with educe by @rorosen in #1585
- change auth behavior to match upstream on unknown/empty user - use null auth by @aviramha in #1595
New Contributors
Full Changelog: 0.95.0...0.96.0
0.95.0
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
What's Changed
Fixes a runtime regression in watch_object
.
Fixed
- Ensure
watch_object
handles objects removed before init by @markdingram in #1577
New Contributors
- @markdingram made their first contribution in #1577
Full Changelog: 0.94.1...0.94.2
0.94.1
What's Changed
Convenience release. Adjusted a version bound to avoid possibility of running into version compatibility errors with hyper-rustls
.
Fixed
- Update hyper-rustls minimum version by @divergentdave in #1575
New Contributors
- @divergentdave made their first contribution in #1575
Full Changelog: 0.94.0...0.94.1
0.94.0
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:
- 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 - A derive macro for
Resource
;#[derive(Resource)]
allows inheriting existingk8s-openapi
resource implementations to avoid stepping down to the dynamic api. See the cert check example for usage. Via #1565
What's Changed
Added
- Add error boundary wrapper type by @nightkr in #1556
- Implement Error for error_boundary::InvalidObject by @nightkr in #1558
- Add finalizers predicate filter by @ivan-kiselev in #1560
- optional feature to use
aws-lc-rs
rustls feature by @mcluseau in #1568 - Add
Resource
derive macro by @Danil-Grigorev in #1565
Changed
New Contributors
- @ivan-kiselev made their first contribution in #1560
- @mcluseau made their first contribution in #1568
- @yerke made their first contribution in #1571
Full Changelog: 0.93.1...0.94.0
0.93.1
0.93.0
Highlights
Better query validation, better client header customisation, and two new modules:
core::labels
module for creating typed label selectors forListParams
orWatchParams
. Can be constructed from a nativeLabelSelector
, or directly from aSelector
ofExpression
s. PR.prelude
to simplify imports of extension traits. PR.
A big thank you to everyone who contributed to this release!
What's Changed
Added
- add option to provide headers to send as client by @aviramha in #1523
- Add prelude for blanket and extension traits across sub-crates by @Danil-Grigorev in #1527
- Label selector support by @Danil-Grigorev in #1539
Changed
- Update garde requirement from 0.19.0 to 0.20.0 by @dependabot in #1535
Removed
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
- @rockburning made their first contribution in #1526
- @Gbd199 made their first contribution in #1531
- @xMAC94x made their first contribution in #1541
- @rorosen made their first contribution in #1546
Full Changelog: 0.92.0...0.93.0
0.92.1
0.92.0
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
- Added support for HTTP proxy with hyper-proxy2 by @aviramha in #1496
- Implement client native object reference fetching by @Danil-Grigorev in #1511
Changed
- Reduce buffering between watcher and Store by @fabriziosestito in #1494
- Rename new watcher Event names and remove one that cannot happen by @clux in #1499
- Update
tokio-tungstenite
to 0.23 by @Toasterson in #1509 - Align
watcher::Event
init/page variants by @clux in #1504 - Update json-patch to 2.0.0 by @bobsongplus in #1507
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
tohyper-http-proxy
by @aviramha in #1502
New Contributors
- @fabriziosestito made their first contribution in #1494
- @Toasterson made their first contribution in #1509
- @bobsongplus made their first contribution in #1507
Full Changelog: 0.91.0...0.92.0
0.91.0
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 Controller
s (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
- Add shared stream interfaces by @mateiidavid in #1449
- Allow to create non-controller owner reference for resource by @Danil-Grigorev in #1475
- feat(runtime): support for owned shared streams by @mateiidavid in #1483
Changed
Removed
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
- @tyrone-wu made their first contribution in #1466
- @XAMPPRocky made their first contribution in #1481
Full Changelog: 0.90.0...0.91.0