Skip to content

Releases: roryprimrose/ModelBuilder

Release 6.0.0-beta0005

03 Apr 12:52
b5321db
Compare
Choose a tag to compare
Pre-release
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

28 Mar 03:45
4541e1f
Compare
Choose a tag to compare
Pre-release
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

28 Mar 01:57
2b61e29
Compare
Choose a tag to compare
Pre-release
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

16 Mar 05:35
6dd2088
Compare
Choose a tag to compare
Pre-release
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

14 Jan 06:15
0983265
Compare
Choose a tag to compare
Pre-release
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

05 Apr 03:05
8313f09
Compare
Choose a tag to compare

#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

19 Jan 05:23
1cc3ef5
Compare
Choose a tag to compare

Removed obsolete overloads.
Updated minimum full .Net framework to 4.5

#57 Uniqueness collisions with random person information
#54 Refactor ExecuteOrderRule.IsMatch to use PropertyInfo

3.2.0

11 Aug 12:17
Compare
Choose a tag to compare

#55 - Creating custom BuildStrategy is clunky

3.1.1

11 Aug 07:00
Compare
Choose a tag to compare

#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?>()