Skip to content

Releases: benoitc/hackney

hackney 0.11.1 has been released.

03 Mar 13:10

Choose a tag to compare

hackney 0.11.0 has been released. This is a maintenance release with some fixes and improvements.

Changes

  • improvement: speed IDNA domains handing
  • fix http proxy via CONNECT
  • fix: encode the path
  • bump to hackney_lib 0.2.4

The full changelog is available here: 0.11.0...0.11.1

Hackney is also available as a source archive or via expm.

hackney 0.11.0 has been released

02 Mar 21:32

Choose a tag to compare

hackney 0.11.0 has been released. This is a maintenance release with some fixes and improvements.

Changes

  • add hackney:location/1 to get the final location
  • make hackney_request:send/2 more efficient
  • fix socket removing in the pool
  • fix HTTP proxying
  • support IDNA hostnames
  • bump to hackney_lib 0.2.3

The full changelog is available here: 0.10.1...0.11.0

Hackney is also available as a source archive or via expm.

hackney 0.10.1 has been released.

30 Dec 14:18

Choose a tag to compare

hackney 0.10.1 has been released. This is a maintenance release with some fixes and improvements.

Changes

  • fix multipart file header
  • improve the performance when sending a {multipart, Parts} body. Send
    it as a stream.
  • bump hackney_lib version to 0.2.2

The full changelog is available here: 0.10.0...0.10.1

Hackney is also available as a source archive or via expm.

hackney 0.10.0 has been released.

29 Dec 16:45

Choose a tag to compare

hackney 0.10.0 has been released. This is a service release with some fixes and improvements.

Changes

  • improve multipart handling: With this change, we can now calculate the
    full multipart stream content-length using hackney_multipart:len_mp_stream/2 .
  • add hackney:setopts/2 to set options to a request when reusing it.
  • add hackney:send_request/3 to pass new options to a request.
  • add the {stream_to, Pid} setting to a request to send the messages
    from an asynchronous response to another PID.
  • fix Host header: some server do not comply well with the spec and
    fail to parse the port when they are listening on 80 or 443. This
    change fix it.
  • fix: make sure we are re-using connections with asynchronous
    responses.

Breaking changes:

  • All messages from an async response are now under the
    format {hackney_response, Ref, ... } to distinct hackney messages
    from others in a process easily.
  • You can only make an async response at a time. Ie if you are are doing
    a persistent request (reusing the same reference) you will need to
    pass the async option again to the request. For that purpose the
    functions hackney:send_request/3 and hackney:setopts/2 have been
    added.
  • multipart messages have changed. See the documentation for more
    information.

The full changelog is available here: 0.9.1...0.10.0

Hackney is also available as a source archive or via expm.

hackney 0.9.1 has been released

20 Dec 10:18

Choose a tag to compare

hackney 0.9.1 has been released. This is a bug fix release.

Changes

  • fix response multipart processing

The full changelog is available here: 0.9.0...0.9.1

Hackney is also available as a source archive or via expm.

hackney 0.9.0 has been released

19 Dec 15:17

Choose a tag to compare

hackney 0.9.0 has been released. This is a service release with some fixes and improvements.

Changes

  • add support for multipart responses
  • add support for cookies: There is now a cookie
    option that can be passed to the request. It can be a sinle cookie or a
    list of cookies. To parse cookies from the response a function hackney:cookies/1 has
    been added. It return all the cookies as a list of [{Key, Value}].
  • breaking change: use hackney_lib a web toolkit to handle the HTTP protocol and other manipulations.
  • optimization: send body and headers together when it is possible
  • fix release handling

The full changelog is available here: 0.8.3...0.9.0

Hackney is also available as a source archive or via expm.

hackney 0.8.3 has been released.

07 Dec 14:29

Choose a tag to compare

hackney 0.8.3 has been released. This is a service release with some fixes and improvements.

Changes

  • add: support redirection in async responses
  • improve
    hackney_url:make_url/3
  • fix: handle case where the response is already done in async responses

The full changelog is available here: 0.8.2...0.8.3

Hackney is also available as a source archive or via expm.

hackney 0.8.2 has been released

04 Dec 23:01

Choose a tag to compare

hackney 0.8.2 has been released. This release contains an important fix and all the users of the version 0.8x should upgrade to it.

Changes

  • fix: trap exits in hackney_manager

The full changelog is available here: 0.8.1...0.8.2

Hackney is also available as a source archive or via expm.

hackney 0.8.1 has been released

04 Dec 15:01

Choose a tag to compare

hackney 0.8.1 is a service release with a new feature and some minor improvements:

Changes

  • added the support for socks5
    proxies
  • improvment: integer and atom can now be passed in url params or forms
    values.
  • breaking change: differentiate connect/recv timeout, now a connect
    timeout error return {error, connect_timeout}

The full changelog is available here: 0.8.0...0.8.1

Hackney is also available as a source archive or via expm.

Enjoy!

hackney 0.8.0 has been released

02 Dec 13:45

Choose a tag to compare

hackney 0.8.0 is a major release of hackney. With this release the API will not evolve much until the
1.0 release sometimes in january.

Changes

  • breaking change: hackney now return a reference instead of an opaque record. The
    information is maintained in an ETS table. The same reference is now
    used for async response requests.

Before you were doing

{ok, Status, RespHeaders, Client1} = hackney:request(Method, URL,
                                                Headers, Payload,
                                                Options),
{ok, Body, Client2} = hackney:body(Client1).

And you needed to keep around the last opaque Client record. Now you only need to pass the reference you get when you start the request:

{ok, Status, RespHeaders, Ref} = hackney:request(Method, URL,
                                                    Headers, Payload,
                                                    Options),
{ok, Body} = hackney:body(Ref).

This change has been done to make the api simpler while keeping all the features available in hackney (in particularly you still don't pass messages by default in hackney). Also the same reference is now used when you decide to receive the response asynchronously. Have a look in the README for more informations.

  • breaking change: stream_body_request/2 and stream_multipart_request/2 functions has
    been renamed to send_body/2 and send_multipart_body/2 .
  • breaking change: remove hackney:close_stream/1 function. You only need to
    use hackney:close/1 now.
  • breaking change: rename hackney:raw/1 function to
    hackney:cancel_request/1.
  • breaking change: the hakney pool handler based on dispcount is now
    available in its own repository so hackney doe not depends on dispcount.
  • fix: canceling and closing a request now make sure the async response
    process is killed.
  • fix: make sure we pass a Transfer-Encoding: chunked header when we
    send a body without content-length.
  • fix: make sure the client is correctly reconnected when we reuse a
    reference.

The full changelog is available here: 0.7.0...0.8.0

Hackney is also available as a source archive or via expm.

Enjoy!