This file tracks DEADWIRE HTTPD milestones. The older changelog stopped at the v0.1.0 baseline even though the repository has already advanced to the v1.3 line and now points toward V2 native-runtime work.
V2 native runtime foundation.
- Fixed V2 lane-shape verifier for the opt-in runtime path.
- V2 mode probe, handle probe, run-lanes probe, and final build/run gate are now chained through
make verify-triple-thread. - Opt-in V2 runtime build path now reaches
build/deadwire_v2_runtime.exefrom the triple-thread verification chain. - V2 boot context now aligns with the current fixed-lane shape.
- Split the server runtime boundary from platform backend details.
- Define assembly-call ABI boundaries for startup, sockets, request parsing, file I/O, response writing, and shutdown.
- Add a verification gate for the runtime/backend split before changing HTTP behavior.
- Preserve V1.3.0 default behavior while V2 scaffolding is introduced.
- Keep moving the opt-in V2 runtime toward supervisor + acceptor + HTTP engine topology.
- No concurrency, scalability, or speed claim without benchmark evidence.
- The V2 lane target is fixed topology, not thread-per-connection and not a generic worker-pool claim.
- No TLS, CGI, third-party HTTP parser, async framework, or public internet hardening claim in this track.
- Keep the default binary safe and close-after-response unless an opt-in build flavor is explicitly selected.
Stable opt-in keep-alive build flavor and native benchmark evidence.
- Stable Windows keep-alive build flavor:
build/deadwire_keepalive.exe. - Dedicated keep-alive verification target.
- Same-session native benchmark comparison between quiet close-after-response mode and keep-alive mode.
- Guardrail probe proving the default binary remains close-after-response.
- V2 native runtime parity roadmap.
- Keep-alive is a connection-reuse win, not a concurrency feature.
- The default binary remains the close-after-response server.
- V2 work starts after this release by introducing a runtime boundary without changing behavior.
Native benchmark and quiet-server measurement track.
- Native benchmark harness targets for health, missing-file, static-file, and index routes.
- Quiet access-log-off benchmark build flavor for cleaner server-side measurement.
- Longer request-count benchmark paths for steadier local measurements.
- Cost-focused route benchmarks for
/health,/missing-bench.txt,/hello.txt, and/.
- Benchmark output is documentation evidence, not marketing proof.
- Same-session comparisons are preferred when comparing server modes.
Core hardening milestone.
- Request parser generation hardening.
- Parser verification wiring.
- Response correctness verification.
- Windows path hardening verification.
- Hardening fixes for trailing-dot and path-edge behavior.
Stable static-file core.
- Static-file server behavior promoted beyond early v0.x scaffolding.
GETandHEADbehavior in the documented product scope.- Explicit public root:
public/. - Default bind remains safe:
127.0.0.1:18080. - Blocking single-threaded server path remains the default architecture.
Verification and platform-surface expansion.
- Structured verification scripts for parser, response, Windows path behavior, generated I/O, request handling, preflight checks, quiet builds, and bad arguments.
- Platform build surface for Windows, Linux, and Darwin/macOS.
- Make targets for build, doctor, verify, run, and benchmark workflows.
Configurable bind address milestone.
- Optional bind address argument.
- Supported bind forms:
127.0.0.1and0.0.0.0. - Verification for localhost bind and any-address bind behavior.
- Default bind remains
127.0.0.1. 0.0.0.0is explicit opt-in behavior.
Configurable port milestone.
- Optional Windows command-line port argument.
- Default port remains
18080. deadwire.exe 19090binds127.0.0.1:19090.- Invalid port exits before server setup.
- Verification for default and custom port paths.
- Valid port range:
1..65535. - Bind address defaults to
127.0.0.1.
Initial native assembly HTTP server.
- Windows x86-64 backend using WinSock2 + Kernel32.
- Linux x86-64 backend using raw syscalls.
- Static file serving from
public/. /health,/,/hello.txt, and/style.cssverification.- MIME headers for common static file types.
- Method rejection, path guard, missing-file response, and access log lines.
- GitHub Actions matrix for Linux and Windows verification.
- Fixed port:
18080. - Fixed bind address:
127.0.0.1. - Blocking single-client-at-a-time accept loop.
- HTTP/1.0 response style.
- No TLS, keep-alive, chunked encoding, directory listing, or percent-decoding.