Changelog
All notable changes to shithub are documented here. This project follows Keep a Changelog conventions and Semantic Versioning.
Pre-1.0 versioning: minor versions may break the API. The stability contract begins at v1.0.0; until then, expect changes between minor releases.
Unreleased
(Empty — first post-launch entries land here.)
0.1.0 — TBD (operator fills in cutover date)
The first public release of shithub. Pre-1.0: there is no backward-compatibility promise yet. Migrations are forward-only; schema may change between minor versions.
Initial public surface
- Identity — signup, email verification, password reset, TOTP 2FA + recovery codes, SSH keys, scoped PATs, sessions with per-account epoch invalidation.
- Repositories — create, fork, archive, transfer, soft-delete with grace, rename with redirects, visibility toggles, branch protection, default-branch swap, topics, README/license/ .gitignore templates.
- Git — bare repos on disk; HTTPS smart-HTTP push/pull; pre/post-receive hook integration.
- Code browsing — tree, blob (chroma syntax highlighting), raw, blame, commit history, individual commit views, branch/tag listings, compare views, file finder.
- Issues + PRs — full CRUD; reviews; required-reviewer enforcement; status-check gates; three merge methods.
- Social — stars, watches, forks,
/explore, stargazer/ watcher lists. - Search — code, repo, user, issue.
- Notifications — in-app inbox, email fan-out, one-click unsubscribe.
- Orgs + teams — roles, invitations, one-level nesting, max-of-sources policy.
- Webhooks — HMAC-signed delivery, exponential backoff, auto-disable, SSRF defense, redelivery UI.
- Observability — structured logs, Prometheus metrics, optional OTel tracing, Sentry-protocol error reporting.
- Operations — Ansible playbook, systemd units, Caddy edge, WireGuard mesh for monitoring, Postgres WAL archive + daily logical backups to Spaces, cross-region DR, restore drill.
- Public landing page on
/for anonymous viewers; signed-in viewers get a quick-link dashboard. - Lightweight status page at
docs.<host>/status.html. - Cutover artifacts under
deploy/cutover/. - Public docs site built with mdBook.
- Operator runbooks for incidents, backups, restore, upgrade, rollback, rotate-secrets, rotate-keys, regenerate-akc, drain-workers, read-only-mode, day-one.
- a11y tooling (pa11y + axe) and k6 load-test scenarios.
- THIRD_PARTY_NOTICES.md with a CI-verified generator.
Known gaps at v0.1.0
- SSH git transport (HTTPS only)
- Actions / CI runner
- Packages, Releases, Pages, Projects, Gists
- GraphQL API (only a small REST surface today)
- Activity feed UI
These are all on the post-MVP roadmap.
View source
| 1 | # Changelog |
| 2 | |
| 3 | All notable changes to shithub are documented here. This project |
| 4 | follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) |
| 5 | conventions and [Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
| 6 | |
| 7 | Pre-1.0 versioning: minor versions may break the API. The |
| 8 | stability contract begins at v1.0.0; until then, expect changes |
| 9 | between minor releases. |
| 10 | |
| 11 | ## [Unreleased] |
| 12 | |
| 13 | (Empty — first post-launch entries land here.) |
| 14 | |
| 15 | ## [0.1.0] — TBD (operator fills in cutover date) |
| 16 | |
| 17 | The first public release of shithub. Pre-1.0: there is no |
| 18 | backward-compatibility promise yet. Migrations are forward-only; |
| 19 | schema may change between minor versions. |
| 20 | |
| 21 | ### Initial public surface |
| 22 | |
| 23 | - **Identity** — signup, email verification, password reset, TOTP |
| 24 | 2FA + recovery codes, SSH keys, scoped PATs, sessions with |
| 25 | per-account epoch invalidation. |
| 26 | - **Repositories** — create, fork, archive, transfer, soft-delete |
| 27 | with grace, rename with redirects, visibility toggles, branch |
| 28 | protection, default-branch swap, topics, README/license/ |
| 29 | .gitignore templates. |
| 30 | - **Git** — bare repos on disk; HTTPS smart-HTTP push/pull; |
| 31 | pre/post-receive hook integration. |
| 32 | - **Code browsing** — tree, blob (chroma syntax highlighting), |
| 33 | raw, blame, commit history, individual commit views, branch/tag |
| 34 | listings, compare views, file finder. |
| 35 | - **Issues + PRs** — full CRUD; reviews; required-reviewer |
| 36 | enforcement; status-check gates; three merge methods. |
| 37 | - **Social** — stars, watches, forks, `/explore`, stargazer/ |
| 38 | watcher lists. |
| 39 | - **Search** — code, repo, user, issue. |
| 40 | - **Notifications** — in-app inbox, email fan-out, one-click |
| 41 | unsubscribe. |
| 42 | - **Orgs + teams** — roles, invitations, one-level nesting, |
| 43 | max-of-sources policy. |
| 44 | - **Webhooks** — HMAC-signed delivery, exponential backoff, |
| 45 | auto-disable, SSRF defense, redelivery UI. |
| 46 | - **Observability** — structured logs, Prometheus metrics, |
| 47 | optional OTel tracing, Sentry-protocol error reporting. |
| 48 | - **Operations** — Ansible playbook, systemd units, Caddy edge, |
| 49 | WireGuard mesh for monitoring, Postgres WAL archive + daily |
| 50 | logical backups to Spaces, cross-region DR, restore drill. |
| 51 | - **Public landing page** on `/` for anonymous viewers; signed-in |
| 52 | viewers get a quick-link dashboard. |
| 53 | - **Lightweight status page** at `docs.<host>/status.html`. |
| 54 | - **Cutover artifacts** under `deploy/cutover/`. |
| 55 | - **Public docs site** built with mdBook. |
| 56 | - **Operator runbooks** for incidents, backups, restore, upgrade, |
| 57 | rollback, rotate-secrets, rotate-keys, regenerate-akc, |
| 58 | drain-workers, read-only-mode, day-one. |
| 59 | - **a11y tooling** (pa11y + axe) and **k6 load-test scenarios**. |
| 60 | - **THIRD_PARTY_NOTICES.md** with a CI-verified generator. |
| 61 | |
| 62 | ### Known gaps at v0.1.0 |
| 63 | |
| 64 | - SSH git transport (HTTPS only) |
| 65 | - Actions / CI runner |
| 66 | - Packages, Releases, Pages, Projects, Gists |
| 67 | - GraphQL API (only a small REST surface today) |
| 68 | - Activity feed UI |
| 69 | |
| 70 | These are all on the post-MVP roadmap. |
| 71 | |
| 72 | [Unreleased]: https://shithub.sh/shithub/shithub/compare/v0.1.0...trunk |
| 73 | [0.1.0]: https://shithub.sh/shithub/shithub/releases/tag/v0.1.0 |