From 9f2fc78cc27e45f7e902366b21922171b0f1b62c Mon Sep 17 00:00:00 2001 From: Martyn Date: Fri, 26 Jun 2026 17:34:21 +0100 Subject: [PATCH 1/2] Adds support for cargo release --- core/lib/Cargo.toml | 24 ++++++++++++++++++++++++ release.toml | 14 ++++++++++++++ website/docs/index.md | 2 +- website/src/pages/index.js | 2 +- 4 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 release.toml diff --git a/core/lib/Cargo.toml b/core/lib/Cargo.toml index 4a954a80..cb4c5eb7 100644 --- a/core/lib/Cargo.toml +++ b/core/lib/Cargo.toml @@ -19,6 +19,30 @@ rust-version.workspace = true [package.metadata.docs.rs] all-features = true +# cargo-release: keep documented version strings in lockstep with the workspace +# version. These run once (scoped to the `rkt` crate); paths are relative to +# this manifest (core/lib/), so `../../` reaches the repo root. See release.toml. +[package.metadata.release] +pre-release-replacements = [ + { file = "../../README.md", search = 'rkt = "[0-9][0-9A-Za-z.-]*"', replace = 'rkt = "{{version}}"' }, + { file = "../../website/src/pages/index.js", search = 'rkt = "[0-9][0-9A-Za-z.-]*"', replace = 'rkt = "{{version}}"' }, + { file = "../../website/docs/index.md", search = 'guide for rkt v[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z]+(\.[0-9A-Za-z]+)*)?', replace = 'guide for rkt v{{version}}' }, + { file = "../../website/docs/02-getting-started.md", search = 'rkt = "[0-9][0-9A-Za-z.-]*"', replace = 'rkt = "{{version}}"' }, + { file = "../../website/docs/12-pastebin.md", search = 'rkt = "[0-9][0-9A-Za-z.-]*"', replace = 'rkt = "{{version}}"' }, + { file = "../../website/docs/14-faq.md", search = 'rkt = \{ version = "[0-9][0-9A-Za-z.-]*"', replace = 'rkt = { version = "{{version}}"' }, + { file = "../../website/docs/10-configuration.md", search = 'rkt = \{ version = "[0-9][0-9A-Za-z.-]*"', replace = 'rkt = { version = "{{version}}"' }, + { file = "../../website/docs/04-requests.md", search = 'rkt = \{ version = "[0-9][0-9A-Za-z.-]*"', replace = 'rkt = { version = "{{version}}"' }, + { file = "../../contrib/ws/README.md", search = 'package = "rkt_ws", version = "[0-9][0-9A-Za-z.-]*"', replace = 'package = "rkt_ws", version = "{{version}}"' }, + { file = "../../contrib/dyn_templates/README.md", search = 'version = "[0-9][0-9A-Za-z.-]*"', replace = 'version = "{{version}}"' }, + { file = "src/lib.rs", search = 'rkt = \{ package = version = "[0-9][0-9A-Za-z.-]*"', replace = 'rkt = { package = version = "{{version}}"' }, + { file = "src/lib.rs", search = 'rkt = \{ version = "[0-9][0-9A-Za-z.-]*"', replace = 'rkt = { version = "{{version}}"' }, + { file = "src/listener/quic.rs", search = 'rkt = \{ version = "[0-9][0-9A-Za-z.-]*"', replace = 'rkt = { version = "{{version}}"' }, + { file = "src/serde/json.rs", search = '\[dependencies\.rkt\]\nversion = "[0-9][0-9A-Za-z.-]*"', replace = '[dependencies.rkt]\nversion = "{{version}}"' }, + { file = "src/serde/msgpack.rs", search = '\[dependencies\.rocket\]\nversion = "[0-9][0-9A-Za-z.-]*"', replace = '[dependencies.rocket]\nversion = "{{version}}"' }, + { file = "src/serde/uuid.rs", search = '\[dependencies\.rocket\]\nversion = "[0-9][0-9A-Za-z.-]*"', replace = '[dependencies.rocket]\nversion = "{{version}}"' }, + { file = "../codegen/src/lib.rs", search = 'rkt = \{ version = "[0-9][0-9A-Za-z.-]*"', replace = 'rkt = { version = "{{version}}"' }, +] + [lints] workspace = true diff --git a/release.toml b/release.toml new file mode 100644 index 00000000..0dff4874 --- /dev/null +++ b/release.toml @@ -0,0 +1,14 @@ +# cargo-release configuration. +# +# `Cargo.toml` (workspace.package.version) is the single source of truth for the +# rkt version; every crate inherits it via `version.workspace = true`. The +# documented version strings (READMEs, website, guide) are kept in lockstep by +# `pre-release-replacements`, defined under [package.metadata.release] in +# core/lib/Cargo.toml so they run exactly once (cargo-release otherwise applies +# workspace-level replacements once per crate, resolving paths per-crate). +# +# Release a new version with, e.g.: cargo release 1.0.2 --execute +# (omit --execute for a dry run). + +# Bump every crate in the workspace together. +shared-version = true diff --git a/website/docs/index.md b/website/docs/index.md index 4f83f8fc..562e3ffe 100644 --- a/website/docs/index.md +++ b/website/docs/index.md @@ -6,7 +6,7 @@ sidebar_position: 1 Welcome to rkt! -This is the official guide for rvt v1.0.0. It is designed to serve as a +This is the official guide for rkt v1.0.1. It is designed to serve as a starting point to writing web applications with rkt and Rust. The guide is also designed to be a reference for experienced Rocket developers. diff --git a/website/src/pages/index.js b/website/src/pages/index.js index 5175911d..f9a2e22b 100644 --- a/website/src/pages/index.js +++ b/website/src/pages/index.js @@ -179,7 +179,7 @@ function QuickStart() {
- {`[dependencies]\nrkt = "1.0.0"`} + {`[dependencies]\nrkt = "1.0.1"`} {TYPED_EXAMPLE}
From 6e463a34a03175a2d544a9a3ae5b66fab1e8ca0f Mon Sep 17 00:00:00 2001 From: Martyn Date: Sun, 5 Jul 2026 07:13:51 +0100 Subject: [PATCH 2/2] Version to 1.1.0 for next release --- Cargo.toml | 8 ++++---- README.md | 2 +- contrib/dyn_templates/README.md | 2 +- contrib/ws/README.md | 2 +- core/codegen/src/lib.rs | 2 +- core/lib/Cargo.toml | 9 ++++++--- core/lib/src/lib.rs | 6 +++--- core/lib/src/listener/quic.rs | 2 +- core/lib/src/serde/json.rs | 2 +- core/lib/src/serde/msgpack.rs | 4 ++-- core/lib/src/serde/uuid.rs | 4 ++-- website/docs/02-getting-started.md | 2 +- website/docs/04-requests.md | 4 ++-- website/docs/10-configuration.md | 4 ++-- website/docs/12-pastebin.md | 2 +- website/docs/14-faq.md | 2 +- website/docs/index.md | 2 +- website/src/pages/index.js | 2 +- 18 files changed, 32 insertions(+), 29 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 94b29f1d..57bf7558 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,7 +10,7 @@ members = [ ] [workspace.package] -version = "1.0.1" +version = "1.1.0" authors = ["Sergio Benitez "] license = "MIT OR Apache-2.0" edition = "2021" @@ -20,9 +20,9 @@ repository = "https://github.com/rustfoo/rkt" readme = "README.md" [workspace.dependencies] -rkt = { version = "1.0.1", path = "core/lib/", default-features = false } -rkt_http = { version = "1.0.1", path = "core/http/" } -rkt_codegen = { version = "1.0.1", path = "core/codegen/" } +rkt = { version = "1.1.0", path = "core/lib/", default-features = false } +rkt_http = { version = "1.1.0", path = "core/http/" } +rkt_codegen = { version = "1.1.0", path = "core/codegen/" } [workspace.lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(nightly)'] } diff --git a/README.md b/README.md index aac77a69..f1d178d7 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,7 @@ Add `rkt` to your `Cargo.toml`: ```toml [dependencies] -rkt = "1.0.1" +rkt = "1.1.0" ``` ## Crates diff --git a/contrib/dyn_templates/README.md b/contrib/dyn_templates/README.md index 678b5fa4..c27fea7f 100644 --- a/contrib/dyn_templates/README.md +++ b/contrib/dyn_templates/README.md @@ -22,7 +22,7 @@ and automatically reloads templates when compiled in debug mode. It supports [Ha ```toml [dependencies.rkt_dyn_templates] - version = "1.0.1" + version = "1.1.0" features = ["handlebars", "tera", "minijinja"] ``` diff --git a/contrib/ws/README.md b/contrib/ws/README.md index ab1d9ade..6a8fb0e6 100644 --- a/contrib/ws/README.md +++ b/contrib/ws/README.md @@ -16,7 +16,7 @@ This crate provides WebSocket support for rkt via integration with rkt's ```toml [dependencies] - ws = { package = "rkt_ws", version = "1.0.1" } + ws = { package = "rkt_ws", version = "1.1.0" } ``` 2. Use it! diff --git a/core/codegen/src/lib.rs b/core/codegen/src/lib.rs index 3d9e059d..a633c284 100644 --- a/core/codegen/src/lib.rs +++ b/core/codegen/src/lib.rs @@ -19,7 +19,7 @@ //! //! ```toml //! [dependencies] -//! rkt = { version = "1.0.0" } +//! rkt = { version = "1.1.0" } //! ``` //! //! And to import all macros, attributes, and derives via `#[macro_use]` in the diff --git a/core/lib/Cargo.toml b/core/lib/Cargo.toml index cb4c5eb7..b40a93c5 100644 --- a/core/lib/Cargo.toml +++ b/core/lib/Cargo.toml @@ -37,9 +37,12 @@ pre-release-replacements = [ { file = "src/lib.rs", search = 'rkt = \{ package = version = "[0-9][0-9A-Za-z.-]*"', replace = 'rkt = { package = version = "{{version}}"' }, { file = "src/lib.rs", search = 'rkt = \{ version = "[0-9][0-9A-Za-z.-]*"', replace = 'rkt = { version = "{{version}}"' }, { file = "src/listener/quic.rs", search = 'rkt = \{ version = "[0-9][0-9A-Za-z.-]*"', replace = 'rkt = { version = "{{version}}"' }, - { file = "src/serde/json.rs", search = '\[dependencies\.rkt\]\nversion = "[0-9][0-9A-Za-z.-]*"', replace = '[dependencies.rkt]\nversion = "{{version}}"' }, - { file = "src/serde/msgpack.rs", search = '\[dependencies\.rocket\]\nversion = "[0-9][0-9A-Za-z.-]*"', replace = '[dependencies.rocket]\nversion = "{{version}}"' }, - { file = "src/serde/uuid.rs", search = '\[dependencies\.rocket\]\nversion = "[0-9][0-9A-Za-z.-]*"', replace = '[dependencies.rocket]\nversion = "{{version}}"' }, + { file = "src/serde/json.rs", search = '\[dependencies\.rkt\]\n//! version = "[0-9][0-9A-Za-z.-]*"', replace = '''[dependencies.rkt] +//! version = "{{version}}"''' }, + { file = "src/serde/msgpack.rs", search = '\[dependencies\.rkt\]\n//! version = "[0-9][0-9A-Za-z.-]*"', replace = '''[dependencies.rkt] +//! version = "{{version}}"''' }, + { file = "src/serde/uuid.rs", search = '\[dependencies\.rkt\]\n//! version = "[0-9][0-9A-Za-z.-]*"', replace = '''[dependencies.rkt] +//! version = "{{version}}"''' }, { file = "../codegen/src/lib.rs", search = 'rkt = \{ version = "[0-9][0-9A-Za-z.-]*"', replace = 'rkt = { version = "{{version}}"' }, ] diff --git a/core/lib/src/lib.rs b/core/lib/src/lib.rs index 22b0d7f1..310488c3 100644 --- a/core/lib/src/lib.rs +++ b/core/lib/src/lib.rs @@ -25,7 +25,7 @@ //! //! ```toml //! [dependencies] -//! rkt = { package = version = "1.0.0" } +//! rkt = { package = version = "1.1.0" } //! ``` //! //! See the [guide](https://rkt.rs/guide) for more information on how @@ -69,14 +69,14 @@ //! //! ```toml //! [dependencies] -//! rkt = { version = "1.0.0", features = ["secrets", "tls", "json"] } +//! rkt = { version = "1.1.0", features = ["secrets", "tls", "json"] } //! ``` //! //! Conversely, HTTP/2 can be disabled: //! //! ```toml //! [dependencies] -//! rkt = { version = "1.0.0", default-features = false } +//! rkt = { version = "1.1.0", default-features = false } //! ``` //! //! [subscriber]: crate::trace::subscriber diff --git a/core/lib/src/listener/quic.rs b/core/lib/src/listener/quic.rs index d4f80b12..89eb177a 100644 --- a/core/lib/src/listener/quic.rs +++ b/core/lib/src/listener/quic.rs @@ -6,7 +6,7 @@ //! ```toml //! // Add the following to your Cargo.toml: //! [dependencies] -//! rkt = { version = "1.0.0", features = ["http3-preview"] } +//! rkt = { version = "1.1.0", features = ["http3-preview"] } //! //! // In your Rocket.toml or other equivalent config source: //! [default.tls] diff --git a/core/lib/src/serde/json.rs b/core/lib/src/serde/json.rs index 520589f8..bdde7336 100644 --- a/core/lib/src/serde/json.rs +++ b/core/lib/src/serde/json.rs @@ -9,7 +9,7 @@ //! //! ```toml //! [dependencies.rkt] -//! version = "1.0.0" +//! version = "1.1.0" //! features = ["json"] //! ``` //! diff --git a/core/lib/src/serde/msgpack.rs b/core/lib/src/serde/msgpack.rs index 7af6e704..97050384 100644 --- a/core/lib/src/serde/msgpack.rs +++ b/core/lib/src/serde/msgpack.rs @@ -8,8 +8,8 @@ //! it in `Cargo.toml` as follows: //! //! ```toml -//! [dependencies.rocket] -//! version = "1.0.0" +//! [dependencies.rkt] +//! version = "1.1.0" //! features = ["msgpack"] //! ``` //! diff --git a/core/lib/src/serde/uuid.rs b/core/lib/src/serde/uuid.rs index 594d124a..1cf68f53 100644 --- a/core/lib/src/serde/uuid.rs +++ b/core/lib/src/serde/uuid.rs @@ -6,8 +6,8 @@ //! in `Cargo.toml` as follows: //! //! ```toml -//! [dependencies.rocket] -//! version = "1.0.0" +//! [dependencies.rkt] +//! version = "1.1.0" //! features = ["uuid"] //! ``` //! diff --git a/website/docs/02-getting-started.md b/website/docs/02-getting-started.md index b3764595..a42e4925 100644 --- a/website/docs/02-getting-started.md +++ b/website/docs/02-getting-started.md @@ -38,7 +38,7 @@ Now, add rkt as a dependency in your `Cargo.toml`: ```toml [dependencies] -rkt = "1.0.1" +rkt = "1.1.0" ``` Modify `src/main.rs` so that it contains the code for the rkt `Hello, world!` diff --git a/website/docs/04-requests.md b/website/docs/04-requests.md index 396fecdb..7ca6d14d 100644 --- a/website/docs/04-requests.md +++ b/website/docs/04-requests.md @@ -667,7 +667,7 @@ feature: ```toml ## in Cargo.toml -rkt = { version = "1.0.1", features = ["secrets"] } +rkt = { version = "1.1.0", features = ["secrets"] } ``` The API for retrieving, adding, and removing private cookies is identical except @@ -847,7 +847,7 @@ docs](https://docs.rs/rkt/latest/rkt/#features) for a list of available features feature can be enabled in the `Cargo.toml`: ```toml -rkt = { version = "1.0.1", features = ["json"] } +rkt = { version = "1.1.0", features = ["json"] } ``` ::: diff --git a/website/docs/10-configuration.md b/website/docs/10-configuration.md index 63e0273c..19637f73 100644 --- a/website/docs/10-configuration.md +++ b/website/docs/10-configuration.md @@ -250,7 +250,7 @@ Security). To enable TLS support: ```toml,ignore [dependencies] - rkt = { version = "1.0.1", features = ["tls"] } + rkt = { version = "1.1.0", features = ["tls"] } ``` 2. Configure a TLS certificate chain and private key via the `tls.key` and @@ -326,7 +326,7 @@ enabled and support configured via the `tls.mutual` config parameter: ```toml,ignore [dependencies] - rkt = { version = "1.0.1", features = ["mtls"] } + rkt = { version = "1.1.0", features = ["mtls"] } ``` This implicitly enables the `tls` feature. diff --git a/website/docs/12-pastebin.md b/website/docs/12-pastebin.md index 90232514..65176150 100644 --- a/website/docs/12-pastebin.md +++ b/website/docs/12-pastebin.md @@ -58,7 +58,7 @@ Then add the usual rkt dependencies to the `Cargo.toml` file: ```toml [dependencies] -rkt = "1.0.1" +rkt = "1.1.0" ``` And finally, create a skeleton rkt application to work off of in diff --git a/website/docs/14-faq.md b/website/docs/14-faq.md index 84634e31..a9c51e0f 100644 --- a/website/docs/14-faq.md +++ b/website/docs/14-faq.md @@ -641,7 +641,7 @@ is to depend on a `contrib` library from git while also depending on a `crates.io` version of Rocket or vice-versa: ```toml -rkt = { version = "1.0.1" } +rkt = { version = "1.1.0" } rkt_dyn_templates = { git = "https://github.com/rustfoo/rkt.git" } ``` diff --git a/website/docs/index.md b/website/docs/index.md index 562e3ffe..bf941fed 100644 --- a/website/docs/index.md +++ b/website/docs/index.md @@ -6,7 +6,7 @@ sidebar_position: 1 Welcome to rkt! -This is the official guide for rkt v1.0.1. It is designed to serve as a +This is the official guide for rkt v1.1.0. It is designed to serve as a starting point to writing web applications with rkt and Rust. The guide is also designed to be a reference for experienced Rocket developers. diff --git a/website/src/pages/index.js b/website/src/pages/index.js index f9a2e22b..2eb545c0 100644 --- a/website/src/pages/index.js +++ b/website/src/pages/index.js @@ -179,7 +179,7 @@ function QuickStart() {
- {`[dependencies]\nrkt = "1.0.1"`} + {`[dependencies]\nrkt = "1.1.0"`} {TYPED_EXAMPLE}