Skip to content

chore(deps): bump hackney from 1.25.0 to 3.2.0#165

Closed
dependabot[bot] wants to merge 1 commit intomainfrom
dependabot/hex/hackney-3.2.0
Closed

chore(deps): bump hackney from 1.25.0 to 3.2.0#165
dependabot[bot] wants to merge 1 commit intomainfrom
dependabot/hex/hackney-3.2.0

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Feb 23, 2026

Bumps hackney from 1.25.0 to 3.2.0.

Release notes

Sourced from hackney's releases.

hackney 3.2.0

Refactor

  • Replace all cowlib modules with hackney-native implementations
  • Remove src/libs/ directory (all modules moved to src/)

Performance

  • HTTP/2 state machine optimizations:
    • Stream caching for recently accessed streams
    • gb_sets for lingering streams (O(log N) vs O(N) lookups)
    • IOList accumulation for header fragments
  • HPACK and QPACK header compression with O(1) static table lookups
  • WebSocket: use rand:bytes/1 instead of crypto:strong_rand_bytes/1 for mask keys

Added

  • h2spec HTTP/2 compliance testing (95% pass rate - 139/146 tests)
    • h2spec_server.erl: Minimal HTTP/2 server for compliance testing
    • h2spec_SUITE.erl: CT suite for running h2spec tests
    • Makefile target: make h2spec-test
  • HTTP/3 E2E tests against real servers
    • hackney_http3_e2e_SUITE.erl: Tests against Cloudflare, Google, quic.tech
    • Makefile targets: make http3-e2e-test, make all-e2e-test
  • HTTP/2 machine benchmarks (hackney_http2_machine_bench.erl)

Bug Fixes

  • Fix HTTP/2 flow control for body sending (use send_or_queue_data/4)
  • Fix async 204/304/HEAD responses not sending done message
  • Fix unknown HTTP/2 frame types not being ignored (RFC 7540 4.1)
  • Fix HTTP/2 frame size validation

3.1.2

Dependencies

  • Bump quic dependency to 0.10.1

hackney 3.1.1

Bug Fixes

  • Fix HTTP/3 Fin flag handling for HEAD requests and responses without body
  • Bump quic dependency to 0.7.1 (fixes packet number reconstruction)

Added

  • Add TLS options support in hackney_quic (verify, cacerts, cacertfile, SNI)
  • Add redirect following in hackney_h3 (follow_redirect, max_redirect options)
  • Add HTTP/3 integration and redirect test suites (36 new tests)

... (truncated)

Changelog

Sourced from hackney's changelog.

3.2.0 - 2026-02-21

Refactor

  • Replace all cowlib modules with hackney-native implementations
    • hackney_cow_http2_machinehackney_http2_machine (with optimizations)
    • hackney_cow_http2hackney_http2
    • hackney_cow_deflatehackney_deflate
    • hackney_cow_wshackney_ws_proto
    • hackney_cow_hpack_dec_huffman_lookup.hrlhackney_hpack_huffman_dec.hrl
    • Remove hackney_cow_hpack (already replaced by hackney_hpack)
  • Remove src/libs/ directory (all modules moved to src/)

Performance

  • HTTP/2 state machine optimizations:
    • Stream caching for recently accessed streams
    • gb_sets for lingering streams (O(log N) vs O(N) lookups)
    • IOList accumulation for header fragments
  • HPACK and QPACK header compression with O(1) static table lookups
  • WebSocket: use rand:bytes/1 instead of crypto:strong_rand_bytes/1 for mask keys

Added

  • h2spec HTTP/2 compliance testing (95% pass rate - 139/146 tests)
    • h2spec_server.erl: Minimal HTTP/2 server for compliance testing
    • h2spec_SUITE.erl: CT suite for running h2spec tests
    • Makefile target: make h2spec-test
  • HTTP/3 E2E tests against real servers
    • hackney_http3_e2e_SUITE.erl: Tests against Cloudflare, Google, quic.tech
    • Makefile targets: make http3-e2e-test, make all-e2e-test
  • HTTP/2 machine benchmarks (hackney_http2_machine_bench.erl)

Bug Fixes

  • Fix HTTP/2 flow control for body sending (use send_or_queue_data/4)
  • Fix async 204/304/HEAD responses not sending done message
  • Fix unknown HTTP/2 frame types not being ignored (RFC 7540 4.1)
  • Fix HTTP/2 frame size validation

3.1.2 - 2026-02-21

Dependencies

  • Bump quic dependency to 0.10.2

3.1.1 - 2026-02-20

... (truncated)

Commits
  • b25b509 docs: update changelog with libs removal
  • b065882 refactor: move libs to src and remove cow prefix from huffman header
  • 7badb22 docs: update changelog with WebSocket masking optimization
  • 116481e perf: use rand:bytes instead of crypto:strong_rand_bytes for WebSocket masking
  • 826124a chore: update copyright headers in cowlib-derived modules
  • 88b2b55 release: version 3.2.0
  • 5fbe45b fix: resolve remaining TODO items
  • fcff095 test: add HTTP/3 E2E tests
  • 0b9d7cd refactor: replace cowlib modules with hackney-native implementations
  • 21612ca perf: optimize HPACK and QPACK header compression for O(1) lookups
  • Additional commits viewable in compare view

Dependabot compatibility score

You can trigger a rebase of this PR 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 this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [hackney](https://github.com/benoitc/hackney) from 1.25.0 to 3.2.0.
- [Release notes](https://github.com/benoitc/hackney/releases)
- [Changelog](https://github.com/benoitc/hackney/blob/master/NEWS.md)
- [Commits](benoitc/hackney@1.25.0...3.2.0)

---
updated-dependencies:
- dependency-name: hackney
  dependency-version: 3.2.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file elixir Pull requests that update elixir code labels Feb 23, 2026
@dependabot dependabot bot requested a review from a team as a code owner February 23, 2026 05:18
@dependabot dependabot bot added the elixir Pull requests that update elixir code label Feb 23, 2026
@dependabot @github
Copy link
Contributor Author

dependabot bot commented on behalf of github Mar 2, 2026

Superseded by #166.

@dependabot dependabot bot closed this Mar 2, 2026
@dependabot dependabot bot deleted the dependabot/hex/hackney-3.2.0 branch March 2, 2026 05:16
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 elixir Pull requests that update elixir code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants