Hasura v2.5.0-beta.1 Release Notes
-
Remote relationships from remote schemas
๐ This release adds three new metadata API commands:
create_remote_schema_remote_relationship
update_remote_schema_remote_relationship
delete_remote_schema_remote_relationship
that allows to create remote relationships between remote schemas on the left-hand side and databases or remote schemas on the right-hand side. Both use the same syntax as remote relationships from databases:
type: create_remote_schema_remote_relationship args: remote_schema: LeftHandSide type_name: LeftHandSideTypeName name: RelationshipName definition: to_remote_schema: remote_schema: RightHandSideSchema lhs_fields: [LHSJoinKeyName] remote_field: rhsFieldName: arguments: ids: $LHSJoinKeyName type: create_remote_schema_remote_relationship args: remote_schema: LeftHandSide type_name: LeftHandSideTypeName name: RelationshipName definition: to_source: source: RightHandSideSource table: {schema: public, name: RHSTable} relationship_type: object field_mapping: LHSJoinKeyName: RHSColumnName
๐ Similarly to DB-to-DB relationships, only
Postgres
is supported on the right-hand side for now.๐ Deprecations
- The
custom_column_names
property of TableConfig used on<db>_track_table
andset_table_customization
metadata APIs has been deprecated in favour of the newcolumn_config
property.custom_column_names
will still work for now, however, values used incolumn_config
will take precedence over values fromcustom_column_names
and any overlapped values incustom_column_names
will be discarded.
Behaviour Changes
- ๐ cli: use indentation of 2 spaces in array elements of metadata YAML files
Example: Old behaviour metadata/query_collections.yaml New behaviour metadata/query_collections.yaml
- name: allowed-queries
definition:
queries:
- name: getAlbums query: | query getAlbums { albums { id title } }
- name: allowed-queries definition: queries: - name: getAlbums query: | query getAlbums { albums { id title } }
This change is a result of fixing some inconsistencies and edge cases in writing array elements.
hasura metadata export
will write YAML files in this format going forward. Also, note that this is a backwards compatible change.- ๐ cli: change ordering of elements in metadata files to match server metadata
Example: Server Metadata (JSON) Old behaviour (YAML) New Behaviour (YAML) { "function": { "schema": "public", "name": "search_albums" } } function: name: search_albums schema: public function: schema: public name: search_albums
๐ Bug fixes and improvements
- server: improve error messages in BigQuery upstream API exceptions
- server: Fix regression in MSSQL subscriptions when results exceed 2048 characters (#8267)
- ๐จ server: refactor OpenAPI spec generation (for REST endpoints) and improve OpenAPI warnings
- ๐ server: add jsonb to string cast support - postgres (#7818)
- ๐ server: improve performance of fetching postgres catalog metadata for tables and functions
- ๐ server: Queries present in query collections, such as allow-list and rest-endpoints, are now validated (fixes #7497)
- server: improve SQL generation for BigQuery backend queries involving
Orderby
. - ๐ server: fix regression where remote relationships would get exposed over Relay, which is unsupported
- ๐ server: add support for customising the GraphQL schema descriptions of table columns in metadata
- ๐ server: column presets for SQL Server were broken and consequently insert and upsert mutations were failing with constraint violations. This change fixes this behavior (#8221).
- server: fix caching bug with session variables in remote joins
- server: fix regression where JWKs are refreshed once per second when both must-revalidate and max-age are specified in the Cache-Control header (#8299)
- โก๏ธ server: respect custom field names in delete, insert and update mutations on SQL Server (#8314)
- console: enable searching tables within a schema in the sidebar
- ๐ console: add support for setting comments on the custom root fields of tables/views
- console: add feature flags section in settings
- ๐ console: improved support for setting comments on computed fields
- console: fix the ability to create updated_at and created_at in the modify page (#8239)
- console: fix an issue where editing both a column's name and its GraphQL field name at the same time caused an error
- ๐ console: fix redirect to metadata status page on inconsistent inherited role (#8343)
- console: fix malformed request with REST live preview section (#8316)
- ๐ console: fixed actions search to be case-insensitive
- ๐ cli: add support for customization field in sources metadata (#8292)
- ๐ cli: fix inherited roles metadata not being updated when dropping all roles (#7872)
- ci: ubuntu and centos flavoured graphql-engine images are now available