From 35cc6a34b84610c14279621ab026d48f077b5e95 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 25 Aug 2026 00:48:45 +0000 Subject: [PATCH 1/4] chore: release --- Cargo.lock | 6 +++--- bon-macros/Cargo.toml | 2 +- bon-sandbox/Cargo.toml | 4 ++-- bon/Cargo.toml | 4 ++-- website/src/changelog.md | 11 +++++++++++ 5 files changed, 19 insertions(+), 8 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f12c974c..b13f883a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -56,7 +56,7 @@ dependencies = [ [[package]] name = "bon" -version = "3.9.3" +version = "3.10.0" dependencies = [ "bon-macros", "expect-test", @@ -67,7 +67,7 @@ dependencies = [ [[package]] name = "bon-macros" -version = "3.9.3" +version = "3.10.0" dependencies = [ "darling 0.24.1", "expect-test", @@ -80,7 +80,7 @@ dependencies = [ [[package]] name = "bon-sandbox" -version = "3.9.3" +version = "3.9.4" dependencies = [ "bon", "buildstructor", diff --git a/bon-macros/Cargo.toml b/bon-macros/Cargo.toml index 3a2e9374..c337bebb 100644 --- a/bon-macros/Cargo.toml +++ b/bon-macros/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "bon-macros" -version = "3.9.3" +version = "3.10.0" description = """ This is a proc-macro crate that is supposed to be a private implementation diff --git a/bon-sandbox/Cargo.toml b/bon-sandbox/Cargo.toml index 9145e8c6..a11e23d9 100644 --- a/bon-sandbox/Cargo.toml +++ b/bon-sandbox/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "bon-sandbox" -version = "3.9.3" +version = "3.9.4" description = """ Not a real crate! It's just a showcase of examples used by `bon`'s documentation @@ -36,4 +36,4 @@ typed-builder = "0.23" [dependencies.bon] features = ["experimental-overwritable", "experimental-generics-setters"] path = "../bon" -version = "=3.9.3" +version = "=3.10.0" diff --git a/bon/Cargo.toml b/bon/Cargo.toml index 2977c6f5..a2ac3edb 100644 --- a/bon/Cargo.toml +++ b/bon/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "bon" -version = "3.9.3" +version = "3.10.0" description = "Next-gen compile-time-checked builder generator, named function's arguments, and more!" @@ -39,7 +39,7 @@ workspace = true # The version of the macro crate is pinned to a specific one because the code # generated by the macros uses private APIs from the runtime crate that are not # guarded by semver. -bon-macros = { path = "../bon-macros", version = "=3.9.3" } +bon-macros = { path = "../bon-macros", version = "=3.10.0" } [dev-dependencies] expect-test = "1.4.1" diff --git a/website/src/changelog.md b/website/src/changelog.md index d8f3f04c..4b870eb8 100644 --- a/website/src/changelog.md +++ b/website/src/changelog.md @@ -5,6 +5,17 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [3.10.0](https://github.com/elastio/bon/compare/v3.9.3...v3.10.0) - 2026-08-25 + +### Added + +- support the default switch in the on(...) clause ([#398](https://github.com/elastio/bon/pull/398)) + +### Other + +- Bump MSRV 1.88, syn 3.0 and darling 0.24 ([#399](https://github.com/elastio/bon/pull/399)) +- [Maintenance] Update deps and links ([#392](https://github.com/elastio/bon/pull/392)) + ## [3.9.3](https://github.com/elastio/bon/compare/v3.9.2...v3.9.3) - 2026-06-15 ### Fixed From 19398437cac6072e6de2d65e2f079de15cd5cf02 Mon Sep 17 00:00:00 2001 From: Veetaha Date: Tue, 25 Aug 2026 01:15:10 +0000 Subject: [PATCH 2/4] Update changelog --- Cargo.lock | 2 +- README.md | 2 +- bon-sandbox/Cargo.toml | 4 ++-- scripts/sync-version.sh | 3 --- website/src/changelog.md | 18 ++++++++++++++---- 5 files changed, 18 insertions(+), 11 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b13f883a..8dc7d168 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -80,7 +80,7 @@ dependencies = [ [[package]] name = "bon-sandbox" -version = "3.9.4" +version = "3.10.0" dependencies = [ "bon", "buildstructor", diff --git a/README.md b/README.md index e2114dd2..5815e830 100644 --- a/README.md +++ b/README.md @@ -199,7 +199,7 @@ Add `bon` to your `Cargo.toml`. ```toml [dependencies] -bon = "3.9" +bon = "3.10" ``` You can opt out of `std` and `alloc` cargo features with `default-features = false` for `no_std` environments. diff --git a/bon-sandbox/Cargo.toml b/bon-sandbox/Cargo.toml index a11e23d9..fe8255e1 100644 --- a/bon-sandbox/Cargo.toml +++ b/bon-sandbox/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "bon-sandbox" -version = "3.9.4" +version = "3.10.0" description = """ Not a real crate! It's just a showcase of examples used by `bon`'s documentation @@ -36,4 +36,4 @@ typed-builder = "0.23" [dependencies.bon] features = ["experimental-overwritable", "experimental-generics-setters"] path = "../bon" -version = "=3.10.0" +version = "=3.10.0" diff --git a/scripts/sync-version.sh b/scripts/sync-version.sh index 8e6d97c2..3753a2cb 100755 --- a/scripts/sync-version.sh +++ b/scripts/sync-version.sh @@ -8,6 +8,3 @@ echo "Setting version $version" sed -i "s/bon = \".*\"/bon = \"$version\"/" \ README.md - -sed -i "s/bon = { version = \"[^\"]*\"/bon = { version = \"$version\"/" \ - website/src/guide/typestate-api/custom-methods.md diff --git a/website/src/changelog.md b/website/src/changelog.md index 4b870eb8..24c9ba7b 100644 --- a/website/src/changelog.md +++ b/website/src/changelog.md @@ -7,14 +7,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [3.10.0](https://github.com/elastio/bon/compare/v3.9.3...v3.10.0) - 2026-08-25 +### MSRV Update Notice + +This release raises the minimum supported Rust version from `1.59.0` to `1.88.0`. If you are on an older compiler, stay on `bon@3.9`, which keeps working as before. The new MSRV also allowed us to deprecate the `implied-bounds` cargo feature, so be sure to remove it from your `Cargo.toml` if you have it enabled. This feature won't be removed until a major release for which there are no plans yet. + +The MSRV comes from `darling@0.24` update, which is the version that updated to `syn@3.0`. . Implied bounds are now generated unconditionally, because the syntax they need is available on the new MSRV. + ### Added -- support the default switch in the on(...) clause ([#398](https://github.com/elastio/bon/pull/398)) +- Support the `default` switch in the [`on(...)`](https://bon-rs.com/reference/builder/top-level/on) clause ([#398](https://github.com/elastio/bon/pull/398)). Thanks [@ChrisJr404](https://github.com/ChrisJr404) for the contribution! -### Other +### Changed + +- Bump MSRV to `1.88.0`, move to the 2024 edition, update to `syn@3.0` and `darling@0.24` ([#399](https://github.com/elastio/bon/pull/399)) +- Deprecate the `implied-bounds` cargo feature. Implied bounds are now generated by default ([#399](https://github.com/elastio/bon/pull/399)) + +### Internal -- Bump MSRV 1.88, syn 3.0 and darling 0.24 ([#399](https://github.com/elastio/bon/pull/399)) -- [Maintenance] Update deps and links ([#392](https://github.com/elastio/bon/pull/392)) +- Regular maintenance ([#392](https://github.com/elastio/bon/pull/392)) ## [3.9.3](https://github.com/elastio/bon/compare/v3.9.2...v3.9.3) - 2026-06-15 From 14e173dbd63a0f7caa0bbca630e16adc9d567004 Mon Sep 17 00:00:00 2001 From: Veetaha Date: Tue, 25 Aug 2026 01:17:26 +0000 Subject: [PATCH 3/4] Fixes --- website/src/changelog.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/website/src/changelog.md b/website/src/changelog.md index 24c9ba7b..615fc3e3 100644 --- a/website/src/changelog.md +++ b/website/src/changelog.md @@ -9,9 +9,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### MSRV Update Notice -This release raises the minimum supported Rust version from `1.59.0` to `1.88.0`. If you are on an older compiler, stay on `bon@3.9`, which keeps working as before. The new MSRV also allowed us to deprecate the `implied-bounds` cargo feature, so be sure to remove it from your `Cargo.toml` if you have it enabled. This feature won't be removed until a major release for which there are no plans yet. +This release raises the minimum supported Rust version from `1.59.0` to `1.88.0`. If you are on an older compiler, stay on `bon@3.9`. -The MSRV comes from `darling@0.24` update, which is the version that updated to `syn@3.0`. . Implied bounds are now generated unconditionally, because the syntax they need is available on the new MSRV. +The new MSRV also allowed us to deprecate the `implied-bounds` cargo feature, so be sure to remove it from your `Cargo.toml` if you have it enabled. This feature won't be removed until a major release, and there are no plans for one yet. + +The MSRV bump comes from the `darling@0.24` update, which is the first version that uses `syn@3.0`. ### Added From c8064a8729c7ae9f305a7b81d45d4a6dadd06b13 Mon Sep 17 00:00:00 2001 From: Veetaha Date: Tue, 25 Aug 2026 01:45:50 +0000 Subject: [PATCH 4/4] Fix wording --- website/src/changelog.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/src/changelog.md b/website/src/changelog.md index 615fc3e3..31dc7432 100644 --- a/website/src/changelog.md +++ b/website/src/changelog.md @@ -11,7 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 This release raises the minimum supported Rust version from `1.59.0` to `1.88.0`. If you are on an older compiler, stay on `bon@3.9`. -The new MSRV also allowed us to deprecate the `implied-bounds` cargo feature, so be sure to remove it from your `Cargo.toml` if you have it enabled. This feature won't be removed until a major release, and there are no plans for one yet. +The new MSRV also comes with the deprecation of the `implied-bounds` cargo feature. Implied bounds are now added by default without any feature gate, so be sure to remove that feature from your `Cargo.toml` if you have it enabled. It's currently a no-op, and it won't be removed until a major release, for which there are no plans yet. The MSRV bump comes from the `darling@0.24` update, which is the first version that uses `syn@3.0`.