Hasura - v2.3.0


Changelog

Experimental SQL optimizations

Row-level permissions are applied by a translation into SQL WHERE clauses. If
some tables have similar row-level permission filters, then the generated SQL
may be repetitive and not perform well, especially for GraphQL queries that make
heavy use of relationships.

This version includes an experimental optimization for some SQL queries. It
is expressly experimental, because of the security-sensitive nature of the
transformation that it applies. You should scrutinize the optimized SQL
generated by this feature before using it in production.

The optimization can be enabled using the
--experimental-features=optimize_permission_filters flag or the
HASURA_GRAPHQL_EXPERIMENTAL_FEATURES environment variable.

Breaking changes

  • Computed field comments are now used as the description for the field in the GraphQL schema. This means that computed fields where the comment has been set to empty string will cause the description of the field in the GraphQL schema to also be blank. Setting the computed field comment to null will restore the previous auto-generated description. The previous version of the Console would set the comment to empty string if the comment textbox was left blank, so some existing computed fields may unintentionally have empty string set as their comment.

Bug fixes and improvements

  • server: validate saved REST endpoint queries wrt schema
  • server: improved error reporting for env vars in test_webhook_transform metadata API endpoint
  • server: extend allowlist metadata with scope information, new command update_scope_of_allowlist_in_metadata
  • server: (Postgres, Citus, and MSSQL backends) Identity columns and computed
    columns are now marked immutable, removing them from the schema of insert and
    update mutations.
  • server: allow inserting more than 1 row simultaneously into table with generated columns (fix #4633)
    that have generated columns in Postgres.
  • server: postgres: return a single entry per row (selected randomly) when an object relationship has multiple matches (fix #7936)
  • server: Updates Kriti to v0.3.0
  • server: add operation name in the request sent to remote schemas
  • server: add support for scalar response types for actions (fix #7805)
  • server: fix nullable action response (fix #4405)
  • server: add support for customization of table & computed field GraphQL schema descriptions (fix #7496)
  • server: classify MSSQL exceptions and improve API error responses
  • server: MSSQL generates correct SQL when object relationships are null.
  • console: add support for remote database relationships
  • console: enable support for update permissions for mssql
  • cli: skip tls verIfication for all API requests when insecure-skip-tls-verify flag is set (fix #4926)
  • server: fix issues working with read-only DBs by reverting the need for storing required SQL functions in a hdb_lib schema in the user's DB
  • server: Fix experimental sql optimization read from HASURA_GRAPHQL_EXPERIMENTAL_FEATURES or --experimental-features

Details

date
March 2, 2022, 4:48 p.m.
name
v2.3.0
type
Minor
👇
Register or login to:
  • 🔍View and search all Hasura releases.
  • 🛠️Create and share lists to track your tools.
  • 🚨Setup notifications for major, security, feature or patch updates.
  • 🚀Much more coming soon!
Continue with GitHub
Continue with Google
or