From e5a3027b3b858b38d0eb93676ffaf0b4208af96d Mon Sep 17 00:00:00 2001 From: Jonas Platte Date: Mon, 4 Nov 2019 11:37:56 +0100 Subject: [PATCH] Add CHANGELOG.md, ruma-api-macros/CHANGELOG.md --- CHANGELOG.md | 91 ++++++++++++++++++++++++++++++ ruma-api-macros/CHANGELOG.md | 104 +++++++++++++++++++++++++++++++++++ 2 files changed, 195 insertions(+) create mode 100644 CHANGELOG.md create mode 100644 ruma-api-macros/CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..6f75af79 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,91 @@ +# [unreleased] + +# 0.11.0 + +Breaking changes: + +* To be able to use ruma-event's `EventResult` in ruma-client without large-ish refactorings to ruma-api, we removed support for the server-side use case in ruma-api 0.11.0. It will be added back in a future release. + +Improvements: + +* Our CI now tests ruma-api on Rust 1.34.2, beta and nightly in addition to stable +* Updated syn and quote to 1.0 + +# 0.10.0 + +Breaking changes: + +* The `Endpoint` trait is now implemented directly on the relevant request type rather than having both the request and response be associated types. + +Improvements: + +* ruma-api now re-exports the `ruma_api` macro from ruma-api-macros. Downstream crates no longer need to depend on ruma-api-macros directly. +* The ruma-api and ruma-api-macros repositories have been merged into one Cargo workspace for easier dependency management and development. + +# 0.9.0 + +Breaking changes: + +* The `Request` and `Response` associated types on the `Endpoint` trait are now bounded by `std::convert::TryFrom` instead of `futures::future::FutureFrom`. This was done in preparation for futures 0.3 which does not have this trait. +* The conversions required to and from `http::Request` and `http::Response` for the `Request` and `Response` associated types on the `Endpoint` trait now use `Vec` as the body type. This removes the dependency on hyper. It's possible this will change again in a future release. See https://github.com/rustasync/team/issues/84 for details. + +Improvements: + +* Internal code quality improvements via clippy and rustfmt. + +# 0.8.0 + +Breaking changes: + +* The `Error` type is now an opaque struct that hides implementation details. +* Updates to ruma-identifiers 0.13. + +Improvements: + +* ruma-api now uses clippy to improve code quality. + +# 0.7.0 + +Improvements: + +* ruma-api now runs on stable Rust, requiring version 1.34 or higher. +* Updated all dependencies for upstream improvements. +* Updated all code to use Rust edition 2018. + +# 0.6.0 + +Breaking changes: + +* Hyper has been updated to version 0.12. +* A new variant to the `Error` enum for hyper errors has been added. +* Conversions between this crate's request and response types and the http crate's request and response types are now bidirectional. + +# 0.5.0 + +Breaking changes: + +* Types from hyper have been replaced with types from the http crate. +* The `Error` enum can no longer be matched exhaustively, to allow for future expansion without breaking the crate's API. + +# 0.4.0 + +Breaking changes: + +The crate has been redesign to focus on conversions between an endpoint's request and response types and Hyper request and response types. Implementations are expected to be generated via [ruma-api-macros](https://github.com/ruma/ruma-api-macros). + +# 0.3.0 + +Breaking changes: + +* `Endpoint::router_path` now returns a `&'static str` +* Added new required methods to `Endpoint`: `name`, `description`, `requires_authentication`, and `rate_limited`. + +# 0.2.0 + +Breaking changes: + +* `Endpoint::Query_params` must now be `Deserialize + Serialize`. + +# 0.1.0 + +Initial release. diff --git a/ruma-api-macros/CHANGELOG.md b/ruma-api-macros/CHANGELOG.md new file mode 100644 index 00000000..71dff348 --- /dev/null +++ b/ruma-api-macros/CHANGELOG.md @@ -0,0 +1,104 @@ +# [unreleased] + +# 0.7.1 + +Bug fixes: + +* Removed unnecessary dependency on ruma-api 0.9.0. + +# 0.7.0 + +Breaking changes: + +* Updated to ruma-api 0.10.0. + +Improvements: + +* ruma-api now re-exports the `ruma_api` macro from ruma-api-macros. Downstream crates no longer need to depend on ruma-api-macros directly. +* The code generated by the `ruma_api` macro now refers to external dependencies via re-exports in ruma-api, so it is no longer necessary to add them to the dependencies of downstream crates directly. +* The ruma-api and ruma-api-macros repositories have been merged into one Cargo workspace for easier dependency management and development. + +# 0.6.0 + +Breaking changes: + +* Updated to ruma-api 0.9.0. + +# 0.5.0 + +Breaking changes: + +* Updated to ruma-api 0.8.0. + +Improvements: + +* Generated documentation now includes the names and descriptions of API endpoints. +* Remove unidiomatic use of `Tokens::append_all` from the `quote` crate. +* ruma-api-macros now uses clippy to improve code quality. + +# 0.4.0 + +Improvements: + +* ruma-api-macros now runs on stable Rust, requiring version 1.34 or higher. +* Updated all dependencies for upstream improvements. + +# 0.3.1 + +Improved: + +* Code updated to use Rust 2018 idioms. + +Bug fixes: + +* The crate will now compile when serde's `derive` feature is enabled. + +# 0.3.0 + +Breaking changes: + +* The procedural macro now uses hyper's `Body` type instead of `Vec`. This may prove to be a temporary change as ideally we want ruma-api-macros to be agnostic to HTTP client library. + +Improvements: + +* Updated to the latest versions of all dependencies. +* Improved error reporting for the procedural macro. +* Conversions between this crate's request and response types and the http crate's request and response types are now bidirectional. +* Request and response types now implement `Clone`. + +# 0.2.2 + +Improvements: + +* Updated to proc-macro2 0.4 for compatibility with the latest nightly Rust. + +Bug fixes: + +* Attributes that don't affect the macro are now ignored instead of causing a panic. +* Added missing commas in request query struct initialization that was causing a syntax error. +* Fixed stripping of serde attributes that was causing them to leak through and trigger a custom attribute error. +* Fixed creation of requests with an empty body that were not correctly using a `Vec` as the body type. + +# 0.2.1 + +Version 0.2.1 was yanked from crates.io due to a dependency issue. Changes since version 0.2.0 are in the release notes for version 0.2.2. + +# 0.2.0 + +Breaking changes: + +* The dependency on the `hyper` crate has been removed. The macro now uses types from the `http` crate. The macro is also compatible with the forthcoming version 0.12 of `hyper`. +* The `method` field in the `metadata` block is now written as the name of an associated constant from `http::Method`, e.g. `GET`. +* HTTP headers are now specified in request and response blocks using `String` as the type, and the name of the constant of the header from `http::header` in the field's attributes. For example: + ``` rust + #[ruma_api(header = "CONTENT_TYPE")] + pub content_type: String + ``` + +Improvements: + +* The macro is built using version 0.13 of the `syn` crate. + +# 0.1.0 + +Initial release.