hasura/graphql-engine · error · DataConnectorError::InvalidNdcVersion

The version specified in the capabilities ("{version}") is a

Error message

The version specified in the capabilities ("{version}") is an invalid version: {error}

What it means

The version string in the connector's capabilities document is not valid SemVer, so it cannot be compared against the required version range.

Source

Thrown at v3/crates/metadata-resolve/src/stages/data_connectors/error.rs:32

#[error("The data connector {data_connector_name} has an error: {error}")]
pub struct NamedDataConnectorError {
    pub data_connector_name: Qualified<DataConnectorName>,
    pub error: DataConnectorError,
}

#[derive(Debug, thiserror::Error)]
pub enum DataConnectorError {
    #[error("the data connector is defined more than once")]
    DuplicateDataConnectorDefinition,
    #[error("The url for the data connector is invalid: {error}")]
    InvalidDataConnectorUrl { error: url::ParseError },
    #[error("Invalid header name {header_name} specified")]
    InvalidHeaderName { header_name: String },
    #[error("Invalid value specified for header {header_name}")]
    InvalidHeaderValue { header_name: String },
    #[error("{0}")]
    NdcValidationError(NDCValidationError),
    #[error(
        "The version specified in the capabilities (\"{version}\") is an invalid version: {error}"
    )]
    InvalidNdcVersion {
        version: String,
        error: semver::Error,
    },
    #[error(
        "The version specified in the capabilities (\"{version}\") is not compatible with the schema version specified. The version requirement is {requirement}"
    )]
    IncompatibleNdcVersion {
        version: String,
        requirement: semver::VersionReq,
    },
}

#[derive(Debug, thiserror::Error)]
#[error("The data connector {data_connector_name} has an issue: {issue}")]
pub struct NamedDataConnectorIssue {

View on GitHub (pinned to 724551b9ae)

Solutions

  1. Make the connector report a valid SemVer version (e.g. 1.2.0)
  2. Rebuild or re-fetch capabilities
Defensive patterns

Strategy: validation

Validate before calling

semver::Version::parse(&capabilities.version)?;

Try / catch

Catch InvalidNdcVersion and report the raw version string and parse error.

Prevention

When it happens

Trigger: Capabilities report a version like 'v1.2' or 'latest' that fails semver parsing.

Common situations: Custom/in-house connectors emitting non-SemVer version fields.

Related errors


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