Skip to content

v2.0.0

Choose a tag to compare

@github-actions github-actions released this 28 May 16:13
· 32 commits to master since this release

HTTP v2.0.0

Diff since v1.11.0

Breaking changes

HTTP.jl 2.0 is a breaking major release and a broad rewrite of the package internals and public API on top of Reseau.jl. The most important migration notes are:

  • Julia 1.10 is now the minimum supported Julia version.
  • HTTP.request and the verb helpers buffer Response.body::Vector{UInt8} by default; use HTTP.open or response_stream for streaming control.
  • Response.status_code has been renamed to Response.status.
  • RequestContext is now typed request state with cancellation, deadlines, metadata, and timeout fields. Dict-like metadata access remains as a migration aid, but new code should use the typed helpers and fields.
  • Client pooling, retries, TLS, proxying, cookies, and timeouts are now configured through HTTP.Client, HTTP.Transport, and explicit keywords such as retry_if, request_timeout, and read_idle_timeout instead of the old layer stack, pool, retry_delays, retry_check, sslconfig, or socket_type_tls APIs.
  • WebSocket-specific entrypoints now live under HTTP.WebSockets, including HTTP.WebSockets.open, HTTP.WebSockets.listen, and HTTP.WebSockets.listen!.
  • HTTP.download is no longer HTTP.jl's dedicated download helper. HTTP.download(...) now resolves to Base.download; use Downloads.download for simple downloads or HTTP.request(...; response_stream=io) / HTTP.open when HTTP.jl client configuration is needed.
  • Undocumented 1.x internals, including parser, layer-stack, connection-pool, HPACK, and low-level HTTP/2 implementation details, are no longer supported migration targets.

Highlights

  • New Reseau-backed transport foundation for HTTP/1.1 and HTTP/2 client/server workflows.
  • New core types around Request, Response, Headers, Client, Transport, Stream, and RequestContext.
  • First-class HTTP/2 client/server support, Server-Sent Events, WebSockets, static file serving, request tracing, structured timeout phases, structured HTTP error types, and precompile/trim-oriented workloads.
  • See CHANGELOG.md and docs/src/guides/migration-1x.md for the full changelog and migration guide.

Merged pull requests: