NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
NuGet · #1321 most downloaded on NuGet
A .NET source generator for generating object mappings. No runtime reflection.
Last release 9 months ago
22 Dec 2025
Release timing varies
gaps range from 2 weeks to 6 months
Some releases are documented
notes for 10 of 28 stable releases
1 version withdrawn
withdrawn after publishing
127 years old
29 releases · first in 1900
fix: Stackoverflow on readonly self reference by @faddiv in #1991
🐛 Bug Fixes
fix: Stackoverflow on readonly self reference by @faddiv in #1991
fix: use global prefix for enum parse invocation by @latonz in #2021
fix: call extension block methods correctly in inlined expression mappings by @latonz in #2051
fix: prevent reporting derived type on mapping from source by @faddiv in #2025
fix: support external mappings when auto user mappings are disabled by @faddiv in #2063
Full Changelog: https://github.com/riok/mapperly/compare/v4.3.0...v4.3.1
Support unsafe accessors in generic classes and nested mappers by @latonz in #1814
🚀 Features
Support unsafe accessors in generic classes and nested mappers by @latonz in #1814
Support roslyn 4.14 by @latonz in #1837
Allow to disable null mismatch diagnostics RMG089 per member by @3sRykaert in #1804
Include mapping configuration by @faddiv in #1833
Support multiple mapping configuration includes by @latonz in #1854
Explicit named mappings by @faddiv in #1863
Support ref keyword in user defined methods for the target parameter by @EraYaN in #1895
Add notnull constraint support in nullable disabled contexts by @clegoz in #1947
Reference External mappings by @faddiv in #1890
Add support for ignoring static convert methods with MapperIgnore by @iclectic in #1941
🐛 Bug Fixes
Nullable user implemented value type mappings in queryable projections by @latonz in #1835
Resolve top-level user-implemented mappings when resolving queryable projections by @latonz in #1852
Name collision, reuse context within switch statement by @EraYaN in #1911
Correctly inline user-defined nested queryable projection mappings by @latonz in #1966
Handle single segment fullnameof by @faddiv in #1980
Full Changelog: https://github.com/riok/mapperly/compare/v4.2.1...v4.3.0
One column per quarter.
fix: add value suffix when getting non-enumerated count on nullable value types by @latonz in #1789
🐛 Bug Fixes
fix: add value suffix when getting non-enumerated count on nullable value types by @latonz in #1789
fix: fixes queryable projection inlining of user-defined mappings calling generated mappings by @latonz in #1790
fix: correct nullable handling in queryable projection mappings with nullable value types and custom mapping methods by @latonz in #1810
fix: resolve base methods in MapValue.Use by @latonz in #1811
fix: resolve base mappings in MapProperty.Use by @latonz in #1812
fix: resolve object factories in base classes by @latonz in #1813
fix: use global alias for exceptions and linq select by @latonz in #1816
Full Changelog: https://github.com/riok/mapperly/compare/v4.2.0...v4.2.1
feat: Separate RequiredMappingStrategy configuration for enums by @jacob-buckaroo in #1591
🚀 Features
feat: Separate RequiredMappingStrategy configuration for enums by @jacob-buckaroo in #1591
feat: Diagnostic for mapping null mismatch by @latonz in #1612
feat: Add support for From and To method conversions (#1117) by @TonEnfer in #1616
feat: do not apply deep cloning to queryable projection mappings by @latonz in #1717
feat: add NotNullIfNotNull attribute on generated methods, support it on user implemented methods by @latonz in #1718
feat: support named mappings for existing target objects by @clegoz in #1720
🐛 Bug Fixes
fix: missing global alias on method argument in inlined user-implemented method #1629 by @TonEnfer in #1630
fix: initialize nullable members for nested containers by @clegoz in #1660
fix: only diagnostic missing member mappings for required init members by @latonz in #1686
fix: do not emit null coalesce operator in queryable mappings by @latonz in #1716
fix: correct nameof expression for enum value checked mappings by @latonz in #1741
Full Changelog: https://github.com/riok/mapperly/compare/v4.1.1...v4.2.0
fix: existing target unmapped required member should not lead to error diagnostic by @latonz in #1570
🐛 Bug Fixes
fix: existing target unmapped required member should not lead to error diagnostic by @latonz in #1570
fix: use correct user defined mapping configuration for nullable disabled queryable mappings by @latonz in #1580
Full Changelog: https://github.com/riok/mapperly/compare/v4.1.0...v4.1.1
support capacity settable members by @latonz in #1526
🚀 Features
support capacity settable members by @latonz in #1526
improve fullnameof and allow namespaced and nested types by @latonz in #1518
add roslyn 4.11 as target by @latonz in #1555
🐛 Bug Fixes
support capacity settable members by @latonz in #1526
ignore capacity related diagnostics for system collection types when mapping from custom type by @latonz in #1531
Removes the obsolete attribute from MapProperty.ctor(string[], string[]) by @latonz in #1535
allow assignments of MapValue constant value types to nullable value types by @latonz in #1536
handle nullable value types with MapValueAttribute and methods correct by @latonz in #1538
correct analysis of property member accessors by @latonz in #1556
simplify could not generate mapping exception syntax by @latonz in #1559
fix inconsistent handling of mixed nullable contexts by @latonz in #1558
allow multiple MapProperty attributes for the same target member by @latonz in #1560
correct handling mapping to read-only target arrays by @latonz in #1562
lazy load types which are not available on netstandard2.0 by @latonz in #1563
Full Changelog: https://github.com/riok/mapperly/compare/v4.0.0...v4.1.0
ignore indexed properties by @latonz in #1351
🚨 Breaking Changes
ignore indexed properties by @latonz in #1351
add enum underlying type conversion by @latonz in #1352
strict mappings by default by @latonz in #1353
support mapping properties of custom collection mappings by @latonz in #1364
improve handling of read-only and immutable types by @latonz in #1413
improve member matching performance for member names with lots of upper case letters by @latonz in #1447
enum from/to string explicit mappings by @BeeTwin in #1483
🚀 Features
introduce MapValueAttribute to map constant values and method provided values by @latonz in #1335
add MappingTarget attribute to set the mapping target as the first parameter by @latonz in #1376
support additional mapping method parameters by @latonz in #1400
inline methods consisting of a single return statement or local variable declaration expression by @hartmair in #1422
support private constructors by @latonz in #1405
improve handling of read-only and immutable types by @latonz in #1413
improve constructor mapping readability by @aradalvand in #1448
add support for mappers being nested under interfaces or records by @david-driscoll in #1464
enum from/to string explicit mappings by @BeeTwin in #1483
enum from/to string naming strategies for different letter casings by @BeeTwin in #1486
enum from/to string naming strategies for DescriptionAttribute and EnumMemberAttribute by @latonz in #1507
🐛 Bug Fixes
adjust diagnostic messages to be correct when applied with MapValue by @latonz in #1332
allow same-name members with different casings by @latonz in #1350
replace invalid MapPropertyAttribute constructors with valid versions by @latonz in #1354
failing projection with static mapper from another assembly by @trejjam in #1418
collect EnumerateUnmappedOrConfiguredTargetMembers to prevent collection was modified exception by @trejjam in #1438
support inline expression with casting by @trejjam in #1419
correct map nested interfaced enumerations by @latonz in #1404
only initialize unflattened nullable target members when needed by @latonz in #1408
improve handling of read-only and immutable types by @latonz in #1413
improve member matching performance for member names with lots of upper case letters by @latonz in #1447
initialize nullable values when assigning null to a child member by @latonz in #1449
report inaccessible constructor instead of mapping could not be created by @latonz in #1462
support inlining of method with generic type arguments by @trejjam in #1498
refactor member matching and member mapping building process by @latonz in #1334
Full Changelog: https://github.com/riok/mapperly/compare/v3.6.0...v4.0.0 Migration guide: https://mapperly.riok.app/docs/breaking-changes/4-0/
correct syntax in nameof clause of throw null exceptions
Add missing generic constraints to generated methods
correctly assign null if target is nullable instead of throwing
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 →