Graphql Engine Versions Save

Blazing fast, instant realtime GraphQL APIs on your DB with fine grained access control, also trigger webhooks on database events.

v2.34.0

7 months ago

Changelog

Highlights

Bug fixes and improvements

Server

  • The naming_convention experimental feature now also covers:

    • Type and field names of named constraints that appear in on_conflict upserts.
    • Type names of all Postgres scalar types.
    • Type and input field names of function arguments.

    Since these changes are breaking by nature, their use is gated by a feature flag, which can be enabled by setting the environment variable HASURA_FF_NAMING_CONVENTION_SEP_2023=True.

    (partially fixes: #8929)

  • Add support for environment variable templating in OpenTelemetry endpoint URLs. (Cloud / Enterprise edition only)

  • Fix a memory leak in EE wherein data would accumulate in memory at each replace_metadata call. (Enterprise edition only)

Console

  • Console support for adding input validations on PostgreSQL sources is now available in the Data Tab's Permissions section.
  • Fixed a UI bug which would duplicate column form values when attempting to clear the column type. (fix #9863)
  • Added Console support for remote relationship permissions to PostgreSQL data sources.
  • Resolved an issue of incorrect URL autosuggestion when editing existing RESTified endpoints.
  • Clicking on any role on a schema change card now updates the page's URL, improving navigation and allowing sharing of specific schema change details.
  • Visiting a schema registry URL automatically opens the corresponding schema change card at the top of the page, streamlining access to specific schema change information.
  • Apollo Federation support can be enabled from the Console for PostgreSQL, SQL Server, and Big Query from the Data tab.
  • Fixes an issue where an error notification would appear even upon successfully creating a remote relationship.
  • Improve performance of the permissions UI for large data-connector based databases.
  • Resolve an issue of incorrect name auto-suggestion when editing existing RESTified endpoints.
  • Fix a bug on Insert/Modify Row where column inputs are not disabled if the column is an identity column (whose values are generated always/generated by default).

v2.11.11

7 months ago

Changelog

This is a patch release for v2.11

Bug fixes and improvements

Server

  • Fix GraphQL query validation where queries that assigned a null value to a variable with a declared non-nullable type were previously allowed. Now, queries with this aforementioned condition will be properly invalidated and rejected.

Build

  • Update build packages to get the latest security updates.

v2.33.4

8 months ago

Changelog

This is a patch release for v2.33

Bug fixes and improvements

Data Connectors

  • Revert /schema GET request body, deprecate /schema GET, add post_schema capability and /schema POST with performance improvements and filter capabilities.

v2.33.3

8 months ago

Changelog

This is a patch release for v2.33

Bug fixes and improvements

Server

  • Revert unintentional changes to certain GraphQL types and fields when the graphql-default naming convention is enabled.

v2.34.0-beta.1

8 months ago

Changelog

Highlights

naming-convention GA

The naming-convention feature for PostgreSQL sources, previously in the experimental phase, is now generally available and fully enabled. Users can still specify HASURA_GRAPHQL_EXPERIMENTAL_FEATURES=naming_convention, although it is no longer necessary as it will have no impact and will eventually be removed.

Edit: Post this beta release, it was decided to leave this feature as experimental for the v2.34.0 stable release.

Bug fixes and improvements

Server

  • The naming_convention experimental feature now also covers:

    • Type and field names of named constraints that appear in on_conflict upserts.
    • Type names of all Postgres scalar types.
    • Type and input field names of function arguments.

    Since these changes are breaking by nature, their use is gated by a feature flag, which can be enabled by setting the environment variable HASURA_FF_NAMING_CONVENTION_SEP_2023=True.

    (partially fixes: #8929)

  • Add support for environment variable templating in OpenTelemetry endpoint URLs. (Cloud / Enterprise edition only)

  • Fix a memory leak in EE wherein data would accumulate in memory at each replace_metadata call. (Enterprise edition only)

Console

  • Console support for adding input validations on PostgreSQL sources is now available in the Data Tab's Permissions section.
  • Fixed a UI bug which would duplicate column form values when attempting to clear the column type. (fix #9863)
  • Added Console support for remote relationship permissions to PostgreSQL data sources.
  • Resolved an issue of incorrect URL autosuggestion when editing existing RESTified endpoints.
  • Clicking on any role on a schema change card now updates the page's URL, improving navigation and allowing sharing of specific schema change details.
  • Visiting a schema registry URL automatically opens the corresponding schema change card at the top of the page, streamlining access to specific schema change information.
  • Apollo Federation support can enabled from the Console for PostgreSQL, SQL Server, and Big Query from the Data tab.
  • Fixes an issue where an error notification would appear even upon successfully creating a remote relationship.
  • Improve performance of the permissions UI for large data-connector based databases.

v2.33.2

8 months ago

Changelog

This is a patch release for v2.33

Bug fixes and improvements

CLI

  • Fix parsing of database functions which was leading to metadata and migration errors (fix #9861, #9862).

v2.32.2

8 months ago

Changelog

This is a patch release for v2.32

Bug fixes and improvements

CLI

  • Fix parsing of database functions which was leading to metadata and migration errors (fix #9861, #9862).

v2.33.1

8 months ago

Changelog

This is a patch release for v2.33

Bug fixes and improvements

Data Connectors

  • Fix Oracle schema introspection for older Oracle versions (v18) (Enterprise edition only)
  • Adds a configurable Retry mechanism to query execution in the Data Connector. Currently configured to retry 5 times, with a 1 second delay between each attempt. (Enterprise edition only)

v2.33.0

8 months ago

Changelog

Highlights

ClickHouse support (Beta)

We’re delighted to release the beta version of our ClickHouse data connector, which supports queries, table relationships, remote relationships, and permissions for ClickHouse.

For more information on how to set this up, please see our docs. This integration is built using Hasura Data Connectors.

Support remote source relationships in permissions

Hasura now supports using remote source relationships in permission predicates. This means you can now define permission based on a column from a remote Postgres source.

Limitations

  • The remote relationship predicate must follow the following template:

    {
      "<rel name>": {
        "<remote column name>": {
          "<op>": "<some session variable name or some literal text>"
        }
      }
    }
    

    This implies the following:

    • The remote relationship predicate can only be one level deep although, the predicate can be nested in an _and, _or, _not or _exists node.
    • Only _eq, _neq, _gt, _lt, _gte, _lte, _in, _nin, _like, _nlike and _is_null operators are supported for comparing fields
    • Only columns from the remote source can be compared with session variables or literal text only.
  • The remote source relationship permission can only be defined for Postgres and data connector backends.

  • The remote source relationship RHS backend can be Postgres only.

Support for relationships between Tables and Native Queries

Hasura now allows returning data in a table along with related data returned from a Native Query using a nested GraphQL query.

Support for Logical Models & Native Queries on Snowflake (Cloud / Enterprise edition only)

Hasura now supports creating Logical Models & Native Queries on Snowflake data sources.

Behaviour changes

  • Adds Native Query support for Data Connectors and implements the feature in SQLite and Snowflake agents. This change breaks backwards compatibility for the Data Connector Agent API, and as such, agents will need to be upgraded along with HGE.
  • Changes log level to error for Trigger failures in Hasura Cloud. Previously, the log level for Trigger errors was info. (Hasura Cloud only)

Bug fixes and improvements

Server

  • The Explain feature (also known as Analyze in the Hasura Console) now returns a full execution plan for SQL Server. Previously, the execution plan was not generated; only the generated SQL was shown.
  • Fixes issue where null valued variables with customized types were causing a GraphQL exception from the upstream server (fix #9757).
  • Adds a new environment variable HASURA_GRAPHQL_ENABLE_TRIGGERS_ERROR_LOG_LEVEL to set the log-level of Event Triggers failures to error. By default, the value is set to log-level Info. (Community / Enterprise edition only)
  • Adds support for the _contains and _contained_in operators for PostgreSQL arrays to be used with permissions.
  • Adds dynamic labels to Prometheus metric hasura_websocket_messages_sent_bytes_total. (Cloud / Enterprise edition only)
  • Adds new Prometheus metrics hasura_postgres_connection_init_time and hasura_postgres_pool_wait_time. (Cloud / Enterprise edition only)
  • Adds new Prometheus/OpenTelemetry metrics for monitoring OTLP telemetry export: hasura_otel_sent_spans and hasura_otel_dropped_spans. (Cloud / Enterprise edition only)

Console

  • Adds a feature flag to enable Performance Mode on the Data Tab. Performance Mode offers a faster experience, especially with larger databases, but with fewer database authoring features.
  • Fix saving permissions of string columns with numbers as value.
  • Improve Remote Schema permissions UI by allowing search and more clearly displaying available types.
  • Better descriptive error handling for Permissions on Logical Model and data-connector based databases.
  • Add console support for adding and editing remote schema to Data Connector-based databases
  • Fix issue with error handling on the table relationship UI for failed bulk responses.
  • Fix Apollo Federation UI to extend table types in other subgraphs.
  • Fix tracking of MongoDB collections with - in their names.
  • Fix an issue where an error notification would appear even upon successfully creating a remote relationship.
  • Fix an issue where column data types were being incorrectly reported as string for tables of Data-connector backed data sources.
  • New MongoDB collection tracking flow added to the Console. (Cloud / Enterprise edition only)
  • Add support for MongoDB nested objects in the permissions editor. (Cloud / Enterprise edition only)

CLI

  • Adds support for Snowflake functions. Fixes metadata export failure where Snowflake UDFs are configured. (Cloud / Enterprise edition only)

Data Connectors

  • Improved the performance of working with Data Connector-based data sources (such as Oracle, Snowflake, MySQL, MariaDB) that have many tables. Listing untracked tables in the Console is significantly faster, and tracking only a subset of all available tables is also significantly faster.

v2.33.0-beta.1

8 months ago

Changelog

Highlights

ClickHouse support (Beta)

We’re delighted to release the beta version of our ClickHouse data connector, which supports queries, table relationships, remote relationships, and permissions for ClickHouse.

For more information on how to set this up, please see our docs. This integration is built using Hasura Data Connectors.

Support remote source relationships in permissions

Hasura now supports using remote source relationships in permission predicates. This means you can now define permission based on a column from a remote Postgres source.

Limitations

  • The remote relationship predicate must follow the following template:

    {
      "<rel name>": {
        "<remote column name>": {
          "<op>": "<some session variable name or some literal text>"
        }
      }
    }
    

    This implies the following:

    • The remote relationship predicate can only be one level deep although, the predicate can be nested in an _and, _or, _not or _exists node.
    • Only _eq, _neq, _gt, _lt, _gte, _lte, _in, _nin, _like, _nlike and _is_null operators are supported for comparing fields
    • Only columns from the remote source can be compared with session variables or literal text only.
  • The remote source relationship permission can only be defined for Postgres and data connector backends.

  • The remote source relationship RHS backend can be Postgres only.

Support for relationships between Tables and Native Queries

Hasura now allows returning data in a table along with related data returned from a Native Query using a nested GraphQL query.

Support for Logical Models & Native Queries on Snowflake (Cloud / Enterprise edition only)

Hasura now supports creating Logical Models & Native Queries on Snowflake data sources.

Behaviour changes

  • Adds Native Query support for Data Connectors and implements the feature in SQLite and Snowflake agents. This change breaks backwards compatibility for the Data Connector Agent API, and as such, agents will need to be upgraded along with HGE.

Bug fixes and improvements

Server

  • The Explain feature (also known as Analyze in the Hasura Console) now returns a full execution plan for SQL Server. Previously, the execution plan was not generated; only the generated SQL was shown.
  • Fixes issue where null valued variables with customized types were causing a GraphQL exception from the upstream server (fix #9757).
  • Adds support for the _contains and _contained_in operators for PostgreSQL arrays to be used with permissions.
  • Adds dynamic labels to Prometheus metric hasura_websocket_messages_sent_bytes_total. (Cloud / Enterprise edition only)
  • Adds new Prometheus metrics hasura_postgres_connection_init_time and hasura_postgres_pool_wait_time. (Cloud / Enterprise edition only)
  • Adds new Prometheus/OpenTelemetry metrics for monitoring OTLP telemetry export: hasura_otel_sent_spans and hasura_otel_dropped_spans. (Cloud / Enterprise edition only)

Console

  • Adds a feature flag to enable Performance Mode on the Data Tab. Performance Mode offers a faster experience, especially with larger databases, but with fewer database authoring features.
  • Fix saving permissions of string columns with numbers as value.
  • Improve Remote Schema permissions UI by allowing search and more clearly displaying available types.
  • Better descriptive error handling for Permissions on Logical Model and data-connector based databases.
  • Add console support for adding and editing remote schema to Data Connector-based databases
  • Fix issue with error handling on the table relationship UI for failed bulk responses.
  • Fix Apollo Federation UI to extend table types in other subgraphs.
  • New MongoDB collection tracking flow added to the Console. (Cloud / Enterprise edition only)
  • Add support for MongoDB nested objects in the permissions editor. (Cloud / Enterprise edition only)

CLI

  • Adds support for Snowflake functions. Fixes metadata export failure where Snowflake UDFs are configured. (Cloud / Enterprise edition only)

Data Connectors

  • Improved the performance of working with Data Connector-based data sources (such as Oracle, Snowflake, MySQL, MariaDB) that have many tables. Listing untracked tables in the Console is significantly faster, and tracking only a subset of all available tables is also significantly faster.