badges/shields · warning · InvalidResponse

no release date found

Error message

no release date found

What it means

The winget release-date service throws InvalidResponse 'no release date found' when the package's version manifest contains no usable ReleaseDate field. The manifests were fetched successfully, but no version entry exposed a release date.

Source

Thrown at services/winget/winget-release-date.service.js:53

    const manifestPath = this.constructor.manifestPathFor({ name, version })
    const filesToTry = [`${name}.installer.yaml`, `${name}.yaml`]

    let releaseDate
    for (const file of filesToTry) {
      const json = await this.fetchManifest({
        expression: `HEAD:${manifestPath}/${file}`,
      })
      const text = json.data.repository.object?.text
      if (!text) continue
      const manifest = yaml.load(text)
      if (manifest?.ReleaseDate) {
        releaseDate = manifest.ReleaseDate
        break
      }
    }

    if (!releaseDate) {
      throw new InvalidResponse({ prettyMessage: 'no release date found' })
    }

    return renderDateBadge(releaseDate)
  }
}

View on GitHub (pinned to 766fd8bc89)

Solutions

  1. Check the package's manifests in microsoft/winget-pkgs to confirm ReleaseDate is populated
  2. If the field is absent upstream, no release-date badge can be rendered — remove it or use a version badge instead
  3. Pin to a newer version whose manifest includes ReleaseDate
  4. Report missing ReleaseDate to the package maintainers on winget-pkgs
Defensive patterns

Strategy: type-guard

Validate before calling

// inspect the manifest before rendering a release-date badge
const manifest = JSON.parse(JSON.stringify(manifestData))
if (!manifest.ReleaseDate) console.warn('no ReleaseDate in manifest — release-date badge unavailable');

Type guard

function hasReleaseDate(manifest) { return typeof manifest?.ReleaseDate === 'string' && manifest.ReleaseDate.length > 0 }

Try / catch

try {
  const badge = await wingetReleaseDate.handle({ name })
} catch (e) {
  if (e.message === 'no release date found') {
    // fall back to a version-only badge
  } else throw e
}

Prevention

When it happens

Trigger: The selected version's manifest lacks a ReleaseDate property or it is empty/null, common for older manifests or packages installed from installers that omit the field.

Common situations: Old winget manifests predating the ReleaseDate field, packages whose publisher never set a release date, manifest schema changes between versions.

Related errors


AI-assisted analysis of badges/shields@766fd8bc89 (2026-08-30). Data as JSON: /api/errors/3f16a7e6ececcd34. Report an issue: GitHub.