What litedb-org/LiteDB shipped
Generated by FoxPlug from public activity — not affiliated with Litedb.
Week of September 14, 2026
What shipped
- Borrowed BSON execution and late materialization reduces allocations by deferring document materialization until after residual filters reject candidates. Pull request #2910
- Shared query IR with optimizations for both LINQ and SQL execution paths, building on audited prior work. Pull request #2944
- One BsonMapper per database context prevents unrelated databases from sharing mutable mapper state. Pull request #2949
- 28 bugfixes covering BSON conversion, JSON handling, mapper dispatch, query projection, and index operations. Pull request #2916
- 47 additional bugfixes addressing query binding, LINQ translation, dictionary mapping, string comparison, and scan behavior. Pull request #2917
- 14 independent storage and transaction bugfixes including durable WAL commits, encryption rebuild, and validation before tail repair. Pull request #2918
- Dropping secondary indexes now properly reclaims pages back to free-page lists. Pull request #2955
- Deleted pages persisted before commit now correctly link their tail to the prior head during transaction safepoints. Pull request #2956
- Scalar range comparisons now honor the active execution collation. Pull request #2943
- Guid and ObjectId serialization now uses spans to eliminate per-call allocations. Pull request #2697
Why it matters
This week shipped major correctness fixes from a comprehensive fuzzing and audit effort, including storage integrity repairs, transaction safety improvements, and memory allocation reductions. The work addresses fundamental issues in query execution, mapper isolation, and page management that affect reliability across the database.
Changelog entry
- Query: Borrowed BSON execution with late materialization reduces allocations for residual filters Pull request #2910
- API: LiteDatabase now uses one BsonMapper per context instead of shared global instance Pull request #2949
- Storage: Dropping secondary indexes now reclaims pages to free-page lists Pull request #2955
- Storage: Deleted pages persisted before commit now correctly link to prior head Pull request #2956
- Query: Unified query IR for optimized LINQ and SQL execution Pull request #2944
- Query: Scalar range comparisons honor execution collation Pull request #2943
- Fix: 28 BSON, JSON, mapper, projection, and index handling issues Pull request #2916
- Fix: 47 query binding, LINQ translation, and scan behavior issues Pull request #2917
- Fix: 14 storage and transaction bugfixes including durable WAL and encryption Pull request #2918
- Perf: Guid and ObjectId serialization now uses spans, eliminating per-call allocations Pull request #2697
- Docs: Corrected root BSON size limit documentation and explained embedded document counting Pull request #2911
- Fix: SQL REBUILD without options no longer throws NullReferenceException Pull request #2915
- API: BsonValue.AsArray and AsDocument now support CLR array, list, and dictionary inputs Pull request #2755
- Perf: ObjectId hex formatting optimized with stack-allocated buffers Pull request #2698
- CI: Added test coverage for legacy .NET Framework targets (net462, net481) Pull request #2903
LiteDB this week: fixed storage integrity bugs from fuzzing, optimized query execution with late materialization, isolated database mapper instances, and reduced allocations in serialization.
LiteDB development this week focused on correctness and performance fundamentals. Storage integrity repairs fix page reclamation and transaction safety bugs uncovered by fuzzing. Query execution now defers document materialization until after filtering, reducing allocations. Database instances now maintain isolated mapper state instead of sharing mutable global state. Serialization paths for GUIDs and ObjectIds now use stack-allocated spans. The changes span 28 safe fixes, 47 additional fixes, and 14 independent storage/transaction bugfixes.