Skip to content

RepoDB v1.14.0 - Support to .NET 8, .NET 9, .NET 10 | Community Updates | PostgreSQL Bulk Operations Fixes

Latest

Choose a tag to compare

@mikependon mikependon released this 28 Jun 14:41

This release has built the last 2.5 years changes to the library. Also, it now supports the .NET 8, .NET 9 and .NET 10. We have removed the support to .NET 6 and .NET 7 respectively.

In addition, we have introduces native PostgreSQL enum type support for bulk operations, a new DataTypeName property for explicit type mapping, a complete GitHub Actions CI/CD overhaul with reusable release pipelines, and refreshed documentation across all packages.

RepoDb.PostgreSql.BulkOperations (v1.14.0)

  • Added DataTypeName property to NpgsqlBulkInsertMapItem — enables explicit PostgreSQL type name mapping (e.g. native enum types) as a third constructor overload. When set, DataTypeName takes precedence over NpgsqlDbType.
  • Updated Compiler.cs to resolve NpgsqlBinaryImporter.Write / WriteAsync overloads that accept a string dataTypeName when DataTypeName is set — covers both sync and async paths.
  • Fixed all 64 EnumTest integration test failures — BinaryBulkInsert, BinaryBulkDelete, BinaryBulkMerge, and BinaryBulkUpdate now correctly handle .NET enums mapped to native PostgreSQL enum types via NpgsqlDataSource.MapEnum().
  • Professionalized the Enum Types section in the README with step-by-step usage instructions and linked API references.

RepoDb.Core (v1.14.0)

  • Refreshed README — tightened prose, added a Why RepoDB? collapsible section, added a Contributors avatar section (via contrib.rocks), and added a Downloads badge column to the packages table.

All Packages

  • Refreshed README files across all 9 packages — concise one-liner descriptions, cleaner installation instructions, and streamlined community links.

CI/CD

  • Renamed _base.ymlbuild-base.yml; all build workflow references updated.
  • Added release-base.yml — reusable workflow_call template for NuGet publishing (restore → build → pack → NuGet login → push).
  • Added individual release-*.yml workflows for all 9 packages (repodb, sqlsvr, mysql, mysqlconnector, pgsql, pgsql-bulk, sqlsvr-bulk, sqlite-system, sqlite-microsoft).
  • Upgraded actions/checkout, actions/setup-dotnet, actions/upload-artifact from v4v5 and NuGet/login from v1v2 to resolve the Node.js 20 deprecation warnings.

Credits

Thank you to all the contributors/pull-requestors and collaborators of this release (filing the Issues/Bugs, Questions, Recommendations, Verification/Validations, etc).

For the other unlisted collaborators who made the contributions (i.e.: posting and answering comments) on the User Stories, and also to those who directly collaborated with our communities (in many ways), we are also extending our thanks to you.

Please continue to do so and many thanks!

What's Changed

  • Convert enum to type based on DbType for PostgreSQL by @PauloHMattos in #1152
  • Mitigate thread race conditions & hashcode collision risks by @alexn-tinwell in #1153
  • Implemented auto-conversion from DateTime to DateOnly by @xperiandri in #1154
  • Issue 1159 - Bug: Exception "A transaction is already in progress; nested/concurrent transactions aren't supported." when using TransactionScope with PostgreSQL bulk operations #1159 by @RodolfoFerreira in #1160
  • Fix race condition when getting fields by retrying on a new connection by @xperiandri in #1162
  • Support net8.0 and upgrade packages by @SergerGood in #1164
  • Repodb optimized batch statements by @mikependon in #1167
  • Generic Attribute for ClassHandler by @SergerGood in #1169
  • Issue 1159 - Bug: Exception "A transaction is already in progress; nested/concurrent transactions aren't supported." when using explicit transaction with PostgreSQL bulk operations #1159 by @RodolfoFerreira in #1170
  • Honour cache expiration from ctor if not passed explicitly by @AndrewNikolin in #1180
  • Fixed bug with keep identity flag in BulkInsert and BulkMerge operations by @dendism in #1182
  • Add full DateOnly support by @rhuijben in #1184
  • Fix all unit and integration tests. by @rhuijben in #1194
  • Support int and short in SetEntityIdentities for PostGres by @andtii in #1197
  • Updates GetCommandText() to use pg_index catalog in PostgreSqlDbHelper by @RodolfoFerreira in #1209
  • Address CVE-2023-36414 and CVE-2024-0056 by @lgp1985 in #1207
  • Bump Npgsql from 7.0.1 to 8.0.3 in /RepoDb.PostgreSql/RepoDb.PostgreSql.IntegrationTests by @dependabot[bot] in #1175
  • Bump Npgsql from 7.0.6 to 8.0.3 in /RepoDb.Benchmarks/RepoDb.Benchmarks.PostgreSql by @dependabot[bot] in #1177
  • Bump NHibernate from 5.4.6 to 5.4.9 in /RepoDb.Benchmarks/RepoDb.Benchmarks.PostgreSql by @dependabot[bot] in #1179
  • Fix duplicate type check for StaticType.Byte in ClientTypeToDbTypeResolver by @prjanitor in #1213
  • Refactoring Net10 by @mikependon in #1215
  • Bump Npgsql from 7.0.6 to 7.0.7 by @dependabot[bot] in #1216

New Contributors

Full Changelog: v1.13.1...v1.14.0