Skip to content

Releases: manusoft/Mappy

v4.0.1

Choose a tag to compare

@manusoft manusoft released this 25 Sep 21:01
6cb90cf

What's Changed

  • Add DateOnly/TimeOnly and ctor mapping fixes by @manusoft in #7

Full Changelog: v4.0.0...v4.0.1

v4.0.0

Choose a tag to compare

@manusoft manusoft released this 15 Sep 20:02
094d4c4

What's Changed

  • Update CI/CD, license, and add changelog for 4.0.0 by @manusoft in #6

Added

  • Cached mapping plans for source/destination type pairs.
  • Compiled property getters and setters.
  • MappingException with source, destination, and member context.
  • Strongly typed property rename configuration.
  • Strongly typed ignore configuration.
  • Explicit type converters.
  • MapTo for mapping into existing instances.
  • Constructor mapping for immutable destination types and records.
  • Circular/shared reference preservation.
  • Improved arrays and generic collection mapping.
  • MappingOptions for reference handling, private members, and null handling.
  • BenchmarkDotNet benchmark project.

Changed

  • Mapping no longer relies on PropertyInfo.GetValue/SetValue during 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

Choose a tag to compare

@manusoft manusoft released this 24 Nov 17:32

Full Changelog: v3.0.0...v3.1.0

v3.0.0

Choose a tag to compare

@manusoft manusoft released this 18 May 10:09
4a5afec

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 IsAssignableTo for more robust type compatibility checks. 🆕
  • Caching Reflection Data: Cache PropertyInfo to 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

v2.1.0

Choose a tag to compare

@manusoft manusoft released this 28 Dec 14:50
00d801c

What's Changed

  • Implement circular reference handling. by @manusoft in #4

Full Changelog: v2.0.1...v2.1.0

v2.0.1

Choose a tag to compare

@manusoft manusoft released this 20 Dec 14:31

What's Changed

  • Enhancements to Performance (Optimized Collection Mapping, Improved Type Safety). by @manusoft in #3

Full Changelog: v1.0.0...v2.0.1

v1.0.0

Choose a tag to compare

@manusoft manusoft released this 16 Dec 22:29
6533bea

What's Changed

New Contributors

Full Changelog: https://github.com/manusoft/Mappy/commits/v1.0.0