Fixes API drift (Init/Sync no longer take a force arg) and adds the
recommended sync/dataset pattern alongside the manual atomic.Pointer
fallbacks for both gitshallow and httpcache.
New package for fetching files from HTTP with conditional-GET semantics
and a sidecar metadata file that persists ETag/Last-Modified across
restarts. Splits connection vs download timeouts, supports custom auth
headers (stripped on cross-origin redirect), and exposes sentinel errors
for callers branching on failure mode. Integration tests included.
New package for keeping a local mirror of a remote git repo via shallow
fetch+reset (not pull --ff-only, which loses force-pushed history). Adds
MaxAge gate via FETCH_HEAD mtime to skip redundant network calls under
concurrent callers, and a git-shallow-sync CLI. Includes integration
tests plus a force-push regression test.
New package for matching IPs against cohort lists (single IPs and
networks, in separate files or combined) with inbound/outbound/whitelist
semantics. Supports the bitwire-it/ipblocklist data shape out of the box
and is meant to be paired with gitshallow or httpcache for periodic
refresh. Includes README, ipcohort-contains CLI, and tests.