- FIXED: Update functionality when objects has collections with nested collections
- FIXED: Duplicate collection data to JSON on save when configured case was not used with collection name
- FIXED: Duplicate single item data to JSON on save when configured case was not used with item name
- FIXED: Ignore OperationCanceledException during dispose
- FIXED: Initial encrypted file creation if file doesn't exist
- ADDED: Output of the file can be minified
- FIXED: Always minify output when encryption is used
- ADDED: Optional encryption for JSON-file content
- FIXED: Update of typed arrays
- FIXED: Update of dynamic arrays in dynamic objects
- FIXED: Updates and full text search for objects with null collections
- FIXED: GetKeys when collection is empty
- FIXED: Single item sync methods to use non-async commit
- ADDED: DocumentCollection Update, Replace and Delete-methods with id-value parameter
- FIXED: Single item dynamic converter. Returns lists correctly, regional fixes for dates and number types.
- FIXED: Copy values inside collection of strings correctly
- CHANGED: On add, if collection is empty and item's id is set, that id value is used instead of generated one
- CHANGED: On update, case of the first character of property's name is insensitive. E.g. Name can be updated with Name or name.
- CHANGED: GetItem to return null for not found nullable type
- FIXED: Add id-value correctly for fields with string type when collection is empty
- CHANGED: Target to netstandard 2.0
- ADDED: Support for single items
- ADDED: GetKeys method, removed old ListCollections method
- CHANGED: ObjectExtensions to internal class
- DataStore to implement IDisposable
- Include missing xml documentation file
- Fix for Insert-methods when using an anonymous type without id
- Fix for DataStore IsUpdating
- Make DocumentCollection Thread-Safe
- Full-text search
- Fix for ReplaceOne Upsert with dynamic items and null values
- Fix for ReplaceOne Upsert with dynamic items and inner Expandos or Dictionaries
- Upsert option for IDocumentCollection ReplaceOne-methods
- Fix for Update when object has null values
- Include xml documentation file and fix IDataStore method summaries
- Optional JSON Reload functionality to DataStore
- IDocumentCollection Insert-methods automatically add correct value to id-field
- IDocumentCollection Update-methods support JSON object and Dictionary as update object
- DataStore will commit only changed item(s) to the JSON file
- DataStore will save changes in batches
- InsertMany, UpdateMany and ReplaceMany methods to IDocumentCollection
- Handle dictionaries in IDocumentCollection UpdateOne
- Interface for DataStore
- Fix for IDocumentCollection UpdateOne when handling different list types
- Fix for IDocumentCollection UpdateOne with patch data that contais inner ExpandoObjects
- Use ExpandoObject as a source on IDocumentCollection UpdateOne
- IDocumentCollection methods will return true if operation is succesful
- Fix for UpdateOneAsync
- Fix for GetNextIdValue when collection is empty
- AsQueryable, Find, GetNextIdValue, InsertOne, ReplaceOne, UpdateOne, DeleteOne, DeleteMany
- Synchronous and asynchronous methods
- Handle dynamic and typed collections
- Handle different camel cases
- Write data to JSON on background thread