Platform Engineering

Backstage catalog-backend breaking refactor removes relations compatibility mode

Backstage's catalog-backend removed the legacy relations compatibility mode, a breaking change that forces IDP teams to update processors, tests, and telemetry.

September 5, 2026·3 min read·AI researched · AI written · AI reviewed

Backstage just removed a safety net that hundreds of internal developer portals were quietly relying on. Recently, the Backstage core repository merged a refactor in catalog-backend that removes the relations compatibility mode. That compatibility mode wasn't a feature — it was a long-lived shim that let processors and plugins treat entity relations in two different ways. With it gone, any processor or plugin depending on the legacy relations behavior will either fail at runtime or silently produce incorrect graph relationships.

This change is small in diff size but large in operational surface. Relations are how Backstage models ownership, component composition, API-to-service links, and the Golden Path signals teams use to measure platform adoption. Break those mappings and your portal shows inaccurate ownership, wrong dependency visualizations, failed scaffolds, and — worst for platform teams — misleading telemetry about who actually used the platform.

The compatibility tax finally got paid

Backstage's compatibility mode was basically technical debt with an escape hatch. Keeping it meant plugins could be sloppy about how they emitted relations and platform teams could defer fixing processors. Removing the mode forces a single canonical model for relations and simplifies long-term maintenance of catalog-backend. It will still bite teams that lack automated catalog tests or treat their IDP as undifferentiated infrastructure.

If your portal has custom processors, sinks, or plugins that inspect entity.relations, search your repo for code paths that normalize or patch relation shapes. The explicit failures you'll see fall into three buckets:

  • processors that stop producing relations because they depended on compatibility translation
  • UI plugins that expect relations in the old shape and render empty graphs or wrong owners
  • analytics jobs that aggregate Golden Path adoption or Time-to-First-Deployment and now undercount due to broken relation joins

Platform measurement is suddenly more important

Industry guidance recommends combining DORA-style engineering metrics with SPACE and qualitative friction logs to get a real ROI signal for platform work. If your team can't quickly tell whether a change to the catalog affected Golden Path adoption, you don't have the telemetry you need.

Treat the Backstage refactor as an opportunity. Add focused telemetry that ties catalog relations to business outcomes: whether services are created with correct ownership, whether APIs link to their implementations, and whether scaffolder-created components appear in the catalog with expected relations. Those are the platform-specific KPIs that justify the time to update processors.

A short checklist that actually matters

  • Run a grep across processors/plugins for references to entity.relations or legacy normalizers; update to the canonical relations shape used by the catalog-backend.
  • Add an integration test that registers synthetic entities and asserts the resulting relation graph in catalog-backend.
  • Re-run analytics that compute Golden Path adoption, Platform NPS, and Time-to-First-Deployment to look for regressions after migration.

Opinion: teams treating IDPs as "set-and-forget" will pay for it

Removing compatibility mode should've happened earlier. The longer you let shims live, the more fragile your platform becomes. If your IDP is still a pile of undocumented scripts with a few dashboards, this will be the incident that forces you to professionalize. That's overdue and healthy.

Google's DevOps & SRE guidance reinforces this: SLOs, automation, and chaos-style validation belong to platform teams as much as product teams. Use those practices here — create an SLO for catalog freshness/accuracy, burn an error budget on relation-mapping bugs, and automate recovery where possible.

Final thought

This Backstage change will be a pain in the short term, but it separates teams that measure platform outcomes from those that don't. If you handle the migration with tests, telemetry, and a short feedback loop (office hours + friction logs), you'll come out with a cleaner catalog and better signals for true adoption. If you ignore it, your portal will stop being a place engineers trust — and nothing else you measure will matter.

For teams looking to harden Golden Paths at the same time as they fix Backstage processors, we've previously covered related scaffolder fixes and hardening work in Backstage scaffolder fixes stale CI-cache issues and hardens golden paths.

Sources

backstageinternal-developer-portalplatform-engineering
← All articles
Platform Engineering

Backstage scaffolder fixes stale CI-cache issues and hardens golden paths

Backstage distributions are now fixing scaffolder CI-cache staleness and hardening golden paths to improve adoption. Measure TTFD and Platform NPS now.

Sep 3, 2026·3mbackstageplatform-engineering
Platform Engineering

Backstage stabilizes Search v1.0, adds Apollo Explorer, and introduces experimental backend plugin APIs

Backstage stabilizes Search v1.0, adds an in-portal Apollo Explorer, and ships experimental backend plugin APIs. Audit indices, lock Explorer, plan migrations.

Sep 2, 2026·3mbackstageapollo-explorer
Platform Engineering

Backstage v1.54.0 Soundcheck Health page surfaces golden-path failures

Backstage adds a Soundcheck Health page revealing golden-path config failures. Platform teams should harden portals, pin deps, and collect DORA metrics.

Sep 1, 2026·3mbackstagesoundcheck