Package: wnpp Severity: wishlist Owner: Arthur Diniz <[email protected]>
* Package name : golang-k8s-sigs-structured-merge-diff-v6 Version : 6.4.2-1 Upstream Author : The Kubernetes Authors * URL : https://github.com/kubernetes-sigs/structured-merge-diff * License : Apache-2.0 Programming Lang: Go Description : Kubernetes server-side apply operation This library implements the Kubernetes "apply" operation, the mechanism behind server-side apply. It models resources in a control plane as having multiple "managers", where each manager typically owns only one aspect of a resource. This lets both humans and machines (controllers) make the changes they need without clobbering fields owned by other managers. The set of fields each manager currently owns is tracked explicitly using a fieldset data structure. . Objects can be modified through two mechanisms. A PUT or PATCH request makes the object look exactly like the supplied version, and the managed fields are deduced from what changes. An APPLY request instead declares the fields a manager wants to own, requesting deletion of any fields it previously managed but no longer mentions. When one manager starts managing a field owned by another, an APPLY reports a conflict and stops unless the "force" option is given, preventing accidental takeover of fields owned by other entities. PUT and PATCH always force and are used mostly by automated systems. . The package is organised into several building blocks: a targeted schema type (simpler than OpenAPI), a fieldpath package providing an efficient Trie-based field-set structure, a value type storing arbitrary objects, a typed package that combines values and schemas to validate and compare objects, and a merge package that ties everything together to implement the apply operation. . This is version 6 of the module sigs.k8s.io/structured-merge-diff. . Upstream sigs.k8s.io/structured-merge-diff changed its module path from sigs.k8s.io/structured-merge-diff to sigs.k8s.io/structured-merge-diff/v6 as part of a Go semantic-import-versioning bump. . Reverse dependencies still import the old /v4 paths, so they fail to build against the new upstream, and a v4 -> v6 compatibility symlink is insufficient because it only bridges the import path, not the genuine API differences between v4 and v6 that some revdeps hit. . Rather than bumping the existing golang-k8s-sigs-structured-merge-diff (v4) source package in place, v6 is therefore packaged as a separate source package shipping the /v6 import path, letting both major versions coexist in the archive during the transition . See the debian-go discussion: - https://lists.debian.org/debian-go/2026/08/msg00202.html - https://lists.debian.org/debian-go/2026/09/msg00000.html

