Skip to content

fix(deps): update all go dependencies master (minor)#317

Open
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/all-go-deps-master
Open

fix(deps): update all go dependencies master (minor)#317
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/all-go-deps-master

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate Bot commented Jul 7, 2025

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
github.com/cilium/ebpf v0.18.0v0.21.0 age confidence
github.com/containerd/containerd/api v1.9.0v1.10.0 age confidence
github.com/docker/docker v28.0.4+incompatiblev28.5.2+incompatible age confidence
github.com/gopacket/gopacket v1.3.1v1.5.0 age confidence
github.com/mdlayher/netlink v1.7.2v1.11.1 age confidence
github.com/shirou/gopsutil/v4 v4.25.9v4.26.3 age confidence
github.com/spf13/cobra v1.9.1v1.10.2 age confidence
golang.org/x/arch v0.18.0v0.26.0 age confidence
golang.org/x/sys v0.39.0v0.43.0 age confidence
k8s.io/cri-api v0.33.5v0.35.4 age confidence
k8s.io/cri-client v0.33.5v0.35.4 age confidence
k8s.io/klog/v2 v2.130.1v2.140.0 age confidence

Release Notes

cilium/ebpf (github.com/cilium/ebpf)

v0.21.0: : Struct Ops, Weak Symbols and BTF deduplication

Compare Source

Hi, everyone! The Cilium project is proud to announce v0.21.0 of ebpf-go, our first major 2026 feature release. Please note that this version comes with a few breaking changes for XDP users that may require some intervention based on your use case, so please read the following section carefully before upgrading! We've also removed some long-deprecated APIs.

Breaking changes
XDP Attach Type

This release saw a change to the ELF parsing logic, specifically to XDP programs. Previously, XDP programs had their ProgramSpec.AttachType set to AttachNone. Prompted by upstream changes in Linux 6.18, XDP programs now come with an AttachXDP attach type. This change ensures compatibility with kernels going forward, as well as better interoperability with libbpf-based tools using shared PROG_ARRAY maps.

tl;dr: Linux 6.18 and later disallows mixing attach types within the same program array.

If your application uses a pinned program array, you may need to manually change the attach type of your XDP programs to AttachNone before they are loaded to ensure they can still be inserted into maps containing pre-upgrade programs.

The same goes for BPF links. If you're updating an XDP link created by an older version of ebpf-go, you need to ensure your XDP program is loaded with the same attach type the link was initially created with, or updating will fail with EINVAL.

For an example of how to deal with this change, here's the the Cilium PR that implemented logic to try both attach types when updating links.

Windows helper function rename

ebpf-for-windows was upgraded from 0.21.0 to v1.0.0-rc1. efW made breaking changes to the names of helper functions, our API has been updated to match:

New Features
  • Struct ops — The ELF reader can now parse struct ops sections, building MapSpecs and resolving function-pointer members. link.AttachStructOps has been added to allow attaching a StructOpsMap as a link. A sched_ext example can be found here.
  • Weak symbol & ELF linking — Programs and maps defined as weak symbols are now fully supported. The ELF reader performs per-symbol decoding for both ProgramSpec and MapSpec, meaning linked objects (produced via bpftool gen object) are now handled correctly.
  • BTF type deduplication — btf.Builder can now deduplicate types while generating a BTF blob. Deduplication can be enabled by passing BuilderOptions to NewBuilder with the Deduplication field set to true.
  • ProgramSpec.Compatible was added — ProgramSpec.Tag is now deprecated. The new ProgramSpec.Compatible method compares a loaded program's tag against both SHA-1 and SHA-256 hashes of the spec, ensuring correct behaviour across kernels — including kernel v6.18+, which switched to SHA-256 for program hashing.
  • ProgramInfo improvements — The program name as reported by ProgramInfo.Name is now sourced from BTF func info when available to provide the full program name if it's longer than 15 bytes.
  • LinkInfo improvements — Added a number of methods and types related to reading back link info.
  • Reverse symbol lookup — Added Executable.Symbol to resolve addresses to a symbol and relative offset.
  • Uprobe/kprobe link feature probing — HaveBPFLinkKprobeMulti, HaveBPFLinkUprobeMulti, and HaveBPFLinkKprobeSession are now exported from the features package, making it easier to probe for multi-attach support before loading programs.
  • Program run batching — A new RunOptions.BatchSize option has been added to support batching when running programs.
Bug Fixes
  • Allow weak kfuncs loading without CAP_SYS_ADMIN — Loading programs with weak kfuncs on kernels that don't have the kfunc no longer fails with "operation not permitted" when the caller lacks CAP_SYS_ADMIN. The permission error is now treated as "not found" for weak kfuncs.
  • ELF reader nil panic — Fixed a panic that could occur when loading an ELF without BTF due to a nil extInfo pointer. Along with the fix, a suite of regression tests was added that exercises the core loader logic with non-BTF ELFs as well.
  • QueryResult.HaveLinkInfo heuristic — The heuristic has been updated to check for at least one attached program with a non-zero link ID, fixing a false positive introduced by a kernel change that began populating the revision field for cgroup queries.
  • Windows map/program count — Increased the default map and program count on Windows to reduce failures when loading collections with more maps than previously allocated.
More breaking changes
Deprecations

In this release we have removed a number of features which had been deprecated for a while.

Breaking changes to Memory, Variable and VariableSpec
Breaking changes to link info
Breaking changes to BTF API

We exported methods and types from the btf package. This allowed us to directly assign BTF func info, line info and CO-RE relocations to instructions from outside of the btf package, making some methods unneeded and thus got removed.

What's Changed
New Contributors

Full Changelog: cilium/ebpf@v0.20.0...v0.21.0

v0.20.0

Compare Source

Performance Improvements

  • btf: Memory-map vmlinux BTF when possible instead of copying to heap (saves several megabytes)
  • btf: Decode BTF from byte slices instead of io.Reader for better performance
  • btf: Cache BTF during fixups and target search to avoid loading each blob multiple times
  • linker: Resolve kernel symbols in a single pass instead of individually
  • prog: Speed up opening pinned programs by using minimal program info
  • map: Avoid allocations during PerCPUMap batch lookups (76% faster, 99% fewer allocations)

New Features

  • btf: Added LoadSplitSpec function for easier use of split-BTF files
  • btf: Accept empty string tables in BTF data
  • link: Added Detach() method for explicitly detaching links
  • map: Preliminary support for arena maps
  • map: Parse and expose map_extra field in MapSpec (enables bloom filter configuration)
  • prog: Allow explicit ifindex specification when loading programs
  • prog: Support getting context output from syscall programs
  • prog: Allow passing extra targets for CO-RE relocations via ExtraRelocationTargets
  • bpf2go: Allow multiple commands in BPF2GO_CC environment variable (e.g., ccache clang)
  • tracefs: Allow hyphens in tracepoint group names
  • kallsyms: Return ErrRestrictedKernel when reading zero addresses due to kernel.kptr_restrict
  • info: Return ErrRestrictedKernel when program info is restricted by kernel security settings
  • prog: Tolerate ErrRestrictedKernel during ksym resolution unless ksyms are required

Bugfixes

  • ringbuf: Fixed panic when reading after close
  • btf: Fixed race condition when loading cached kernel/module specs
  • ringbuf: Fixed 32-bit compatibility by using uintptr for positions
  • memory: Set cleanup on *Memory instead of **Memory to fix resource leak
  • link: Fixed concurrent cleanup ordering for perf events and tracefs events

Windows Support Improvements

  • ringbuf: Added Windows support for ring buffer operations
  • windows: Fixed compatibility with recent eBPF for Windows changes (XDP_TEST removal, SAMPLE program type)
  • windows: Enabled Hyper-V support in test VMs
  • program: Added workaround for eBPF for Windows rejecting empty ContextOut

Breaking Changes

ProgramOptions.KernelModuleTypes removed

The KernelModuleTypes field in ProgramOptions has been removed. In 99% of cases this field should not be necessary anymore. Module BTF should be merged into the vmlinux BTF, as tools like btfhub do.

For advanced use cases that still require passing additional BTF specs for CO-RE relocations, use the new ExtraRelocationTargets field:

Before:

opts := &ebpf.ProgramOptions{
    KernelModuleTypes: map[string]*btf.Spec{
        "module1": moduleSpec1,
    },
}

After:

// Merge module BTF into vmlinux BTF (recommended)
// Or for advanced cases:
opts := &ebpf.ProgramOptions{
    ExtraRelocationTargets: []*btf.Spec{
        moduleSpec1,
    },
}
btf.Cache fields unexported

The KernelTypes, ModuleTypes, and LoadedModules fields in btf.Cache have been unexported. These fields were internal implementation details and should not have been accessed directly. Users should continue using btf.NewCache() to create cache instances - no code changes are needed if you weren't directly accessing these fields.

cache := btf.NewCache()
cache.KernelTypes = mySpec  // This will no longer compile

What's Changed

New Contributors

Full Changelog: cilium/ebpf@v0.19.0...v0.20.0

v0.19.0

Compare Source

Major Performance Improvements

This release includes significant performance optimizations across multiple areas:

  • Lazy BTF Decoding: BTF types are now decoded on-demand rather than all upfront, dramatically reducing memory usage and load times
  • Faster Object Opening: Opening Maps and Programs from fd/id/pin is significantly faster through minimal info retrieval
  • Improved Statistics Access: New Program.Stats() method allows querying runtime statistics without fetching full ProgramInfo

CO-RE Improvements

  • Full Kernel Module Support: CO-RE relocations now work against all kernel modules, not just vmlinux

Build System and Toolchain Updates

  • LLVM Toolchain: Updated to support LLVM 14, 17, and 20 (dropped LLVM 11 support)

Enhanced Map Support

  • BTF Declaration Tags: Added MapSpec.Tags field for reading btf_decl_tag attributes set on maps
  • Better Error Handling: Improved BPF_F_NO_PREALLOC hints and warnings for map types that require this flag

Assembly and Instruction Handling

  • Atomic Operations: Complete support for all atomic operations beyond just atomic add

Memory and Variable Access

  • New Accessors: Added accessor methods for values represented by Variable and Memory types

Windows Support Improvements

  • Path Canonicalization: Fixed pin path handling to work with eBPF for Windows path canonicalization rules

Bug Fixes

  • Map Batch Operations: Fixed value unmarshaling for partial batch operations in BatchLookup and BatchLookupDelete (#​1741)
  • Assembly Validation: Return InvalidOpCode for StoreImm with DWord size (#​1767)
  • Builtin Function Calls: Allow negative constants for builtin function calls (#​1797)
  • CO-RE Module Types: Perform CO-RE against all kernel module types (#​1511)
  • Pin API: Made WalkDir harder to misuse and added Windows support (#​1652)
  • Struct Layout: Emit structs.HostLayout in GoFormatter (#​1686)

Compatibility Notes

  • Minimum eBPF for Windows: Now requires eBPF for Windows 0.21.0 or later
  • LLVM 11 Dropped: No longer supports LLVM 11 (required for declaration tag support)

What's Changed

New Contributors

Full Changelog: cilium/ebpf@v0.18.0...v0.19.0

docker/docker (github.com/docker/docker)

v28.5.2+incompatible

Compare Source

v28.5.1+incompatible

Compare Source

v28.5.0+incompatible

Compare Source

v28.4.0+incompatible

Compare Source

v28.3.3+incompatible

Compare Source

v28.3.2+incompatible

Compare Source

v28.3.1+incompatible

Compare Source

v28.3.0+incompatible

Compare Source

v28.2.2+incompatible

Compare Source

v28.2.1+incompatible

Compare Source

v28.2.0+incompatible

Compare Source

v28.1.1+incompatible

Compare Source

v28.1.0+incompatible

Compare Source

gopacket/gopacket (github.com/gopacket/gopacket)

v1.5.0

Compare Source

What's Changed

New Contributors

Full Changelog: gopacket/gopacket@v1.4.0...v1.5.0

v1.4.0

Compare Source

What's Changed


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • Between 12:00 AM and 03:59 AM, only on Monday (* 0-3 * * 1)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Never, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot added dependencies Pull requests that update a dependency file renovate/stop-updating labels Jul 7, 2025
@renovate renovate Bot force-pushed the renovate/all-go-deps-master branch from c2b85c4 to 8198c43 Compare October 2, 2025 11:43
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Oct 2, 2025

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Comment @coderabbitai help to get the list of available commands and usage tips.

@renovate renovate Bot changed the title fix(deps): update module github.com/cilium/ebpf to v0.19.0 fix(deps): update all go dependencies master (minor) Oct 2, 2025
@renovate renovate Bot force-pushed the renovate/all-go-deps-master branch from 8198c43 to 46f0bfb Compare April 19, 2026 14:39
@renovate
Copy link
Copy Markdown
Contributor Author

renovate Bot commented Apr 19, 2026

ℹ️ Artifact update notice

File name: go.mod

In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

  • 9 additional dependencies were updated
  • The go directive was updated for compatibility reasons

Details:

Package Change
go 1.24.0 -> 1.25.0
github.com/ebitengine/purego v0.9.0 -> v0.10.0
github.com/mdlayher/socket v0.4.1 -> v0.6.0
github.com/moby/sys/sequential v0.5.0 -> v0.6.0
github.com/spf13/pflag v1.0.6 -> v1.0.9
github.com/tklauser/go-sysconf v0.3.15 -> v0.3.16
github.com/tklauser/numcpus v0.10.0 -> v0.11.0
golang.org/x/net v0.48.0 -> v0.52.0
golang.org/x/sync v0.19.0 -> v0.20.0
golang.org/x/text v0.32.0 -> v0.35.0

Signed-off-by: renovate[bot] <bot@renovateapp.com>
@renovate renovate Bot force-pushed the renovate/all-go-deps-master branch from 46f0bfb to c14238a Compare April 20, 2026 15:30
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 renovate/stop-updating

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants