From a4dcb0cf4cfd28671bbc8f101a99dfa1a74668b9 Mon Sep 17 00:00:00 2001 From: Sergio Benitez Date: Thu, 6 Dec 2018 09:19:11 -0800 Subject: [PATCH] New version: 0.4.0. --- CHANGELOG.md | 223 +++++++++-------------- contrib/codegen/Cargo.toml | 2 +- contrib/lib/Cargo.toml | 6 +- contrib/lib/src/databases.rs | 2 +- contrib/lib/src/lib.rs | 2 +- contrib/lib/src/templates/mod.rs | 2 +- core/codegen/Cargo.toml | 6 +- core/codegen/src/lib.rs | 2 +- core/http/Cargo.toml | 4 +- core/lib/Cargo.toml | 6 +- core/lib/src/lib.rs | 2 +- scripts/config.sh | 2 +- site/guide/1-quickstart.md | 2 +- site/guide/10-pastebin.md | 4 +- site/guide/2-getting-started.md | 2 +- site/guide/4-requests.md | 2 +- site/guide/6-state.md | 2 +- site/guide/9-configuration.md | 2 +- site/index.toml | 4 +- site/news/2018-11-30-version-0.4-rc-2.md | 4 +- 20 files changed, 114 insertions(+), 167 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6e35dc6aea..6867c51151 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,84 +1,4 @@ -# Version 0.4.0-rc.2 (Nov 30, 2018) - -## New Features - -This release includes the following new features: - - * Introduced the [`SpaceHelmet`] security and privacy headers fairing. - * Private cookies are gated behind a `private-cookies` feature. - * Applications can launch without a working directory. - * `Option` and `Result` types can be used in `uri!` expressions. - * Added [`State::from()`] for constructing `State` values. - -[`SpaceHelmet`]: https://api.rocket.rs/v0.4/rocket_contrib/helmet/index.html -[`State::from()`]: https://api.rocket.rs/v0.4/rocket/struct.State.html#method.from - -## Breaking Changes - -This release includes several breaking changes. These changes are listed below -along with a short note about how to handle the breaking change in existing -applications when applicable. - - * **Minimum required nightly is `2018-11-23`.** - - Update to `nightly-2018-11-23` or later before updating to `rc.2`. - - * **[`UriDisplay`] is parameterized by a [`UriPart`].** - - When implementing `UriDisplay`, decide whether the value is to be displayed - in the path part, query part, or both of a URI. Implement `UriDisplay` - and/or `UriDisplay` appropriately. - - * **[`UriDisplay`] derive was removed in favor of [`UriDisplayQuery`] and - [`UriDisplayPath`].** - - To mimic the previous behavior, derive `UriDisplayQuery`. - - * **[`Config::root()`] returns an `Option<&Path>` instead of an `&Path`.** - - For the previous behavior, use `config.root().unwrap()`. - - * **[`Config`] constructors return a `Config` instead of a `Result`.** - - * **`ConfigError::BadCWD`, `Config.config_path` were removed.** - -[`UriDisplay`]: https://api.rocket.rs/v0.4/rocket/http/uri/trait.UriDisplay.html -[`UriPart`]: https://api.rocket.rs/v0.4/rocket/http/uri/trait.UriPart.html -[`UriDisplayPath`]: https://api.rocket.rs/v0.4/rocket_codegen/derive.UriDisplayPath.html -[`UriDisplayQuery`]: https://api.rocket.rs/v0.4/rocket_codegen/derive.UriDisplayQuery.html -[`Config`]: https://api.rocket.rs/v0.4/rocket/struct.Config.html -[`Config::root()`]: https://api.rocket.rs/v0.4/rocket/struct.Config.html#method.root - -## Fixes - -Several issues in the first release candidate were addressed in this release: - - * Characters in URIs are properly percent-encoded ([#808]). - * Generated variables are properly spanned and prefixed ([#817], [#839]). - * [`Client`] regained `Sync` ([#814]). - -[#808]: https://github.com/SergioBenitez/Rocket/issues/808 -[#817]: https://github.com/SergioBenitez/Rocket/issues/817 -[#839]: https://github.com/SergioBenitez/Rocket/issues/839 -[#814]: https://github.com/SergioBenitez/Rocket/issues/814 - -## General Improvements - -In addition to new features, Rocket saw the following improvements: - - * Console coloring uses default terminal colors instead of white. - * Console coloring is consistent across all messages. - * `i128` and `u128` now implement [`FromParam`], [`FromFormValue`]. - * [`Form`] and [`LenientForm`] can be publicly constructed. - * Added ZIP (`application/zip`) as a known media type. - * The `base64` dependency was updated to `0.10`. - * Private, hidden `http` types are no longer visible in the rustdocs. - -[`FromParam`]: https://api.rocket.rs/v0.4/rocket/request/trait.FromParam.html -[`FromFormValue`]: https://api.rocket.rs/v0.4/rocket/request/trait.FromFormValue.html -[`Data`]: https://api.rocket.rs/v0.4/rocket/struct.Data.html - -# Version 0.4.0-rc.1 (Oct 31, 2018) +# Version 0.4.0 (Dec 06, 2018) ## New Features @@ -92,6 +12,8 @@ This release includes the following new features: * Introduced custom stateful handlers via [`Handler`]. * Introduced [transforming] data guards via [`FromData::transform()`]. * Introduced revamped [query string handling]. + * Introduced the [`SpaceHelmet`] security and privacy headers fairing. + * Private cookies are gated behind a `private-cookies` default feature. * Added [derive for `FromFormValue`]. * Added [derive for `Responder`]. * Added [`Template::custom()`] for customizing templating engines including @@ -116,7 +38,11 @@ This release includes the following new features: * [Default rankings] range from -6 to -1, differentiating on static query strings. * Added [`Request::get_query_value()`] for retrieving a query value by key. + * Applications can launch without a working directory. + * Added [`State::from()`] for constructing `State` values. +[`SpaceHelmet`]: https://api.rocket.rs/v0.4/rocket_contrib/helmet/index.html +[`State::from()`]: https://api.rocket.rs/v0.4/rocket/struct.State.html#method.from [Typed URIs]: https://rocket.rs/v0.4/guide/responses/#typed-uris [ORM agnostic database support]: https://rocket.rs/v0.4/guide/state/#databases [`Template::custom()`]: https://api.rocket.rs/v0.4/rocket_contrib/templates/struct.Template.html#method.custom @@ -180,19 +106,69 @@ This release includes many breaking changes. These changes are listed below along with a short note about how to handle the breaking change in existing applications when applicable. - * **[`LaunchErrorKind::Collision`] contains a vector of the colliding routes.** + * **Route and catcher attributes respect function privacy.** - Destruct using `LaunchErrorKind::Collision(..)` to ignore the vector. + To mount a route or register a catcher outside of the module it is declared, + ensure that the handler function is marked `pub` or `crate`. + + * **Query handling syntax has been completely revamped.** + + A query parameter of `` is now ``. Consider whether your + application benefits from the revamped [query string handling]. + + * **The `#[error]` attribute and `errors!` macro were removed.** + + Use `#[catch]` and `catchers!` instead. + + * **`Rocket::catch()` was renamed to [`Rocket::register()`].** + + Change calls of the form `.catch(errors![..])` to + `.register(catchers![..])`. + + * **The `#[catch]` attribute only accepts functions with 0 or 1 argument.** + + Ensure the argument to the catcher, if any, is of type `&Request`. * **[`json!`] returns a [`JsonValue`], no longer needs wrapping.** Change instances of `Json(json!(..))` to `json!` and change the corresponding type to `JsonValue`. + * **All environments default to port 8000.** + + Manually configure a port of `80` for the `stage` and `production` + environments for the previous behavior. + + * **Release builds default to the production environment.** + + Manually set the environment to `debug` with `ROCKET_ENV=debug` for the + previous behavior. + + * **[`Form`] and [`LenientForm`] lost a lifetime parameter, `get()` method.** + + Change a type of `Form<'a, T<'a>>` to `Form` or `Form>`. `Form` + and `LenientForm` now implement `Deref`, allowing for calls + to `.get()` to be removed. + * **[`ring`] was updated to 0.13.** Ensure all transitive dependencies to `ring` refer to version `0.13`. + * **`Uri` was largely replaced by [`Origin`].** + + In general, replace the type `Uri` with `Origin`. The `base` and `uri` + fields of [`Route`] are now of type [`Origin`]. The `&Uri` guard is now + `&Origin`. [`Request::uri()`] now returns an [`Origin`]. + + * **All items in [`rocket_contrib`] are namespaced behind modules.** + + * `Json` is now `json::Json` + * `MsgPack` is now `msgpack::MsgPack` + * `MsgPackError` is now `msgpack::Error` + * `Template` is now `templates::Template` + * `UUID` is now `uuid::Uuid` + * `Value` is replaced by `json::JsonValue` + * **TLS certificates require the `subjectAltName` extension.** Ensure that your TLS certificates contain the `subjectAltName` extension @@ -215,16 +191,6 @@ applications when applicable. Use [`Request::real_ip()`] or [`Request::client_ip()`] to retrieve the IP address from the "X-Real-IP" header if it is present. - * **Release builds default to the production environment.** - - Manually set the environment to `debug` with `ROCKET_ENV=debug` for the - previous behavior. - - * **All environments default to port 8000.** - - Manually configure a port of `80` for the `stage` and `production` - environments for the previous behavior. - * **[`Bind`] variant was added to [`LaunchErrorKind`].** Ensure matches on `LaunchErrorKind` include or ignore the `Bind` variant. @@ -238,29 +204,10 @@ applications when applicable. Use `Uuid` instead of `UUID`. - * **The `#[error]` attribute and `errors!` macro were removed.** - - Use `#[catch]` and `catchers!` instead. - - * **`Rocket::catch()` was renamed to [`Rocket::register()`].** - - Change calls of the form `.catch(errors![..])` to - `.register(catchers![..])`. - - * **The `#[catch]` attribute only accepts functions with 0 or 1 argument.** - - Ensure the argument to the catcher, if any, is of type `&Request`. - * **`LocalRequest::cloned_dispatch()` was removed.** Chain calls to `.clone().dispatch()` for the previous behavior. - * **`Uri` was largely replaced by [`Origin`].** - - In general, replace the type `Uri` with `Origin`. The `base` and `uri` - fields of [`Route`] are now of type [`Origin`]. The `&Uri` guard is now - `&Origin`. [`Request::uri()`] now returns an [`Origin`]. - * **[`Redirect`] constructors take a generic type of `T: TryInto>`.** @@ -277,11 +224,6 @@ applications when applicable. Ensure matches on `ConfigError` include or ignore the `Missing` variant. - * **Route and catcher attributes respect function privacy.** - - To mount a route or register a catcher outside of the module it is declared, - ensure that the handler function is marked `pub` or `crate`. - * **The [`FromData`] impl for [`Json`] now returns an error of type [`JsonError`].** @@ -293,29 +235,13 @@ applications when applicable. Change _implementations_, not uses, of `FromData` to `FromDataSimple`. Consider whether your implementation could benefit from [transformations]. - * **[`Form`] and [`LenientForm`] lost a lifetime parameter, `get()` method.** - - Change a type of `Form<'a, T<'a>>` to `Form` or `Form>`. `Form` - and `LenientForm` now implement `Deref`, allowing for calls - to `.get()` to be removed. - - * **Query handling syntax has been completely revamped.** - - A query parameter of `` is now ``. Consider whether your - application benefits from the revamped [query string handling]. - * **[`FormItems`] iterates over values of type [`FormItem`].** Map using `.map(|item| item.key_value())` for the previous behavior. - * **All items in [`rocket_contrib`] are namespaced behind modules.** + * **[`LaunchErrorKind::Collision`] contains a vector of the colliding routes.** - * `Json` is now `json::Json` - * `MsgPack` is now `msgpack::MsgPack` - * `MsgPackError` is now `msgpack::Error` - * `Template` is now `templates::Template` - * `UUID` is now `uuid::Uuid` - * `Value` is replaced by `json::JsonValue` + Destruct using `LaunchErrorKind::Collision(..)` to ignore the vector. * **[`Request::get_param()`] and [`Request::get_segments()`] are indexed by _segment_, not dynamic parameter.** @@ -339,8 +265,18 @@ applications when applicable. `status::NoContent` with `Status::NoContent`. Replace `status::Reset` with `Status::ResetContent`. + * **[`Config::root()`] returns an `Option<&Path>` instead of an `&Path`.** + + For the previous behavior, use `config.root().unwrap()`. + * **[`Status::new()`] is no longer `const`.** + Construct a `Status` directly. + + * **[`Config`] constructors return a `Config` instead of a `Result`.** + + * **`ConfigError::BadCWD`, `Config.config_path` were removed.** + * **[`Json`] no longer has a default value for its type parameter.** * **Using `data` on a non-payload method route is a warning instead of error.** @@ -389,6 +325,8 @@ applications when applicable. [`rocket_contrib`]: https://api.rocket.rs/v0.4/rocket_contrib/index.html [`MsgPack`]: https://api.rocket.rs/v0.4/rocket_contrib/msgpack/struct.MsgPack.html [`Status::new()`]: https://api.rocket.rs/v0.4/rocket/http/struct.Status.html#method.new +[`Config`]: https://api.rocket.rs/v0.4/rocket/struct.Config.html +[`Config::root()`]: https://api.rocket.rs/v0.4/rocket/struct.Config.html#method.root ## General Improvements @@ -401,6 +339,8 @@ In addition to new features, Rocket saw the following improvements: * Private cookies are set to `HttpOnly` and are given an expiration date of 1 week by default. * A [Tera templates example] was added. + * All macros, derives, and attributes are individually documented in + [`rocket_codegen`]. * Invalid client requests receive a response of `400` instead of `500`. * Response bodies are reliably stripped on `HEAD` requests. * Added a default catcher for `504: Gateway Timeout`. @@ -423,7 +363,8 @@ In addition to new features, Rocket saw the following improvements: * Added FLAC (`audio/flac`), Icon (`image/x-icon`), WEBA (`audio/webm`), TIFF (`image/tiff`), AAC (`audio/aac`), Calendar (`text/calendar`), MPEG (`video/mpeg`), TAR (`application/x-tar`), GZIP (`application/gzip`), MOV - (`video/quicktime`), MP4 (`video/mp4`) as known media types. + (`video/quicktime`), MP4 (`video/mp4`), ZIP (`application/zip`) as known + media types. * Added `.weba` (`WEBA`), `.ogv` (`OGG`), `.mp4` (`MP4`), `.mpeg4` (`MP4`), `.aac` (`AAC`), `.ics` (`Calendar`), `.bin` (`Binary`), `.mpg` (`MPEG`), `.mpeg` (`MPEG`), `.tar` (`TAR`), `.gz` (`GZIP`), `.tif` (`TIFF`), `.tiff` @@ -433,8 +374,11 @@ In addition to new features, Rocket saw the following improvements: * Generated code now logs through logging infrastructures as opposed to using `println!`. * Routing has been optimized by caching routing metadata. - * All macros, derives, and attributes are individually documented in - [`rocket_codegen`]. + * [`Form`] and [`LenientForm`] can be publicly constructed. + * Console coloring uses default terminal colors instead of white. + * Console coloring is consistent across all messages. + * `i128` and `u128` now implement [`FromParam`], [`FromFormValue`]. + * The `base64` dependency was updated to `0.10`. * The `log` dependency was updated to `0.4`. * The `handlebars` dependency was updated to `1.0`. * The `tera` dependency was updated to `0.11`. @@ -451,6 +395,9 @@ In addition to new features, Rocket saw the following improvements: [`Config::root_relative()`]: https://api.rocket.rs/v0.4/rocket/struct.Config.html#method.root_relative [`Config::tls_enabled()`]: https://api.rocket.rs/v0.4/rocket/struct.Config.html#method.tls_enabled [`rocket_codegen`]: https://api.rocket.rs/v0.4/rocket_codegen/index.html +[`FromParam`]: https://api.rocket.rs/v0.4/rocket/request/trait.FromParam.html +[`FromFormValue`]: https://api.rocket.rs/v0.4/rocket/request/trait.FromFormValue.html +[`Data`]: https://api.rocket.rs/v0.4/rocket/struct.Data.html ## Infrastructure diff --git a/contrib/codegen/Cargo.toml b/contrib/codegen/Cargo.toml index 9dfb124782..664dd34d92 100644 --- a/contrib/codegen/Cargo.toml +++ b/contrib/codegen/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rocket_contrib_codegen" -version = "0.4.0-rc.2" +version = "0.4.0" authors = ["Sergio Benitez "] description = "Procedural macros for the Rocket contrib libraries." documentation = "https://api.rocket.rs/v0.4/rocket_contrib/" diff --git a/contrib/lib/Cargo.toml b/contrib/lib/Cargo.toml index d812497742..20ed81146c 100644 --- a/contrib/lib/Cargo.toml +++ b/contrib/lib/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rocket_contrib" -version = "0.4.0-rc.2" +version = "0.4.0" authors = ["Sergio Benitez "] description = "Community contributed libraries for the Rocket web framework." documentation = "https://api.rocket.rs/v0.4/rocket_contrib/" @@ -37,8 +37,8 @@ mongodb_pool = ["databases", "mongodb", "r2d2-mongodb"] [dependencies] # Global dependencies. -rocket_contrib_codegen = { version = "0.4.0-rc.2", path = "../codegen", optional = true } -rocket = { version = "0.4.0-rc.2", path = "../../core/lib/" } +rocket_contrib_codegen = { version = "0.4.0", path = "../codegen", optional = true } +rocket = { version = "0.4.0", path = "../../core/lib/" } log = "0.4" # Serialization and templating dependencies. diff --git a/contrib/lib/src/databases.rs b/contrib/lib/src/databases.rs index 277ed758b9..49798b982c 100644 --- a/contrib/lib/src/databases.rs +++ b/contrib/lib/src/databases.rs @@ -32,7 +32,7 @@ //! //! ```toml //! [dependencies.rocket_contrib] -//! version = "0.4.0-rc.2" +//! version = "0.4.0" //! default-features = false //! features = ["diesel_sqlite_pool"] //! ``` diff --git a/contrib/lib/src/lib.rs b/contrib/lib/src/lib.rs index 51b3006db8..ef17a8e3a4 100644 --- a/contrib/lib/src/lib.rs +++ b/contrib/lib/src/lib.rs @@ -33,7 +33,7 @@ //! //! ```toml //! [dependencies.rocket_contrib] -//! version = "0.4.0-rc.2" +//! version = "0.4.0" //! default-features = false //! features = ["json"] //! ``` diff --git a/contrib/lib/src/templates/mod.rs b/contrib/lib/src/templates/mod.rs index f77f15382d..93ac09ed77 100644 --- a/contrib/lib/src/templates/mod.rs +++ b/contrib/lib/src/templates/mod.rs @@ -9,7 +9,7 @@ //! //! ```toml //! [dependencies.rocket_contrib] -//! version = 0.4.0-rc.2 +//! version = 0.4.0 //! default-features = false //! features = ["handlebars_templates", "tera_templates"] //! ``` diff --git a/core/codegen/Cargo.toml b/core/codegen/Cargo.toml index 63bc0e06ff..467863985b 100644 --- a/core/codegen/Cargo.toml +++ b/core/codegen/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rocket_codegen" -version = "0.4.0-rc.2" +version = "0.4.0" authors = ["Sergio Benitez "] description = "Procedural macros for the Rocket web framework." documentation = "https://api.rocket.rs/v0.4/rocket_codegen/" @@ -17,7 +17,7 @@ proc-macro = true [dependencies] indexmap = "1.0" quote = "0.6.1" -rocket_http = { version = "0.4.0-rc.2", path = "../http/" } +rocket_http = { version = "0.4.0", path = "../http/" } devise = "0.2" [build-dependencies] @@ -25,5 +25,5 @@ yansi = "0.5" version_check = "0.1.3" [dev-dependencies] -rocket = { version = "0.4.0-rc.2", path = "../lib" } +rocket = { version = "0.4.0", path = "../lib" } compiletest_rs = { version = "0.3", features = ["stable"] } diff --git a/core/codegen/src/lib.rs b/core/codegen/src/lib.rs index 2df367b7aa..8265925dea 100644 --- a/core/codegen/src/lib.rs +++ b/core/codegen/src/lib.rs @@ -22,7 +22,7 @@ //! //! ```toml //! [dependencies] -//! rocket = "0.4.0-rc.2" +//! rocket = "0.4.0" //! ``` //! //! And to import all macros, attributes, and derives via `#[macro_use]` in the diff --git a/core/http/Cargo.toml b/core/http/Cargo.toml index 39c0a7934d..7b254bf1ea 100644 --- a/core/http/Cargo.toml +++ b/core/http/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rocket_http" -version = "0.4.0-rc.2" +version = "0.4.0" authors = ["Sergio Benitez "] description = """ Types, traits, and parsers for HTTP requests, responses, and headers. @@ -36,4 +36,4 @@ features = ["server"] optional = true [dev-dependencies] -rocket = { version = "0.4.0-rc.2", path = "../lib" } +rocket = { version = "0.4.0", path = "../lib" } diff --git a/core/lib/Cargo.toml b/core/lib/Cargo.toml index 7d407a96e9..19b9337f87 100644 --- a/core/lib/Cargo.toml +++ b/core/lib/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rocket" -version = "0.4.0-rc.2" +version = "0.4.0" authors = ["Sergio Benitez "] description = """ Web framework for nightly with a focus on ease-of-use, expressibility, and speed. @@ -23,8 +23,8 @@ tls = ["rocket_http/tls"] private-cookies = ["rocket_http/private-cookies"] [dependencies] -rocket_codegen = { version = "0.4.0-rc.2", path = "../codegen" } -rocket_http = { version = "0.4.0-rc.2", path = "../http" } +rocket_codegen = { version = "0.4.0", path = "../codegen" } +rocket_http = { version = "0.4.0", path = "../http" } yansi = "0.5" log = "0.4" toml = "0.4.7" diff --git a/core/lib/src/lib.rs b/core/lib/src/lib.rs index 429c26e050..e0c9f6df79 100644 --- a/core/lib/src/lib.rs +++ b/core/lib/src/lib.rs @@ -47,7 +47,7 @@ //! //! ```toml //! [dependencies] -//! rocket = "0.4.0-rc.2" +//! rocket = "0.4.0" //! ``` //! //! Then, add the following to the top of your `main.rs` file: diff --git a/scripts/config.sh b/scripts/config.sh index 27beddfed9..efee33b1f7 100755 --- a/scripts/config.sh +++ b/scripts/config.sh @@ -24,7 +24,7 @@ function relative() { } # Full and major version of Rocket -ROCKET_VERSION="0.4.0-rc.2" +ROCKET_VERSION="0.4.0" ROCKET_MAJOR_VERSION="0.4" CURRENT_RELEASE=true diff --git a/site/guide/1-quickstart.md b/site/guide/1-quickstart.md index aa6bf83df4..d464f2133b 100644 --- a/site/guide/1-quickstart.md +++ b/site/guide/1-quickstart.md @@ -15,7 +15,7 @@ For instance, the following set of commands runs the `hello_world` example: ```sh git clone https://github.com/SergioBenitez/Rocket cd Rocket -git checkout v0.4.0-rc.2 +git checkout v0.4.0 cd examples/hello_world cargo run ``` diff --git a/site/guide/10-pastebin.md b/site/guide/10-pastebin.md index 2985fc0108..e405622dd8 100644 --- a/site/guide/10-pastebin.md +++ b/site/guide/10-pastebin.md @@ -43,8 +43,8 @@ Then add the usual Rocket dependencies to the `Cargo.toml` file: ```toml [dependencies] -rocket = "0.4.0-rc.2" -rocket_codegen = "0.4.0-rc.2" +rocket = "0.4.0" +rocket_codegen = "0.4.0" ``` And finally, create a skeleton Rocket application to work off of in diff --git a/site/guide/2-getting-started.md b/site/guide/2-getting-started.md index 14a21f3f87..1df33ed066 100644 --- a/site/guide/2-getting-started.md +++ b/site/guide/2-getting-started.md @@ -50,7 +50,7 @@ Now, add Rocket as a dependency in your `Cargo.toml`: ``` [dependencies] -rocket = "0.4.0-rc.2" +rocket = "0.4.0" ``` Modify `src/main.rs` so that it contains the code for the Rocket `Hello, world!` diff --git a/site/guide/4-requests.md b/site/guide/4-requests.md index 26875809c9..41c8e158fe 100644 --- a/site/guide/4-requests.md +++ b/site/guide/4-requests.md @@ -510,7 +510,7 @@ so that you depend on `rocket` as follows: ```toml [dependencies] -rocket = { version = "0.4.0-rc.2", default-features = false } +rocket = { version = "0.4.0", default-features = false } ``` [`ring`]: https://github.com/briansmith/ring diff --git a/site/guide/6-state.md b/site/guide/6-state.md index da3df46f67..3e5110e1ba 100644 --- a/site/guide/6-state.md +++ b/site/guide/6-state.md @@ -218,7 +218,7 @@ databases, you'd write in `Cargo.toml`: ```toml [dependencies.rocket_contrib] -version = "0.4.0-rc.2" +version = "0.4.0" default-features = false features = ["diesel_sqlite_pool"] ``` diff --git a/site/guide/9-configuration.md b/site/guide/9-configuration.md index 43b1f78b8d..937f0b55c1 100644 --- a/site/guide/9-configuration.md +++ b/site/guide/9-configuration.md @@ -279,7 +279,7 @@ dependency in your `Cargo.toml` file: ``` [dependencies] -rocket = { version = "0.4.0-rc.2", features = ["tls"] } +rocket = { version = "0.4.0", features = ["tls"] } ``` TLS is configured through the `tls` configuration parameter. The value of `tls` diff --git a/site/index.toml b/site/index.toml index 32fcd91864..e2427c12cd 100644 --- a/site/index.toml +++ b/site/index.toml @@ -3,8 +3,8 @@ ############################################################################### [release] -version = "0.4.0-rc.2" -date = "Nov 30, 2018" +version = "0.4.0" +date = "Dec 06, 2018" ############################################################################### # Top features: displayed in the header under the introductory text. diff --git a/site/news/2018-11-30-version-0.4-rc-2.md b/site/news/2018-11-30-version-0.4-rc-2.md index a44ee0827e..f5bea22c1b 100644 --- a/site/news/2018-11-30-version-0.4-rc-2.md +++ b/site/news/2018-11-30-version-0.4-rc-2.md @@ -13,11 +13,11 @@ contributions for improved diagnostics and stability. As before, this is an opportunity to discover issues with Rocket v0.4 and its documentation before its general release. We encourage all users to migrate their applications to the second release candidate and report any issues to the [GitHub issue tracker]. -To update to `v0.4.0-rc.2`, manually update `rocket` in your `Cargo.toml` file: +To update to `v0.4.0`, manually update `rocket` in your `Cargo.toml` file: ```toml [dependencies] -rocket = "0.4.0-rc.2" +rocket = "0.4.0" ``` Barring any major issues, of which none are expected, the general release of