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