RepoDB v1.14.0 - Support to .NET 8, .NET 9, .NET 10 | Community Updates | PostgreSQL Bulk Operations Fixes
LatestThis 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
DataTypeNameproperty toNpgsqlBulkInsertMapItem— enables explicit PostgreSQL type name mapping (e.g. native enum types) as a third constructor overload. When set,DataTypeNametakes precedence overNpgsqlDbType. - Updated
Compiler.csto resolveNpgsqlBinaryImporter.Write/WriteAsyncoverloads that accept astring dataTypeNamewhenDataTypeNameis set — covers both sync and async paths. - Fixed all 64
EnumTestintegration test failures —BinaryBulkInsert,BinaryBulkDelete,BinaryBulkMerge, andBinaryBulkUpdatenow correctly handle .NET enums mapped to native PostgreSQL enum types viaNpgsqlDataSource.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.yml→build-base.yml; all build workflow references updated. - Added
release-base.yml— reusableworkflow_calltemplate for NuGet publishing (restore → build → pack → NuGet login → push). - Added individual
release-*.ymlworkflows 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-artifactfromv4→v5andNuGet/loginfromv1→v2to 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
DateTimetoDateOnlyby @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
- @PauloHMattos made their first contribution in #1152
- @alexn-tinwell made their first contribution in #1153
- @RodolfoFerreira made their first contribution in #1160
- @AndrewNikolin made their first contribution in #1180
- @dendism made their first contribution in #1182
- @rhuijben made their first contribution in #1184
- @andtii made their first contribution in #1197
- @lgp1985 made their first contribution in #1207
- @dependabot[bot] made their first contribution in #1175
- @prjanitor made their first contribution in #1213
Full Changelog: v1.13.1...v1.14.0