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).
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
onSecurity -> 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