Welp, this is a big one! It's been just over a year since 7.3.0, but in the meantime we've had plenty of time to thoroughly test this release through 6 pre-releases. This release bring support for .NET 7 as well as a fairly long list of bugfixes. Thank you everyone for your contributions! Packages are as usual available on NuGet, along with symbol packages for convenient debugging.
Known issues
- Unfortunately, #537 continues to be an unsolved issue, but it does not seem to affect a significant amount of users, and workarounds are simple to implement. Any help to trace down the source of this issue will be greatly appreciated.
Backwards compatibility
- With #454 we introduced a change to the public API -- previously where TypeAdapterConfig was returned, Mapster will now return an ITypeAdapterConfig interface instead. So make sure to check that your build pipelines succeed before merging this upgrade ;) This change makes it easier to mock and test your mappings.
What's Changed
- Fix RequireDestinationMemberSource for immutable UseDestinationValue field by @foriequal0 in #415
- Bump Newtonsoft.Json from 10.0.3 to 13.0.1 in /src/Mapster.JsonNet by @dependabot in #448
- Added IOrderedQueryable Interface on MapsterQueryable by @noelmugnier in #431
- Support ConstructUsing in CollectionAdapter by @devbased in #436
- Add destination parameter to before and after mapping delegates by @devbased in #437
- Removed directory separator character and use Path.DirectorySeparatorChar instead by @GuimoBear in #440
- Added ability to skip generating of existing files by @psynomorph in #447
- Fixes #385 Private Sets by @JMPSequeira in #449
- Update #397 to fix conflicts by @andrerav in #473
- Make the project compile and pass tests under net6.0 by @Philippe-Laval in #397
- Add a non generic overload to ForDestinationType by @Dewera in #465
- The culture problem has been fixed by @mehmetemineker in #472
- Refactor IMapper.From to return interface by @gritcsenko in #454
- Improve installation instructions in the readme by @r-52 in #481
- Add .net 7.0 TFM to all projects (except benchmark) by @cedwards-telis in #496
- Add extension method for adding IMapper to service collection by @stormaref in #516
- Bump Newtonsoft.Json from 13.0.1 to 13.0.2 in /src/Mapster.Tests by @dependabot in #506
- Add options to Mapster.Tool to generate files with #nullable directives by @kescherCode in #530
- Add IMapFrom interface for automatic mapping configuration by @stormaref in #533
- Fix Issues #536 -> Set properties with reflection if destination has init only properties. by @stormaref in #545
- Mapster.Tool catch ReflectionTypeLoadException by @EniacMlezi in #544
- Backmerge from main by @andrerav in #549
- Fix test bug by @stormaref in #552
- Merge latest from master to development by @andrerav in #553
- Applying clean code principles by @stormaref in #555
- Merge latest from master to development by @andrerav in #558
- Remove mentions to old unsupported frameworks from projects by @satano in #579
- 🐛 fix(TypeAdapter.cs): Make source parameter nullable by @msadeqsirjani in #583
- Generating valid, meaningful method name from destination type by @rafalka in #586
- Fix #370 where capitalized abbreviations are not mapped … by @joshslark in #590
- Fixing incorrect mapping generation when ShallowCopyForSameType, UseDestinationValue and UseDestinationValue are used by @rafalka in #601
- Added types used in rules to types hashset by @rafalka in #606
- Reversing execution order of Before/AfterMapping by @rafalka in #603
- Not using shallow copy if mapping rule exists by @rafalka in #629
- Added primary key handling - EntityFromContext EF Core by @lucascaser in #597
- Add XML documentation comments for public methods by @HoseinHabibiyan in #626
- Merge development to main pending new release by @andrerav in #591
New Contributors
- @foriequal0 made their first contribution in #415
- @dependabot made their first contribution in #448
- @noelmugnier made their first contribution in #431
- @devbased made their first contribution in #436
- @GuimoBear made their first contribution in #440
- @psynomorph made their first contribution in #447
- @JMPSequeira made their first contribution in #449
- @Philippe-Laval made their first contribution in #397
- @Dewera made their first contribution in #465
- @mehmetemineker made their first contribution in #472
- @gritcsenko made their first contribution in #454
- @r-52 made their first contribution in #481
- @cedwards-telis made their first contribution in #496
- @stormaref made their first contribution in #516
- @kescherCode made their first contribution in #530
- @EniacMlezi made their first contribution in #544
- @msadeqsirjani made their first contribution in #583
- @rafalka made their first contribution in #586
- @joshslark made their first contribution in #590
- @lucascaser made their first contribution in #597
- @HoseinHabibiyan made their first contribution in #626
Full Changelog: v7.3.0...v7.4.0