Skip to content

v1.0.0

Compare
Choose a tag to compare
@github-actions github-actions released this 19 Jun 08:23
· 214 commits to master since this release

HTTP v1.0.0

Diff since v0.9.17

Closed issues:

  • Document connect_timeout= and idle_timeout= options (#221)
  • Document client usage better (#252)
  • Support transparent gzip decompression (#256)
  • WebSocket errors on page reload (#293)
  • Support pipeline_limit server-side (#322)
  • does it support http2.0 (#328)
  • Exception "HTTP.ConnectionPool.Transaction{Sockets.TCPSocket} does not support byte I/O" on read! (#329)
  • HTTP.open hanging (#339)
  • Add timeout for reading CLOSE frame in WebSockets.close (#350)
  • Move AWS4 signing into a separate repo? (#355)
  • Broken pipes (#382)
  • [RFC] WebSockets proposal (#394)
  • Client cookie management has possibly poor ergonomics (#398)
  • Problem with domain-wide cookie (#434)
  • Websockets uses insecure random for Sec-WebSocket-Key and mask (#437)
  • eof hangs using websockets (#447)
  • How do I simply push messages over WebSockets? (#452)
  • HTTP.request sidesteps a bit too much ? (#463)
  • How to write data to specific WebSocket connections? (#474)
  • WebSocket: error: 1002: Client MUST mask all frames (RFC-6455: Section 5.1) (#502)
  • HTTPS GET requests to S3 hang forever when doing a lot of them (#517)
  • WebSocket: long messages get split up (#532)
  • response_stream breaks with IOBuffer() (#543)
  • response_stream breaks streaming to process when redirecting (#544)
  • Need more examples and documentation ! (#556)
  • Explain how to stop async HTTP.Listen task in README.md (#563)
  • [feature requirement] HTTP.WebScokets server enhancement (#566)
  • Internal error when running many HTTP.get asynchronously (#568)
  • Allow setting of cipher suites & ALPN version (#570)
  • HTTP.download() not honoring local_path (#573)
  • String(cookie, false) does not have domain info (#577)
  • Allow WebSockets connections to (re)use the HTTP(S) ports (#578)
  • HTTP requests doesn't work with https proxy (#583)
  • HTTPS request hangs forever (#584)
  • update docs with an example showing use with Revise.jl (#587)
  • unsafe_write requires iswritable(::SSLContext) (#614)
  • EOFError Heisenbug (#618)
  • Make it easy to set TCP_NODELAY on server sockets (#629)
  • Improperly-handled HTTP responses cause connection freezes (#631)
  • use a printable object and/or io stream for HTTP.Response body (#653)
  • should the documentation be separate? (#655)
  • Should write errors be suppressed? (#657)
  • Deprecate higher-level functionality, such as router? (#658)
  • Many fields not available in (REPL) autocomplete (#660)
  • Requests sent twice (#667)
  • rewrite Handlers and @register (#668)
  • need much better debug logging (#669)
  • clarification on cookie types and behavior (#690)
  • Failing request with xml query (#694)
  • Broken Pipe error when https self signed certificate verification required (#695)
  • Server shutdown finalizer crashes (#697)
  • Julia hangs on exceptions in HTTP WebSocket block (#698)
  • Bug for Proxy in requests? (#705)
  • Method invalidations (#712)
  • Cookie type lacks support for SameSite attribute (#735)
  • Why does HTTP.WebSockets limit ONLY 8 client connections at one port for one process? (#743)
  • HTTP contacts proxy when asked to get localhost URL despite this making no sense and no_proxy envvar forbids it (#746)
  • use of @eval inhibits performance (#747)
  • Deadlock with https requests (#771)
  • Closing IO stream given with response_stream kwarg? (#774)
  • parse_multipart_form does not parse "Content-Type" correctly. (#782)
  • Segmentation Fault in HTTP.serve on closed TCP Socket listener (#784)
  • Windows failure on Julia 1.7 (#787)
  • Consistent exception types and error reporting (#792)
  • Differences between open("GET", url) do io and request("GET", url; response_stream=io)? (#793)
  • Websocket not setting required mask? (#794)
  • readavailable returns 0 bytes (#795)
  • Inconsistent behaviour among Julia 1.6.5 (works ok) versus Julia 1.7.0 (error) (#796)
  • Allow handling requests in multiple tasks (#798)
  • Question: proxy configuration (#799)
  • Bugged code? (#800)
  • Add functions for setting default custom handlers? (#801)
  • Julia 1.8.0-beta1 gives 404 errors (#803)
  • WebSocket connection failure: Incorrect 'Sec-WebSocket-Accept' value (#807)
  • Simple usage examples from README not in docs (#813)
  • UndefVarError: libmbedtls not defined (#814)
  • Feature request: Parsing MultiPartForm responses (currently we can only parse multipart requests) (#816)
  • 524 method invalidations on Julia 1.8-beta3 (#821)
  • cookiejar is ignored (#823)
  • got IOError during POST with Form email (#825)
  • Question about reading WebSocket streams (#827)
  • Question on defaultheader!(headers, "Accept" => "/") (#828)
  • Cookie not evicted when following redirects (#840)
  • Support application/x-www-form-urlencoded when request body is Dict/Vector{Pair} (#850)
  • Support readuntil(x::Stream, fn) like we support on Connection object (#852)

Merged pull requests:

  • Make debugging macros insert branches on DEBUG_LEVEL (#356) (@ararslan)
  • Do not call close() on the response_stream (#775) (@c42f)
  • [BREAKING]: Remove client support for pipelined requests (#783) (@quinnj)
  • Update issue template (#785) (@fredrikekre)
  • Remove unused at-debug macros. (#788) (@fredrikekre)
  • [BREAKING]: Change internal layers stack to be value-based instead of type-based (#789) (@quinnj)
  • Add changelog for some changes. (#790) (@fredrikekre)
  • Two changes to fix windows tests (#802) (@quinnj)
  • CI for Julia 1.8 beta 1 (#804) (@fonsp)
  • Delete the snoop.jl file (#806) (@DilumAluthge)
  • Sec-WebSocket-Accept: strip input key (#808) (@fonsp)
  • Tests: Don't use port 1234 (#809) (@fonsp)
  • WebSocket: test HTTP.jl server against Deno client (#810) (@fonsp)
  • [BREAKING]: Remove use of at-eval in handlers register macro (#812) (@quinnj)
  • Prefactoring: Add broken test case for parsing multipart content type (#782) (#815) (@NHDaly)
  • Widen support for parsing MultiPartForms to include Responses (#817) (@NHDaly)
  • [BREAKING]: Overhaul Handlers framework + rewrite Router to be trie-based and support dynamic use-cases (#818) (@quinnj)
  • Delete unused streaming_combinations.jl (#819) (@lucifer1004)
  • Allow HTTP.header default to be anything (#820) (@omus)
  • IODebug.jl: remove stale code (#824) (@fonsp)
  • Initial work to overhaul debug logging (#826) (@quinnj)
  • Refine how redirect method is set (#829) (@quinnj)
  • Attempt to reencode malformed headers from Latin-1 to UTF8 (#830) (@quinnj)
  • Don't write headers if value is empty (#831) (@quinnj)
  • Remove comment mode regex for multipart parsing (#832) (@quinnj)
  • Couple of proxy fixes (#833) (@quinnj)
  • don't add gz if we are given a local filepath (#835) (@oxinabox)
  • Big update to cookie code (#836) (@quinnj)
  • Auto decompress gzip-encoding response bodies (#838) (@quinnj)
  • HTTP.jl docstrings cleanup (#839) (@quinnj)
  • proxy: islocalhost: ipv6 support (#841) (@fonsp)
  • Cookie doc tweaks (#842) (@fonsp)
  • Overhaul websockets code (#843) (@quinnj)
  • Use cryptographically secure rand for Sec-WebSocket-Key and client mask (#844) (@quinnj)
  • Use uint16 (#845) (@rikhuijzer)
  • Make HTTP.jl exception types more consistent (#846) (@quinnj)
  • Allow requests to be retried with request/response streams that suppo… (#847) (@quinnj)
  • Update all docs/examples to current #master code (#848) (@quinnj)
  • Clean up API reference page in docs (#849) (@quinnj)
  • Start filling out client.md, websockets.md, and server.md doc guides (#851) (@quinnj)
  • [BREAKING]: Modernize core server code and improve overall ergonomics (#854) (@quinnj)
  • Include a docs guide for migration code to 1.0 (#855) (@quinnj)