# Changelog
All notable changes to this project are documented here. The format is
based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and
this project adheres to [Semantic Versioning](https://semver.org/).
## [Unreleased]
### Added
- `--har` flag to dump captured exchanges as a HAR 1.2 archive on exit.
- Experimental HTTP/2 frame printer (visible via `--show-h2-frames`).
### Fixed
- Ring buffer reader no longer panics when the kernel drops events
during very bursty traffic.
## [0.8.2] - 2024-11-08
### Fixed
- Chunked transfer-encoding streams where a chunk size line straddled
two reads were sometimes dropped.
- `--name` matching is now case-insensitive on the binary basename.
## [0.8.1] - 2024-10-17
### Added
- Viewport scroll keybindings: `ctrl-d` / `ctrl-u` half page, `g` / `G`
jump to top/bottom.
- `y` copies the selected request to the clipboard as a `curl` command.
### Changed
- Selection bar uses an inverted colour rather than a leading `>` so
alignment stays stable when the list is filtered.
## [0.8.0] - 2024-09-02
### Changed
- Replaced the hand-rolled BPF loader with `github.com/cilium/ebpf`.
This brings proper arm64 support and drops the vendored copy of
`libbpf`.
### Removed
- `third_party/libbpf` vendor tree.
## [0.7.0] - 2024-07-14
### Added
- Header names are normalised to canonical casing before display, so
`content-type` and `Content-Type` render identically.
- `--no-tui` emits one request line per event to stdout, useful in CI.
## [0.6.0] - 2024-05-30
### Added
- `--pid` may be repeated to attach to several processes at once.
- `--follow-forks` opts into tracing child processes as they appear.
### Fixed
- Do not leak the perf event FD when attach fails partway through.
## [0.5.0] - 2024-03-11
### Added
- Per-request timings (DNS excluded; from first byte sent to last byte
received).
- Status colour: 2xx green, 3xx cyan, 4xx yellow, 5xx red.
## [0.4.0] - 2023-12-02
### Added
- Attach probe for Go's `crypto/tls.(*Conn).Write`, resolved from the
binary's DWARF/symtab.
## [0.3.0] - 2023-10-14
### Added
- GnuTLS support (`gnutls_record_send`, `gnutls_record_recv`).
## [0.2.0] - 2023-08-25
### Added
- First working uretprobe on OpenSSL `SSL_read` and `SSL_write`; the
TUI was still a TODO.
## [0.1.0] - 2023-04-19
### Added
- Project skeleton, Makefile, CI, MIT license, first commit.
[Unreleased]: https://mercemay.top/src/httptap/compare/v0.8.2...HEAD
[0.8.2]: https://mercemay.top/src/httptap/compare/v0.8.1...v0.8.2
[0.8.1]: https://mercemay.top/src/httptap/compare/v0.8.0...v0.8.1
[0.8.0]: https://mercemay.top/src/httptap/compare/v0.7.0...v0.8.0
[0.7.0]: https://mercemay.top/src/httptap/compare/v0.6.0...v0.7.0
[0.6.0]: https://mercemay.top/src/httptap/compare/v0.5.0...v0.6.0
[0.5.0]: https://mercemay.top/src/httptap/compare/v0.4.0...v0.5.0
[0.4.0]: https://mercemay.top/src/httptap/compare/v0.3.0...v0.4.0
[0.3.0]: https://mercemay.top/src/httptap/compare/v0.2.0...v0.3.0
[0.2.0]: https://mercemay.top/src/httptap/compare/v0.1.0...v0.2.0
[0.1.0]: https://mercemay.top/src/httptap/releases/tag/v0.1.0