Releases: hasura/graphql-engine
v1.3.4
Changelog
❗ Patch for a critical security vulnerability. See more details in the security advisory.
v2.11.5
Changelog
❗ Patch for a critical security vulnerability. See more details in the security advisory.
v2.21.0-beta.1
Changelog
Bug fixes and improvements
Server
- Remote relationships now cannot be configured when the target data source does not support them. Previously these were allowed to be added but would fail at query time.
- Data Connector data sources can now be used as the source and/or target of remote relationships. Please note that only data connector agents that support foreach queries can be used as a target in a remote relationship.
- Fix
graphql-defaultnaming convention bugs (#9426, #9430)
Console
- Fix headers getting removed from event triggers configuration while updating trigger options
- Fix subscriptions in CLI console API explorer when connected to a Hasura instance that only supports
https/wss(fix #9475) - Show year in the date column while displaying event triggers, cron triggers and scheduled events
- Respect the GraphQL API naming convention while tracking a suggested relationship.
- Fix a bug that would cause the DB tree view to not show up if a Data Connector backed database is the only connected database.
- Allow removing event trigger auto clean-up configuration (Enterprise edition only)
Data Connectors
- The SQLite data connector agent now supports being a target of a remote relationship
v2.20.1
Changelog
❗ Patch for a critical security vulnerability. See more details in the security advisory.
v2.20.0
Changelog
Highlights
Import Action from OpenAPI (GA) (Cloud / Enterprise edition only)
Import Action from OpenAPI is used to easily create Hasura actions from an OpenAPI specification. You can upload the OpenAPI specification and create actions from the endpoints defined in the specification.
Read more in the docs or in the RFC.
Behaviour changes
- Checks the Agent availability when adding Data Connector Agents to the metadata. The check can be skipped by adding setting the optional field
skip_checktotrue.
Bug fixes and improvements
Server
- Accept an optional
strictURL parameter in/healthzendpoint with eitherfalse(default) ortruevalue.
Instrictmode, the/healthzendpoint returns 500 status code if the server is running with inconsistent metadata. - Add warning to the response of
replace_metadataAPI when something unexpected but non-fatal happens e.g. source is not available when event triggers are dropped. - Properly quote delimited identifiers in SQL Server.
Console
- Fix API explorer error highlighting (fix #9470).
- Filter out Views from select table dropdown while creating event trigger.
- Use naming convention for suggested relationships
- Allow executing SQL queries in read only mode via console
- Fix latency check error that pops up after adding Snowflake/Athena/MySQL sources. (Cloud / Enterprise edition only)
- Unify webhook handler experience for action, remote schemas and events
- Updated design for top header menu.
- Updated design for the settings sidebar.
- Support suffix on TLS allow list.
CLI
- Add contextual information of errors in debug logs (
--log-level debug). - Support for BigQuery sources in the CLI Console.
Data Connectors
- Mutation support added to SQLite Data-Connector.
v2.20.0-beta.1
Changelog
Highlights
Import Action from OpenAPI (GA) (Cloud / Enterprise edition only)
Import Action from OpenAPI is used to easily create Hasura actions from an OpenAPI specification. You can upload the OpenAPI specification and create actions from the endpoints defined in the specification.
Read more in the docs or in the RFC.
Behaviour changes
- Checks the Agent availability when adding Data Connector Agents to the metadata. The check can be skipped by adding setting the optional field
skip_checktotrue.
Bug fixes and improvements
Server
- Accept an optional
strictURL parameter in/healthzendpoint with eitherfalse(default) ortruevalue.
Instrictmode, the/healthzendpoint returns 500 status code if the server is running with inconsistent metadata. - Add warning to the response of
replace_metadataAPI when something unexpected but non-fatal happens e.g. source is not available when event triggers are dropped. - Properly quote delimited identifiers in SQL Server.
Console
- Filter out Views from select table dropdown while creating event trigger.
- Use naming convention for suggested relationships
- Allow executing SQL queries in read only mode via console
- Fix latency check error that pops up after adding Snowflake/Athena/MySQL sources. (Cloud / Enterprise edition only)
- Unify webhook handler experience for action, remote schemas and events
- Updated design for top header menu.
- Updated design for the settings sidebar.
- Support suffix on TLS allow list.
CLI
- Add contextual information of errors in debug logs (
--log-level debug). - Support for BigQuery sources in the CLI Console.
Data Connectors
- Mutation support added to SQLite Data-Connector.
v2.19.0
Changelog
Highlights
MySQL support (alpha) (Cloud / Enterprise Edition only)
We’re delighted to release the alpha version of our MySQL data connector, that supports queries, table relationships and
permissions for MySQL databases version 8.0 and higher. For more information on how to set this up, please see
our docs. This data connector has been built using Hasura GraphQL Engine Data Connectors.
Note: The previous MySQL preview implementation has been deprecated in favor of this new implementation.
Behaviour changes
- Query Tags will no longer include the
request_idfield by default. This can be changed by setting the value of theomit_request_idfield in theset_query_tagscommand tofalse, but is not recommended when Prepared Statements are enabled. (Cloud / Enterprise Edition only)
Bug fixes and improvements
Server
- Fix a race condition in the metadata update logic which could cause metadata updates (of any kind) to be silently reverted
- Fix nullable field omitted from action response if not present in the webhook response
- Log cron triggers fetched for event generation within 10-minute timeframe under
cron-event-generator-processlog type. - Make
pg_run_sqlas an alias ofrun_sql - Fix suggestion issue with the
*_suggest_relationshipsmetadata API. - Increase the granularity of interpretation of the
omit_trackedargument to*_suggest_relationshipsAPI - Add a
content-lengthresponse header to all endpoints - Improve phrasing for the "conflicting type definitions" error message
Console
- Add suggested relationships (foreign keys based) to the new table relationships page
- Remove the GraphQL Data Connectors experimental feature flag.
- Allow creating remote joins from and to the same remote schema
- Fix the export data dropdown menu visibility on browse rows page
- Fix suggested relationship name creation
- Add streamlined UX for creating and maintaining database relationships. This feature can be enabled by a feature flag in the settings menu.
- Improve code formatting of GraphQL editor in the modify action form
- Fix the issue with the edit connection form for GDC sources not populated with the saved values.
- Fix edit row when the column is "generated always" (fix #9389)
Data Connectors
- Add check to verify that source in header and jdbc_url line up with the request path. (Cloud / Enterprise Edition only)
- Bugfix for failure of the super-connector to properly order results based on a single column aggregate. (Cloud / Enterprise Edition only)
- Single column aggregates in query API requests now include the scalar type of the result of the aggregation function
v2.19.0-beta.1
Changelog
Bug fixes and improvements
Server
- Fix nullable field omitted from action response if not present in the webhook response.
- Log cron triggers fetched for event generation within 10-minute timeframe under
cron-event-generator-processlog type. - Make
pg_run_sqlas an alias ofrun_sql - Fix suggestion issue with the
*_suggest_relationshipsmetadata API. - Add a
content-lengthresponse header to all endpoints - Improve phrasing for the "conflicting type definitions" error message
- Add a new option to
set_query_tagsAPI to omit therequest_idfield from Query Tags. Recommended when Query Tags are used in conjunction with Prepared Statements. (Cloud / Enterprise Edition only)
Console
- Add suggested relationships (foreign keys based) to the new table relationships page
- Allow creating remote joins from and to the same remote schema
- Fix the export data dropdown menu visibility on browse rows page
- Fix suggested relationship name creation
- Add streamlined UX for creating and maintaining database relationships. This feature can be enabled by a feature flag in the settings menu.
- Fix the issue with the edit connection form for GDC sources not populated with the saved values.
- Fix edit row when the column is "generated always" (fix #9389)
Data Connectors
- Add check to verify that source in header and jdbc_url line up with the request path. (Cloud / Enterprise Edition only)
- Bugfix for failure of the super-connector to properly order results based on a single column aggregate. (Cloud / Enterprise Edition only)
- Single column aggregates in query API requests now include the scalar type of the result of the aggregation function
v2.18.0
Changelog
Highlights
Dynamically route GraphQL requests to different database connections of a Postgres source
Before this release, Hasura only executed queries against a connection that was configured when the source is added in the metadata. In this release we provide an extention to the graphql-engine where a query can be executed against a dynamically (during runtime) resolved connection. Currently this is configurable only via the metadata API or the CLI.
The configuration object of Postgres source metadata now accepts the following new fields:
connection_set- A set of database connections to which the GraphQL queries can be routed to.connection_template- A Kriti template in which the routing logic is defined using various request parameters like session variables, client headers etc.
Find a sample Postgres source metadata here. A new query type, pg_test_connection_template is introduced in metadata API to test connection template of a Postgres source. Learn more about the API here.
Runtime behavior: Connection template, if configured, is resolved for all non-admin GraphQL requests and the SQL generated is executed on the resolved connection.
Please refer to the RFC at #9310 to learn more about the feature and current limitations. Below is an example of metadata configuration of connection set and connection template:
Export Traces in the OpenTelemetry format (Beta) (Enterprise edition only)
Traces are generated by instrumenting application code. Hasura has instrumented all API queries, mutations and subscriptions with the OpenTelemetry format. These traces can be exported directly from your Hasura instances to your observability tool that supports OpenTelemetry traces. This can be configured in the Settings section of the Hasura Console. For more information please refer to the docs.
One Click Deploy to Hasura Cloud
This new feature enables you to quickly try out sample applications on Hasura Cloud with just a click. It takes the
Hasura metadata, migrations and seeds from a GitHub repository and creates a new Hasura Cloud project to instantly
try out the generated GraphQL API of the sample application. Check out the workflow in our docs.
If you’re working on a cool project that you’d like to share with the community to try out, you can also create a
sample application and enable One Click deploy on it using our deploy button! Check out more on this in our docs.
Try out some sample apps from the Hasura Hub!
Support for string query parameters in actions, event and cron triggers
Added console support for string query parameters in actions, event and cron triggers request transforms. This is a follow up enhancement to a previous metadata API enhancement of supporting arrays in query parameters. One example of using string query parameters is to import a REST endpoint such as GET/resource/findByTags via Actions.
Bug fixes and improvements
Server
- Log the statistics of event trigger and scheduled trigger events fetched under
event-trigger-processandscheduled-trigger-processlog types respectively, for every 10 minutes. - Fix a tracing issue where errors sometimes prevented enclosing spans from being reported (Cloud / Enterprise edition only)
- Adjusting the
*_suggest_relationshipsMetadata API to provide contextualconstraint_namekeys. - Fix
next_retry_atfor MSSQL event triggers and update the timezone ofcreated_atandlockedcolumns to UTC.
Note: The default value of created at is altered for tablesevent_logandevent_invocation_logs. After source migration, earlier events might be delayed or deliver earlier depending on the timezone of the SQL server. - Changes the
list_source_kindsmetadata API to return per-agent availability information rather than fail the API call. - Few new fields added to the
livequery-poller-loglog:- a
kindfield, which indicates if its astreamingsubscription or alive-querysubscription. - a new field
db_execution_timeto replacepg_execution_time, and intent to deprecatepg_execution_timein the future. With this changepg_execution_timewill only be present only for vanilla PG backends (i.e. not in Cockroach, Citus etc.) - a new field
subscription_optionsto replacelive_query_options, and intent to deprecatelive_query_optionsin the future. With this changelive_query_optionswill only be present for live-query subscriptions.
- a
- Fix handling of special language characters in MS SQL Server event trigger payload (fixes: #9293, #8747)
Console
- Fix editing columns with bigint arrays, when the column was not touched
- Add console support for string query parameters in actions, event and cron triggers request transforms
- Load filter and sort conditions from URL and preserve them while switching between tables.
CLI
- Add EE support in CLI console (Enterprise edition only)
- Fix broken CLI console when server console is disabled and local console assets are being used (fix #9378)
- Support migrations for Cockroach DB in CLI Console
- Add a new flag
--console-hge-endpointtohasura consolecommand that allows the CLI console to be correctly configured when running the CLI inside of a container. (fix #2824) - Make the version update notifications when running Hasura CLI commands non-blocking (fix #9367)
Data Connectors
- Added connection parameters to Snowflake connect strings to indicate that connections were initiated by Hasura. (Cloud / Enterprise edition only)
- Bugfix for failure of the super-connector to properly order results based on a single column aggregate. (Cloud / Enterprise edition only)
- Adding a new Data Connectors
/datasetsAPI for creating new databases from templates. For more information, seedc-agents/README.md. - Remove builtin scalar types from Data Connector backend. This means that HGE no longer assumes that all Data Connector agents support a minimal set of scalar types (
number,string, andbool) or any particular aggregate functions. All scalar types, must now be explicitly specified in the agent capabilities, along with any aggregate functions they support.
v2.18.0-beta.1
Changelog
Highlights
Export Traces in the OpenTelemetry format (Beta) (Enterprise edition only)
Traces are generated by instrumenting application code. Hasura has instrumented all API queries, mutations and subscriptions with the OpenTelemetry format. These traces can be exported directly from your Hasura instances to your observability tool that supports OpenTelemetry traces. This can be configured in the Settings section of the Hasura Console. For more information please refer to the docs.
Dynamically route GraphQL requests to different database connections of a Postgres source (Cloud / Enterprise edition only)
The configuration object of Postgres source metadata accepts the following new fields.
connection_set- A set of database connections to which the GraphQL queries can be routed to.connection_template- A Kriti template in which the routing logic is defined using various request parameters like session variables, client headers etc.
Find a sample Postgres source metadata here. A new query type, pg_test_connection_template is introduced in metadata API to test connection template of a Postgres source. Learn more about the API here.
Runtime behavior: Connection template, if configured, is resolved for all non-admin GraphQL requests and the SQL generated is executed on the resolved connection.
Please refer to the RFC at #9310 to learn more about the feature.
Bug fixes and improvements
Server
- Log the statistics of event trigger and scheduled trigger events fetched under
event-trigger-processandscheduled-trigger-processlog types respectively, for every 10 minutes. - Fix a tracing issue where errors sometimes prevented enclosing spans from being reported (Cloud / Enterprise edition only)
- Adjusting the
*_suggest_relationshipsMetadata API to provide contextualconstraint_namekeys. - Fix
next_retry_atfor MSSQL event triggers and update the timezone ofcreated_atandlockedcolumns to UTC.
Note: The default value of created at is altered for tablesevent_logandevent_invocation_logs. After source migration, earlier events might be delayed or deliver earlier depending on the timezone of the SQL server. - Changes the
list_source_kindsmetadata API to return per-agent availability information rather than fail the API call. - Few new fields added to the
livequery-poller-loglog:- a
kindfield, which indicates if its astreamingsubscription or alive-querysubscription. - a new field
db_execution_timeto replacepg_execution_time, and intent to deprecatepg_execution_timein the future. With this changepg_execution_timewill only be present only for vanilla PG backends (i.e. not in Cockroach, Citus etc.) - a new field
subscription_optionsto replacelive_query_options, and intent to deprecatelive_query_optionsin the future. With this changelive_query_optionswill only be present for live-query subscriptions.
- a
- Fix handling of special language characters in MS SQL Server event trigger payload (fixes: #9293, #8747)
Console
- Fix editing columns with bigint arrays, when the column was not touched
- Add console support for string query parameters in actions, event and cron triggers request transforms
- Load filter and sort conditions from URL and preserve them while switching between tables.
CLI
- Add EE support in CLI console (Enterprise edition only)
- Fix broken CLI console when server console is disabled and local console assets are being used (fix #9378)
- Support migrations for Cockroach DB in CLI Console
- Add a new flag
--console-hge-endpointtohasura consolecommand that allows the CLI console to be correctly configured when running the CLI inside of a container. (fix #2824) - Make the version update notifications when running Hasura CLI commands non-blocking (fix #9367)
Data Connectors
- Added connection parameters to Snowflake connect strings to indicate that connections were initiated by Hasura. (Cloud / Enterprise edition only)
- Adding a new Data Connectors
/datasetsAPI for creating new databases from templates. For more information, seedc-agents/README.md. - Remove builtin scalar types from Data Connector backend. This means that HGE no longer assumes that all Data Connector agents support a minimal set of scalar types (
number,string, andbool) or any particular aggregate functions. All scalar types, must now be explicitly specified in the agent capabilities, along with any aggregate functions they support.