v2.45.4
Breaking Changes📦 hasura-authView on GitHub →
⚠ 2 breaking✨ 3 features🐛 25 fixes🔧 12 symbols
Summary
This patch release (v2.45) introduces several bug fixes across server components, data connectors, and the Console, alongside minor performance improvements and configuration options for Redis pooling. Notably, it now errors on previously silent remote schema/action type conflicts.
⚠️ Breaking Changes
- When remote schema types conflicted with action types, the conflict was previously silently ignored; now it results in metadata inconsistency errors (`inconsistent_metadata`). Deployments relying on this silent exclusion must now resolve the type conflicts.
- The event trigger log format has changed.
Migration Steps
- If you previously relied on remote schema type conflicts being silently ignored, you must now resolve these conflicts to remove metadata inconsistency errors.
- Users configuring RTS should review GHC 9.14.1 runtime system behavior, especially if using `--nonmoving-gc` and previously setting the `-F` or `-Fd` flags, and may wish to tune them based on new GHC documentation.
- Set `JAVA_OPTS=-Dnet.snowflake.jdbc.enableBouncyCastle=true` in the environment if using RSA key authentication with the bundled super-connector. _(Enterprise edition only)_
- If BigQuery schema introspection exhibits unexpected bugs after upgrading, set `HASURA_BIGQUERY_SLOW_INTROSPECTION_FALLBACK=true` in the environment to revert to the previous introspection method.
✨ New Features
- Added `HASURA_GRAPHQL_CACHING_REDIS_POOL_SIZE` and `HASURA_GRAPHQL_RATE_LIMIT_REDIS_POOL_SIZE` options to configure pooled connections to Redis, defaulting to 500 (up from 50). _(Enterprise/cloud only)_
- Added column sorting functionality to the One-off and Cron scheduled events tables.
- Added `AGGREGATE_FUNCTION` to BigQuery rest routine types.
🐛 Bug Fixes
- Remote schemas are now marked as inconsistent when type conflicts occur with existing schema.
- Fixed the `hasura_http_response_bytes_total` metric to exclude the size of internal error fields when they are not returned to the client.
- OpenTelemetry spans now correctly set error status and message, consistent with logs. _(Enterprise/cloud only)_
- Fixed active subscriptions EKG gauge going negative due to race conditions in `removeLiveQuery` and `removeStreamingQuery` by guarding the gauge decrement.
- Fixed a performance issue causing long cumulative GC sync phase pauses with large gzipped responses.
- Fixed issue where moving an event trigger between tables resulted in duplicate triggers firing on the original table.
- Fixed incorrect setting of the `connection_lifetime` pool setting, potentially improving memory usage and connection balancing. _(Enterprise/cloud only)_
- Tracing related headers are now ignored when caching auth-hook responses. _(Enterprise/cloud only)_
- Fixed erroneous "overloaded functions are not supported" error caused by oid overlap during database upgrades.
- Fixed a bug where types from two remote joins with different prefixes/namespaces might be inter-mixed in the schema.
- Partially fixed bug in streaming subscriptions on non-unique columns where rows might be skipped; in fixed databases, batches may now return more rows than requested due to `FETCH ... WITH TIES` behavior.
- Allowed JWKs that omit the 'use' field, fixing a regression in v2.48.4.
- Removed all `value_from_env` and known-sensitive header values from event trigger logs to prevent secret leakage.
- Set `JAVA_OPTS=-Dnet.snowflake.jdbc.enableBouncyCastle=true` for the bundled super-connector to support RSA key authentication. _(Enterprise edition only)_
- Fixed a bug in experimental `remove_empty_subscription_responses` feature causing a database query error for non-array-returning live queries.
- The experimental feature `remove_empty_subscription_responses` now correctly applies to streaming subscriptions as well as live queries.
- Added new metric `hasura_metadata_inconsistencies`. _(Enterprise/cloud only)_
- Ignored unknown key types when parsing JWK-set JSON; JWKs with a `use` field other than `sig` or `enc` no longer cause errors.
- Fixed remote schema modification failing when schema names contain spaces in the Console.
- Fixed an issue in the Console where exported OpenAPI specs for GET REST endpoints with query variables incorrectly included a requestBody. _(Enterprise/cloud only)_
- REST endpoints with GET method now properly handle query parameters in the Console. _(Enterprise/cloud only)_
- Fixed a bug in the MySQL super-connector where queries on self-referencing tables failed with `Relation not found`. _(Enterprise/cloud only)_
- Fixed update mutations on nullable columns via data connectors by correctly handling `null` values. _(Enterprise/cloud only)_
- Fixed queries selecting self-referential relationships in Snowflake. _(Enterprise/cloud only)_
- Fixed an issue in the SuperConnector Snowflake adapter causing errors when selecting the same relationship more than once. _(Enterprise/cloud only)_
Affected Symbols
hasura_http_response_bytes_totalremoveLiveQueryremoveStreamingQueryHASURA_GRAPHQL_CACHING_REDIS_POOL_SIZEHASURA_GRAPHQL_RATE_LIMIT_REDIS_POOL_SIZEHASURA_BIGQUERY_SLOW_INTROSPECTION_FALLBACKconnection_lifetimehasura_metadata_inconsistenciesAGGREGATE_FUNCTIONJAVA_OPTSnet.snowflake.jdbc.enableBouncyCastleremove_empty_subscription_responses