Skip to content

Update dependency linq2db to 6.4.0 - #1164

Open
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/linq2db-6.x
Open

Update dependency linq2db to 6.4.0#1164
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/linq2db-6.x

Conversation

@renovate

@renovate renovate Bot commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
linq2db (source) 6.2.16.4.0 age confidence

Release Notes

linq2db/linq2db (linq2db)

v6.4.0: Release 6.4.0

Highlights of this release:

  • New Sql.Window.* fluent API for window functions — ranking, offset, value, aggregate, statistical, regression, ordered-set and distribution functions, full ROWS/RANGE/GROUPS frames, named windows, FILTER, NULLS FIRST/LAST and Oracle KEEP, with compile-time safety. Existing Sql.Ext.*().Over() queries keep working unchanged — they run on the new pipeline internally (#​5468)
  • Two new eager-loading strategies for LoadWith / ThenLoad and inline collection projections: KeyedQuery (buffers the parent query and loads children with WHERE key IN (…)) and CteUnion (collapses same-level collections into one UNION ALL CTE). Selectable per query or globally, with automatic fallback (#​5450)
  • Named (keyed) query filtersHasQueryFilter(key, …) and selective IgnoreFilters(keys), mirroring the EF Core 10 API, including EF Core keyed-filter flow-through (#​5525)
  • Fluent Upsert plus entity-based Insert(item, …) / Update(item, …) DML APIs (#​5482)
  • linq2db.Analyzers — a new analyzer package shipped as a dependency of linq2db, with rule L2DB1001 and a code fix that migrates the legacy Sql.Ext window API to Sql.Window. Opt out with EnableLinqToDBAnalyzers (#​5703)
  • Query cache is now bounded with idle eviction and a global cap, preventing unbounded growth in long-running apps with many distinct queries (#​5501)
  • NULLS FIRST / NULLS LAST control on OrderBy / ThenBy with a DataOptions default, rendered natively or emulated across all providers (#​5561)
  • Sql.NewGuid7() and Guid.CreateVersion7() mapping for UUIDv7 generation (#​5648)
  • Automatic mapping of F# 'T option / 'T voption columns after .UseFSharp(), with none stored as NULL (#​5624)
  • New opt-in PreferClientCalculation evaluates non-server-required projection expressions client-side, restoring v5 projection behavior (#​5604)
  • DistinctBy emits native DISTINCT ON on PostgreSQL and DuckDB (#​5630)
  • OptimizeForSequentialAccess became a per-context option, fixing query-cache collisions between sequential and non-sequential reader plans (#​5639)
  • Raw-SQL materialization into records and constructor types now honors [Column] and [ValueConverter], binding by mapped column name rather than parameter name (#​5659)
  • Provider auto-detection works under PublishSingleFile self-contained deployments (#​5489)
  • Fixed corrupted SQL — swapped or duplicated aliases and column names — when one cached parameter-dependent query executed concurrently on multiple threads (#​5657)
  • Two connection leaks fixed: provider version auto-detection left caller-supplied connections open (#​5691), as did the implicit EF Core ToLinqToDB() / ToLinqToDBTable() / GetTable<T>() helpers (#​5378)
  • Other notable fixes: recursive CTE dropping columns on an object-typed projection member (#​5680), InvalidCastException on a local-collection LEFT JOIN feeding decimal arithmetic (#​5587), invalid SQL when subtracting two DateTime/DateTimeOffset columns (#​5581), [ExpressionMethod] running at materialization with IsColumn = false (#​5578), nested member-path mappings throwing in MERGE setters and discriminators (#​5545), InvalidCastException on Contains in a correlated subquery (#​5558), aggregates over a captured local collection turned into SQL subqueries (#​5557), and ORDER BY expressions lifted from a subquery producing invalid SQL (#​5556)

Provider-specific highlights:

  • YDB — now a fully supported provider rather than experimental: schema API, CLI scaffolding, LINQPad driver and broad translation coverage (#​5564)
  • PostgreSQL — v19 dialect with correct IGNORE NULLS / RESPECT NULLS window SQL (#​5644); v11 and v12 dialects, with unsupported window features rejected client-side with a clear exception (#​5687)
  • SQL Server — new [GetSqlDecimal] attribute reads decimal columns whose precision exceeds the CLR decimal range instead of throwing (#​5605)
  • Oracle / Informix — fixed cached queries producing wrong SQL on re-execution when a provider rewrite modified the cached statement in place (#​5723)
  • EF Core — many-to-many (skip navigation) associations now translate to SQL (#​5588); the linq2db query cache no longer misses on every DbContext with pooled contexts or disabled service-provider caching (#​5695)
  • Native AOT — fixed a crash triggered by lambda closures in queries (#​5552); EF Core on Mono / Android AOT — fixed a fatal crash reading model metadata (#​5546)
  • LINQPad — the driver installs again on macOS and Linux from LINQPad's NuGet package manager, broken since 6.2.0 (#​5571)

linq2db.cli:

  • New query, execute and schema commands, plus an MCP server for agent-driven database access (#​5678)

Full release notes

Nugets

New Contributors

Full Changelog: linq2db/linq2db@v6.3.0...v6.4.0

v6.3.0: Release 6.3.0

Highlights of this release:

  • Enum.HasFlag translation
  • string.Concat / string.Join / TrimStart / TrimEnd translation improvements (with many translator-bug fixes uncovered along the way)
  • AsCte builder overload for explicit CTE materialization configuration (PostgreSQL, ClickHouse, DuckDB, SQLite, DuckDB)
  • AsQueryable(db, ...) overload with per-column parameterization control for VALUES clauses
  • Improved Now / UtcNow translation with timezone awareness across providers; providers without TZ gracefully downgrade
  • IgnoreConflicts option for MultipleRows mode BulkCopy on MySql / MariaDB / PostgreSQL / SQLite / DuckDB (thanks @​darko1979)
  • Many other fixes: PostgreSQL array-parameter query cache misses, SqlQueryDependentParams issues, association discovery on interfaces, subquery null-aggregate SQL generation, UPDATE FROM regressions, ValueConverter null handling, CTE column removal, set-operator flattening, Sql.Row converters, predicate null-check optimization, FromSql caching, DropTable(throwExceptionIfNotExists: false) behavior, EXISTS over set queries

Provider-specific highlights:

  • DuckDB — brand-new first-class provider (thanks @​stdray, #​5451), schema introspection, scaffolding via linq2db.cli, LINQPad support
  • OracleCOALESCE parameter type inference, DateTimeOffset.Now no longer corrupts TIMESTAMP WITH TIME ZONE writes, drop of global temp tables with data now works
  • SQL Server 2025 — vector type fixes
  • SQL Server + Firebird — date conversion fix for DbType="..." mappings
  • ClickHouse — table-hint whitespace fix
  • Access — non-EN locale compatibility re-fixes
  • SAP HANA + DB2 + Firebird — proper SQL escaping in EXECUTE blocks for create/drop tables
  • SAP HANADROP TABLE IF NOT EXISTS handled on SQL level
  • EF.Core / SQL ServerUseSequence-defined fields now detected as identity (#​5439)
  • F# support — compatibility with FSharp.Core 10.1.x; record mapping fixes for case-only-distinct member names

linq2db.cli:

  • Per-RID tool packaging. linq2db.cli now ships as per-RID tool packages (win-x64/win-x86/win-arm64/linux-x64/linux-arm64/osx-arm64/osx-x64). dotnet tool install -g linq2db.cli auto-picks the variant for your SDK; add --arch x86 when you need 32-bit (Jet OLE DB; or to match a 32-bit ACE / SqlCe / SAP HANA driver).
  • Breaking: --architecture scaffold option removed — bitness is now fixed at install time. Jet connection strings on a 64-bit process now fail fast with a clear x86-variant hint. See #​5539.

Full release notes

Nugets

What's Changed

New Contributors

Full Changelog: linq2db/linq2db@v6.2.1...v6.3.0


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovate Bot force-pushed the renovate/linq2db-6.x branch from a826fe4 to f8244d4 Compare July 12, 2026 13:05
@renovate
renovate Bot force-pushed the renovate/linq2db-6.x branch from f8244d4 to 0088eeb Compare July 21, 2026 02:44
@renovate
renovate Bot force-pushed the renovate/linq2db-6.x branch from 0088eeb to 42f9a0e Compare July 30, 2026 17:46
@renovate
renovate Bot force-pushed the renovate/linq2db-6.x branch from 42f9a0e to 05614f9 Compare August 7, 2026 05:46
@renovate renovate Bot changed the title Update dependency linq2db to 6.3.0 Update dependency linq2db to 6.4.0 Aug 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants