The most relevant changes for this version are:
- gadgets: Initial bpftrace support by @mauriciovasquezbernal in #1370
- New gadget: trace tcpdrop by @alban in #1469
- New gadget: tcpretrans by @alban in #1561
Other changes are:
General Improvements
- go: bump github.com/containers/common from 0.51.1 to 0.51.2 by @dependabot in #1491
- go: bump github.com/docker/docker from 23.0.2+incompatible to 23.0.3+incompatible by @dependabot in #1494
- Use cilium/ebpf API to read overwritable perf buffers by @eiffel-fl in #1461
- go: bump golang.org/x/term from 0.6.0 to 0.7.0 by @dependabot in #1495
- go: bump github.com/moby/moby from 23.0.2+incompatible to 23.0.3+incompatible by @dependabot in #1496
- go: bump github.com/spf13/cobra from 1.6.1 to 1.7.0 by @dependabot in #1498
- go: bump golang.org/x/text from 0.8.0 to 0.9.0 by @dependabot in #1500
- gadgets/snapshot/socket: Remove unneeded validation by @mauriciovasquezbernal in #1486
- use k8s.io/cri-api v0.25.x by @mauriciovasquezbernal in #1485
- Dockerfile: Use golang:1.19 as builder image. by @eiffel-fl in #1502
- go: bump github.com/containers/common from 0.51.2 to 0.52.0 by @dependabot in #1505
- kubeipresolver: refactor in preparation for use in tcpdrop by @alban in #1518
- cmd: add --output=yaml,jsonpretty by @alban in #1326
- ig,kubectl-gadget: clean up blank imports by @alban in #1511
- Implement node enrichment in grpc runtime by @mauriciovasquezbernal in #1516
- Add
pstree
like output tosnapshot process
by @eiffel-fl in #1235 - registry: Make mandatory parameters required cmd flags by @mauriciovasquezbernal in #1528
- go: bump k8s.io/apiextensions-apiserver from 0.26.3 to 0.27.0 by @dependabot in #1520
- go: bump k8s.io/api from 0.26.3 to 0.27.1 by @dependabot in #1533
- go: bump k8s.io/cli-runtime from 0.26.3 to 0.27.1 by @dependabot in #1535
- cri: Support CRI API v1/v1alpha2 simultaneously by @mqasimsarfraz in #1538
- go: bump k8s.io/code-generator from 0.27.0 to 0.27.1 by @dependabot in #1541
- go: bump github.com/opencontainers/runtime-spec from 1.1.0-rc.1 to 1.1.0-rc.2 by @dependabot in #1543
- go: bump github.com/moby/moby from 23.0.3+incompatible to 23.0.4+incompatible by @dependabot in #1544
- go: bump k8s.io/apiextensions-apiserver from 0.27.0 to 0.27.1 by @dependabot in #1542
- go: bump sigs.k8s.io/security-profiles-operator from 0.7.1 to 0.8.0 by @dependabot in #1545
- tcpdrop: use socket enricher and kubeipresolver by @alban in #1499
- go: bump github.com/docker/docker from 23.0.3+incompatible to 23.0.4+incompatible by @dependabot in #1552
- go: Update cri-api to v0.27.1 by @mqasimsarfraz in #1553
- pkg/histogram: Create new package for all gadgets using histograms by @blanquicet in #1549
- Use cross-built image to provide
bpftrace
by @eiffel-fl in #1563 - ci: bump aquasecurity/trivy-action from 0.9.2 to 0.10.0 by @dependabot in #1564
- Add specific targets to cross build images by @eiffel-fl in #1547
- Polish traceloop code by @eiffel-fl in #1524
- tree-wide: Rename UID fields to Uid by @mauriciovasquezbernal in #1555
- snapshot/process: Add user information by @mauriciovasquezbernal in #1556
- tcpdrop: get netns from struct sock by @alban in #1562
- gadgets: Introduce IPVerFromAF() helper by @mauriciovasquezbernal in #1560
- gadgets: Update vmlinux.h by @mauriciovasquezbernal in #1575
- go: bump github.com/moby/moby from 23.0.4+incompatible to 23.0.5+incompatible by @dependabot in #1581
- go: bump github.com/containers/common from 0.52.0 to 0.53.0 by @dependabot in #1582
- go: bump github.com/docker/docker from 23.0.4+incompatible to 23.0.5+incompatible by @dependabot in #1583
- socket enricher: distinguish active and passive sockets by @alban in #1576
- gadgets: Extend tcpconnect to provide latency information by @mauriciovasquezbernal in #1574
Bug Fixes
- cmd/kubectl-gadget/advise: add locks to writes for policy output by @flyth in #1489
- pkg/ig-manager: Check ig manager is run as root. by @eiffel-fl in #1492
- Show error for bpftrace when not running on amd64 by @mauriciovasquezbernal in #1531
- socket-enricher: fix compilation warnings by @alban in #1586
Documentation Improvements
- README: Fix missing ref by @mauriciovasquezbernal in #1529
- docs: add unit tests requirements by @claudiamarcubina in #1571
- docs: tcpdrop: cleanups by @alban in #1584
Statistics
Compared to v0.15.0, we modified 206 files to add 248320 lines of code and remove 156326.
This huge amount of modified lines is the result of updating vmlinux.h
in #1575.
As today, Inspektor Gadget relies on the following languages:
Language | files | blank | comment | code |
---|---|---|---|---|
C/C++ Header | 38 | 33196 | 348 | 249948 |
Go | 465 | 11396 | 11398 | 84989 |
Markdown | 83 | 1614 | 0 | 5770 |
SVG | 8 | 1 | 2 | 5143 |
C | 30 | 823 | 507 | 3411 |
YAML | 49 | 87 | 222 | 2427 |
Protocol Buffers | 2 | 180 | 785 | 731 |
make | 14 | 121 | 56 | 505 |
Bourne Shell | 24 | 122 | 200 | 377 |
Dockerfile | 13 | 65 | 71 | 187 |
Perl | 1 | 18 | 13 | 54 |
JSON | 3 | 0 | 0 | 45 |
Bourne Again Shell | 1 | 4 | 3 | 16 |
-------- | -------- | -------- | -------- | -------- |
SUM: | 731 | 47627 | 13605 | 353603 |
Full Changelog: v0.15.0...v0.16.0