Releases: hasura/graphql-engine
v2.11.12
Changelog
This is a patch release for v2.11
Bug fixes and improvements
Server
- Introduce
HASURA_GRAPHQL_HTTP_LOG_QUERY_ONLY_ON_ERROR
env var and--http-log-query-only-on-error
flag to attachquery
field tohttp-log
logs only on failed requests.
v2.34.0
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)
- Type and field names of named constraints that appear in
-
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'sPermissions
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
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
Changelog
This is a patch release for v2.33
Bug fixes and improvements
Data Connectors
- Revert
/schema
GET
request body, deprecate/schema
GET
, addpost_schema
capability and/schema
POST
with performance improvements and filter capabilities.
v2.34.0-beta.1
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)
- Type and field names of named constraints that appear in
-
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'sPermissions
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.3
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.33.2
v2.32.2
v2.33.1
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
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 relationship predicate can only be one level deep although, the predicate can be nested in an
-
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 wasinfo
. (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 toerror
. By default, the value is set to log-levelInfo
. (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
andhasura_postgres_pool_wait_time
. (Cloud / Enterprise edition only) - Adds new Prometheus/OpenTelemetry metrics for monitoring OTLP telemetry export:
hasura_otel_sent_spans
andhasura_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.