badges/shields · error · InvalidResponse
no releases
Error message
no releases
What it means
The Bower version badge reads latest_release_number from normalized registry data. If the package has no releases (field is falsy), transform throws InvalidResponse 'no releases'. This distinguishes a package that exists but was never published with a version from other failures.
Source
Thrown at services/bower/bower-version.service.js:27
static openApi = {
'/bower/v/{packageName}': {
get: {
summary: 'Bower Version',
parameters: pathParams({
name: 'packageName',
example: 'bootstrap',
}),
},
},
}
static defaultBadgeData = { label: 'bower' }
static transform(data) {
const version = data.latest_release_number
if (!version) {
throw new InvalidResponse({ prettyMessage: 'no releases' })
}
return version
}
async handle({ packageName }) {
const data = await this.fetch({ packageName })
const version = this.constructor.transform(data)
return renderVersionBadge({ version })
}
}
View on GitHub (pinned to 766fd8bc89)
Solutions
- Publish a tagged release (git tag + push) for the package and re-check the badge.
- Verify the package name in the badge URL matches the Bower registry entry.
- Ensure tags follow valid semver so the registry can pick a latest version.
- If the package is abandoned with no releases, use a different badge or repository.
Example fix
// before git push origin main // after git tag v1.0.0 && git push origin main --tags
Defensive patterns
Strategy: validation
Validate before calling
const data = await fetchNormalizedBowerData(pkg)
if (!data.latest_release_number) {
console.warn(`Bower package '${pkg}' has no releases`)
} Type guard
function hasRelease(data) {
return typeof data?.latest_release_number === 'string' && data.latest_release_number.length > 0
} Try / catch
try {
return await bowerVersionBadge(pkg)
} catch (e) {
if (/no releases/.test(e.message)) return renderBadge('no releases')
throw e
} Prevention
- Tag releases with valid semver and push tags
- Confirm the package is registered in the Bower registry under the exact name
- Check the registry entry when the package is renamed upstream
When it happens
Trigger: Requesting a Bower version badge for a package whose normalized data has no latest_release_number — the package exists in the registry but has no tagged versions, so transform throws InvalidResponse({ prettyMessage: 'no releases' }).
Common situations: Packages registered in the Bower registry with only a master branch and no git tags; repos where tags do not follow semver and were rejected; newly registered packages not yet released; package renamed upstream so the old registry entry is stale.
Related errors
- invalid json response
- invalid response data from auth endpoint
- unparseable svg response
- unparseable toml response
- unparseable xml response
AI-assisted analysis of badges/shields@766fd8bc89 (2026-08-30).
Data as JSON: /api/errors/22e3e734e5c8a308.
Report an issue: GitHub.