Skip to content
Andy Kemp Consulting

What's new#

The version number is shown next to the HAPMan name at the top of every page. To update, see Updating HAPMan.

v1.2.0#

  • Download and install from a zip. hapman.zip is on downloads.andykemp.com, so installing is curl, unzip and sudo ./install.sh. No git needed.
  • Set up Entra ID from Windows or Mac. Run New-HAPManApp.ps1 on your own machine. It creates the app and prints a HAPMAN1. setup code (also copied to your clipboard), which you paste into the installer. The installer warns if the code was made for a different hostname or port.
  • The script is also available on its own. -ShowValues prints the tenant ID, client ID and secret separately too.
  • Creating the app from the server (option 2) and entering values by hand (option 3) are still there as fallbacks.

v1.1.0#

  • One-run install. install.sh now does everything, including creating the Entra app registration from the server with a device code sign-in.
  • Secret expiry warning. HAPMan shows a banner 30 days before the Entra client secret expires, and Settings shows the expiry date. Rotate it with sudo ./install.sh --entra.
  • --entra option to set up or repair the Entra app and rotate the secret, without touching the hostname, port or certificate.
  • Fixed: applying failed with "no new privileges" under systemd. See Troubleshooting.
  • Fixed: New-HAPManApp.ps1 failing with "Assembly with same name is already loaded" when Graph modules of different versions were installed. It now loads them all at one version.
  • HAPMan's own port can no longer be 80 or 443.

v1.0.0#

First release.

  • HTTPS (SNI), HTTP (Host header) and TCP routes, with pools, balancing and TCP or HTTP(S) health checks.
  • Staged changes with a diff, validation, backup, graceful reload and automatic rollback.
  • History with one-click restore, and an audit log.
  • Live server status, with Drain and Maintenance.
  • Entra ID sign-in with an app role, running as an unprivileged service account with one sudo rule.
  • install.sh with --reconfigure, and --self-signed for a quick test.