github riok/mapperly v4.0.0

8 hours ago

🚨 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/

Don't miss a new mapperly release

NewReleases is sending notifications on new releases.