Releases: hasura/graphql-engine
v2.22.0-beta.1
Changelog
Highlights
Apollo Federation (GA)
Apollo federation support is now stable. You need to turn on the feature using either the flag --enable-apollo-federation
or by
setting the environment variable HASURA_GRAPHQL_ENABLE_APOLLO_FEDERATION
to true
.
Please note that the existing way of turning on the feature (via HASURA_GRAPHQL_EXPERIMENTAL_FEATURES
) is still supported but is deprecated.
Dynamic DB Connection Routing (GA) (Cloud / Enterprise edition only)
Dynamic DB connection routing has now been added to console and it is now GA. Hasura Cloud and Enterprise customers can now leverage dynamic routing to implement different kinds of database topology patterns with Hasura.
Read more in the docs
Cache webhook auth token (Cloud / Enterprise edition only)
Hasura can now cache the authentication webhook response in the webhook mode.
For caching you need to return either:
- a
Cache-Control
variable, modeled on the Cache-Control HTTP Header, to specify a relative expiration time, in seconds. - an
Expires
variable, modeled on the Expires HTTP Header, to specify an absolute expiration time. The expected format is"%a, %d %b %Y %T GMT"
.
Behaviour changes
- In instances with configured per-role API limits, exported metadata includes a mapping from role names to limit configuration. Previously these entries were given in the order they were created. Now the entries are ordered by role name instead. (Cloud / Enterprise edition only)
Bug fixes and improvements
Server
- Fix the
created_at
timestamp value in Postgres event triggers by setting UTC as the default timezone - Add environment variable
HASURA_GRAPHQL_AUTH_HOOK_SEND_REQUEST_BODY
to remove the request body from the request to the authentication webhook (docs) - Add additional error information to invocation logs when a HTTP Exception Error is thrown during event triggers and scheduled triggers (one-off, cron) execution
- Fix bug which added the query to the operation key for the
http-log
for metadata queries irrespective of the value of the environment variableHASURA_GRAPHQL_ENABLE_METADATA_QUERY_LOGGING
- Add field
detail.operation.query.type
tohttp-log
log types always whenever available - Fix row limits applied to tables via permissions being incorrectly applied to aggregates of said tables in Data Connector-based data sources
- Fix table queries which used only introspection fields not returning any data when made to Data Connector-based data sources
- Fix scheduled events not showing up on console when the payload construction is failed (fix #9311)
- Fixed bug in Query Response Cache bucket size and bucket rate defaulting. (Cloud / Enterprise edition only)
Console
- Add date-time data entry pickers during row insert for Data Connector-based data sources
- Fix error notifications for slow running queries
- Disable non insertable columns in the insert row form for Data Connector-based data sources
- Fix bug with
untrack
table for Data Connector-based data sources.
v2.21.0
Changelog
Highlights
Oracle Support (Alpha) (Cloud / Enterprise edition only)
We’re delighted to release the alpha version of our Oracle data connector, that supports queries, table relationships and permissions for Oracle databases version 18 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.
Support for MySQL Mutations (Alpha) (Cloud / Enterprise edition only)
We’re delighted to provide support for mutations (INSERT, UPDATE, DELETE) in our MySQL alpha data connector for MySQL databases version 8.0 and higher. For more information on how to set this up, please see our docs.
Bug fixes and improvements
Server
- A new kind of log,
execution-log
, has been added. Within this log, the statistics log returns relevant information to the query. At the moment, the only information logged are the job details for BigQuery queries. - 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-default
naming 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
Build
- Updates base image to get the latest security updates
v1.3.4
Changelog
This is a security patch for this disclosed vulnerability.
v2.11.5
Changelog
This is a security patch for this disclosed vulnerability.
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-default
naming 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
This is a security patch for this disclosed vulnerability.
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_check
totrue
.
Bug fixes and improvements
Server
- Accept an optional
strict
URL parameter in/healthz
endpoint with eitherfalse
(default) ortrue
value.
Instrict
mode, the/healthz
endpoint returns 500 status code if the server is running with inconsistent metadata. - Add warning to the response of
replace_metadata
API 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_check
totrue
.
Bug fixes and improvements
Server
- Accept an optional
strict
URL parameter in/healthz
endpoint with eitherfalse
(default) ortrue
value.
Instrict
mode, the/healthz
endpoint returns 500 status code if the server is running with inconsistent metadata. - Add warning to the response of
replace_metadata
API 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_id
field by default. This can be changed by setting the value of theomit_request_id
field in theset_query_tags
command 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-process
log type. - Make
pg_run_sql
as an alias ofrun_sql
- Fix suggestion issue with the
*_suggest_relationships
metadata API. - Increase the granularity of interpretation of the
omit_tracked
argument to*_suggest_relationships
API - Add a
content-length
response 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-process
log type. - Make
pg_run_sql
as an alias ofrun_sql
- Fix suggestion issue with the
*_suggest_relationships
metadata API. - Add a
content-length
response header to all endpoints - Improve phrasing for the "conflicting type definitions" error message
- Add a new option to
set_query_tags
API to omit therequest_id
field 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