Skip to content

v1.2.0

Latest

Choose a tag to compare

@Nshai Nshai released this 11 Oct 23:24
· 5 commits to master since this release
d6f03fc

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 RegisterConverter method 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