# Changelog

All notable changes to `sdr-rtltcp-discovery` are documented in this file.

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/spec/v2.0.0.html).

## [Unreleased]

## [0.1.0] - 2026-05-11

Initial release. Extracted from the `rtl-sdr` Rust application's
workspace (where it lived as `crates/sdr-rtltcp-discovery`) into a
standalone crate so other rtl_tcp tooling can reuse it.

### Added

- `Advertiser` — announces an `_rtl_tcp._tcp.local.` service on the
  local network. Servers (e.g. `sdr-server-rtltcp`) use it so clients
  can find them without hand-typing `host:port`.
- `Browser` — discovers `_rtl_tcp._tcp.local.` services, surfacing
  `DiscoveredServer` records (address, port, TXT metadata) via a
  `DiscoveryEvent` channel.
- `TxtRecord` — typed wrapper over the service's TXT-record schema
  (tuner family, advertiser version, gain-step count, nickname, and
  optional buffer-depth + codec-mask hints).
- `local_hostname()` — portable hostname lookup (`gethostname(3)` on
  Unix, `"localhost"` stub elsewhere) for the default advertised
  nickname.
- Pure-Rust mDNS-SD stack via `mdns-sd` — no Avahi / Bonjour system
  dependency, no async runtime.

[Unreleased]: https://github.com/jasonherald/sdr-rtltcp-discovery/compare/v0.1.0...HEAD
[0.1.0]: https://github.com/jasonherald/sdr-rtltcp-discovery/releases/tag/v0.1.0
