Full Changelog: v1.1...v2.0
Release Notes — v1.1.0 (2025-12-20)
- Major internal refactor into a production-style Node.js layout (src modules + thin app.js entrypoint) with improved maintainability and separation of concerns.
- Backward compatible with existing config.yml certificate schema — no config migration required.
- Auto-creates config.yml and cache.json if missing, with safe defaults, so first-run setup is smoother.
- Hot-reloads config.yml and cache.json when they change on disk (no restart required to pick up edits).
- Updated caching policy:
- Refresh SRV records every 1 minute for domains accessed within the last 1 hour
- Refresh every 15 minutes for domains not accessed in the last hour (but accessed within 24 hours)
- Delete cache entries not accessed for more than 24 hours
- Cache file is backward compatible: old
{ target, port }entries still work and are upgraded with timestamps as the service runs. - Improved robustness/security:
- TLS minimum version set to TLS 1.2
- Added connection timeouts and safer error handling
- Atomic writes for cache.json to reduce risk of corruption on crash/restart
- Removed unused dependencies
- Added unit tests (non-network) for core logic: wildcard hostname matching, header injection, and cache policy decisions.
- Added build support via
pkg:npm run buildproduces standalone binaries for macOS and Linux (x64 + arm64/aarch64) in dist.
Upgrade Notes
- Existing config.yml continues to work as-is.
- Running the service will update cache.json to include timestamp fields for access/refresh tracking.