Skip to content

v1.0.0

Choose a tag to compare

@NinjaRocks NinjaRocks released this 09 Oct 21:51
· 14 commits to master since this release
4b84231

TurboMapper v1.0.0 - Release Notes

Overview

TurboMapper is a lightweight, high-performance object mapping library for .NET that provides an intuitive alternative to AutoMapper with support for both shallow and deep object mapping.

Key Features

Core Mapping Capabilities

  • Automatic Name-Based Mapping: Maps properties with matching names automatically between source and target objects
  • Deep/Nested Object Mapping: Recursively maps nested objects and complex hierarchies
  • Custom Property Mapping: Explicit configuration for mapping properties with different names or structures
  • Type Conversion: Automatic conversion between compatible types (int to string, string to enum, etc.)

Configuration Options

  • Fluent API: Configure mappings using an intuitive fluent interface with ForMember() expressions
  • Mapping Modules: Organize mapping configurations in reusable MappingModule<TSource, TTarget> classes
  • Default Mapping Control: Option to enable/disable automatic name-based mapping alongside custom configurations
  • Property Flattening: Map nested properties to flat structures (e.g., Address.City → City)
  • Property Nesting: Map flat properties into nested object structures

Dependency Injection Support

  • Built-in DI Registration: Simple registration with services.AddTurboMapper()
  • Singleton Lifecycle: Mapper registered as singleton for optimal performance
  • Auto-Discovery: Automatically discovers and registers mapping modules from loaded assemblies

Platform Support

  • .NET 9.0
  • .NET Standard 2.0 & 2.1
  • .NET Framework 4.6.2

Quality & Performance

  • Thread-Safe: Safe for concurrent mapping operations
  • High Performance: Optimized for production workloads
  • Comprehensive Testing: Extensive unit and integration test coverage
  • CI/CD Pipeline: Automated builds, testing, linting, and CodeQL security analysis

Technical Implementation

  • Reflection-based property mapping with caching
  • Support for null value handling at all levels
  • Graceful handling of missing or incompatible properties
  • Read-only property detection and skipping

Package Information

  • License: MIT
  • NuGet Package: TurboMapper
  • Repository: GitHub (CodeShayk/TurboMapper)