# Changelog ## v0.6.0-pre Hardware integration: SoapySDR CGO binding, IQ resampling, TX CLI mode. ### Added - CGO SoapySDR native driver (`internal/platform/soapysdr/native.go`) - Device enumerate, open, configure (frequency, gain, sample rate) - TX stream setup with CF32 format - writeStream with MTU-chunking and timeout - Activate/deactivate/close stream lifecycle - Build-tagged: `//go:build soapy` - Stub driver for non-CGO builds (`internal/platform/soapysdr/stub.go`) - `soapysdr.Available()` / `soapysdr.Enumerate()` API - IQ resampler (`dsp.ResampleIQ`) — composite→device rate via linear interpolation - CLI flags: `--tx`, `--tx-auto-start`, `--list-devices` - Signal handling (SIGINT/SIGTERM) for clean shutdown in TX mode - `txBridge` adapter connecting Engine to control plane TXController - PlutoSDR config example (`docs/config.plutosdr.json`) - Engine now resamples IQ to device rate when rates differ ### Build - Without hardware: `go build ./cmd/fmrtx` - With SoapySDR: `go build -tags soapy ./cmd/fmrtx` ## v0.5.0-pre [previous entries]