Skip to content

Releases: mbdavid/LiteDB

v5-rc

19 Jan 12:22
Compare
Choose a tag to compare
v5-rc Pre-release
Pre-release

New

  • Collation: define culture and sort comparer options to your database
  • Shrink was renamed to Rebuild with change password/change collation option
  • Move some engine options to Pragmas
  • Rename ConnectionMode.Embedded to ConnectionType.Direct
  • Adding EnsureIndex method in Repository pattern
  • Support JsonEx syntax for special data types in BsonExpression parser
  • Create $page_list and $dump(pageID) system collections
  • Do not allow current document in aggregation expressions
  • Lot of bugfixes

BREAKING: Datafiles created with v5-alpha/beta are not compatible with this version. You must re-create your datafile using v5-rc

v5-beta

29 Oct 19:08
Compare
Choose a tag to compare
v5-beta Pre-release
Pre-release

New

  • Be compatible with NETStandard 1.3
  • Add back UserVersion for LiteEngine and LiteDatabase
  • Support for ISet<T>
  • Implement EnumAsInteger in BsonMapper for better LINQ support
  • Shell tool in netcore3.0
  • Upgrade to VS2019

v5-alpha2

24 Sep 21:26
Compare
Choose a tag to compare
v5-alpha2 Pre-release
Pre-release

New

  • Removed LiteDB.Studio (moved to another repo)
  • Added back LiteDB.Shell (netcore tool) for SQL commands
  • Implement Shrink
  • Create MAP and FILTER expression methods:
    • MAP(children => age)
    • FILTER(items => price > 100)
  • Add expression methods: REMOVE_KEYS, OID_CREATIONDATE, TO_LOCAL, TO_UTC, DISTINCT, UNION, EXCEPT, TOP
  • Added support for custom ctor in classes to BsonDocument mapper
    • public People(string name) { this.Name = name; }
  • Remove LINQ GroupBy<T, K> (must use BsonExpression)
  • Added transaction monitor to manage how memory LiteDB pages will use in transactions
  • Implement first SharedConnection to keep database closed after each command (can be used for multiple processes in same machine)
  • BugFixes (see commit log)

v5-alpha

04 Aug 23:59
Compare
Choose a tag to compare
v5-alpha Pre-release
Pre-release

Here is the new alpha version of LiteDB v5. It's an alpha version, so that means it's not ready for production yet! The API may change and data format can also change before final release. But we would be very pleased if you could test the new version and give feedback or report any issues that you stumble upon.

New major version

  • Complete new engine - WAL (Write Ahead Log)
  • MultiVersion Concurrency Control (Snapshots & Checkpoint)
  • Full transaction support
  • Support for multiple readers without locking
  • Write lock on collection-level instead of database-level
  • Doubled the amount of indexes per collection, now up to 32 indexes per collection
  • New FileStorage with custom Id type
  • New BsonExpressions: transform, filter, map, reduce, ..
  • New Query Pipe inside engine
  • Simple upgrade of existing LiteDB v4 databases (use upgrade=true in connection string)
  • New Linq visitor (with support for more expressions)
  • New fluent Query
  • And more than one year of hard working!!

SQL Support

  • New SQL language support - very similar to ANSI SQL
  • Select, Insert, Update, Delete, Create Index, Drop Index, Drop Collection, Explain
  • Support for GroupBy, Having, Limit, Offset, OrderBy, Includes, ...
  • System collections (get information about the database)
  • Support to system function (import/export CSV/JSON)

LiteDB Studio

  • New GUI for Windows
  • Multi tab, multi thread, multi transactions
  • Interact with your database and collections using SQL statements

Know issues

  • Missing Shrink method and UserVersion property
  • Curretly not completely compatible with LinqKit PredicateBuilder
  • Only single process for now (with multi thread support) - no multi process yet

v4.1.4

20 Jun 12:23
Compare
Choose a tag to compare
  • Fix IncludeAll missing method

v4.1.3

28 May 23:35
Compare
Choose a tag to compare
  • Added IncludeAll method
  • Added LENGTH method expression

v3.1.5

17 Mar 12:23
Compare
Choose a tag to compare

Bugfix

  • Index DateTime will use LocalTime #921

v4.1.2

11 Mar 23:43
Compare
Choose a tag to compare

Bugfix

  • Fix DateTime UTC in index Min/Max
  • Initial size with encryption #929
  • Better message when using OSX about file lock
  • Remove System.Threading reference for netstandard
  • Fix collection sequence in shrink #899
  • Fix shrink lock page #892
  • Fix NextIndex dictionary

New

  • Add "flush" option in connection string (support direct in disk flush after write operation)

v4.1.1

08 Jan 07:36
Compare
Choose a tag to compare

New

  • New expression ITEMS method (convert array into IEnumerable)
  • New expression ALL method (return true only if all conditions are true) - ALL($.Items[*].Price > 0) = true

Bugfix

  • BSON deserialization bug on hi concurrency access
  • Performance issue about flush on HDD disk #836
  • Remove missing reference in Include #831

v4.1.0

17 Dec 12:39
Compare
Choose a tag to compare

News 4.1

  • Add UTC deserialization support (use utc=true on connection string)
  • New FindSort operation with paging (experimental)
  • New TempDiskService for temporary database
  • New shell detail help help <command>
  • Bugfix initial data-size
  • Bugfix logger ctor #776 @parabola949
  • Expressions:
    • Add support to Document syntax: new BsonExpression("{_id: 1, name: 'John'}")
    • Add support to Array syntax: new BsonExpression("[1, 'two', false]")
    • Add document function: EXTEND()
    • Add cast functions: INT(), DOUBLE(), STRING(), DATE() ...
    • Add date functions: DATEADD(), DATEDIFF(), YEAR(), MONTH(), DAY()