Release
v2.16.0
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:
-
Edit Event:
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
to400
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 toget_scheduled_event_invocations
. Theget_event_invocations
API endpoint is not used forevent trigger
invocations, but forscheduled 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 theGraphQL Field Customization
section ofConnect 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.