hasura/graphql-engine · error · CompatibilityError

no compatibility config found

Error message

no compatibility config found

What it means

The compatibility configuration lookup found no entry applicable to the requested compatibility date/version. The engine needs at least one compatibility config to resolve feature behavior.

Source

Thrown at v3/crates/compatibility/src/config.rs:27

    /// Any backwards incompatible changes made to Hasura DDN after this date won't impact the metadata.
    pub date: CompatibilityDate,
    // TODO: add flags.
}

#[derive(Clone, Debug, PartialEq, serde::Serialize, opendds_derive::OpenDd)]
#[serde(rename_all = "camelCase")]
#[serde(deny_unknown_fields)]
#[opendd(json_schema(id = "v2/CompatibilityConfig"))]
/// The compatibility configuration of the Hasura metadata.
pub struct CompatibilityConfigV2 {
    /// Any backwards incompatible changes made to Hasura DDN after this date won't impact the metadata.
    pub date: CompatibilityDate,
    // TODO: add flags.
}

#[derive(Debug, PartialEq, thiserror::Error)]
pub enum CompatibilityError {
    #[error("no compatibility config found")]
    NoCompatibilityConfigFound,
    #[error("duplicate compatibility config found")]
    DuplicateCompatibilityConfig,
    #[error("compatibility date {specified} is too old, oldest supported date is {oldest}")]
    DateTooOld {
        specified: CompatibilityDate,
        oldest: CompatibilityDate,
    },
    #[error("compatibility date {0} is in the future")]
    DateInTheFuture(CompatibilityDate),
}

View on GitHub (pinned to 724551b9ae)

Solutions

  1. Ensure the built-in compatibility config entries are loaded/registered before resolving a date
  2. If loading from a file, verify the file exists and parses into at least one entry
  3. Upgrade to a version whose bundled configs cover your date
  4. Report/package bug if configs should have been embedded but are missing
Defensive patterns

Strategy: validation

Validate before calling

assert(compatibilityConfigs.length > 0, 'no compatibility config found');

Prevention

When it happens

Trigger: Loading/validating compatibility configuration when the collection of compatibility configs is empty or none matches the requested project compatibility date.

Common situations: Fresh or corrupted install missing built-in compatibility configs; config file stripped during packaging; embedding the library without registering default compatibility entries.

Related errors


AI-assisted analysis of hasura/graphql-engine@724551b9ae (2026-08-28). Data as JSON: /api/errors/d6f4e88d5e056ab4. Report an issue: GitHub.