Skip to content

Releases: MooVC/Fluentify

2.2.0: Compound Extensions

15 Apr 09:51
bf06573

Choose a tag to compare

Added

  • Added a new generated overload for fluent property extensions that accepts both an explicit instance and a Func<T, T> builder delegate, enabling single-call chaining of instance assignment plus builder mutation.

Full Changelog: 2.1.0...2.2.0

2.2.0-rc.3: Compound Extensions

13 Apr 20:58
621b1de

Choose a tag to compare

Pre-release

What's Changed

  • Changed the component extension for arrays to apply the builder to each element.

Full Changelog: 2.2.0-rc.2...2.2.0-rc.3

2.2.0-rc.2: Compound Extensions

13 Apr 20:09
e572c5f

Choose a tag to compare

Pre-release

What's Changed

  • Fixed an issue whereby multiple instances for the same value where added when the target property was a collection.

Full Changelog: 2.2.0-rc.1...2.2.0-rc.2

2.2.0-rc.1: Compound Extensions

12 Apr 21:54

Choose a tag to compare

Pre-release

Added

  • Added a new generated overload for fluent property extensions that accepts both an explicit instance and a Func<T, T> builder delegate, enabling single-call chaining of instance assignment plus builder mutation.

Full Changelog: 2.1.0...2.2.0-rc.1

2.1.0: Duplicate Descriptors

30 Mar 18:54
e3dc130

Choose a tag to compare

Added

  • FLTFY13 now raises an error when multiple properties on the same type use the same Descriptor value.

Changed

  • Improved package and repository discoverability for engineers researching fluent builder implementations by expanding README positioning content and NuGet metadata keywords.

Full Changelog: 2.0.0...2.1.0

2.0.0: Enhanced Builder Extensions

15 Feb 20:46
d24e88c

Choose a tag to compare

Added

  • AutoInitializeWith attribute to instruct Fluentify to initialize a type using a static property or method defined within a given type.
    • FLTFY09 to inform engineers when the target for initialization is not valid for use with the AutoInitializeWith attribute.
    • FLTFY10 to inform engineers when the target for initialization has been annotated with the AutoInitializeWith attribute, which will be ignored by Fluentify in the presence of the SkipAutoInitialization.
  • Hide attribute to instruct Fluentify to generate an extension methods with internal scope for the annotated property.
    • FLTFY11 to inform engineers when Hide has been placed on a property of a type that is not annotated with Fluentify.
    • FLTFY12 to inform engineers when Hide has been placed on a property that is Ignored by Fluentify.
  • With extension for all classes, enabling engineers to construct copies using optional property factories.
    • The With extension is intended to simplify the process of authoring manual extension methods.

Changed

  • Builder extensions are now created for most reference types which will use the current instance assigned to the property as a starting point. When no instance is assigned, and the type adheres to the new() constraint, a new instance will be created, as was the case in the previous version. If, however, the type does not adhere to the new() constraint, a NotSupportedException will be thrown. Breaking Change

Full Changelog: 1.9.1...2.0.0

2.0.0-rc.9: Extension Flexibility

30 Jan 20:38

Choose a tag to compare

Pre-release

Fixed

  • Added a check to ensure parameter name isn't a reserved keyword.

Full Changelog: 2.0.0-rc.8...2.0.0-rc.9

2.0.0-rc.10: Builder Extensions

30 Jan 21:56
73d22c0

Choose a tag to compare

Pre-release

Fixed

  • Resolved a naming conflict in With extension parameters when a type includes a Subject property.

Full Changelog: 2.0.0-rc.9...2.0.0-rc.10

2.0.0-rc.8: Extension Flexibility

29 Jan 22:00
585fe5f

Choose a tag to compare

Pre-release

Added

  • AutoInitializeWith attribute to instruct Fluentify to initialize a type using a static property or method defined within a given type.
    • FLTFY09 to inform engineers when the target for initialization is not valid for use with the AutoInitializeWith attribute.
  • Hide attribute to instruct Fluentify to generate an extension methods with internal scope for the annotated property.
    • FLTFY11 to inform engineers when Hide has been placed on a property of a type that is not annotated with Fluentify.
    • FLTFY12 to inform engineers when Hide has been placed on a property that is Ignored by Fluentify.
  • SkipAutoInitialization attribute to instruct Fluentify that a builder extension method should not be generated for a specific type, or a property.
    • FLTFY10 to inform engineers when the target for initialization has been annotated with the AutoInitializeWith attribute, which will be ignored by Fluentify in the presence of the SkipAutoInitialization.
  • With extension for all classes, enabling engineers to construct copies using optional property factories.
    • The With extension is intended to simplify the process of authoring manual extension methods.

Full Changelog: 2.0.0-rc.6...2.0.0-rc.8

1.9.1: Indexers

16 Jan 22:27
2931c73

Choose a tag to compare

Fixed

  • IsMutable now excludes indexer properties from being reported as mutable.

Full Changelog: 1.9.0...1.9.1