Repository navigation
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, DapperTypeHandlerprecedence, 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.FluentMapDapper.FluentMap.DommelFluentMap.DependencyInjectionFluentMap.AnalyzersFluentMap.Generators
Install the core package:
dotnet add package Dapper.FluentMap --version 3.6.1Compatibility
| 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