Releases: LuckyPennySoftware/AutoMapper
7.0.0
As part of this release we had 48 issues closed.
This release contains mainly bug fixes and a few breaking API changes, as well as an explicit netstandard2.0 target.
Bugs
- #2521 #2520 - Fixed Effort- and ODataQueryTests and a bug in ExpressionVisitor
- #2502 Return the same type on both branches
- #2501 ProjectTo Exception: Argument types do not match
- #2466 Mapping from ExpandoObject to existing destination
- #2461 The MapFrom should have higher priority than postfixes
- #2459 ForMember doesn't work after AddMemberConfiguration().AddName()
Improvements/Features
- #2658 Break out expression mapper
- #2651 Add a section about conditions and resolvers
- #2650 Condition vs PreCondition docs
- #2641 Nullable untyped MapFrom
- #2640 Dynamic mapping : Map null to the default for value types
- #2633 Exception when mapping from an ExpandoObject.
- #2632 Add repository information to csproj
- #2621 Say that it's a dynamic map when validation fails
- #2616 Fixed documentation to not have DuplicateTypeMap
- #2614 Update unit test to match behavior as explained
- #2610 Extract NullsafeQueryRewriter to separate licensed file
- #2606 From #2515
- #2605 Removing preview version of VS 2017
- #2604 Fix to issue #2578
- #2603 Fix TypeDetails ignoring non-generic extension methods #2593
- #2602 Fix projection to destinations using extension methods #2593
- #2596 ##2594: Remove empty profile name from MapperConfigurationException
- #2594 Exception Message for DuplicateTypeMapConfigurationException
- #2593 ProjectTo error with aggregate functions on IEnumerable
- #2586 Update build status link
- #2580 Fix for Issue #2578
- #2578 Automapper should sort properties in ProjectTo consistently
- #2575 .NET Standard 2.0 support
- #2568 ProjectTo : Expose binders and result converters
- #2560 Define ComVisible Attribute
- #2541 Missing closing bracket in example code
- #2518 Use resolve when looking for included maps
- #2513 Open generics in combination with mapping inheritance do not work
- #2504 fix whitespace
- #2499 Let clause : explicitly generate just the properties we need
- #2495 Update Lists-and-arrays.md
- #2494 Ignore properties that are not expanded
- #2491 Update copy of NeinLinq.NullsafeQueryRewriter
- #2490 Massive performance issues from 6.1.0 upwards
- #2488 Custom validation docs
- #2487 Test for #2486
- #2477 Added doc for IMappingAction and Asp.Net Core Dependency Injection.
- #2476 Include<,> and IncludeBase<,> is not creating equal TypeMap.IncludedBaseTypes
- #2475 Include<,> and IncludeBase<,> is not creating equal TypeMap.IncludedBaseTypes
- #2471 Update Value-transformers.md
- #2469 Make mapping at runtime closer to inline mapping
- #2446 Adding missing docs from wiki
Where to get it
You can download this release from nuget
6.2.2
As part of this release we had 7 issues closed.
Improvement
- #2421 Better error message when the creation of the instantiation expression fails
Bugs
- #2450 Collection bug
- #2438 We don't need the property map when mapping the item; for nested coll…
- #2437 NullReferenceException when mapping List to ObservableCollection and CollectionChanged event not fired
- #2419 Consider value types
- #2418 Struct self-mapping
- #2397 Mapping between different ICollection implementations fails
Where to get it
You can download this release from nuget
6.2.1
As part of this release we had 7 issues closed.
Improvements
- #2407 Add Mapper.Reset to reset static mapping
- #2406 Adding ability to configure the member list to validate; closes #2402
- #2404 Add Mapper.Reset back
Bugs
- #2403 Moving inline map creation back to inside type map resolving
- #2402 6.2.0 Broke Conventions-Based Mappings With Missing Target Members
- #2399 After upgrade to 6.2.0 - xUnit test fixtures throw exception
- #2394 Inline maps broke missing type map creation for ProjectTo.
Where to get it
You can download this release from nuget
6.2.0
As part of this release we had 70 issues closed.
Features
- #2379 Inline config and auto-auto-mapping
- #2358 Migrate documentation from github to readthedocs
- #2324 Value transforms in ProjectTo
- #2304 Add ForPath conditions
- #2298 Condition for ForPath
- #2261 Value transformers in global, profiles, type maps, and members
- #2258 Value Transformers
- #2229 Ignore member paths
- #2199 Ignore a set of paths based on ignoring a matching member
- #2198 Support for EnumMemberAttribute
- #2173 Make compatible with net40
- #1741 Automapper not respecting EnumMemberAttribute value when mapping
Improvements
- #2389 Allow ToList/ToArray for primitive types
- #2387 Can't map IEnumerable to List
- #2382 Better error message
- #2380 Identified property parent incorrect in error message following ReverseMap() in nested models.
- #2362 Consider derived maps when setting PreserveReferences
- #2356 PreserveReferences with inheritance
- #2308 Mention ForPath
- #2307 Added NeutralResourcesLanguageAttribute
- #2303 Missing NeutralResourcesLanguageAttribute
- #2297 Enforce calling Mapper.Initialize once
- #2295 Enforce calling Mapper.Initialize once
- #2282 Null check static methods too
- #2252 Add PreCondition overload that takes source and ResolutionContext as parameters
- #2247 Make debugging easier
- #2243 Speed up the tests
- #2224 Inherit ForPath
- #2222 Validate included types
- #2221 Allow constructor mapping for value types
- #2207 Constructor mapping with struct
- #2191 Reverse mapping unflattening not working with IncludeBase
- #2190 Use Resolve instead of Find for expression generation
- #2185 Allow simple MapFrom-s to pass validation
- #2180 Sdk style tests
- #2177 Fix for #2166 and #2167.
- #2172 AssertConfigurationIsValid with MemberList.Source doesn't recognize inherited ForMember mapping
- #2166 Issue with MapExpression when expression checks if a string equals null
Bugs
- #2383 Fix for #2378 Expression mapping with coalesce operator is extremely slow or just hangs up.
- #2378 Expression mapping with coalesce operator is extremely slow or just hangs up
- #2376 Preserve references with ctor mapping
- #2363 ArgumentException: An item with the same key has already been added.
- #2348 Preserve references doesn't make sense for value types
- #2343 If it's a dynamically created type map, we need to seal it outside Ge…
- #2338 Adding member name inheritance; fixes #2333; fixing type usage inheri…
- #2333 typeof() version of IncludeBase() is not working
- #2286 Issue 2246 - UseAsDataSource throwing ArgumentNullException.
- #2245 Help the CLR find the assemblies it needs
- #2233 We have to set everything in the plan, we don't get a second chance
- #2230 Allow nullable to string conversion
- #2227 The map is for the interface, not for the class, so return a proxy
- #2223 Throw when we cannot create the destination
- #2219 Introduce a global lock when creating type maps on the fly
- #2205 Ignore properties with no setter
- #2202 Proposed fix for Error when mapping nested expressions #2201
- #2201 Error when mapping expressions with array members
- #2170 Use List for most IEnumerable-s
- #2169 AllowNullCollections=false not honored for IEnumerable
- #2167 Fix for issue #2166
Where to get it
You can download this release from nuget
6.1.1
As part of this release we had 12 issues closed.
This release includes the ability to turn off the un-flattening behavior added in 6.1.0 using ForPath.Ignore
Bugs
- #2156 Generate setters only when they are required
- #2155 NotSupportedException exception with EF unmapped members
- #2152 Unexpected behavior for CustomValueResolver
- #2151 ReverseMap creates object for navigation property
- #2147 Allow null colections
- #2145 AllowNullCollections=false not honored for ICollection
- #2144 Avoid conflicts between path maps and property maps
- #2143 ResolveUsing not working correctly after ReverseMap
Improvements/Features
- #2162 Allow ignores on reverse map paths
- #2161 Allow ignoring a path in ReverseMap
- #2158 Request a repro
- #2153 Fix ExpressionBuilder GetMapExpression behaviour
Where to get it
You can download this release from nuget
6.1.0
As part of this release we had 28 issues closed.
Bugs
- #2115 Null checks
- #2109 Consider only constructors that can resolve all parameters
- #2102 ResolveUsing problem
- #2100 Check the underlying type
- #2097 Use the runtime type for the destination too
- #2096 ArgumentException when trying to map a ViewModel List to Domain List
- #2065 Use the existing destination
- #2064 Mapping to readonly IEnumerable property
- #2054 Regression - Exception in System.Linq from NullableSourceMapper
- #2025 Passing the type doesn't seem to help
Improvements/Features
- #2136 Disallow duplicate create map calls
- #2131 Let clause
- #2128 Disallow duplicate CreateMap calls per mapping
- #2124 Detect cycles at config time and set PreserveReferences accordingly
- #2114 Inefficient query produced
- #2110 AddProfiles() includes internal types when scanning assemblies
- #2107 Make object mappers help with validation
- #2085 Project nullable to GetValueOrDefault
- #2082 Unable to create a map expression from Person.FKContactTypeID (System.Nullable`1[System.Int64]) to RelatedPersonDTO.FKContactTypeID (System.Int64)
- #2080 Reverse MapFrom
- #2074 Unflatten
- #2068 Support un-flattening
- #2063 AddProfiles() should be able to include internal profiles
- #2059 Allow source struct collections
- #2058 InvalidOperationException when mapping a collection from struct enumerator
- #2038 Consider abstract types
- #2037 Instances of abstract classes cannot be created
- #2023 Introducing Internal namespaces and classes to support extensibility
Where to get it
You can download this release from nuget
6.0.2
6.0.1
6.0.0
As part of this release we had 62 issues closed.
List of breaking changes:
Features
- #1916 Provide an alternative to using ProjectTo() and static initialization…
- #1906 Support older collection types
- #1883 Add Advanced property and put BeforeSeal function in it
- #1876 Add a per member option DoNotInline
- #1866 Need to get ProfileConfiguration before sealed
- #1848 Avoid static state; Mapper registry managed through mapper configuration
Improvements
- #1957 5.2.0 issue value type projection expression
- #1956 ProjectTo<>(...,Expession<<>>[]membersToExpand): lambda for a Value Type causes NullReferenceException
- #1933 Exclude more system base types
- #1930 Concurrency
- #1922 Remove DoNotUseDestinationValue
- #1919 Custom config validation
- #1913 Inherit ignore unless overriden in the derived map; fixes #1910; fixe…
- #1910 inheritedMapper for map to a existed object is not working right.
- #1895 Use ReverseTypeMaps when configuring closed generic TypeMaps
- #1889 Multiple value resolver interfaces
- #1887 To support resolver that implements multiple IValueResolver interfaces
- #1877 Handle fields too; fixes #1875
- #1875 Simple ProjectTo throws Exception, stating an incorrect Property type
- #1872 Match on requested types if runtime types don't match; fixes #1865
- #1865 Mapping nullable does not use nullable map when called with a non-null value
- #1861 Add link to BuildExecutionPlan
- #1860 Add a link to the wiki
- #1844 Expose the execution plan
- #1842 AutoMapper.Debugging
- #1822 Just look for IMemberValueResolver; fixes #1813
- #1813 Interfaces derived from IMemberValueResolver<,,,> break BuildValueResolverFunc
- #1732 Inherited Ignore Ignored
Bugs
- #1991 We need the lock
- #1931 AutoMapper 4.1.1 -> 5.2.0 Dynamic Enum Mapping differences
- #1911 fix for issue 1886 and unit test in SourceInjectedQuery class
- #1908 Missing property name on AssertConfigurationIsValid exception
- #1905 InvalidOperationException when mapping IList to CollectionBase via ResolveUsing
- #1901 Preserve references
- #1892 Best way to preserve compatibility for v4 to v5 upgrade
- #1890 Correct order of ExpressionBinders
- #1886 Mapping of Expression<Func<T,bool>> causes exception starting from AutoMapper 5.2.0
- #1879 QueryableExtensions: NullableExpressionBinder used in preference to CustomExpressionBinder
- #1863 Default enum value to string
- #1862 Mapping Enum to string - default enum value get mapped to null
- #1858 Make the constructor parameter resolver type safe; fixes #1857
- #1854 Preserve references bug
- #1847 InvalidOperationException : ValueFactory attempted to access the Value property of this instance.
- #1834 Always null check
- #1833 Auto-flattening null reference exception
- #1831 Somehow arrays are different :); fixes #1830
- #1830 Mapping Class to Derived DynamicObject gives NullReferenceException
- #1828 Avoid casts; hopefully they are not needed; fixes #1827
- #1827 Automapper throws exception with ProjectTo and EF6
- #1819 Add required casts for non generic ResolveUsing
- #1818 Box once to keep object identity; fixes #1816
- #1816 Regression between Automapper 4 and 5
- #1794 Performance issues and PreserveReferences not working correctly
Where to get it
You can download this release from nuget
5.2.0
As part of this release we had 74 issues closed.
Features
- #1800 Allowing explicit up-front compilation of map expressions; fixes #1693
- #1797 Scoped/global configuration with Profiles
- #1796 Apply Root Configuration to Profiles
- #1693 Opt out of lazy expression compilation
- #1605 Lazily Mapped Queries (UseAsDataSource)
Improvements
- #1809 Check the destination type override to be a derived type
- #1753 Expose the destination member
- #1746 Make IncludeBase work with ReverseMap
- #1745 Add .editorconfig
- #1743 ReverseMap ignores mapping inheritance (AutoMapper 5.1.1)
- #1734 Compile once
- #1719 Add some helpful casts
- #1714 Always map array contents & remove the primitive array mapper.
- #1687 Make it easier to spot missing services
- #1677 Lazily create convert expressions
- #1655 UWP 5.2.2 + AutoMapper 5.1.1 = Insanely long builds
- #1628 Match by name; the member type can be generic and so the types won't …
- #1624 InvalidOperaionException when automapping using open generics and including the source in a ForMember statement
- #1530 Make constructor mapping a little more lenient
- #1528 Invalid constructor mappings throw exceptions at seal-time
Bugs
- #1814 Filtering dynamic assemblies
- #1812 Applying partially trusted callers only for full .NET
- #1806 Catch NRE in MapFrom with value types; fixes #1798
- #1805 Return null when mapping from null string to nullable
- #1804 string -> int? conversion returning 0 rather than null
- #1798 In AutoMapper 5.1.1 MapFrom method does not ignore Null Reference Exception but throws it
- #1788 Checking for closures (constant expressions) when mapping expressions
- #1785 Fixing expression visitors to properly visit the underlying expressio…
- #1778 MapFrom variable 'src' of type 'Xyz' referenced from scope '', but it is not defined
- #1774 Mapping from "string" to "nullable enum" throws exception
- #1772 Map string to nullable enum
- #1765 Fix #1482
- #1764 MapFrom/ResolveUsing no longer support null assignment
- #1752 Consider VB closures
- #1748 Paramterized mappings not working using VB.NET and Profiles
- #1740 Mapping to/from object doesn't seem useful
- #1731 Bugfix #1727
- #1727 Automapper v5.1.1 does not work with ObservableDictionary where Automapper 4 does
- #1718 When we map a nullable, we should map the underlying type unless an e…
- #1717 Mapping from nullable enum stopped working in AutoMapper 5
- #1711 Multiple IEnumerable interfaces
- #1697 AddProfiles Blows Up With NotSupportedException if Any of the Assemblies are Dynamic
- #1692 Fixed memory leaks
- #1691 ConcurrentBag causes memory leak
- #1685 MethodAccessException: Windows Phone 8.1 (WinRT)
- #1672 Not needed code - nullables
- #1664 Differentiation between type and nullable type
- #1662 Get the element type from the destination object itself
- #1656 Creating a map for collections throws when destination items of derived type
- #1654 Short-circuit evaluation
- #1651 Complex flattening
- #1649 Convert the null substitute to what's needed for projections
- #1645 Dictionary mappings no longer handle non-empty dictionary destinations in 5.1.1
- #1642 Convert to nullable
- #1641 Different ProjectUsings for nullable and non-nullable ints
- #1638 Decimal to nullable decimal
- #1635 Call the condition after setting the source property value because it…
- #1634 Conditions do not get either Source or Destination values
- #1632 Just clear the destination everytime we don't create it ourselves
- #1631 NullReferecnceException when flattening values
- #1630 Mapping onto existing object does no longer clear existing items from List [5.1.1]
- #1626 Don't hard code the ToString call, use the StringMapper; remove the t…
- #1620 Mapping object to string fails with NullReferenceException when called on null.
- #1618 Profile.AllowNullCollections ignored?
- #1617 Error when mapping an expression containing a (non-parameter) instance of the mapped type
- #1607 IMemberValueResolver is created and called twice
- #1482 UseAsDataSource Translate constants with PropertyMap changes.
- #1008 UseAsDataSource() - filtering by date in OData query results in mapping exception
- #882 UseDataSource() with property-path expression leads to exception
Where to get it
You can download this release from nuget