v2.16.0
🎉
Release

v2.16.0

Hasura CE
Dec 05 2022

Changelog

Highlights

Subscriptions on CockroachDB and Citus

Support added for Subscriptions (Live Queries and Streaming Subscriptions) on CockroachDB & Citus databases

Validations for Response Transforms

Response Transforms will now be validated for the following metadata API endpoints:

  • create_event_trigger
  • create_cron_trigger
  • create_action
  • update_action
  • test_webhook_transform

As a result, now both request and response transforms will be validated for the above metadata API endpoints.

New 'toggle all' button to select all the columns for update operation event triggers.

  • Create Event:

    Screenshot 2022-11-04 at 12 14 40 PM
  • Edit Event:

    Screenshot 2022-11-04 at 12 15 10 PM

Control log spamming of JWK refreshes

Many JWK providers have a Cache-Control policy which makes Hasura refresh them every second and pollute the logs. Before this release, the jwk-refresh-log type was not configurable. Now, jwk-refresh-log type has been added as a configurable log type, so that users can disable it in case their logs are getting spammed. To prevent a breaking change for existing users, we have also added jwk-refresh-log type to default enabled log types. (related to #8611)

Behaviour changes

Request/response transform template validation error for Rest Connectors

Updates the request/response template validation error (for create_event_trigger, create_cron_trigger, create_action, update_action and test_webhook_transform metadata APIs):

  • The HTTP status code has been changed from 200 to 400 for metadata APIs with wrong transformation templates.
  • The response body has been changed to be uniform across the metadata APIs.

Example, for response for a wrong transformation template:

Old behaviourNew behaviour
HTTP status code: 200
Response:
[
  {
    "error_code": "Parse Error",
    "message": "Unexpected token '}'.",
    "source_position": {
      "end_column": 15,
      "end_line": 0,
      "start_column": 14,
      "start_line": 0
    }
  }
]
         
HTTP status code: 400
Response:
{
  "code": "validation-failed",
  "error": "request transform validation failed",
  "path": "$.args",
  "internal": [
    {
      "error_code": "Parse Error",
      "message": "Unexpected token '}'.",
      "source_position": {
        "end_column": 15,
        "end_line": 0,
        "start_column": 14,
        "start_line": 0
      }
    }
  ]
}
        

Bug fixes and improvements

Server

  • Fix streaming subscription input type names for graphql-default
  • Support use of kriti template to generate query param for request transform from list of arguments.
  • Add option to enable/disable event triggers on logically replicated tables
  • Fix bug when an enum was used as a variable on a remote schema that has a custom prefix or suffix (fixes #9219)
  • Hasura was incorrectly omitting 'all' scalar types and so it caused the printed schema to be invalid preventing users from using the new experimental support for Apollo federation. Now, as a fix we have removed all the 'built-in' scalars from our schema while keeping the 'custom' scalars. As a result, it should work for custom scalars such as UUID. (fixes #9115).
  • Previously while creating an event trigger with Heroku instance, users were getting an error “Extensions can only be created on heroku_ext schema”. Now, we are making it easy for users to quickly resolve the error by providing a hint in the error message - “pgcrypto can only be created in heroku_ext schema. Hint: You can set \"extensions_schema\” (related to #8734).
  • Introduce a new experimental feature flag hide_stream_fields which toggles off streaming features, to be used if these cause schema type name conflicts.
  • Renaming get_event_invocations API to get_scheduled_event_invocations. The get_event_invocations API endpoint is not used for event trigger invocations, but for scheduled event invocations, thus the renaming.

Console

  • Fix filter, sort, and pagination on nested browse rows views.
  • Show roles created from allow list on Data, Remote Schema and Action permission tables
  • Adds Enable Naming Convention checkbox to enable/disable naming convention in the GraphQL Field Customization section of Connect Database page.
  • Restore the Custom Tracking Table modal, in case of naming conflicts
  • Fix clone row with primary key, enums, boolean (fixes #9248, #9254, #9253)

Build

  • debian based images are no longer built, only Ubuntu is supported.