From 45a3fa209ea94567eb4c90b16bca130f6b464d7f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 13 Feb 2026 00:07:01 +0000 Subject: [PATCH 1/3] chore: release v3.8.3 --- Cargo.lock | 6 +++--- bon-macros/Cargo.toml | 2 +- bon-sandbox/Cargo.toml | 4 ++-- bon/Cargo.toml | 4 ++-- website/src/changelog.md | 9 +++++++++ 5 files changed, 17 insertions(+), 8 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b0ec8551..4584c461 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -91,7 +91,7 @@ checksum = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394" [[package]] name = "bon" -version = "3.8.2" +version = "3.8.3" dependencies = [ "bon-macros", "expect-test", @@ -103,7 +103,7 @@ dependencies = [ [[package]] name = "bon-macros" -version = "3.8.2" +version = "3.8.3" dependencies = [ "darling", "expect-test", @@ -117,7 +117,7 @@ dependencies = [ [[package]] name = "bon-sandbox" -version = "3.8.2" +version = "3.8.3" dependencies = [ "bon", "buildstructor", diff --git a/bon-macros/Cargo.toml b/bon-macros/Cargo.toml index 2f3d13b4..8de1f8cd 100644 --- a/bon-macros/Cargo.toml +++ b/bon-macros/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "bon-macros" -version = "3.8.2" +version = "3.8.3" 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 3edb437c..38e33881 100644 --- a/bon-sandbox/Cargo.toml +++ b/bon-sandbox/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "bon-sandbox" -version = "3.8.2" +version = "3.8.3" 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.8.2" +version = "=3.8.3" diff --git a/bon/Cargo.toml b/bon/Cargo.toml index 9c6e2d2e..8af5e374 100644 --- a/bon/Cargo.toml +++ b/bon/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "bon" -version = "3.8.2" +version = "3.8.3" description = "Next-gen compile-time-checked builder generator, named function's arguments, and more!" @@ -45,7 +45,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.8.2" } +bon-macros = { path = "../bon-macros", version = "=3.8.3" } rustversion = "1" [dev-dependencies] diff --git a/website/src/changelog.md b/website/src/changelog.md index 31a8a9b6..cc2cf7a3 100644 --- a/website/src/changelog.md +++ b/website/src/changelog.md @@ -5,6 +5,15 @@ 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.8.3](https://github.com/elastio/bon/compare/v3.8.2...v3.8.3) - 2026-02-13 + +### Other + +- Support `builder(overwritable)` with `builder(getter)` ([#369](https://github.com/elastio/bon/pull/369)) +- Actualize readme ([#365](https://github.com/elastio/bon/pull/365)) +- Veetaha's followup for `#[builder(generics(setters))]` ([#368](https://github.com/elastio/bon/pull/368)) +- Add support for setters that change the builder type ([#364](https://github.com/elastio/bon/pull/364)) + ## [3.8.2](https://github.com/elastio/bon/compare/v3.8.1...v3.8.2) - 2026-01-08 ### Fixed From 5caee18226477f247d20524ba5c050cbf8b2d032 Mon Sep 17 00:00:00 2001 From: Veetaha Date: Fri, 13 Feb 2026 01:13:19 +0000 Subject: [PATCH 2/3] Update version and changelog --- Cargo.lock | 6 +++--- bon-macros/Cargo.toml | 2 +- bon-sandbox/Cargo.toml | 4 ++-- bon/Cargo.toml | 4 ++-- website/src/changelog.md | 12 +++++++----- 5 files changed, 15 insertions(+), 13 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4584c461..f05b4cb4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -91,7 +91,7 @@ checksum = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394" [[package]] name = "bon" -version = "3.8.3" +version = "3.9.0" dependencies = [ "bon-macros", "expect-test", @@ -103,7 +103,7 @@ dependencies = [ [[package]] name = "bon-macros" -version = "3.8.3" +version = "3.9.0" dependencies = [ "darling", "expect-test", @@ -117,7 +117,7 @@ dependencies = [ [[package]] name = "bon-sandbox" -version = "3.8.3" +version = "3.9.0" dependencies = [ "bon", "buildstructor", diff --git a/bon-macros/Cargo.toml b/bon-macros/Cargo.toml index 8de1f8cd..27255168 100644 --- a/bon-macros/Cargo.toml +++ b/bon-macros/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "bon-macros" -version = "3.8.3" +version = "3.9.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 38e33881..a684ee99 100644 --- a/bon-sandbox/Cargo.toml +++ b/bon-sandbox/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "bon-sandbox" -version = "3.8.3" +version = "3.9.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.8.3" +version = "=3.9.0" diff --git a/bon/Cargo.toml b/bon/Cargo.toml index 8af5e374..93286d53 100644 --- a/bon/Cargo.toml +++ b/bon/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "bon" -version = "3.8.3" +version = "3.9.0" description = "Next-gen compile-time-checked builder generator, named function's arguments, and more!" @@ -45,7 +45,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.8.3" } +bon-macros = { path = "../bon-macros", version = "=3.9.0" } rustversion = "1" [dev-dependencies] diff --git a/website/src/changelog.md b/website/src/changelog.md index cc2cf7a3..e7334fe7 100644 --- a/website/src/changelog.md +++ b/website/src/changelog.md @@ -5,14 +5,16 @@ 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.8.3](https://github.com/elastio/bon/compare/v3.8.2...v3.8.3) - 2026-02-13 +## [3.9.0](https://github.com/elastio/bon/compare/v3.8.2...v3.9.0) - 2026-02-13 -### Other +### Added +- Introduce a new experimental attribute [`builder(generics(setters))`](https://bon-rs.com/reference/builder/top-level/generics) for overwriting generic types on the builder. ([#364](https://github.com/elastio/bon/pull/364), [#368](https://github.com/elastio/bon/pull/368), [#370](https://github.com/elastio/bon/pull/370)). Thanks [@dflemstr](https://github.com/dflemstr) for the contribution! - Support `builder(overwritable)` with `builder(getter)` ([#369](https://github.com/elastio/bon/pull/369)) -- Actualize readme ([#365](https://github.com/elastio/bon/pull/365)) -- Veetaha's followup for `#[builder(generics(setters))]` ([#368](https://github.com/elastio/bon/pull/368)) -- Add support for setters that change the builder type ([#364](https://github.com/elastio/bon/pull/364)) + +### Internal + +- Regular maintenance ([#365](https://github.com/elastio/bon/pull/365)) ## [3.8.2](https://github.com/elastio/bon/compare/v3.8.1...v3.8.2) - 2026-01-08 From 9ab9e1a0545cc7b912327cac0c30d8ba3a2bc066 Mon Sep 17 00:00:00 2001 From: Veetaha Date: Fri, 13 Feb 2026 01:14:29 +0000 Subject: [PATCH 3/3] Sync version --- README.md | 2 +- website/src/guide/typestate-api/custom-methods.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 93fd8d33..aa038daf 100644 --- a/README.md +++ b/README.md @@ -199,7 +199,7 @@ Add `bon` to your `Cargo.toml`. ```toml [dependencies] -bon = "3.8" +bon = "3.9" ``` You can opt out of `std` and `alloc` cargo features with `default-features = false` for `no_std` environments. diff --git a/website/src/guide/typestate-api/custom-methods.md b/website/src/guide/typestate-api/custom-methods.md index 59f259ca..92e11f92 100644 --- a/website/src/guide/typestate-api/custom-methods.md +++ b/website/src/guide/typestate-api/custom-methods.md @@ -293,5 +293,5 @@ This is implemented as a cargo feature to make sure `bon` maintains a lower MSRV ```toml [dependencies] -bon = { version = "3.8", features = ["implied-bounds"] } +bon = { version = "3.9", features = ["implied-bounds"] } ```