Files
EchoHub/docs/changelog/v0.2.8.md
T

2.2 KiB

v0.2.8

Bug Fixes

  • Fix memory leak — HttpResponseMessage objects never disposed in ApiClient, leaking TCP connections and content buffers on every API call (especially on failed connection attempts)
  • Fix 401 retry leak — AuthenticatedGetAsync/AuthenticatedRequestAsync leaked the original response when retrying after token refresh
  • Fix connection failure cleanup — ConnectionManager.ConnectAsync now properly disposes ApiClient and EchoHubConnection on any failure path (previously only cleaned up on saved-token auth failures)
  • Fix IRC gateway sending UTF-8 BOM on first message, breaking CAP negotiation and SASL auth for all clients
  • Handle AUTHENTICATE * (SASL abort) instead of crashing on invalid base64

New Features

  • Add Docker support for EchoHub.Server — docker compose up -d for easy self-hosting with persistent volume for database, uploads, and logs
  • IRC account creation — connecting with a new username auto-registers the account (PASS and SASL PLAIN)
  • Auto-updater rollback — pre-update backup created automatically before each update; restore via File > Rollback menu or --rollback CLI flag
  • Update failure recovery — if an update fails mid-extraction, offers to restore from the backup immediately
  • Defensive Unix permission check — verify execute permission on startup after auto-update (defense-in-depth)

Refactoring

  • Extract IUserService/UserService — consolidate user registration, authentication, and profile management into a dedicated service, eliminating duplicated logic between AuthController and ChatService
  • IRC gateway now checks ban status during authentication (previously skipped)

Distribution

  • Add Chocolatey package — choco install echohub for Windows users, auto-published from CI on each release
  • Add Linux/macOS install script — curl -sSfL .../install.sh | sh with automatic OS/arch detection

CI

  • Add Docker workflow — builds and pushes multi-arch (amd64/arm64) server image to GHCR on release
  • Add linux-arm64 builds to release pipeline — server and client binaries for ARM Linux (Raspberry Pi, cloud ARM instances)
  • Automate Chocolatey package publishing in release workflow (checksum calculation, pack, push)