Hasura Version Support Policy
Releases and support
Hasura DDN releases its software via independently versioned components, such as:
- Engine
- Connectors
- CLI
Each of these components is released independently. While they do not have "versioned" releases as a unified product, their individual versions are critical for ensuring compatibility and understanding what to use and upgrade. Versions for the CLI and connectors follow semantic versioning:
- Major versions may include incompatible or breaking changes.
- Minor versions introduce new functionality and bug fixes in a backwards-compatible manner.
- Patch versions provide backwards-compatible bug fixes.
The Engine utilizes calver (calendar versioning) instead of semver, with versions aligned to the year, month, and date of the release. This approach provides clarity on the recency of releases.
When to upgrade a component
Managing independently versioned components offers flexibility but requires careful planning to ensure compatibility and functionality. Follow these guidelines to decide when and how to upgrade:
-
Engine:
- When to upgrade: Upgrade when new features, performance improvements, or critical bug fixes are introduced in the release notes.
- Compatibility details: The Engine utilizes a
CompatibilityConfig
object that defines the compatibility configuration of the Hasura metadata. Learn more here. - Why it matters: The Engine is the core of your GraphQL API, and updates may introduce new capabilities or optimizations.
-
Connectors:
- When to upgrade: Upgrade when your current connector version does not support features or updates in the Engine. Verify compatibility using the connector release notes.
- Why it matters: Connectors ensure seamless integration with your data sources, and outdated versions may lead to errors or limited functionality.
-
CLI:
- When to upgrade: Upgrade when new commands, workflows, or fixes are introduced, or when compatibility with the Engine or connectors is required.
- Why it matters: The CLI is your primary tool for automation and deployment. Staying up-to-date ensures you can use all supported features effectively.
Example: Coordinating component upgrades
Imagine the Engine releases a new feature in version 2024.07.10
. Before upgrading, check the release notes for:
- Supported connectors for this version of the Engine.
- Required CLI versions to use the new Engine capabilities.
Step-by-step upgrade process:
- Review the Hasura Changelog for details about the new Engine version.
- Cross-check connector and CLI release notes to confirm compatibility with the new Engine version.
- Upgrade the Engine first, followed by connectors and CLI, in that order, to maintain compatibility and minimize disruptions.
Reporting bugs and requesting fixes
Hasura is committed to providing enterprise-grade reliability and support to ensure your business operates seamlessly. For bug reporting and resolution, the following process ensures efficiency and transparency:
-
Reporting Bugs:
- Bugs can be reported through the Hasura Support Portal.
- Customers are encouraged to provide detailed descriptions, logs, and replication steps to help expedite resolution.
-
Bug Triage and Prioritization:
- Reported issues are triaged based on severity and impact, prioritizing critical bugs that affect system security, availability, or functionality.
- Issues impacting production environments are escalated for immediate attention.
-
Bug Fix Releases:
- Fixes for critical issues are rolled out as patch updates. Non-critical issues are included in the subsequent minor or major releases.
- Customers are notified through release notes, the Hasura Changelog, and direct communication for mission-critical updates.
Security updates and communication
Security is a top priority for Hasura. To maintain the integrity of your systems, we adhere to the following practices:
-
Proactive Security Patching:
- Vulnerabilities are addressed promptly with targeted patch updates.
- Security patches are backward-compatible and applied to supported versions.
-
Customer Communication:
- Security updates are communicated directly to enterprise customers through our Customer Success team and email notifications.
- Detailed documentation and guidance are provided to ensure smooth implementation of critical updates.
Rolling out updates
Hasura ensures a seamless update experience for enterprise customers by following these principles:
-
Pre-Release Testing:
- Updates are rigorously tested across supported versions and environments to minimize disruption.
-
Documentation and Support:
- Comprehensive release notes and upgrade guides accompany every update.
- Our support team is available to assist with planning and executing updates, ensuring minimal impact on operations.