Skip to content

Releases: riok/mapperly

v3.0.0

07 Aug 08:40
24614c0
Compare
Choose a tag to compare

3.0.0 (2023-08-07)

Bug Fixes

  • Nullable<T>.Value is no longer treated as a member (#575) (b238481)
  • Add comment (#496) (b3e1657)
  • add private does not obscure test (#554) (f6d8d34)
  • allow reference handling for generic and runtime target type mapping methods (#508) (34b237f)
  • clone array when deepcloning is enabled and target is an IEnumerable (#431) (082d877)
  • disable warning when iterating nullable array elements (#592) (8f37f44)
  • exclude explicit casts when source type is object (#400) (3af9cc9)
  • existing dictionary and enumerable mapping should respect enabled conversion types (#459) (86f48a2)
  • generate nameof compatible member access (#539) (92673db)
  • handle internal visibility correctly (#597) (5d4596a)
  • ignore user implemented generic methods (#423) (408d03f)
  • improve performance for member resolution (#603) (641c1bf)
  • incorrect initialization for nullable nested memberpath unflattening (#591) (9b74e8f)
  • lambdas should use correct scopes to generate names (#411) (e5d9bb2)
  • make all attributes sealed (#614) (24614c0)
  • map existing target sets correct (#500) (38e6556)
  • only use instance constructors to create new object instances (#458) (848fb45)
  • prevent ctormapping using inaccessible constructors (#456) (125742e)
  • prevent duplicates attributes and base types for nested mappers (#544) (44667c8)
  • prevent generation of empty if not null statements (#576) (8cbeff1)
  • prevent mapping backing field (#608) (d768dbb)
  • prevent throw throw being generated. (#415) (3c41c84)
  • remove obsolete MapperIgnoreAttribute (#611) (c7a5099)
  • required/init properties not using PropertyNameMappingStrategy (#505) (#556) (564a43e)
  • seal all configuration attributes (#403) (cb837e0)
  • support queryable projection mappings for derived type mappings (#412) (98a44a0)
  • throw NullReferenceException for element access (#414) (78b2736)
  • update IsImmutable to identify valid types on framework (#388) (b9a1f19)
  • use ToList/ToArray to clone enumerable interfaces (#432) (f947cbf)

Features

  • accept destination type as mapping method parameter (#398) (b17f666)
  • add AllowNullPropertyAssignment option to disable assigning null values to nullable properties (#584) (0ccc734)
  • add IgnoreObsoleteMembers (#392) (def10cf)
  • add option to ignore enum values (#536) (3e2a2c8)
  • add support for Span and Memory mappings (#425) (ac254ca)
  • add support for user defined generic mapping methods (#461) (ddbc516)
  • add tuple mapping support (#467) (208e8b4)
  • Added MapEnumValueAttribute and support for explicit named enum value mapping (#468) (64e6c9d)
  • added source generator benchmark (#419) (b6836b2)
  • cache attribute symbols (#478) (fbe8ba1)
  • diagnostic if an incompatible language version is used (#566) (38332a6)
  • directly assign System.Uri and System.Version when deep cloning (#440) (c845b43)
  • explicit enum mappings for byValue enum mappings (#489) (029dae2)
  • ISet and IReadOnlySet support (#502) (9550ae4)
  • Map all accessible members by default (#597) (#612) (3d2ed69)
  • optimize BuildMemberPathCandidates performance (#480) (34b926b)
  • optimize enum ByValueCheckDefined strategy and support flags (#510) (602c79d)
  • support derived type configuration inheritance (#509) (66124f8)
  • support derived type mappings (#366) (11995f0)
  • Support enum mapping is defined check and fallback values (#491) ([f0065c8](f0065c8c5e9fa4b3a26951e73...
Read more

v3.0.0-next.1

02 Aug 15:16
24614c0
Compare
Choose a tag to compare
v3.0.0-next.1 Pre-release
Pre-release

3.0.0-next.1 (2023-08-02)

Bug Fixes

Features

BREAKING CHANGES

  • mark all attributes as sealed
  • Include accessible internal and private members in mappings
  • Obsolete MapperIgnoreAttribute is removed and needs to be replaced with MapperIgnoreTargetAttribute

v2.9.0-next.4

26 Jul 06:21
0ccc734
Compare
Choose a tag to compare
v2.9.0-next.4 Pre-release
Pre-release

2.9.0-next.4 (2023-07-26)

Bug Fixes

  • Nullable<T>.Value is no longer treated as a member (#575) (b238481)
  • disable warning when iterating nullable array elements (#592) (8f37f44)
  • incorrect initialization for nullable nested memberpath unflattening (#591) (9b74e8f)
  • prevent generation of empty if not null statements (#576) (8cbeff1)

Features

  • add AllowNullPropertyAssignment option to disable assigning null values to nullable properties (#584) (0ccc734)
  • add tuple mapping support (#467) (208e8b4)

v2.9.0-next.3

16 Jul 15:25
3244a52
Compare
Choose a tag to compare
v2.9.0-next.3 Pre-release
Pre-release

2.9.0-next.3 (2023-07-16)

Bug Fixes

  • allow reference handling for generic and runtime target type mapping methods (#508) (34b237f)
  • generate nameof compatible member access (#539) (92673db)
  • map existing target sets correct (#500) (38e6556)
  • prevent duplicates attributes and base types for nested mappers (#544) (44667c8)
  • required/init properties not using PropertyNameMappingStrategy (#505) (#556) (564a43e)

Features

  • add IgnoreObsoleteMembers (#392) (def10cf)
  • add option to ignore enum values (#536) (3e2a2c8)
  • add support for Span and Memory mappings (#425) (ac254ca)
  • diagnostic if an incompatible language version is used (#566) (38332a6)
  • ISet and IReadOnlySet support (#502) (9550ae4)
  • optimize enum ByValueCheckDefined strategy and support flags (#510) (602c79d)
  • support derived type configuration inheritance (#509) (66124f8)

v2.9.0-next.2

13 Jun 14:47
85347e4
Compare
Choose a tag to compare
v2.9.0-next.2 Pre-release
Pre-release

2.9.0-next.2 (2023-06-13)

Bug Fixes

  • clone array when deepcloning is enabled and target is an IEnumerable (#431) (082d877)
  • existing dictionary and enumerable mapping should respect enabled conversion types (#459) (86f48a2)
  • ignore user implemented generic methods (#423) (408d03f)
  • only use instance constructors to create new object instances (#458) (848fb45)
  • prevent ctormapping using inaccessible constructors (#456) (125742e)
  • use ToList/ToArray to clone enumerable interfaces (#432) (f947cbf)

Features

  • add support for user defined generic mapping methods (#461) (ddbc516)
  • Added MapEnumValueAttribute and support for explicit named enum value mapping (#468) (64e6c9d)
  • added source generator benchmark (#419) (b6836b2)
  • cache attribute symbols (#478) (fbe8ba1)
  • directly assign System.Uri and System.Version when deep cloning (#440) (c845b43)
  • explicit enum mappings for byValue enum mappings (#489) (029dae2)
  • optimize BuildMemberPathCandidates performance (#480) (34b926b)
  • Support enum mapping is defined check and fallback values (#491) (f0065c8)

v2.9.0-next.1

11 May 06:52
b17f666
Compare
Choose a tag to compare
v2.9.0-next.1 Pre-release
Pre-release

2.9.0-next.1 (2023-05-11)

Bug Fixes

  • exclude explicit casts when source type is object (#400) (3af9cc9)
  • lambdas should use correct scopes to generate names (#411) (e5d9bb2)
  • prevent throw throw being generated. (#415) (3c41c84)
  • seal all configuration attributes (#403) (cb837e0)
  • support queryable projection mappings for derived type mappings (#412) (98a44a0)
  • throw NullReferenceException for element access (#414) (78b2736)
  • update IsImmutable to identify valid types on framework (#388) (b9a1f19)

Features

  • accept destination type as mapping method parameter (#398) (b17f666)
  • support derived type mappings (#366) (11995f0)
  • support for strict enum mappings (#356) (b13d364)

v2.8.0

27 Apr 07:29
e5e2d1c
Compare
Choose a tag to compare

2.8.0 (2023-04-27)

Bug Fixes

  • add fully qualified Names for method parameters, return types, new constructor call and generic types (#318) (36830e8)
  • add target type to the RMG012 diagnostic (#310) (c092049)
  • create a new NameBuilder scope inside lambda expressions (#358) (1b475a7)
  • do not diagnostic property not found if target is read only (#345) (6ec7e80)
  • dont map to read only dictionaries (#285) (dce4b42)
  • enable static user methods for instance mappers (#364) (7e1cb8f)
  • ignore static fields and properties (#380) (e5e2d1c)
  • insert a cast to idictionary when an explicit setter is present (#341) (20f6f06)
  • prevent crash when object to object mapping (#340) (b5f4559)

Features

  • add EnsureCapacity method generation (#312) (c166a3f)
  • add EnsureCapacity to dctionary foreach loops (#361) (685d6ee)
  • add mapping to immutable sequences (#305) (8c8a338)
  • add queue and stack mapping (#297) (5040bf5)
  • add support fot ImmutableDictionary and ImmutableSortedDictionary (#351) (587abbc)
  • queryable support for user implemented mappings (#348) (a58f56f)
  • support fields (d2fe807)
  • support immutable interfaced target types (#365) (fea8aa3)
  • Support IQueryable projection mappings (#287) (c2a338f)
  • support mappers nested in classes (#354) (80a193a)
  • use IEnumerable constructors where possible (#342) (74d0b52)
  • useForAttributeWithMetadataName instead of CreateSyntaxProvider (#327) (3b9c2f9)

v2.8.0-next.2

20 Apr 07:22
685d6ee
Compare
Choose a tag to compare
v2.8.0-next.2 Pre-release
Pre-release

2.8.0-next.2 (2023-04-20)

Bug Fixes

  • add fully qualified Names for method parameters, return types, new constructor call and generic types (#318) (36830e8)
  • add target type to the RMG012 diagnostic (#310) (c092049)
  • create a new NameBuilder scope inside lambda expressions (#358) (1b475a7)
  • do not diagnostic property not found if target is read only (#345) (6ec7e80)
  • insert a cast to idictionary when an explicit setter is present (#341) (20f6f06)
  • prevent crash when object to object mapping (#340) (b5f4559)

Features

  • add EnsureCapacity method generation (#312) (c166a3f)
  • add EnsureCapacity to dctionary foreach loops (#361) (685d6ee)
  • add mapping to immutable sequences (#305) (8c8a338)
  • add queue and stack mapping (#297) (5040bf5)
  • add support fot ImmutableDictionary and ImmutableSortedDictionary (#351) (587abbc)
  • queryable support for user implemented mappings (#348) (a58f56f)
  • support fields (d2fe807)
  • support mappers nested in classes (#354) (80a193a)
  • use IEnumerable constructors where possible (#342) (74d0b52)
  • useForAttributeWithMetadataName instead of CreateSyntaxProvider (#327) (3b9c2f9)

v2.8.0-next.1

23 Mar 16:48
c2a338f
Compare
Choose a tag to compare
v2.8.0-next.1 Pre-release
Pre-release

2.8.0-next.1 (2023-03-23)

Features

  • Support IQueryable projection mappings (#287) (c2a338f)

v2.7.1-next.1

17 Mar 09:20
dce4b42
Compare
Choose a tag to compare
v2.7.1-next.1 Pre-release
Pre-release

2.7.1-next.1 (2023-03-17)

Bug Fixes