Skip to content

Update dependency linq2db to 6.4.0 - #38

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

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

Conversation

@renovate

@renovate renovate Bot commented Aug 7, 2026

Copy link
Copy Markdown

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
linq2db (source) 6.3.06.4.0 age adoption passing 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


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.

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