Added
- Pull mirrors — scheduled sync from another Git host, a read-only guard, and credentials sealed with security.secret_key.
- Edit, rename, and delete files straight from the code browser, plus a file tree that stays on blob pages.
- Syntax highlighting with per-user code themes, and a create-a-fork page with owner, name, and default-branch options.
- Password reset by email with a CLI fallback, a reset-2fa command for locked-out operators, and reset links issued from the admin user page.
- Admin user management — suspend accounts everywhere they sign in.
- Avatar uploads on local disk or any S3-compatible storage.
- Close issues from closing keywords in commits and pull requests.
- Prometheus metrics on a separate listener, plus /healthz and /readyz probes and a Docker HEALTHCHECK.
- API rate limits per user and per IP, configurable per resource.
- A Checks tab of commit statuses replaces the Actions mockup.
Fixed
- Private repositories now answer pages, code search, and Git requests exactly like a missing repo.
- Webhooks refuse private addresses at dial time; SSH refuses a key already registered as a deploy key (and vice versa).
- Required status checks are evaluated against, and merge, the head commit that passed.
- Code browser: annotated tags, nested file-tree filter, escaped refs and paths, and branch switching for refs like feature/x.
- Settings forms show save errors instead of a stale success toast; the footer shows the real build version.