Changelog
Installers — unified cross-platform release
Section titled “Installers — unified cross-platform release”- Shared install library (
lib/native-install.sh) — upgrade-safe installs (no manualchmod) - Windows installer — GUI wizard (
install-gui.ps1) + CLI (install.ps1) for WSL2 / Git Bash - Homebrew tap —
brew tap vowlang/tap && brew trust vowlang/tap && brew install vow - All platforms —
darwin-arm64,darwin-amd64,linux-amd64,linux-arm64tarballs oninstall.vowlang.dev
JSON — JavaScript-style objects and arrays
Section titled “JSON — JavaScript-style objects and arrays”Dynamic JSON in Vow now matches JavaScript ergonomics:
| Feature | Example |
|---|---|
| Object literals | { title: "hi", count: 42 } |
| Array literals | var xs: JsonValue = [{ id: 1 }, { id: 2 }] |
| Dot / bracket read | doc.title, doc["title"], arr[0] |
| Dot / bracket write | obj.title = "x", obj["n"] = 42 (primitives auto-wrap) |
| Helpers | json.get_string(doc, "title", "untitled") |
Import json from the stdlib. Full guide: JSON tutorial. Demo app: hello-app.
vow compiler — JsonValue globals, watch mode
Section titled “vow compiler — JsonValue globals, watch mode”- Global
JsonValueinitializers —var items: JsonValue = [...]now works at runtime (array/object literals are initialized beforemain) vow run --watch— delegates tovdsfor live reload during developmentvow runbinary isolation — each run uses a unique temp binary so recompiles do not stomp a running server
vow-serve 0.1.1 — vds live reload fixes
Section titled “vow-serve 0.1.1 — vds live reload fixes”vdsloadsgrants.tomlautomatically (same asvow run)- Restarts wait for the listen port to free before binding
- Kills the previous process cleanly on file change
vow-web-server 0.3.4 — accept loop fix (definitive)
Section titled “vow-web-server 0.3.4 — accept loop fix (definitive)”Fixed accept error code 2 — retrying log spam after the first page load. The single-threaded HTTP runtime now always sends Connection: close (no keep-alive reuse on one pending socket), and transient accept/bind failures retry inside C instead of bubbling to the Vow listen loop.
vow-web-server 0.3.3 — accept loop fix
Section titled “vow-web-server 0.3.3 — accept loop fix”Fixed a bug where idle HTTP keep-alive connections caused accept error code 2 — retrying log spam after the first page load. The runtime now retries transient accept failures internally; hello-app and other servers stay quiet while waiting for the next request.
vow-web-server 0.3.0 — Express-like API
Section titled “vow-web-server 0.3.0 — Express-like API”vow-web-server@0.3.0 ships an Express-aligned registration style while keeping the v0.2 immutable builder for existing projects.
New API
Section titled “New API”| Express | vow-web-server v0.3 |
|---|---|
express() |
server() |
express.Router() |
router() |
app.use(mw) |
use_middleware(app, mw) |
app.use('/api', router) |
use_middleware(app, "/api", router) |
express.json() / logger() / urlencoded() / cors() |
json() / logger() / urlencoded() / cors(origin) |
| Custom middleware | middleware(fn) + next(req) / halt(resp) |
app.get/post/… |
get(app, path, h) — reassign handle each step |
app.listen(port) |
serve(app, rt, port) |
Other changes
Section titled “Other changes”vow create my-api --web— scaffolds a packaged API withvow-web-server@0.3.0,/health+/hello, andgrants.toml- Route and middleware registration returns an updated handle — use
var app = vws.server(); app = vws.get(app, …)like Express reassignment patterns - Legacy
app()/use_log/mountAPI unchanged — no breaking changes for v0.2 projects
Docs: vow-web-server, HTTP API tutorial.
vow 0.1.0 — 2026-08-04
Section titled “vow 0.1.0 — 2026-08-04”First native release:
- C compiler at
lang/native/— zero Python underlang/ - Curl installer at
install.vowlang.dev(nativevow+vpm) - 30 packages on
vpm.vowlang.dev(29 libs + vow-web-server v0.2) - Async runtime, channels, mutexes, atomics, non-String map keys
- VS Code extension
vowlang.vow-langon the Marketplace - Bundled lld; static LLVM link for the
vowbinary
See the compiler CHANGELOG.md for full gate evidence.
vow-serve 0.1.0 — deployment tooling
Section titled “vow-serve 0.1.0 — deployment tooling”vpm add vow-serve -g— global install ofvow-serve,vs, andvds(vow-dev-server)- PM2-like
vow-serve list|start|stop|logswith registry at~/.vow/serve/ - Per-project
vow.serve.toml+ Docker/systemd templates viavow-serve init - Guide: Deploying vow-web-server
Authoritative status
Section titled “Authoritative status”| Artifact | What it is |
|---|---|
/status |
Site page built from status.json at build time |
Compiler STATUS.md |
Human audit table + security model notes |
Compiler status.json |
Machine-readable feature states and counts |
/BENCHMARKS.md |
Latest measured suite (native compiler) |
Re-run the compiler status audit, then npm run sync-metrics in this site, when you publish status updates.