Skip to content

Releases: mbdavid/LiteDB

v4.0 release

18 Oct 17:09
Compare
Choose a tag to compare

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 to Query.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

02 Oct 12:06
Compare
Choose a tag to compare
v4.0.0-beta2 Pre-release
Pre-release
  • 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

28 Aug 00:31
Compare
Choose a tag to compare
v4 Beta release Pre-release
Pre-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 with BsonType = ObjectId, Guid, DateTime, Int32 or Int64
  • 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 to Query.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

16 Aug 23:30
Compare
Choose a tag to compare

Fixes

  • Sign dll to use in GAC
  • Fix decimal index #693

v3.1.3

13 Aug 14:13
Compare
Choose a tag to compare

Bugfix

  • Fix .csproj to compile .NET 4.x to .NET 3.5

v3.1.2

04 Aug 10:51
Compare
Choose a tag to compare

Bugfix

  • Nuget/Assembly version fixed to 3.1.2

  • Upgrade to VS2017

v3.1.1

08 Jun 09:07
Compare
Choose a tag to compare

Bugfix

  • Flush journal file #582
  • Implemented BsonDocument#Copy #577
  • Fix data pagesize #533
  • Fix shrink large database

New

  • Insert bulk method with batch size

v3.1.0

11 Mar 22:06
Compare
Choose a tag to compare

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

15 Feb 10:12
Compare
Choose a tag to compare

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

28 Jan 18:04
Compare
Choose a tag to compare

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)