v4.0.0
github-actions
released this
11 Oct 08:27
·
63 commits
to refs/heads/main
since this release
🚨 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: v3.6.0...v4.0.0
Migration guide: https://mapperly.riok.app/docs/breaking-changes/4-0/