git-annex 10.20240731 released with these changes

  • New HTTP API that is equivilant to the P2P protocol.
  • New p2phttp command to serve the HTTP API.
  • annex+http and annex+https urls can be configured for remote.name.annexUrl to use the HTTP API to communicate with a server. This supports writable repositories, as well as accessing clusters and proxied remotes over HTTP.
  • When a http remote has annex.url set to an annex+http url in the git config file on the website, it will be copied into remote.name.annexUrl the first time git-annex uses the remote.
  • assistant: Fix a race condition that could cause a pointer file to get ingested into the annex.
  • Avoid potential data loss in unlikely situations where git-annex-shell or git-annex remotedaemon is killed while locking a key to prevent its removal.
  • When proxying a download from a special remote, avoid unncessary hashing.
  • When proxying an upload to a special remote, verify the hash.
  • Propagate --force to git-annex transferrer.
  • Added a build flag for servant, enabling annex+http urls and git-annex p2phttp.
  • Added a dependency on the haskell clock library.
  • Updated stack.yaml to nightly-2024-07-29.