withastro/astro · warning
The adapter ${adapterName} has deprecated its support for "$
Error message
The adapter ${adapterName} has deprecated its support for "${featureName}", and future compatibility is not guaranteed. The adapter may completely remove support for this feature without warning. What it means
At config setup Astro validates the adapter's per-feature support declarations (adapter.features). When a feature's support kind is DEPRECATED and suppression is not requested, Astro warns (domain 'config') that the adapter has deprecated that feature and may remove it without warning — the build still works today but is on borrowed time.
Source
Thrown at packages/astro/src/integrations/features-validation.ts:153
}
return false;
}
function logFeatureSupport(
adapterName: string,
logger: AstroLogger,
featureName: string,
supportKind: AdapterSupport,
adapterMessage?: string,
suppress?: 'all' | 'default',
) {
if (!suppress) {
switch (supportKind) {
case AdapterFeatureStability.STABLE:
break;
case AdapterFeatureStability.DEPRECATED:
logger.warn(
'config',
`The adapter ${adapterName} has deprecated its support for "${featureName}", and future compatibility is not guaranteed. The adapter may completely remove support for this feature without warning.`,
);
break;
case AdapterFeatureStability.EXPERIMENTAL:
logger.warn(
'config',
`The adapter ${adapterName} provides experimental support for "${featureName}". You may experience issues or breaking changes until this feature is fully supported by the adapter.`,
);
break;
case AdapterFeatureStability.LIMITED:
logger.warn(
'config',
`The adapter ${adapterName} has limited support for "${featureName}". Certain features may not work as expected.`,
);
break;
case AdapterFeatureStability.UNSUPPORTED:
logger.error(View on GitHub (pinned to 52e6c34790)
Solutions
- Check the adapter's changelog for the recommended migration off that feature
- Migrate away from the deprecated feature, or consciously pin the adapter version while you plan the move
- Adapter authors can suppress the warning for intentional use; end users can filter it from logs if the usage is deliberate
Defensive patterns
Strategy: validation
Validate before calling
const features = astroConfig.adapter?.features ?? {};
for (const [name, f] of Object.entries(features)) {
if (f && typeof f === 'object' && f.support === 'deprecated') {
console.warn('adapter deprecated feature in use: ' + name);
}
} Type guard
function isDeprecatedSupport(f: unknown): boolean {
return typeof f === 'object' && f !== null && (f as { support?: string }).support === 'deprecated';
} Prevention
- Track adapter changelogs alongside Astro releases
- Avoid building core flows on adapter features marked deprecated
- Re-test image/secret/env flows after every adapter upgrade
When it happens
Trigger: Your adapter's feature map declares support: 'deprecated' for a feature the project uses (e.g. sharpImageService, envGetSecret) and neither the adapter nor your setup passes a suppress value for it.
Common situations: Adapter releases progressively withdrawing niche features; pairing an older adapter with a newer Astro where a feature moved to deprecated; warning appearing right after upgrading the adapter package.
Related errors
- The adapter ${adapterName} provides experimental support for
- The adapter ${adapterName} has limited support for "${featur
- Auto-generating collections for folders in "src/content/" t
- [preview] No adapter found.
- Setting the 'mode' option is required.
AI-assisted analysis of withastro/astro@52e6c34790 (2026-08-18).
Data as JSON: /api/errors/d8ea745c7dee1198.
Report an issue: GitHub.