Skip to content

Releases: elastio/bon

v3.9.0

13 Feb 01:23
d87637c

Choose a tag to compare

Added

Internal

  • Regular maintenance (#365)

v3.8.2

08 Jan 13:24
9f43a1f

Choose a tag to compare

Fixed

  • Don't attempt to compile big default value showcases as ignored rust doctests (#360)

Internal

v3.8.1

08 Oct 12:31
b1d7dde

Choose a tag to compare

Fixed

  • Fix clippy::wrong_self_convention warning for fields with is_ prefix etc. (#349). Thanks @nicmue for the contribution!

Internal

  • Add a regression test for clippy::wrong_self_convention (#350)

v3.8.0

04 Oct 20:41
09b719a

Choose a tag to compare

Lint Update Notice

This release brings some rustdoc improvements and no other visible API changes except that rustc and clippy will start reporting some more true-positive lints. For example builder methods defined via an impl block annotated with #[bon] will now be correctly reported as unused if they are not used. Also, using a private type in a public builder method will trigger a private_interfaces lint now.

This is all thanks to the updated span handling design researched and implemented by @Eisverygoodletter. It's not clear what other new lints the new span handling may trigger in other realworld codebases. If you see a lint from the code generated by bon that you think shouldn't be there, please, open an issue, and it'll be fixed as soon as possible!

Changed

  • Make rustdoc source links for the starting function reference original function (#341). Thanks @Eisverygoodletter for the contribution!
  • Make rustdoc source links for setters/getters reference original member (#345)

Internal

v3.7.2

02 Sep 11:34
bbd8b09

Choose a tag to compare

Fixed

  • Add missing lifetime replacement for generic param declarations on derive(IntoFuture) impl block (#337)
  • Set the lower bound requirement of rustversion to v1.0.19 (#336). Thanks @Fokko for the contribution!

v3.7.1

19 Aug 19:48
bc940a1

Choose a tag to compare

This is a small patch release to make bon easier to package for Debian.

Other

  • Add Copyright header to the MIT License (#331)

Internal

  • Fix MSRV tests and lints from nightly 13-08-2025 (#329)
  • Revert refactoring PR 320 to make code compatible with darling 0.20 (#332)

v3.7.0

09 Aug 19:28
532df99

Choose a tag to compare

Added

Fixed

  • Add missing where clause forwarding to #[builder(derive(Into))] (#325)

Internal

  • Make tests pass without the experimental-overwritable feature (#326)
  • Sunset financial support by Kindness (#324)
  • Fix clippy lints from nightly (2025-08-09) (#323)

v3.6.5

18 Jul 18:29
c1e0b24

Choose a tag to compare

This is a regular maintenance release with no essential API/behavior changes. Enjoy the stability 😄.

Docs

  • Add all 3 variations of builder syntax to the Basics guide pages (#315)

Internal

  • Update the dependency darling (crate for parsing the attributes) from 0.20 to 0.21 and other internal dependencies (#317, #320, #304)
  • Switch from iai to iai-callgrind for high-precision benchmarking of bon (#311). iai-callgrind is a better maintained alternative to iai, but in any case, both deserve a huge thanks for providing the benchmarking capabilities for bon!
  • Migrate to OIDC for trusted publishing. Huge thanks for this new crates.io feature to everyone who made it happen! (#318)
  • Fix clippy::or_fun_call lint from the nightly toolchain (#316)

v3.6.4

09 Jun 13:49
dea0c4a

Choose a tag to compare

Added

  • Improve error reporting when using the #[bon::builder] fully qualified attribute inside of impl blocks (#297)

v3.6.3

21 Apr 03:31
3a2907a

Choose a tag to compare

Fixed

  • Fix missing support for #[builder(field)] with #[builder(const)] (#291)