{"record":{"id":"59ae1f6a7d2f09c7","repo":"hasura/graphql-engine","slug":"compatibility-date-specified-is-too-old-oldest","errorCode":null,"errorMessage":"compatibility date {specified} is too old, oldest supported date is {oldest}","messagePattern":"compatibility date (.+?) is too old, oldest supported date is (.+?)","errorType":"validation","errorClass":"CompatibilityError","httpStatus":null,"severity":"error","filePath":"v3/crates/compatibility/src/config.rs","lineNumber":31,"sourceCode":"\n#[derive(Clone, Debug, PartialEq, serde::Serialize, opendds_derive::OpenDd)]\n#[serde(rename_all = \"camelCase\")]\n#[serde(deny_unknown_fields)]\n#[opendd(json_schema(id = \"v2/CompatibilityConfig\"))]\n/// The compatibility configuration of the Hasura metadata.\npub struct CompatibilityConfigV2 {\n    /// Any backwards incompatible changes made to Hasura DDN after this date won't impact the metadata.\n    pub date: CompatibilityDate,\n    // TODO: add flags.\n}\n\n#[derive(Debug, PartialEq, thiserror::Error)]\npub enum CompatibilityError {\n    #[error(\"no compatibility config found\")]\n    NoCompatibilityConfigFound,\n    #[error(\"duplicate compatibility config found\")]\n    DuplicateCompatibilityConfig,\n    #[error(\"compatibility date {specified} is too old, oldest supported date is {oldest}\")]\n    DateTooOld {\n        specified: CompatibilityDate,\n        oldest: CompatibilityDate,\n    },\n    #[error(\"compatibility date {0} is in the future\")]\n    DateInTheFuture(CompatibilityDate),\n}\n","sourceCodeStart":13,"sourceCodeEnd":39,"githubUrl":"https://github.com/hasura/graphql-engine/blob/724551b9ae87845594ef0408cff0e50eb6c90dc5/v3/crates/compatibility/src/config.rs#L13-L39","documentation":"The requested compatibility date precedes the oldest supported compatibility date ({oldest}). The engine cannot emulate behavior older than the earliest entry it ships.","triggerScenarios":"A project specifies a compatibility date earlier than the earliest bundled compatibility config entry.","commonSituations":"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.","solutions":["Change the project's compatibility date to {oldest} or later","Fix typos in the specified date (check {specified})","Upgrade the engine version to one with older compatibility entries if old behavior is truly required"],"exampleFix":"// before\ncompatibility_date = \"2020-01-01\"\n// after\ncompatibility_date = \"2023-01-01\" // >= oldest supported date","handlingStrategy":"validation","validationCode":"if (specifiedDate < oldestSupportedDate) throw new Error('compatibility date too old');","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Pin compatibility dates to release dates of the engine you use","Lint for suspiciously old dates"],"tags":["configuration","compatibility","versioning"],"backgroundTag":"unsupported-version-too-old","analyzedSha":"724551b9ae87845594ef0408cff0e50eb6c90dc5","analyzedAt":"2026-08-28T07:32:55.105Z","schemaVersion":2},"datasetVersion":"2026-08-28T11:17:15.048Z"}