mirror of https://github.com/rwf2/Rocket.git
New version: 0.4.0-rc.2.
This commit is contained in:
parent
b405b181a3
commit
90a6749313
80
CHANGELOG.md
80
CHANGELOG.md
|
@ -1,3 +1,83 @@
|
|||
# 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<Path>`
|
||||
and/or `UriDisplay<Query>` 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<Config>`.**
|
||||
|
||||
* **`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)
|
||||
|
||||
## New Features
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "rocket_contrib_codegen"
|
||||
version = "0.4.0-rc.1"
|
||||
version = "0.4.0-rc.2"
|
||||
authors = ["Sergio Benitez <sb@sergio.bz>"]
|
||||
description = "Procedural macros for the Rocket contrib libraries."
|
||||
documentation = "https://api.rocket.rs/v0.4/rocket_contrib/"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "rocket_contrib"
|
||||
version = "0.4.0-rc.1"
|
||||
version = "0.4.0-rc.2"
|
||||
authors = ["Sergio Benitez <sb@sergio.bz>"]
|
||||
description = "Community contributed libraries for the Rocket web framework."
|
||||
documentation = "https://api.rocket.rs/v0.4/rocket_contrib/"
|
||||
|
@ -36,8 +36,8 @@ redis_pool = ["databases", "redis", "r2d2_redis"]
|
|||
|
||||
[dependencies]
|
||||
# Global dependencies.
|
||||
rocket_contrib_codegen = { version = "0.4.0-rc.1", path = "../codegen", optional = true }
|
||||
rocket = { version = "0.4.0-rc.1", path = "../../core/lib/" }
|
||||
rocket_contrib_codegen = { version = "0.4.0-rc.2", path = "../codegen", optional = true }
|
||||
rocket = { version = "0.4.0-rc.2", path = "../../core/lib/" }
|
||||
log = "0.4"
|
||||
|
||||
# Serialization and templating dependencies.
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
//!
|
||||
//! ```toml
|
||||
//! [dependencies.rocket_contrib]
|
||||
//! version = "0.4.0-rc.1"
|
||||
//! version = "0.4.0-rc.2"
|
||||
//! default-features = false
|
||||
//! features = ["diesel_sqlite_pool"]
|
||||
//! ```
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
//!
|
||||
//! ```toml
|
||||
//! [dependencies.rocket_contrib]
|
||||
//! version = "0.4.0-rc.1"
|
||||
//! version = "0.4.0-rc.2"
|
||||
//! default-features = false
|
||||
//! features = ["json"]
|
||||
//! ```
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
//!
|
||||
//! ```toml
|
||||
//! [dependencies.rocket_contrib]
|
||||
//! version = 0.4.0-rc.1
|
||||
//! version = 0.4.0-rc.2
|
||||
//! default-features = false
|
||||
//! features = ["handlebars_templates", "tera_templates"]
|
||||
//! ```
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "rocket_codegen"
|
||||
version = "0.4.0-rc.1"
|
||||
version = "0.4.0-rc.2"
|
||||
authors = ["Sergio Benitez <sb@sergio.bz>"]
|
||||
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.1", path = "../http/" }
|
||||
rocket_http = { version = "0.4.0-rc.2", 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.1", path = "../lib" }
|
||||
rocket = { version = "0.4.0-rc.2", path = "../lib" }
|
||||
compiletest_rs = { version = "0.3", features = ["stable"] }
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
//!
|
||||
//! ```toml
|
||||
//! [dependencies]
|
||||
//! rocket = "0.4.0-rc.1"
|
||||
//! rocket = "0.4.0-rc.2"
|
||||
//! ```
|
||||
//!
|
||||
//! And to import all macros, attributes, and derives via `#[macro_use]` in the
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "rocket_http"
|
||||
version = "0.4.0-rc.1"
|
||||
version = "0.4.0-rc.2"
|
||||
authors = ["Sergio Benitez <sb@sergio.bz>"]
|
||||
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.1", path = "../lib" }
|
||||
rocket = { version = "0.4.0-rc.2", path = "../lib" }
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "rocket"
|
||||
version = "0.4.0-rc.1"
|
||||
version = "0.4.0-rc.2"
|
||||
authors = ["Sergio Benitez <sb@sergio.bz>"]
|
||||
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.1", path = "../codegen" }
|
||||
rocket_http = { version = "0.4.0-rc.1", path = "../http" }
|
||||
rocket_codegen = { version = "0.4.0-rc.2", path = "../codegen" }
|
||||
rocket_http = { version = "0.4.0-rc.2", path = "../http" }
|
||||
yansi = "0.5"
|
||||
log = "0.4"
|
||||
toml = "0.4.7"
|
||||
|
|
|
@ -47,7 +47,7 @@
|
|||
//!
|
||||
//! ```toml
|
||||
//! [dependencies]
|
||||
//! rocket = "0.4.0-rc.1"
|
||||
//! rocket = "0.4.0-rc.2"
|
||||
//! ```
|
||||
//!
|
||||
//! Then, add the following to the top of your `main.rs` file:
|
||||
|
|
|
@ -24,7 +24,7 @@ function relative() {
|
|||
}
|
||||
|
||||
# Full and major version of Rocket
|
||||
ROCKET_VERSION="0.4.0-rc.1"
|
||||
ROCKET_VERSION="0.4.0-rc.2"
|
||||
ROCKET_MAJOR_VERSION="0.4"
|
||||
CURRENT_RELEASE=true
|
||||
|
||||
|
|
|
@ -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.1
|
||||
git checkout v0.4.0-rc.2
|
||||
cd examples/hello_world
|
||||
cargo run
|
||||
```
|
||||
|
|
|
@ -43,8 +43,8 @@ Then add the usual Rocket dependencies to the `Cargo.toml` file:
|
|||
|
||||
```toml
|
||||
[dependencies]
|
||||
rocket = "0.4.0-rc.1"
|
||||
rocket_codegen = "0.4.0-rc.1"
|
||||
rocket = "0.4.0-rc.2"
|
||||
rocket_codegen = "0.4.0-rc.2"
|
||||
```
|
||||
|
||||
And finally, create a skeleton Rocket application to work off of in
|
||||
|
|
|
@ -50,7 +50,7 @@ Now, add Rocket as a dependency in your `Cargo.toml`:
|
|||
|
||||
```
|
||||
[dependencies]
|
||||
rocket = "0.4.0-rc.1"
|
||||
rocket = "0.4.0-rc.2"
|
||||
```
|
||||
|
||||
Modify `src/main.rs` so that it contains the code for the Rocket `Hello, world!`
|
||||
|
|
|
@ -510,7 +510,7 @@ so that you depend on `rocket` as follows:
|
|||
|
||||
```toml
|
||||
[dependencies]
|
||||
rocket = { version = "0.4.0-rc.1", default-features = false }
|
||||
rocket = { version = "0.4.0-rc.2", default-features = false }
|
||||
```
|
||||
|
||||
[`ring`]: https://github.com/briansmith/ring
|
||||
|
|
|
@ -215,7 +215,7 @@ databases, you'd write in `Cargo.toml`:
|
|||
|
||||
```toml
|
||||
[dependencies.rocket_contrib]
|
||||
version = "0.4.0-rc.1"
|
||||
version = "0.4.0-rc.2"
|
||||
default-features = false
|
||||
features = ["diesel_sqlite_pool"]
|
||||
```
|
||||
|
|
|
@ -279,7 +279,7 @@ dependency in your `Cargo.toml` file:
|
|||
|
||||
```
|
||||
[dependencies]
|
||||
rocket = { version = "0.4.0-rc.1", features = ["tls"] }
|
||||
rocket = { version = "0.4.0-rc.2", features = ["tls"] }
|
||||
```
|
||||
|
||||
TLS is configured through the `tls` configuration parameter. The value of `tls`
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
###############################################################################
|
||||
|
||||
[release]
|
||||
version = "0.4.0-rc.1"
|
||||
date = "Oct 31, 2018"
|
||||
version = "0.4.0-rc.2"
|
||||
date = "Nov 30, 2018"
|
||||
|
||||
###############################################################################
|
||||
# Top features: displayed in the header under the introductory text.
|
||||
|
|
|
@ -0,0 +1,48 @@
|
|||
# Rocket's 2nd v0.4 Release Candidate
|
||||
|
||||
<p class="metadata"><strong>
|
||||
Posted by <a href="https://sergio.bz">Sergio Benitez</a> on November 30, 2018
|
||||
</strong></p>
|
||||
|
||||
After a successful and productive initial v0.4 release candidate, I am happy to
|
||||
announce that the second release candidate for Rocket v0.4 is now available.
|
||||
|
||||
This release candidate fixes issues identified during the first release
|
||||
candidate, introduces further features, and leverages upstream `rustc`
|
||||
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:
|
||||
|
||||
```toml
|
||||
[dependencies]
|
||||
rocket = "0.4.0-rc.2"
|
||||
```
|
||||
|
||||
Barring any major issues, of which none are expected, the general release of
|
||||
Rocket v0.4 is planned for Wednesday, December 5th, when we'll post a full news
|
||||
article covering the biggest features and changes in Rocket v0.4. Until then,
|
||||
the [CHANGELOG] contains every feature addition, change, and improvement since
|
||||
v0.4.0-rc.1 and v0.3, as well as information on migrating your applications to
|
||||
v0.4. All documentation, including the [guide] and [API docs], has been updated
|
||||
in full for the second release candidate.
|
||||
|
||||
We're excited for your feedback, and we look forward to seeing you again on
|
||||
Wednesday, December 5th for the general release!
|
||||
|
||||
[GitHub issue tracker]: https://github.com/SergioBenitez/Rocket/issues
|
||||
[API docs]: https://api.rocket.rs/v0.4/rocket/
|
||||
[guide]: ../../guide
|
||||
[CHANGELOG]: https://github.com/SergioBenitez/Rocket/tree/v0.4/CHANGELOG.md#version-040-rc2-nov-30-2018
|
||||
|
||||
## About Rocket
|
||||
|
||||
Rocket is a web framework for Rust with a focus on ease of use, expressibility,
|
||||
and speed. Rocket makes it simple to write fast web applications without
|
||||
sacrificing flexibility or type safety. All with minimal code.
|
||||
|
||||
Not already using Rocket? Join the tens of thousands of users and hundreds of
|
||||
companies happily using Rocket today! Rocket's extensive documentation makes it
|
||||
easy. Get started now by [reading through the guide](../../guide) or learning
|
||||
more from [the overview](../../overview).
|
|
@ -1,3 +1,23 @@
|
|||
[[articles]]
|
||||
title = "Rocket's 2nd v0.4 Release Candidate"
|
||||
slug = "2018-11-30-version-0.4-rc-2"
|
||||
author = "Sergio Benitez"
|
||||
author_url = "https://sergio.bz"
|
||||
date = "November 30, 2018"
|
||||
snippet = """
|
||||
After a successful and productive initial v0.4 release candidate, I am happy to
|
||||
announce that the second release candidate for Rocket v0.4 is now available.
|
||||
|
||||
This release candidate fixes issues identified during the first release
|
||||
candidate, introduces further features, and leverages upstream `rustc`
|
||||
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].
|
||||
|
||||
[GitHub issue tracker]: https://github.com/SergioBenitez/Rocket/issues
|
||||
"""
|
||||
|
||||
[[articles]]
|
||||
title = "Rocket v0.4 Release Candidate"
|
||||
slug = "2018-10-31-version-0.4-rc"
|
||||
|
|
Loading…
Reference in New Issue