Releases: MooVC/Fluentify
Releases · MooVC/Fluentify
2.2.0: Compound Extensions
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
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
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
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
Added
FLTFY13now raises an error when multiple properties on the same type use the sameDescriptorvalue.
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
Added
AutoInitializeWithattribute to instructFluentifyto initialize a type using a static property or method defined within a given type.FLTFY09to inform engineers when the target for initialization is not valid for use with theAutoInitializeWithattribute.FLTFY10to inform engineers when the target for initialization has been annotated with theAutoInitializeWithattribute, which will be ignored byFluentifyin the presence of theSkipAutoInitialization.
Hideattribute to instructFluentifyto generate an extension methods with internal scope for the annotated property.FLTFY11to inform engineers whenHidehas been placed on a property of a type that is not annotated withFluentify.FLTFY12to inform engineers whenHidehas been placed on a property that isIgnoredbyFluentify.
Withextension for all classes, enabling engineers to construct copies using optional property factories.- The
Withextension is intended to simplify the process of authoring manual extension methods.
- The
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 thenew()constraint, aNotSupportedExceptionwill be thrown. Breaking Change
Full Changelog: 1.9.1...2.0.0
2.0.0-rc.9: Extension Flexibility
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
Fixed
- Resolved a naming conflict in
Withextension parameters when a type includes aSubjectproperty.
Full Changelog: 2.0.0-rc.9...2.0.0-rc.10
2.0.0-rc.8: Extension Flexibility
Added
AutoInitializeWithattribute to instructFluentifyto initialize a type using a static property or method defined within a given type.FLTFY09to inform engineers when the target for initialization is not valid for use with theAutoInitializeWithattribute.
Hideattribute to instructFluentifyto generate an extension methods with internal scope for the annotated property.FLTFY11to inform engineers whenHidehas been placed on a property of a type that is not annotated withFluentify.FLTFY12to inform engineers whenHidehas been placed on a property that isIgnoredbyFluentify.
SkipAutoInitializationattribute to instructFluentifythat a builder extension method should not be generated for a specific type, or a property.FLTFY10to inform engineers when the target for initialization has been annotated with theAutoInitializeWithattribute, which will be ignored byFluentifyin the presence of theSkipAutoInitialization.
Withextension for all classes, enabling engineers to construct copies using optional property factories.- The
Withextension is intended to simplify the process of authoring manual extension methods.
- The
Full Changelog: 2.0.0-rc.6...2.0.0-rc.8
1.9.1: Indexers
Fixed
IsMutablenow excludes indexer properties from being reported as mutable.
Full Changelog: 1.9.0...1.9.1