Skip to content

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 22 Aug 19:04
ed3ad0f

See CHANGELOG.md for the full release notes.

What's Changed

  • Server performance: two syscalls per request, +24% throughput by @codetalcott in #33
  • CI: cap job and apt-step runtime so a stall fails fast by @codetalcott in #34
  • Store headers as spans into a flat buffer, not a Dict: +72% throughput by @codetalcott in #35
  • Test Headers directly, and re-measure what it bought the WSGI path by @codetalcott in #36
  • Place one stream per worker deterministically, not by winning accept races by @codetalcott in #37
  • Answer request bodies that need a second read, instead of 408ing by @codetalcott in #38
  • Let request cookies reach the application by @codetalcott in #39
  • m0-sqlite: fix a segfault, bound column reads, and make the vtab offset check real by @codetalcott in #40
  • perf(ws): vectorize client-frame unmasking and UTF-8 validation by @codetalcott in #41
  • perf(router): match on spans instead of rebuilding Strings per segment by @codetalcott in #43
  • feat(sqlite): vector reductions over a fetched column by @codetalcott in #44
  • perf(log): assemble a log line in one buffer instead of a dozen Strings by @codetalcott in #45
  • perf(loop): reuse the per-slot response buffer, and correct the record by @codetalcott in #42
  • fix(config): map AppConfig to ServerConfig in one place, not per app by @codetalcott in #46
  • chore: migrate off the memory and origin APIs Mojo 1.0 deprecates by @codetalcott in #47
  • perf(loop): delete log_summary, a field nothing ever read by @codetalcott in #48
  • fix(loop): stop answering 408 to prompt requests on reused connections by @codetalcott in #49
  • perf(server): size connection buffers on first use, not at pool construction by @codetalcott in #50
  • chore(fork): import into common_response instead of leaning on the star-import by @codetalcott in #51
  • chore: clear the Mojo 1.0 deprecations that have a shipped replacement by @codetalcott in #52
  • build: make build-all cover the C-ABI entry file by @codetalcott in #53
  • ci: ratchet the compiler warning count so a new warning cannot hide by @codetalcott in #54
  • build: add poe canary to run the nightly probe in one command by @codetalcott in #55
  • SIGTERM/SIGINT drain the event loop instead of severing it by @codetalcott in #56
  • WSGI conformance: a framework-free target, and the write() bug it found by @codetalcott in #57
  • Flask as a second framework row, on a shared WSGI contract by @codetalcott in #58
  • Circumvent the WSGI/ASGI split: in-process GRIP for Django, plus a free-threaded 3.14t canary by @codetalcott in #59
  • Multi-thread embedding probe: Mojo pthreads running Python in parallel on 3.14t by @codetalcott in #60
  • Thread probe: confirmed anti-scaling mechanism, corrected interpretations by @codetalcott in #61
  • CI: weekly free-threaded Python canary by @codetalcott in #62
  • Mojo-served static files for the Django rows by @codetalcott in #63
  • Complete the realtime story: Django-gated WebSocket holds and numbered event ids by @codetalcott in #64
  • release: v0.4.0 by @codetalcott in #65

Full Changelog: v0.3.0...v0.4.0