12.0 Upgrade Guide

Release notes.

Equivalent settings overwrite each other

That applies per map and also per member. For example, you can have only one type converter per map and only one resolver per member.

It might not be obvious that some settings are equivalent. For example, a value converter is a special kind of resolver, so a ConvertUsing will overwrite a MapFrom for the same member.

You also cannot have for the same map/member separate configurations for Map and ProjectTo.

Another possible occurence is with ForAllMaps and ForAllPropertyMaps when it’s possible to overwrite things already set in a particular map.

ResolutionContext.Options was removed

You should use ResolutionContext.Items to access the items passed in the Map call. Starting with version 12.0.1, you can use TryGetItems if you want to check whether a context was passed in the Map call.

Instead of ServiceCtor, you should use dependency injection or pass the needed objects in the Map call.

Naming conventions

We’ve simplified the implementation for performance reasons. If that doesn’t work for you, you can write your own naming convention. Rather than address every peculiarity, we prefer to have a simple and fast implementation that covers most cases.