mapperly

A .NET source generator for generating object mappings. No runtime reflection.

APACHE-2.0 License

Stars
2.3K

Bot releases are visible (Hide)

mapperly - v3.5.1-next.1 Latest Release

Published by github-actions[bot] 6 months ago

3.5.1-next.1 (2024-04-09)

Bug Fixes

  • Add missing generic constraints to generated methods (#1227) (5324612)
mapperly - v3.5.0

Published by github-actions[bot] 7 months ago

3.5.0 (2024-04-05)

Bug Fixes

  • correctly assign null if target is nullable instead of throwing (#1191) (f08b7b4)
  • do not generalise enumerable dictionary value types (#1155) (b4d5e74)
  • Increase RMG060 default severity from info to warning (#1173) (3cba05b)
  • map init only collection in existing target mapping correctly (#1190) (c9b4b17)
  • resolve user mappings correctly when reference handling is enabled (#1162) (d303198)

Features

  • add diagnostic if no members are mapped (#1129) (732cec4)
  • Add MapperIgnoreMemberAttribute to ignore members at declaration (#1143) (ebce68e)
  • Add option to disable automatic discovery of user implemented mapping method and to include/exclude specific user implemented mapping methods (#1070) (4e4937c)
  • allow property mappings to use specific conversion (#1072) (61716b9)
  • allow usage of mappings in MapPropertyAttribute.Use which are attributed with UserMappingAttribute (#1151) (1f0b3c5)
  • allow user implemented mappings to be marked as default (#1071) (79f60cd)
  • improve generated method names by including generic type names (#1168) (fb482a0)
  • Inline user implemented queryable mapping expressions (#1169) (530066f), closes #953
  • report a diagnostic for invalid MapPropertyAttribute usages (#1130) (b8b9e2a)
  • rework generic type matching (#1199) (1e78844)
  • support required mapping strategies on enums (#1073) (edc4933)
  • validate usage of MapProperty attributes on enum and queryable mapping methods (#1074) (fbe7894)
mapperly - v3.5.0-next.4

Published by github-actions[bot] 7 months ago

3.5.0-next.4 (2024-03-27)

Bug Fixes

  • correctly assign null if target is nullable instead of throwing (#1191) (f08b7b4)
  • map init only collection in existing target mapping correctly (#1190) (c9b4b17)

Features

mapperly - v3.5.0-next.3

Published by github-actions[bot] 7 months ago

3.5.0-next.3 (2024-03-18)

Bug Fixes

  • Increase RMG060 default severity from info to warning (#1173) (3cba05b)

Features

  • improve generated method names by including generic type names (#1168) (fb482a0)
  • Inline user implemented queryable mapping expressions (#1169) (530066f), closes #953
mapperly - v3.5.0-next.2

Published by github-actions[bot] 7 months ago

3.5.0-next.2 (2024-03-11)

Bug Fixes

  • resolve user mappings correctly when reference handling is enabled (#1162) (d303198)

Features

  • Add MapperIgnoreMemberAttribute to ignore members at declaration (#1143) (ebce68e)
mapperly - v3.5.0-next.1

Published by github-actions[bot] 7 months ago

3.5.0-next.1 (2024-03-09)

Bug Fixes

  • do not generalise enumerable dictionary value types (#1155) (b4d5e74)

Features

  • add diagnostic if no members are mapped (#1129) (732cec4)
  • Add option to disable automatic discovery of user implemented mapping method and to include/exclude specific user implemented mapping methods (#1070) (4e4937c)
  • allow property mappings to use specific conversion (#1072) (61716b9)
  • allow usage of mappings in MapPropertyAttribute.Use which are attributed with UserMappingAttribute (#1151) (1f0b3c5)
  • allow user implemented mappings to be marked as default (#1071) (79f60cd)
  • report a diagnostic for invalid MapPropertyAttribute usages (#1130) (b8b9e2a)
  • support required mapping strategies on enums (#1073) (edc4933)
  • validate usage of MapProperty attributes on enum and queryable mapping methods (#1074) (fbe7894)
mapperly - v3.4.0

Published by github-actions[bot] 8 months ago

3.4.0 (2024-02-23)

Bug Fixes

  • correctly annotate nullable generics in disabled nullable contexts (#1020) (d35c52d)
  • do not resolve existing one sideded loose nullable property mappings (#1090) (7998720)
  • don't diagnostic for constructor mappings when no instance can be created but none is needed anyway (450d7ca)
  • generate enumerable mapping methods with interface parameters instead of concrete types to reduce generated methods (#1088) (66752cf)
  • generate generic mapping only for matching source / target types if non-generic (#1000) (9a2916f)
  • handle nullable correctly in nullable disabled contexts for generics and arrays (#1029) (132b8cc)
  • prevent collection mapping from using invalid length property (#1108) (216f791)
  • prevent crash for delegate fields when deep mapping is enabled (#1058) (88dd1ff)
  • remove Runtime suffix of MapperlyAbstractionsScope msbuild option (#1049) (54b0eea)
  • upgrade parameter nullability correctly (#1057) (ad917ee)
  • use correct argument types in user defined enumerable mappings with an array source parameter (#1125) (8b14725)

Features

  • add option to prefer parameterised constructors (#1061) (e606f93)
  • annotate all emitted methods and classes with GeneratedCodeAttribute. (#1069) (374e6cb)
  • remove runtime dependency (#1027) (ca3ea5a)
mapperly - v3.4.0-next.5

Published by github-actions[bot] 8 months ago

3.4.0-next.5 (2024-02-20)

Bug Fixes

  • use correct argument types in user defined enumerable mappings with an array source parameter (#1125) (8b14725)
mapperly - v3.4.0-next.4

Published by github-actions[bot] 8 months ago

3.4.0-next.4 (2024-02-16)

Bug Fixes

  • don't diagnostic for constructor mappings when no instance can be created but none is needed anyway (450d7ca)
  • prevent collection mapping from using invalid length property (#1108) (216f791)
mapperly - v3.4.0-next.3

Published by github-actions[bot] 9 months ago

3.4.0-next.3 (2024-02-05)

Bug Fixes

  • do not resolve existing one sideded loose nullable property mappings (#1090) (7998720)
  • generate enumerable mapping methods with interface parameters instead of concrete types to reduce generated methods (#1088) (66752cf)

Features

  • add option to prefer parameterised constructors (#1061) (e606f93)
  • annotate all emitted methods and classes with GeneratedCodeAttribute. (#1069) (374e6cb)
mapperly - v3.4.0-next.2

Published by github-actions[bot] 9 months ago

3.4.0-next.2 (2024-01-10)

Bug Fixes

  • prevent crash for delegate fields when deep mapping is enabled (#1058) (88dd1ff)
  • remove Runtime suffix of MapperlyAbstractionsScope msbuild option (#1049) (54b0eea)
  • upgrade parameter nullability correctly (#1057) (ad917ee)
mapperly - v3.4.0-next.1

Published by github-actions[bot] 10 months ago

3.4.0-next.1 (2024-01-06)

Bug Fixes

  • handle nullable correctly in nullable disabled contexts for generics and arrays (#1029) (132b8cc)

Features

mapperly - v3.3.1-next.1

Published by github-actions[bot] 10 months ago

3.3.1-next.1 (2023-12-18)

Bug Fixes

  • correctly annotate nullable generics in disabled nullable contexts (#1020) (d35c52d)
  • generate generic mapping only for matching source / target types if non-generic (#1000) (9a2916f)
mapperly - v3.3.0

Published by github-actions[bot] 10 months ago

3.3.0 (2023-12-12)

Bug Fixes

  • escape method parameters with reserved keywords (#756) (8f7528a)
  • extension method parameters for existing target mappings (#923) (86408ce)
  • improve location of reported diagnostics (#937) (980ac3e)
  • obsolete constructors should have the last priority whlie matching constructors (regression) (#898) (20b7da6)
  • remove unnecessary null conditional access in conditions of property mappings (#788) (c4eed62)
  • resolve correct mapper defaults for roslyn versions <= 4.4 (#958) (14a4ed3)
  • Respect AllowNullPropertyAssignment correctly when mapping code is not a direct assignment (#939) (cac2f2e)
  • when resolving constructors allow a non-nullable value type to be assigned to a nullable value type (#938) (6e08f8e)

Features

  • add diagnostic for nested ignores (#818) (0f61698)
  • add IncludedMembers configuration option and support private member mapping (c0ed6eb)
  • Add option to specify the format provider or culture of a property (#929) (42d3e26)
  • Add option to specify the string format of a property (#921) (236a46f)
  • add strict mapping (#700) (9d6c21a)
  • case-insensitive MapProperty configurations matching for constructor parameters (#957) (b9db799)
  • fix incorrect private set when ~MemberVisibility.Accessible is used (#933) (b60441a)
  • improve ToString handling and use simplest overloads available (#950) (574cef7)
  • support derived type mappings for existing target objects (918f59d)
  • support static mapping methods in non-static mappers (#681) (1724124)
  • use IEnumerable Dictionary constructor for synthetic mappings (#755) (1bc7bdd)
mapperly - v3.3.0-next.6

Published by github-actions[bot] 11 months ago

3.3.0-next.6 (2023-12-06)

Bug Fixes

  • resolve correct mapper defaults for roslyn versions <= 4.4 (#958) (14a4ed3)

Features

  • case-insensitive MapProperty configurations matching for constructor parameters (#957) (b9db799)
  • support derived type mappings for existing target objects (918f59d)
mapperly - v3.3.0-next.5

Published by github-actions[bot] 11 months ago

3.3.0-next.5 (2023-11-28)

Bug Fixes

  • improve location of reported diagnostics (#937) (980ac3e)
  • Respect AllowNullPropertyAssignment correctly when mapping code is not a direct assignment (#939) (cac2f2e)
  • when resolving constructors allow a non-nullable value type to be assigned to a nullable value type (#938) (6e08f8e)

Features

  • improve ToString handling and use simplest overloads available (#950) (574cef7)
mapperly - v3.3.0-next.4

Published by github-actions[bot] 11 months ago

3.3.0-next.4 (2023-11-22)

Bug Fixes

  • extension method parameters for existing target mappings (#923) (86408ce)

Features

  • Add option to specify the format provider or culture of a property (#929) (42d3e26)
  • Add option to specify the string format of a property (#921) (236a46f)
  • fix incorrect private set when ~MemberVisibility.Accessible is used (#933) (b60441a)
mapperly - v3.3.0-next.3

Published by github-actions[bot] 11 months ago

3.3.0-next.3 (2023-11-19)

Bug Fixes

  • obsolete constructors should have the last priority whlie matching constructors (regression) (#898) (20b7da6)

Features

  • support static mapping methods in non-static mappers (#681) (1724124)
mapperly - v3.3.0-next.2

Published by github-actions[bot] 12 months ago

3.3.0-next.2 (2023-10-26)

Features

  • add diagnostic for nested ignores (#818) (0f61698)
  • add IncludedMembers configuration option and support private member mapping (c0ed6eb)
mapperly - v3.3.0-next.1

Published by github-actions[bot] about 1 year ago

3.3.0-next.1 (2023-10-11)

Bug Fixes

  • escape method parameters with reserved keywords (#756) (8f7528a)
  • remove unnecessary null conditional access in conditions of property mappings (#788) (c4eed62)

Features

  • add strict mapping (#700) (9d6c21a)
  • use IEnumerable Dictionary constructor for synthetic mappings (#755) (1bc7bdd)