Recent Releases of httpuv
httpuv - httpuv 1.6.16
Added a mime type entry for
.wasmfiles, which should be served asapplication/wasm. (#407)Updated mime lookup table using mime R package 0.13. (#408)
Avoid some time-sensitive tests on CRAN. (#412)
- C
Published by shikokuchuo about 1 year ago
httpuv - httpuv 1.6.15
runStaticServer()no longer fails ifbrowse = TRUEbututils::browseURL()is unable to open the server. (#395)Improved testing of
runStaticServer()to accurately test thatrunStaticServer()throws an error when a requested port is not available on FreeBSD. (#396)
- C
Published by cpsievert over 2 years ago
httpuv - httpuv 1.6.14
Updated Makevars.ucrt for upcoming release of Rtools (thanks to Tomas Kalibera).
Fixed linking to zlib on macOS (thanks to @jeroen). (#387)
- C
Published by wch over 2 years ago
httpuv - httpuv 1.6.13
- Closed #388: Fix R CMD check warning re error() format strings (for r-devel). (#389)
- C
Published by cpsievert over 2 years ago
httpuv - httpuv 1.6.12
New
runStaticServer()provides a convenient interface for serving a directory of static files. (#380)Remove a workaround to support
shinyolder than version 1.0.6 (#378)
- C
Published by gadenbuie over 2 years ago
httpuv - httpuv 1.6.11
Fix race condition introduced in 1.6.10. (#363)
Hygiene and metadata improvements requested by CRAN. (#366, #369, #370)
- C
Published by wch about 3 years ago
httpuv - httpuv 1.6.10
- WebSocket connections now send Ping frames to the client every 20 seconds. This is only intended to serve as a keepalive for proxies that might be sitting in front of us; we don't pay attention to whether a Pong response is received in a timely manner. (#359)
- C
Published by wch about 3 years ago
httpuv - httpuv 1.6.9
Fixed #354: The incorrect method was called to clear a
vector. (#355)The
src/Makevarsfile no longer setsCXX_STD=CXX11, and theDESCRIPTIONfile no longer listsSystemRequirements: C++11, because newer R versions always support C++11. (#356, #357)
- C
Published by wch over 3 years ago
httpuv - httpuv 1.6.8
- Fixed #351: A race condition could cause httpuv to crash when starting the background thread for I/O. (#352)
- C
Published by wch over 3 years ago
httpuv - httpuv 1.6.7
Fixed rstudio/shiny#3741: The
TZenvironment variable could get unset in some cases. (#346)Closed #302: Fixed potential thread-safety issues with
timegm2implementation. (#346)
- C
Published by cpsievert over 3 years ago
httpuv - httpuv v1.6.6
Update docs for CRAN (#343)
Updated to libuv 1.43.0. (#328)
Fixed #336:
encodeURI()andencodeURIComponent()printed a space instead of a leading zero, as in"% A"instead of"%0A". (#337)
- C
Published by schloerke almost 4 years ago
httpuv - httpuv 1.6.5
Added support for R on Windows UCRT. (#324)
When using a system-wide copy of libuv, httpuv will now compile using the system-wide headers for libuv, instead of the local copy of the libuv headers. (#327)
- C
Published by wch over 4 years ago
httpuv - httpuv 1.6.4
Added zlib to SystemRequirements in DESCRIPTION file. (#315)
Closed #280: Fix builds on Alpine Linux (and other versions which have automake >1.16.1). (#319)
- C
Published by wch over 4 years ago
httpuv - 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.
- C
Published by wch almost 5 years ago
httpuv - httpuv v1.6.2
Fixed #282:
startPipeServer()failed with "invalid argument" error after update to libuv 1.37.0. (#283)Fixed #303: Don't return Content-Length header when the HTTP status is "101 Switching Protocols". (#305)
Added support for gzip-compressed HTTP responses. (#305)
- C
Published by schloerke almost 5 years ago
httpuv - httpuv 1.6.1
- The
timegm()function is a non-standard GNU extension, so it has been replaced with an internaltimegm2()function. (#300)
- C
Published by wch about 5 years ago
httpuv - httpuv 1.6.0
- Remove BH dependency. httpuv now requires a compiler which supports C++11. (#297)
- C
Published by wch about 5 years ago
httpuv - httpuv 1.5.5
Fix SHA1 calculation, and thus WebSocket server handshakes, on big-endian systems. (#284)
Fixed #195: Responses required
headersto 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-Lengthheader. This is intended for use with HTTP 204/304 responses. (#288)
- C
Published by wch over 5 years ago
httpuv - httpuv 1.4.0
Changed license from GPL 3 to GPL >= 2. (#109)
Added IPv6 support. (#115)
httpuv now does I/O on a background thread, which should allow for much better performance under load. (#106)
httpuv can now handle request callbacks asynchronously. (#80, (#97))
Fixed #72: httpuv previously did not close connections that had the
Connection: closeheader, or were HTTP 1.0 (withoutConnection: keep-alive). (#99)Fixed #71: In some cases, compiling httpuv would use system copies of library headers, but use local copies of libraries for linking. (#121)
Let Rcpp handle symbol registration. (#85)
Hide internal symbols from shared library on supported platforms. This reduces the risk of conflicts with other packages bundling libuv. (#85)
Fixed #86:
encodeURI()gave incorrect output for non-ASCII characters. (#87)Fixed #49: Some information was shared across separate requests.
Upgraded to libuv 1.15.0. (#91)
Upgraded to http-parser 2.7.1. (#93)
- C
Published by wch about 6 years ago
httpuv - httpuv 1.4.1
Addressed #123:
service()now returnsTRUE.Fixed #124: On some CRAN build machines, the build was failing because of issues with the timestamps of input and output files for autotools in libuv/.
- C
Published by wch about 6 years ago
httpuv - httpuv 1.4.2
Fixed #126: The Makevars.win file had a line with spaces instead of a tab. This caused problems when installing with the
--cleanflag.Fixed #128: It was possible in rare cases for a segfault to occur when httpuv tried to close a connection twice. (#129)
- C
Published by wch about 6 years ago
httpuv - httpuv 1.4.4
Note that this version was not released to CRAN; it was supplanted with 1.4.4.1.
Fixed #144: Before closing a handle, make sure that it is not already closing. (#145)
Exported
ipFamily()function, which tests whether a string represents an IPv4 address, IPv6 address, or neither. (#142)Templated C++ code with the format
A<B<C>>has been changed toA<B<C> >. Allowing consecutive>>is a feature of C++11.httpuv is now compiled with
_GLIBCXX_ASSERTIONS, to help catch bugs. (#137)The Rook
reqenvironment now includes an itemreq$HEADERS, which is a named character vector of request headers. (#143)Fixed #101: If server creation fails, report reason why. (#146, #149)
Fixed #147: Santizer complained when starting app with
startPipeServerafter a failed app start. (#149)Fixed #150, #151: On some platforms, httpuv would fail to install from a zip file because R's
unzip()function did not preserve the executable permission forsrc/libuv/configure. (#152)Worked around an issue where Shiny apps couldn't be viewed when launched from RStudio Server using Firefox. (#153)
- C
Published by wch about 6 years ago
httpuv - httpuv 1.4.3
Fixed #127: Compilation failed on some platforms because
NULLwas used instead of anRcpp::List. (#131)Fixed #133: Assertion failures when running on Fedora 28. (#136)
Fixed #134: Sanitizer complains when starting app after a failed app start. (#138)
- C
Published by wch about 6 years ago
httpuv - httpuv 1.4.4.1
- Remove
_GLIBCXX_ASSERTIONScompile flag, which caused CRAN checks to fail on gcc 7.
- C
Published by wch about 6 years ago
httpuv - httpuv 1.4.4.2
- Changed compiler flags to work with gcc 8.10 on Windows, so that httpuv will build with the new versions of Rtools. (#160)
- C
Published by wch about 6 years ago
httpuv - httpuv 1.4.5
- Fixed #161: An HTTP connection could get upgraded to a WebSocket too early, which sometimes resulted in closed connections. (#162)
- C
Published by wch about 6 years ago
httpuv - httpuv 1.4.5.1
- Moved the
C_VISIBILITYfromPKG_CPPFLAGStoPKG_CFLAGS, and addedCXX_VISIBILITYtoPKG_CXXFLAGS, as requested by the CRAN maintainers.
- C
Published by wch about 6 years ago
httpuv - httpuv 1.5.0
Added support for serving static files from the background I/O thread. Files can now be served from the filesystem without involving the main R thread, which means that these operations won't block or be blocked by code that runs in the main R thread. (#177)
Running httpuv applications are now represented by R6 objects of class
WebServerandPipeServer. These objects have methods to query and update the application. (#177)Converted existing reference classes (
InputStream,NullInputStream,ErrorStream,AppWrapper, andWebSocket) to R6 classes. (#178)Fixed #168: A SIGPIPE signal on the httpuv background thread could cause the process to quit. This can happen in some instances when the server is under heavy load. (#169)
Fixed #122:
decodeURI()anddecodeURIComponent()previously returned strings encoded with the system's native encoding; they now return UTF-8 encoded strings. (#185, #192)encodeURI()andencodeURIComponent(), now convert their inputs to UTF-8 before URL-encoding. (#192)encodeURI(),encodeURIComponent(),decodeURI(), anddecodeURIComponent()now handleNAs correctly. (#192)service()now executes a singlelatercallback, rather than all eligible callbacks. This gives callers more opportunities to perform their own housekeeping when multiple expensive callbacks queue up. (#176)Fixed #173: The source code is now compiled with
-DSTRICT_R_HEADERS, which eliminates the need to undefine theReallocandFreemacros.Updated to libuv 1.23.1. (#174)
- C
Published by wch about 6 years ago
httpuv - httpuv 1.5.1
Fixed issues for compilers that didn't support C++11, notably on RHEL and Centos 6. (#210)
Fixed #208: In some cases, a race condition could cause the R process to exit when starting a new server. (#211)
Updated to libuv 1.27.0. This fixed fixed #213: Valgrind reported an error about a pointer pointing to uninitialized memory. (#214)
- C
Published by wch about 6 years ago
httpuv - httpuv 1.5.2
In the static file-serving code path, httpuv previously looked for a
Connection: upgradeheader; 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: upgradeheader, httpuv looks for the presence of anUpgradeheader (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
quietoption 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 pipeandERROR: [uv_write] bad file descriptorby 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 toINFOorDEBUG. (#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)
- C
Published by wch about 6 years ago
httpuv - 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)
- C
Published by wch about 6 years ago
httpuv - httpuv 1.5.4
Fixed #275: Large HTTP request headers could get truncated if they spanned more than one TCP message. (#277)
Fixed build for Solaris. (#271)
Fixed a test that had incorrect logic. (#272)
- C
Published by wch about 6 years ago