Releases: roryprimrose/ModelBuilder
Releases · roryprimrose/ModelBuilder
Release 6.0.0-beta0005
Features/76 read only collection (#81) * Updated DefaultTypeResolver to resolve matching generic types. * Added better support for resolving IEnumerable. * Added better support for resolving derived classes. * Updated DefaultPropertyResolver to ignore indexer properties * Updated DefaultTypeResolver to return List<> for generic IEnumerable types * Added type caching to DefaultTypeResolver Closes #76
Release 6.0.0-beta0004
Features/77 enumerable min max (#79) * Updated ArrayTypeCreator to support MinCount and MaxCount properties * Updated EnumerableTypeCreator to support MinCount and MaxCount properties #Closes 77
Release 6.0.0-beta0003
Updated DefaultPropertyResolver to determine property ordering (#78) * Updated DefaultPropertyResolver to determine property ordering * Disabled unnecessary stream check for release builds Closes #69
Release 6.0.0-beta0002
Feature/redesign plumbing (#75) The package had some large design changes that introduce breaking changes to the API if you were customising the model creation process. The following changes have been made. - All ValueGenerator types have been moved into a ValueGenerators namespace. - All TypeCreator types have been moved into a TypeCreators namespace. - CreationRule has been replaced with ExpressionCreationRule, PredicateCreationRule and RegexCreationRule which are in the CreationRules namespace. - The combination of build strategy, compiler and configuration have been replaced with just `IBuildConfiguration`. - IBuildConfiguration is now mutable. A new IBuildConfiguration is created for each call to a static method on the `Model` class however that some configuration is used for the entire creation process. Any mutations to the build configuration will apply until the entire build tree has completed. - `ICompilerModule` has been renamed to `IConfigurationModule` and now configures `IBuildConfiguration`. - The `IgnoreRule` class has been replaced with the `IIgnoreRule` interface. The logic for processing rule matches moves from `DefaultPropertyResolver` to the rule itself. - Renamed IValueGenerator.IsSupported to IsMatch - Renamed IPostBuildAction.IsSupported to IsMatch - Added IBuildConfiguration.TypeResolver - Added IBuildConfiguration parameter to ITypeCreator.CanCreate - ICreationRule, ITypeCreator, IValueGenerator, IPostBuildAction and IBuildLog now have overloads for ParameterInfo, PropertyInfo and Type rather than (Type, string) - IExecuteOrderRule and IIgnoreRule now have overloads for PropertyInfo rather than (Type, string) +semver: breaking Closes #74, #70, #73
Release 6.0.0-beta0001
Feature/issue65 remove full framework (#66) * Added build.yml * Updated target framework * Removed old framework specific code * Removed ReflectionExtensions * Updated documentation +semver: breaking
5.0.0
#61 - Added support for type mapping
- Renamed CreateWith overloads to Create (breaking change)
- Removed assembly scanning for ICompilerModule under full .net framework as it disallowed using multiple modules for different purposes (breaking change)
- Removed obsolete members
- Added additional location test data
4.0.0
3.2.0
3.1.1
#42 - Populate executes AutoPopulate but not TypeCreator.Populate or PostBuildActions
#46 - CultureName not populated correctly for camel case property name
#48 - Interpretation of Type on ExecuteOrderRule is confusing and used in two different ways
#49 - RelativeValueGenerator throws exception on GetValue<int?>()