Roadmap

Backlog

Not in order:

  • Dynamic runtime configuration

  • Dynamic TLS certificate selection based on SNI for multi-domain hosting on a single port

  • TLS STEK and pluggable ticket store

  • 0-RTT TLS

  • Native file handler with compression to bypass the JVM for files on disk

  • Metrics and signals without OpenTelemetry, or with minimal OpenTelemetry support

  • Cross-process TLS ticket resumption tests

  • Reverse proxying

  • Standalone operation mode with a config file

  • Zero-downtime deployments with systemd

  • GraalVM native-image support

  • Configurable congestion control to allow selection of Reno, Cubic, or BBR instead of using quicly defaults

  • Connection keep-alive configuration with explicit interval and timeout settings instead of implicit ACK frequency

  • User-supplied TLS certificate callback API

  • QUIC datagram support for RFC 9221 unreliable datagram frames, useful for WebRTC over HTTP/3 and gaming protocols

  • Built-in .ts.net support

Small tasks

  • Implement request cleanup and reaping when clients disconnect early, including interruption of body and response streams

  • Rewrite response queue from Channel to OutputStream

  • Rename mutable state-map keywords so they end with _

  • Add IPv6 listener support

  • Add Unix domain socket listener support

  • Double-check all volatile uses for correctness

  • Decide whether AtomicBoolean values should become atoms