Skip to content

v2.22.0

Compare
Choose a tag to compare
@hasura-bot hasura-bot released this 29 Mar 14:16
· 1627 commits to master since this release

Changelog

Highlights

Apollo Federation (GA)

Apollo federation support is now stable. You need to turn on the feature using either the flag --enable-apollo-federation or by
setting the environment variable HASURA_GRAPHQL_ENABLE_APOLLO_FEDERATION to true.

Please note that the existing way of turning on the feature (via HASURA_GRAPHQL_EXPERIMENTAL_FEATURES) is still supported but is deprecated.

Dynamic DB Connection Routing (GA) (Cloud / Enterprise edition only)

Dynamic DB connection routing has now been added to console and it is now GA. Hasura Cloud and Enterprise customers can now leverage dynamic routing to implement different kinds of database topology patterns with Hasura.

dynamic-db-routing

Read more in the docs

Cache webhook auth token (Cloud / Enterprise edition only)

Hasura can now cache the authentication webhook response in the webhook mode.

For caching you need to return either:

  • a Cache-Control variable, modeled on the Cache-Control HTTP Header, to specify a relative expiration time, in seconds.
  • an Expires variable, modeled on the Expires HTTP Header, to specify an absolute expiration time. The expected format is "%a, %d %b %Y %T GMT".

Behaviour changes

Updating from v2.22.0-beta.1

v2.22.0-beta.2 removed a Hasura metadata catalog migration that was added in v2.22.0-beta.1 on the hdb_catalog.event_log and hdb.event_invocation_logs tables.

With this change, on upgrading to v2.22.0 from v2.22.0-beta.1, the following startup error will be thrown:

{
  "detail": {
    "kind": "catalog_migrate",
    "info": {  "code": "not-supported", "error": "Expected source catalog version <= 3, but the current version is 4", "path": "$"}
  },
  "level": "error",
  "timestamp": "2023-03-28T10:17:24.289+0530",
  "type": "startup"
}

To fix these errors run the following SQL on the database where the event triggers are defined on and restart the Hasura instance.

UPDATE hdb_catalog.hdb_source_catalog_version SET version = 3, upgraded_on= NOW();
ALTER table hdb_catalog.event_log ALTER COLUMN created_at SET DEFAULT NOW();
ALTER table hdb_catalog.event_invocation_logs ALTER COLUMN created_at SET DEFAULT NOW();

Order change in exported per-role API limits metadata (Cloud / Enterprise edition only)

In instances with configured per-role API limits, exported metadata includes a mapping from role names to limit configuration. Previously these entries were given in the order they were created. Now the entries are ordered by role name instead.

Bug fixes and improvements

Server

  • Add environment variable HASURA_GRAPHQL_AUTH_HOOK_SEND_REQUEST_BODY to remove the request body from the request to the authentication webhook (docs)
  • Add additional error information to invocation logs when an HTTP Exception Error is thrown during event triggers and scheduled triggers (one-off, cron) execution
  • Fix bug which added the query to the operation key for the http-log for metadata queries irrespective of the value of the environment variable HASURA_GRAPHQL_ENABLE_METADATA_QUERY_LOGGING
  • Add field detail.operation.query.type to http-log log types always whenever available
  • Fix row limits applied to tables via permissions being incorrectly applied to aggregates of said tables in Data Connector-based data sources
  • Fix table queries which used only introspection fields not returning any data when made to Data Connector-based data sources
  • Fix scheduled events not showing up on console when the payload construction is failed (fix #9311)
  • Fixed bug in Query Response Cache bucket size and bucket rate defaulting. (Cloud / Enterprise edition only)
  • Throw a warning along with the result of the set_api_limits API request if a time limit greater than the cloud project limit is set in the API request. (Cloud only)

Console

  • Add date-time data entry pickers during row insert for Data Connector-based data sources
  • Fix error notifications for slow running queries
  • Disable non insertable columns in the insert row form for Data Connector-based data sources
  • Fix bug with untrack table for Data Connector-based data sources.