github hasura/graphql-engine v2.24.0

latest releases: v2.44.0, cli/v2.44.0, cli/v2.36.5-3...
18 months ago

Changelog

Highlights

CockroachDB support is now GA 🎉

We are delighted to announce that CockroachDB support is now out of beta and generally available to all Hasura users. See docs.

MySQL, MariaDB and Oracle data connectors are now in Beta (Cloud / Enterprise edition only)

We are delighted to announce that our MySQL, MariaDB and Oracle data connectors are now in beta. These data connectors support queries, mutations (INSERT, UPDATE, DELETE), table relationships, remote relationships and permissions.

Query Cache configuration options (Enterprise edition only)

The following new engine flag / environment variable options are added for configuring query cache behaviour:

Env var Flag Description
HASURA_QUERY_CACHE_MAX_TTL --query-cache-max-ttl Maximum Query Cache TTL value in seconds. Default: 600 seconds
HASURA_GRAPHQL_CACHE_BUCKET_RATE --query-cache-bucket-rate Recharge rate for the Query Response Cache token bucket. Default: 100,000 bytes/second
HASURA_GRAPHQL_CACHE_MAX_ENTRY_SIZE --query-cache-max-entry-size Maximum cache entry size in MB, default: 1 MB

Single Sign-On support for the Console (Enterprise edition only)

Adds more secure auth options to the Console beside the Admin secret and Hasura collaborator tokens. You can connect any Identity provider which supports OAuth 2.0 / OpenID Connect with the auth code flow. For more information on how to set this up, please see our docs.

hasura-sso-720p

Behaviour changes

  • Hasura doesn't allow certain queries to be cached. Namely, remote schema or action queries with forward_client_headers set to true.

    Currently, Hasura throws an error and fails the query. The behavior is now changed to not throw an error. Hasura now always fetches data from the upstream API, skips the cache, and returns the response with a Warning header.

    The warning headers are as follows:

    warning: 199 - Actions that forward client headers cannot currently be cached
    
    warning: 199 - Remote schemas or joins that forward client headers cannot currently be cached
    

    Note that Remote Schemas with forward_client_headers: true were erroneously allowed to cache before.

    (Cloud / Enterprise edition only)

Bug fixes and improvements

Server

  • A new metadata API bulk_keep_going is added. This has exactly the same interface as bulk when all commands succeed, but instead of returning the first error when any command fails, errors will be returned in the list of responses just as successes are. This command also always returns a 200 response code, regardless of how many commands succeed or fail.
  • Allow an unauthenticated user to query a remote schema to remote schema relationship when remote schema permissions are disabled (ie. HASURA_GRAPHQL_ENABLE_REMOTE_SCHEMA_PERMISSIONS=false)
  • Add code field in metadata API warnings.
  • Disallow remote schema root fields (where forward_client_headers is true) from being cached. (Cloud / Enterprise edition only)
  • Expose the hasura_active_multiplexed_subscriptions metric for better observability in the subscriptions subsystem. (Cloud / Enterprise edition only)
  • For Athena, Snowflake, MariaDB, MySQL and Oracle data sources, tables added to the database after Hasura has started will now be visible in the console so that you can track them. Changes to tracked tables will be visible in the console and in the GraphQL API when you refresh the Hasura metadata or individual database source. (Cloud / Enterprise edition only)
  • Fix bug where cache key headers were sent in the response even when the response was not cached. Now, we only send back the warning header which specifies the cache specific warning with code. (Cloud / Enterprise edition only)

Console

  • Add connection template validation for dynamic database connection routing. (Cloud / Enterprise edition only)
  • Fix an issue with table names for Athena, Snowflake and MySQL being rendered as undefined in the metadata status page. (Cloud / Enterprise edition only)

Data Connectors

  • For MySQL, MariaDB and Oracle data sources, mutations are no longer incorrectly created for views. In addition, primary key columns are now updatable. (Cloud / Enterprise edition only)
  • Snowflake numeric columns with a zero scale will now be correctly typed as integers in GraphQL instead of floats. (Cloud / Enterprise edition only)

Build

  • Updates ubuntu focal base image to get the latest security updates

Don't miss a new graphql-engine release

NewReleases is sending notifications on new releases.