NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
NuGet · #693 most downloaded on NuGet
A fast, fun and stimulating object to object mapper. Kind of like AutoMapper, just simpler and way, way faster.
Last release 16 days ago
22 Sep 2026
Ships fairly regularly
a new release about every 2 weeks
Rarely documented
notes for 6 of the last 60 stable releases
9 versions withdrawn
withdrawn after publishing
127 years old
102 releases · first in 1900
added support DefaultValue() from constructor mapping;
Fix:
DefaultValue() from constructor mapping;MapUsing() from ExtraSource/Flattening mapping.Improvements:
ReMap() setting setter - Map() for Ignored member and an additional option to skip the application of Destination Transformsconfig.Default.AddDestinationTransform(DestinationTransform.EmptyCollectionIfNull);
config.ForDestinationType<DestinationFlattentData>()
.Ignore(x => x.Value);
config.NewConfig<SourceFlattentInsaider, DestinationFlattentData>()
.ReMap(dest => dest, src => src.SrcData, true);
var result = src.Adapt<DestinationFlattentData>(config);
result.Collection.ShouldBeNull(); // all member from ExtraSource - SrcData has skip DestinationTransform.EmptyCollectionIfNull
result.Value.ShouldBe("Hello"); // property Value has value from ExtraSource - SrcData
Full Changelog: v10.1.0-pre01...v10.1.0-pre02
v10.1.0-pre02 Pre-release
Pre-release
Compare
One column per quarter.
DefaultValue() - Custom default value for Destination type
DefaultValue() - Custom default value for Destination type
config.ForDestinationType<int>()
.DefaultValue(x => 42);
int? src = null;
var result = src.Adapt<int>(config); // result == 42
var result = src.Adapt<int>(); // By default result will be equal to 0 - the default value for type Int
MapUsing() - Map Property/Field with using Override type mapping settingsUnlike Map(), which is designed to specify an alternative source for a Property/Field, using MapUsing() you can set unique settings for mapping types for the specified Property/Field:
int? src = null;
var srcData = new NullablIData() { Data = null };
config.
NewConfig<NullablIData, NullablIData>()
.MapUsing(dest => dest.Data, src => src.Data, cfg =>
{
cfg.ReConfigurate()
.DefaultValue(x => 42);
});
var resultData = srcData.Adapt<NullableData>(config); // result.Data == 42
var result = src.Adapt<int?>(config); // result == null
Does not support ExtraSource/Flattening mapping - .Map(dest => dest, src => src.Props)
By default Override type mapping settings has will contain all the settings, which are installed in the settings setter pipeline (merge default settings for a type and specific settings.)
// default settings setter
config.Default
config.ForDestinationType<TDestination>()
// specific settings setter
config.ForType<TSource,TDestination>()
config.NewConfig<TSource,TSource>()
2.1) Additional behavior for Override type mapping settings
2.1.1) .ReConfigurate() - Allows you to set or override existing settings.
.MapUsing(dest => dest.Data, src => src.Data, cfg =>
{
cfg.ReConfigurate()
.DefaultValue(x => 42);
});
Note
Some settings cannot be overridden due to the way it is stored.
2.1.2) .SkipAllSettings(true) - create new config like using .NewConfig<TSource,TSource>() In this case, no default settings are applied.
.MapUsing(src => src.Data, dest => dest.Data,
cfg =>
{
cfg.SkipAllSettings(true);
})
2.1.3) .SkipSettings() - Prevents the application of the selected settings
Caution
This setter will be removed in release.
If you need Skip the settings that can be accessed using this method, please leave a comment in this release discussion or submit a PR. Thanks!
.MapUsing(src => src.ArrayData, dest => dest.ListData,
cfg =>
{
cfg.SkipSettings(x=>x.DestinationTransforms);
})
Full Changelog: v10.0.11...v10.1.0-pre01
Improvements for Mapster Tool by @DocSvartz in #1016
Full Changelog: v10.0.12...v10.0.13
Improvements for Mapster Tool by @DocSvartz in #1016
Full Changelog: v10.0.12...v10.0.13-pre02
v10.0.13-pre02 Pre-release
Pre-release
Compare
chore: Bump version to v10.0.13-pre01
chore: Bump version to v10.0.13-pre01
Fix/1007 ignoreif record property by @alihut in #1008
fix: fall back to src-relative snk when SolutionDir is unset ( #848 ) by @DocSvartz in #997
Full Changelog: v10.0.10...v10.0.11
Fix #520 - Ignore() settings setter potential Nullable warning by @DocSvartz in #991
Full Changelog: v10.0.9...v10.0.10
test: ensure Compile skips open generic mapping rules ( #925 ) by @wyf027 in #965
Full Changelog: v10.0.8...v10.0.9
feat: add Flattening mapping for all source type by @DocSvartz in #916
Full Changelog: 10.0.7...v10.0.8
Actualize benchmark by @Qyperion in #946
Full Changelog: v10.0.8-pre06...v10.0.8-pre07
Refactoring fix #903 and fix #943 by @DocSvartz in #945
Full Changelog: v10.0.8-pre05...v10.0.8-pre06
feat: #938 - Add DirectAssignmentForSameType() by @DocSvartz in #941
Full Changelog: v10.0.8-pre04...v10.0.8-pre05
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →