Hasura - v2.16.0


Changelog

Highlights

Import OpenAPI endpoint as an action (Enterprise edition only)

This console feature makes it easy to import an endpoint with an OpenAPI definition as a Hasura Action. It allows you to upload or paste the OpenAPI definition (json or yaml), and it will automatically convert this into action definition. This is an alpha release of the feature and requires enabling of feature flag to try it out (Settings -> Feature Flags -> Import action from OpenAPI).

Two new metrics are added for event triggers to Prometheus: (Enterprise edition only)

| Prometheus metric | Meaning of the metric |
|---------------------------------------------|-----------------------|
| hasura_event_fetch_time_per_batch_seconds | polling latency of fetching events ie. the time required to fetch a batch of event triggers from the database |
| hasura_event_processing_time_seconds | the time required to execute the webhook call for an event trigger ie. the time when an event is picked for delivery to the time its status is updated in the DB |

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

Changes to capturing query variables in logs (Enterprise edition only)

Fix the application of analyze_query_variables setting to avoid leaking of query variables in the logs.

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 behaviour New 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.
  • Add Prometheus metric for Postgres connection pool utilization (Enterprise edition only)

Console

  • Adds SSO login capability to Hasura EE. (Enterprise edition only)
  • 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.

Details

date
Dec. 5, 2022, 9:41 a.m.
name
v2.16.0
type
Minor
👇
Register or login to:
  • 🔍View and search all Hasura releases.
  • 🛠️Create and share lists to track your tools.
  • 🚨Setup notifications for major, security, feature or patch updates.
  • 🚀Much more coming soon!
Continue with GitHub
Continue with Google
or