• update NEWS.md file to follow CRAN specification
  • update docs with new roxygen. Fixes CRAN notes in HTML5 compatibility
  • Expose option to control which HTTP headers need to be split by comma during parsing. See options("RestRserve.headers.split"). See #187, #189. Thanks @DavZim.
  • Improved ETag Middleware - see #188. Thanks @DavZim.
  • Fix automatic docker builds. Now builds are made with github actions.
    • docker images are based on R 4.2.0 now
    • minimal images are based on Alpine linux from r-minimal
    • removed HAproxy from standard RestRserve image
  • Skip tests on the live Rserve http server on CRAN which caused spurious test errors
  • Added ETag Middleware #182
  • fix content-type for application/x-www-form-urlencoded response, #184
  • major stable release!
  • fix CRAN notes and failing test on Windows
  • fix bug in content-type when serving files
  • Fix r-devel failing tests (due to upstream R changes)
  • move to CI to github actions
  • using convenient .req and .res placeholders as handler argument names allows to leverage autocomplete
  • update benchmarking vignette to compare plumber and plumber + future. See #170
  • improve multipart/form-data parsing, see #160 for details
  • don’t allow to start app which uses Rserve backend from within RStudio. This is useless since it blocks R sessions, but also dangerous since it can crash RStudio. See discussion in #158
  • stdin file descriptor is closed inside child processes
  • logs are now flushed to stdin more reliably (but still there is race condition because multiple child processes write to the same stdout)
  • use jsonlite::parse_json instead of jsonlite::fromJSON for safety reasons
  • more efficient multipart handling - see #150. Thanks @rplati for reporting.
  • substantially reduced latency when handling requests from new connection in a fresh fork - see #149. Benchmarks updated. Thanks @t-wojciech and @s-u for the discussion.
  • fixed bug when wrong error code was returned for Unprocessable Entity http error - see #141. Thanks @junghwan-yun for reporting.
  • fixed bug when path parameters were not properly parsed - see #147.
  • parse content-type directly from headers - see #137
  • update code for header names validation to conform to rfc7230, see #132
  • generate documentation with roxygen2 7.1.0 which has support for R6 classes
  • set a timeout of 1 sec for checking open ports (see #130)
  • fixed memory access bug detected by CRAN ASAN checks (see #127)
  • docker image is based on rocker/r-ver:3.6.2 now
  • don’t run examples during website build
  • Initial CRAN version - RestRserve 0.2.0