Skip to content

Releases: LuckyPennySoftware/AutoMapper

5.0.0

28 Jun 03:53
Compare
Choose a tag to compare

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

17 May 03:32
Compare
Choose a tag to compare
5.0.0-beta-1 Pre-release
Pre-release

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

24 Feb 19:48
Compare
Choose a tag to compare

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

  • #1139 Restores Mapper.Initialize and Mapper.Map
  • #1138 Restore Mapper.Initialize and Mapper.Map

Where to get it

You can download this release from nuget

4.2.0

28 Jan 04:04
Compare
Choose a tag to compare

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

26 Oct 21:59
Compare
Choose a tag to compare

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

22 Oct 03:01
Compare
Choose a tag to compare

As part of this release we had 49 issues closed.

Features

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

05 Aug 22:18
Compare
Choose a tag to compare

Adds a UAP target to fix #810

4.0.1

05 Aug 18:47
Compare
Choose a tag to compare

As part of this release we had 1 issue closed.

This is a patch release for a bad nuspec file.

Bug

  • #811 Specify dependencies for .NET Core

Where to get it

You can download this release from nuget

4.0.0

05 Aug 16:38
Compare
Choose a tag to compare

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

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

3.3.1

29 Jan 16:30
Compare
Choose a tag to compare

As part of this release we had 1 issue closed.
Addressing bug around BindingFlags not being available in all platforms

Bug

  • Win8.1 Store app inherit from Automapper.Profile generates warning CS1684#658

Where to get it

You can download this release from nuget