Highlights since v2.0.0:
* Webhooks v2: per-webhook HTTP method, custom headers, Go text/template
body, GET/HEAD URL-query rendering, presets for Discord, Slack,
Mattermost, Teams, Telegram, ntfy, Pushover, TuneIn AIR, generic JSON,
and webhook.site. New now_playing event from the AutoDJ streamer.
Admin UI at /admin/webhooks with add/edit/delete, click-to-insert
placeholder helper, per-row Test button. Always-available variables
include .Event, .Timestamp, .UnixTimestamp, .Date, .Time, .Hostname,
.BaseURL, .Version, plus derived .MountURL and .PlayerURL when the
payload carries a mount.
* AutoDJ on_play_command: shell hook executed at track start with
TINYICE_ARTIST / TINYICE_TITLE / TINYICE_ALBUM / TINYICE_FILE /
TINYICE_MOUNT env vars (#20).
* Auto-updater removed entirely. Distros own the binary; manual install
of a new release is one line. -autoupdate flag and the auto_update /
update_url / checksum_url config fields are gone (existing JSON keys
load fine — encoding/json drops unknowns).
* Misc: HLS 1 s segments + master playlist, WHEP playback, viewer
counting + listening time, DVR window, branding & docs polish from
the beta line — see README "What's new in v2.1.0".