You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+26Lines changed: 26 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,31 @@
1
1
# Changelog
2
2
3
+
## v0.2.2
4
+
5
+
Release date: 2026-03-26
6
+
7
+
### Breaking Changes
8
+
9
+
-**Multi-server TOML config**: the single `[server]` block is replaced by named `[server.NAME]` blocks. At least one named block is required. Old configs must be migrated.
10
+
-`proxy_port` removed. Replaced by top-level `http_port` (default: `3000`).
11
+
-`control_port` and `control_auth` moved from `[server]` to the TOML root (no section header).
12
+
13
+
### Added
14
+
15
+
-**Multi-server support**: multiple `[server.NAME]` blocks can be declared in a single config file. Each block is mounted as an independent Axum router entry.
16
+
-`bind_to` field on each server block:
17
+
-`"*"` (default) — catch-all fallback, registered last.
18
+
- Any path prefix (e.g. `"/api"`) — nested via `Router::nest`, registered longest-first so more-specific paths shadow shorter ones.
-`https_port` (top-level, optional) — HTTPS listen port. When set, `cert_path` and `key_path` are required.
21
+
-`cert_path` / `key_path` — PEM certificate and private key paths for HTTPS. TLS is served via `axum-server` with rustls (pure-Rust, no system dependencies).
22
+
- Startup validation: missing cert/key when `https_port` is set, or an empty `server` map, produce a clear error before the server starts.
23
+
-`control::create_control_router` now accepts `Vec<CacheHandle>`. A single `/refresh-cache` call invalidates all registered server caches.
24
+
25
+
### Changed
26
+
27
+
-**WebSocket / upgrade gating**: `enable_websocket = true` is now ignored in pure SSG mode (`proxy_mode = "pre_generate"` with `pre_generate_fallthrough = false`). Upgrade requests on such servers always return `501 Not Implemented` because there is no live backend to tunnel to. Upgrade support remains fully functional in Dynamic mode and PreGenerate mode with `fallthrough = true`.
0 commit comments