- GROQ: the syntax
someArray == someValue was accidentally supported, even though it is semantically invalid. This has now been fixed, and support for this syntax has been removed. Use
someValue in someArray instead.
- Documents can now contain attributes with
- GROQ supports JSON escape sequences in strings (including Unicode sequences).
- Listeners can now specify
includeMutations=false to exclude mutation data (e.g. patches) in events.
- GROQ: result windows beyond 100 documents no longer have duplicates or missing documents.
- GROQ: results beyond 1000 now return the correct number of results. Before, e.g.
*[1500...1600] returned 1600 documents.
- GROQ: Arrays can now be used in filters, e.g.
*["Oxygen" in constituents.element].title.
- GROQ: fractional numbers in queries are now correctly parsed as 64-bit floats (as in documents), not 32-bit floats. This enables comparisons such as
*[ pi == 3.14 ].
- GROQ: the
match operator now supports using attributes on the right-hand side, e.g.
*[body match title].
- GROQ: the
|| operator will now correctly return
false instead of
null with certain operands.
- JSONPath: mutations no longer crash on comparisons with attributes on the right-hand side, e.g.
products[?(newPrice != missing)].
- GROQ: significant performance improvements when querying large, nested documents.