[release/8.0] Keep parameter values out IMemoryCache in RelationalCommandCache#34908
[release/8.0] Keep parameter values out IMemoryCache in RelationalCommandCache#34908roji merged 2 commits intodotnet:release/8.0from
Conversation
Store only nullness and array lengths in struct form to prevent parameters memory leaks Fixes dotnet#34028 Co-authored-by: Shay Rojansky <roji@roji.org> (cherry picked from commit af420cd)
|
Consider adding a quirk mode |
Done, PTAL. Should we include the quirk in 9.0 as well, given that GA is right around the corner? Feels like if we want to potentially give people a way out of this change for 8.0, the same should hold for 9.0 at this point. |
9.0 is not LTS, so I think it's just a bit more risk-tolerant. |
| // Quirk only | ||
| private readonly IReadOnlyDictionary<string, object?>? _parameterValues; | ||
|
|
||
| public CommandCacheKey(Expression queryExpression, IReadOnlyDictionary<string, object?> parameterValues) |
There was a problem hiding this comment.
Man, still getting this leak. Primary constructor still holding it probably
There was a problem hiding this comment.
@bleapleaper can you please open a new issue with a minimal, runnable repro that shows this still happening after the fix?
There was a problem hiding this comment.
Unable to repro with the repro in the issue, but in another project i still see the leak. Investigating further. Too trigger happy on the comments sorry
….22 (#118) Updated [Microsoft.EntityFrameworkCore.SqlServer](https://github.com/dotnet/efcore) from 8.0.7 to 8.0.22. <details> <summary>Release notes</summary> _Sourced from [Microsoft.EntityFrameworkCore.SqlServer's releases](https://github.com/dotnet/efcore/releases)._ ## 8.0.22 [Release](https://github.com/dotnet/core/releases/tag/v8.0.22) ## What's Changed * [release/8.0-staging] Merge release/8.0 to release/8.0-staging by @cincuranet in dotnet/efcore#36798 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/efcore#36915 * Update branding to 8.0.22 by @vseanreesermsft in dotnet/efcore#36924 * [release/8.0] Merge release/8.0-staging to release/8.0 by @cincuranet in dotnet/efcore#36943 * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/efcore#36968 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/efcore#36980 **Full Changelog**: dotnet/efcore@v8.0.21...v8.0.22 ## 8.0.21 [Release](https://github.com/dotnet/core/releases/tag/v8.0.21) ## What's Changed * [release/8.0-staging] Merge release/8.0 to release/8.0-staging by @cincuranet in dotnet/efcore#36540 * Update branding to 8.0.21 by @vseanreesermsft in dotnet/efcore#36696 * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/efcore#36727 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/efcore#36765 * [release/8.0] Disable Guardian Dotnet Analyzers by @AndriySvyryd in dotnet/efcore#36776 * [8.0] Resolve query logger from QueryContext in shaper generation (#36758) by @roji in dotnet/efcore#36779 * [release/8.0] Merge release/8.0-staging to release/8.0 by @cincuranet in dotnet/efcore#36788 * [release/8.0] Remove OSX.13.ARM64 from HelixTargetQueues by @AndriySvyryd in dotnet/efcore#36838 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/efcore#36853 * [release/8.0] Remove OSX.13.Amd64 target from HelixTargetQueues by @AndriySvyryd in dotnet/efcore#36855 **Full Changelog**: dotnet/efcore@v8.0.20...v8.0.21 ## 8.0.20 [Release](https://github.com/dotnet/core/releases/tag/v8.0.20) ## What's Changed * [release/8.0] Merge release/8.0 => release/8.0-staging by @cincuranet in dotnet/efcore#36197 * Update branding to 8.0.20 by @vseanreesermsft in dotnet/efcore#36497 * [release/8.0] Dispose related readers in GroupBySplitQueryingEnumerable (#36484) by @roji in dotnet/efcore#36489 * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/efcore#36512 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/efcore#36533 * [release/8.0] Merge release/8.0-staging to release/8.0 by @cincuranet in dotnet/efcore#36531 **Full Changelog**: dotnet/efcore@v8.0.19...v8.0.20 ## 8.0.17 ## Dependency Updates - **Update dependencies from dotnet/arcade** ([#36085](dotnet/efcore#36085)) Updates the project's dependencies using the latest versions from the dotnet/arcade repository. This ensures that the build infrastructure and related tooling are up to date, which can bring in important bug fixes, security patches, and improvements from upstream. ## Miscellaneous - **Update branding to 8.0.17** ([#36043](dotnet/efcore#36043)) Updates the internal version branding to 8.0.17. This change ensures that the product and its packages correctly reflect the new release version, helping users and developers identify the build. - **Merging internal commits for release/8.0** ([#36080](dotnet/efcore#36080)) Integrates various internal commits into the release/8.0 branch. This merge brings together important updates and ensures the release branch is synchronized with recent internal development, maintaining consistency and stability for the release. --- This summary is generated and may contain inaccuracies. For complete details, please review the linked pull requests. Full Changelog: [v8.0.16...v8.0.17](dotnet/efcore@v8.0.16...v8.0.17) ## 8.0.16 [Release](https://github.com/dotnet/core/releases/tag/v8.0.16) ## What's Changed * Update branding to 8.0.16 by @vseanreesermsft in dotnet/efcore#35888 * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/efcore#35926 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro in dotnet/efcore#35930 **Full Changelog**: dotnet/efcore@v8.0.15...v8.0.16 ## 8.0.15 [Release](https://github.com/dotnet/core/releases/tag/v9.0.3) ## What's Changed * Merge branch 'release/8.0' into 'release/8.0-staging' by @AndriySvyryd in dotnet/efcore#35541 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro in dotnet/efcore#35633 * [release/8.0-staging] Improve LoadExtension to work correctly with dotnet run and lib* named libs by @roji in dotnet/efcore#35718 * [release/8.0-staging] Transform Span-based overloads to Enumerable in funcletizer by @roji in dotnet/efcore#35720 * Update branding to 8.0.15 by @vseanreesermsft in dotnet/efcore#35738 * Merge branch 'release/8.0-staging' => 'release/8.0' by @AndriySvyryd in dotnet/efcore#35742 * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/efcore#35765 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro in dotnet/efcore#35780 **Full Changelog**: dotnet/efcore@v8.0.14...v8.0.15 ## 8.0.14 [Release](https://github.com/dotnet/core/releases/tag/v8.0.14) ## What's Changed * Update branding to 8.0.14 by @vseanreesermsft in dotnet/efcore#35583 * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/efcore#35621 **Full Changelog**: dotnet/efcore@v8.0.13...v8.0.14 ## 8.0.13 [Release](https://github.com/dotnet/core/releases/tag/v8.0.13 ## What's Changed * [release/8.0] Update Helix queues by @AndriySvyryd in dotnet/efcore#35408 * Update branding to 8.0.13 by @vseanreesermsft in dotnet/efcore#35427 * Merge branch 'release/8.0-staging' => 'release/8.0' by @AndriySvyryd in dotnet/efcore#35464 * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/efcore#35473 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro in dotnet/efcore#35470 **Full Changelog**: dotnet/efcore@v8.0.12...v8.0.13 ## 8.0.12 [Release](https://github.com/dotnet/core/releases/tag/v8.0.12) ## What's Changed * [release/8.0-staging] Update macOS images to 13 by @AndriySvyryd in dotnet/efcore#35005 * Update branding to 8.0.12 by @vseanreesermsft in dotnet/efcore#35048 * Merge branch 'release/8.0' into release/8.0-staging by @AndriySvyryd in dotnet/efcore#35055 * Merge branch 'release/8.0-staging' => 'release/8.0' by @AndriySvyryd in dotnet/efcore#35077 * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/efcore#35081 **Full Changelog**: dotnet/efcore@v8.0.11...v8.0.12 ## 8.0.11 [Release](https://github.com/dotnet/core/releases/tag/v8.0.11) ## What's Changed * Update branding to 8.0.11 by @vseanreesermsft in dotnet/efcore#34807 * [release/8.0] Remove referencing indexes when reconfiguring a property as a navigation by @AndriySvyryd in dotnet/efcore#34651 * [release/8.0] Update dependencies by @AndriySvyryd in dotnet/efcore#34822 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro in dotnet/efcore#34880 * [release/8.0] Update Microsoft.Extensions.HostFactoryResolver.Sources version by @AndriySvyryd in dotnet/efcore#34884 * [release/8.0] Don't execute empty batches by @AndriySvyryd in dotnet/efcore#34882 * [release/8.0] Avoid infinite recursion on identifying shadow FKs by @AndriySvyryd in dotnet/efcore#34891 * Merging internal commits for release/8.0 by @AndriySvyryd in dotnet/efcore#34902 * [release/8.0] Keep parameter values out IMemoryCache in RelationalCommandCache by @roji in dotnet/efcore#34908 **Full Changelog**: dotnet/efcore@v8.0.10...v8.0.11 ## 8.0.10 [Release](https://github.com/dotnet/core/releases/tag/v8.0.10) ## 8.0.8 [Release](https://github.com/dotnet/core/releases/tag/v8.0.8) Commits viewable in [compare view](dotnet/efcore@v8.0.7...v8.0.22). </details> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) You can trigger a rebase of this PR by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> > **Note** > Automatic rebases have been disabled on this pull request as it has been open for over 30 days.
…#257) Updated [Microsoft.EntityFrameworkCore.Design](https://github.com/dotnet/efcore) from 8.0.7 to 8.0.25. <details> <summary>Release notes</summary> _Sourced from [Microsoft.EntityFrameworkCore.Design's releases](https://github.com/dotnet/efcore/releases)._ ## 8.0.25 [Release](https://github.com/dotnet/core/releases/tag/v8.0.25) ## What's Changed * Update branding to 8.0.25 by @vseanreesermsft in dotnet/efcore#37613 * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/efcore#37667 **Full Changelog**: dotnet/efcore@v8.0.24...v8.0.25 ## 8.0.24 [Release](https://github.com/dotnet/core/releases/tag/v8.0.24) ## What's Changed * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/efcore#37375 * Update branding to 8.0.24 by @vseanreesermsft in dotnet/efcore#37448 * [release/8.0] Disable Analyzer tests by @AndriySvyryd in dotnet/efcore#37467 * [release/8.0] Fix binskim prereleaseVersion formatting in pipeline config by @AndriySvyryd in dotnet/efcore#37475 * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/efcore#37503 **Full Changelog**: dotnet/efcore@v8.0.23...v8.0.24 ## 8.0.23 [Release](https://github.com/dotnet/core/tree/v8.0.23) ## What's Changed * [release/8.0-staging] Merge release/8.0 to release/8.0-staging by @cincuranet in dotnet/efcore#36948 * [release/8.0] Update dependencies by @AndriySvyryd in dotnet/efcore#37048 * Update branding to 8.0.23 by @vseanreesermsft in dotnet/efcore#37074 * [automated] Merge branch 'release/8.0-staging' => 'release/8.0' by @AndriySvyryd in dotnet/efcore#37079 * [release/8.0-staging] Fix 0-byte reads/writes on blobs by @cincuranet in dotnet/efcore#37067 * [release/8.0] Update BinSkim to 4.3.1 by @AndriySvyryd in dotnet/efcore#37091 * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/efcore#37130 * [release/8.0] Change NuGet audit to moderate by @AndriySvyryd in dotnet/efcore#37138 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/efcore#37160 * [release/8.0-staging] Handle .NET 10 MemoryExtensions.Contains overload with comparer by @roji in dotnet/efcore#37182 * [release/8.0-staging] Update to Mac 15 queues. by @cincuranet in dotnet/efcore#37097 * Merge release/8.0-staging to release/8.0 by @AndriySvyryd in dotnet/efcore#37305 **Full Changelog**: dotnet/efcore@v8.0.22...v8.0.23 ## 8.0.22 [Release](https://github.com/dotnet/core/releases/tag/v8.0.22) ## What's Changed * [release/8.0-staging] Merge release/8.0 to release/8.0-staging by @cincuranet in dotnet/efcore#36798 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/efcore#36915 * Update branding to 8.0.22 by @vseanreesermsft in dotnet/efcore#36924 * [release/8.0] Merge release/8.0-staging to release/8.0 by @cincuranet in dotnet/efcore#36943 * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/efcore#36968 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/efcore#36980 **Full Changelog**: dotnet/efcore@v8.0.21...v8.0.22 ## 8.0.21 [Release](https://github.com/dotnet/core/releases/tag/v8.0.21) ## What's Changed * [release/8.0-staging] Merge release/8.0 to release/8.0-staging by @cincuranet in dotnet/efcore#36540 * Update branding to 8.0.21 by @vseanreesermsft in dotnet/efcore#36696 * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/efcore#36727 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/efcore#36765 * [release/8.0] Disable Guardian Dotnet Analyzers by @AndriySvyryd in dotnet/efcore#36776 * [8.0] Resolve query logger from QueryContext in shaper generation (#36758) by @roji in dotnet/efcore#36779 * [release/8.0] Merge release/8.0-staging to release/8.0 by @cincuranet in dotnet/efcore#36788 * [release/8.0] Remove OSX.13.ARM64 from HelixTargetQueues by @AndriySvyryd in dotnet/efcore#36838 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/efcore#36853 * [release/8.0] Remove OSX.13.Amd64 target from HelixTargetQueues by @AndriySvyryd in dotnet/efcore#36855 **Full Changelog**: dotnet/efcore@v8.0.20...v8.0.21 ## 8.0.20 [Release](https://github.com/dotnet/core/releases/tag/v8.0.20) ## What's Changed * [release/8.0] Merge release/8.0 => release/8.0-staging by @cincuranet in dotnet/efcore#36197 * Update branding to 8.0.20 by @vseanreesermsft in dotnet/efcore#36497 * [release/8.0] Dispose related readers in GroupBySplitQueryingEnumerable (#36484) by @roji in dotnet/efcore#36489 * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/efcore#36512 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/efcore#36533 * [release/8.0] Merge release/8.0-staging to release/8.0 by @cincuranet in dotnet/efcore#36531 **Full Changelog**: dotnet/efcore@v8.0.19...v8.0.20 ## 8.0.17 ## Dependency Updates - **Update dependencies from dotnet/arcade** ([#36085](dotnet/efcore#36085)) Updates the project's dependencies using the latest versions from the dotnet/arcade repository. This ensures that the build infrastructure and related tooling are up to date, which can bring in important bug fixes, security patches, and improvements from upstream. ## Miscellaneous - **Update branding to 8.0.17** ([#36043](dotnet/efcore#36043)) Updates the internal version branding to 8.0.17. This change ensures that the product and its packages correctly reflect the new release version, helping users and developers identify the build. - **Merging internal commits for release/8.0** ([#36080](dotnet/efcore#36080)) Integrates various internal commits into the release/8.0 branch. This merge brings together important updates and ensures the release branch is synchronized with recent internal development, maintaining consistency and stability for the release. --- This summary is generated and may contain inaccuracies. For complete details, please review the linked pull requests. Full Changelog: [v8.0.16...v8.0.17](dotnet/efcore@v8.0.16...v8.0.17) ## 8.0.16 [Release](https://github.com/dotnet/core/releases/tag/v8.0.16) ## What's Changed * Update branding to 8.0.16 by @vseanreesermsft in dotnet/efcore#35888 * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/efcore#35926 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro in dotnet/efcore#35930 **Full Changelog**: dotnet/efcore@v8.0.15...v8.0.16 ## 8.0.15 [Release](https://github.com/dotnet/core/releases/tag/v9.0.3) ## What's Changed * Merge branch 'release/8.0' into 'release/8.0-staging' by @AndriySvyryd in dotnet/efcore#35541 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro in dotnet/efcore#35633 * [release/8.0-staging] Improve LoadExtension to work correctly with dotnet run and lib* named libs by @roji in dotnet/efcore#35718 * [release/8.0-staging] Transform Span-based overloads to Enumerable in funcletizer by @roji in dotnet/efcore#35720 * Update branding to 8.0.15 by @vseanreesermsft in dotnet/efcore#35738 * Merge branch 'release/8.0-staging' => 'release/8.0' by @AndriySvyryd in dotnet/efcore#35742 * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/efcore#35765 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro in dotnet/efcore#35780 **Full Changelog**: dotnet/efcore@v8.0.14...v8.0.15 ## 8.0.14 [Release](https://github.com/dotnet/core/releases/tag/v8.0.14) ## What's Changed * Update branding to 8.0.14 by @vseanreesermsft in dotnet/efcore#35583 * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/efcore#35621 **Full Changelog**: dotnet/efcore@v8.0.13...v8.0.14 ## 8.0.13 [Release](https://github.com/dotnet/core/releases/tag/v8.0.13 ## What's Changed * [release/8.0] Update Helix queues by @AndriySvyryd in dotnet/efcore#35408 * Update branding to 8.0.13 by @vseanreesermsft in dotnet/efcore#35427 * Merge branch 'release/8.0-staging' => 'release/8.0' by @AndriySvyryd in dotnet/efcore#35464 * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/efcore#35473 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro in dotnet/efcore#35470 **Full Changelog**: dotnet/efcore@v8.0.12...v8.0.13 ## 8.0.12 [Release](https://github.com/dotnet/core/releases/tag/v8.0.12) ## What's Changed * [release/8.0-staging] Update macOS images to 13 by @AndriySvyryd in dotnet/efcore#35005 * Update branding to 8.0.12 by @vseanreesermsft in dotnet/efcore#35048 * Merge branch 'release/8.0' into release/8.0-staging by @AndriySvyryd in dotnet/efcore#35055 * Merge branch 'release/8.0-staging' => 'release/8.0' by @AndriySvyryd in dotnet/efcore#35077 * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/efcore#35081 **Full Changelog**: dotnet/efcore@v8.0.11...v8.0.12 ## 8.0.11 [Release](https://github.com/dotnet/core/releases/tag/v8.0.11) ## What's Changed * Update branding to 8.0.11 by @vseanreesermsft in dotnet/efcore#34807 * [release/8.0] Remove referencing indexes when reconfiguring a property as a navigation by @AndriySvyryd in dotnet/efcore#34651 * [release/8.0] Update dependencies by @AndriySvyryd in dotnet/efcore#34822 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro in dotnet/efcore#34880 * [release/8.0] Update Microsoft.Extensions.HostFactoryResolver.Sources version by @AndriySvyryd in dotnet/efcore#34884 * [release/8.0] Don't execute empty batches by @AndriySvyryd in dotnet/efcore#34882 * [release/8.0] Avoid infinite recursion on identifying shadow FKs by @AndriySvyryd in dotnet/efcore#34891 * Merging internal commits for release/8.0 by @AndriySvyryd in dotnet/efcore#34902 * [release/8.0] Keep parameter values out IMemoryCache in RelationalCommandCache by @roji in dotnet/efcore#34908 **Full Changelog**: dotnet/efcore@v8.0.10...v8.0.11 ## 8.0.10 [Release](https://github.com/dotnet/core/releases/tag/v8.0.10) ## 8.0.8 [Release](https://github.com/dotnet/core/releases/tag/v8.0.8) Commits viewable in [compare view](dotnet/efcore@v8.0.7...v8.0.25). </details> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details>
….22 (#118) Updated [Microsoft.EntityFrameworkCore.SqlServer](https://github.com/dotnet/efcore) from 8.0.7 to 8.0.22. <details> <summary>Release notes</summary> _Sourced from [Microsoft.EntityFrameworkCore.SqlServer's releases](https://github.com/dotnet/efcore/releases)._ ## 8.0.22 [Release](https://github.com/dotnet/core/releases/tag/v8.0.22) ## What's Changed * [release/8.0-staging] Merge release/8.0 to release/8.0-staging by @cincuranet in dotnet/efcore#36798 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/efcore#36915 * Update branding to 8.0.22 by @vseanreesermsft in dotnet/efcore#36924 * [release/8.0] Merge release/8.0-staging to release/8.0 by @cincuranet in dotnet/efcore#36943 * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/efcore#36968 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/efcore#36980 **Full Changelog**: dotnet/efcore@v8.0.21...v8.0.22 ## 8.0.21 [Release](https://github.com/dotnet/core/releases/tag/v8.0.21) ## What's Changed * [release/8.0-staging] Merge release/8.0 to release/8.0-staging by @cincuranet in dotnet/efcore#36540 * Update branding to 8.0.21 by @vseanreesermsft in dotnet/efcore#36696 * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/efcore#36727 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/efcore#36765 * [release/8.0] Disable Guardian Dotnet Analyzers by @AndriySvyryd in dotnet/efcore#36776 * [8.0] Resolve query logger from QueryContext in shaper generation (#36758) by @roji in dotnet/efcore#36779 * [release/8.0] Merge release/8.0-staging to release/8.0 by @cincuranet in dotnet/efcore#36788 * [release/8.0] Remove OSX.13.ARM64 from HelixTargetQueues by @AndriySvyryd in dotnet/efcore#36838 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/efcore#36853 * [release/8.0] Remove OSX.13.Amd64 target from HelixTargetQueues by @AndriySvyryd in dotnet/efcore#36855 **Full Changelog**: dotnet/efcore@v8.0.20...v8.0.21 ## 8.0.20 [Release](https://github.com/dotnet/core/releases/tag/v8.0.20) ## What's Changed * [release/8.0] Merge release/8.0 => release/8.0-staging by @cincuranet in dotnet/efcore#36197 * Update branding to 8.0.20 by @vseanreesermsft in dotnet/efcore#36497 * [release/8.0] Dispose related readers in GroupBySplitQueryingEnumerable (#36484) by @roji in dotnet/efcore#36489 * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/efcore#36512 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/efcore#36533 * [release/8.0] Merge release/8.0-staging to release/8.0 by @cincuranet in dotnet/efcore#36531 **Full Changelog**: dotnet/efcore@v8.0.19...v8.0.20 ## 8.0.17 ## Dependency Updates - **Update dependencies from dotnet/arcade** ([#36085](dotnet/efcore#36085)) Updates the project's dependencies using the latest versions from the dotnet/arcade repository. This ensures that the build infrastructure and related tooling are up to date, which can bring in important bug fixes, security patches, and improvements from upstream. ## Miscellaneous - **Update branding to 8.0.17** ([#36043](dotnet/efcore#36043)) Updates the internal version branding to 8.0.17. This change ensures that the product and its packages correctly reflect the new release version, helping users and developers identify the build. - **Merging internal commits for release/8.0** ([#36080](dotnet/efcore#36080)) Integrates various internal commits into the release/8.0 branch. This merge brings together important updates and ensures the release branch is synchronized with recent internal development, maintaining consistency and stability for the release. --- This summary is generated and may contain inaccuracies. For complete details, please review the linked pull requests. Full Changelog: [v8.0.16...v8.0.17](dotnet/efcore@v8.0.16...v8.0.17) ## 8.0.16 [Release](https://github.com/dotnet/core/releases/tag/v8.0.16) ## What's Changed * Update branding to 8.0.16 by @vseanreesermsft in dotnet/efcore#35888 * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/efcore#35926 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro in dotnet/efcore#35930 **Full Changelog**: dotnet/efcore@v8.0.15...v8.0.16 ## 8.0.15 [Release](https://github.com/dotnet/core/releases/tag/v9.0.3) ## What's Changed * Merge branch 'release/8.0' into 'release/8.0-staging' by @AndriySvyryd in dotnet/efcore#35541 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro in dotnet/efcore#35633 * [release/8.0-staging] Improve LoadExtension to work correctly with dotnet run and lib* named libs by @roji in dotnet/efcore#35718 * [release/8.0-staging] Transform Span-based overloads to Enumerable in funcletizer by @roji in dotnet/efcore#35720 * Update branding to 8.0.15 by @vseanreesermsft in dotnet/efcore#35738 * Merge branch 'release/8.0-staging' => 'release/8.0' by @AndriySvyryd in dotnet/efcore#35742 * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/efcore#35765 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro in dotnet/efcore#35780 **Full Changelog**: dotnet/efcore@v8.0.14...v8.0.15 ## 8.0.14 [Release](https://github.com/dotnet/core/releases/tag/v8.0.14) ## What's Changed * Update branding to 8.0.14 by @vseanreesermsft in dotnet/efcore#35583 * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/efcore#35621 **Full Changelog**: dotnet/efcore@v8.0.13...v8.0.14 ## 8.0.13 [Release](https://github.com/dotnet/core/releases/tag/v8.0.13 ## What's Changed * [release/8.0] Update Helix queues by @AndriySvyryd in dotnet/efcore#35408 * Update branding to 8.0.13 by @vseanreesermsft in dotnet/efcore#35427 * Merge branch 'release/8.0-staging' => 'release/8.0' by @AndriySvyryd in dotnet/efcore#35464 * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/efcore#35473 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro in dotnet/efcore#35470 **Full Changelog**: dotnet/efcore@v8.0.12...v8.0.13 ## 8.0.12 [Release](https://github.com/dotnet/core/releases/tag/v8.0.12) ## What's Changed * [release/8.0-staging] Update macOS images to 13 by @AndriySvyryd in dotnet/efcore#35005 * Update branding to 8.0.12 by @vseanreesermsft in dotnet/efcore#35048 * Merge branch 'release/8.0' into release/8.0-staging by @AndriySvyryd in dotnet/efcore#35055 * Merge branch 'release/8.0-staging' => 'release/8.0' by @AndriySvyryd in dotnet/efcore#35077 * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/efcore#35081 **Full Changelog**: dotnet/efcore@v8.0.11...v8.0.12 ## 8.0.11 [Release](https://github.com/dotnet/core/releases/tag/v8.0.11) ## What's Changed * Update branding to 8.0.11 by @vseanreesermsft in dotnet/efcore#34807 * [release/8.0] Remove referencing indexes when reconfiguring a property as a navigation by @AndriySvyryd in dotnet/efcore#34651 * [release/8.0] Update dependencies by @AndriySvyryd in dotnet/efcore#34822 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro in dotnet/efcore#34880 * [release/8.0] Update Microsoft.Extensions.HostFactoryResolver.Sources version by @AndriySvyryd in dotnet/efcore#34884 * [release/8.0] Don't execute empty batches by @AndriySvyryd in dotnet/efcore#34882 * [release/8.0] Avoid infinite recursion on identifying shadow FKs by @AndriySvyryd in dotnet/efcore#34891 * Merging internal commits for release/8.0 by @AndriySvyryd in dotnet/efcore#34902 * [release/8.0] Keep parameter values out IMemoryCache in RelationalCommandCache by @roji in dotnet/efcore#34908 **Full Changelog**: dotnet/efcore@v8.0.10...v8.0.11 ## 8.0.10 [Release](https://github.com/dotnet/core/releases/tag/v8.0.10) ## 8.0.8 [Release](https://github.com/dotnet/core/releases/tag/v8.0.8) Commits viewable in [compare view](dotnet/efcore@v8.0.7...v8.0.22). </details> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) You can trigger a rebase of this PR by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> > **Note** > Automatic rebases have been disabled on this pull request as it has been open for over 30 days.
…#257) Updated [Microsoft.EntityFrameworkCore.Design](https://github.com/dotnet/efcore) from 8.0.7 to 8.0.25. <details> <summary>Release notes</summary> _Sourced from [Microsoft.EntityFrameworkCore.Design's releases](https://github.com/dotnet/efcore/releases)._ ## 8.0.25 [Release](https://github.com/dotnet/core/releases/tag/v8.0.25) ## What's Changed * Update branding to 8.0.25 by @vseanreesermsft in dotnet/efcore#37613 * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/efcore#37667 **Full Changelog**: dotnet/efcore@v8.0.24...v8.0.25 ## 8.0.24 [Release](https://github.com/dotnet/core/releases/tag/v8.0.24) ## What's Changed * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/efcore#37375 * Update branding to 8.0.24 by @vseanreesermsft in dotnet/efcore#37448 * [release/8.0] Disable Analyzer tests by @AndriySvyryd in dotnet/efcore#37467 * [release/8.0] Fix binskim prereleaseVersion formatting in pipeline config by @AndriySvyryd in dotnet/efcore#37475 * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/efcore#37503 **Full Changelog**: dotnet/efcore@v8.0.23...v8.0.24 ## 8.0.23 [Release](https://github.com/dotnet/core/tree/v8.0.23) ## What's Changed * [release/8.0-staging] Merge release/8.0 to release/8.0-staging by @cincuranet in dotnet/efcore#36948 * [release/8.0] Update dependencies by @AndriySvyryd in dotnet/efcore#37048 * Update branding to 8.0.23 by @vseanreesermsft in dotnet/efcore#37074 * [automated] Merge branch 'release/8.0-staging' => 'release/8.0' by @AndriySvyryd in dotnet/efcore#37079 * [release/8.0-staging] Fix 0-byte reads/writes on blobs by @cincuranet in dotnet/efcore#37067 * [release/8.0] Update BinSkim to 4.3.1 by @AndriySvyryd in dotnet/efcore#37091 * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/efcore#37130 * [release/8.0] Change NuGet audit to moderate by @AndriySvyryd in dotnet/efcore#37138 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/efcore#37160 * [release/8.0-staging] Handle .NET 10 MemoryExtensions.Contains overload with comparer by @roji in dotnet/efcore#37182 * [release/8.0-staging] Update to Mac 15 queues. by @cincuranet in dotnet/efcore#37097 * Merge release/8.0-staging to release/8.0 by @AndriySvyryd in dotnet/efcore#37305 **Full Changelog**: dotnet/efcore@v8.0.22...v8.0.23 ## 8.0.22 [Release](https://github.com/dotnet/core/releases/tag/v8.0.22) ## What's Changed * [release/8.0-staging] Merge release/8.0 to release/8.0-staging by @cincuranet in dotnet/efcore#36798 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/efcore#36915 * Update branding to 8.0.22 by @vseanreesermsft in dotnet/efcore#36924 * [release/8.0] Merge release/8.0-staging to release/8.0 by @cincuranet in dotnet/efcore#36943 * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/efcore#36968 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/efcore#36980 **Full Changelog**: dotnet/efcore@v8.0.21...v8.0.22 ## 8.0.21 [Release](https://github.com/dotnet/core/releases/tag/v8.0.21) ## What's Changed * [release/8.0-staging] Merge release/8.0 to release/8.0-staging by @cincuranet in dotnet/efcore#36540 * Update branding to 8.0.21 by @vseanreesermsft in dotnet/efcore#36696 * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/efcore#36727 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/efcore#36765 * [release/8.0] Disable Guardian Dotnet Analyzers by @AndriySvyryd in dotnet/efcore#36776 * [8.0] Resolve query logger from QueryContext in shaper generation (#36758) by @roji in dotnet/efcore#36779 * [release/8.0] Merge release/8.0-staging to release/8.0 by @cincuranet in dotnet/efcore#36788 * [release/8.0] Remove OSX.13.ARM64 from HelixTargetQueues by @AndriySvyryd in dotnet/efcore#36838 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/efcore#36853 * [release/8.0] Remove OSX.13.Amd64 target from HelixTargetQueues by @AndriySvyryd in dotnet/efcore#36855 **Full Changelog**: dotnet/efcore@v8.0.20...v8.0.21 ## 8.0.20 [Release](https://github.com/dotnet/core/releases/tag/v8.0.20) ## What's Changed * [release/8.0] Merge release/8.0 => release/8.0-staging by @cincuranet in dotnet/efcore#36197 * Update branding to 8.0.20 by @vseanreesermsft in dotnet/efcore#36497 * [release/8.0] Dispose related readers in GroupBySplitQueryingEnumerable (#36484) by @roji in dotnet/efcore#36489 * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/efcore#36512 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro[bot] in dotnet/efcore#36533 * [release/8.0] Merge release/8.0-staging to release/8.0 by @cincuranet in dotnet/efcore#36531 **Full Changelog**: dotnet/efcore@v8.0.19...v8.0.20 ## 8.0.17 ## Dependency Updates - **Update dependencies from dotnet/arcade** ([#36085](dotnet/efcore#36085)) Updates the project's dependencies using the latest versions from the dotnet/arcade repository. This ensures that the build infrastructure and related tooling are up to date, which can bring in important bug fixes, security patches, and improvements from upstream. ## Miscellaneous - **Update branding to 8.0.17** ([#36043](dotnet/efcore#36043)) Updates the internal version branding to 8.0.17. This change ensures that the product and its packages correctly reflect the new release version, helping users and developers identify the build. - **Merging internal commits for release/8.0** ([#36080](dotnet/efcore#36080)) Integrates various internal commits into the release/8.0 branch. This merge brings together important updates and ensures the release branch is synchronized with recent internal development, maintaining consistency and stability for the release. --- This summary is generated and may contain inaccuracies. For complete details, please review the linked pull requests. Full Changelog: [v8.0.16...v8.0.17](dotnet/efcore@v8.0.16...v8.0.17) ## 8.0.16 [Release](https://github.com/dotnet/core/releases/tag/v8.0.16) ## What's Changed * Update branding to 8.0.16 by @vseanreesermsft in dotnet/efcore#35888 * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/efcore#35926 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro in dotnet/efcore#35930 **Full Changelog**: dotnet/efcore@v8.0.15...v8.0.16 ## 8.0.15 [Release](https://github.com/dotnet/core/releases/tag/v9.0.3) ## What's Changed * Merge branch 'release/8.0' into 'release/8.0-staging' by @AndriySvyryd in dotnet/efcore#35541 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro in dotnet/efcore#35633 * [release/8.0-staging] Improve LoadExtension to work correctly with dotnet run and lib* named libs by @roji in dotnet/efcore#35718 * [release/8.0-staging] Transform Span-based overloads to Enumerable in funcletizer by @roji in dotnet/efcore#35720 * Update branding to 8.0.15 by @vseanreesermsft in dotnet/efcore#35738 * Merge branch 'release/8.0-staging' => 'release/8.0' by @AndriySvyryd in dotnet/efcore#35742 * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/efcore#35765 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro in dotnet/efcore#35780 **Full Changelog**: dotnet/efcore@v8.0.14...v8.0.15 ## 8.0.14 [Release](https://github.com/dotnet/core/releases/tag/v8.0.14) ## What's Changed * Update branding to 8.0.14 by @vseanreesermsft in dotnet/efcore#35583 * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/efcore#35621 **Full Changelog**: dotnet/efcore@v8.0.13...v8.0.14 ## 8.0.13 [Release](https://github.com/dotnet/core/releases/tag/v8.0.13 ## What's Changed * [release/8.0] Update Helix queues by @AndriySvyryd in dotnet/efcore#35408 * Update branding to 8.0.13 by @vseanreesermsft in dotnet/efcore#35427 * Merge branch 'release/8.0-staging' => 'release/8.0' by @AndriySvyryd in dotnet/efcore#35464 * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/efcore#35473 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro in dotnet/efcore#35470 **Full Changelog**: dotnet/efcore@v8.0.12...v8.0.13 ## 8.0.12 [Release](https://github.com/dotnet/core/releases/tag/v8.0.12) ## What's Changed * [release/8.0-staging] Update macOS images to 13 by @AndriySvyryd in dotnet/efcore#35005 * Update branding to 8.0.12 by @vseanreesermsft in dotnet/efcore#35048 * Merge branch 'release/8.0' into release/8.0-staging by @AndriySvyryd in dotnet/efcore#35055 * Merge branch 'release/8.0-staging' => 'release/8.0' by @AndriySvyryd in dotnet/efcore#35077 * Merging internal commits for release/8.0 by @vseanreesermsft in dotnet/efcore#35081 **Full Changelog**: dotnet/efcore@v8.0.11...v8.0.12 ## 8.0.11 [Release](https://github.com/dotnet/core/releases/tag/v8.0.11) ## What's Changed * Update branding to 8.0.11 by @vseanreesermsft in dotnet/efcore#34807 * [release/8.0] Remove referencing indexes when reconfiguring a property as a navigation by @AndriySvyryd in dotnet/efcore#34651 * [release/8.0] Update dependencies by @AndriySvyryd in dotnet/efcore#34822 * [release/8.0] Update dependencies from dotnet/arcade by @dotnet-maestro in dotnet/efcore#34880 * [release/8.0] Update Microsoft.Extensions.HostFactoryResolver.Sources version by @AndriySvyryd in dotnet/efcore#34884 * [release/8.0] Don't execute empty batches by @AndriySvyryd in dotnet/efcore#34882 * [release/8.0] Avoid infinite recursion on identifying shadow FKs by @AndriySvyryd in dotnet/efcore#34891 * Merging internal commits for release/8.0 by @AndriySvyryd in dotnet/efcore#34902 * [release/8.0] Keep parameter values out IMemoryCache in RelationalCommandCache by @roji in dotnet/efcore#34908 **Full Changelog**: dotnet/efcore@v8.0.10...v8.0.11 ## 8.0.10 [Release](https://github.com/dotnet/core/releases/tag/v8.0.10) ## 8.0.8 [Release](https://github.com/dotnet/core/releases/tag/v8.0.8) Commits viewable in [compare view](dotnet/efcore@v8.0.7...v8.0.25). </details> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details>
Store only nullness and array lengths in struct form to prevent parameters memory leaks
Fixes #34028
Backports #34028
Description
EF's query pipeline contains a SQL cache, whose key contains the nullness of parameters; this is needed since different nullness requires different SQL (e.g.
WHERE b.Name = @p(where p is non-null), vs.WHERE b.Name IS NULL(where p is null)). The cache key implementation currently references the parameter value, rather than just recording whether it was null or not. This causes user data to be referenced from internal caching, keeping potentially large amounts of data referenced and preventing the GC from reclaiming them.Customer impact
In some cases, large amounts of user data will be kept in memory and will never get garbage-collected.
How found
Customer reported on 8.0
Regression
No
Testing
Testing that a reference is kept to an object isn't feasible in a reliable way.
Risk
Low.