Repository navigation
Releases: manusoft/Mappy
Releases · manusoft/Mappy
Release list
v4.0.1
v4.0.0
What's Changed
Added
- Cached mapping plans for source/destination type pairs.
- Compiled property getters and setters.
MappingExceptionwith source, destination, and member context.- Strongly typed property rename configuration.
- Strongly typed ignore configuration.
- Explicit type converters.
MapTofor mapping into existing instances.- Constructor mapping for immutable destination types and records.
- Circular/shared reference preservation.
- Improved arrays and generic collection mapping.
MappingOptionsfor reference handling, private members, and null handling.- BenchmarkDotNet benchmark project.
Changed
- Mapping no longer relies on
PropertyInfo.GetValue/SetValueduring normal property execution. - Async APIs remain available, while the core mapping path stays synchronous.
- Nullable warnings are no longer globally suppressed.
- Package version is 4.0.0.
Compatibility
The existing extension APIs remain available:
source.Map<TDestination>();
source.MapAsync<TDestination>();
source.MapCollection<TDestination>();
source.MapCollectionAsync<TDestination>();Full Changelog: v3.1.0...v4.0.0
v3.1.0
v3.0.0
Features
- Simple Object Mapping: Map properties between objects with identical names and types.
- Nested Object Mapping: Automatically maps nested properties.
- Collection Mapping: Handles collections of objects and maps them to the destination collection type.
- Custom Mapping: Supports custom transformations using lambda expressions.
- Asynchronous Mapping: Enables async operations for custom transformations.
- Null Safety: Handles null values gracefully.
- Support mapping private properties.
- Type Safety: Ensures type safety by matching properties based on type rather than just name, preventing errors when types differ.
- Circular Reference Handling: Implements circular reference handling function.
- Improved Type Checking: Use
IsAssignableTofor more robust type compatibility checks. 🆕 - Caching Reflection Data: Cache
PropertyInfoto reduce reflection overhead. 🆕 - Better Collection Handling: Support additional collection types (e.g., arrays,
ICollection<T>). 🆕 - Error Handling: Add detailed exceptions for common failure cases. 🆕
- Configuration Options: Introduce a mapping configuration for custom property mappings or exclusions 🆕
- Code Organization: Split into smaller methods for better readability and maintainability. 🆕
- Performance Optimization: Minimize unnecessary object creations and improve circular reference handling. 🆕
What's Changed
- Implement new features and improve performance, maintainability, and extensibility. by @manusoft in #5
Full Changelog: v2.1.0...v3.0.0