Skip to content

v3.6.1

Latest

Choose a tag to compare

@github-actions github-actions released this 29 Oct 12:08
· 4 commits to main since this release
026fbcd

Dapper 2.1.89 compatibility, improved date/time materialization, and more reliable releases.

Dapper-FluentMap 3.6.1 aligns the library with Dapper 2.1.89, extends mapped date/time conversion coverage, and strengthens compatibility checks and publishing safeguards. The five packages continue to target netstandard2.0, with no intentional public API breaking changes.

What's changed

Dapper 2.1.89 compatibility

The minimum supported Dapper version has increased from 2.1.79 to 2.1.89.

  • Updated the supported dependency range to [2.1.89,3.0.0) (a minimum-version range, not an exact pin).
  • Verified FluentMap-controlled runtime and generated materialization against the updated Dapper baseline.
  • Expanded test coverage for DynamicParameters, Dapper TypeHandler precedence, generated registration, and Dommel integration.

Migration note: Applications resolving Dapper versions below 2.1.89 need to update before adopting FluentMap 3.6.1. Review direct and transitive references, regenerate lock files when applicable, and rerun integration tests.

Date and time materialization

FluentMap-controlled runtime and generated materializers now support verified conversions among DateOnly, TimeOnly, DateTime, and TimeSpan, where compatible with the consuming framework and provider values.

Coverage includes nullable values and database NULL, immutable constructor parameters, nested mappings, mapping profiles, and explicit property converters. Registered Dapper TypeHandlers retain precedence in supported runtime paths.

Provider behavior is intentionally scoped: SQL Server DateTime/TimeSpan values and PostgreSQL native date/time values are verified; SQLite ISO text values require an explicit property converter. This is not a universal conversion guarantee for every provider.

Provider compatibility and Native AOT

  • Updated the certified SQLite and Oracle client versions.
  • Extended provider-backed tests for mapped date/time behavior and Dommel persistence.
  • Strengthened generated registration and Native AOT smoke coverage.
  • Preserved the documented strict-generated Native AOT boundary rather than claiming universal AOT compatibility.

Security, build, and release reliability

  • Updated the build SDK baseline to patched .NET 10.0.403.
  • Addressed dependency advisories in documentation tooling and test infrastructure.
  • Made NuGet publishing more resilient to delayed indexing and safe release retries.
  • Added deterministic semantic-version validation across the five packages, including protection against unintended major-version increments.
  • Corrected a release-validation exit-code issue that could report a failure after successful validation.

The security dependency updates primarily affect development and test tooling; they do not represent a newly identified vulnerability in FluentMap's published runtime packages.

NuGet packages

All five packages are versioned 3.6.1:

  • Dapper.FluentMap
  • Dapper.FluentMap.Dommel
  • FluentMap.DependencyInjection
  • FluentMap.Analyzers
  • FluentMap.Generators

Install the core package:

dotnet add package Dapper.FluentMap --version 3.6.1

Compatibility

Component Version / support
FluentMap 3.6.1
Dapper [2.1.89,3.0.0)
Dommel [3.5.3,4.0.0)
Target framework netstandard2.0
Public API No intentional breaking changes

Documentation and migration

Review the compatibility matrix and migration guide, particularly when using older Dapper versions, custom type handlers, or generated materialization.

Full changelog: v3.6.0...v3.6.1