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).
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.
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 |
Improved user experience for event triggers
New 'toggle all' button to select all the columns for event trigger update operation.
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. (Relates 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
to400
for metadata APIs with wrong transformation templates. - The response body has been changed to be uniform across the metadata APIs.
Example, 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).
- Fix the application of
analyze_query_variables
setting to avoid leaking of query variables in the logs. (Enterprise edition only) - 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\
” (relates 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 toget_scheduled_event_invocations
. Theget_event_invocations
API endpoint is not used forevent trigger
invocations, but forscheduled 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 theGraphQL Field Customization
section ofConnect Database
page. - Restore the Custom Tracking Table modal, in case of naming conflicts
- Add toggle all button to select/unselect all the columns for event trigger update operation.
Build
- debian based images are no longer built, only Ubuntu is supported.