|
| 1 | +# TurboMapper Release Roadmap |
| 2 | + |
| 3 | +## Overview |
| 4 | +This document provides a summary of TurboMapper releases with key details about each release. |
| 5 | + |
| 6 | +| Release Version | Release Date | Key Features | Backward Compatibility | Primary Focus | |
| 7 | +|----------------|--------------|--------------|----------------------|---------------| |
| 8 | +| 1.2.0 | TBA | Performance improvements (2x+ speed), collection mapping, custom type converters, conditional mapping, transformation functions, configuration validation, improved error messages | ✅ Fully backward compatible | Core improvements, mapping features, custom conversions | |
| 9 | +| 1.4.0 | TBA | Complex nested mapping, circular reference handling, performance diagnostics, generic collection interfaces, interface-to-concrete mapping, dictionary mapping, .NET Standard compatibility | ✅ Fully backward compatible | Advanced mapping, type features, enhanced conversions | |
| 10 | +| 2.1.0 | TBA | Pre-compiled mappings, reverse mapping, async transformations, async collection processing, LINQ expressions, projection support, detailed tracing | ❌ Contains breaking changes (new async methods in IMapper) | Next-gen features, async operations, data access integration | |
| 11 | + |
| 12 | +## Detailed Release Notes |
| 13 | + |
| 14 | +### Release 1.2.0 - Enhanced Core & Mapping Features |
| 15 | +- **Performance Improvements**: Significant performance enhancements through compiled expression trees and metadata caching, with expected 2x+ improvement in mapping speed |
| 16 | +- **Code Quality**: Consolidated duplicate code in GetMemberPath methods and simplified complex mapping methods |
| 17 | +- **Internal Optimizations**: Replaced Activator.CreateInstance with optimized factory delegates and added configuration caching for faster lookup |
| 18 | +- **New Feature**: Collection mapping support for IEnumerable, IList, and arrays |
| 19 | +- **New Feature**: Ability to ignore properties during mapping using the Ignore() method |
| 20 | +- **New Feature**: Custom type converter registration system for handling complex type conversions |
| 21 | +- **Enhancement**: Enhanced nullable type handling with configurable behavior |
| 22 | +- **Improvement**: Much more descriptive error messages for debugging mapping issues |
| 23 | +- **New Feature**: Conditional mapping allowing properties to be mapped based on conditions using When() method |
| 24 | +- **Enhanced Feature**: Transformation functions during mapping using MapWith() method with integrated custom conversion in MappingModule |
| 25 | +- **Improvement**: More comprehensive built-in type conversions including DateTime, TimeSpan, and decimal/float conversions |
| 26 | +- **Improvement**: Configuration validation at registration time to catch potential mapping issues early |
| 27 | + |
| 28 | +### Release 1.4.0 - Advanced Mapping & Type Features |
| 29 | +- **Improvement**: Enhanced support for complex nested mapping scenarios with performance optimization |
| 30 | +- **New Feature**: Detection and handling of circular references in objects to prevent infinite recursion |
| 31 | +- **Improvement**: Better configurable null handling for nested objects |
| 32 | +- **New Feature**: Optional performance diagnostics and profiling capabilities |
| 33 | +- **Improvement**: Comprehensive support for generic collection interfaces (IEnumerable, IList, IReadOnlyList, etc.) |
| 34 | +- **Improvement**: Enhanced mapping for collections with different element types |
| 35 | +- **New Feature**: Support for mapping from interface to concrete implementation |
| 36 | +- **New Feature**: Comprehensive mapping support for dictionary types with key and value transformation |
| 37 | +- **Improvement**: Better .NET Standard compatibility across target frameworks |
| 38 | +- **Enhanced Custom Conversion**: Advanced type conversion features including complex nested conversions in MappingModule |
| 39 | + |
| 40 | +### Release 2.1.0 - Next-Gen Features & Breaking Changes |
| 41 | +- **New Feature**: Pre-compilation of mappings for better runtime performance with compile-time validation |
| 42 | +- **New Feature**: Reverse mapping capabilities from TTarget to TSource |
| 43 | +- **New Feature**: Detailed optional mapping execution tracing for debugging |
| 44 | +- **New Feature**: Asynchronous transformation functions and async collection processing |
| 45 | +- **New Feature**: Support for mapping in LINQ expressions with expression tree transformation |
| 46 | +- **New Feature**: Projection support for efficient database queries compatible with Entity Framework and similar ORMs |
| 47 | +- **Breaking Change**: New async mapping methods added to IMapper interface |
| 48 | +- **Improvement**: Enhanced performance with pre-compiled mappings |
| 49 | +- **Integration**: Enhanced compatibility with data access technologies |
| 50 | +- **Enhanced Custom Conversion**: Full async and LINQ-enabled custom conversions in MappingModule |
| 51 | + |
| 52 | +## Migration Notes |
| 53 | +- **1.2.0 to 1.4.0**: Fully backward compatible, no migration required |
| 54 | +- **1.4.0 to 2.1.0**: Contains breaking changes requiring updates to IMapper implementations to include new async methods |
| 55 | +- **Custom Conversion Evolution**: Enhanced across all releases with increasing capabilities (basic → advanced → async/LINQ-enabled) |
| 56 | + |
| 57 | +## Impact Summary |
| 58 | +- **Performance**: Significant improvements in releases 1.2.0 and 2.1.0 |
| 59 | +- **Functionality**: New features added in each release with advanced capabilities |
| 60 | +- **Compatibility**: Careful attention to maintaining compatibility where possible |
| 61 | +- **Conversion**: Enhanced custom conversion features integrated throughout the MappingModule system |
0 commit comments