这是indexloc提供的服务,不要输入任何密码
Skip to content

Releases: hasura/graphql-engine

v2.17.1

30 Jan 04:13

Choose a tag to compare

Changelog

Bug fixes and improvements

Server

  • Remove the use of a spinlock that could lead to high CPU usage and non-responsiveness

Build

  • Updates base image to get the latest security updates

v2.17.0

18 Jan 11:11

Choose a tag to compare

Changelog

Highlights

New Action Type Generator to import types from Table

While creating a new Action, now you can use a new type generator "From Table" on the Console to easily create GraphQL types from generated type definitions.

image

This helps users to import one or more table types to the Action Type configuration that are already present in the GraphQL schema without having to manually enter them again.

This is a beta feature and we started an open discussion #9273 to track enhancement requests & feature level design discussions.

Revamped Cron Triggers page with Request Transforms added

The cron trigger form on the UI has been revamped to meet the design standards of the rest of the Hasura platform. Some improvements have been made such as adding the delete feature and adding request transform section to the form (see below).

image

CLI enhancements for database seeds

  • add flag --all-databases to hasura seeds command to apply seeds on all databases
  • add flag --with-seeds to hasura deploy command to also apply database seeds
  • better handle case when no seeds are present for certain databases when applying seeds on all databases

Data Connectors Beta API

We are pleased to announce the Data Connectors beta API.

What are Data Connectors?

Data Connectors are microservice-based database drivers that extend Hasura's GraphQL Engine to support new backends.

For a detailed explanation of the feature, the best place to look is currently the
Data Connectors README.md.

The API currently supports:

  • Queries
  • Relationships
  • Comparisons
  • Aggregations
  • Explain
  • Prometheus Metrics
  • Raw Queries
  • User-Defined Scalar Types

and is being regularly extended with new features.

For more information, please see:

Bug fixes and improvements

Server

  • Add new metadata API (<db_kind>_suggest_relationships) for suggesting relationships from the server for use by console and other clients.
  • Fixes a bug with quoting database trigger names which might throw an error when creating event triggers on SQL Server
  • Respect custom column name for graphql-default naming convention (fixes #9306)
  • Fixed the edge case in multiplexed queries where a run-time SQL exception caused by a subscription query affects all subscriptions in the batch (fix #9281)
  • Respect stringify-numeric-types option in remote database relationships (fix #8387)
  • Fix the behavior of the clear_metadata and replace_metadata APIs when the metadata is inconsistent. Now, the APIs succeed and a log with the type metadata-log is emitted if the graphql-engine footprint is not cleared successfully. The following cases have been fixed:
    1. Source is inconsistent - source with name "<source-name>" is inconsistent
    2. Table is inconsistent and an event trigger is present - event trigger "<event-trigger-name>" does not exist.
  • Postgres 10 is EOL since November 10, 2022 and so thus ends Hasura GraphQL engine's official support with it.
  • Provide capability for Data Connector agents to map custom scalar types to built-in GraphQL types for parsing purposes.
  • Fix a bug in the OpenTelemetry exporter where it would attempt to export spans when there were none, resulting in repeated log lines by the exporter even when the feature was disabled. (Enterprise edition only)
  • Fix missing query-log log type for Enterprise Edition (Enterprise edition only)
  • Add experimental Prometheus metrics for measuring approximations of the data transferred by HTTP requests, WebSocket messages, actions, event triggers, and scheduled triggers. These metrics may be removed at a later time. (Enterprise edition only)
  • Add the hasura_event_processing_time_seconds Prometheus metric for better monitoring of event triggers (Enterprise edition only)
  • Propagate B3 sampling state (X-B3-Sampled header) (Enterprise edition only)

Console

  • Fixes an issue where creating an Asynchronous action actually created it as a Synchronous action. (fix #9286)
  • Fixes an issue where Null comments on REST endpoints created by older Hasura versions prevent editing endpoint (fix #9347)
  • Show notifications for console queries running longer than 10 seconds to help debug slow queries.
  • Fix performance issue when displaying invocation logs of an event trigger.
  • Minor enhancements to the one-off scheduled trigger form on the console. As a result of the change, placement of few fields have changed including that of comment/description.
  • Fix issues with missing props - ssl_configuration, isolation_level and use_prepared_statements when creating/editing read-replicas.
  • Fix Target Columns not found issue with the new Postgres relationship UI
  • Add console support for AlloyDB
  • View local relationships data for Amazon Athena and Snowflake tables from the Browse Rows section.
  • Add a section on remote schema tabs to show remote schema inconsistency information.
  • Fix console errors when data is not ready yet (fix #9238)
  • Improve the performance for the data tab on read-only data fetch requests
  • Fix miscellaneous issues when generating actions from OpenAPI. (Cloud / Enterprise edition only)

CLI

  • Fix offline assets mode configuration not being respected by CLI console (fix #8482)
  • Update log messages to surround database names with ''
  • Adds support for metadata changes introduced by Data Connectors and also adds support for backend_configs root level object in metadata JSON.

v2.17.0-beta.1

11 Jan 11:53

Choose a tag to compare

v2.17.0-beta.1 Pre-release
Pre-release

Changelog

Highlights

New Action Type Generator to import types from Table

While creating a new Action, now you can use a new type generator "From Table" on the Console to easily create GraphQL types from generated type definitions.

image

This helps users to import one or more table types to the Action Type configuration that are already present in the GraphQL schema without having to manually enter them again.

This is a beta feature and we started an open discussion #9273 to track enhancement requests & feature level design discussions.

Revamped Cron Triggers page with Request Transforms added

The cron trigger form on the UI has been revamped to meet the design standards of the rest of the Hasura platform. Some improvements have been made such as adding the delete feature and adding request transform section to the form (see below).

image

CLI enhancements for database seeds

  • add flag --all-databases to hasura seeds command to apply seeds on all databases
  • add flag --with-seeds to hasura deploy command to also apply database seeds
  • better handle case when no seeds are present for certain databases when applying seeds on all databases

Data Connectors Beta API

We are pleased to announce the Data Connectors beta API.

What are Data Connectors?

Data Connectors are microservice-based database drivers that extend Hasura's GraphQL Engine to support new backends.

For a detailed explanation of the feature, the best place to look is currently the
Data Connectors README.md.

The API currently supports:

  • Queries
  • Relationships
  • Comparisons
  • Aggregations
  • Explain
  • Prometheus Metrics
  • Raw Queries
  • User-Defined Scalar Types

and is being regularly extended with new features.

For more information, please see:

Bug fixes and improvements

Server

  • Add new metadata API (<db_kind>_suggest_relationships) for suggesting relationships from the server for use by console and other clients.
  • Fixes a bug with quoting database trigger names which might throw an error when creating event triggers on SQL Server
  • Respect custom column name for graphql-default naming convention (fixes #9306)
  • Fixed the edge case in multiplexed queries where a run-time SQL exception caused by a subscription query affects all subscriptions in the batch (fix #9281)
  • Respect stringify-numeric-types option in remote database relationships (fix #8387)
  • Fix the behavior of the clear_metadata and replace_metadata APIs when the metadata is inconsistent. Now, the APIs succeed and a log with the type metadata-log is emitted if the graphql-engine footprint is not cleared successfully. The following cases have been fixed:
    1. Source is inconsistent - source with name "<source-name>" is inconsistent
    2. Table is inconsistent and an event trigger is present - event trigger "<event-trigger-name>" does not exist.
  • Postgres 10 is EOL since November 10, 2022 and so thus ends Hasura GraphQL engine's official support with it.
  • Provide capability for Data Connector agents to map custom scalar types to built-in GraphQL types for parsing purposes.
  • Fix a bug in the OpenTelemetry exporter where it would attempt to export spans when there were none, resulting in repeated log lines by the exporter even when the feature was disabled. (Enterprise edition only)
  • Fix missing query-log log type for Enterprise Edition (Enterprise edition only)
  • Add experimental Prometheus metrics for measuring approximations of the data transferred by HTTP requests, WebSocket messages, actions, event triggers, and scheduled triggers. These metrics may be removed at a later time. (Enterprise edition only)
  • Add the hasura_event_processing_time_seconds Prometheus metric for better monitoring of event triggers (Enterprise edition only)
  • Propagate B3 sampling state (X-B3-Sampled header) (Enterprise edition only)

Console

  • Fixes an issue where creating an Asynchronous action actually created it as a Synchronous action. (fix #9286)
  • Fixes an issue where Null comments on REST endpoints created by older Hasura versions prevent editing endpoint (fix #9347)
  • Show notifications for console queries running longer than 10 seconds to help debug slow queries.
  • Fix performance issue when displaying invocation logs of an event trigger.
  • Minor enhancements to the one-off scheduled trigger form on the console. As a result of the change, placement of few fields have changed including that of comment/description.
  • Fix issues with missing props - ssl_configuration, isolation_level and use_prepared_statements when creating/editing read-replicas.
  • Fix Target Columns not found issue with the new Postgres relationship UI
  • Add console support for AlloyDB
  • View local relationships data for Amazon Athena and Snowflake tables from the Browse Rows section.
  • Add a section on remote schema tabs to show remote schema inconsistency information.
  • Fix console errors when data is not ready yet (fix #9238)
  • Improve the performance for the data tab on read-only data fetch requests
  • Fix miscellaneous issues when generating actions from OpenAPI. (Cloud / Enterprise edition only)

CLI

  • Fix offline assets mode configuration not being respected by CLI console (fix #8482)
  • Update log messages to surround database names with ''
  • Adds support for metadata changes introduced by Data Connectors and also adds support for backend_configs root level object in metadata JSON.

v2.16.1

14 Dec 11:12

Choose a tag to compare

Changelog

This is a patch release for v2.16.0

Bug fixes and improvements

Server

  • Avoid exporting of metadata defaults (fix #9237) (Cloud / Enterprise Edition only).

CLI

  • Allow exporting and declarative configuration of metrics config in metadata (Cloud / Enterprise Edition only).

v2.16.0

08 Dec 11:04

Choose a tag to compare

Changelog

Highlights

Import OpenAPI endpoint as an action (Cloud / 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).

Subscriptions on CockroachDB and Citus

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

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

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

  • 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.

v2.15.2

08 Dec 08:06

Choose a tag to compare

Changelog

❗ Fixes a critical security vulnerability. See more details in the security advisory.

v2.14.1

08 Dec 10:53

Choose a tag to compare

Changelog

❗ Fixes a critical security vulnerability. See more details in the security advisory.

v2.13.2

08 Dec 10:54

Choose a tag to compare

Changelog

❗ Fixes a critical security vulnerability. See more details in the security advisory.

v2.12.1

08 Dec 10:59

Choose a tag to compare

Changelog

❗ Fixes a critical security vulnerability. See more details in the security advisory.

v2.11.3

08 Dec 10:59

Choose a tag to compare

Changelog

❗ Fixes a critical security vulnerability. See more details in the security advisory.