Releases: MapsterMapper/Mapster
Mapster 7.4.0, Mapster.Tool 8.4.0
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
Mapster 7.3.0, Mapster.Tool 8.3.0
This release finally resolves the long awaited support for .NET 6.0 in Mapster and Mapster.Tool! 🎉 Fresh packages can be downloaded from NuGet. With this release we also pushed symbol packages for Mapster and Mapster.Tool, so now you can finally step into the inner workings of Mapster when debugging your mappings.
What's Changed
- Switch expression by @SergerGood in #334
- Upgrade packages by @SergerGood in #333
- Include .NET 6.0 as Target Framework for Mapster.Tool by @Kaizen365 in #390
- Updated Sample Code in Readme by @CoSJay in #379
- Simplify packaging and publishing NuGet packages, remove old framework monikers and upgrade to C# 10.0 by @andrerav in #405
- Add ability to compile all mappings and then throw AggregateException by @MisterOzzy in #363
- Init read-only properties when mapping with a non-readonly interface fixes #374 by @andrei-traktatovich in #375
New Contributors
- @Kaizen365 made their first contribution in #390
- @CoSJay made their first contribution in #379
- @andrerav made their first contribution in #405
- @MisterOzzy made their first contribution in #363
- @andrei-traktatovich made their first contribution in #375
Full Changelog: 7.2.0...v7.3.0
Mapster 7.2.0, Mapster.Tool 8.2.0
Mapster [7.2.0], Mapster.Core [1.2.0]
feature: RequireDestinationMemberSourc per type pair
fix: mapping inherited interface without members causes CompileException
Mapster.Tool [8.2.0]
feature: generate record DTO (flag -r)
feature: generate dynamic outputs & namespaces (flag -b)
feature: support nullable reference for model generation
fix: flag p produce invalid name
fix: cannot load library with multiple runtime assemblies
Mapster 7.1.5, Mapster.Tool 8.0.0
Mapster.Async [2.0]
- Fix nested async (sp thx to @cmann-andagon)
Mapster.EFCore [5.1]
- Fix passing param for EFCore
Mapster [7.1.5]
- Small message update
Mapster.Core [1.1.5]
- Support for new Mapster.Async & Mapster.Tool
Mapster.Tool [8.0.0]
- BREAKING CHANGES: no more generate projection by default
- BREAKING CHANGES: ForAllTypesInNamespace will also looking types in subnamespace
- Fix using types from different assemblies
- Fix to filter out generated types for ForAllTypesInNamespace
7.1.3: - Fluent API for code generation
- Fluent API for code generation
- support MemberSide for AdaptMemberAttribute
- fix #293 condition map should return null if dest type is nullable
7.0.1
7.0.0 - Mapster.Core for codegen project
- Split attributes and helper classes to Mapster.Core (for codegen project)
- Support C# 9.0 record type
- [Codegen] Support NET 5.0
- [Codegen] Fluent API to generate mapping