Skip to content

Releases: elastio/bon

v3.6.0

13 Apr 16:57
31be7d0

Choose a tag to compare

Added

  • Add very limited support for #[builder(const)] (#279).
    See the updated docs here

v3.5.2

09 Apr 22:05
f4e1b95

Choose a tag to compare

Fixed

  • Small fix for rust-analyzer syntax highlighting of parameters for functions annotated with #[builder] (#275).
    This doesn't fix the problem fully since function parameters are now assigned "variable" semantic token type instead of "parameter". However, it's already better than "struct" that they were assigned before this fix. Created an issue in rust-analyzer with more details and to get the full fix of this problem: rust-lang/rust-analyzer#19556.
  • Fix lints on nightly 2025-03-20 (#272)

v3.5.1

19 Mar 21:15
4c2ab64

Choose a tag to compare

Fixed

  • Delay the privatizing (i.e. renaming of the original function to __orig_{fn_name}) until after all other macros are expanded (#269). Also removed the warnings for #[tracing::instrument] users introduced in #264. This is because with this patch there will be no difference whether you place #[tracing::instrument] after or before the #[builder] attribute - all other proc macros on the function will see the original function name.

v3.5.0

16 Mar 18:54
954c074

Choose a tag to compare

Added

  • Introduce setters(doc(default(skip))) attribute to skip the inclusion of the default value in the generated docs for setters (#265). See the updated docs here.

Fixed

  • Trigger a compiler warning if #[tracing::instrument] is placed after the #[builder] instead of before (#264). This should prevent the papercut where tracing::instrument assigns the span name with the ugly __orig_ prefix in the name.
  • Fix repeated #[builder] attributes getting ignored on free functions (#263)

v3.4.0

06 Mar 00:22
6719d64

Choose a tag to compare

Added

  • Stabilize the current #[builder(getter)] attribute MVP (#251).
    The cargo feature experimental-getters is no longer needed and is now no-op.
  • Make self receiver and start_fn members available as official fields on the builder (#250).
    Check the new documentation page about native fields.
  • Introduce #[builder(derive(Into))] attribute to generate an impl From<Builder> for T (#248).
    See the updated "Inspecting" guide page now known as Derives for Builders and the updated #[builder(derive)] reference.

Other

  • Fix a typo on the front page of the website 😳 (#243). Thanks @MegaRedHand for the contribution!
  • Add OpenCollective funding option (#241)
  • Regular maintenance (#244, #246, #249, #253)

Acknowledgements

  • Gratitude to the Kindness.ai team who started supporting on OpenCollective at 100$ a month!
  • Gratitude to Ethan Skowronski who started supporting on Patreon at 1$ a month!

v3.3.2

28 Dec 22:25
42e894a

Choose a tag to compare

Fixed

  • Fix syntax errors caused by PascalCasification when generating code for members named self_ (#238)

v3.3.1

23 Dec 00:11
5099fef

Choose a tag to compare

Fixed

  • Fix clippy::empty_enum triggering on nightly with feature(never_type) enabled (#234)

v3.3.0

07 Dec 19:17
7a4b211

Choose a tag to compare

Added

  • Add clone, copy, deref configs support in #[builder(getter)] (see new docs) (#229)

v3.2.0

01 Dec 21:59
f0edf48

Choose a tag to compare

Added

  • Add #[builder(getter(...))] attribute to define getters for already set members. See Getters guide for details (#222) (#226). Thanks @lazkindness for the contribution!

v3.1.1

27 Nov 01:09
00d9a3e

Choose a tag to compare

Fixed

  • Make generated identifiers of private fields deterministic. This is important for the Buck build system and probably for Bazel as well (#219)