{"record":{"id":"b227ae1d0e31535d","repo":"hasura/graphql-engine","slug":"the-version-specified-in-the-capabilities-versi","errorCode":null,"errorMessage":"The version specified in the capabilities (\"{version}\") is an invalid version: {error}","messagePattern":"The version specified in the capabilities \\(\"(.+?)\"\\) is an invalid version: (.+?)","errorType":"validation","errorClass":"DataConnectorError::InvalidNdcVersion","httpStatus":null,"severity":"error","filePath":"v3/crates/metadata-resolve/src/stages/data_connectors/error.rs","lineNumber":32,"sourceCode":"#[error(\"The data connector {data_connector_name} has an error: {error}\")]\npub struct NamedDataConnectorError {\n    pub data_connector_name: Qualified<DataConnectorName>,\n    pub error: DataConnectorError,\n}\n\n#[derive(Debug, thiserror::Error)]\npub enum DataConnectorError {\n    #[error(\"the data connector is defined more than once\")]\n    DuplicateDataConnectorDefinition,\n    #[error(\"The url for the data connector is invalid: {error}\")]\n    InvalidDataConnectorUrl { error: url::ParseError },\n    #[error(\"Invalid header name {header_name} specified\")]\n    InvalidHeaderName { header_name: String },\n    #[error(\"Invalid value specified for header {header_name}\")]\n    InvalidHeaderValue { header_name: String },\n    #[error(\"{0}\")]\n    NdcValidationError(NDCValidationError),\n    #[error(\n        \"The version specified in the capabilities (\\\"{version}\\\") is an invalid version: {error}\"\n    )]\n    InvalidNdcVersion {\n        version: String,\n        error: semver::Error,\n    },\n    #[error(\n        \"The version specified in the capabilities (\\\"{version}\\\") is not compatible with the schema version specified. The version requirement is {requirement}\"\n    )]\n    IncompatibleNdcVersion {\n        version: String,\n        requirement: semver::VersionReq,\n    },\n}\n\n#[derive(Debug, thiserror::Error)]\n#[error(\"The data connector {data_connector_name} has an issue: {issue}\")]\npub struct NamedDataConnectorIssue {","sourceCodeStart":14,"sourceCodeEnd":50,"githubUrl":"https://github.com/hasura/graphql-engine/blob/724551b9ae87845594ef0408cff0e50eb6c90dc5/v3/crates/metadata-resolve/src/stages/data_connectors/error.rs#L14-L50","documentation":"The version string in the connector's capabilities document is not valid SemVer, so it cannot be compared against the required version range.","triggerScenarios":"Capabilities report a version like 'v1.2' or 'latest' that fails semver parsing.","commonSituations":"Custom/in-house connectors emitting non-SemVer version fields.","solutions":["Make the connector report a valid SemVer version (e.g. 1.2.0)","Rebuild or re-fetch capabilities"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"semver::Version::parse(&capabilities.version)?;","typeGuard":null,"tryCatchPattern":"Catch InvalidNdcVersion and report the raw version string and parse error.","preventionTips":["Emit strict SemVer (MAJOR.MINOR.PATCH) from connectors","Add a unit test for the connector's version string"],"tags":["ndc","semver","version","data-connector"],"backgroundTag":"invalid-version-string","analyzedSha":"724551b9ae87845594ef0408cff0e50eb6c90dc5","analyzedAt":"2026-08-28T07:32:55.105Z","schemaVersion":2},"datasetVersion":"2026-08-28T11:17:15.048Z"}