As part of this release we had 198 commits which resulted in 77 issues being closed.
This release supports a wide variety of platforms, and consolidates the assemblies so that each platform only references one assembly. It supports:
- .NET 4.0 +
- Silverlight 5+
- Windows Phone 8
- Windows Phone 8.1
- netcore45 apps
- DNX 4.6
- Anything that works with "dotnet"
Features
- #786 Allow clearing of the default prefixes
- #785 Expose a filter for the properties/fields to be mapped
- #779 Generic type converter closes #774
- #778 UseAsDataSource with PR #649 expression fix
- #774 Please add support for generic version of TypeConverter
- #767 Internal properties mapping and BindingFlags (see #785)
- #697 Please support Windows 10 with Automapper
- #688 Nested mapping projections not respecting explicit expansions
- #668 Support AutoMapper on CoreCLR
- #654 Support constructor parameter mappings for LINQ expressions
- #633 Mapping through constructor doesn't consider custom member mappings (see #654)
- #630 IQueryable extentions. Project Method
- #578 Remove default Prefixes and Postfixes (see #786)
Improvements
- #801 Fixes Include Seal() Problems #762 #683
- #792 Exclude object methods
- #782 Check if we are able to construct the destination object
- #781 Dynamically map arrays
- #780 Nullable int to nullable enum
- #777 NullReferenceException when mapping nullable int to nullable enum
- #771 Return also methods from base types when looking for source members
- #770 Support multidimensional arrays
- #769 Mapping a collection from an abstract base class via "Get" convention fails
- #766 Resolve read-only filed mapping bug
- #765 Unable to map type with read-only filed
- #762 Polymorphic collections example does not work in latest 4.0 release.
- #759 The expression mapper doesn't respect ConstructorParameterMaps; #654
- #755 Possibility to define the MapFrom also by a string
- #750 Nested mapping projections with explicit expanding bug 688
- #749 AutoMapper.targets causing duplicate item error using Web Publishing
- #743 Enum to nullable enum
- #741 Non existing property bug 733
- #733 Better error message when cannot find property
- #724 FindTypeMapFor ignores type parameters when src/dest objects passed
- #718 Slow Initialization
- #712 AutoMapper doesn't support multi-dimensional arrays
- #710 Enum -> Enum? mapping fails
- #687 No .pdb files in nuget package
- #683 IncludeBase must come before base overrides
- #669 Automapper on 64 bit device with Xamarin Unified
- #667 Error while building web application and class library using msbuild
- #660 AssertConfigurationIsValid collect all errors rather than throw first one
- #649 Fix ExpressionMapper error for sub property expression conversion
- #648 Mapping Expressions with ICollection
- #646 Nested Project().To(null, params string[] membersToExpand). How to?
- #628 DynamicMap doesn't map arrays
- #625 ConstructUsing does not throw exception or gives warning when null returned
- #592 Support public readonly fields
- #573 AutoMapperMappingException.Message can throw Exception
- #566 [Feature] Add Global Ignore By Property Type
- #565 Guidance on configuration is fractured
- #561 Redundant IProjectionExpression, use ProjectTo<>() instead of Project().To<>()
- #542 Related to issue #91, Source has no property named Type, Target does have property name Type
Bugs
- #798 IEnumerable to ISet
- #797 DynamicMap threading issues
- #794 A passing test for #154
- #789 Only apply EnumerableMapper to IList existing destination
- #784 Only use the AssignableArrayMapper if the elements of the arrays are …
- #753 Call the options after/before hooks only for the root map operation
- #742 MapFrom subquery unexpected (incorrect) result
- #740 Enum to string bug 720
- #738 Int to nullable decimal bug 732
- #734 AssertConfigurationIsValid hangs on recursive classes.
- #732 int to nullable decimal fails
- #723 .Include<> regression between 4.0-cli1052 and 4.0-cli1053 for dynamic proxies
- #720 Enums unhelpfully converted to strings, in object-valued property, even when explicitly mapped
- #674 after map action with nested objects
- #620 Threading Issue when CreateMissingTypeMaps option is true
- #618 Mapper.CreateMap<Self, Self> ignores nullability rules on collection properties
- #557 Behaviour changed in 3.2.1, DestinationValue not null when no Destination object passed
- #555 Cannot map type property resulting from a where
- #154 Incorrect constructor is picked when the ctor parameter name is 'type', resulting in an InvalidCastException.
- #28 When a target type property is of ISet, the CollectionMapper incorrectly attempts to set it to a List
Where to get it
You can download this release from nuget