Releases: AutoMapper/AutoMapper
8.1.1
As part of this release we had 10 issues closed.
Improvements
- #3102 Deprecate CreateMissingTypeMaps and change the default to false
- #3082 Deprecate the static mapper
- #3101 Validate all member maps, not only the property maps
- #3096 Type.EmptyTypes instead of new Type[0]
- #3050 Enabled multiple usage of AutoMapAttribute
Bugs
- #3098 IncludeMembers with Include
- #3072 Revert a recent change to Include
- #3061 Null check
- #3060 Check for extension methods
- #3056 Resolve can create new maps
Where to get it
You can download this release from nuget
8.1.0
As part of this release we had 31 issues closed.
New feature: attribute-based maps
Bugs
- #3040 Match members by name
- #3038 ForAllOtherMembers rewrites mapping of properties.
- #3021 Checking collections for null is not allowed in EF6
- #3020 fixed enum values caseinsensitivity bug
- #2977 Skip generic mappings when precompiling
- #2967 Handle redirected properties in the let clause
- #2927 Generics with untyped MapFrom
- #2902 Validation fails despite a value resolver being configured
- #2901 A value converter/resolver always returns a value of the destination …
- #2887 A constructor parameter with no name won't match anything
Improvements/Features
- #3041 Refactor feature extensions
- #3030 Features cleanup
- #3004 Obsolete Profile.CreateMissingTypeMaps
- #3003 IncludeMembers with MemberList.Source validation
- #3001 Respect PathMappings in unmapped property names list
- #2997 Dropping value tuples.
- #2981 AutoMap attribute configuration options
- #2978 AutoMap attribute configuration options
- #2972 Include members
- #2969 Consolidate ProjectTo parameters handling
- #2960 Add support to specify ShouldMapMethod
- #2952 Added AddProfiles method that takes an IEnumerable
- #2944 Attribute map configuration
- #2940 Flow resolution context to nested mappings
- #2938 Assume single automap attribute
- #2936 Support configuring attribute maps with additional properties
- #2933 Attributes to define a type map configuration
- #2930 Support creating maps via attributes
- #2928 Set UseDestinationValue for readonly members
- #2895 Throw a detailed exception when sourceExpression is null in MapFrom.
- #2892 Added methods BeforeMap and AfterMap for IMappingExpression with ResolutionContext
Where to get it
You can download this release from nuget
8.0.0
As part of this release we had 45 issues closed.
Bugs
- #2746 Check for generic instances of included maps
- #2742 IncludeBase doesn't work with a generic map
- #2741 fix PropertiesWithAnInaccessibleSetter
- #2740 IgnoreAllPropertiesWithAnInaccessibleSetter not working with base classes
Improvements/Features
- #2874 [Simplify include base with IncludeAllDerived](http://docs.automapper.org/en/stable/Mapping-inheritance.html?highlight=includeallderived
- #2873 Read only dictionaries support
- #2867 Update Dependency-injection.md
- #2866 Added IMapper.ProjectTo
- #2859 Generic maps validation
- #2857 IMapper.ProjectTo
- #2850 Added example for Castle Windsor
- #2849 Validate closed generic maps
- #2848 Closed generic maps validation
- #2846 ForPath works only with Map
- #2844 Dynamic child maps validation
- #2840 Xml docs
- #2838 Consider ISet as a collection type when mapping null
- #2834 Remove the symbols package
- #2827 Rename ISourceMemberConfigurationExpression.Ignore to DoNotValidate
- #2826 Replace all .DestinationMember.Name with .DestinationName and revert …
- #2820 Contextual exceptions for path maps
- #2817 Path property map refactor
- #2814 Set ignored in the property map constructed from a path map
- #2813 Mapping with ForPath causes StackOverflowException
- #2809 Consolidate ResolveUsing to MapFrom
- #2808 Consolidate construct using
- #2807 Consolidating ProjectUsing to ConvertUsing
- #2806 Value converters
- #2804 Drop netstandard13
- #2800 fixed whitespace
- #2795 Remove ConstructProjectionUsing
- #2794 Support readonly collection types
- #2790 ProxyGenerator: The fully qualified type name must be less than 1,024 characters.
- #2780 Remove Substitute
- #2778 AssertConfigurationIsValid(profileName) should throw if name does not exist
- #2776 Proposal: Kill Substitute
- #2774 Update Value-transformers.md
- #2764 Open generic and destination type redirect not working
- #2751 System.ValueTuple is included from 4.7 on
- #2728 Allow PreCondition to modify destination object.
- #2727 Provide the destination object in a PreCondition overload
- #2698 Implement ShouldUseConstructor
- #2691 Limit which constructors can be used
- #2684 Drop netstandard1.3 support
- #2628 Simplify inclusion of base mappings
Where to get it
You can download this release from nuget
7.0.1
As part of this release we had 11 issues closed.
This is a bugfix release to remove the dependency on the deprecated System.Reflection.Emit
package from Microsoft.
Bugs
- #2661 Regression: Exception during Expression Builder Map Creation
Improvements/Features
- #2682 Remove package references to System.Reflection.Emit
- #2681 ProjectTo : An edge case with the let clause
- #2679 Adding sourcelink to enable PDB debugging
- #2677 Parameterized queries
- #2675 Unable to cast TypedConstantExpression to MemberExpression in ProjectTo
- #2671 Include with open generics
- #2669 Fix SetTraceIdentifierAction constructor name
- #2665 Does AutoMapper support Open Generics with inheritance from a non-generic base class?
- #2664 Link to the new expressions package
- #2662 Fix bad similar type replacement in parameters
Where to get it
You can download this release from nuget
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