feat(hackney)!: support hackney 4.x#880
Conversation
ef58606 to
dd60959
Compare
|
I've changed the PR title, but the action did not rerun. @yordis Could you rerun it? |
|
@tomekowal thank you so much, I wonder, should we leave TODO comments with the proper context in the code to later remove 1.0 support? |
|
Do we want to remove 1.0 support? I don't believe keeping both in the same adapter adds that much complexity. There is not a single It would be totally fine to leave both 1.x and 4.x support indefinitely. |
|
As someone adjacent to security…I don't think keeping 1.0 is a good idea. It's not getting any more updates and has three unresolved CVEs. But that changes a number of things for consumers including the minimum supported OTP. |
|
I am in a tricky situation here, it is effectively a breaking change for Tesla ... 😭 What do I do? Maybe I shouldn't feel so emotionally attach to cut a v2 or put a big disclaimer in the release note? |
|
I think that makes sense for a major upgrade:
|
|
use |
|
I've change the title. Would you like to me to make other changes that drop Hackney 1.x support completely? |
|
yeah, drop it completely by now |
9591335 to
df44506
Compare
BREAKING CHANGE: drops hackney 1.x. Tesla now requires hackney >= 4.0.2
and OTP 26+ (transitively via :quic).
- Adapter targets hackney 4.x conn() = pid() everywhere
- Stream upload path calls finish_send_body before start_response
(4.x requires explicit chunked terminator)
- :max_body honored only on streaming response read; 4.x sync requests
always return body inline
- start_stream_request wrapper restores {:ok, pid()} return shape that
hackney's request_ret/0 omits, keeping dialyzer happy
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Hackney 4.x pulls in :quic which requires OTP 26+. Bump the gun1 lockfile job to the next pair (1.16.3 / 26.2.5) to keep gun 1.x coverage. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
excoveralls 0.16.1 hard-required hackney ~> 1.16, conflicting with the new hackney ~> 4.0 constraint. 0.18.5 dropped the mandatory hackney dep (castore optional instead). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
318a427 to
04490ee
Compare
|
OK, so:
|
|
@tomekowal thank you so much for the help! |
|
Happy to help :) |
Adds support for Hackney 4.x.
There are two workarounds in this PR that are further explained in comments:
I made comments in places that I believe require attention during review.