Releases: riok/mapperly
Releases · riok/mapperly
v2.9.0-next.3
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
andMemory
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
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
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
v2.8.0
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
andImmutableSortedDictionary
(#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)
- use
ForAttributeWithMetadataName
instead ofCreateSyntaxProvider
(#327) (3b9c2f9)
v2.8.0-next.2
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
andImmutableSortedDictionary
(#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)
- use
ForAttributeWithMetadataName
instead ofCreateSyntaxProvider
(#327) (3b9c2f9)
v2.8.0-next.1
v2.7.1-next.1
v2.7.0
2.7.0 (2023-03-13)
Bug Fixes
- do not map from indexed properties (#232) (8f0c08d)
- improve enum mapping runtime exception (#230) (7a6b90b)
- register output as implementation source output (#246) (0eccd4d), closes #72
- resolve user defined mappings for init properties with correct nullability (#257) (f18e424)
- support mapping to target readonly collections (#252) (8fa4116)