2016-12-23 13:03:07 +00:00
|
|
|
# Version 0.1.0 (Dec 23, 2016)
|
|
|
|
|
|
|
|
This is the first public release of Rocket!
|
|
|
|
|
|
|
|
## Breaking
|
|
|
|
|
|
|
|
All of the mentions to `hyper` types in core Rocket types are no more. Rocket
|
|
|
|
now implements its own `Request` and `Response` types.
|
|
|
|
|
|
|
|
* `ContentType` uses associated constants instead of static methods.
|
|
|
|
* `StatusCode` removed in favor of new `Status` type.
|
|
|
|
* `Response` type alias superceded by `Response` type.
|
|
|
|
* `Responder::respond` no longer takes in hyper type.
|
|
|
|
* `Responder::respond` returns `Response`, takes `self` by move.
|
|
|
|
* `Handler` returns `Outcome` instead of `Response` type alias.
|
|
|
|
* `ErrorHandler` returns `Result`.
|
|
|
|
* All `Hyper*` types were moved to unprefixed versions in `hyper::`.
|
|
|
|
* `MockRequest::dispatch` now returns a `Response` type.
|
|
|
|
* `URIBuf` removed in favor of unified `URI`.
|
|
|
|
* Rocket panics when an illegal, dynamic mount point is used.
|
|
|
|
|
|
|
|
## Core
|
|
|
|
|
|
|
|
* Rocket handles `HEAD` requests automatically.
|
|
|
|
* New `Response` and `ResponseBuilder` types.
|
|
|
|
* New `Request`, `Header`, `Status`, and `ContentType` types.
|
|
|
|
|
|
|
|
## Testing
|
|
|
|
|
|
|
|
* `MockRequest` allows any type of header.
|
|
|
|
* `MockRequest` allows cookies.
|
|
|
|
|
|
|
|
## Codegen
|
|
|
|
|
|
|
|
* Debug output disabled by default.
|
|
|
|
* The `ROCKET_CODEGEN_DEBUG` environment variables enables codegen logging.
|
|
|
|
|
2016-12-12 06:23:08 +00:00
|
|
|
# Version 0.0.11 (Dec 11, 2016)
|
|
|
|
|
|
|
|
## Streaming Requests
|
|
|
|
|
|
|
|
All incoming request data is now streamed. This resulted in a major change to
|
|
|
|
the Rocket APIs. They are summarized through the following API changes:
|
|
|
|
|
|
|
|
* The `form` route parameter has been removed.
|
|
|
|
* The `data` route parameter has been introduced.
|
|
|
|
* Forms are now handled via the `data` parameter and `Form` type.
|
|
|
|
* Removed the `data` parameter from `Request`.
|
|
|
|
* Added `FromData` conversion trait and default implementation.
|
|
|
|
* `FromData` is used to automatically derive the `data` parameter.
|
|
|
|
* `Responder`s are now final: they cannot forward to other requests.
|
|
|
|
* `Responser`s may only forward to catchers.
|
|
|
|
|
|
|
|
## Breaking
|
|
|
|
|
|
|
|
* Request `uri` parameter is private. Use `uri()` method instead.
|
|
|
|
* `form` module moved under `request` module.
|
|
|
|
* `response::data` was renamed to `response::content`.
|
|
|
|
* Introduced `Outcome` with `Success`, `Failure`, and `Forward` variants.
|
|
|
|
* `outcome` module moved to top-level.
|
|
|
|
* `Response` is now a type alias to `Outcome`.
|
|
|
|
* `Empty` `Responder` was removed.
|
|
|
|
* `StatusResponder` removed in favor of `response::status` module.
|
|
|
|
|
|
|
|
## Codegen
|
|
|
|
|
|
|
|
* Error handlers can now take 0, 1, or 2 parameters.
|
|
|
|
* `FromForm` derive now works on empty structs.
|
|
|
|
* Lifetimes are now properly stripped in code generation.
|
|
|
|
* Any valid ident is now allowed in single-parameter route parameters.
|
|
|
|
|
|
|
|
## Core
|
|
|
|
|
|
|
|
* Route is now cloneable.
|
|
|
|
* `Request` no longer has any lifetime parameters.
|
|
|
|
* `Handler` type now includes a `Data` parameter.
|
|
|
|
* `http` module is public.
|
|
|
|
* `Responder` implemented for `()` type as an empty response.
|
|
|
|
* Add `config::get()` for global config access.
|
|
|
|
* Introduced `testing` module.
|
|
|
|
* `Rocket.toml` allows global configuration via `[global]` table.
|
|
|
|
|
|
|
|
## Docs
|
|
|
|
|
|
|
|
* Added a `raw_upload` example.
|
|
|
|
* Added a `pastebin` example.
|
|
|
|
* Documented all public APIs.
|
|
|
|
|
|
|
|
## Testing
|
|
|
|
|
|
|
|
* Now building and running tests with `--all-features` flag.
|
|
|
|
* Added appveyor config for Windows CI testing.
|
|
|
|
|
2016-10-04 22:27:58 +00:00
|
|
|
# Version 0.0.10 (Oct 03, 2016)
|
|
|
|
|
|
|
|
## Breaking
|
|
|
|
|
|
|
|
* Remove `Rocket::new` in favor of `ignite` method.
|
2016-10-04 22:34:44 +00:00
|
|
|
* Remove `Rocket::mount_and_launch` in favor of chaining `mount(..).launch()`.
|
2016-10-04 22:27:58 +00:00
|
|
|
* `mount` and `catch` take `Rocket` type by value.
|
|
|
|
* All types related to HTTP have been moved into `http` module.
|
2016-10-04 22:34:44 +00:00
|
|
|
* `Template::render` in `contrib` now takes context by reference.
|
2016-10-04 22:27:58 +00:00
|
|
|
|
|
|
|
## Core
|
|
|
|
|
2016-10-04 22:34:44 +00:00
|
|
|
* Rocket now parses option `Rocket.toml` for configuration, defaulting to sane
|
2016-10-04 22:27:58 +00:00
|
|
|
values.
|
|
|
|
* `ROCKET_ENV` environment variable can be used to specify running environment.
|
|
|
|
|
|
|
|
## Docs
|
|
|
|
|
|
|
|
* Document `ContentType`.
|
|
|
|
* Document `Request`.
|
|
|
|
* Add script that builds docs.
|
|
|
|
|
|
|
|
## Testing
|
|
|
|
|
2016-10-04 22:34:44 +00:00
|
|
|
* Scripts can now be run from any directory.
|
2016-10-04 22:27:58 +00:00
|
|
|
* Cache Cargo directories in Travis for faster testing.
|
2016-10-04 22:34:44 +00:00
|
|
|
* Check that library version numbers match in testing script.
|
2016-10-04 22:27:58 +00:00
|
|
|
|
|
|
|
# Version 0.0.9 (Sep 29, 2016)
|
|
|
|
|
|
|
|
## Breaking
|
|
|
|
|
2016-10-04 22:32:10 +00:00
|
|
|
* Rename `response::data_type` to `response::data`.
|
2016-10-04 22:27:58 +00:00
|
|
|
|
|
|
|
## Core
|
|
|
|
|
|
|
|
* Rocket interprets `_method` field in forms as the incoming request's method.
|
2016-10-04 22:34:44 +00:00
|
|
|
* Add `Outcome::Bad` to signify responses that failed internally.
|
2016-10-04 22:27:58 +00:00
|
|
|
* Add a `NamedFile` `Responder` type that uses a file's extension for the
|
|
|
|
response's content type.
|
|
|
|
* Add a `Stream` `Responder` for streaming responses.
|
|
|
|
|
|
|
|
## Contrib
|
|
|
|
|
|
|
|
* Introduce the `contrib` crate.
|
|
|
|
* Add JSON support via `JSON`, which implements `FromRequest` and `Responder`.
|
|
|
|
* Add templating support via `Template` which implements `Responder`.
|
|
|
|
|
|
|
|
## Docs
|
|
|
|
|
|
|
|
* Initial guide-like documentation.
|
|
|
|
* Add documentation, testing, and contributing sections to README.
|
|
|
|
|
|
|
|
## Testing
|
|
|
|
|
|
|
|
* Add a significant number of codegen tests.
|
|
|
|
|