The most relevant changes for this version are:
- New gadget: profile tcprtt by @blanquicet in #1517
- Add support for crun and podman by @alban in #1532
- Don't use hostNetwork=true by @alban in #1648
- Prometheus: Implement metrics collection in user space by @mauriciovasquezbernal in #1620
Other changes are:
General Improvements
- Check version at runtime for
profile block-ioby @eiffel-fl in #1588 - pkg/gadgets: Compute insetid and audit directly from eBPF for capabilities by @eiffel-fl in #1493
- socket enricher: initial sockets and delayed socket deletion by @alban in #1593
- runcfanotify: add missing /host for pid file by @alban in #1605
- pkg/types: Create ip version column template by @blanquicet in #1619
- Allow hiding columns based on selected features / parameters by @flyth in #1587
- Access /proc via $HOST_ROOT by @alban in #1659
- Registry/Columns: Read from file + new
bytestype by @burak-ok in #1656 - pkg: Unwrap verifier error. by @eiffel-fl in #1621
- tree-wide: Do not use fail to, error prefixes in error messages by @mauriciovasquezbernal in #1657
- Add MAINTAINERS.md file by @blixtra in #1667
- dependencies: Remove replace for protobuf by @mauriciovasquezbernal in #1649
- Simplify
igbuild process by @eiffel-fl in #1554 - pkg/columns: add support for embedded struct handling, optimize raw access by @flyth in #1664
- gadget/top: Print first header columns only when frontend is a terminal by @blanquicet in #1676
- Makefile: automatically push on cross-gadget-default-container by @alban in #1694
- socket enricher: add socket earlier at tcp_connect by @alban in #1636
- Remove
ig-builder.Dockerfileby @eiffel-fl in #1674 - logs: Print ig warnings only with custom config by @mqasimsarfraz in #1670
- gadgets: Add gid in generated events by @mauriciovasquezbernal in #1666
- trace/exec: Add loginuid field by @mauriciovasquezbernal in #1704
- trace/exec: Add sessionId by @mauriciovasquezbernal in #1705
- columns: Support prefix when using templates by @blanquicet in #1698
- socket enricher: add support for IPv6 by @alban in #1680
- Add arguments for trace exec on arm64 by @eiffel-fl in #1701
Bug Fixes
Documentation Improvements
- Add figure depicting all gadgets to README by @eiffel-fl in #1293
- docs/devel/release-process.md: add post-release instructions by @alban in #1608
- design: Add prometheus design doc by @mauriciovasquezbernal in #1592
- Fully document filtering operators by @mauriciovasquezbernal in #1622
- docs/devel/release-process.md: add vscode-aks-tools by @alban in #1618
- docs: installation on minikube by @alban in #1629
- docs: CONTRIBUTING.md: profiling benchmarks by @alban in #1628
- docs: Fix link in prometheus design by @mauriciovasquezbernal in #1689
- docs: oomkill: fix typo by @alban in #1691
Testing and Continue Integration
- ci: Use ref_name to name release. by @eiffel-fl in #1617
- GitHub Action: use shorter names by @alban in #1633
- gha: Remove uneeded steps for CVE scanning by @mauriciovasquezbernal in #1651
- ci: Ignore unfixed CVEs by @mauriciovasquezbernal in #1641
- ci: Add missing semgrep file by @mauriciovasquezbernal in #1671
- Fix some small ig doc copy and paste issues by @blixtra in #1690
- integration: Add a delay before terminating container for TestPrometheus by @mqasimsarfraz in #1699
- test/helpers: Use stretchr/testify by @mauriciovasquezbernal in #1703
- integration: Use cmpopts.IgnoreUnexported for cmp.Diff by @mqasimsarfraz in #1706
Statistics
In this release, we modified 345 files which resulted in addition of 9451 lines and removal of 3070 with regard to v0.16.0.
We added a new gadget as well as support to prometheus metric, which explain the highest number of added lines.
Inspektor Gadget is built on top of the following languages:
| Language | files | blank | comment | code |
|---|---|---|---|---|
| C/C++ Header | 40 | 33219 | 370 | 250062 |
| Go | 487 | 11934 | 11928 | 88702 |
| Markdown | 87 | 1842 | 0 | 6706 |
| SVG | 8 | 1 | 2 | 5177 |
| C | 31 | 834 | 564 | 3421 |
| YAML | 53 | 98 | 225 | 2572 |
| Protocol Buffers | 2 | 180 | 785 | 731 |
| make | 12 | 119 | 56 | 500 |
| Bourne Shell | 24 | 122 | 200 | 377 |
| Dockerfile | 12 | 72 | 66 | 211 |
| Perl | 1 | 18 | 13 | 54 |
| JSON | 3 | 0 | 0 | 45 |
| Bourne Again Shell | 1 | 4 | 3 | 16 |
| -------- | -------- | -------- | -------- | -------- |
| SUM: | 761 | 48443 | 14212 | 358574 |
Full Changelog: v0.16.0...v0.17.0