Release 1.2.0 - Enhanced Core & Mapping Features
Version: 1.2.0 (Minor Release)
Release Date: October 2025
Type: Minor Release (backward compatible new features and improvements)
Enhanced Custom Conversion Feature in Mapping Module:
- New Functionality: Support for custom type converter registration system directly in MappingModule configuration
- API Enhancement: Added
RegisterConvertermethod to MappingModule allowing registration of type conversion functions - Module Integration: MappingModule now supports converter function registration for type mappings
- Usage Example:
RegisterConverter<string, Guid>(str => Guid.Parse(str))within module constructor
Release Notes:
- Performance Improvements: Significant performance enhancements through compiled expression trees and metadata caching, with expected 2x+ improvement in mapping speed
- Code Quality: Consolidated duplicate code in GetMemberPath methods and simplified complex mapping methods
- Internal Optimizations: Replaced Activator.CreateInstance with optimized factory delegates and added configuration caching for faster lookup
- New Feature: Collection mapping support for IEnumerable, IList, and arrays - the Map method now returns IEnumerable when mapping collections, replacing the separate MapList method
- New Feature: Ability to ignore properties during mapping using the Ignore() method
- New Feature: Custom type converter registration system for handling complex type conversions through MappingModule
- Enhancement: Enhanced nullable type handling with improved conversion logic
- Improvement: Much more descriptive error messages for debugging mapping issues
- New Feature: Conditional mapping allowing properties to be mapped based on conditions using When() method
- Enhanced Feature: Transformation functions during mapping using MapWith() method with integrated custom conversion support in MappingModule
- Improvement: More comprehensive built-in type conversions including DateTime, TimeSpan, and decimal/float conversions
- Improvement: Configuration validation returns ValidationResult object with IsValid flag and Errors collection for better error reporting
Backward Compatibility:
- ✅ Fully backward compatible
- No breaking changes to public APIs
- All existing mapping configurations will continue to work
- Performance improvements are transparent to users
- New features are opt-in
Impact:
- Performance: Significant improvement in mapping speed
- Memory: More efficient memory usage through caching
- Functionality: Added support for mapping collections and complex type conversions
- Debuggability: Much better error messages help identify mapping issues quickly
- Flexibility: More control over mapping process with ignore, custom converters, conditions and transformations
- Reliability: Early detection of configuration issues
- Coverage: Better handling of various data types