mirror of https://github.com/rwf2/Rocket.git
New version: 0.1.0. First public release!
This commit is contained in:
parent
22a058d2d5
commit
a94fcf41db
37
CHANGELOG.md
37
CHANGELOG.md
|
@ -1,3 +1,40 @@
|
||||||
|
# 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.
|
||||||
|
|
||||||
# Version 0.0.11 (Dec 11, 2016)
|
# Version 0.0.11 (Dec 11, 2016)
|
||||||
|
|
||||||
## Streaming Requests
|
## Streaming Requests
|
||||||
|
|
41
README.md
41
README.md
|
@ -74,7 +74,8 @@ You should see `Hello, world!` by visiting `http://localhost:8000`.
|
||||||
|
|
||||||
To test Rocket, simply run `./scripts/test.sh` from the root of the source tree.
|
To test Rocket, simply run `./scripts/test.sh` from the root of the source tree.
|
||||||
This will build and test the `core`, `codegen`, and `contrib` libraries as well
|
This will build and test the `core`, `codegen`, and `contrib` libraries as well
|
||||||
as all of the examples. This is the script that gets run by Travis CI.
|
as all of the examples. This is the script that gets run by Travis CI. To test a
|
||||||
|
crate individually, run `cargo test --all-features`.
|
||||||
|
|
||||||
### Core
|
### Core
|
||||||
|
|
||||||
|
@ -90,6 +91,12 @@ extracted from `rustc`, for testing. See the [compiler test
|
||||||
documentation](https://github.com/rust-lang/rust/blob/master/COMPILER_TESTS.md)
|
documentation](https://github.com/rust-lang/rust/blob/master/COMPILER_TESTS.md)
|
||||||
for information on how to write compiler tests.
|
for information on how to write compiler tests.
|
||||||
|
|
||||||
|
## Documentation
|
||||||
|
|
||||||
|
You can build the Rocket API documentation locally by running
|
||||||
|
`./scripts/mk-docs.sh`. The resulting documentation is what gets uploaded to
|
||||||
|
[api.rocket.rs](https://api.rocket.rs).
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
Contributions are absolutely, positively welcome and encouraged! Contributions
|
Contributions are absolutely, positively welcome and encouraged! Contributions
|
||||||
|
@ -98,7 +105,7 @@ come in many forms. You could:
|
||||||
1. Submit a feature request or bug report as an [issue](https://github.com/SergioBenitez/Rocket/issues).
|
1. Submit a feature request or bug report as an [issue](https://github.com/SergioBenitez/Rocket/issues).
|
||||||
2. Ask for improved documentation as an [issue](https://github.com/SergioBenitez/Rocket/issues).
|
2. Ask for improved documentation as an [issue](https://github.com/SergioBenitez/Rocket/issues).
|
||||||
3. Comment on [issues that require
|
3. Comment on [issues that require
|
||||||
feedback](https://github.com/SergioBenitez/Rocket/issues?q=is%3Aissue+is%3Aopen+label%3A%22feedback+wanted%22).
|
feedback](https://github.com/SergioBenitez/Rocket/issues?q=is%3Aissue+is%3Aopen+label%3A%22feedback+wanted%22).
|
||||||
4. Contribute code via [pull requests](https://github.com/SergioBenitez/Rocket/pulls).
|
4. Contribute code via [pull requests](https://github.com/SergioBenitez/Rocket/pulls).
|
||||||
|
|
||||||
We aim to keep Rocket's code quality at the highest level. This means that any
|
We aim to keep Rocket's code quality at the highest level. This means that any
|
||||||
|
@ -113,7 +120,10 @@ code you contribute must be:
|
||||||
* **Tested:** You must add (and pass) convincing tests for any functionality you add.
|
* **Tested:** You must add (and pass) convincing tests for any functionality you add.
|
||||||
* **Focused:** Your code should do what it's supposed to do and nothing more.
|
* **Focused:** Your code should do what it's supposed to do and nothing more.
|
||||||
|
|
||||||
All pull requests are code reviewed and tested by the CI.
|
All pull requests are code reviewed and tested by the CI. Note that unless you
|
||||||
|
explicitly state otherwise, any contribution intentionally submitted for
|
||||||
|
inclusion in Rocket by you shall be dual licensed under the MIT License and
|
||||||
|
Apache License, Version 2.0, without any additional terms or conditions.
|
||||||
|
|
||||||
## Performance
|
## Performance
|
||||||
|
|
||||||
|
@ -130,7 +140,7 @@ world!" benchmark:
|
||||||
* **Processor:** Intel Xeon X5675 @ 3.07GHz
|
* **Processor:** Intel Xeon X5675 @ 3.07GHz
|
||||||
* **Operating System:** Mac OS X v10.11.6
|
* **Operating System:** Mac OS X v10.11.6
|
||||||
|
|
||||||
**Hyper v0.10.0-a.0** (46 LOC) results (best of 3, +/- 300 req/s, +/- 1us latency):
|
**Hyper v0.10.0-a.0** (46 LOC) results (best of 3, +/- 2000 req/s, +/- 10us latency):
|
||||||
|
|
||||||
Running 10s test @ http://localhost:80
|
Running 10s test @ http://localhost:80
|
||||||
2 threads and 10 connections
|
2 threads and 10 connections
|
||||||
|
@ -141,21 +151,21 @@ world!" benchmark:
|
||||||
Requests/sec: 55715.98
|
Requests/sec: 55715.98
|
||||||
Transfer/sec: 8.08MB
|
Transfer/sec: 8.08MB
|
||||||
|
|
||||||
**Rocket v0.0.11** (8 LOC) results (best of 3, +/- 200 req/s, +/- 0.5us latency):
|
**Rocket v0.1.0** (8 LOC) results (best of 3, +/- 1000 req/s, +/- 5us latency):
|
||||||
|
|
||||||
Running 10s test @ http://localhost:80
|
Running 10s test @ http://localhost:80
|
||||||
2 threads and 10 connections
|
2 threads and 10 connections
|
||||||
Thread Stats Avg Stdev Max +/- Stdev
|
Thread Stats Avg Stdev Max +/- Stdev
|
||||||
Latency 163.97us 27.47us 699.00us 70.30%
|
Latency 161.33us 37.40us 2.08ms 75.89%
|
||||||
Req/Sec 29.58k 1.02k 32.39k 64.85%
|
Req/Sec 30.10k 1.13k 33.28k 72.77%
|
||||||
594546 requests in 10.10s, 82.78MB read
|
604782 requests in 10.10s, 84.21MB read
|
||||||
Requests/sec: 58868.83
|
Requests/sec: 59883.30
|
||||||
Transfer/sec: 8.20MB
|
Transfer/sec: 8.34MB
|
||||||
|
|
||||||
**Summary:**
|
**Summary:**
|
||||||
|
|
||||||
* Rocket throughput higher by 5.7% (higher is better).
|
* Rocket throughput higher by 7.5% (higher is better).
|
||||||
* Rocket latency lower by 7.4% (lower is better).
|
* Rocket latency lower by 7.8% (lower is better).
|
||||||
|
|
||||||
### Future Improvements
|
### Future Improvements
|
||||||
|
|
||||||
|
@ -165,3 +175,10 @@ performant HTTP backend is planned. We expect performance to improve
|
||||||
significantly at that time. The [Stabilize HTTP
|
significantly at that time. The [Stabilize HTTP
|
||||||
Library](https://github.com/SergioBenitez/Rocket/issues/17) issue tracks the
|
Library](https://github.com/SergioBenitez/Rocket/issues/17) issue tracks the
|
||||||
progress on this front.
|
progress on this front.
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
Rocket is licensed under either of the following, at your option:
|
||||||
|
|
||||||
|
* Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
|
||||||
|
* MIT License ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "rocket_codegen"
|
name = "rocket_codegen"
|
||||||
version = "0.1.0-rc"
|
version = "0.1.0"
|
||||||
authors = ["Sergio Benitez <sb@sergio.bz>"]
|
authors = ["Sergio Benitez <sb@sergio.bz>"]
|
||||||
description = "Code generation for the Rocket web framework."
|
description = "Code generation for the Rocket web framework."
|
||||||
documentation = "https://api.rocket.rs/rocket_codegen/"
|
documentation = "https://api.rocket.rs/rocket_codegen/"
|
||||||
|
@ -14,7 +14,7 @@ license = "MIT/Apache-2.0"
|
||||||
plugin = true
|
plugin = true
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
rocket = { version = "0.1.0-rc", path = "../lib/" }
|
rocket = { version = "0.1.0", path = "../lib/" }
|
||||||
log = "^0.3"
|
log = "^0.3"
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "rocket_contrib"
|
name = "rocket_contrib"
|
||||||
version = "0.1.0-rc"
|
version = "0.1.0"
|
||||||
authors = ["Sergio Benitez <sb@sergio.bz>"]
|
authors = ["Sergio Benitez <sb@sergio.bz>"]
|
||||||
description = "Community contributed libraries for the Rocket web framework."
|
description = "Community contributed libraries for the Rocket web framework."
|
||||||
documentation = "https://api.rocket.rs/rocket_contrib/"
|
documentation = "https://api.rocket.rs/rocket_contrib/"
|
||||||
|
@ -21,7 +21,7 @@ templates = ["serde", "serde_json", "lazy_static_macro", "glob"]
|
||||||
lazy_static_macro = ["lazy_static"]
|
lazy_static_macro = ["lazy_static"]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
rocket = { version = "0.1.0-rc", path = "../lib/" }
|
rocket = { version = "0.1.0", path = "../lib/" }
|
||||||
log = "^0.3"
|
log = "^0.3"
|
||||||
|
|
||||||
# JSON and templating dependencies.
|
# JSON and templating dependencies.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "rocket"
|
name = "rocket"
|
||||||
version = "0.1.0-rc"
|
version = "0.1.0"
|
||||||
authors = ["Sergio Benitez <sb@sergio.bz>"]
|
authors = ["Sergio Benitez <sb@sergio.bz>"]
|
||||||
description = """
|
description = """
|
||||||
Web framework for nightly with a focus on ease-of-use, expressability, and
|
Web framework for nightly with a focus on ease-of-use, expressability, and
|
||||||
|
@ -26,7 +26,7 @@ default-features = false
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
lazy_static = "0.2"
|
lazy_static = "0.2"
|
||||||
rocket_codegen = { version = "0.1.0-rc", path = "../codegen" }
|
rocket_codegen = { version = "0.1.0", path = "../codegen" }
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
testing = []
|
testing = []
|
||||||
|
|
Loading…
Reference in New Issue