diff --git a/CHANGELOG.md b/CHANGELOG.md index 14c0f80..e5cff72 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.2.2] - 2026-09-25 + +Patch to turn the scheduled security audit green and take the Dependabot lockfile updates open since 16 September. + +### Fixed + +- **rustls 0.23.45** — [RUSTSEC-2026-0285](https://rustsec.org/advisories/RUSTSEC-2026-0285) (TLS 1.3 handshake messages accepted across encryption level boundaries). +- **chacha20 0.10.2** (via `rand` 0.10.3) — 0.10.1 was yanked. + +### Changed + +- Lockfile bumps: `uuid` 1.26.1, `hyper` 1.11.1, `syn` 3.0.6, `rcgen` 0.14.10, `simd-json` 0.18.1 (`rustapi-core` requirement 0.17 → 0.18), `aws-lc-rs` 1.18.1, `rust-i18n` 4.2.2, `tera` 2.4.0, `toml` 1.1.6, `toml_edit` 0.25.15. +- Transitive updates pulled by those bumps: `aws-lc-sys` 0.45, `pem` 4. + +### Documentation + +- Workspace MSRV stays **1.85**. + ## [0.2.1] - 2026-09-05 Patch after the idle stretch: security advisory, green CI, and the Dependabot majors that had piled up. diff --git a/Cargo.lock b/Cargo.lock index 03d3a01..ec6d0d4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8,19 +8,6 @@ version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" -[[package]] -name = "ahash" -version = "0.8.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" -dependencies = [ - "cfg-if", - "getrandom 0.3.4", - "once_cell", - "version_check", - "zerocopy", -] - [[package]] name = "aho-corasick" version = "1.1.5" @@ -243,7 +230,7 @@ checksum = "82f6aeea286b8eb4dd3431a1be1b59d290ace00f5bfd8e2a159bc2a05e2c1667" dependencies = [ "proc-macro2", "quote", - "syn 3.0.3", + "syn 3.0.6", ] [[package]] @@ -269,9 +256,9 @@ checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" [[package]] name = "aws-lc-rs" -version = "1.18.0" +version = "1.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce2b2dcc879c3bae0d371e77c99f2238400ef24ec001394befa67b6e543add9e" +checksum = "b281d307588d634de920874890732659e2e7672f72b5e10e81badc1a8a83621e" dependencies = [ "aws-lc-sys", "untrusted 0.7.1", @@ -280,9 +267,9 @@ dependencies = [ [[package]] name = "aws-lc-sys" -version = "0.44.0" +version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f09fae7be8bb3174e05c6afdb34199e6dc0c7c04ba9fa237b1967adfbde27483" +checksum = "9bff6c3b54fad79a2e60b8102caf565819711497c1f5f092f49508e2f5c31b27" dependencies = [ "cc", "cmake", @@ -461,7 +448,7 @@ checksum = "fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04" [[package]] name = "cargo-rustapi" -version = "0.2.1" +version = "0.2.2" dependencies = [ "anyhow", "assert_cmd", @@ -482,8 +469,8 @@ dependencies = [ "serde_yaml", "tempfile", "tokio", - "toml 1.1.4+spec-1.1.0", - "toml_edit 0.25.13+spec-1.1.0", + "toml 1.1.6+spec-1.1.0", + "toml_edit 0.25.15+spec-1.1.0", "tracing", "tracing-subscriber", ] @@ -514,9 +501,9 @@ checksum = "f079e83a288787bcd14a6aea84cee5c87a67c5a3e660c30f557a3d24761b3527" [[package]] name = "chacha20" -version = "0.10.1" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d524456ba66e72eb8b115ff89e01e497f8e6d11d78b70b1aa13c0fbd97540a81" +checksum = "65c35e4b699c7e15ccbe7ee35c005e4fc0a278d22238a2857e6ce2dadeda1b06" dependencies = [ "cfg-if", "cpufeatures 0.3.0", @@ -568,7 +555,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 3.0.3", + "syn 3.0.6", ] [[package]] @@ -974,7 +961,7 @@ checksum = "c6232dd377dcc64799954cbd3a9bb882e9cdc1308ccd87b1c098f1fb2eaf82a8" dependencies = [ "proc-macro2", "quote", - "syn 3.0.3", + "syn 3.0.6", ] [[package]] @@ -1260,7 +1247,7 @@ checksum = "9fb9654ba8355388abeb8dcb4fc62f511300867002afc858860463bdd9fe0c44" dependencies = [ "proc-macro2", "quote", - "syn 3.0.3", + "syn 3.0.6", ] [[package]] @@ -1322,11 +1309,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" dependencies = [ "cfg-if", - "js-sys", "libc", "r-efi 5.3.0", "wasip2", - "wasm-bindgen", ] [[package]] @@ -1375,9 +1360,9 @@ dependencies = [ [[package]] name = "granit-parser" -version = "0.0.7" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d03f81ad4732830d85cfd417a9f62cde6dadda4354d37d078a6084a19560aa2d" +checksum = "e20f99e46474f56bd905c56e817ebddcf377a611f94c53ac4649e4d3fa3c0cd0" dependencies = [ "arraydeque", "smallvec", @@ -1558,9 +1543,9 @@ dependencies = [ [[package]] name = "hyper" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d22053281f852e11534f5198498373cbb59295120a20771d90f7ed1897490a72" +checksum = "27b501faa50e7a26c3d3560ca625132f4078a17771f4810baf70475ae48cbe43" dependencies = [ "atomic-waker", "bytes", @@ -2029,7 +2014,7 @@ checksum = "77060ebe535362c3da75682cd17b0431017b6e7c5661e714fc69a7ad017d1301" dependencies = [ "proc-macro2", "quote", - "syn 3.0.3", + "syn 3.0.6", ] [[package]] @@ -2433,11 +2418,11 @@ dependencies = [ [[package]] name = "pem" -version = "3.0.6" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d30c53c26bc5b31a98cd02d20f25a7c8567146caf63ed593a9d87b2775291be" +checksum = "d354a98a3d1251555de99e8fdd8afda05573c31b82f59063a7b0a29b5527f120" dependencies = [ - "base64 0.22.1", + "base64 0.23.1", "serde_core", ] @@ -2556,7 +2541,7 @@ version = "3.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e67ba7e9b2b56446f1d419b1d807906278ffa1a658a8a5d8a39dcb1f5a78614f" dependencies = [ - "toml_edit 0.25.13+spec-1.1.0", + "toml_edit 0.25.15+spec-1.1.0", ] [[package]] @@ -2578,7 +2563,7 @@ dependencies = [ "proc-macro-error-attr3", "proc-macro2", "quote", - "syn 3.0.3", + "syn 3.0.6", ] [[package]] @@ -2683,7 +2668,7 @@ dependencies = [ "fastbloom", "getrandom 0.4.3", "lru-slab", - "rand 0.10.2", + "rand 0.10.3", "rand_pcg", "ring", "rustc-hash", @@ -2766,9 +2751,9 @@ dependencies = [ [[package]] name = "rand" -version = "0.10.2" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7f5fa3a058cd35567ef9bfa5e75732bee0f9e4c55fa90477bef2dfcdbc4be80" +checksum = "65c9fb96cbc91e3478eaae79a69fcd3f1ae4ad052e471fe6732fff548984b4af" dependencies = [ "chacha20", "getrandom 0.4.3", @@ -2839,9 +2824,9 @@ dependencies = [ [[package]] name = "rcgen" -version = "0.14.9" +version = "0.14.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "091e7a8e7d86e6feb87a27ce8e2cba29d49eff9507afeebefab7eeb2ca667fb4" +checksum = "8774e05a7d0de114588e6a28fe7e71694b82614ed569d86d8b389dfbc98b8ad8" dependencies = [ "pem", "ring", @@ -2901,7 +2886,7 @@ checksum = "2c9283685feec7d69af75fb0e858d5e7378f33fe4fc699383b2916ab9273e03c" dependencies = [ "proc-macro2", "quote", - "syn 3.0.3", + "syn 3.0.6", ] [[package]] @@ -3032,9 +3017,9 @@ dependencies = [ [[package]] name = "rust-i18n" -version = "4.2.1" +version = "4.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f10cee36dd3b1f7929ea12b759de9eea9eff83bfccbc71f387ef4d41a57c64a4" +checksum = "7c43fd69c20da13756643a5bf51ae799965465c78e05c57a1242a736aaa56527" dependencies = [ "globwalk", "regex", @@ -3045,9 +3030,9 @@ dependencies = [ [[package]] name = "rust-i18n-macro" -version = "4.2.1" +version = "4.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0bb1ed4e04fe26c2a2652cad1c6595efaf7196f4445c0d6e13c67154347fb7e" +checksum = "086ec8a9eaa6afda33919b9bc1661c1f4e017c40e99bbd33ca98f6e1cb6ca91f" dependencies = [ "glob", "proc-macro2", @@ -3060,9 +3045,9 @@ dependencies = [ [[package]] name = "rust-i18n-support" -version = "4.2.1" +version = "4.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba1c083408a2733180ae0acf2897612f8ceec7b0c0dcd065a0a87103bfb3b1d9" +checksum = "ac02dcb9a01ec145d0a5534ea9554a966050ca250b346bb2a9ab0fcdafab5979" dependencies = [ "arc-swap", "base62", @@ -3079,7 +3064,7 @@ dependencies = [ [[package]] name = "rustapi-core" -version = "0.2.1" +version = "0.2.2" dependencies = [ "async-stream", "async-trait", @@ -3124,7 +3109,7 @@ dependencies = [ [[package]] name = "rustapi-extras" -version = "0.2.1" +version = "0.2.2" dependencies = [ "async-trait", "aws-lc-rs", @@ -3168,7 +3153,7 @@ dependencies = [ [[package]] name = "rustapi-grpc" -version = "0.2.1" +version = "0.2.2" dependencies = [ "prost", "rustapi-core", @@ -3179,7 +3164,7 @@ dependencies = [ [[package]] name = "rustapi-macros" -version = "0.2.1" +version = "0.2.2" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -3187,12 +3172,12 @@ dependencies = [ "rustapi-rs", "serde", "serde_json", - "syn 3.0.3", + "syn 3.0.6", ] [[package]] name = "rustapi-mcp" -version = "0.2.1" +version = "0.2.2" dependencies = [ "async-trait", "bytes", @@ -3214,7 +3199,7 @@ dependencies = [ [[package]] name = "rustapi-openapi" -version = "0.2.1" +version = "0.2.2" dependencies = [ "bytes", "http", @@ -3226,7 +3211,7 @@ dependencies = [ [[package]] name = "rustapi-rs" -version = "0.2.1" +version = "0.2.2" dependencies = [ "async-trait", "bytes", @@ -3254,7 +3239,7 @@ dependencies = [ [[package]] name = "rustapi-testing" -version = "0.2.1" +version = "0.2.2" dependencies = [ "bytes", "http", @@ -3271,7 +3256,7 @@ dependencies = [ [[package]] name = "rustapi-toon" -version = "0.2.1" +version = "0.2.2" dependencies = [ "bytes", "futures-util", @@ -3288,7 +3273,7 @@ dependencies = [ [[package]] name = "rustapi-validate" -version = "0.2.1" +version = "0.2.2" dependencies = [ "async-trait", "http", @@ -3304,7 +3289,7 @@ dependencies = [ [[package]] name = "rustapi-view" -version = "0.2.1" +version = "0.2.2" dependencies = [ "bytes", "http", @@ -3320,7 +3305,7 @@ dependencies = [ [[package]] name = "rustapi-ws" -version = "0.2.1" +version = "0.2.2" dependencies = [ "async-trait", "bytes", @@ -3382,9 +3367,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.43" +version = "0.23.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0283386ce02abc0151e1761d08802dfe86c173b0b494af5cbc086574e453da06" +checksum = "0d41d731c7d2f962d1ccc364cec258de3c0e93b38c2fb3ba97ac74513048d634" dependencies = [ "once_cell", "ring", @@ -3552,15 +3537,13 @@ dependencies = [ [[package]] name = "serde-saphyr" -version = "0.0.29" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bd22781911de0ca6debda95f073c8f18bec65d1a94f1fa9573f3102e514cea4" +checksum = "b8050abb251097357e24aff63ba2c52a6309ecb7d23a5474023df960a02694d8" dependencies = [ - "ahash", "annotate-snippets", - "base64 0.22.1", + "base64 0.23.1", "encoding_rs_io", - "getrandom 0.3.4", "granit-parser", "nohash-hasher", "num-traits", @@ -3586,7 +3569,7 @@ checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" dependencies = [ "proc-macro2", "quote", - "syn 3.0.3", + "syn 3.0.6", ] [[package]] @@ -3668,7 +3651,7 @@ checksum = "a22144e767da4ddd8416dbf383700542ffd8a5dc493dfecedfe1fe3ad03c98ae" dependencies = [ "proc-macro2", "quote", - "syn 3.0.3", + "syn 3.0.6", ] [[package]] @@ -3769,9 +3752,9 @@ checksum = "3a219298ac11a56ea9a6d2120044824d6f01aeb034955e7af7bc16858527deea" [[package]] name = "simd-json" -version = "0.17.3" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e32d7ab2678282d21e53374fbead7119b7eacbede73685dcaac472870a29a11c" +checksum = "6ebe141eb4a23ecc4d5de93fa5b139ac65dc07c38037a2fe9a8fb7c9d36bd832" dependencies = [ "halfbrown", "ref-cast", @@ -3990,7 +3973,7 @@ dependencies = [ "log", "md-5", "memchr", - "rand 0.10.2", + "rand 0.10.3", "serde", "serde_json", "sha2 0.11.0", @@ -4071,9 +4054,9 @@ dependencies = [ [[package]] name = "syn" -version = "3.0.3" +version = "3.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53e9bae58849f64dfa4f5d5ae372c8341f7305f82a3868709269343628b659a3" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" dependencies = [ "proc-macro2", "quote", @@ -4115,9 +4098,9 @@ dependencies = [ [[package]] name = "tera" -version = "2.1.1" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "638c0720e7c1f61722366256d369ea46139634e77738735d6d9bb287bbbad35f" +checksum = "61e0cadeeb54426080b4c5395d59769ce8293f542cc25511c167c742b2175809" dependencies = [ "globset", "serde", @@ -4167,7 +4150,7 @@ checksum = "bc04cd3e1236dd4a98afca4569f2deb3f120e5422a4023be2cb683f8486292af" dependencies = [ "proc-macro2", "quote", - "syn 3.0.3", + "syn 3.0.6", ] [[package]] @@ -4258,7 +4241,7 @@ checksum = "78773a2a397f451582ce068015985c33193cf6dea8b74d2a639fe457b2f07b0e" dependencies = [ "proc-macro2", "quote", - "syn 3.0.3", + "syn 3.0.6", ] [[package]] @@ -4323,9 +4306,9 @@ dependencies = [ [[package]] name = "toml" -version = "1.1.4+spec-1.1.0" +version = "1.1.6+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3aace63f4bbcdfc2c965b059de67119c89c4017a70d633be6c104910f67056f5" +checksum = "920602543f0911ab71da12c50d59701da54c196d1a2bf5cb4b75667f137a406a" dependencies = [ "indexmap", "serde_core", @@ -4370,9 +4353,9 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.25.13+spec-1.1.0" +version = "0.25.15+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6975367e4d2ef766d86af01ffad14b622fecc8d4357a998fbc4deb6e9bacaf9b" +checksum = "1340ea94a5856333492c9064b02c778b191dd2c853778d9609debdcdfea3a614" dependencies = [ "indexmap", "toml_datetime 1.1.1+spec-1.1.0", @@ -4742,9 +4725,9 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.24.0" +version = "1.26.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf3923a6f5c4c6382e0b653c4117f48d631ea17f38ed86e2a828e6f7412f5239" +checksum = "2ef6dac1e96601b4fb3acccccff2139741fcb757cb9a36089bf5be91cfb285ce" dependencies = [ "getrandom 0.4.3", "js-sys", diff --git a/Cargo.toml b/Cargo.toml index 7fa639f..3163153 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,7 +18,7 @@ members = [ exclude = ["apps/bayram-leaderboard"] [workspace.package] -version = "0.2.1" +version = "0.2.2" edition = "2021" authors = ["RustAPI Contributors, Tuntii"] license = "MIT OR Apache-2.0" @@ -96,18 +96,18 @@ open = "5" chrono = { version = "0.4", features = ["serde"] } # Internal crates -rustapi-rs = { path = "crates/rustapi-rs", version = "0.2.1", default-features = false } -rustapi-core = { path = "crates/rustapi-core", version = "0.2.1", default-features = false } -rustapi-macros = { path = "crates/rustapi-macros", version = "0.2.1" } -rustapi-validate = { path = "crates/rustapi-validate", version = "0.2.1" } -rustapi-openapi = { path = "crates/rustapi-openapi", version = "0.2.1", default-features = false } -rustapi-extras = { path = "crates/rustapi-extras", version = "0.2.1" } -rustapi-toon = { path = "crates/rustapi-toon", version = "0.2.1" } -rustapi-ws = { path = "crates/rustapi-ws", version = "0.2.1" } -rustapi-view = { path = "crates/rustapi-view", version = "0.2.1" } -rustapi-testing = { path = "crates/rustapi-testing", version = "0.2.1" } -rustapi-grpc = { path = "crates/rustapi-grpc", version = "0.2.1" } -rustapi-mcp = { path = "crates/rustapi-mcp", version = "0.2.1" } +rustapi-rs = { path = "crates/rustapi-rs", version = "0.2.2", default-features = false } +rustapi-core = { path = "crates/rustapi-core", version = "0.2.2", default-features = false } +rustapi-macros = { path = "crates/rustapi-macros", version = "0.2.2" } +rustapi-validate = { path = "crates/rustapi-validate", version = "0.2.2" } +rustapi-openapi = { path = "crates/rustapi-openapi", version = "0.2.2", default-features = false } +rustapi-extras = { path = "crates/rustapi-extras", version = "0.2.2" } +rustapi-toon = { path = "crates/rustapi-toon", version = "0.2.2" } +rustapi-ws = { path = "crates/rustapi-ws", version = "0.2.2" } +rustapi-view = { path = "crates/rustapi-view", version = "0.2.2" } +rustapi-testing = { path = "crates/rustapi-testing", version = "0.2.2" } +rustapi-grpc = { path = "crates/rustapi-grpc", version = "0.2.2" } +rustapi-mcp = { path = "crates/rustapi-mcp", version = "0.2.2" } # HTTP/3 (QUIC) quinn = "0.11" diff --git a/README.md b/README.md index 5b16c57..e1b9478 100644 --- a/README.md +++ b/README.md @@ -213,7 +213,7 @@ Prefer the **[Golden Path](docs/GOLDEN_PATH.md)** for the recommended service sh ```toml [dependencies] -api = { package = "rustapi-rs", version = "0.2.1" } +api = { package = "rustapi-rs", version = "0.2.2" } tokio = { version = "1", features = ["macros", "rt-multi-thread"] } tracing-subscriber = { version = "0.3", features = ["env-filter"] } ``` @@ -285,7 +285,7 @@ Full guide: [docs/cookbook/src/recipes/rustapi_cloud.md](docs/cookbook/src/recip ## Recent Changes -See [CHANGELOG.md](CHANGELOG.md) for full history. Current release is **v0.2.1**. Highlights in **v0.2.0** (first semantic release): +See [CHANGELOG.md](CHANGELOG.md) for full history. Current release is **v0.2.2** (rustls advisory, yanked `chacha20`, Dependabot lockfile bumps). Highlights in **v0.2.0** (first semantic release): - **Semantic versioning:** drop commit-count `0.1.`; conventional commits + [release-plz](https://release-plz.dev) drive minor/patch/major - **MCP hardening:** HTTP admin token enforcement, query-arg tools, `cargo rustapi new` + `protocol-mcp` / `ai-api` templates diff --git a/RELEASES.md b/RELEASES.md index f1d532f..dd62e57 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -1,3 +1,31 @@ +# RustAPI v0.2.2 Release Notes + +**Release Date**: September 25, 2026 +**Full Changelog**: https://github.com/Tuntii/RustAPI/compare/v0.2.1...v0.2.2 + +--- + +## Highlights + +Patch release: close the rustls advisory, drop the yanked `chacha20`, and take the Dependabot updates that have been waiting since 16 September. + +| Area | Change | +|------|--------| +| Security | `rustls` 0.23.45 ([RUSTSEC-2026-0285](https://rustsec.org/advisories/RUSTSEC-2026-0285)); `chacha20` 0.10.2 | +| Deps | uuid 1.26, hyper 1.11.1, syn 3.0.6, rcgen 0.14.10, simd-json 0.18, aws-lc-rs 1.18.1, rust-i18n 4.2.2, tera 2.4, toml 1.1.6, toml_edit 0.25.15 | + +**Install:** + +```bash +cargo add rustapi-rs@0.2.2 +# or +cargo install cargo-rustapi +``` + +MSRV remains **1.85**. + +--- + # RustAPI v0.2.1 Release Notes **Release Date**: September 5, 2026 diff --git a/crates/cargo-rustapi/README.md b/crates/cargo-rustapi/README.md index 911d6fc..0f8045d 100644 --- a/crates/cargo-rustapi/README.md +++ b/crates/cargo-rustapi/README.md @@ -114,5 +114,5 @@ Cloud HTTP commands are enabled by default. Disable with: ```toml [dependencies] -cargo-rustapi = { version = "0.2.1", default-features = false } +cargo-rustapi = { version = "0.2.2", default-features = false } ``` \ No newline at end of file diff --git a/crates/rustapi-core/Cargo.toml b/crates/rustapi-core/Cargo.toml index 8ce3101..5a26e35 100644 --- a/crates/rustapi-core/Cargo.toml +++ b/crates/rustapi-core/Cargo.toml @@ -30,7 +30,7 @@ matchit = { workspace = true } serde = { workspace = true } serde_json = { workspace = true } serde_urlencoded = "0.7" -simd-json = { version = "0.17", optional = true } +simd-json = { version = "0.18", optional = true } # Middleware tower-service = { workspace = true } diff --git a/crates/rustapi-rs/README.md b/crates/rustapi-rs/README.md index 6359af2..022c299 100644 --- a/crates/rustapi-rs/README.md +++ b/crates/rustapi-rs/README.md @@ -48,14 +48,14 @@ Add `rustapi-rs` to your `Cargo.toml`: ```toml [dependencies] -rustapi-rs = "0.2.1" +rustapi-rs = "0.2.2" ``` You can also rename the crate if you prefer shorter macro paths: ```toml [dependencies] -api = { package = "rustapi-rs", version = "0.2.1" } +api = { package = "rustapi-rs", version = "0.2.2" } ``` Route macros work through that alias (`#[api::get("/")]`, `use api::prelude::*`). diff --git a/docs/GETTING_STARTED.md b/docs/GETTING_STARTED.md index 1e3178f..355946a 100644 --- a/docs/GETTING_STARTED.md +++ b/docs/GETTING_STARTED.md @@ -31,21 +31,21 @@ Add RustAPI to your `Cargo.toml`: ```toml [dependencies] -rustapi-rs = "0.2.1" +rustapi-rs = "0.2.2" ``` You can also rename the crate if you prefer shorter macro paths: ```toml [dependencies] -api = { package = "rustapi-rs", version = "0.2.1" } +api = { package = "rustapi-rs", version = "0.2.2" } ``` Or with specific features: ```toml [dependencies] -rustapi-rs = { version = "0.2.1", features = ["extras-jwt", "extras-cors", "protocol-toon", "protocol-ws", "protocol-view"] } +rustapi-rs = { version = "0.2.2", features = ["extras-jwt", "extras-cors", "protocol-toon", "protocol-ws", "protocol-view"] } ``` ### Available Features @@ -73,7 +73,7 @@ Most production APIs should start **slim** and opt into extras only when needed: ```toml # Recommended default — fast compiles, ~158 transitive crates [dependencies] -rustapi-rs = { version = "0.2.1", default-features = false, features = ["core"] } +rustapi-rs = { version = "0.2.2", default-features = false, features = ["core"] } tokio = { version = "1", features = ["macros", "rt-multi-thread"] } tracing-subscriber = { version = "0.3", features = ["env-filter"] } ``` @@ -83,7 +83,7 @@ Add features incrementally (`extras-jwt`, `extras-cors`, `protocol-ws`, …) ins ```toml # Kitchen-sink profile — tutorials and exploration only (~900+ transitive crates) [dependencies] -rustapi-rs = { version = "0.2.1", features = ["full"] } +rustapi-rs = { version = "0.2.2", features = ["full"] } ``` | Profile | Transitive crates (approx.) | Compile time | When to use | @@ -408,7 +408,7 @@ ApiError::internal("message") // 500 ### CORS ```toml -rustapi-rs = { version = "0.2.1", features = ["extras-cors"] } +rustapi-rs = { version = "0.2.2", features = ["extras-cors"] } ``` ```rust @@ -429,7 +429,7 @@ RustApi::new() ### JWT Authentication ```toml -rustapi-rs = { version = "0.2.1", features = ["extras-jwt"] } +rustapi-rs = { version = "0.2.2", features = ["extras-jwt"] } ``` ```rust @@ -458,7 +458,7 @@ async fn protected(user: AuthUser) -> Json { ### Rate Limiting ```toml -rustapi-rs = { version = "0.2.1", features = ["extras-rate-limit"] } +rustapi-rs = { version = "0.2.2", features = ["extras-rate-limit"] } ``` ```rust @@ -476,7 +476,7 @@ RustApi::new() ## TOON Format (LLM Optimization) ```toml -rustapi-rs = { version = "0.2.1", features = ["protocol-toon"] } +rustapi-rs = { version = "0.2.2", features = ["protocol-toon"] } ``` ```rust @@ -507,7 +507,7 @@ Response includes token counting headers: Real-time bidirectional communication: ```toml -rustapi-rs = { version = "0.2.1", features = ["protocol-ws"] } +rustapi-rs = { version = "0.2.2", features = ["protocol-ws"] } ``` ```rust @@ -544,7 +544,7 @@ websocat ws://localhost:8080/ws Server-side HTML rendering with Tera: ```toml -rustapi-rs = { version = "0.2.1", features = ["protocol-view"] } +rustapi-rs = { version = "0.2.2", features = ["protocol-view"] } ``` Create a template file `templates/index.html`: @@ -801,7 +801,7 @@ struct AnyBody { ... } Check that `core-openapi` is enabled (it is included in the default `core` feature): ```toml -rustapi-rs = { version = "0.2.1", features = ["core-openapi"] } +rustapi-rs = { version = "0.2.2", features = ["core-openapi"] } ``` ### CLI Commands Not Working diff --git a/docs/PHILOSOPHY.md b/docs/PHILOSOPHY.md index 1192e84..0acedd7 100644 --- a/docs/PHILOSOPHY.md +++ b/docs/PHILOSOPHY.md @@ -114,10 +114,10 @@ validator = "0.16" rustapi-rs = "0.2.0" # Kitchen sink -rustapi-rs = { version = "0.2.1", features = ["full"] } +rustapi-rs = { version = "0.2.2", features = ["full"] } # Pick what you need -rustapi-rs = { version = "0.2.1", features = ["extras-jwt", "extras-cors", "protocol-toon"] } +rustapi-rs = { version = "0.2.2", features = ["extras-jwt", "extras-cors", "protocol-toon"] } ``` | Feature | What You Get | diff --git a/docs/README.md b/docs/README.md index 7ea9a15..2eee359 100644 --- a/docs/README.md +++ b/docs/README.md @@ -2,7 +2,7 @@ Central index for user guides, architecture notes, and open-source contribution paths. -**Current release:** [`rustapi-rs` 0.2.1](https://crates.io/crates/rustapi-rs) · [Changelog](../CHANGELOG.md) · [All releases](https://github.com/Tuntii/RustAPI/releases) +**Current release:** [`rustapi-rs` 0.2.2](https://crates.io/crates/rustapi-rs) · [Changelog](../CHANGELOG.md) · [All releases](https://github.com/Tuntii/RustAPI/releases) --- @@ -64,14 +64,14 @@ Central index for user guides, architecture notes, and open-source contribution ```toml [dependencies] -rustapi-rs = "0.2.1" +rustapi-rs = "0.2.2" ``` Alias for shorter macros (recommended): ```toml [dependencies] -api = { package = "rustapi-rs", version = "0.2.1" } +api = { package = "rustapi-rs", version = "0.2.2" } ``` ```rust