Releases: rstudio/httpuv
httpuv 1.6.5
httpuv 1.6.4
httpuv 1.6.3
- Increased required version of Rcpp to 1.0.7, to work around an incompatibility between Rcpp 1.0.6 and packages compiled with Rcpp 1.0.7.
httpuv v1.6.2
httpuv 1.6.1
- The
timegm()
function is a non-standard GNU extension, so it has been replaced with an internaltimegm2()
function. (#300)
httpuv 1.6.0
- Remove BH dependency. httpuv now requires a compiler which supports C++11. (#297)
httpuv 1.5.5
-
Fix SHA1 calculation, and thus WebSocket server handshakes, on big-endian systems. (#284)
-
Fixed #195: Responses required
headers
to be a named list. Now it can also beNULL
, an empty unnamed list, or it can be unset. (#289) -
Allow responses to omit
body
(or set it asNULL
) to avoid sending a body or setting theContent-Length
header. This is intended for use with HTTP 204/304 responses. (#288)
httpuv 1.5.4
httpuv 1.5.3.1
-
Updated libuv to version 1.37.0. (#266)
-
Fixed #204: On UBSAN builds of R, there were warnings about unaligned memory access. (#246)
-
Avoid creating a new Rook error stream object for each request. This should improve performance. (#245)
-
Resolved #247: httpuv no longer returns a HTTP 400 code for static files when the "Content-Length" header is 0. This Content-Length header is inserted by some proxies even for messages without payloads. (#248)
-
Resolved #253: Setting the FRAMEWORK environment variable would break compilation. This change removes any dependency on that variable. (#254)
httpuv 1.5.2
-
In the static file-serving code path, httpuv previously looked for a
Connection: upgrade
header; if it found this header, it would not try to serve a static file, and it would instead forward the HTTP request to the R code path. However, some proxies are configured to always set this header, even when the connection is not actually meant to be upgraded. Now, instead of looking for aConnection: upgrade
header, httpuv looks for the presence of anUpgrade
header (with any value), and should be more robust to incorrectly-configured proxies. (#215) -
Fixed handling of messages without payloads: (#219)
-
Fixed #224: Static file serving on Windows did not work correctly if it was from a path that contained non-ASCII characters. (#227)
-
Resolved #194, #233: Added a
quiet
option tostartServer
, which suppresses startup error messages that are normally printed to console (and can't be intercepted withcapture.output()
). (#234) -
Added a new function
randomPort()
, which returns a random available port for listening on. (#234) -
Added a new (unexported) function
logLevel()
, for controlling debugging information that will be printed to the console. Previously, httpuv occasionally printed messages likeERROR: [uv_write] broken pipe
andERROR: [uv_write] bad file descriptor
by default. This happened when the server tried to write to a pipe that was already closed, but the situation was not harmful, and was already being handled correctly. Now these messages are printed only if the log level is set toINFO
orDEBUG
. (#223) -
If an application's
$call()
method is missing, it will now give a 404 response instead of a 500 response. (#237) -
Disallowed backslash in static path, to prevent path traversal attacks. (#235)
-
Static file serving on Windows could fail if multiple requests accessed the same file simultaneously. (#239)