Skip to content

Update HTTP requirement from 1 to 1, 2.0 in the all-julia-packages group#198

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/julia/all-julia-packages-069b06cd98
Open

Update HTTP requirement from 1 to 1, 2.0 in the all-julia-packages group#198
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/julia/all-julia-packages-069b06cd98

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github Jun 4, 2026

Updates the requirements on HTTP to permit the latest version.
Updates HTTP to 2.0.0

Release notes

Sourced from HTTP's releases.

v2.0.0

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:

Changelog

Sourced from HTTP's changelog.

[v2.0.0] - 2026-04-27

HTTP.jl 2.0 is a major rewrite of the package internals and public API. The release keeps the familiar HTTP.request, verb helpers, HTTP.serve, routing, WebSocket, and SSE workflows, but rebuilds them on a smaller, explicit core that delegates transport mechanics to Reseau.jl. The 2.0 line is the new foundation for HTTP/1.1, HTTP/2, timeouts, streaming, precompilation, and future protocol work.

Added

  • Added a new core API around Request, Response, Headers, RequestContext, explicit request/response body types, and structured timeout configuration.
  • Added Client and Transport objects for reusable client configuration, connection reuse, cookie jars, redirect limits, retry policy, default headers, and HTTP/2 preference.
  • Added first-class HTTP/2 client and server support through the Reseau-backed transport layer, including stream lifecycle handling, flow-control-aware body reads, and h2c prior-knowledge support for local/plaintext use cases.
  • Added structured timeout phases for connection establishment, complete request deadlines, response-header waits, read-idle waits, write-idle waits, and Expect: 100-continue waits.
  • Added HTTP.HTTPTimeoutError as the public timeout exception alias and richer timeout messages for client and server failures.
  • Added HTTP.open for response streaming with the same request pipeline as HTTP.request.
  • Added request tracing support through trace callbacks, client event types, and the verbose request keyword.
  • Added server helpers for streaming handlers, static content, file serving, file-server roots, graceful shutdown callbacks, handler timeouts, and socket-close control.
  • Added Server-Sent Events support for clients and servers through SSEEvent, sse_stream, and the sse_callback request keyword.
  • Added WebSocket client/server support under HTTP.WebSockets, including HTTP.WebSockets.open, HTTP.WebSockets.listen, and HTTP.WebSockets.listen!.
  • Added precompile workloads that cover common client, server, router, SSE, WebSocket, and streaming paths.
  • Added curated manual and API-reference documentation for the 2.0 public surface, plus a migration guide for common 1.x call patterns.

Changed

  • The package now presents a curated 2.0 public API built around Request, Response, Stream, Client, Transport, and explicit body types on top of Reseau.
  • Julia 1.10 is now the minimum supported Julia version.
  • HTTP.request and the verb helpers now return a fully materialized Response.body::Vector{UInt8} by default. Use HTTP.open or the response_stream keyword when you need streaming control.
  • Request and Response constructors now prefer explicit keyword-oriented

... (truncated)

Commits

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions

Updates the requirements on [HTTP](https://github.com/JuliaWeb/HTTP.jl) to permit the latest version.

Updates `HTTP` to 2.0.0
- [Release notes](https://github.com/JuliaWeb/HTTP.jl/releases)
- [Changelog](https://github.com/JuliaWeb/HTTP.jl/blob/master/CHANGELOG.md)
- [Commits](JuliaWeb/HTTP.jl@v1.0.0...v2.0.0)

---
updated-dependencies:
- dependency-name: HTTP
  dependency-version: 2.0.0
  dependency-type: direct:production
  dependency-group: all-julia-packages
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file julia Pull requests that update julia code labels Jun 4, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 4, 2026

Benchmark Results (Julia v1)

Time benchmarks
main 36b2ba0... main / 36b2ba0...
bench_linux/PBP 18.2 ± 2.6 ms 18.3 ± 2.9 ms 0.998 ± 0.21
bench_linux/PBP_multiple_timesteps_MT 0.266 ± 0.058 s 0.259 ± 0.071 s 1.03 ± 0.36
bench_linux/PBP_multiple_timesteps_ST 0.245 ± 0.02 s 0.23 ± 0.022 s 1.06 ± 0.14
bench_linux/PSE 5.34 s 5.18 s 1.03
bench_linux/PSE_multirate_output_request_run 8.56 s 8.22 s 1.04
bench_linux/PSE_multirate_status_tracked_run 4.51 ± 0.56 s 4.23 ± 0.47 s 1.06 ± 0.18
bench_linux/XPalm_convert_outputs 1.13 ± 0.17 s 1.52 ± 0.16 s 0.747 ± 0.14
bench_linux/XPalm_run 10.7 s 12.8 s 0.834
bench_linux/XPalm_setup 0.981 ± 0.13 s 0.962 ± 0.13 s 1.02 ± 0.19
time_to_load 2.44 ± 0.037 s 2.39 ± 0.016 s 1.02 ± 0.017
Memory benchmarks
main 36b2ba0... main / 36b2ba0...
bench_linux/PBP 0.131 M allocs: 8.11 MB 0.131 M allocs: 8.11 MB 1
bench_linux/PBP_multiple_timesteps_MT 3.73 M allocs: 0.237 GB 3.73 M allocs: 0.237 GB 1
bench_linux/PBP_multiple_timesteps_ST 3.58 M allocs: 0.213 GB 3.58 M allocs: 0.213 GB 1
bench_linux/PSE 0.0499 G allocs: 3.7 GB 0.0498 G allocs: 3.69 GB 1
bench_linux/PSE_multirate_output_request_run 0.0851 G allocs: 3.5 GB 0.0851 G allocs: 3.5 GB 1
bench_linux/PSE_multirate_status_tracked_run 0.0607 G allocs: 1.93 GB 0.0607 G allocs: 1.93 GB 1
bench_linux/XPalm_convert_outputs 6.62 M allocs: 0.436 GB 6.62 M allocs: 0.436 GB 1
bench_linux/XPalm_run 0.104 G allocs: 6.68 GB 0.105 G allocs: 6.77 GB 0.987
bench_linux/XPalm_setup 0.329 M allocs: 17.5 MB 0.324 M allocs: 17.3 MB 1.01
time_to_load 0.145 k allocs: 11 kB 0.149 k allocs: 11.1 kB 0.983

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file julia Pull requests that update julia code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants