Skip to content

chore(deps): Bump kube from 3.1.0 to 4.2.0 - #1

Open
dependabot[bot] wants to merge 2 commits into
mainfrom
dependabot/cargo/kube-4.2.0
Open

chore(deps): Bump kube from 3.1.0 to 4.2.0#1
dependabot[bot] wants to merge 2 commits into
mainfrom
dependabot/cargo/kube-4.2.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 14, 2026

Copy link
Copy Markdown

Bumps kube from 3.1.0 to 4.2.0.

Release notes

Sourced from kube's releases.

4.2.0

What's Changed

Maintenance release for 4.0.0. Fixes, and https proxy. MSRV 1.89. All PRs here.

Added

Fixed

New Contributors

Full Changelog: kube-rs/kube@4.0.0...4.2.0

4.0.0

New Major

As per the release schedule to match up with the latest Kubernetes ハル release. Lots of fixes and improvements. Thanks to everyone who contributed!

Kubernetes v1_36 support via k8s-openapi 0.28

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

CEL Validation

A new optional crate kube-cel is being re-exported through kube::core::cel via kube-rs/kube#1954

Kubernetes CRDs support CEL validation rules via x-kubernetes-validations, and were supported from 3.0 via KubeSchema, but these rules could only be evaluated server-side by the API server.

The new crate allows evaluating these rules locally using rules matching the upstream Kubernetes CEL libraries.

While low-level, a higher-level CEL validator integrates with CustomResource via #[kube(cel)] from kube-rs/kube#2011 and can be used as;

#[derive(CustomResource, Serialize, Deserialize, Clone, KubeSchema)]
#[kube(group = "example.com", version = "v1", kind = "Foo", namespaced)]
#[kube(cel, validation = "self.spec.replicas >= 0")] // cel trigger + validation rule
struct FooSpec { replicas: i32 }
</tr></table>

... (truncated)

Changelog

Sourced from kube's changelog.

4.2.0 / 2026-07-22

4.0.0 / 2026-06-16

New Major

As per the release schedule to match up with the latest Kubernetes ハル release. Lots of fixes and improvements. Thanks to everyone who contributed!

Kubernetes v1_36 support via k8s-openapi 0.28

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

CEL Validation

A new optional crate kube-cel is being re-exported through kube::core::cel via kube-rs/kube#1954

Kubernetes CRDs support CEL validation rules via x-kubernetes-validations, and were supported from 3.0 via KubeSchema, but these rules could only be evaluated server-side by the API server.

The new crate allows evaluating these rules locally using rules matching the upstream Kubernetes CEL libraries.

While low-level, a higher-level CEL validator integrates with CustomResource via #[kube(cel)] from kube-rs/kube#2011 and can be used as;

#[derive(CustomResource, Serialize, Deserialize, Clone, KubeSchema)]
#[kube(group = "example.com", version = "v1", kind = "Foo", namespaced)]
#[kube(cel, validation = "self.spec.replicas >= 0")] // cel trigger + validation rule
struct FooSpec { replicas: i32 }
let foo = Foo::new("test", FooSpec { replicas: -1 });
foo.validate_cel()?;                     // new impl; checks creation rules
new_foo.validate_cel_update(&old_foo)?;  // new impl; checks transition rules

See examples/crd_derive_cel.rs for more details.

This is available under the kube/cel feature, courtesy of @​doxxx93.

Config

A lot of improvements to config handling;

Retry and Timeouts

Better timeout and retry handling to better deal with flaky network conditions, and busy or initializing apiservers.

... (truncated)

Commits
  • 526f1f2 release 4.2.0
  • 3b811b5 break circular dependency on explicit dev-dep versions
  • 48d1ad5 Construct typed CustomResourceDefinition in derived crd() (#2042)
  • d0328f7 config: resolve relative exec plugin command paths (#2037)
  • 76fee02 ignore multiple versions of syn (#2046)
  • fe44fa2 Amortize PredicateFilter cache eviction across polls (#2040)
  • 5afcf19 Avoid deep-cloning ObjectMeta per event in trigger_owners (#2039)
  • 660966e Chore(deps): Update serde-saphyr requirement from 0.0.27 to 0.0.29 (#2032)
  • 0bcb4c7 bump msrv to 1.89 (#2035)
  • f671d57 fix deny failures (#2034)
  • Additional commits viewable in compare view

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file rust Pull requests that update rust code labels Aug 14, 2026
shaneutt and others added 2 commits August 20, 2026 13:58
These now live in https://github.com/praxis-proxy/enhancements

Signed-off-by: Shane Utt <shaneutt@linux.com>
Bumps [kube](https://github.com/kube-rs/kube) from 3.1.0 to 4.2.0.
- [Release notes](https://github.com/kube-rs/kube/releases)
- [Changelog](https://github.com/kube-rs/kube/blob/main/CHANGELOG.md)
- [Commits](kube-rs/kube@3.1.0...4.2.0)

---
updated-dependencies:
- dependency-name: kube
  dependency-version: 4.2.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

@praxis-bot praxis-bot left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Critical: k8s-openapi version split. kube 4.2.0 depends on k8s-openapi 0.28.0, but the operator's Cargo.toml still pins k8s-openapi at 0.27.1. The resolved Cargo.lock contains both k8s-openapi 0.27.1 and 0.28.0, creating type incompatibilities -- any k8s-openapi type passed between the operator's direct code and kube's API surface will fail to compile or produce confusing type errors. The kube 4.0 release notes explicitly state: "Please upgrade k8s-openapi along with kube to avoid conflicts."

Critical: gateway-api version conflict. The gateway-api crate still depends on kube 3.1.0 and k8s-openapi 0.27.1. With kube bumped to 4.2.0 in the operator, there will be two incompatible versions of kube in the dependency tree. Types from gateway-api (using kube 3.x types) cannot be used interchangeably with the operator's kube 4.x types. This requires either an upstream gateway-api release compatible with kube 4.x, or a coordinated update.

Action required: Bump k8s-openapi to 0.28.0 in the same PR. Verify that gateway-api has a release compatible with kube 4.x; if not, this bump must wait for one.

Also: this PR includes unrelated changes to docs/proposals.md and deletes docs/proposals/template.md. These should be in a separate PR.

Comment thread Cargo.toml
gateway-api = { version = "0.21.0", features = ["experimental"] }
k8s-openapi = { version = "0.27.1", features = ["v1_32"] }
kube = { version = "3.1.0", features = ["client", "derive", "runtime", "rustls-tls"] }
kube = { version = "4.2.0", features = ["client", "derive", "runtime", "rustls-tls"] }

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

kube 4.2.0 requires k8s-openapi 0.28.0, but line 15 still pins k8s-openapi at 0.27.1. Bump k8s-openapi to 0.28.0 here to avoid a version split in the dependency tree. Also verify that gateway-api 0.21.0 is compatible with kube 4.x -- if not, this bump must wait for an upstream gateway-api release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file rust Pull requests that update rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants