Post-release 0.3 news article updates.

This commit is contained in:
Sergio Benitez 2017-07-15 02:31:20 -07:00
parent aa91daf71f
commit f87746d211
2 changed files with 75 additions and 13 deletions

View File

@ -1,5 +1,5 @@
[[articles]] [[articles]]
title = "Rocket 0.3: Fairings, TLS, Private Cookies" title = "Rocket v0.3: Fairings, TLS, Private Cookies"
slug = "2017-07-14-version-0.3" slug = "2017-07-14-version-0.3"
author = "Sergio Benitez" author = "Sergio Benitez"
author_url = "https://sergio.bz" author_url = "https://sergio.bz"
@ -8,9 +8,9 @@ snippet = """
I'm excited to announce that the next major release of Rocket is available I'm excited to announce that the next major release of Rocket is available
today! Rocket 0.3 is packed with new features and improvements that increase today! Rocket 0.3 is packed with new features and improvements that increase
developer productivity, improve application security, and provide new developer productivity, improve application security, and provide new
opportunities for extensibility. Rocket 0.3 was developed over the course of 6 opportunities for extensibility. Rocket 0.3 is the culmination of almost 6
months. During this time, more than 225 changes were committed, over 100 issues months of work. During this time, more than 225 changes were committed, over 100
(primarily questions and feature requests) were closed, and over 40 pull issues (primarily questions and feature requests) were closed, and over 40 pull
requests were submitted. The Rocket community has proven steadfast in their requests were submitted. The Rocket community has proven steadfast in their
support: a sincere thank you to everyone involved! support: a sincere thank you to everyone involved!
""" """

View File

@ -1,4 +1,4 @@
# Rocket 0.3: Fairings, TLS, Private Cookies # Rocket v0.3: Fairings, TLS, Private Cookies
<p class="metadata"><strong> <p class="metadata"><strong>
Posted by <a href="https://sergio.bz">Sergio Benitez</a> on July 14, 2017 Posted by <a href="https://sergio.bz">Sergio Benitez</a> on July 14, 2017
@ -7,9 +7,9 @@
I'm excited to announce that the next major release of Rocket is available I'm excited to announce that the next major release of Rocket is available
today! Rocket 0.3 is packed with new features and improvements that increase today! Rocket 0.3 is packed with new features and improvements that increase
developer productivity, improve application security, and provide new developer productivity, improve application security, and provide new
opportunities for extensibility. Rocket 0.3 was developed over the course of 6 opportunities for extensibility. Rocket 0.3 is the culmination of almost 6
months. During this time, more than 225 changes were committed, over 100 issues months of work. During this time, more than 225 changes were committed, over 100
(primarily questions and feature requests) were closed, and over 40 pull issues (primarily questions and feature requests) were closed, and over 40 pull
requests were submitted. The Rocket community has proven steadfast in their requests were submitted. The Rocket community has proven steadfast in their
support: a sincere thank you to everyone involved! support: a sincere thank you to everyone involved!
@ -26,7 +26,7 @@ overview](/overview).
## What's New? ## What's New?
Rocket 0.3 is _big_ release, packed with over 100 changes. We highlight the Rocket 0.3 is a _big_ release, packed with over 100 changes. We highlight the
biggest new features here. For a complete description of everything new and biggest new features here. For a complete description of everything new and
different in 0.3, please see the [CHANGELOG]. different in 0.3, please see the [CHANGELOG].
@ -169,13 +169,75 @@ renaming](/guide/requests/#field-renaming) section of the guide.
### And Plenty More! ### And Plenty More!
In addition to the four highlighted above, Rocket 0.3 also ships with 26 other In addition to the four highlighted above, Rocket 0.3 also ships with the
new features! Be sure to check out the [CHANGELOG] for the complete list. following new features:
* A [`MsgPack`] type has been added for simple consumption and returning of
MessagePack data.
* [`Rocket::launch()`] returns launch failures ([`LaunchError`]) for
inspection without panicking.
* Routes without query parameters now match requests with or without query
parameters.
* [Default rankings] prefer static paths and routes with query string matches.
* A native [`Accept`] header structure was added.
* The [`Accept`] request header can be retrieved via [`Request::accept()`].
* All active routes can be retrieved via [`Rocket::routes()`].
* [`Response::body_string()`] was added to retrieve the response body as a
`String`.
* [`Response::body_bytes()`] was added to retrieve the response body as a
`Vec<u8>`.
* [`Response::content_type()`] was added to retrieve the Content-Type header
of a response.
* Data limits on incoming data are [now
configurable](/guide/configuration/#data-limits).
* [`Request::limits()`] was added to retrieve incoming data limits.
* Responders may dynamically adjust their response based on the incoming
request.
* [`Request::guard()`] was added for simple retrieval of request guards.
* [`Request::route()`] was added to retrieve the active route, if any.
* [`&Route`] is now a request guard.
* The base mount path of a [`Route`] can be retrieved via `Route::base` or
`Route::base()`.
* `Config::{development, staging, production}` constructors were added for
[`Config`].
* [`Config::get_datetime()`] was added to retrieve an extra as a `Datetime`.
* Forms can be now parsed _leniently_ via the new [`LenientForm`] data guard.
* The `?` operator can now be used with `Outcome`.
* Quoted string, array, and table [configuration parameters] can be set via
environment variables.
* Log coloring is disabled when `stdout` is not a TTY.
* [`FromForm`] is implemented for `Option<T: FromForm>`, `Result<T: FromForm,
T::Error>`.
* The [`NotFound`] responder was added for simple **404** response
construction.
[`MsgPack`]: https://api.rocket.rs/rocket_contrib/struct.MsgPack.html
[`Rocket::launch()`]: https://api.rocket.rs/rocket/struct.Rocket.html#method.launch
[`LaunchError`]: https://api.rocket.rs/rocket/error/struct.LaunchError.html
[Default rankings]: https://api.rocket.rs/rocket/struct.Route.html
[`&Route`]: https://api.rocket.rs/rocket/struct.Route.html
[`Route`]: https://api.rocket.rs/rocket/struct.Route.html
[`Accept`]: https://api.rocket.rs/rocket/http/struct.Accept.html
[`Request::accept()`]: https://api.rocket.rs/rocket/struct.Request.html#method.accept
[`contrib`]: https://api.rocket.rs/rocket_contrib/
[`Rocket::routes()`]: https://api.rocket.rs/rocket/struct.Rocket.html#method.routes
[`Response::body_string()`]: https://api.rocket.rs/rocket/struct.Response.html#method.body_string
[`Response::body_bytes()`]: https://api.rocket.rs/rocket/struct.Response.html#method.body_bytes
[`Response::content_type()`]: https://api.rocket.rs/rocket/struct.Response.html#method.content_type
[`Request::guard()`]: https://api.rocket.rs/rocket/struct.Request.html#method.guard
[`Request::limits()`]: https://api.rocket.rs/rocket/struct.Request.html#method.limits
[`Request::route()`]: https://api.rocket.rs/rocket/struct.Request.html#method.route
[`Config`]: https://api.rocket.rs/rocket/struct.Config.html
[`Cookies`]: https://api.rocket.rs/rocket/http/enum.Cookies.html
[`Config::get_datetime()`]: https://api.rocket.rs/rocket/struct.Config.html#method.get_datetime
[`LenientForm`]: https://api.rocket.rs/rocket/request/struct.LenientForm.html
[configuration parameters]: https://api.rocket.rs/rocket/config/index.html#environment-variables
[`NotFound`]: https://api.rocket.rs/rocket/response/status/struct.NotFound.html
## Breaking Changes ## Breaking Changes
This release includes many breaking changes. To keep this release note short, This release includes many breaking changes such as support for `serde` 1.0. To
please see the keep this release note short, please see the
[CHANGELOG](https://github.com/SergioBenitez/Rocket/blob/v0.3.0/CHANGELOG.md#breaking-changes) [CHANGELOG](https://github.com/SergioBenitez/Rocket/blob/v0.3.0/CHANGELOG.md#breaking-changes)
for the full list of breaking changes along with a short note about how to for the full list of breaking changes along with a short note about how to
handle the breaking change in existing applications. handle the breaking change in existing applications.