Releases: LuckyPennySoftware/AutoMapper
5.0.0
As part of this release we had 58 issues closed.
Features
- #1374 Supporting .NET Core RTM
- #1340 Net standard 1.3 Support
- #1321 Don't map through properties members mapped through the constructor
- #1304 Configuration expression separating
- #1300 AutoMapper 4.2.1 Abstract Mapping Issue
Improvements
- #1370 Reuse the context when it's generic
- #1360 Make As work with generics; fixes #1349
- #1359 Fixes #1350
- #1356 Try to skip the security check
- #1354 Inline the lambdas as necessary
- #1351 Simplify Resolution Context
- #1349 The interface has a conflicting property ID Parameter name: interfaceType
- #1345 Remove null checks from map when src allready checked
- #1344 Better Array Mappings
- #1336 Ignore explicit interface implementations with no setter
- #1333 IgnoreAllPropertiesWithAnInaccessibleSetter throws ArugmentOutOfRangeException when destination has explicit interface implementation property
- #1332 A typo and some unnecessary work
- #1319 Avoid calling IsDictionaryType because it allocates
- #1315 Eliminate some allocations and some refactoring
- #1306 Share the context between property mapping and constructor mapping
- #1303 Reuse the context for properties and constructor parameters
- #1294 Do not catch exceptions inside Resolve; closes #1293
- #1293 5.0 Beta1 will swallow exceptions
- #1290 Reuse the context for collections
- #1288 Resolve using with different types
- #1284 Make seal last and move newing up create map functions before do config and seal.
- #1282 Use casting instead of DynamicInvoke
Bugs
- #1373 Map from nullable source; fixes #1372
- #1372 Value lost when mapping from Nullable to Nullable
- #1371 Define NET45 in debug too; this caused the System.FieldAccessExceptio…
- #1369 Specify the type of the parameter for missing map exception
- #1367 Test-case for #1366
- #1366 Strange exception if trying to map unmapped type.
- #1364 Fix buildOptions
- #1363 project.json contains wrong json element for signed dll's
- #1355 Use type maps in item mapping for collections if exists
- #1338 Allow overriding the built in object mapper with a custom type converter
- #1337 Eliminate duplicate extension methods; fixes #1297
- #1330 Error trying to map System.Collections.Immutable.ImmutableDictionary
- #1314 Allow custom resolved values to validate; I didn't try to get the typ…
- #1308 Test for #1307
- #1305 Fixing bug on mapping null objects
- #1302 Passing NULL objects to mapper.Map() raises exception
- #1297 AutoMapper 5.0.0-beta-1 with ASP.NET Core RC2 throws System.ArgumentException: An item with the same key has already been added
- #1289 Mapping structs
Where to get it
You can download this release from nuget
5.0.0-beta-1
As part of this release we had 93 issues closed.
Features
- #1278 Supporting official RC2 bits
- #1274 Dot not core rc2
- #1210 Implement ResolveUsing for constructor parameters
- #1209 Constructor mapping doesn't honor
ResolveUsing
- #1207 Implemented mapping between open generic and nongeneric or closed generic types
- #1072 Argument type 'IMapper' is not CLS-compliant
- #1055 Remove all obsolete static APIs
- #1049 ForAllOtherMembers #602
- #922 Allow disabling the default naming convention
- #611 Fixes #602: Added ForAllOtherMembers implementation. Not sure how I should do ...
- #602 FR: ForAllOtherMembers
Improvements
- #1280 Adding convenience property for easier access to context items
- #1275 Finish IObjectMapExpression conversions
- #1263 Default value for Guid; fixes #1254
- #1251 Expand object mappers to provide expression-based mapping
- #1245 Switching construct using to use expressions
- #1244 Generic type converter with two type parameters
- #1243 Generic mappers
- #1222 Expression optimization
- #1211 Property map mapping via compiled expressions
- #1186 Base interface members
- #1185 Make the null substitute type safe
- #1184 Can not map inherited property by its name
- #1181 ProjectTo throws an exception when an interface is mapped with a base-interface property mapping
- #1172 Disable the cache by default
- #1152 Property map performance enhancements
- #1130 Small changes to expression-binding behaviour II
- #1103 Extension methods per type
- #1096 Add DestinationType back into resolving member info conventions. Part 2
- #1090 Restore some static api
- #1086 Configuration Overhaul
- #1081 Make create mapper more pure
- #1079 Fixes #1077
- #1077 4.2.0 .Include<DerivedSourceType, DerivedTargetType> throws exception with base type names
- #1060 Passing test; closes #944
- #1056 Add DestinationType back into resolving member info conventions.
- #1050 Added sorting of interfaces (2)
- #1007 Add methods to streamline member resolution using ResolutionContext.Options.Items
- #1004 Add an AllowNull configuration
- #1001 Expression.NotEqual causing an exception when using queryable projections
- #944 Open generic mappings failed with derived types
- #938 Complex types bug 925
- #852 Small changes to expression-binding behaviour
Bugs
- #1281 Pre and post fixes now case insensitive
- #1265 Always generate typed mapping funcs
- #1240 MapFrom should override matching source member
- #1237 The wrong null check now that Types is a value type
- #1236 DoNotUseDestinationValue should work for value types too
- #1230 Inherit the mapping order
- #1217 Flatten nested children using ProjectTo
- #1216 Flatten nested children using ProjectTo
- #1204 Use the runtime type of the source object when mapping collections
- #1203 Dynamic mapping in 4.2.1 not behaving as expected
- #1198 Include recursively all the base maps
- #1197 Condition override custom resolver defined in inherited mapping.
- #1093 When using resolve, infer the type of the resolved value
- #1089 Fix the generics test
- #1075 IncludeBase failure in 4.2 (worked in 4.1 and below)
- #1059 Compile the mapping lambda for the constructor argument; closes #1047
- #1048 Passing test for #1046
- #1047 Problem with mapping constructor arguments from nested classes
- #1046 Mapping to base class does not work
- #1024 Faling test for #1023
- #999 Broken inheritance after upgrading to version 4.1.1 (in RELEASE mode only)
- #967 Prefix/Postfix property matching is now case sensitive
Where to get it
You can download this release from nuget
4.2.1
As part of this release we had 2 issues closed.
As part of this release Mapper.Map and Mapper.Initialize are no longer obsolete. These will be supported going forward.
Mapper.CreateMap is still obsolete and I will kill it with fire.
Improvements
Where to get it
You can download this release from nuget
4.2.0
As part of this release we had 42 issues closed.
The major change with 4.2 is the static API is marked as obsolete in favor of a new instance-based API. The static API will be removed with 5.0.
Features
- #1043 Obsolete Mutable Profile calls
- #1034 Mapping engine cleanup
- #1031 Non-static version of Mapper
- #1025 We can resolve optional parameters
- #983 Change MemberInfo to IValueResolver
- #980 Support expand with collections
- #955 Add case sensitivity option for DefaultName comparer
- #866 Mapping Dynamic Object to an Entity Framework DataObject
- #670 Does AutoMapper support conventions?
Improvements
- #1041 Marking Profile as abstract and Configure method abstract
- #1039 Read only configuration
- #1029 Fix ConcurrentDictionary issues
- #1023 Am I doing maps to constructors wrong?
- #998 Expand everything on the path to the passed member
- #996 Explicit expansion is not transitive
- #982 Max depth
- #981 Better exception message
- #966 Report missing includes bug 533
- #960 Fix Conventions and Generic TypeMaps not caching
- #958 Include base inheritance bug 911
- #957 ProjectTo only reading from type map cache and not trying to resolve.
- #956 Fixed duplicated path in the exception message
- #953 Make dest property's name type pass over correctly
- #937 Fix for #936
- #936 Mapping from a null array doesn't overwrite not null array with empty array when AllowNullCollections is false
- #911 Resolver is not inherited in some cases
- #533 Can't find missing mappings in included mapping.
- #514 Make it easier to create a MappingEngine instance
Bugs
- #1044 Passing test for #1040
- #1040 An empty integer collection doesn't map over a collection with values.
- #1022 NullReferenceException using AddConditionalObjectMapper (not when using empty CreateMap) on SECOND attempt to map value
- #994 Overwrite the context.DestinationType only if another destination typ…
- #993 Mapper.AssertConfigurationIsValid() throws NullReferenceException for Nullable -> Nullable property map
- #990 Removed DataReaderMapperYieldReturnEnabled; reverted ConstructorMappi…
- #968 Fix for #967
- #905 warning CS3001: Argument type 'AutoMapper.IConfiguration' is not CLS-compliant
Where to get it
You can download this release from nuget
4.1.1
This is a maintenance release to fix some regressions introduced in the 4.1.0 release and some issues in the NuGet package metadata.
As part of this release we had 8 issues closed.
Bugs
- #954 GetUnmappedPropertyNames() seems broken in 4.1.0
- #950 Automatically-mapped Properties are now case sensitive
- #949 Breaking Change in 4.1.0 ProjectTo(IMappingEngine) overload
- #945 AutoMapper 4.1.0 Exception with Proxy on Inherited object with Entity Framework
- #916 Can't update from 3.3.1 to 4.0.4 via NuGet (Xamarin.Android)
- #915 Cannot update to 4.0.4 on a Xamarin project (android)
- #856 Can't add AutoMapper 4.x to Xamarin.Forms project
- #817 Failed to compile the generated registrar code - Automapper 4.0.4 - Xamarin in Release Mode
Where to get it
You can download this release from nuget
4.1.0
As part of this release we had 49 issues closed.
Features
- #891 Dynamic/Expando Object Mapping
- #858 ForAllMaps
- #839 Fix for KeyValuePair enumerable #829
- #829 mapping object to dynamic
- #805 Extension point for mapping, generic and non-generic configuration API now equivalent
- #793 Add Profile Fluent API Convention
Improvements
- #933 ProjectUsing for the entity being queried
- #929 Allow custom factories in PlatformAdapter
- #927 ProxyGenerator injection support
- #894 Fixed Issues with property map inheritance
- #853 Added Serializable attribute to AutoMapperMappingException
- #849 Initial types in the resolution context
- #840 Mapping and Projecting enum strange behavior
- #836 Obsolete all Project.To and replace with ProjectTo
- #830 Projections should honour As
- #827 Use the constructor map only when we can resolve parameters
- #824 The test execution process crashed while running the tests
- #822 AutoMapper 4.0.4 - How to fix this breaking change: Base class mapping is now default for derived class mapping
- #816 Fix for #815
- #815 Strange issue with Automapper 4 and overloaded constructors
- #624 Consistent ResolveUsing and ConvertUsing interfaces
- #551 Error: Type does not have a default constructor when using destination override and abstract types
Bugs
- #941 Inheritance bug 910
- #924 Derived type is created instead of requested type
- #920 Fix for #918
- #914 NestedDtos
- #912 Auto-selecting child class even if you map from the parent one
- #910 Unexpected behavior of AllowNullDestinationValues and Map(object) (Part 2)
- #909 DTOs with ctors issue when mapping ef models
- #893 Incorrect mapping chosen when immediate source type is not mapped.
- #887 Subtype mappings declares using As() or Include() are ignored when mapping subtypes of the subtype.
- #877 Non generic ConstructProjectionUsing bug
- #868 As<>() is completely ignored. Can't specify subtypes to use in mapping.
- #857 Nested explicit expand bug 838
- #847 AutoMapper 4 targeting wrong constructor on instantiation
- #846 Fix typo in AfterMap xml comment
- #844 RT error calling CreateMap: Cannot find a field or property named X
- #842 InvalidCastException when using mapping inheritance
- #841 StackOverflowException on « GetCustomAttributes » when mapping Enum to Enum
- #838 StackOverflowException with ExplicitExpand
- #833 Fix for #832
- #832 ReverseMap and ReplaceMemberName don't work together
- #828 Overriding destination type with .As<> does not work as in 3.3.1.0
- #825 System.AggregateException incluided in AutoMapper 4.0.4
- #823 Overlapping assembly references after updating to 4.0.4
- #819 Mapping inheritance doesn't work in 4.0.4
- #812 Fixed misspelling of 'extension' in intellisense comments
Where to get it
You can download this release from nuget
4.0.3
4.0.1
4.0.0
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