Skip to content

Latest commit

 

History

History
167 lines (148 loc) · 7.7 KB

CHANGELOG.md

File metadata and controls

167 lines (148 loc) · 7.7 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

0.9.12 - 2021-07-01

Fixed

  • Fix a JSON detection issue in HTTP.sniff for negative numeric values (#730).

0.9.11 - 2021-06-30

Changed

  • "Connection closed by peer" errors are now emitted as Debug-level messages (instead of Error-level) (#727).

Fixed

  • Fix websocket disconnection errors (#723).
  • Reduced allocations for some internals functions used for e.g. header comparison (#725).

0.9.10 - 2021-05-30

Fixed

  • Fix access logging to also log internal server errors (#717).
  • Fix a possible crash in access logging of remote IP when the connection have been closed (#718).

0.9.9 - 2021-05-23

Added

  • Access logging functionality to HTTP.listen and HTTP.serve (#713).

Fixed

  • Include Host header for CONNECT proxy requests (#714).

0.9.8 - 2021-05-02

Fixed

  • URLs are now checked for missing protocol and hostname when making requests (#703).
  • Fix an issue where relative HTTP 3xx redirects would not resolve the new URL correctly by upgrading the URIs dependency (#707).
  • Fix automatic detection of filename in HTTP.download to (i) not include any query parameters and (ii) use the original request URL instead of any redirect URLs (#706).

Changed

  • Improvements to internal allocation of buffers to decrease package load time (#704).

0.9.7 - 2021-04-28

Added

  • Implement Sockets.getpeername(::HTTP.Stream) for getting the client IP address and port from a HTTP.Stream (#702).

0.9.6 - 2021-04-27

Added

  • New function HTTP.statustext for getting the string representation of a HTTP status code (#688).
  • New exception ReadTimeoutError which is thrown for request that time out (#693).

Changed

  • Un-deprecate HTTP.status, HTTP.headers, HTTP.body, HTTP.method, and HTTP.uri (#682).

Fixed

  • Fixes and improvements to rate limiting in HTTP.listen and HTTP.serve (#701).

0.9.5 - 2021-02-23

Fixed

  • Fix implicitly added Host header for HTTP.request (and friends) to include the port for non-standard ports (#680).

0.9.4 - 2021-02-23

Changed

Fixed

  • Ignore HTTP_PROXY and HTTPS_PROXY environment variables if they are set to the empty string (#674).
  • When trying to establish a connection, try all IP addresses found for the host instead of just the first one (#675).

0.9.3 - 2021-02-10

Added

  • New keyword max_connections::Int to HTTP.listen for specifying maximum value of concurrent active connections (#647).

Changed

  • The header Accept: */* is now added by default for HTTP.request and friends (this mirrors the behavior of e.g. curl and Python's request) (#666).

0.9.2 - 2020-12-22

Changed

  • If a proxy specification includes userinfo it is now added as the Proxy-Authorization: Basic XXX header (#640).

Fixed

  • Proxy specifications using the environment variables HTTP_PROXY/HTTPS_PROXY are now checked, previously only the lowercase versions http_proxy/https_proxy where checked (#648).

0.9.1 - 2020-12-04

Changed

  • TCP connections are now flushed on closewrite which can improve latency in some cases (#635).
  • Callbacks to HTTP.listen that never calls startwrite now throw and return 500 Internal Server Error to the client (#636).
  • closebody does not error if closing bytes could not be written (#546).

0.9.0 - 2020-11-12

Added

  • New keyword argument on_shutdown::Union{Function,Vector{Function}} to HTTP.listen/ HTTP.serve for registering callback function to be run at server shutdown (#599).
  • New functions insert_default! and remove_default! for inserting/removing layers in the default stack (#608).
  • New keyword argument boundary to HTTP.Form for specifying the boundary for multipart requests (#613, #615).

Changed

  • The internal HTTP.URIs module have been factored out to an independent package which HTTP.jl now depends on (#616).

Fixed

  • Fix a formatting bug in progress reporting in HTTP.download (#601).
  • Fix a case where bad HTTPS requests to would cause the HTTP.jl server to throw (#602).
  • The correct host/port is now logged even if the server is provided with the server keyword argument to HTTP.listen/HTTP.serve (#611).
  • Fix some outdated internal calls that would throw when passing a connect_timeout to HTTP.request and friends (#619).