Skip to content

v2.14.0-beta.1

Pre-release
Pre-release

Choose a tag to compare

@imperfect-fourth imperfect-fourth released this 12 Oct 12:49
· 4691 commits to master since this release

Changelog

Highlights

Aggregate functions in where-clauses

We now support aggregation functions in where-clauses, initially requested in #1498, see docs.

This allow queries such as the following to fetch the names of students that have an average grade above a certain value across their science classes:

query {
  students(_where: {
   classes_aggregate: {
     average: {
       arguments: "grade",
       filter: {department: {_eq: "science"}},
       predicate: { _gt: 10 }
     }
  })
 {
   name
 }

GraphQL Type Generator in Actions

While creating a new Action, now you can use a type generator on the Console to easily create GraphQL types from JSON sample requests

image

Bug fixes and improvements

  • server: When conflicting type definitions are encountered, show their definitions in the error message
  • server: Remove spaces before colons in error messages and descriptions
  • server: Strings in suitable notation are now permitted for all numerical input fields.
  • server: Fix type name generation in the GraphQL schema for aggregation predicate functions to avoid conflicts
  • server: Fix swapping of the the idle_timeout and max_connections fields for MySQL connection pool settings while applying metadata.
  • server: Replacing the metadata will now reload all affected sources. Previously, the GraphQL Engine would re-use the cached data from the sources which could lead to a stale schema.
  • server: Add origin of errors in error messages of streaming subscription to help find source of errors
  • server: Add hide_update_many_fields experiment feature flag which allows GraphQL Engine to be started without including _updates fields. This is useful for resolving errors where the new fields conflict with existing table names. (fix #8844)
  • server: Avoid exporting the backend_only flag for delete permissions if it is set to false while exporting metadata to make it consistent with insert and update permissions.
  • server: Support count-star aggregates in CockroachDB.
  • server: Fix bug that didn't stream any data when the cursor column of a streaming subscription had a custom identifier set. (fix 8985)
  • console: Add the functionality to customize the GraphQL field name for the update_many operation
  • console: Fix dropping of existing configured response transforms while updating an action
  • console: Show event trigger invocation logs on the console if only event logs are cleaned.
  • console: Move auto-cleanup config on event triggers modify page
  • console: Fix local object relationship deletion in new relationships page (fix #9024)
  • console: Fix inserting of JSON object for Citus and CockroachDB (fix #9015)
  • console: Fix browse rows page filters for BigQuery and add new operators (in, not in, like, not like) (fix #9023)
  • console: Add Try it button on the table pages to quickly try GraphQL operations on the table using the API explorer.
  • console: Fix export to CSV on the table browse rows page when special characters are present in the data. (fix #7537)
  • cli: Correctly export query_collections.yaml when query_collections object in metadata JSON contains at least one definition.queries as an empty array. (fixes #8787)