Skip to content

Commit cf911e6

Browse files
erdemgokselerdemgoksel
authored andcommitted
chore: update CHANGELOG for v0.2.2
1 parent fb5c054 commit cf911e6

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

CHANGELOG.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,31 @@
11
# Changelog
22

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.
19+
- `http_port` (top-level, default `3000`) — HTTP listen port.
20+
- `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`.
28+
329
## v0.2.1
430

531
Release date: 2026-03-26

0 commit comments

Comments
 (0)