Backend update Dec 346th 2018

Semijoins and antijoins, GROQ reference documentation, and more

Data Store

GROQ now properly supports semijoins and antijoins, i.e. using -> and ^ in filters, such as in the following queries:

// Fetch employees in the engineering department
*[ _type == "employee" && department->name == "Engineering" ]

// Fetch departments with no employees
*[ _type == "department" && count(
  *[ _type == "employee" && department._ref == ^._id ]
) == 0 ]

We have also published complete reference documentation for GROQ.

Enterprise customers are now hosted on a separate, larger search cluster, and have increased attribute limits. SLA agreements now also determine automatic recovery priority in case of outages, as well as the data replication factor across data centers.

Recent bugfixes include:

  • Filters following projections were not always applied correctly when dependent on values generated by the projection.
  • _type attributes were not validated properly.
  • order() with multiple desc expressions did not sort correctly in certain rare cases.
  • Applying defined() and + directly on join results, e.g. defined(ref->), now works properly.

Asset CDN

The asset CDN now supports caching of non-image files above 10 MB (up to 5 TB), as well as byte range requests for cached files.