a self-hosted git server in one binary — everyone reads, only the owner writes
CHANGELOG.md | 29 +++++++++++++++++++++++++++++
web/package.json | 2 +-
2 files changed, 30 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 0000000..4c94ca7
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,29 @@
+# Changelog
+
+## v0.3.0 — 2026-08-18
+
+- `web`: `/api/health` endpoint on the deployed site — reports whether the
+ server-side fetch to the backend works and how fast; first stop when the
+ offline card shows.
+- First public release on GitHub. The reference deployment runs at
+ [frieren.tenet.sh](https://frieren.tenet.sh), reading
+ [git.tenet.sh](https://git.tenet.sh).
+
+## v0.2.0 — 2026-08-18
+
+- Read-only JSON API under `/api` for external frontends: repos, trees,
+ blobs, READMEs, commit logs, single commits with patches, refs.
+- `web/`: Next.js frontend — serif hero and repo grid, shiki-highlighted
+ files, rendered READMEs (sanitized HTML, relative images rewritten to the
+ raw endpoint), parsed per-file diffs with dual line numbers, graceful
+ offline state.
+- Raw endpoint serves real media content types so README images render.
+
+## v0.1.0 — 2026-08-18
+
+- Single-binary git server: smart HTTP clone/fetch for anyone, push gated
+ behind the owner token, push-to-create repositories.
+- Built-in read-only web UI: repo list, file trees, blobs, commits, diffs,
+ refs.
+- Zero dependencies beyond the Go standard library and the git binary.
+- Deploy examples: hardened systemd unit, Caddyfile.
diff --git a/web/package.json b/web/package.json
index 4c96536..7712908 100644
--- a/web/package.json
+++ b/web/package.json
@@ -1,6 +1,6 @@
{
"name": "web",
- "version": "0.1.0",
+ "version": "0.3.0",
"private": true,
"scripts": {
"dev": "next dev",