Skip to content

Latest json-patch release has broken kube-runtime #1700

@danwilliams

Description

@danwilliams

Current and expected behavior

The json-patch crate was updated around an hour ago. It moved to v3.1.0, which now uses jsonptr v0.7.1. This breaks kube-runtime due to version numbers being quite relaxed:

In Cargo.toml of the kube project:

json-patch = "3"
jsonptr = "0.6"

The resulting cargo tree:

├── k8s-openapi v0.24.0
├── kube v0.98.0
│   ├── k8s-openapi v0.24.0 (*)
│   ├── kube-client v0.98.0
│   │   ├── k8s-openapi v0.24.0 (*)
│   │   ├── kube-core v0.98.0
│   │   │   ├── json-patch v3.1.0
│   │   │   │   ├── jsonptr v0.7.1
│   │   │   ├── k8s-openapi v0.24.0 (*)
│   ├── kube-core v0.98.0 (*)
│   ├── kube-derive v0.98.0 (proc-macro)
│   └── kube-runtime v0.98.0
│       ├── json-patch v3.1.0 (*)
│       ├── jsonptr v0.6.3
│       ├── k8s-openapi v0.24.0 (*)
│       ├── kube-client v0.98.0 (*)

Note that because the main Cargo.toml is set to version 3, it has updated to the latest json-patch, and therefore the newer jsonptr. However, elsewhere in the kube project jsonptr is used directly, and specified as 0.6.

There is an argument to make about semver in relation to json-patch, but that aside, this can be fixed trivially by tightening the version numbers in kube's Cargo.toml.

Would you like me to submit a patch? There may be a particular way you want to make the change (which is very small).

Possible solution

No response

Additional context

No response

Environment

N/A

Configuration and features

No response

Affected crates

No response

Would you like to work on fixing this bug?

None

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions