Roadie
Backstage Weekly · Issue 124

Critical TechDocs Security Fix, BackstageCon’s AI Vision & the First v1.49 Preview

Backstage v1.48.4 ships a high-severity TechDocs security fix, the CNCF previews an AI-focused BackstageCon Europe, Roadie publishes a deep Context Engineering glossary, and the first v1.49 pre-release lands ahead of KubeCon EU.

Profile picture David TuiteDavid Tuite·

News

This week's headline is a critical security release. Backstage v1.48.4 shipped on March 4 with fixes for three newly disclosed vulnerabilities, including a HIGH-severity TechDocs arbitrary code execution flaw that affects anyone running TechDocs in local mode. Teams need to upgrade immediately.

Beyond security, the CNCF published a BackstageCon Europe preview that positions AI integration as the defining theme for 2026, Roadie released a comprehensive Context Engineering Glossary that reframes catalog hygiene as an AI infrastructure concern, and the first v1.49.0 pre-release landed with quality-of-life fixes. With KubeCon Europe three weeks away, the community is in pre-conference mode.

CNCF Europe 2026

v1.48.4 addresses three security vulnerabilities, including HIGH-severity TechDocs flaw

Backstage v1.48.4 shipped on March 4 alongside three GitHub Security Advisories. This is a security-focused patch release with no feature changes, making it a low-risk upgrade for all teams.

The most critical advisory is GHSA-928r-fm4v-mvrw , rated HIGH. When TechDocs runs in local mode, an attacker who can modify a repository's mkdocs.yml file can execute arbitrary Python code on the TechDocs build server. The attack vector uses MkDocs hooks, a feature that allows custom Python execution during documentation builds. The @backstage/plugin-techdocs-node package didn't sanitize hook configurations before passing them to MkDocs, allowing embedded Python to run with full privileges of the TechDocs service. Teams running TechDocs with runIn: local should upgrade to v1.48.4 immediately or switch to runIn: docker as a workaround.

The two remaining advisories are rated LOW but still worth patching. GHSA-95v5-prp4-5gv5 affects @backstage/integration and could allow unauthorized reading of SCM URLs using the built-in token. GHSA-8qp7-fhr9-fw53 affects @backstage/plugin-scaffolder-backend and relates to session token exfiltration via insufficient log redaction. All three advisories were authored by maintainer benjdlambert.

v1.49.0-next.1 fixes MUI dependency and tab ordering issues

Backstage v1.49.0-next.1 landed on March 3 as the first weekly pre-release in the v1.49 cycle. The release fixes the @mui/material/styles shared dependency key by removing a trailing slash that caused module resolution failures with Material UI package exports. It also resolves an issue where entity page tab groups weren't respecting the ordering specified in the groups configuration. The full changelog is available in docs/releases/v1.49.0-next.1-changelog.md. The stable v1.49.0 release is expected later in March, following Backstage's monthly cadence.

CNCF frames BackstageCon Europe around AI and governance

The CNCF published "KubeCon + CloudNativeCon Europe 2026 Co-located Event Deep Dive: BackstageCon " on February 27, revealing the event's strategic focus: AI integration is the defining theme. Co-chairs Balaji Sivasubramanian and Bryan Landes describe the core thesis as "cloud native adoption colliding with AI-accelerated software delivery," with teams needing shared patterns for making the portal and catalog "the trusted context layer that AI copilots and agents can safely use."

BackstageCon takes place March 23 at RAI Amsterdam as a full-day CNCF-hosted co-located event alongside KubeCon + CloudNativeCon Europe (March 23-26). The event targets five audiences: platform engineering teams scaling Backstage in production, AI-forward organizations managing models and agents as first-class portal entities, maintainers and plugin developers, newcomers seeking production-grade implementation examples, and leaders evaluating Backstage adoption. Key topics include golden paths, standardized metadata, governance, plugin ecosystems, and observability. An All-Access Pass to KubeCon is required for entry. The Backstage ContribFest session follows on March 26.

Roadie publishes Context Engineering Glossary for platform engineers

Context Engineering Glossary

Roadie published "The Context Engineering Glossary for Platform Engineers" on March 5, a comprehensive reference guide defining every key term in the context engineering stack through the lens of Internal Developer Portals. The timing aligns with BackstageCon's AI focus, as the CNCF positions the catalog as "the trusted context layer that AI copilots and agents can safely use" and Roadie's glossary defines the engineering discipline required to make that vision work in production.

The glossary covers five major sections: Context Fundamentals (context windows, grounding, what context engineering actually means), Architecture and Retrieval Terms (RAG, vector embeddings, semantic search), Platform Data Types (Service Catalog context, TechDocs context, operational context, golden paths), Agentic Capabilities (agentic context injection, function calling, system prompts), and Quality and Risk Definitions (hallucination, context drift, context poisoning, privilege leakage, implicit trust chains).

The guide frames context engineering as a core platform responsibility with dedicated engineering ownership. Its central argument is that an LLM is a powerful reasoning engine with no institutional memory, and context engineering is how you give it one. The glossary defines context engineering as the entire information supply chain feeding the model before it generates output, covering what the model is allowed to know, when, and why. For platform teams building AI assistants on top of Backstage, the piece emphasizes that poor catalog hygiene directly degrades AI output quality, context drift is an ongoing operational concern requiring automated re-indexing, and retrieval pipelines must enforce RBAC to prevent privilege leakage. The article includes practical architecture diagrams showing how Service Catalog metadata, TechDocs, and operational data flow through RAG systems to produce grounded responses.


Community Discussions

Release Updates: v1.48.3 and v1.49.0-next.1

Two releases landed this week. v1.48.3 (February 26) is a patch that fixes a @mui/material/styles shared dependency key issue caused by a trailing slash, which was breaking module resolution with MUI package exports. Anyone using MUI-heavy customisations who encountered odd import failures after 1.48 should pick this up. Hot on its heels, v1.49.0-next.1 dropped on March 3, with the demo site already running it. See the announcements for both releases.

Security: Transitive Vulnerability Scan Results Shared in Community

A detailed Snyk scan of a Backstage project uncovered 7 HIGH-severity vulnerabilities across 13 instances, with no Critical ones. Packages flagged included [email protected] (Directory Traversal), [email protected] (ReDoS), [email protected] (Command Injection), and [email protected] (SSRF). The discussion highlighted that many of these are transitive dependencies deep in the dependency tree and cannot simply be overridden locally without breaking CLI linting. The thread had 17 messages with maintainer participation and is worth tracking if your security posture requires a clean Snyk report. See the discussion in #security .

New Frontend System Migration: Still the Community's Biggest Challenge

The new frontend system continued to dominate support traffic this week. The most active thread, "New Frontend System migration" in #support, accumulated 37 messages and a resolved badge, with users working through migrating full Catalog plugin routing and internal plugins. A parallel thread titled "Catalog migration" in #frontend-system (17 messages, still active yesterday) saw a user sharing their complete EntityContentBlueprint and createFrontendPlugin patterns for migrating GitHub-releases entity tabs, while a first-time contributor asking how to add a catalog entity card using the new frontend API received 14 replies in under a day. Maintainer Ahhhndre pointed users toward the migration docs and noted that the catalog plugin's README is still lagging behind. Join the discussion in #frontend-system or the first-plugin thread .

BUI vs MUI: Which UI System for New Instances?

With v1.48 shipping Backstage's new BUI component system alongside continued MUI support, a thread in #general sparked debate about the recommended upgrade path. A team upgrading from v1.12 to v1.48 discovered that many of their custom screens are not fully supported in BUI and asked whether staying on MUI is viable for production. Maintainer Ahhhndre confirmed both systems are currently supported, but the direction of travel is clearly toward BUI. This mirrors a parallel support thread ("Upgrade failure", 16 messages) where another user faced the same BUI vs MUI decision mid-migration. The community consensus is that MUI remains the safe path for heavily customised portals for now. See the bui vs mui thread in #general .

Jest Removed from Backstage CLI 1.46.0: Community Plugin Impact

A thread started by maintainer Ahhhndre in #maintenance revealed why removing Jest from the Backstage CLI in version 1.46.0 hadn't broken the community plugins repository CI: the CLI was still pinned in the root package.json. Removing that pin would break most workspaces. A migration PR (#7867 ) has been opened to slowly migrate workspaces away, and a companion issue (#7868 ) was logged to involve the community during ContribFest Amsterdam. If you maintain plugins in the community repo, the issue is a good place to volunteer. Follow the progress in the jest-gone thread in #maintenance .

Bug Report: GithubMultiOrgEntityProvider Misses Team Hierarchy on Webhook Events

A well-documented bug report landed in #catalog this week. When using GithubMultiOrgEntityProvider, parent/child team relationships are not updated in real time via GitHub webhook events: the hierarchy only self-corrects on the next scheduled full sync. The root cause identified is that GithubMultiOrgEntityProvider.onTeamEditedInOrganization() updates team members but never calls buildOrgHierarchy(), unlike its single-org counterpart GithubOrgEntityProvider. The thread generated 7 messages with community-contributed analysis. If you're running the multi-org provider and rely on accurate team hierarchy, either trigger more frequent full syncs or watch for an upstream fix. Read the full investigation in the #catalog thread .

How to Update Community Plugins Without Renovate

A recurring question in #plugins was resolved clearly this week: yarn backstage-cli versions:bump only bumps core @backstage/* packages and will not update @backstage-community/* plugins. To bump community plugins manually, run yarn backstage-cli versions:bump --pattern "@backstage-community/*". Maintainer Ahhhndre also recommended Renovate for automating this for monorepos, noting that Dependabot struggles with the mono-repo setup. See the full Plugin releases thread in #plugins .

Changelog

v1.48.4 - March 4, 2026

Security Fixes:

  • Fixed arbitrary code execution via MkDocs hooks in TechDocs (GHSA-928r-fm4v-mvrw, HIGH severity)
  • Fixed potential reading of SCM URLs using built-in token (GHSA-95v5-prp4-5gv5, LOW severity)
  • Fixed session token exfiltration via log redaction bypass (GHSA-8qp7-fhr9-fw53, LOW severity)

Release: v1.48.4

v1.49.0-next.1 - March 3, 2026

Fixes:

  • Fixed @mui/material/styles shared dependency key by removing trailing slash
  • Fixed entity page tab groups not respecting ordering configuration

Release: v1.49.0-next.1