# [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.