## rwf2/Rocket — v0.4.11…v0.5.0-rc.1

_635+ commits._

### Features
- **New version: 0.5.0-rc.1.** (c028d63)
- **Add initial CHANGELOG for v0.5.** (b0684c8)
- **Make new contrib libraries publishable.** (394982e)
- **Advertise HTTP/2 support via ALPN.** (3b5f5af)
- **Check for trailing new lines in testing script.** (5f50d5e)
- **Add more examples to wrapping responders guide.** (9f5a587)
- **Add fully featured SSE chat example.** (f1ecb79)
- **Introduce Server-Sent Event Streams.** (a8f6103)
- **Add initial Server-Sent Events implementation.** (2076b69)
- **Add 'ContentType::EventStream' known media type.** (78352c7)
- **Add 'Join' stream combinator extension.** (bcd62e5)
- **Add internal '__typed_stream' proc-macro.** (ed3cc13)
- **Add arbitrary function 'with' field validator.** (df28666)
- **Add usage comments to 'hello' example.** (29c5bfd)
- **Add 'Outcome::{ok_map_forward,ok_map_failure}'.** (59851a6)
- **Introduce 'Singleton' fairings.** (267cb93)
- **Introduce 'mercy' connection shutdown period.** (3a7559e)
- **Introduce async streams.** (336a03e)
- **Add codegen internal 'Ident::uniqueify()' method.** (41018a5)
- **Add 'Text', 'Bytes' known media types.** (8d40450)
- **Introduce sentinels: auto-discovered launch abort.** (64e46b7)
- **Support type generics in 'Responder' derive.** (1872818)
- **Introduce statically-enforced 'Rocket' phasing.** (4f35117)
- **Add 'Rocket.toml' to templating example.** (4c96ae7)

### Fixes
- **Fix a ton of broken links.** (01436d2)
- **Fix doc typo: "Contracting" -> "Constructing".** (b19544c)
- **Fix various generated and direct clippy warnings.** (1a42009)
- **Fix typos throughout codebase.** (0aa9a11)
- **Fix, finish 'FromForm' derive field defaults.** (1e4db98)
- **Fix typo in 'Request' docs: no`n`th -> `n`th.** (27519a9)
- **Fix MIME confusion attack URL in 'NoSniff' policy.** (cf5ccc4)
- **Fix typo: 'Rocket.toml' -> 'Cargo.toml'.** (bf9de1d)
- **Fix link to 'Multitasking' in state guide.** (57f2773)
- **Fix references to removed 'hello_world' example.** (a26f93c)
- **Fix Linux GitHub Actions CI.** (f442ad9)
- **Fix typo in requests guide: 'fiel' -> 'field'.** (3da3da8)
- **Fix codegen so rustc emits unused route warnings.** (d4466b7)
- **Fix typo in the guide.** (c858bd2)
- **Fix misspelled link in '#[route]' attribute docs.** (f6749e1)

### Backend
- **Use crates.io compatible internal package names.** (6961a71)
- **Ignore heartbeats in non-heartbeat SSE test.** (1aa551a)
- **Update deps when testing sibling workspaces.** (32ec00c)
- **Update 'release' date for master.** (fe16d11)
- **Use crate version in pre-release docs.** (06455b6)
- **Use published 'devise'.** (dd96296)
- **Update 'sqlite' contrib dependencies.** (f4ecc3e)
- **Allow customizing and removing 'Server' header.** (128234d)
- **Try to preserve header casing in HTTP/1.1.** (6206a46)
- **Drop 'Data' after sending a response, not before.** (4c6562c)
- **Use published 'state'.** (7595450)
- **Remove 'Copy' impl on 'Segments' iterator.** (723afa3)
- **Use stable, Windows compatible benchmarking.** (fc2a173)
- **Allow non-breaking config additions.** (333da45)
- **Check fuzzers and benchmarks in testing script.** (2d974ec)
- **Document ignored segments.** (cad5494)
- **Fuzz URI parsing and display.** (94a5f5e)
- **Discover sentinels in known type macros.** (0d53e23)
- **Use an 'include' in tera templating example.** (469f394)
- **Be even more tolerant in heartbeat testing.** (dc5c57b)
- **Allow field defaults in 'FromForm' derive.** (ebb9f3c)
- **Increase tolerance in SSE heartbeat test.** (559320d)
- **Initialize logger earlier to log more errors.** (0cd8bd2)
- **Expose 'msgpack::from_slice', 'json::from_value'.** (f8efa64)
- **Make minor improvements to chat example.** (74299a9)
- **Expose 'serde::json::{from_str,from_slice}'.** (8029ea3)
- **Improve request conversion performance, semantics.** (009be32)
- **Improve 'self' token spans in field validators.** (86c8000)
- **Allow more types in 'contains' field validator.** (8214df4)
- **Impl 'PartialEq<Cow<RawStr>>' for 'RawStr'.** (e73ff8c)
- **Move stream responders into their own module.** (1bf8862)
- **Protect graceful shutdown against runaway I/O.** (3a3d0ce)
- **Update 'normpath' to 0.3.** (735bd99)
- **Update 'tokio' to 1.6.1.** (6b4c1b7)
- **Consistently prefix codegen variables with '__'.** (2b8104e)
- **Avoid Tokio 1.6 due to tokio-rs/tokio#3803.** (1f1976f)
- **Allow custom generic bounds in 'Responder' derive.** (41d7138)
- **Remove 'default-features' from contrib examples.** (02d6c4c)
- **Split 'rocket_contrib' into distinct crates.** (5a4e66e)
- **Synchronize benchmarks with core libraries.** (b251920)
- **Fixup URI (de)serialization.** (faaa9c9)
- **Implement (De)Serialize for all URI variants.** (1233518)
- **Expose 'Context::{push_error,push_errors}'.** (9e9c708)
- **Document the 'Contextual' form guard.** (8a9000a)
- **Prefer using 'io::Result' responder in docs.** (ab13d73)
- **Clarify that 'Template' is a proxy type.** (bacbf07)
- **Use upstream 'async-stream'.** (da996cd)
- **Avoid file system races in 'TempFile' doctests.** (2d70027)
- **Improve 'Outcome' docs, method order, tracking.** (2f94c4f)
- **Don't disable default 'Shield' in 'hello' example.** (a7cfa4c)
- **Move 'FileName', 'TempFile', 'NamedFile' to 'fs'.** (a13a2f4)
- **Graduate 'serve' into core as 'fs', 'FileServer'.** (b1d05d2)
- **Graduate contrib 'uuid' into core.** (a78814f)
- **Graduate 'helmet' as 'shield' into core.** (f6a7087)
- **Impl 'IntoCollection' for '[T; N]'.** (28ba04b)
- **Prevent double-panic on 'Error' drop.** (824edef)
- **Graduate contrib 'json' and 'msgpack' into core.** (c74bcfd)
- **Update CHANGELOG for 0.4.10.** (7fb18cb)
- **Remove use of unsafe in 'parse_owned()'.** (471e2eb)
- **Use upstream 'Tera.get_template_names()'.** (f85604b)
- **Use 'syn', 'proc_macro2' directly.** (6784ebc)
- **Overhaul URI types, parsers, 'uri!' macro.** (fa3e033)
- **Properly document 'RawStr' 'Cow' conversions.** (15b1cf5)
- **Update CHANGELOG for 0.4.9.** (0e52d34)
- **Use upstream 'multer' 2.0.** (8e4ddc0)
- **Update CHANGELOG for 0.4.8.** (8e2485c)
- **Update UI tests for latest nightly.** (f6568ac)
- **Discover manually registered templates.** (1c600bd)
- **Retrieve managed state via a borrow: '&State<T>'.** (d03a07b)
- **Update UI tests for latest stable.** (7478f09)
- **Document 'async' attributes.** (fe23eae)
- **Remove unused reason phrase in 'Status'.** (ad8d809)
- **Implement graceful shutdown.** (a72e8da)
- **Revamp 'Response', 'Body' types.** (63e6845)
- **Doc 'form' items, 'async_test', private macros.** (e7b28f1)
- **Rename 'verbose_' form validators to 'dbg_'.** (fd36a6d)
- **Mod-export 'msg!', 'local_cache!', 'try_outcome!'.** (bab3b1c)
- **Remove 'Content' in favor of 'content::Custom'.** (d21608c)
- **Make type macros inelgible as sentinels.** (03d759a)
- **Use 'default', not 'global' profile in db docs.** (9ad4fb2)
- **Reject invalid URIs that begin with ':'.** (3c8f570)
- **Require source lines to be under 100 chars.** (068aacd)
- **Init sync DB pools inside of 'spawn_blocking'.** (078cf17)
- **Rename codegen proxy struct methods.** (691d3f2)
- **Log more diagnostic info in 'assert_form_parses'.** (9be9fc9)
- **Log guard failures, potential misuses.** (801e04b)
- **Clarify internal sentinel docs.** (08c0701)
- **Ensure synchronous database connections are not dropped from inside async tasks.** (e1307dd)
- **Allow 'T: Deserialize' in JSON, MessagePack forms.** (dd0c036)
- **Remove unnecessary second 'Handler' lifetimes.** (fe4d042)
- **Update examples on site index and overview.** (c49585b)
- **Move catcher, route types into eponymous modules.** (887b2ae)
- **Default 'pool_size' to 'workers * 4'.** (7d5f7db)
- **Export 'const's for 'Config' parameter names.** (33cff59)
- **Use launch-inferred '_' in most example code.** (fd8c9ce)
- **Impl 'Hash', 'Eq', 'PartialEq<&str>' for 'Origin'.** (c924ff7)
- **Implement a more performant 'ReaderStream'.** (d7d7bb9)
- **Optimistically wait-free retry failed 'accept()'.** (dd1b51f)
- **Improve 'local_cache!' example.** (f8047f3)
- **Impl 'DerefMut', 'inner_mut()' for 'LocalRequest'.** (c16105d)
- **Rename 'rocket::ignite()' to 'rocket::build()'.** (ad36b76)
- **Completely revamp, redo examples.** (50c9e88)
- **Set better default 'diesel::SQLite' options.** (cfd5af3)
- **Log errors in 'Connection::get_one()'.** (5f56859)
- **Split 'AdHoc::on_launch' into two by fallibility.** (5931d67)
- **Return 422 for semantically bad Json, MessagePack.** (1c70df0)
- **Allow several 'field' attributes in all derives.** (c45a838)
- **Emit a dummy 'Origin' in failed 'uri!' expansions.** (fd03417)
- **Impl 'FromFormField' for 'Cow', 'Capped<Cow>'.** (3535d08)
- **Parse empty bool values as 'true'.** (e157904)
- **Clarify non-specificity driven collisions.** (b29b7bf)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/rwf2/Rocket?utm_source=github-action)._