Skip to content

30th alpha release for v1.0.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@hasura-bot hasura-bot released this 23 Nov 14:15
· 8193 commits to master since this release

Known Issues

There is a bug in this release which causes applying metadata (exported from a previous version) to fail. A workaround is to add remote_schemas: [] as a top-level key in the meatadata.yaml file.

A fix (#1121) is already in the works and we should be releasing it by Wednesday.

Changelog

There is a minor breaking change so please read carefully before upgrading to v1.0.0-alpha30.

Breaking change

The behavior of desc in order_by clause is now changed to DESC NULLS FIRST from DESC NULLS LAST. This was needed as Postgres cannot use a btree index on the ordering column with DESC NULLS LAST resulting in bad performance. After the change, the behavior is similar to that o Postgres when you specify ORDER BY column DESC.

This will only affect you if you are using desc in an order_by clause with a column which is nullable. If you want the previous behavior, you can force it by {order_by: {column: desc_nulls_last}.

Features

  1. Postgres's DISTINCT ON feature is now supported in queries with a new argument distinct_on. You can find an example here: https://docs.hasura.io/1.0/graphql/manual/queries/distinct-queries.html and Postgres's docs here: https://www.postgresql.org/docs/11/sql-select.html#SQL-DISTINCT.

  2. We have added experimental support for remote schemas/schema stitching in graphql-engine. If you currently have your own graphql server which schema stitches with hasura, we do not recommend you to use this feature yet as it has these limitations:

  • Type names and top level field names need to be unique across all merged schemas.
  • Top level fields from different GraphQL servers cannot be used in the same query/mutation. All top-level fields have to be from the same GraphQL server.
  • Subscriptions on remote GraphQL server are not supported.
  • Interfaces and unions are not supported - if a remote schema has interfaces/errors, an error will be thrown if you try to merge it.

These limitations will be addressed over the course of next few releases.

Fixes

  1. The new SQL generation logic for _in introduced in alpha29 couldn't handle empty arrays for input. This is now fixed.
  2. Previously the server docker image had ENV HASURA_GRAPHQL_ENABLE_CONSOLE=true by default. This has been removed in this release, which means that console will not be enabled unless this env var is added or the --enable-console is used.

Commit history

  • server: handle empty array for _in and _nin operators, fix #1075 (#1076)
  • server: change descending ordering to nulls first (fix #1008) (#1009)
  • server: support Postgres's DISTINCT ON (close #1040) (#1099)
  • server: update server dockerfile, install manifests and docs (#1097)
  • server: cli: console: adds basic support for remote schemas/schema stitching (#952)