{"record":{"id":"973bd217e3233349","repo":"hasura/graphql-engine","slug":"the-version-specified-in-the-capabilities-versi-973bd2","errorCode":null,"errorMessage":"The version specified in the capabilities (\"{version}\") is an invalid version: {error}. Consider upgrading the data connector to the latest version to fix this.","messagePattern":"The version specified in the capabilities \\(\"(.+?)\"\\) is an invalid version: (.+?)\\. Consider upgrading the data connector to the latest version to fix this\\.","errorType":"validation","errorClass":"DataConnectorIssue::InvalidNdcV01Version","httpStatus":null,"severity":"warning","filePath":"v3/crates/metadata-resolve/src/stages/data_connectors/error.rs","lineNumber":63,"sourceCode":"    },\n}\n\n#[derive(Debug, thiserror::Error)]\n#[error(\"The data connector {data_connector_name} has an issue: {issue}\")]\npub struct NamedDataConnectorIssue {\n    pub data_connector_name: Qualified<DataConnectorName>,\n    pub issue: DataConnectorIssue,\n}\n\nimpl ShouldBeAnError for NamedDataConnectorIssue {\n    fn should_be_an_error(&self, flags: &flags::OpenDdFlags) -> bool {\n        self.issue.should_be_an_error(flags)\n    }\n}\n\n#[derive(Debug, thiserror::Error)]\npub enum DataConnectorIssue {\n    #[error(\n        \"The version specified in the capabilities (\\\"{version}\\\") is an invalid version: {error}. Consider upgrading the data connector to the latest version to fix this.\"\n    )]\n    InvalidNdcV01Version {\n        version: String,\n        error: semver::Error,\n    },\n}\nimpl ShouldBeAnError for DataConnectorIssue {\n    fn should_be_an_error(&self, flags: &flags::OpenDdFlags) -> bool {\n        match self {\n            DataConnectorIssue::InvalidNdcV01Version { .. } => {\n                flags.contains(flags::Flag::RequireValidNdcV01Version)\n            }\n        }\n    }\n}\n","sourceCodeStart":45,"sourceCodeEnd":80,"githubUrl":"https://github.com/hasura/graphql-engine/blob/724551b9ae87845594ef0408cff0e50eb6c90dc5/v3/crates/metadata-resolve/src/stages/data_connectors/error.rs#L45-L80","documentation":"A v0.1-era issue variant: the version string in capabilities is not valid SemVer, reported as an issue (potentially warning-level) with an explicit hint to upgrade the connector. Distinct from the hard error variant, it targets legacy v0.1 connectors.","triggerScenarios":"Resolving a legacy v0.1 data connector whose capabilities contain an unparseable version string.","commonSituations":"Legacy connectors deployed before NDC versioning was standardized.","solutions":["Upgrade the data connector to the latest version (as the message suggests)","If upgrading isn't possible, use a connector shim reporting a valid SemVer version","Suppress via flags only as a stopgap"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"if connector.is_v01_legacy() { semver::Version::parse(&capabilities.version)?; }","typeGuard":null,"tryCatchPattern":"Catch InvalidNdcV01Version as a warning; schedule connector upgrade rather than failing the build.","preventionTips":["Upgrade legacy v0.1 connectors proactively","Gate v0.1 connectors behind compatibility flags"],"tags":["ndc","semver","legacy","data-connector"],"backgroundTag":"invalid-version-string","analyzedSha":"724551b9ae87845594ef0408cff0e50eb6c90dc5","analyzedAt":"2026-08-28T07:32:55.105Z","schemaVersion":2},"datasetVersion":"2026-08-28T11:17:15.048Z"}