frieren

~ / frieren

a self-hosted git server in one binary — everyone reads, only the owner writes

chore(release): v0.3.0

0227b381a82416b5538da0d4be4fc122ccbb0b19

justin06lee · Aug 18, 2026 18:38 (2h ago)

 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",