HGKeeper 2.0.0 has been released!

After much delay HGKeeper 2.0.0 has been released!

This release has two breaking changes.

First off, the site.hgrc file is no longer supported.

Second, when using the authorized-keys command with OpenSSH, you need to specify %t %k as the arguments, instead of %f. See the example below.

hgkeeper authorized-keys "%t %k"


  • Add support for specifying which mercurial executable to use (Gary Kramlich)
  • Do not execute server hooks without write permission (RR 2400) (André Klitzing)
  • Replace logrus with zap logging (RR 2413) (André Klitzing)
  • Use WalkDir as it is more efficient (RR 2415) (André Klitzing)
  • Fix wrong parameter of ssh-keygen (RR 2418) (André Klitzing)
  • Use correct HGK_SSH_HOST_KEYS_PATH (RR 2419) (André Klitzing)
  • Add kong.NoDefaultHelp() option (RR 2420) (André Klitzing)
  • Add logging of permission (RR 2425) (André Klitzing)
  • Fix on-demand logging (RR 2428) (André Klitzing)
  • Use logging for “serve” only (RR 2433) (André Klitzing)
  • Make sure we have our test dependencies (Gary Kramlich)
  • Use --repos-path to generate on-demand cmdline (RR 2429) (André Klitzing)
  • Refactor refresh of repositories (RR 2434) (André Klitzing)
  • Do not allow repositories in a repository (RR 2423) (André Klitzing)
  • Eval symlink of repository directory (RR 2437) (André Klitzing)
  • Introduce “rm ” command (RR 2421) (André Klitzing)
  • Deny invalid path (RR 2422) (André Klitzing)
  • Pass absolute path since we already have it (RR 2424) (André Klitzing)
  • Fix the unit tests (Gary Kramlich)
  • Replace ioutils as it is deprecated since go 1.17 (RR 2444) (André Klitzing)
  • Sort repositories for hgweb (RR 2445) (André Klitzing)
  • Remove unused environment variable (RR 2447) (André Klitzing)
  • Remove temporary hgweb config file (RR 2451) (André Klitzing)
  • Use Alpine for Dockerfile (RR 2454) (André Klitzing)
  • Put the docs in a zip file when generating them (Gary Kramlich)
  • Refactor to use key directly instead of fingerprint (RR 2449) (André Klitzing)
  • Add support to fetch username from LDAP (RR 2450) (André Klitzing)
  • Remove support of “site.hgrc” (RR 2498) (André Klitzing)
  • Add support for a robots.txt file in the root of the admin repo (Gary Kramlich)
  • Add curl and ca-certificates which are useful for hooks (Gary Kramlich)
  • Fix installing python packages via pip (Gary Kramlich)
  • Use Go 1.22 and update dependencies (RR 2949) (André Klitzing)
  • Stick with Alpine 3.19 (RR 3213) (André Klitzing)
  • Update all dependencies (RR 3214) (André Klitzing)
  • Update the openssh example (Gary Kramlich)
  • Fix a number of issues with the docs (Gary Kramlich)
  • Update golang 1.22 to build the binaries (Gary Kramlich)
1 Like