Datastore 2.x releases

2.8.0 release notes

Released: August 23, 2021

Updates:

  • Simulator and production Datastore can now define data segments.

Changes:

  • Security improvements

2.7.0 release notes

Released: July 12, 2021

Updates:

  • Pagination requests sent as direct HTTP requests to your data service’s API now encode special URL characters (according to RFC 3986 URI standards) within pagination links when the property page[v]=2 is submitted as part of the request’s query string.

Changes:

  • The simulator now returns an x-datastore-debug-error response header when it cannot find the blueprint.

  • Pagination links on collection aliases now return the collection alias path for the next and previous pages.

    Collection aliases are alternative collection paths (defined in the blueprint’s API specification file) that provide access to a common set of documents within a collection. This feature allows this common set of documents to be accessed through both its primary collection path and their alternative collection paths (and hence, 'collection aliases') in HTTP requests.

    Collection aliases allow custom access control (ACL) rules to be implemented across each one, thereby allowing a common set of documents to be accessible through their own ACL rules, governed by the ACLs defined within each collection alias.

  • You can now use properties of documents across a collection (and their collection aliases) to sort, filter, or aggregate their documents within the collection and its collection aliases. You can do this without having to specify properties in the blueprint through the collection or alias path.

2.6.0 release notes

Released: June 2, 2021

Updates:

  • The simulator now returns an x-datastore-upgrade response header when an upgrade is available.

Changes:

  • A blueprint’s API endpoints:

    • Returns a 400 response header on an invalid filter and invalid pagination queries.

    • Now support filtering by an empty string.

  • An error is thrown when blueprint property IDs with a space in their name are detected.

  • The validation of blueprints' collection aliases has been improved.

  • Additional security improvements have been implemented.

2.5.0 release notes

Released: March 22, 2021

Updates:

  • Security scanning and reporting have been improved.

2.4.0 release notes

Released: March 10, 2021

Updates:

  • Performance has been improved.

2.3.0 release notes

Released: February 8, 2021

Updates:

  • The JavaScript SDK provides improved filtering capabilities to support array properties.

JS SDK Array filtering examples

Student document course array contains ALL given course(s):

datastore.collection('students')
.where('courses', 'contains', 'course-a').get();

datastore.collection('students')
.where('courses', 'contains', ['course-a']).get();

datastore.collection('students')
.where('courses', 'contains', ['course-a','course-b']).get();

Student document course array DOES NOT contain ALL given course(s):

datastore.collection('students')
.where('courses', 'not-contains', 'course-a').get();

datastore.collection('students')
.where('courses', 'not-contains', ['course-a']).get();

datastore.collection('students')
.where('courses', 'not-contains', ['course-a','course-b']).get();

Student document course array contains ANY of the given course(s):

datastore.collection('students')
.where('courses', 'contains-any', 'course-a').get();

datastore.collection('students')
.where('courses', 'contains-any', ['course-a']).get();

datastore.collection('students')
.where('courses', 'contains-any', ['course-a','course-b']).get();

Student document course array DOES NOT contain ANY given course(s):

datastore.collection('students')
.where('courses', 'not-contains-any', 'course-a').get();

datastore.collection('students')
.where('courses', 'not-contains-any', ['course-a']).get();

datastore.collection('students')
.where('courses', 'not-contains-any', ['course-a','course-b']).get();

Learn more about all these changes covered in the where method of the Datastore JavaScript SDK reference guide.

2.2.2 release notes

Released: January 12, 2021

Updates:

  • The API provides improved error feedback for invalid JSON provided in the body of requests.

  • Regular expression support in the JavaScript SDK has been fixed to escape control characters to support short filter query syntax.

2.2.0 release notes

Released: August 26, 2020

Updates:

  • The Datastore simulator now supports:

    • The .yml extension for YAML files.

    • Spaces in blueprint file paths and file names.

  • The simluator’s:

    • list and upgrade CLI commands now show Datastore’s version number instead of "Unknown".

    • Filtering on number properties for whole numbers has been fixed.

  • The API now supports:

    • Shorter filter query strings: document.prop=value1,value2;value3.

    • User-defined bracketing of filter queries.

  • Fixed Datastore’s ability to store strings longer than 2000 characters.

2.1.1 release notes

Released: August 26, 2020

Updates:

  • Health checking has been improved.

  • URL paths containing initial double-underscores (__) are now banned.

Changes:

  • Product delivery has been improved.

2.1.0 release notes

Released: August 7, 2020

Updates:

  • The former extension directive x-dds-…​ (subsequently updated to x-datastore-…​) is no longer supported. Any blueprints that still use the x-dds-…​ extension directives must be updated to x-datastore-…​ to continue working with Datastore.

  • PUT requests no longer remove values for properties not contained within the request.

  • Properties sent in a writing type request not contained within the schema now trigger a validation error.

© 2015- Squiz Pty Ltd