Datastore 2.x releases

2.7.0 release notes

Released: 12th of July, 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 the blueprint cannot be found.

  • 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, as well as 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.

  • Properties of documents across a collection and their collection aliases can now be used to sort, filter or aggregate their documents within the collection and its collection aliases, regardless of whether the properties are defined in the blueprint through the collection or collection alias path.

2.6.0 release notes

Released: 2nd of June, 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 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: 22nd of March, 2021

Updates:

  • Security scanning and reporting has been improved.

2.4.0 release notes

Released: 10th of March, 2021

Updates:

  • Performance has been improved.

2.3.0 release notes

Released: 8th of February, 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: 12th of January, 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: 26th of August, 2020

Updates:

  • The Datastore simulator now supports:

    • The .yml extension for YAML files.

    • Spaces in filepath and filename for blueprints.

  • 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: 26th of August, 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: 7th of August, 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 which are not contained within the schema, now trigger a validation error.

© 2015- Squiz Pty Ltd