diff --git a/Cargo.lock b/Cargo.lock index f12c974c..8dc7d168 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.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-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..fe8255e1 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.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.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/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 d8f3f04c..31dc7432 100644 --- a/website/src/changelog.md +++ b/website/src/changelog.md @@ -5,6 +5,29 @@ 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 + +### 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`. + +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`. + +### Added + +- 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! + +### 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 + +- 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 ### Fixed