Skip to content

[release/10.0] Switch Microsoft.Data.Sqlite and EFCore.Sqlite to SQLite3MC.PCLRaw.bundle (backport #38402, #36551)#38546

Open
ViveliDuCh wants to merge 3 commits into
release/10.0from
backport/38402-sqlite3mc-10.0
Open

[release/10.0] Switch Microsoft.Data.Sqlite and EFCore.Sqlite to SQLite3MC.PCLRaw.bundle (backport #38402, #36551)#38546
ViveliDuCh wants to merge 3 commits into
release/10.0from
backport/38402-sqlite3mc-10.0

Conversation

@ViveliDuCh

Copy link
Copy Markdown
Member

Backports the SQLite native bundle change (#38402, merged in 11.0 preview 6) to release/10.0. See #38402 for the full rationale and dotnet/EntityFramework.Docs#5385 for the breaking-change docs.

Because release/10.0 did not yet have the SQLitePCLRaw 3.x update (#36551 / #36535), this backport combines both changes:

  • SQLitePCLRaw 3.x — bumps SQLitePCLRawVersion to 3.0.3. The crypto and OS-provided bundles (bundle_e_sqlcipher, bundle_e_sqlite3mc, bundle_sqlite3, bundle_winsqlite3) are no longer published, so the affected test projects move to the SQLitePCLRaw.provider.* packages and the e_sqlcipher/e_sqlite3mc test projects are removed.
  • SQLite3MC bundleMicrosoft.Data.Sqlite and Microsoft.EntityFrameworkCore.Sqlite now reference SQLite3MC.PCLRaw.bundle (2.3.5) instead of SQLitePCLRaw.bundle_e_sqlite3, shipping an encryption-capable (SQLite3 Multiple Ciphers) native build by default.
  • Test coverage — adds a Microsoft.Data.Sqlite.sqlite3mc.Tests project and switches EFCore.Sqlite.FunctionalTests / EFCore.Design.Tests to SQLite3MC.PCLRaw.bundle so CI exercises the shipped bundle.

User-facing breaking-change behavior and migration guidance are documented in dotnet/EntityFramework.Docs#5385.

Links

Copilot AI review requested due to automatic review settings July 1, 2026 00:49
@ViveliDuCh ViveliDuCh requested review from a team, AndriySvyryd and wtgodbe as code owners July 1, 2026 00:49

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Backports the SQLite native-bundle switch and SQLitePCLRaw 3.x packaging changes to release/10.0, updating shipped Sqlite packages to use the SQLite3MC bundle (encryption-capable) by default and adjusting test coverage/projects accordingly.

Changes:

  • Updated EFCore.Sqlite and Microsoft.Data.Sqlite to reference SQLite3MC.PCLRaw.bundle, and added the corresponding centralized version plumbing.
  • Updated/reshaped the Microsoft.Data.Sqlite test matrix for SQLitePCLRaw 3.x (provider packages for OS-provided SQLite; removed deprecated crypto/OS bundle-based test projects; added sqlite3mc tests).
  • Updated solutions/filters and test projects (EFCore.Sqlite.FunctionalTests/EFCore.Design.Tests) to exercise the shipped SQLite3MC bundle in CI.

Reviewed changes

Copilot reviewed 17 out of 17 changed files in this pull request and generated no comments.

Show a summary per file
File Description
test/Microsoft.Data.Sqlite.Tests/TestUtilities/SqliteTestFramework.cs Adjusts test framework selection and adds provider-based init for winsqlite3/sqlite3.
test/Microsoft.Data.Sqlite.Tests/SqliteConnectionTest.cs Updates preprocessor conditions to reflect the new SQLITE3MC test target.
test/Microsoft.Data.Sqlite.Tests/Microsoft.Data.Sqlite.winsqlite3.Tests.csproj Switches from deprecated bundle package to core+provider packages.
test/Microsoft.Data.Sqlite.Tests/Microsoft.Data.Sqlite.Tests.csproj Adds RID for netfx and continues to test the bundle_e_sqlite3 path.
test/Microsoft.Data.Sqlite.Tests/Microsoft.Data.Sqlite.sqlite3mc.Tests.csproj Retargets the encryption-capable test project to SQLite3MC bundle and constant.
test/Microsoft.Data.Sqlite.Tests/Microsoft.Data.Sqlite.sqlite3.Tests.csproj Switches from deprecated bundle package to core+provider packages.
test/Microsoft.Data.Sqlite.Tests/Microsoft.Data.Sqlite.e_sqlite3mc.Tests.csproj Removes the deprecated bundle_e_sqlite3mc test project.
test/EFCore.Sqlite.FunctionalTests/EFCore.Sqlite.FunctionalTests.csproj Runs provider functional tests against SQLite3MC bundle.
test/EFCore.Design.Tests/EFCore.Design.Tests.csproj Runs design-time tests against SQLite3MC bundle.
test/Directory.Packages.props Updates test-only package versions for SQLitePCLRaw 3.x provider packages.
src/Microsoft.Data.Sqlite/Microsoft.Data.Sqlite.csproj Switches shipped Microsoft.Data.Sqlite to SQLite3MC bundle.
src/Microsoft.Data.Sqlite.Core/Properties/InternalsVisibleTo.cs Updates friend assemblies to match new/removed test projects.
src/EFCore.Sqlite/EFCore.Sqlite.csproj Switches shipped EFCore.Sqlite to SQLite3MC bundle.
Microsoft.Data.Sqlite.slnf Updates solution filter to remove deprecated projects and include sqlite3mc tests.
eng/Versions.props Bumps SQLitePCLRaw to 3.0.3 and introduces SQLite3MC bundle version property.
EFCore.sln Removes deprecated test projects and adds sqlite3mc tests to the main solution.
Directory.Packages.props Adds centralized SQLite3MC bundle version and removes deprecated bundle version entry.

@ViveliDuCh ViveliDuCh removed request for a team and wtgodbe July 1, 2026 01:10
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.

2 participants