All Versions
12
Latest Version
Avg Release Cycle
-
Latest Release
-

Changelog History
Page 1

  • v2.2.0

    • ⬆️ Bump minimum supported Rust version to 1.20.0.
    • 🔦 Expose that the Request body (accessible with request.data()) has a Send bound.
  • v2.1.0

    • Replace flate2 with deflate
    • 🛠 Fixed handling of url-encoded path components in route!() macro. Previously, URL was eagerly decoded and thus would fail to match intended routes if special characters were used (such as ? or /). Now, individual matched components are decoded after matching.
    • ➕ Added Response::empty_204.
    • ➕ Added ssl feature and new_ssl constructor to Server, for https support. The certificate and private key must be supplied by user.
  • v2.0.0

    • ⬇️ Dropped the use of rustc-serialize in favor of using serde.
    • Updated multipart to 0.13. The input::multipart::get_multipart_input function returns types reexported from multipart which have small but breaking API changes.
    • ⚡️ Update Server with an option to use a thread pool to process requests
  • v1.0.0

    • input::cookies changed to return an iterator that yields (&str, &str).
  • v0.4.2

    • 👍 The content_encoding module now supports brotli.
    • ➕ Added an accept! macro similar to a match expression that chooses a block depending on the value of the Accept header of the request.
    • ➕ Added proxy::full_proxy. It behaves the same as proxy but returns more status codes and less errors.
    • Added Response::from_data, from_file, with_content_disposition_attachment, empty_406, with_public_cache, with_private_cache, with_no_cache, without_header, with_additional_header and with_unique_header for easier response manipulation.
    • ➕ Added Request::headers() that provides an iterator to the list of headers.
    • Added input::priority_header_preferred and input::parse_priority_header to easily parse request headers such as Accept or Accept-Language.
    • MIME types that contain "font" are now also compressed by the content_encoding module.
    • 🔄 Changed text/xml to application/xml in the MIME types auto-determination.
  • v0.4.1

    • ➕ Added a Server struct as an alternative to start_server for manual control over the behavior.
    • ➕ Added a content_encoding::apply function that applies Content-Encoding to a response.
    • The try_or_400! macro now returns a response whose body describes the error in JSON.
    • The try_or_400! macro now requires the error to implement the std::error::Error trait.
  • v0.4.0

    • ➕ Added support for websockets with the websocket module.
    • Added Request::do_not_track() to query the DNT header.
    • Renamed get_json_input() to json_input().
    • 📇 Renamed get_cookies() to cookies().
    • Renamed get_basic_http_auth() to basic_http_auth().
    • 🔊 The logs now show the time of the start of the request processing.
    • Request::header() now returns a Option<&str> instead of Option<String>.
    • Response::svg() and Response::html() now take a Into<String> instead of a Into<Vec<u8>>.
    • Renamed Response::error() and success() to is_error() and is_success().
    • The headers field of Response are now Vec<(Cow<'static, str>, Cow<'static, str>)> instead of Vec<(String, String)>.
    • Removed Response::redirect and replaced it with redirect_301, redirect_302, etc.
    • ➕ Added Response::with_etag() to add an ETag header to a response.
    • ➕ Added an upgrade field to Response, necessary for websockets.
    • 🛠 Fixed being able to set the value of the Content-Length and Transfer-Encoding headers.
    • plain_text_body now has a limit of 1 MB of data before returning an error.
    • Added plain_text_body_with_limit which does the same as plain_text_body but with a customizable limit.
    • Implemented the std::error::Error trait on all error types.
    • Added Response::into_reader_and_size() to retreive a Read object from a ResponseBody.
    • 🛠 Fixed issue with static files not being found on Windows because of / and \ mismatch.
  • v0.3.3

    • ➕ Added the proxy module with basic reverse proxy.
  • v0.3.2

    • Added the rouille::input::plain_text_body function.
  • v0.3.1

    • Empty Vecs are now allowed for POST input.