PAGES
← all tools
◆ Container & Image Security

Inspektor Gadget

v0.57.0 open-source

Inspektor Gadget is a set of tools and framework for data collection and system inspection on Kubernetes clusters and Linux hosts using eBPFeBPFA Linux technology for running verified programs inside the kernel without changing its source. Tools use it to observe processes, enforce rules and process network traffic.

Summary

Inspektor Gadget is an open-source framework for collecting eBPF-based telemetry and inspecting running workloads on Kubernetes clusters and Linux hosts, distributed under Apache 2.0 and GPLv2. It packages eBPF programs as OCIOCIOpen Container Initiative standard, maintained by the Linux Foundation, defining the image format and runtime spec that container tools share so images built once run anywhere OCI-compliant. images called Gadgets, which can be built, signed and pulled from a registry, and it runs as a CLI (ig), though it also supports client-server, API and embeddable Golang library modes. It automatically enriches raw kernel data with Kubernetes and container-runtime context, so filters and output can reference pods and containers rather than namespaces and PIDs, which makes it aimed at platform engineers and SRE teams running observability or security tooling on clusters rather than at end-user application developers. It sits in the eBPF-based container-security and observability space, alongside gadgets for tracing exec, file access, GPUGPUA graphics processing unit, a processor that performs many calculations in parallel. AI workloads use GPUs to speed up model training and inference. workloads and kernel module loading.

Inspektor Gadget is a set of tools and framework for data collection and system inspection on Kubernetes clusters and Linux hosts using eBPF

How Inspektor Gadget helps

Which process actually opened, executed or touched a file inside a running container?

traces exec, open and file-access events at the kernel level and enriches each one with the pod, container and image it came from, rather than a raw PID and namespace

Which containers are loading kernel modules or attaching eBPF programs on this node?

traces module-load and BPF-link syscalls system-wide and reports each event against the container that triggered it, so unexpected loader activity can be attributed rather than left as a bare kernel log line

Which pods are being throttled or are pulling unusual GPU memory right now?

runs continuous profiling gadgets against CPU bandwidth throttling and CUDA memory/compute usage per container, so resource contention can be tied to a specific workload instead of a host-wide metric

What ports or network access would a new NetworkPolicy actually need to allow?

watches live traffic and generates a policy scoped by pod selector, so the rule reflects what the workload really talks to rather than a guess

Can I trust the Gadget images I'm about to run on my cluster?

verifies OCI image signatures from the command line, checking both cosign bundles and the legacy signature tag, before the image is pulled into a cluster

Which files are open across all processes on this host right now, and where do they actually resolve to?

takes a point-in-time snapshot of open files per process and resolves symlinked paths, giving the real file behind each open handle rather than the path an application requested

all 71 features, with the evidence for each →

Languages

Not documented

Features

71 capabilities · 2 backed by code, an API document or a real run

Built from Inspektor Gadget's releases, docs, README and our own runs. “Seen” marks the month we first spotted a release the vendor didn't date. Group names and tags are our labels.

Compare with peers →

  • Inspektor Gadget covers 1 of the 3 runtime security capabilities we track.

What Inspektor Gadget offers you

  • Command-line interface22
  • JSON data export2
  • Kubernetes-native deployment2
  • Multi-tenant management1
  • Offline mode1
  • Role-based access control1
  • Scripting language support1
eBPF-based runtime detection 7 features Runtime security since 2025
User-space stack tracing shipped Captures and resolves user-space stack traces within eBPF gadgets, supporting custom symbolizers. 10 releases · first seen Feb 2025

Shared capability: eBPF-based runtime detection

release 10 total

  • Adds OTel eBPF Profiler symbolizer to ustack for resolving interpreted-language (e.g. Python, JVM) stack frames in profiling output. v0.52.0 · May 2026 · source · release history
  • Adds a buildid field to ustack output to support client-side symbolization workflows. v0.45.0 · Oct 2025 · source · release history
  • Adds PIE (Position Independent Executable) support in the symbolizer, enabling accurate user-space stack symbolization for PIE binaries. v0.45.0 · Oct 2025 · source · release history
  • Adds generic collect-ustack parameter and templates for user-space stack collection. v0.40.0 · May 2025 · source · release history
  • Gadget stack parameters are renamed from print-*stack to collect-*stack; existing scripts or workflows using the old parameter names will break. v0.39.0 · Apr 2025 · source · release history
  • Renames stack-collection gadget params from print-*stack to collect-*stack. v0.39.0 · Apr 2025 · source · release history
eBPF subsystem and operator shipped Provides the foundational eBPF operator that loads BPF programs, manages map pinning and iteration, and caches BTF data to avoid redundant work at scale. 7 releases · first seen May 2025

Shared capability: eBPF-based runtime detection

release 7 total

  • Adds support for ebpf.SockOps, ebpf.SkSKB, and ebpf.SkMsg eBPF program types in the eBPF operator. v0.55.0 · Aug 2026 · source · release history
  • eBPF operator supports map pinning and non-destructive map iteration. v0.55.0 · Aug 2026 · source · release history
  • eBPF operator now supports map pinning via LIBBPF_PIN_BY_NAME in gadget maps and non-destructive map iteration via iter/bpf_map_elem with GADGET_ITER_TARGET_MAP. v0.55.0 · Aug 2026 · source · release history
  • eBPF operator adds support for ebpf.SockOps, ebpf.SkSKB and ebpf.SkMsg program types. v0.55.0 · Aug 2026 · source · release history
  • Upgrades eBPF library to v0.22.0 with a user-provided BTF cache, reducing repeated BTF work overhead at scale. v0.54.0 · Jul 2026 · source · release history
  • Introduces a user-provided BTF cache in the eBPF subsystem (ebpf v0.22.0 upgrade), reducing repeated BTF processing overhead at scale. v0.54.0 · Jul 2026 · source · release history
Kernel and eBPF internal tracing shipped Traces kernel module loading events, BPF link operations, and CFS bandwidth throttling to monitor low-level system and eBPF subsystem behavior. 5 releases · 2 other sources · first seen Feb 2026

Shared capability: eBPF-based runtime detection

release

  • Adds new trace_link gadget for tracing BPF link operations. v0.53.0 · Jun 2026 · source · release history
  • Extends trace_init_module gadget with finit_module syscall support for broader kernel module load tracing. v0.52.0 · May 2026 · source · release history
  • New top_cpu_throttle gadget to detect and surface CFS bandwidth throttling per container/process. v0.51.0 · Apr 2026 · source · release history
  • New trace_init_module gadget to trace kernel module loading events. v0.50.0 · Mar 2026 · source · release history
  • New --gadgets-only flag for the bpfstats gadget filters output to show only Inspektor Gadget eBPF programs instead of all eBPF programs. v0.49.0 · Feb 2026 · source · release history

example

  • Trace BPF link creation/deletion events system-wide to audit eBPF program attachment activity. ig run trace_link v0.53.0 · Jun 2026 · source
  • Filter bpfstats output to only gadget-owned eBPF programs, replicating the old default behavior after the breaking change. ig run bpfstats --gadgets-only v0.49.0 · Feb 2026 · source
GPU eBPF bridge shipped Runs a daemon that polls NVIDIA GPU telemetry via NVML and publishes it into pinned BPF maps so gadgets can correlate GPU data with processes or devices. 1 release · 2 other sources · first seen Aug 2026

Shared capability: eBPF-based runtime detection

release

  • gpu-ebpf-bridge userspace daemon publishes GPU telemetry through pinned BPF maps. v0.55.0 · Aug 2026 · source · release history

docs

  • Version: latest gpu-ebpf-bridge is a userspace daemon that polls GPU telemetry via NVML and publishes it through four bpffs-pinned BPF maps. Consumer eBPF gadgets can then join by PID or by device index at event emit time, in one hash lookup, without any inter-process communication with the bridge. docs update · Aug 2026 · source
  • gpu-ebpf-bridge Deploy the gpu-ebpf-bridge daemon alongside Inspektor Gadget to expose per-device and per-process GPU telemetry to consumer gadgets. docs update · Aug 2026 · source
eBPF CO-RE and symbolization enhancements shipped Expands eBPF gadget authoring with new helpers and improves user-space stack trace symbol display accuracy. 2 releases · first seen May 2026

Shared capability: eBPF-based runtime detection

release

  • Improves user-space stack (ustack) symbol display: removes [N] index prefix and shows binary path with offset instead. v0.53.0 · Jun 2026 · source · release history
  • Adds CO-RE helpers for inode ctime and syscall access, expanding eBPF gadget authoring capabilities. v0.52.0 · May 2026 · source · release history
Python 3.13 profiler support shipped Updates the OpenTelemetry eBPF profiler to support Python 3.13 TLS. 1 release · first seen Jun 2026

Shared capability: eBPF-based runtime detection

Also counts toward: Scripting language support

release

  • Supports Python 3.13 TLS in the eBPF-based continuous profiler via updated otel-ebpf-profiler. v0.53.0 · Jun 2026 · source · release history
CUDA GPU workload profiling shipped Provides a dedicated gadget for profiling CUDA GPU workloads using eBPF. 1 release · first seen Apr 2026

Shared capability: eBPF-based runtime detection

release

  • New profile_cuda gadget for profiling CUDA GPU workloads with eBPF. v0.51.0 · Apr 2026 · source · release history
Other / not yet classified 64 features Features we have not matched to a capability yet. A suggested match is marked.
Gadget output field changes shipped Several built-in gadgets have changed their output field names and formats: `top_process` CPU and Memory fields were renamed, and `snapshot_socket` now reports socket state as a human-readable string rather than a numeric enum. 34 releases · 1 other source · first seen Nov 2021

Also counts toward: Command-line interface

release 34 total

  • top_process renamed its CPU and Memory fields to shorter names — pipelines or scripts referencing the old field names will break. v0.57.0 · Oct 2026 · source · release history
  • Updates snapshot_socket to report socket state as a human-readable string (e.g., ESTABLISHED, LISTEN) instead of a raw numeric enum. v0.57.0 · Oct 2026 · source · release history
  • top_process has renamed its CPU and Memory fields to shorter names, changing the output schema. v0.57.0 · Oct 2026 · source · release history
  • snapshot_socket now reports socket state as a human-readable string (e.g. ESTABLISHED, LISTEN) instead of a raw numeric enum — any downstream parsing of the numeric value will break. v0.57.0 · Oct 2026 · source · release history
  • Shortens CPU and Memory field names in top_process output to fit narrow terminals. v0.57.0 · Oct 2026 · source · release history
  • Adds from_rootfs field to trace_exec gadget to indicate whether an executed binary originates from the container root filesystem. v0.48.0 · Jan 2026 · source · release history

example

  • Reclaim disk space used by unreferenced blobs in the local OCI store. ig image prune v0.57.0 · Oct 2026 · source
Process and socket telemetry shipped Collects real-time data on running processes and open network sockets. 26 releases · 1 other source · first seen Sep 2021

Also counts toward: Command-line interface

release 26 total

  • Adds count annotation/parameter to top_process gadget for controlling the number of displayed processes. v0.44.0 · Sep 2025 · source · release history
  • Traceloop displays wider parameters column, improving readability of syscall arguments. v0.43.0 · Aug 2025 · source · release history
  • Adds tty field to process/exec event data. v0.42.0 · Jul 2025 · source · release history
  • Removes the --enable-bpfstats requirement from the bpfstats gadget — now always available. v0.41.0 · Jun 2025 · source · release history
  • New qdisc_latency tracer gadget profiles network queuing discipline latency. v0.38.0 · Mar 2025 · source · release history
  • Provides human-readable representations of bytes and time durations in gadget output. v0.37.0 · Feb 2025 · source · release history

example

  • Trace bind() syscalls across all pods in a namespace to detect unexpected port listeners. kubectl gadget run ghcr.io/inspektor-gadget/gadget/trace_bind:latest -n my-namespace v0.31.0 · Aug 2024 · source
OCI-based gadget packaging shipped Enables the packaging, distribution, and execution of gadgets as container images managed via OCI interfaces. 16 releases · 2 other sources · first seen Apr 2023

Also counts toward: Command-line interface

release 16 total

  • Enables ig image build, ig image list, ig image inspect, ig image push, and ig image pull to run as a normal (non-root) user against a per-user OCI store at ~/.ig/oci-store. v0.56.0 · Sep 2026 · source · release history
  • Adds --oci-store-user flag to sudo ig run to read gadgets from the per-user OCI store at ~/.ig/oci-store (built rootlessly) without creating root-owned files in the user home directory. v0.56.0 · Sep 2026 · source · release history
  • Enables gadget authors to define custom parameters directly in gadget.yaml for OCI-packaged gadgets. v0.44.0 · Sep 2025 · source · release history
  • Makes the default OCI registry URL for image-based gadgets configurable at build time. v0.43.0 · Aug 2025 · source · release history
  • Ports profile_cpu to image-based gadget for OCI-distributable CPU profiling. v0.41.0 · Jun 2025 · source · release history
  • Converts traceloop to an image-based gadget, aligning it with the modern gadget distribution model. v0.39.0 · Apr 2025 · source · release history

docs

  • eBPF-based framework for data collection and system inspection on Kubernetes clusters and Linux hosts using OCI-packaged gadgets.

example

  • Run gadget in a container docker run -ti --rm --privileged -v /:/host --pid=host ghcr.io/inspektor-gadget/ig:latest run trace_open:latest
Process execution tracing shipped Traces every process execution on the node and captures the full argument list by reading directly from the new process's memory. 13 releases · 1 other source · first seen Sep 2021

release 13 total

  • Improves trace_exec to read process arguments from the new process address space, capturing more accurate argv data for executed processes. v0.54.0 · Jul 2026 · source · release history
  • Improves trace_exec to read process arguments from the new process address space, yielding more accurate exec argument capture. v0.54.0 · Jul 2026 · source · release history
  • Adds execveat syscall support to trace_exec gadgets, covering exec-via-file-descriptor paths missed by execve alone. v0.37.0 · Feb 2025 · source · release history
  • Adds file field to trace exec to capture the interpreter path for script executions. v0.36.0 · Jan 2025 · source · release history
  • Expands exec argument capture to support up to 256 bytes per argument. v0.35.0 · Dec 2024 · source · release history
  • Enables CO-RE (Compile Once, Run Everywhere) as the default BPF backend for gadgets. v0.21.0 · Oct 2023 · source · release history

docs

  • ig run trace_exec:latest ghcr.io/inspektor-gadget/ig -- ig run trace_exec:latest # ig run trace_exec:latest seen Aug 2026 · source
Network connection monitoring shipped Captures and visualizes active network connections and traffic patterns. 14 releases · first seen Aug 2022

release 14 total

  • Introduces generic packet filters and a new tcpdump gadget for packet-level capture and filtering via eBPF. v0.45.0 · Oct 2025 · source · release history
  • Adds accept-only parameter to trace_tcp to filter captured events to accepted connections only. v0.42.0 · Jul 2025 · source · release history
  • Adds syscall filtering support (ported to image-based gadget framework). v0.41.0 · Jun 2025 · source · release history
  • Adds --failed-only option to trace_tcp to surface only failed TCP connections. v0.37.0 · Feb 2025 · source · release history
  • Merges trace_tcpconnect into trace_tcp, unifying TCP connection tracing under a single gadget. v0.37.0 · Feb 2025 · source · release history
  • New profile_tcprtt gadget profiles TCP round-trip times per connection. v0.33.0 · Oct 2024 · source · release history
DaemonSet resource management shipped Exposes Helm chart values for setting CPU and memory requests and limits on the DaemonSet so deployments satisfy cluster resource quotas and admission policies. 10 releases · 2 other sources · first seen Jan 2023

release 10 total

  • Enables CPU and memory requests and limits for the Inspektor Gadget DaemonSet via the Helm chart resources field, so deployments fit within cluster resource quotas. v0.54.0 · Jul 2026 · source · release history
  • Enables CPU and memory requests and limits for the Inspektor Gadget DaemonSet via the resources key in the Helm chart values.yaml. v0.54.0 · Jul 2026 · source · release history
  • Adds gadgetConfigMaps support to the Helm charts, enabling configuration via Kubernetes ConfigMaps. v0.52.0 · May 2026 · source · release history
  • Helm chart now supports configuring hostPID and hostNetwork for the DaemonSet. v0.51.0 · Apr 2026 · source · release history
  • Adds Helm imagePullSecrets support for the DaemonSet image, enabling deployments from private registries. v0.43.0 · Aug 2025 · source · release history
  • Supports extra environment variables for the DaemonSet via Helm charts. v0.42.0 · Jul 2025 · source · release history

example

  • Cap Inspektor Gadget DaemonSet resource usage to fit within cluster quotas during Helm install or upgrade. helm upgrade --install inspektor-gadget inspektor-gadget/inspektor-gadget --set resources.requests.cpu=100m --set resources.requests.memory=128Mi --set resources.limits.cpu=500m --set… v0.54.0 · Jul 2026 · source
  • Constrain Inspektor Gadget DaemonSet resource usage at deploy time to satisfy admission policies or resource quotas. helm upgrade --install gadget gadget/gadget --set resources.requests.cpu=100m --set resources.requests.memory=128Mi --set resources.limits.cpu=500m --set resources.limits.memory=512Mi v0.54.0 · Jul 2026 · source
DNS monitoring shipped Captures DNS requests to monitor domain name resolution activity. 9 releases · 1 other source · first seen Sep 2021

release 9 total

  • Adds nameserver field to trace_dns output for tracking which DNS server handled each query. v0.41.0 · Jun 2025 · source · release history
  • Supports DNS tracing over TCP (without packet reassembly) in trace_dns. v0.38.0 · Mar 2025 · source · release history
  • Adds additional DNS metadata fields to DNS trace output. v0.37.0 · Feb 2025 · source · release history
  • Adds cwd and exepath fields to trace_dns via the --paths flag for richer process context on DNS events. v0.36.0 · Jan 2025 · source · release history
  • Ports trace_dns to image-based gadget. v0.31.0 · Aug 2024 · source · release history
  • Adds NumAnswers and Addresses fields to DNS trace events for richer network context v0.15.0 · Apr 2023 · source · release history

example

  • Capture DNS queries with working directory and executable path to attribute queries to specific scripts or binaries. ig trace dns --paths v0.36.0 · Jan 2025 · source
Process signal and OOM tracing shipped Traces signals received by processes and OOM kill events. 8 releases · 2 other sources · first seen Apr 2022

Also counts toward: Command-line interface

release 8 total

  • Publishes OCI container config as a string in container-collection events. v0.41.0 · Jun 2025 · source · release history
  • Adds ls and rm aliases for ig image list and ig image remove. v0.40.0 · May 2025 · source · release history
  • Adds --builder-image-pull flag to ig image build to control builder image pull behavior. v0.40.0 · May 2025 · source · release history
  • The ebpf-builder image is renamed to gadget-builder; any references to ebpf-builder in build scripts or configs must be updated. v0.40.0 · May 2025 · source · release history
  • Extends inspect command with eBPF and WASM extra info display. v0.39.0 · Apr 2025 · source · release history
  • New trace_signal gadget for tracing signal handling events v0.24.0 · Jan 2024 · source · release history

example

  • Build a custom gadget image and control how the builder image is pulled (e.g., always pull the latest builder in CI). ig image build --builder-image-pull always -t myregistry/mygadget:latest . v0.40.0 · May 2025 · source
  • Capture signal delivery events to debug process behavior or security policies ig trace_signal v0.24.0 · Jan 2024 · source
Gadget image management verified Manages OCI-based gadget images including building, listing, removing, and inspecting via CLI commands. 6 releases · 3 other sources · first seen May 2025

Also counts toward: Command-line interface

release

  • Adds ig image prune command to reclaim blob disk space in the OCI local store. v0.57.0 · Oct 2026 · source · release history
  • snapshot_socket now reports socket state as a human-readable string (e.g., ESTABLISHED, LISTEN) instead of a raw numeric enum. v0.57.0 · Oct 2026 · source · release history
  • Rootless ig image build/list/inspect/push/pull commands store artifacts in the per-user OCI directory ~/.ig/oci-store instead of the default system store. v0.56.0 · Sep 2026 · source · release history
  • Adds ls and rm aliases for ig image list and ig image remove. v0.40.0 · May 2025 · source · release history
  • Adds --builder-image-pull flag to ig image build to control builder image pull behavior. v0.40.0 · May 2025 · source · release history
  • The ebpf-builder image is renamed to gadget-builder; any references to ebpf-builder in build scripts or configs must be updated. v0.40.0 · May 2025 · source · release history

docs

  • Image store location Gadget images are stored in an OCI store whose location depends on the user: /var/lib/ig/oci-store root ~/.ig/oci-store otherwise. A gadget built as your user is therefore not visible to sudo ig image list All subcommands can be run without root . Only ig run needs it, to load eBPF programs. docs update · Sep 2026 · source

command line

  • --oci-store-user — Use user OCI store (~/.ig/oci-store) instead of system-wide store (/var/lib/ig/oci-store) v0.56.0 · Sep 2026 · command-line history

example

  • Build a custom gadget image and control how the builder image is pulled (e.g., always pull the latest builder in CI). ig image build --builder-image-pull always -t myregistry/mygadget:latest . v0.40.0 · May 2025 · source
Network policy advising shipped Watches real cluster traffic and generates Kubernetes or Cilium NetworkPolicy manifests that can be applied directly to enforce least-privilege network access. 7 releases · 2 other sources · first seen Sep 2021

release 7 total

  • Improves advise_networkpolicy to exclude peers that cannot be reliably mapped to a pod (e.g. host-network pods) from generated rules and annotates them instead of producing incorrect policies. v0.57.0 · Oct 2026 · source · release history
  • Adds --policy-format cilium flag to advise_networkpolicy to generate Cilium NetworkPolicy resources alongside existing Kubernetes NetworkPolicy output. v0.54.0 · Jul 2026 · source · release history
  • Adds --policy-format cilium option to advise_networkpolicy, enabling generation of Cilium NetworkPolicy resources in addition to the existing Kubernetes NetworkPolicy output. v0.54.0 · Jul 2026 · source · release history
  • Network policy generator operator (op/generate_networkpolicy) now uses podSelector for Services, improving generated policy accuracy. v0.51.0 · Apr 2026 · source · release history
  • Ports advise_networkpolicy to image-based gadget, enabling OCI-distributed network policy recommendations. v0.41.0 · Jun 2025 · source · release history
  • Adds bpftrace gadget support for eBPF scripting via the CLI v0.16.0 · May 2023 · source · release history

docs

  • Limitations The gadget ignores the following non-identity pod labels when generating policy selectors: controller-revision-hash pod-template-generation pod-template-hash topology.kubernetes.io/region topology.kubernetes.io/zone failure-domain.beta.kubernetes.io/region failure-domain.beta.kubernetes.io/zone seen Aug 2026 · source

example

  • Generate a Cilium-native NetworkPolicy by observing live traffic, ready to apply directly to a Cilium-managed cluster. kubectl gadget run advise_networkpolicy:latest --policy-format cilium v0.54.0 · Jul 2026 · source
LSM event tracing shipped Captures and reports Linux Security Module events for security policy monitoring. 8 releases · 1 other source · first seen May 2024

Also counts toward: Command-line interface

release 8 total

  • Adds ig image verify command to verify gadget image signatures from the CLI. v0.47.0 · Dec 2025 · source · release history
  • Supports cosign bundle format for gadget image signature verification. v0.47.0 · Dec 2025 · source · release history
  • Enables notation signature verification using a local store. v0.46.0 · Nov 2025 · source · release history
  • Adds Notation-based signature verification for gadget artifacts alongside the existing Cosign support. v0.45.0 · Oct 2025 · source · release history
  • Handles gadget signatures during image export and image import operations. v0.42.0 · Jul 2025 · source · release history
  • Caches gadget OCI signatures via ORAS to speed up repeated pulls. v0.42.0 · Jul 2025 · source · release history

example

  • Apply a gadget manifest piped from another command without writing it to disk first. cat my-gadget.yaml | ig run -f - v0.47.0 · Dec 2025 · source
Structured output formatting shipped Allows trace and process data to be exported in JSON, YAML, or pretty-printed formats. 8 releases · 1 other source · first seen Feb 2023

Also counts toward: Command-line interface, JSON data export

release 8 total

  • Sets visibility controls on formatted/derived columns. v0.42.0 · Jul 2025 · source · release history
  • Adds JSON output mode to the image import command. v0.42.0 · Jul 2025 · source · release history
  • JSON output for image-based gadgets now nests process-related fields (comm, pid, tid, uid, gid, pcomm, mntns_id) under a proc leaf node; consumers must update their unmarshaling logic. Built-in gadgets under pkg/gadgets/ are not affected. v0.35.0 · Dec 2024 · source · release history
  • Enhances version command output with JSON format support. v0.35.0 · Dec 2024 · source · release history
  • image list command now supports JSON output. v0.29.0 · Jun 2024 · source · release history
  • Add signal formatter by @mauriciovasquezbernal in https://github.com/inspektor-gadget/inspektor-gadget/pull/2630 v0.28.0 · May 2024 · source · release history

example

  • Import a gadget image and get machine-parseable JSON output for scripting or CI pipelines. ig image import <path> --output json v0.42.0 · Jul 2025 · source
WebAssembly gadget execution shipped Enables loading and executing gadgets written in WebAssembly within the image-based gadget framework. 9 releases · first seen Jul 2024

Also counts toward: Command-line interface

release 9 total

  • Adds Rust WASM bindings, enabling gadget authors to write gadgets in Rust targeting the WASM API. v0.42.0 · Jul 2025 · source · release history
  • WASM operator now uses a cache to significantly speed up gadget execution. v0.40.0 · May 2025 · source · release history
  • WASM gadget layer switches from TinyGo to Go 1.24, enabling full Go standard library support in WASM gadgets. v0.39.0 · Apr 2025 · source · release history
  • Adds WASM API support for array and hash map types. v0.37.0 · Feb 2025 · source · release history
  • Adds WASM API functions to interact with perf buffers. v0.37.0 · Feb 2025 · source · release history
  • Adds Unreference (formerly SetRequested) and AddTags methods to the WASM API for datasource and field accessor control. v0.35.0 · Dec 2024 · source · release history
Reduced-privilege deployment mode shipped Allows the DaemonSet and local `ig run` to operate without `CAP_SYS_ADMIN` by relying on `CAP_BPF`, `CAP_PERFMON`, and `CAP_SYS_PTRACE`, switching container detection to podinformer/NRI-based hooks instead of fanotify. 7 releases · 1 other source · first seen May 2020

Also counts toward: Command-line interface

release 7 total

  • Enables rootless ig run requiring only cap_bpf, cap_perfmon, and cap_sys_ptrace — without CAP_SYS_ADMIN; falls back to reporting events from already-running containers when fanotify-based enrichment is unavailable. v0.57.0 · Oct 2026 · source · release history
  • Adds --drop-cap-sys-admin flag to kubectl-gadget deploy to drop CAP_SYS_ADMIN and rely on CAP_BPF and CAP_PERFMON instead, disabling fanotify-based container detection and switching to a non-fanotify hook mode (podinformer/nri/crio).⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ v0.57.0 · Oct 2026 · source · release history
  • Adds --drop-cap-sys-admin flag to kubectl-gadget deploy to enable reduced-privilege gadget deployment in Kubernetes. v0.57.0 · Oct 2026 · source · release history
  • Enables rootless ig run, allowing gadgets to operate without root or CAP_SYS_ADMIN (requiring only cap_bpf, cap_perfmon, and cap_sys_ptrace). v0.57.0 · Oct 2026 · source · release history
  • The --allowed-digests and --allowed-registries flags are replaced by --allowed-gadgets; existing invocations using those flags will break. v0.31.0 · Aug 2024 · source · release history
  • Adds support for the containerd runtime v0.2.0 · Jul 2020 · source · release history

example

  • Deploy the Inspektor Gadget DaemonSet to a cluster without granting CAP_SYS_ADMIN, accepting the trade-off of podinformer/NRI-based container detection instead of fanotify. kubectl gadget deploy --drop-cap-sys-admin v0.57.0 · Oct 2026 · source
Headless gadget execution and management shipped Enables running gadgets and the cyber tooling itself without a terminal or UI, supporting headless Kubernetes deployments and background service operation. 4 releases · 2 other sources · first seen Oct 2024

Also counts toward: Kubernetes-native deployment

release

  • kubectl-gadget requests are now authenticated via TokenReview and scoped to namespaces by SubjectAccessReview when Kubernetes multi-tenancy is enabled. v0.56.0 · Sep 2026 · source · release history
  • Adds experimental Kubernetes multi-tenancy mode: authenticates every kubectl-gadget request via TokenReview and restricts gadgets to RBAC-authorized namespaces using SubjectAccessReview, enforced in the gadget service via KubeManager. v0.56.0 · Sep 2026 · source · release history
  • Introduces headless mode for Kubernetes deployments, enabling Inspektor Gadget to run without a dedicated UI/CLI consumer. v0.34.0 · Nov 2024 · source · release history
  • Introduces GadgetInstanceManager to run gadgets headless (without a terminal/UI). v0.33.0 · Oct 2024 · source · release history

example

  • Run gadget remotely via gadgetctl gadgetctl run trace_open:latest --remote-address=tcp://$IP:1234
  • Run gadget via kubectl node debug kubectl debug --profile=sysadmin node/minikube-docker -ti --image=ghcr.io/inspektor-gadget/ig:latest -- ig run trace_open:latest
OpenTelemetry profiles support shipped Exports profiling data — including Python stack traces with duplicate-stack aggregation — as OpenTelemetry profiling signals so they can flow into any compatible backend. 6 releases · first seen Jan 2025

release

  • Enables OTel/Python stack symbolization for perf_event-based gadgets (e.g. profile_cpu), including aggregation of identical stacks. v0.55.0 · Aug 2026 · source · release history
  • perf_event-based gadgets can now symbolize OTel/Python stacks. v0.55.0 · Aug 2026 · source · release history
  • Adds support for profile names in OpenTelemetry profiles (otel-profiles). v0.54.0 · Jul 2026 · source · release history
  • Adds support for profile name in OpenTelemetry profiles operator. v0.54.0 · Jul 2026 · source · release history
  • Adds service name metadata to OpenTelemetry profiles output. v0.52.0 · May 2026 · source · release history
  • Allows configuring otel-metrics via Helm charts for Kubernetes deployments. v0.36.0 · Jan 2025 · source · release history
Gadget pipeline operators shipped Enables data transformation and logic within gadget pipelines using built-in operators like 'env' and 'otel'. 6 releases · first seen Mar 2025

release

  • Introduces a logs operator enabling log-stream integration within the gadget pipeline. v0.51.0 · Apr 2026 · source · release history
  • Appends sort fields when the same datasource is specified multiple times in the sort operator. v0.47.0 · Dec 2025 · source · release history
  • Renames snapshotters to iters and makes them repeatable, enabling periodic re-execution of snapshot-style gadgets. v0.46.0 · Nov 2025 · source · release history
  • Supports runtime/Kubernetes filtering in localmanager and kubemanager, enabling more granular gadget targeting. v0.45.0 · Oct 2025 · source · release history
  • New env operator enables creating new data fields from environment variables in gadget pipelines. v0.38.0 · Mar 2025 · source · release history
  • Allows overriding OpenTelemetry export key/name via the otel operator. v0.38.0 · Mar 2025 · source · release history
Core BPF support shipped Implements CO-RE (Compile Once, Run Everywhere) as the default backend for better kernel compatibility and reduces reliance on BCC. 6 releases · first seen Dec 2021

release

  • Updates vmlinux.h to Linux 6.15.5, extending eBPF CO-RE support for the latest kernel. v0.43.0 · Aug 2025 · source · release history
  • Uses CO-RE in socketenricher, making it resilient to kernel struct layout changes. v0.42.0 · Jul 2025 · source · release history
  • Updates syscall table to Linux v6.13.0. v0.39.0 · Apr 2025 · source · release history
  • Enables CO-RE (Compile Once, Run Everywhere) as the default BPF backend for gadgets. v0.21.0 · Oct 2023 · source · release history
  • The default BPF backend is now core; the previous default bcc must be explicitly selected if required. v0.21.0 · Oct 2023 · source · release history
  • Integrates with BTFGen for extended compatibility with older kernels v0.4.2 · Dec 2021 · source · release history
Gadget filtering shipped Provides uniform field-based and syscall-level filtering capabilities across trace and networking gadgets. 5 releases · 1 other source · first seen Jan 2025

release

  • Introduces filter expressions based on the Expr language in the filter operator, enabling richer, programmable event filtering. v0.43.0 · Aug 2025 · source · release history
  • Adds syscall filtering support (ported to image-based gadget framework). v0.41.0 · Jun 2025 · source · release history
  • Adds uniform filtering support for networking gadgets. v0.39.0 · Apr 2025 · source · release history
  • Allows escaping commas in filter expressions, enabling filtering on values that contain commas. v0.37.0 · Feb 2025 · source · release history
  • Introduces uniform filtering across gadgets for consistent field-based event filtering. v0.36.0 · Jan 2025 · source · release history

example

  • Filter trace_exec output on a value containing a comma by escaping it, so the filter parser treats it as a single value. ig trace_exec --filter 'comm=foo\,bar' v0.37.0 · Feb 2025 · source
Mount point tracing shipped Captures mount and umount system calls to monitor filesystem changes. 4 releases · 1 other source · first seen Nov 2021

release

  • Reports network namespace in the trace_mount gadget output. v0.56.0 · Sep 2026 · source · release history
  • New trace_mount gadget for monitoring mount syscalls v0.24.0 · Jan 2024 · source · release history
  • local-gadget now supports tracing mount operations via trace mount. v0.11.0 · Dec 2022 · source · release history
  • Adds mountsnoop gadget to trace mount() and umount() syscalls v0.4.0 · Nov 2021 · source · release history

example

  • Monitor all mount operations across the cluster for policy enforcement or auditing ig trace_mount v0.24.0 · Jan 2024 · source
OpenTelemetry integration shipped Exports telemetry data and metrics to OpenTelemetry-compatible backends for centralized observability. 5 releases · first seen Jan 2025

release

  • Adds OpenTelemetry profiles support to exporters, enabling profiling data to be shipped via the OTel pipeline. v0.49.0 · Feb 2026 · source · release history
  • Adds metricname annotation support to the otel-metrics operator for custom metric naming. v0.47.0 · Dec 2025 · source · release history
  • Allows overriding OpenTelemetry export key/name via the otel operator. v0.38.0 · Mar 2025 · source · release history
  • Allows configuring otel-metrics via Helm charts for Kubernetes deployments. v0.36.0 · Jan 2025 · source · release history
  • Adds OpenTelemetry logs (otel-logs) support for exporting gadget output to OTel-compatible backends. v0.36.0 · Jan 2025 · source · release history
Gadget image inspection shipped Provides an inspect subcommand to examine gadget images and their contents. 5 releases · first seen Oct 2024

Also counts toward: Command-line interface

release

  • All built-in gadgets have been removed treewide; gadgets must now be referenced as OCI images. v0.42.0 · Jul 2025 · source · release history
  • Improves inspect command UX with datasources, fields listing, and consistent sorting. v0.41.0 · Jun 2025 · source · release history
  • Adds inspect command to kubectl-gadget with OCI metadata, mermaid graphs, and eBPF relocation details. v0.40.0 · May 2025 · source · release history
  • Makes inspect pull policy and image verification configurable via new flags. v0.39.0 · Apr 2025 · source · release history
  • Adds inspect subcommand to the image command for examining gadget images. v0.33.0 · Oct 2024 · source · release history
Seccomp violation auditing shipped Audits and reports processes blocked by seccomp policies to identify restricted syscalls. 3 releases · 2 other sources · first seen Aug 2024

release

  • Implements advise_seccomp as an image-based gadget. v0.40.0 · May 2025 · source · release history
  • Adds user-space stack capture to gadget audit_seccomp via the collect-ustack parameter. v0.39.0 · Apr 2025 · source · release history
  • Adds audit_seccomp gadget for auditing seccomp policy violations. v0.31.0 · Aug 2024 · source · release history

example

  • Capture user-space call stacks alongside seccomp audit events to identify which code paths trigger policy violations. ig run audit_seccomp --collect-ustack=true v0.39.0 · Apr 2025 · source
  • Audit seccomp policy violations across containers to identify syscalls being blocked. kubectl gadget run ghcr.io/inspektor-gadget/gadget/audit_seccomp:latest -n my-namespace v0.31.0 · Aug 2024 · source
SBOM signing and distribution shipped Signs and distributes SBOMs as separate OCI artifacts rather than embedding them in the image index, keeping the image clean while preserving verifiable provenance. 3 releases · 1 other source · first seen Jul 2026

Also counts toward: Command-line interface

release

  • Adds ig image prune command to reclaim blob disk space from unreferenced manifests in the local OCI store. v0.57.0 · Oct 2026 · source · release history
  • Prunes unreferenced manifests from the local store's index.json automatically after pulls, builds, and removals, preventing unbounded index growth. v0.57.0 · Oct 2026 · source · release history
  • SBOMs are removed from the image index and signed separately, which may break workflows that retrieve SBOMs directly from the image index. v0.54.0 · Jul 2026 · source · release history

example

  • Reclaim local disk space accumulated by superseded gadget image blobs after repeated pulls or builds. ig image prune v0.57.0 · Oct 2026 · source
Kubelet endpoint auto-detection improvements shipped Updates container runtime socket detection to use the kubelet's /configz endpoint over HTTPS, changing RBAC requirements from nodes/proxy to nodes/configz. 4 releases · first seen Sep 2026

release

  • The deployment no longer uses the broad nodes/proxy permission; it now requires nodes/configz (Kubernetes v1.33+). v0.56.0 · Sep 2026 · source · release history
  • Switches container runtime socket auto-detection to use the kubelet's /configz endpoint over HTTPS, requiring only the nodes/configz RBAC permission instead of the broader nodes/proxy (Kubernetes v1.33+; earlier clusters fall back to the configured socket path). v0.56.0 · Sep 2026 · source · release history
  • Kubernetes deployments on v1.33+ now require the nodes/configz RBAC permission instead of nodes/proxy; clusters that granted only nodes/proxy must update their RBAC rules. v0.56.0 · Sep 2026 · source · release history
  • Container runtime socket auto-detection now requires nodes/configz access instead of nodes/proxy when talking to kubelet /configz via HTTPS on Kubernetes v1.33+. v0.56.0 · Sep 2026 · source · release history
GPU telemetry gadgets shipped Provides ready-made gadgets that surface per-device GPU metrics, per-process GPU usage, and GPU starvation events from those BPF maps in real time. 1 release · 3 other sources · first seen Apr 2026

release

  • New CUDA memory metrics gadget for tracking GPU memory usage. v0.51.0 · Apr 2026 · source · release history

docs

  • gpu_top The gpu_top gadget reports real-time per-device GPU telemetry gpu_top_per_pid The gputopper_pid gadget reports per-process GPU usage from the trace_gpu_starvation The tracegpustarvation gadget detects GPU starvation: a process docs update · Aug 2026 · source
  • Version: latest The gpu-ebpf-bridge daemon polls NVIDIA GPU telemetry via NVML and publishes it through four bpffs-pinned BPF maps that consumer gadgets read from. docs update · Aug 2026 · source
  • gpu_top The gpu_top gadget reports real-time per-device GPU telemetry gpu_top_per_pid The gputopper_pid gadget reports per-process GPU usage from the 📄 trace_gpu_starvation The tracegpustarvation gadget detects GPU starvation: a process seen Aug 2026 · source
Telemetry polling configuration verified Lets operators tune how frequently GPU telemetry is polled and where the BPF maps are pinned on the BPF filesystem. 2 releases · 2 other sources · first seen Nov 2024

Also counts toward: Command-line interface

release

  • Monitoring tooling now uses an OpenTelemetry metrics exporter. v0.35.0 · Dec 2024 · source · release history
  • Adds support for named metric exporters and OTLP-gRPC in the otel-metrics operator, enabling direct export to OpenTelemetry collectors. v0.34.0 · Nov 2024 · source · release history

command line

  • --poll-interval — How often to poll the telemetry source v0.55.0 · Aug 2026 · command-line history
  • --pin-dir — bpffs directory under which to pin the maps v0.55.0 · Aug 2026 · command-line history
Daemon mode operation shipped Allows the tool to run as a background service for continuous monitoring and management of trace gadgets. 3 releases · 1 other source · first seen Oct 2023

Also counts toward: Command-line interface

release

  • Adds --tls-insecure flag to ig daemon for insecure TLS connections. v0.53.0 · Jun 2026 · source · release history
  • Returns client version from kubectl-gadget even when the server is unreachable. v0.37.0 · Feb 2025 · source · release history
  • Adds daemon subcommand to ig CLI to run the gadget service in the background. v0.21.0 · Oct 2023 · source · release history

example

  • Start the ig daemon allowing insecure TLS connections, useful in lab environments without valid certificates. ig daemon --tls-insecure v0.53.0 · Jun 2026 · source
Custom runtime path support shipped Allows the tool to use a specific runc binary path for container interactions. 3 releases · 1 other source · first seen Aug 2023

release

  • Adds runc path detection for MicroK8s environments, enabling Inspektor Gadget to work on MicroK8s clusters. v0.46.0 · Nov 2025 · source · release history
  • Adds runc path support for k0s and Bottlerocket OS, expanding container runtime discovery. v0.41.0 · Jun 2025 · source · release history
  • Add env variable to specificy runc/runtime path v0.19.0 · Aug 2023 · source · release history

example

  • Run the gadget using a non-standard runc binary by setting the runtime path. IG_RUNTIME_PATH=/usr/local/bin/runc ig gadgets run ... v0.19.0 · Aug 2023 · source
Container lifecycle event monitoring shipped Monitors container creation and deletion events via trace gadgets. 3 releases · 1 other source · first seen Jan 2023

release

  • Introduces PreCreateContainer events in the container hook lifecycle. v0.42.0 · Jul 2025 · source · release history
  • Enables tracing of cri-o container events when using the fanotify collector v0.12.0 · Jan 2023 · source · release history
  • Adds tracing of container deletion events in local-gadget v0.12.0 · Jan 2023 · source · release history

docs

  • The Podman API can find existing containers but does not notify us when new containers are created. Inspektor Gadget uses the fanotify+ebpf container hook to detect new containers, but this hook does not support rootless containers. seen Sep 2026 · source
Kubernetes endpoint metadata enrichment shipped Enriches network events with Kubernetes endpoint metadata using the kubeipresolver operator. 3 releases · 1 other source · first seen Nov 2024

Also counts toward: Command-line interface

release

  • Adds --kubeconfig option to ig for use with --enrich-with-k8s-apiserver. v0.41.0 · Jun 2025 · source · release history
  • KubeNameResolver now supports image-based gadgets. v0.40.0 · May 2025 · source · release history
  • Adds kubeipresolver operator for image-based gadgets, enriching network events with Kubernetes endpoint metadata. v0.34.0 · Nov 2024 · source · release history

example

  • Enrich ig events with Kubernetes API server metadata using a specific kubeconfig. ig run trace_exec --enrich-with-k8s-apiserver --kubeconfig ~/.kube/config v0.41.0 · Jun 2025 · source
Filesystem notification tracing shipped Monitors filesystem access by tracing inotify() and fanotify() system calls. 4 releases · first seen Sep 2024

release

  • Adds support for Linux 5.4 in the fsnotify gadget. v0.39.0 · Apr 2025 · source · release history
  • Displays fsnotify external API masks as human-readable strings instead of raw integers. v0.38.0 · Mar 2025 · source · release history
  • Adds new fields to fsnotify data source for richer filesystem event data. v0.33.0 · Oct 2024 · source · release history
  • New fsnotify gadget traces calls to inotify() and fanotify() system calls. v0.32.0 · Sep 2024 · source · release history
Block I/O performance analysis shipped Traces and analyzes block device input/output latency and throughput. 4 releases · first seen Sep 2021

release

  • New top_blockio gadget shows top block I/O activity, similar to existing top gadgets. v0.33.0 · Oct 2024 · source · release history
  • Adds CO-RE support for profile cpu, trace tcp, profile block-io, and trace capabilities gadgets. v0.6.0 · Jun 2022 · source · release history
  • fanotify mode supports initial containers and container termination v0.3.1 · Oct 2021 · source · release history
  • Adds biolatency gadget as a wrapper for the BCC biolatency tool (CRD only) v0.3.0 · Sep 2021 · source · release history
Offline analysis mode shipped Enables running the tool on local files or environments without a connected Kubernetes cluster. 2 releases · 2 other sources · first seen Nov 2021

Also counts toward: Command-line interface, Offline mode

release

  • Adds containerd and cri-o runtimes to the local-gadget command v0.5.1 · Jun 2022 · source · release history
  • Adds local-gadget mode to use Inspektor Gadget without a Kubernetes cluster v0.4.0 · Nov 2021 · source · release history

example

  • Run local-gadget with containerd runtime. local-gadget run --runtime containerd v0.5.1 · Jun 2022 · source
  • Run trace_open gadget on Kubernetes kubectl gadget run trace_open:latest
Rootless OCI gadget management shipped Allows building, listing, and inspecting gadget images as a regular user without root privileges using a per-user OCI store. 2 releases · 1 other source · first seen Sep 2026

Also counts toward: Command-line interface

release

  • ig image build, list, inspect, push, and pull now use a per-user OCI store at ~/.ig/oci-store instead of a root-owned store; gadgets previously built into the root store will not be visible to rootless ig image commands. v0.56.0 · Sep 2026 · source · release history
  • ig image build/list/inspect/push/pull defaults to a rootless per-user OCI store at ~/.ig/oci-store instead of the shared system store. v0.56.0 · Sep 2026 · source · release history

example

  • Store and share gadgets built as your regular user in ~/.ig/oci-store without needing sudo. ig image build -t my-gadget . && sudo ig run --oci-store-user <gadget> v0.56.0 · Sep 2026 · source
Helm chart labeling and configuration updates shipped Updates Helm charts to include Kubernetes recommended labels by default and support configuring hostPID, hostNetwork, and ConfigMaps. 3 releases · first seen Jul 2025

Also counts toward: Kubernetes-native deployment

release

  • Adds gadgetConfigMaps support to the Helm charts, enabling configuration via Kubernetes ConfigMaps. v0.52.0 · May 2026 · source · release history
  • Helm charts now include Kubernetes recommended labels by default, improving resource discoverability and compatibility with standard tooling. v0.48.0 · Jan 2026 · source · release history
  • Adds a default gadget namespace to Helm charts. v0.42.0 · Jul 2025 · source · release history
Container name filtering shipped Enables filtering trace output by specific container names in BCC tools. 3 releases · first seen Jul 2020

Also counts toward: Command-line interface

release

  • Supports filtering container collection by image digests. v0.50.0 · Mar 2026 · source · release history
  • Supports exclusion filters and multiple values in container selectors, enabling finer-grained gadget targeting. v0.48.0 · Jan 2026 · source · release history
  • Adds --containername flag to bcc tools for filtering by container name v0.2.0 · Jul 2020 · source · release history
Gadget runtime configuration from file shipped Allows loading gadget runtime configuration from a file instead of passing many flags inline. 2 releases · 1 other source · first seen Oct 2024

Also counts toward: Command-line interface

release

  • Allows -f - to apply a gadget manifest from stdin. v0.47.0 · Dec 2025 · source · release history
  • Adds -f flag to specify gadget runtime configuration from a file. v0.33.0 · Oct 2024 · source · release history

example

  • Load gadget runtime configuration from a file instead of passing many flags inline. ig run <gadget-image> -f config.yaml v0.33.0 · Oct 2024 · source
Gadget validation and configuration shipped Provides mechanisms for validating gadget parameters via annotations and managing runtime configurations. 3 releases · first seen May 2025

release

  • Allows gadgets to specify default values for parameters in their metadata. v0.42.0 · Jul 2025 · source · release history
  • Allows escaping comma characters in string slice parameters for more expressive gadget configuration. v0.41.0 · Jun 2025 · source · release history
  • Introduces value.one-of annotation for gadget parameter validation. v0.40.0 · May 2025 · source · release history
WASM gadget runtime shipped Provides a WebAssembly-based execution environment for gadgets with access to kernel symbols and syscall information. 3 releases · first seen Feb 2025

release

  • Adds getSyscallID() WASM host function to look up a syscall ID by name from guest gadgets. v0.38.0 · Mar 2025 · source · release history
  • Adds kallsymsSymbolExists WASM helper for runtime kernel symbol checks. v0.37.0 · Feb 2025 · source · release history
  • Adds WASM API functions to get syscall names and declarations from gadgets. v0.37.0 · Feb 2025 · source · release history
Process binding event tracing shipped Traces bind system calls to monitor process network interface binding activity. 2 releases · 1 other source · first seen Aug 2024

release

  • New fdpass gadget traces file-descriptor passing between processes. v0.35.0 · Dec 2024 · source · release history
  • Adds trace_bind gadget for tracing bind system calls. v0.31.0 · Aug 2024 · source · release history

example

  • Trace file-descriptor passing between processes (e.g. to audit privilege hand-off via SCM_RIGHTS). ig run gadgets/fdpass v0.35.0 · Dec 2024 · source
Network security profiling extensions shipped Extends network monitoring with specific TCP drop and retransmission tracing capabilities. 3 releases · first seen May 2023

release

SNI network tracing shipped Traces Server Name Indication requests in TLS/SSL connections. 2 releases · 1 other source · first seen Apr 2022

Also counts toward: Command-line interface

release

  • Adds trace_sni subcommand to the ig run command to capture SNI (Server Name Indication) fields from TLS handshakes v0.25.0 · Feb 2024 · source · release history
  • Adds kubectl gadget trace sni command to trace Server Name Indication requests v0.5.0 · Apr 2022 · source · release history

example

  • Capture SNI values from network traffic in a cluster for identifying outbound connections to specific domains. ig run --all-containers trace_sni v0.25.0 · Feb 2024 · source
Ldpreload hook mode shipped Supports distribution-specific injection mechanisms via ldpreload runc hooks. 2 releases · 1 other source · first seen May 2020

release

  • Add env variable to specificy runc/runtime path v0.19.0 · Aug 2023 · source · release history
  • Introduces ldpreload runc hook mode for other distributions via PR #58 v0.1.0 · May 2020 · source · release history

example

  • Run the gadget using a non-standard runc binary by setting the runtime path. IG_RUNTIME_PATH=/usr/local/bin/runc ig gadgets run ... v0.19.0 · Aug 2023 · source
CLI command timeout configuration shipped Allows users to define execution timeouts for trace commands via CLI flags. 3 releases · first seen Jun 2022

Also counts toward: Command-line interface

release

  • Adds global flag --timeout to cmd/local-gadget to control command execution duration v0.13.0 · Feb 2023 · source · release history
  • cmd/local-gadget removes the interactive mode that was previously available. v0.13.0 · Feb 2023 · source · release history
  • Implements a timeout parameter for gadget operations v0.5.1 · Jun 2022 · source · release history
Network security profiling shipped Generates Seccomp policies based on captured syscalls and Kubernetes Security Profiles Operator integration. 3 releases · first seen Sep 2021

Also counts toward: Command-line interface

release

  • New advise seccomp-profile subcommand in local-gadget to generate seccomp profiles v0.12.0 · Jan 2023 · source · release history
  • local-gadget adds audit seccomp gadget to audit seccomp profiles attached to containers. v0.11.0 · Dec 2022 · source · release history
  • Adds Seccomp Policy Advisor gadget that generates seccomp policies based on captured syscalls with Kubernetes Security Profiles Operator integration (CRD only) v0.3.0 · Sep 2021 · source · release history
Kubernetes RBAC integration shipped Authenticates and scopes `kubectl-gadget` requests via TokenReview and SubjectAccessReview when multi-tenancy is enabled. 2 releases · first seen Sep 2026

Also counts toward: Multi-tenant management, Role-based access control

release

  • kubectl-gadget requests are now authenticated via TokenReview and scoped to namespaces by SubjectAccessReview when Kubernetes multi-tenancy is enabled. v0.56.0 · Sep 2026 · source · release history
  • Adds experimental Kubernetes multi-tenancy mode: authenticates every kubectl-gadget request via TokenReview and restricts gadgets to RBAC-authorized namespaces using SubjectAccessReview, enforced in the gadget service via KubeManager. v0.56.0 · Sep 2026 · source · release history
uProbes support for stripped Go binaries shipped Enables uprobes on stripped Go binaries by falling back to .gopclntab sections when the ELF symbol table is absent. 2 releases · first seen Sep 2026

release

  • Extends uprobetracer to fall back to Go's .gopclntab section (including the Go 1.26+ .go.module format) when the ELF symbol table is absent, enabling uprobes on stripped Go binaries such as a production kubelet. v0.56.0 · Sep 2026 · source · release history
  • uprobetracer now attaches to stripped Go binaries by falling back to .gopclntab (including Go 1.26+ .go.module) when the ELF symbol table is absent. v0.56.0 · Sep 2026 · source · release history
Trace display and configuration improvements shipped Enhances trace execution by adding CLI flags for timeout, loop control, clear-screen mode, headless execution, and file-based gadget configuration. 1 release · 1 other source · first seen Jun 2022

release

  • Enables clear-screen-before display mode for profile gadgets in the CLI, giving cleaner live output. v0.48.0 · Jan 2026 · source · release history

example

  • Limit gadget operation duration with the new timeout parameter. gadget run <gadget> --timeout 10s v0.5.1 · Jun 2022 · source
Network latency profiling shipped Profiles network queuing discipline (qdisc) latency to diagnose throughput bottlenecks in containerized environments. 2 releases · first seen Feb 2025

release

  • New qdisc_latency tracer gadget profiles network queuing discipline latency. v0.38.0 · Mar 2025 · source · release history
  • Provides human-readable representations of bytes and time durations in gadget output. v0.37.0 · Feb 2025 · source · release history
File descriptor passing tracing shipped Traces file descriptor passing between processes to audit privilege hand-off and resource sharing. 1 release · 1 other source · first seen Dec 2024

release

  • New fdpass gadget traces file-descriptor passing between processes. v0.35.0 · Dec 2024 · source · release history

example

  • Trace file-descriptor passing between processes (e.g. to audit privilege hand-off via SCM_RIGHTS). ig run gadgets/fdpass v0.35.0 · Dec 2024 · source
Mutex and deadlock tracing shipped Traces mutex lock/unlock events and detects deadlocks by analyzing mutex wait graphs for process synchronization issues. 2 releases · first seen Oct 2024

release

  • New deadlock gadget detects deadlocks by finding cycles in mutex wait directed graphs, with PID-based filtering and dead-process handling. v0.35.0 · Dec 2024 · source · release history
  • New trace_mutex gadget traces mutex lock/unlock events in running processes. v0.33.0 · Oct 2024 · source · release history
macOS platform support shipped Provides builds and compatibility for macOS operating systems. 2 releases · first seen May 2020

release

File descriptor state snapshotting shipped Captures a point-in-time view of open files across processes to audit file descriptor states. 1 release · first seen Jan 2026

release

  • New snapshot-file gadget captures a point-in-time view of open files across processes. v0.48.0 · Jan 2026 · source · release history
Gadget instance status visibility shipped Exposes the runtime state of running gadget instances for management and debugging. 1 release · first seen Nov 2025

release

  • Adds instance status support to gadget-service, enabling visibility into the state of running gadget instances. v0.46.0 · Nov 2025 · source · release history
TTY activity snooping shipped Captures terminal activity through a dedicated gadget for monitoring TTY events. 1 release · first seen Sep 2025

release

  • New ttysnoop gadget for snooping on TTY/terminal activity. v0.44.0 · Sep 2025 · source · release history
Real-time process resource monitoring shipped Provides a dedicated gadget for real-time per-process CPU and memory monitoring. 1 release · first seen Jun 2025

release

  • New top_process gadget via the process operator for real-time per-process resource monitoring. v0.41.0 · Jun 2025 · source · release history
Tool observability shipped Provides internal metrics infrastructure for monitoring the cyber tool's own health and performance. 1 release · first seen Jun 2025

release

  • Introduces internal metrics infrastructure for observability of Inspektor Gadget itself. v0.41.0 · Jun 2025 · source · release history
Gadget execution event export shipped Enables the export of gadget execution events as structured JSON for logging and downstream processing. 1 other source · first seen Aug 2023

Also counts toward: JSON data export

example

  • Export gadget execution events as JSON for downstream processing or logging. ig gadgets run --output json /path/to/gadget v0.19.0 · Aug 2023 · source
Gadget performance benchmarking shipped Publishes performance benchmark graphs in CI to track tool efficiency trends over time. 1 release · first seen Apr 2023

release

  • Publishes gadget benchmark graphs in CI to track performance trends across releases v0.15.0 · Apr 2023 · source · release history
High-precision timestamping shipped Provides nanosecond-precision timestamps for all trace events to improve temporal analysis accuracy. 1 release · first seen Feb 2023

release

  • Events from all gadgets now include timestamps with nano-precision for higher temporal accuracy v0.13.0 · Feb 2023 · source · release history
File I/O performance analysis shipped Traces file reads, writes, and fsync operations to identify slow file system activity. 1 release · first seen Apr 2022

Also counts toward: Command-line interface

release

  • Adds kubectl gadget trace fsslower command to trace open, read, write and fsync operations slower than a threshold v0.5.0 · Apr 2022 · source · release history
Kubernetes-native trace management shipped Manages trace execution lifecycle via a Kubernetes Custom Resource Definition (CRD). 1 release · first seen Sep 2021

release

  • Adds programmatic trace control through a new Trace CRD v0.3.0 · Sep 2021 · source · release history
Trace loop control shipped Allows users to disable the automatic trace logging loop via CLI flags. 1 release · first seen May 2020

release

  • Adds --disable-traceloop flag to disable the traceloop feature v0.1.0 · May 2020 · source · release history

Lines in monospace are the tool's own words: help text parsed from its source, or an endpoint from its API document. Under release, a line is our summary of a dated release. Under docs, it is quoted from the tool's own documentation or website. Each links back to the source it came from.

Media

Videos from the release notes, newest first. They play right here.

CVE-2026-25996 Feb 12, 2026

Score card

  1. Shipping velocity releases a month, last 12 months
  2. Documentation quality release-notes rubric, 0–100
  3. Breaking-change discipline how rarely a release breaks users, and notice given
  4. Maintenance risk quiet time against its own cadence, maintainers
  5. Innovation & surface new capabilities, API and MCP surface
  6. Community health
  7. Contributor trend distinct committers, this year against last
  8. Maintainer concentration bus factor now against a year ago
  9. Issue backlog trend issues closed per issue opened, 12 months
  10. Responsiveness median time to a maintainer’s first reply

Nine scores for Inspektor Gadget, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.

Score cards are part of every paid plan.

See plans →

Each score is 0–100 on a published rubric, derived from data this site already shows. A dimension we cannot measure says so — it is never scored 0 and never enters a rank.

How this is scored
  • Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
  • Documentation quality — the release-notes rubric published on the analytics page, unchanged.
  • Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
  • Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
  • Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
  • Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
  • Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
  • Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.

Release-note detail over time

See how much detail Inspektor Gadget puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.

Checking release-note history…

Explore the full chart →

Releases

Show

71 entries

  1. October 20261
  2. September 20263
  3. August 20265
  4. July 20261
  5. June 20263
  6. May 20261
  7. April 20261
  8. March 20262
  9. February 20262
  10. January 20262
  11. December 20251
  12. November 20251
  13. October 20251
  14. September 20251
  15. August 20251
  16. July 20251
  17. June 20251
  18. May 20251
  19. April 20251
  20. March 20251
  21. February 20251
  22. January 20251
  23. December 20241
  24. November 20241
  25. October 20241
  26. September 20241
  27. August 20241
  28. July 20241
  29. June 20241
  30. May 20241
  31. April 20241
  32. March 20241
  33. February 20241
  34. January 20241
  35. December 20231
  36. November 20231
  37. October 20231
  38. September 20231
  39. August 20231
  40. June 20231
  41. May 20231
  42. April 20231
  43. March 20231
  44. February 20231
  45. January 20231
  46. December 20221
  47. November 20221
  48. October 20221
  49. September 20221
  50. August 20222
  51. June 20222
  52. April 20221
  53. December 20211
  54. November 20211
  55. October 20211
  56. September 20211
  57. July 20201
  58. May 20201
    Show

    71 entries

    Project health

    Issue, contributor and maintainer activity in inspektor-gadget/inspektor-gadget, 2023-10 – 2026-09, as of 2026-09-25. Twelve-month figures first; the trend lines run the whole window.

    1. Contributors 44 −12 vs prior 12 months
    2. Maintainers 8 +3 joined · −3 left, last 12 months
    3. Bus factor 4 committers behind half the commits
    4. Community-filed 29% of issues opened, last 12 months
    5. Median time to close 100 days first maintainer reply 11 days
    6. Open backlog 305 of 1,228 issues ever filed
    1. Issues opened / month 2 · 0 communitymaintainers
    2. Open backlog 305
    3. Contributors / month 6
    4. Commits / month 20
    5. Stars 2,927
    Issue themes, last 12 months
    • bugs 2%
    • features 1%
    • docs 2%
    • other 95%

    Counts from the project's public repository and git history; no individuals are identified. Maintainers are the committers covering 80% of the last year's commits. how we measure this

    Libraries its release ships

    What its latest release locks, checked against known advisories.

    None of its release's images build from a lockfile we can read.

    Add the badge to your README

    Maintain this project? The badge links readers straight to this page, so they can follow every release here.

    Tracked by Cyber Toolchain Choose a badge style and copy the code →
    browse all tools → score card for your toolchain →