What’s new in Hasura GraphQL Engine v2.49.4
This patch release (officially announced on the Hasura GitHub releases page) focuses on stability and operational safety.
Server‑side improvements
- Idempotent catalog and Postgres source migrations – All
ADD COLUMNstatements now includeIF NOT EXISTS, preventing failures when a migration has already been applied but its version wasn’t recorded. (vendor claim) - Bounded WebSocket queue – New environment variable
HASURA_GRAPHQL_WEBSOCKET_QUEUE_SIZEcaps the internal send queue at 100 messages by default. When the limit is hit, the oldest message is dropped. This mitigates unbounded memory growth caused by very slow or long‑lived clients. Metricshasura_websocket_messages_queued_totalandhasura_websocket_messages_evicted_totalexpose queue activity. (vendor claim) - Header deprecation – The long‑deprecated
X-Hasura-Access-Keyheader is no longer accepted; clients should useX-Hasura-Admin-Secretinstead. (vendor claim) - Extra JWT claim validation – An
extra_required_claimsoption lets administrators enforce that a JWT contains specificissuerand/oraudiencefields when those are configured. By default the validation is permissive, so enabling this option tightens security for self‑hosted identity providers. (vendor claim)
CLI enhancements
- New command:
hasura metadata apply-data-sources– Applies only the data‑source connection configuration from project metadata, leaving existing tracked tables untouched. It is idempotent and non‑destructive, enabling teams to provision data sources before running database migrations, thereby avoiding a window where metadata could expose non‑existent tables. (vendor claim)
Why these changes matter
Idempotent migrations reduce manual recovery steps after partial rollout failures. The bounded WebSocket queue protects server memory in high‑latency client scenarios, a common concern for real‑time dashboards. Tightening JWT validation helps organisations meet stricter compliance requirements, while the new CLI command streamlines CI/CD pipelines that separate schema migration from metadata application.
For the full changelog, see the official release page.