Oct 4th 2018
GROQ now supports standard arithmetic operators:
** (exponentiation), and
% (modulo). Additionally,
+ can be used to concatenate strings, arrays, and objects. Note that usage of arithmetic operators in filters has not yet been optimized, so we recommend only using them in projections unless the dataset is very small. We also added the
round() function to round numbers.
Query performance with large documents has been improved significantly for simple queries without joins. We have also introduced some technical limits to ensure fair and reliable operation for all users (see separate page for details), and made several reliability improvements under the hood.
Fixed bugs include:
!operator now has higher precedence than the
!a == bis parsed as
(!a) == brather than
!(a == b).
<) with attributes on the right-hand side now work properly.
500error codes now properly return
The cache time for our API CDN has been increased from 15 seconds to 1 hour. All cached entries for a dataset are automatically invalidated whenever there is a write to a non-draft document in the dataset, but invalidation can take up to 30 seconds to propagate completely.
We also introduced API CDN nodes in Singapore, and added serving of stale objects while fetching updated objects in the background to improve client response times during invalidation.