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.
Behaviour changes
-
Hasura doesn't allow certain queries to be cached. Namely, remote schema or action queries with
forward_client_headers
set totrue
.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 asbulk
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
istrue
) 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