Releases: MapsterMapper/Mapster
v10.0.0
What's Changed
- Add support for .NET 8.0 by @andrerav in #631
- New Record detection - Adapt To Class not create new instance by @DocSvartz in #634
- Fix #656 by @SimTsai in #745
- Introduce support for .NET 9 TFM by @SonnyRR in #744
- Use assembly loading context to isolate loaded assemblies from AppDomain #714 by @boylec in #716
- Add support for primitive types in custom mapping by @DocSvartz in #650
- Added ValidateAndAdapt Methods for Property Validation by @haritha99ch in #641
- Fix issue #640 - Nullable enum to nullable destination (class or param) by @DocSvartz in #643
- Fix issue #537 - Step 2 - Add support Extended Record Function + Attribute from support used current record definitions by @DocSvartz in #646
- FIx Issue #537 - Step 3 - Separate Adapter for Interface with readolny props from RecordTypeAdapter by @DocSvartz in #649
- Fix issue #524 - Add support for working with types packed into an object to the standard adapter by @DocSvartz in #645
- Fix issue #672 - AmbiguousMatchException by @DocSvartz in #753
- Fix issue #755 - Regression in interfaces mapping introduced by #649 by @lofcz in #756
- Fix null map to target regression by @DocSvartz in #759
- Fix issue #755 - Revert to behavior from 7.4.0 and new features by @DocSvartz in #758
- Alpha 9.1.0 by @DocSvartz in #814
- Bump all PR by @DocSvartz in #815
- Improvements to Ignore() processing and Fix MapToTarget behavior for RecordTypes by @DocSvartz in #769
- Fix #554 - Fix required Property mapping by @DocSvartz in #778
- Fix #794 - Polymorphic MapToTarget mapping to null value property is work by @DocSvartz in #798
- Fix test: Use actual types for mapping when configuring by @JMolenkamp in #779
- Allow mapping to a dictionary with a key containing periods by @JMolenkamp in #780
- Feat map members containing periods by @JMolenkamp in #781
- Improve nullability annotations on the Adapt extension method by @hmoratopcs in #800
- Fix #681 - update fix from SetValueByReflection (member init) by @DocSvartz in #808
- Fix MapWith and MapToTargetWith using applySettings: true when mapping to a primitive type by @DocSvartz in #799
- Fix #811 - Add Constructor param source null checker by @DocSvartz in #817
- Update version numbers to 9.0.0-pre01 by @andrerav in #818
- Disabled NullableEnumFix #643 from MapToProjection cases by @DocSvartz in #822
- Mapster.EF.Core: Add type check for IAsyncEnumerable<> by @ScarletKuro in #823
- refactoring support .Inherits() and .Include() to map OpenGenerics by @DocSvartz in #824
- Update to fix #811 by @DocSvartz in #825
- Add Adapt extensions with temporary TypeAdapterConfig and TypeAdapter… by @roohial57 in #828
- Docs: add docfx docs from wiki by @DevTKSS in #834
- Add benchmark to development by @DocSvartz in #837
- fix Map To Target Null regression by @DocSvartz in #838
- Add in benchmark reference to dev mapster by @DocSvartz in #840
- Updated version numbers to 10.0.0-pre01. + net 10 by @DocSvartz in #841
- Add class with custom Ctor AutoMapping by default by @DocSvartz in #844
- Merge Development to Master - For work on documentation by @DocSvartz in #845
- Restore netstandard2.0 support for Mapster by @asp2286 in #849
- Updated version numbers to 10.0.0-pre02 by @DocSvartz in #855
- Restore nullable annotations to TypeAdapter by @DocSvartz in #859
- Updated version numbers to 10.0.0 release by @DocSvartz in #860
- Fix(docs) : fix Readme links and local build script by @DocSvartz in #862
- Fix docs - Records type description to Mapster v10 by @DocSvartz in #856
- Drop Automapper from Benchmark by @DocSvartz in #868
- Replace TFM for Mapster.EF6 by @DocSvartz in #867
- Merge Development to Master - Release v10.0.0 by @DocSvartz in #861
New Contributors
- @SimTsai made their first contribution in #745
- @SonnyRR made their first contribution in #744
- @boylec made their first contribution in #716
- @haritha99ch made their first contribution in #641
- @lofcz made their first contribution in #756
- @JMolenkamp made their first contribution in #779
- @hmoratopcs made their first contribution in #800
- @ScarletKuro made their first contribution in #823
- @roohial57 made their first contribution in #828
- @DevTKSS made their first contribution in #834
- @asp2286 made their first contribution in #849
Full Changelog: v7.4.0...v10.0.0
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