github hasura/graphql-engine v2.15.0-beta.1

latest releases: v2.45.0-beta.1, cli/v2.45.0-beta.1, v2.44.0...
pre-release2 years ago

Changelog

Highlights

Support for CockroachDB (beta)

We are pleased to announce the beta release for CockroachDB datasource on the Hasura GraphQL Engine. In this beta release Hasura supports Queries and Mutations with plans to add support for subscription before the GA release, which will coincide with the release of CockroachDB v22.2 (tentatively scheduled for early December).

CockroachDB is a distributed SQL database built on a transactional and strongly-consistent key-value store. It scales horizontally; survives disk, machine, rack, and even datacenter failures with minimal latency disruption and no manual intervention; supports strongly-consistent ACID transactions; and provides a familiar SQL API for structuring, manipulating, and querying data.

Together with Hasura, CockroachDB now supports: Instant GraphQL & REST APIs, Declarative Role Based Authorization, Advanced Security and Performance with rate limiting, allow lists, and caching.

Minimum Version Requirements

  • Hasura GraphQL engine v2.15.0 onwards
  • CockroachDB v22.2 onwards

ODBC Driver 18 for SQL Server

The ODBC Driver 18 for SQL Server is now installed. This allows users to provide ODBC Driver 18 connection strings. Because this version has native support for arm64/aarch64, this means that Hasura GraphQL Engine can now connect to a MS SQL Server database when running on macOS with an aarch64 chip (M1 or M2).

Action and Event Trigger Improvements

1. Action Response Transforms on Console

Response transformation for Actions has been available in the API. Now you can configure response transforms on the console (below the payload transform section of the Action creation form).

image

2. Support for optional query parameters

When defining optional query parameters for rest endpoints, if the input is empty, the query parameter is still attempted to be sent, which yields an error at most REST endpoints as mentioned in this issue. With this release, actions and event trigger REST connector query parameters are now optional. For more information please see documentation here.

3. Updates to JSON payload transformation templates

Transforming of payloads for Actions and Event Triggers in Hasura is achieved using the in-house developed templating language - kriti-lang. In this release we have updated it to version 0.3.3 which has the following changes:

  • Adds elif syntax to if expressions.
  • Improved error messaging and error codes.
  • Allow arbitrary expressions as range iteratee.
  • Adds Kriti.CustomFunctions.basicFuncMap functions to the kriti executable.
  • Adds KritiError type to exports from Kriti.

Bug fixes and improvements

Server

  • Make action/event trigger REST connector query params optional
  • Postgres: change the name scheme for aggregation predicate types from <table name>_ <relation name>_aggregate to <relation table name>_aggregate_bool_exp, to avoid conflicting definitions with regular table selection aggregates.
  • add IF EXISTS while dropping the constraint in source migrations (2 -> 3)
  • fix remote relationship to remote schema sometimes being erroneously null when multiple relationships are defined on the same table / graphql object (fix #8345)
  • pg_dump has been upgraded in order to support PostgreSQL 15.
  • Add api limit - batch limit. batch limit - restricts the number of GraphQL operations for batched requests (Enterprise Edition only)
  • close the WS connection in case of Apollo-ws protocol (protocol value: graphql-ws), when there is no authentication present (admin secret or unauthenticated role)

Console

  • Display Prometheus configuration in the console Settings page. (Enterprise Edition only)
  • Fix remote schema permissions with null default value. Related issue
  • Fix remote schema permissions with interfaces. Related issue
  • Fix remote schema permission when there are arguments. Related issue
  • Add Batch on Security -> API Limits tab to tackle GraphQL batching attacks. (Enterprise Edition only)
  • Fixes failures/indefinite loading during operation inspection in monitoring tab. (Enterprise Edition only)
  • Show Total Max Connections pool settings fields on connect DB page

Don't miss a new graphql-engine release

NewReleases is sending notifications on new releases.