Skip to content

Releases: idanarye/rust-typed-builder

0.23.2 - 2025-11-19

19 Nov 11:28

Choose a tag to compare

Fixed

  • Clippy warnings for using &Option<&T> instead of Option<&T>.

0.23.1 - 2025-11-16

16 Nov 12:02

Choose a tag to compare

Fixed

  • Clippy warnings for unused variables in the new default implementation.

0.23.0 - 2025-10-20

20 Oct 21:03

Choose a tag to compare

Changed

  • Upgrae Rust edition to 2024.
  • [BREAKING] When default is an expression that uses previous fields,
    it'll receive them as reference.

Added

  • default_where option to add generic bounds on default.
  • builder_type(attributes(...)) for adding attributes to the builder type
    (mainly for derive)

Removed

  • [BREAKING] The Optional trait. This is an internal implementation
    detail, but some users may have relied on it for customized flows.

0.22.0 - 2025-09-08

14 Sep 12:35

Choose a tag to compare

Added

  • New optional alternate transform syntax using a full fn, to allow support for custom lifetimes, generics and a where clause to custom builder method.

Example:

#[derive(TypedBuilder)]
struct Foo {
    #[builder(
        setter(
            fn transform<'a, M>(value: impl IntoValue<'a, String, M>) -> String
            where
              M: std::fmt::Display
            {
                value.into_value()
            },
        )
    )]
    s: String,
}

0.21.2 - 2025-08-21

21 Aug 12:01

Choose a tag to compare

Fixed

  • Recognize TypeGroup when checking for Option.

0.21.1 - 2025-08-12

12 Aug 13:24

Choose a tag to compare

Fixed

  • Strip raw ident prefix from base method name before assembling prefixed/suffixed fallback method names

0.21.0 - 2025-03-20

20 Mar 12:52

Choose a tag to compare

Added

  • Added ignore_invalid option to strip_option to skip stripping for non-Option fields
  • Added fallback_prefix and fallback_suffix options to strip_option for customizing fallback method names
  • Added support for field defaults with strip_option and its fallback options

Changed

  • Improved handling of strip_option to work better with field defaults
  • Made strip_option more flexible with non-Option fields when ignore_invalid is set

0.20.1 - 2025-03-14

14 Mar 00:25

Choose a tag to compare

Fixed

  • Fix mutator with type parameter using associated type (see issue #157)

0.20.0 - 2024-08-22

14 Mar 00:25

Choose a tag to compare

Added

  • Add #[builder(setter(strip_option(fallback = field_opt)))] to add a fallback unstripped method to the builder struct.
  • Add #[builder(setter(strip_bool(fallback = field_bool)))] to add a fallback setter that takes the bool value to the builder struct.

0.19.1 - 2024-07-14

14 Mar 00:25

Choose a tag to compare

Fixed

  • Fix mutators for generic fields (see issue #149)