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
- Make the connector report a valid SemVer version (e.g. 1.2.0)
- 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
- Emit strict SemVer (MAJOR.MINOR.PATCH) from connectors
- Add a unit test for the connector's version string
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
- The version specified in the capabilities ("{version}") is a
- cannot update from a non-semver version: %s
- unable to parse version: %w
- invalid connector error: {0}
- invalid connector error with status {status} and {content}
AI-assisted analysis of hasura/graphql-engine@724551b9ae (2026-08-28).
Data as JSON: /api/errors/b227ae1d0e31535d.
Report an issue: GitHub.