Releases: MPCoreDeveloper/SharpCoreDB
Release list
V1.9.8.0
V1.9.7
ƒÉø Bug Fixes
WHERE IN (...) regression fully resolved (#340)
The IN/NOT IN predicate silently produced wrong results in the forms that matter for real applications. Root cause: the shared SqlInPredicate split value lists naively on commas (no VALUES, tuple rows, or multi-value parameter support) and the single-file evaluator collapsed OR chains into a single bogus comparison.
IN/NOT INlists are now parsed with top-level-comma awareness (respects parentheses and strings), strips SQLiteVALUES, and supports tuple-column / tuple-row forms(a, b) IN (VALUES ()) used by both single-file and directory scan paths.SingleFileTable.EvaluateConditionnow splits on top-levelORandAND.- Regression coverage reproduces the reporter's exact
SharpCoreDBConnection+.scdbprobe.
Single-file (.scdb) encryption actually encrypts (#341)
SingleFileStorageProvider accepted DatabaseOptions.EncryptionKey but never applied a cipher ÔÇö every block was written in plaintext and any key opened the file.
- AES-256-GCM at rest for every block (table rows, table directory, column/index definitions) written through
WriteBlockAsync;ReadBlockAsync/GetReadStream/GetReadSpandecrypt. The embedded WAL region receives ciphertext too. - Wrong keys now fail (GCM authentication error or empty schema).
ValidateHeaderenforces encryption-mode consistency on reopen;UpdateBlockAsync/GetWriteStream(positional delta writes, incompatible with GCM) throw when encrypted.- The file header, block registry and free-space map remain plaintext metadata by design; encrypting those regions is on the v2.0 roadmap.
ExecuteNonQuery returns real affected-row counts
Both the ADO.NET provider and the EF Core provider now return the actual rows changed (DELETE 2 rows  2) via the new IDatabase.GetLastChanges() (SQLite changes() parity), instead of hardcoded -1/1.
EF Core provider no longer writes debug log files
Removed per-command D:\*.log writes (ef_commands, ef_dml, ef_deep_dml, query_results, ef_reader_async, ef_nonquery) from SharpCoreDBCommand.
 Validation
- SharpCoreDB.Tests: 1,529/1,529 passing
- SharpCoreDB.EntityFrameworkCore.Tests: 114/114 passing
ƒö« What's Next
- v2.0 is in active development (
release/v2.0.0.0): storage-engine rewrite with record growth/relocation and faster UPDATE/DELETE paths, plus block-registry / on-disk metadata encryption (both fixes carried forward).
🙏 Acknowledgments
- @saltus7 — independently root-caused issue #341 (single-file
.scdbencryption bypass) and submitted a complete proposed fix in PR #342 before v1.9.7 shipped. The released implementation follows the integration points they identified. Credit is recorded in CONTRIBUTORS.md, the changelog, and commit7783eb08(Co-authored-by). - @YBazanPro — detailed 1.9.6
WHERE INregression probe (issue #340); the probe's exactSharpCoreDBConnection+.scdbscenario became permanent regression coverage.
Thank you both — your reports made this release better. 🙏
V1.9.5
Version V1.9.3 state Same as Nuget V1.9.3
What's Changed
extra package
New optional package :
SharpCoreDB.Functional.Linq2DB
dotnet add package SharpCoreDB.Functional.Linq2DB --version 1.9.3
- Bump actions/checkout from 4 to 7 by @dependabot[bot] in #275
- Bump advanced-security/component-detection-dependency-submission-action from 0.1.3 to 0.1.4 by @dependabot[bot] in #289
- Bump actions/setup-python from 5 to 7 by @dependabot[bot] in #302
- Bump actions/setup-dotnet from 4 to 6 by @dependabot[bot] in #303
Full Changelog: V1.8.0.0...V1.9.3
V1.8.0
Full Changelog: V1.7.2.0...V1.8.0.0
V1.7.2
What's Changed
- deps: Bump Microsoft.Extensions.Logging.Abstractions from 8.0.0 to 10.0.7 by @dependabot[bot] in #223
- deps: Bump AWSSDK.Core from 4.0.4 to 4.0.5 by @dependabot[bot] in #224
Full Changelog: V1.7.1.0...V1.7.2.0
V1.7.1
Full Changelog: V1.7.0.0...V1.7.1.0
V1.7.0
What's Changed
- deps: Bump Microsoft.Data.Sqlite and 2 others by @dependabot[bot] in #107
- deps: Bump Microsoft.Extensions.DependencyInjection.Abstractions from 8.0.0 to 10.0.5 by @dependabot[bot] in #96
- chore(deps): bump codecov/codecov-action from 4 to 6 by @dependabot[bot] in #106
New Contributors
- @dependabot[bot] made their first contribution in #107
Full Changelog: V1.6.0.0...V1.7.0.0
V1.6.0
Full Changelog: V1.5.0.0...V1.6.0.0
V1.5.0
Full Changelog: V1.4.1.0...V1.5.0.0