Releases: MapsterMapper/Mapster
v10.0.8-pre01
What's Changed
- feat: add Flattening mapping for all source type by @DocSvartz in #916
Full Changelog: 10.0.7...v10.0.8-pre01
10.0.7
What's Changed
- Fix: regression when update required property by @DocSvartz in #902
- Add ctor null propagation by @DocSvartz in #903
- Fix bug in #903 and Fix #858 by @DocSvartz in #905
- Fix regression when abstract destination type have required properties by @DocSvartz in #907
- fix: IgnoreNullValues regression from MapToTarget cases in #905 by @DocSvartz in #908
- Restore behavior for types cannot be instantiated from itselves by @DocSvartz in #912
- Bump version to 10.0.7 - Release by @DocSvartz in #913
Full Changelog: v10.0.6...10.0.7
10.0.7-pre04
What's Changed
- fix: IgnoreNullValues regression from MapToTarget cases in #905 by @DocSvartz in #908
Full Changelog: v10.0.7-pre03...10.0.7-pre04
v10.0.7-pre03
What's Changed
- Fix regression when abstract destination type have required properties by @DocSvartz in #907
Full Changelog: v10.0.7-pre02...v10.0.7-pre03
v10.0.7-pre02
What's Changed
- Fix bug in #903 and Fix #858 by @DocSvartz in #905
Full Changelog: v10.0.7-pre01...v10.0.7-pre02
v10.0.7-pre01
What's Changed
- Fix: regression when update required property by @DocSvartz in #902
- Added ctor null propagation by @DocSvartz in #903
Full Changelog: v10.0.6...v10.0.7-pre01
v10.0.6
Breaking change in v10.0+ and new feature
New feature:
- Fix #883 - Add class ctor using default value for param
In version 7.4.0 this feature was only available for record types
If you encountered this mapping behavior in 7.4.0, it is possible that your class was recognized as a record type, or was mistakenly recognized as a record type See more.
If you need the mapping behavior as for Record, in v10.0+ you can use - [AdaptWith(AdaptDirectives.DestinationAsRecord)] .
If you need the ability to set this setting without using attributes, open issue on this topic.
Example:
[AdaptWith(AdaptDirectives.DestinationAsRecord)]
public class SimpleRecord
{
public int Id { get; private set; }
public string Name { get; private set; }
public SimpleRecord(int id, string name)
{
this.Id = id;
this.Name = name;
}
}
What's Changed
- fix: #893 by @DocSvartz in #894
- fix: Regression in v10 - disabled ConstructUsing and MapToConstructor if have public parameterless constructor by @DocSvartz in #896
Full Changelog: v10.0.4...v10.0.6
v10.0.4
Breaking change in v10.0+ and new feature
New feature:
- Fix #883 - Add class ctor using default value for param by @DocSvartz in #885
In version 7.4.0 this feature was only available for record types
If you encountered this mapping behavior in 7.4.0, it is possible that your class was recognized as a record type, or was mistakenly recognized as a record type See more.
If you need the mapping behavior as for Record, in v10.0+ you can use - [AdaptWith(AdaptDirectives.DestinationAsRecord)] .
If you need the ability to set this setting without using attributes, open issue on this topic.
Example:
[AdaptWith(AdaptDirectives.DestinationAsRecord)]
public class SimpleRecord
{
public int Id { get; private set; }
public string Name { get; private set; }
public SimpleRecord(int id, string name)
{
this.Id = id;
this.Name = name;
}
}
What's Changed
- fix: Restore PackageLicense by @DocSvartz in #870
- Fix #875 - ProjectToType regression in v10 by @DocSvartz in #876
- Feature : add simplification UseDestinationValue configuration method by @DocSvartz in #886
- Fix #883 - Add class ctor using default value for param by @DocSvartz in #885
- Fix: Restore v7.4.0 behavior for property without setter in class by @DocSvartz in #887
- Fix #881 - ProjectToType record regression by @DocSvartz in #888
- Improvement build - part 1 by @DocSvartz in #889
- fix: Typo in Data-types.md by @NLHaarP in #891
New Contributors
Full Changelog: v10.0.0...v10.0.4
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