{"record":{"id":"d6f4e88d5e056ab4","repo":"hasura/graphql-engine","slug":"no-compatibility-config-found","errorCode":null,"errorMessage":"no compatibility config found","messagePattern":"no compatibility config found","errorType":"validation","errorClass":"CompatibilityError","httpStatus":null,"severity":"error","filePath":"v3/crates/compatibility/src/config.rs","lineNumber":27,"sourceCode":"    /// 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(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":9,"sourceCodeEnd":39,"githubUrl":"https://github.com/hasura/graphql-engine/blob/724551b9ae87845594ef0408cff0e50eb6c90dc5/v3/crates/compatibility/src/config.rs#L9-L39","documentation":"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.","triggerScenarios":"Loading/validating compatibility configuration when the collection of compatibility configs is empty or none matches the requested project compatibility date.","commonSituations":"Fresh or corrupted install missing built-in compatibility configs; config file stripped during packaging; embedding the library without registering default compatibility entries.","solutions":["Ensure the built-in compatibility config entries are loaded/registered before resolving a date","If loading from a file, verify the file exists and parses into at least one entry","Upgrade to a version whose bundled configs cover your date","Report/package bug if configs should have been embedded but are missing"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"assert(compatibilityConfigs.length > 0, 'no compatibility config found');","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Verify compatibility config file is bundled in deployment artifacts","Run config validation at startup"],"tags":["configuration","compatibility"],"backgroundTag":"missing-compatibility-config","analyzedSha":"724551b9ae87845594ef0408cff0e50eb6c90dc5","analyzedAt":"2026-08-28T07:32:55.105Z","schemaVersion":2},"datasetVersion":"2026-08-28T11:17:15.048Z"}