hasura/graphql-engine · error · CompatibilityError

compatibility date {specified} is too old, oldest supported

Error message

compatibility date {specified} is too old, oldest supported date is {oldest}

What it means

The requested compatibility date precedes the oldest supported compatibility date ({oldest}). The engine cannot emulate behavior older than the earliest entry it ships.

Source

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

#[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. Change the project's compatibility date to {oldest} or later
  2. Fix typos in the specified date (check {specified})
  3. Upgrade the engine version to one with older compatibility entries if old behavior is truly required

Example fix

// before
compatibility_date = "2020-01-01"
// after
compatibility_date = "2023-01-01" // >= oldest supported date
Defensive patterns

Strategy: validation

Validate before calling

if (specifiedDate < oldestSupportedDate) throw new Error('compatibility date too old');

Prevention

When it happens

Trigger: A project specifies a compatibility date earlier than the earliest bundled compatibility config entry.

Common situations: Typo in the compatibility date (wrong year); importing an old project with a date before the oldest supported release; downgrading the engine while keeping a recent config.

Related errors


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