Skip to content

Release v2.0.0

Latest

Choose a tag to compare

@MJDaws0n MJDaws0n released this 20 Dec 13:03
· 3 commits to main since this release

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 build produces 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.