Releases: mbdavid/LiteDB
Releases · mbdavid/LiteDB
v4.0 release
LiteDB v4 released
New Features
- Add support to NETStandard 2.0 (with support to
Shared
mode) - New document
Expression
parser/executor - see Expression Wiki - Support index creation with expressions
col.EnsureIndex(x => x.Name, "LOWER($.Name)");
col.EnsureIndex("GrandTotal", "SUM($.Items[*].Qtd * $.Items[*].Price)");
- Query with
Include
it´s supported in Engine level with ANY nested includes
col.Include(x => x.Users)
.Include(x => x.Users[0].Address)
.Include(x => x.Users[0].Address.City)
.Find(...)
- Support complex Linq queries using
LinqQuery
compiler (works as linq to object)col.Find(x => x.Name == "John" && x.Items.Length.ToString().EndsWith == "0")
- Better execution plan (with debug info) in multi query statements
- No more external journal file - use same datafile to store temporary data
- Fixed concurrency problems (keeps thread/process safe)
- Convert
Query.And
toQuery.Between
when possible - Add support to
Query.Between
open/close interval - Same datafile from LiteDB
v3
(no upgrade needed)
Shell
- New UPDATE/SELECT statements in shell
- Shell commands parser/executor are back into LiteDB.dll
- Better shell error messages in parser with position in error
- Print query execution plan in debug
(Seek([Age] > 10) and Filter([Name] startsWith "John"))
(preparing to new visual LiteDB database management tool)
Break changes
- Remove transactions
- Remove auto-id register function for custom type
- Remove index definitions on mapper (fluent/attribute)
- Remove auto create index on query execution. If the index is not found do full scan search (use
EnsureIndex
on initialize database)
v4.0.0-beta2
- Add
KEYS
,MOD
expression function - Add support for
(
and)
inside expressions - Improve expression reader/parser
- Bugfix: return
_id
when insert - Minor bugfixes
v4 Beta release
Break changes
- Remove transactions
- Remove auto-id register function for custom type
- Remove index definitions on mapper (fluent/attribute)
- Remove auto create index on query execution. If the index is not found do full scan search (use
EnsureIndex
on initialize database)
New Features
- New Expressions/Path
- New shell command: UPDATE fields only
- New shell command: SELECT with transform
- Remove physical journal file (store journal pages after file ends)
- Add auto-id in engine level with pre-defined common types
- Add collection sequence (
ulong
) to use in engine level auto-id - Auto-id default true to
_id
withBsonType
=ObjectId
,Guid
,DateTime
,Int32
orInt64
- Add include in engine/document level with any level
- Compiled in NET35 for Unity3D support, NET40 and NETSTANDARD 1.3
- Implement FilterDocument option in all query implementations (full scan document)
- In
Query.And
use only one index side with full scan on other - Print query execution plan in Query.ToString()
(Seek([Age] > 10) and Filter([Name] startsWith "John"))
- Convert
Query.And
toQuery.Between
when possible - Add support to
Query.Between
open/close interval - QueryLinq for non resolved linq expression on visitor
col.Find(x => x.Id < 10 && x.Name.Length > 10)
- Support index creation with expressions
- Support expression on full searchs
- Better shell error messages in parser with position in error
- Fix simple lock control (multi-read/single write) in thread/process. Removed reserved lock state
- Upgrade to VS2017
Bugfixes
- Upload from local disk on storage
- DateTime.Now indexed date (milliseconds problem)
- When query using > or < must use same BsonType (do not returns
null
values) - Remove return Duplicate values in MultiKey indexes
v.3.1.4
v3.1.3
v3.1.2
v3.1.1
v3.1.0
Added
- New
LiteRepository
to access data - Support NonPublic members to netstandard
- Support sync over async in UWP app (to access any directory)
- Static method do create empty datafile
LiteEngine.CreateDatabase
- Named convetion for collection names when null are used (default
typeof(T).Name
)
Changes
- Better way to get id field (preserve precedence order:
BsonId
,Id
or<ClassName>Id
) - Better message to wrong file detection
- Bugfix in recovery lock
- Bugfix that datafile keep opened when an exception occurs during initialize
v3.0.1
Bugfix
- Upgrade from v2
Changes
- Shell now are disconected (each command connect, execute, finalize)
- Do not support transaction in FileStoage Read/Write operations
- Better delete operation in FileStorage #483
- Support build connection string object and pass to LiteDatabase.Ctor
- Better invalid datafile exception message
v3.0.0
New LiteDB v3 release
- Thread safe AND process safe (support single or multiple instances)
- Multikey index (support array index values)
- Faster than ever - compare with SQLite here
- BsonDocument implements IDictionary, BsonArray implements IList
- New: Upsert, FindIndex, Query.Not(Query), Query.Where(Func<>)
- New BsonMapper class: support Fields and NonPublic members
- Added new
LiteEngine
class to access data - LiteStorage now supports
OpenWrite() Stream
- Update your datafile from
v2
using;upgrade=true
in connection string - LiteDB support .NET 3.5 and NETStandard 1.4 (Supports UWP, Xamarin, Core, Mono)