<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Backstage Weekly</title><link>https://roadie.io/backstage-weekly/</link><description>Weekly roundup of Backstage news, articles, and community updates.</description><lastBuildDate>Mon, 16 Mar 2026 20:59:42 GMT</lastBuildDate><docs>https://validator.w3.org/feed/docs/rss2.html</docs><generator>https://github.com/jpmonette/feed</generator><language>en</language><copyright>All rights reserved 2026, Roadie</copyright><item><title><![CDATA[v1.49 Pre-Release, Context Engineering & MCP Discovery]]></title><link>https://roadie.io/backstage-weekly/125-v149-pre-release-context-engineering-mcp-discovery/</link><guid isPermaLink="false">https://roadie.io/backstage-weekly/125-v149-pre-release-context-engineering-mcp-discovery/</guid><pubDate>Mon, 16 Mar 2026 15:00:00 GMT</pubDate><description><![CDATA[Backstage v1.49.0-next.2 lands ahead of the March 17 release while the community debates DOM types, catalog modeling, and AI integrations. Roadie’s context engineering deep dive reframes IDPs as the missing layer for grounding AI development.]]></description><content:encoded><![CDATA[<p><img src="//images.ctfassets.net/hcqpbvoqhwhm/3C0J5TmmD5Nm2aaRL3WnlN/c4f545662c81eaa1d49d15004b139ae9/backstage-contribfest-kubecon-web-app-header-aa55b2b3a64c012a90f1e0d2fbeb74ab.png" alt="Backstage ContribFest Kubecon"></p><p>The pre-conference quiet continued this week. Backstage shipped v1.49.0-next.2 with incremental fixes ahead of the March 17 stable release, while the community focused on New Frontend System migrations and the recurring DOM types debate in backend packages.</p><p>Roadie published a deep dive on context engineering that reframes AI grounding as a platform discipline that requires structured catalog metadata, not just better prompts. With BackstageCon and KubeCon Europe eleven days away, Discord traffic is centered on migration patterns, MCP discovery, and getting production instances ready for Amsterdam.</p><h3>v1.49.0-next.2 ships incremental fixes</h3><p><a href="https://github.com/backstage/backstage/releases/tag/v1.49.0-next.2">Backstage v1.49.0-next.2</a> landed on March 10, the second weekly pre-release in the v1.49 cycle. This follows v1.49.0-next.1 from March 3 and keeps everything on track for the stable v1.49.0 release expected March 17. The full changelog is available in <code>docs/releases/v1.49.0-next.2-changelog.md</code>. The v1.49.0 release will be the last before KubeCon Europe and BackstageCon on March 23.</p><h3>Roadie publishes Context Engineering deep dive</h3><p><img src="https://roadie.io/_next/image/?url=https%3A%2F%2Fimages.ctfassets.net%2Fhcqpbvoqhwhm%2F5S9aa96TLOgqCIrFmAjIHN%2F7938e1870de4fd36d3640204b35ad00b%2Fimage1.png%3Fw%3D500%26h%3D500%26fm%3Dwebp&#x26;w=1080&#x26;q=75" alt="Context Engineering: The Missing Discipline in AI-Assisted Development"></p><p>Roadie published "<a href="https://roadie.io/blog/context-engineering-ai-development/">Context Engineering: The Missing Discipline in AI-Assisted Development</a>" this week, arguing that organizational context is the unsolved layer in AI coding tools. GitHub Copilot and Cursor handle local context and repository context reasonably well, but neither knows who owns <code>payment-service</code>, what lifecycle state <code>legacy-auth-api</code> is in, or what security constraints apply to production services. No amount of prompt engineering can retrieve information that doesn't exist in any repository.</p><p>The article frames the Internal Developer Portal as the natural solution to Layer 3 context. Your IDP already holds the two things an AI needs: metadata in <code>catalog-info.yaml</code> (owner, tier, lifecycle, dependencies) and semantics in TechDocs (ADRs, runbooks, how-to guides). Spotify proved this architecture works at scale with AiKA and Honk, both tightly integrated with Backstage's catalog and metadata graph. The piece walks through connecting AI tools via the Model Context Protocol (MCP), with Roadie acting as an MCP Server that exposes your catalog and TechDocs as queryable endpoints.</p><p>A key warning: the "dump everything into a vector database" approach produces context poisoning. A Confluence instance with 2,000 pages where only 300 are accurate means your AI retrieves from both canonical ADRs and three-year-old contradictory wiki pages with no way to distinguish them. The <code>catalog-info.yaml</code> schema enforces structure at the source. A deprecated service can't masquerade as current because its lifecycle field says otherwise. Context engineering starts with good catalog maintenance.</p><hr><h2>Community Discussions</h2><h3>Removing <code>node-fetch</code> and the DOM Types Problem</h3><p>Backstage maintainer Jon Koops opened a significant <a href="https://discord.com/channels/687207715902193673/687207715902193679/threads/1480626043483193394">architectural discussion in #general</a> (22 replies) about the implications of removing <code>node-fetch</code> from the main repo, as outlined in ADR14. As backend packages (like <code>@backstage/backend-defaults</code>) are built from the root TSConfig, they silently receive browser DOM types, which means that incorrect web-based types are provided anywhere the Fetch API behaves differently between Node.js and the browser. Jon proposes changing the TypeScript configurations so that backend-only packages are never exposed to library types from the web, and he plans to bring it to the framework SIG. The discussion also covers project references performance in CI, the upcoming tsgo compiler, and whether the change should be opt-in for adopters initially.</p><h3>State of AI in Backstage: MCP, RAG, and a Discoverability Gap</h3><p>A thread in #general titled <a href="https://discord.com/channels/687207715902193673/687207715902193679/threads/1480545349843161120">"ai"</a> (6 replies) kicked off a survey of what AI integration currently looks like in Backstage. The conversation catalogued the current landscape: an MCP chat plugin in the community plugins repo, a plugin for exposing Backstage actions as MCP tools (<code>mcp-actions-backend</code>), and Roadie's RAG-based AI assistant plugin for querying catalog and TechDocs knowledge. This knowledge is currently scattered across Discord threads and GitHub PRs, with no central tracking page. Thomvaill and drodil (a Backstage Framework maintainer) agreed that a dedicated documentation page listing all available MCP actions per plugin would be valuable. Drodil also noted a new PR (<a href="https://github.com/backstage/backstage/pull/33253">#33253</a>) they've made on the topic, though it's not yet clear whether it belongs in the main repo or community plugins.</p><h3>Templates and <code>partOf</code> Relations: A Design Clarification</h3><p>A <a href="https://discord.com/channels/687207715902193673/687207715902193679/threads/1480910931293765705">21-message thread in #general</a> surfaced a common point of confusion: why can't Scaffolder Templates reference entities outside of their <code>owner</code> using <code>partOf</code> relations? A user wanted to track which Component (a repo containing all their templates) each Template "belongs to" in the catalog graph. Maintainer Freben explained that this is an intentional design constraint of the System Model. Templates are not designed to have arbitrary cross-entity relations. Freben suggested the <code>Resource</code> kind as a better fit if the model needs to be extended. The thread links to the <a href="https://backstage.io/docs/features/software-catalog/extending-the-model#implementing-custom-model-extensions">Extending the Model docs</a> as the recommended solution.</p><h3>Finding Entities with Missing or Unknown Owners</h3><p>An <a href="https://discord.com/channels/687207715902193673/923144214580191282/threads/1478048303198376017">18-message thread in #catalog</a> explored how to hook into catalog ingestion to detect or process entities with invalid or unknown owners. Freben recommended the <a href="https://backstage.io/docs/features/software-catalog/faq#can-i-validate-relations-in-processors">Catalog FAQ's processor-based validation section</a> as a starting point, and followed up with a more advanced pattern: as you page through entities, you can call <code>.prime()</code> on the existence dataloader to pre-populate knowledge of which entities exist, then mark the ones that don't as having broken relations. This approach avoids storing the full catalog in memory or making repeated catalog API requests.</p><h3>Jest Removed from Backstage CLI: Community Plugin Impact</h3><p>Maintainer Ahhhndre <a href="https://discord.com/channels/687207715902193673/1201559534754345110/threads/1477050964237091181">investigated why removing Jest from the Backstage CLI in v1.46.0 hadn't broken anything yet</a>, and found the answer: a version of the Backstage CLI still exists in the root <code>package.json</code>, and CI is using that. Simply removing it would break most workspaces. The fix is a gradual migration. A <a href="https://github.com/backstage/community-plugins/pull/7867">PR for community plugins (#7867)</a> has been opened to migrate packages one by one, and Ahhhndre has also filed <a href="https://github.com/backstage/community-plugins/issues/7868">an issue (#7868)</a> for maintainer-owned workspaces so the community can help during ContribFest.</p><h3>Release Train: v1.49.0 Pre-Releases Are Rolling</h3><p>The <a href="https://discord.com/channels/687207715902193673/705123584468582400">#announcements</a> channel has been active with the v1.49.0 pre-release train. <strong>v1.49.0-next.2</strong> dropped on March 10, following <strong>v1.49.0-next.1</strong> on March 4 (which also updated the <a href="https://demo.backstage.io/">Backstage Demo site</a>). Before that, <strong>v1.48.2</strong> (Feb 24) included a fix to update <code>@microsoft/api-extractor</code> to 7.57.3 and restore <code>formFieldsApiRef</code> and <code>ScaffolderFormFieldsApi</code> alpha exports that had gone missing. If you're tracking pre-releases or running the demo, this is a good time to test against next.2 ahead of the stable v1.49.0 release.</p><h3>Templates Randomly Disappearing with Split Catalog Deployments</h3><p>A <a href="https://discord.com/channels/687207715902193673/923144214580191282">recent #catalog thread</a> flags a possible operational issue for anyone running Backstage at scale with a split read/write catalog deployment and HPA. One user reported that Template entities (and only Templates, not Components or APIs) were disappearing periodically from statically configured catalog locations. The logs showed a <code>ConflictError: Conflicting write of processing result for &#x3C;entity-id> with location key 'url:https://github.com/&#x3C;location-key>'</code> error. This appears to be a race condition specific to multi-pod catalog-write deployments; if you're running 2–4 catalog-write pods in production, this thread is worth watching.</p><h3>Backstage Documentary Premieres at KubeCon Amsterdam</h3><p>For those attending KubeCon + CloudNativeCon Europe in Amsterdam on March 23, don't miss the premiere of the <strong>CNCF Documentary: "Backstage: From Spreadsheet to Standard"</strong>, a film co-produced by Spotify, CNCF, and Roadie. The <a href="https://kccnceu2026.sched.com/event/2ILJt">screening is on the official KubeCon schedule</a>. The Community Plugins SIG scheduled for March 24 has been cancelled due to the KubeCon overlap, so the documentary event is the place to be for community networking around Backstage that week.</p><hr><h2>Changelog</h2><h3>v1.49.0-next.2 - March 10, 2026</h3><p><strong>Pre-release:</strong></p><ul><li>Incremental fixes and improvements ahead of v1.49.0 stable release</li></ul><p><strong>Release:</strong><a href="https://github.com/backstage/backstage/releases/tag/v1.49.0-next.2">v1.49.0-next.2</a></p>
]]></content:encoded></item><item><title><![CDATA[Critical TechDocs Security Fix, BackstageCon’s AI Vision & the First v1.49 Preview]]></title><link>https://roadie.io/backstage-weekly/124-techdocs-security-fix-backstagecon-ai-preview-v1-49/</link><guid isPermaLink="false">https://roadie.io/backstage-weekly/124-techdocs-security-fix-backstagecon-ai-preview-v1-49/</guid><pubDate>Mon, 09 Mar 2026 15:00:00 GMT</pubDate><description><![CDATA[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.]]></description><content:encoded><![CDATA[<p>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.</p><p>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.</p><p><img src="//images.ctfassets.net/hcqpbvoqhwhm/7nUhwtOyMgiUyip5HRObGc/26ced060a2d6c698348103cb2953e74e/CNCF-Website-Desktop.png" alt="CNCF Europe 2026"></p><h3>v1.48.4 addresses three security vulnerabilities, including HIGH-severity TechDocs flaw</h3><p><a href="https://github.com/backstage/backstage/releases/tag/v1.48.4">Backstage v1.48.4</a> 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.</p><p>The most critical advisory is <a href="https://github.com/backstage/backstage/security/advisories/GHSA-928r-fm4v-mvrw">GHSA-928r-fm4v-mvrw</a>, rated HIGH. When TechDocs runs in <code>local</code> mode, an attacker who can modify a repository's <code>mkdocs.yml</code> 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 <code>@backstage/plugin-techdocs-node</code> 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 <code>runIn: local</code> should upgrade to v1.48.4 immediately or switch to <code>runIn: docker</code> as a workaround.</p><p>The two remaining advisories are rated LOW but still worth patching. <a href="https://github.com/backstage/backstage/security/advisories/GHSA-95v5-prp4-5gv5">GHSA-95v5-prp4-5gv5</a> affects <code>@backstage/integration</code> and could allow unauthorized reading of SCM URLs using the built-in token. <a href="https://github.com/backstage/backstage/security/advisories/GHSA-8qp7-fhr9-fw53">GHSA-8qp7-fhr9-fw53</a> affects <code>@backstage/plugin-scaffolder-backend</code> and relates to session token exfiltration via insufficient log redaction. All three advisories were authored by maintainer benjdlambert.</p><h3>v1.49.0-next.1 fixes MUI dependency and tab ordering issues</h3><p><a href="https://github.com/backstage/backstage/releases/tag/v1.49.0-next.1">Backstage v1.49.0-next.1</a> landed on March 3 as the first weekly pre-release in the v1.49 cycle. The release fixes the <code>@mui/material/styles</code> 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 <code>docs/releases/v1.49.0-next.1-changelog.md</code>. The stable v1.49.0 release is expected later in March, following Backstage's monthly cadence.</p><h3>CNCF frames BackstageCon Europe around AI and governance</h3><p>The CNCF published "<a href="https://www.cncf.io/blog/2026/02/27/kubecon-cloudnativecon-europe-2026-co-located-event-deep-dive-backstagecon/">KubeCon + CloudNativeCon Europe 2026 Co-located Event Deep Dive: BackstageCon</a>" 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."</p><p>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.</p><h3>Roadie publishes Context Engineering Glossary for platform engineers</h3><p><img src="https://roadie.io/_next/image/?url=https%3A%2F%2Fimages.ctfassets.net%2Fhcqpbvoqhwhm%2F2YR1ZwHxUEFUTFhAnvEn9p%2Ff7a9637d5c0864c65fe0004baec1a88f%2Fimage1.png%3Fw%3D500%26h%3D500%26fm%3Dwebp&#x26;w=1080&#x26;q=75" alt="Context Engineering Glossary"></p><p>Roadie published "<a href="https://roadie.io/blog/context-engineering-glossary/">The Context Engineering Glossary for Platform Engineers</a>" 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.</p><p>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).</p><p>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.</p><hr><h2>Community Discussions</h2><h3>Release Updates: v1.48.3 and v1.49.0-next.1</h3><p>Two releases landed this week. v1.48.3 (February 26) is a patch that fixes a <code>@mui/material/styles</code> 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 <a href="https://discord.com/channels/687207715902193673/705123584468582400">announcements</a> for both releases.</p><h3>Security: Transitive Vulnerability Scan Results Shared in Community</h3><p>A detailed Snyk scan of a Backstage project uncovered 7 HIGH-severity vulnerabilities across 13 instances, with no Critical ones. Packages flagged included <code>tar@6.2.1</code> (Directory Traversal), <code>ajv@6.12.6</code> (ReDoS), <code>glob@10.4.5</code> (Command Injection), and <code>ip@2.0.1</code> (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 <a href="https://discord.com/channels/687207715902193673/1041734397369532487/threads/1473033473622151283">the discussion in #security</a>.</p><h3>New Frontend System Migration: Still the Community's Biggest Challenge</h3><p>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 <code>EntityContentBlueprint</code> and <code>createFrontendPlugin</code> 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 <a href="https://backstage.io/docs/frontend-system/building-apps/migrating">migration docs</a> and noted that the catalog plugin's README is still lagging behind. Join the discussion <a href="https://discord.com/channels/687207715902193673/1101159492298743808/threads/1476212110970323045">in #frontend-system</a> or the <a href="https://discord.com/channels/687207715902193673/1101159492298743808/threads/1478670797865488495">first-plugin thread</a>.</p><h3>BUI vs MUI: Which UI System for New Instances?</h3><p>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 <a href="https://discord.com/channels/687207715902193673/687207715902193679/threads/1477904643009941504">bui vs mui thread in #general</a>.</p><h3>Jest Removed from Backstage CLI 1.46.0: Community Plugin Impact</h3><p>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 <code>package.json</code>. Removing that pin would break most workspaces. A migration PR (<a href="https://github.com/backstage/community-plugins/pull/7867">#7867</a>) has been opened to slowly migrate workspaces away, and a companion issue (<a href="https://github.com/backstage/community-plugins/issues/7868">#7868</a>) 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 <a href="https://discord.com/channels/687207715902193673/1201559534754345110/threads/1477050964237091181">jest-gone thread in #maintenance</a>.</p><h3>Bug Report: GithubMultiOrgEntityProvider Misses Team Hierarchy on Webhook Events</h3><p>A well-documented bug report landed in #catalog this week. When using <code>GithubMultiOrgEntityProvider</code>, parent/child team relationships are <em>not</em> 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 <code>GithubMultiOrgEntityProvider.onTeamEditedInOrganization()</code> updates team members but never calls <code>buildOrgHierarchy()</code>, unlike its single-org counterpart <code>GithubOrgEntityProvider</code>. 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 <a href="https://discord.com/channels/687207715902193673/923144214580191282/threads/1477135489000669256">#catalog thread</a>.</p><h3>How to Update Community Plugins Without Renovate</h3><p>A recurring question in #plugins was resolved clearly this week: <code>yarn backstage-cli versions:bump</code> only bumps core <code>@backstage/*</code> packages and will <strong>not</strong> update <code>@backstage-community/*</code> plugins. To bump community plugins manually, run <code>yarn backstage-cli versions:bump --pattern "@backstage-community/*"</code>. Maintainer Ahhhndre also recommended Renovate for automating this for monorepos, noting that Dependabot struggles with the mono-repo setup. See the full <a href="https://discord.com/channels/687207715902193673/1211692810294788126/threads/1465421694171877637">Plugin releases thread in #plugins</a>.</p><h2>Changelog</h2><h3>v1.48.4 - March 4, 2026</h3><p>Security Fixes:</p><ul><li>Fixed arbitrary code execution via MkDocs hooks in TechDocs (GHSA-928r-fm4v-mvrw, HIGH severity)</li><li>Fixed potential reading of SCM URLs using built-in token (GHSA-95v5-prp4-5gv5, LOW severity)</li><li>Fixed session token exfiltration via log redaction bypass (GHSA-8qp7-fhr9-fw53, LOW severity)</li></ul><p>Release: <a href="https://github.com/backstage/backstage/releases/tag/v1.48.4">v1.48.4</a></p><h3>v1.49.0-next.1 - March 3, 2026</h3><p>Fixes:</p><ul><li>Fixed <code>@mui/material/styles</code> shared dependency key by removing trailing slash</li><li>Fixed entity page tab groups not respecting ordering configuration</li></ul><p>Release: <a href="https://github.com/backstage/backstage/releases/tag/v1.49.0-next.1">v1.49.0-next.1</a></p>
]]></content:encoded></item><item><title><![CDATA[Scaffolder Fixes, ContribFest Launch & Backstage’s AI Shift]]></title><link>https://roadie.io/backstage-weekly/123-scaffolder-fix-contribfest-ai-native-backstage/</link><guid isPermaLink="false">https://roadie.io/backstage-weekly/123-scaffolder-fix-contribfest-ai-native-backstage/</guid><pubDate>Mon, 02 Mar 2026 15:00:00 GMT</pubDate><description><![CDATA[Backstage ships v1.48.2 to fix scaffolder regressions, launches the ContribFest web app ahead of KubeCon Europe, merges an alpha MetricsService into core, and the community dives deep into AI-native platform engineering, multi-agent systems, and scaling TechDocs.]]></description><content:encoded><![CDATA[<p>The week after v1.48.0's ambitious feature release was about stabilization and scaffolding the road to Amsterdam. Backstage shipped two patch releases to fix scaffolder regressions, launched the ContribFest web app ahead of KubeCon Europe, and continued its trajectory toward becoming an AI-native developer portal - with Spotify publishing a multi-agent architecture deep dive, Infralovers dropping a three-part series on AI-assisted Backstage development, and Roadie detailed how they split TechDocs out of their monolithic backend to solve resource contention at multi-tenant scale.</p><p><img src="https://backstage.io/assets/images/backstage-contribfest-kubecon-web-app-header-aa55b2b3a64c012a90f1e0d2fbeb74ab.png" alt="Backstage ContribFest banner"></p><h3>v1.48.2 fixes scaffolder form customization regression</h3><p><a href="https://github.com/backstage/backstage/releases/tag/v1.48.2">Backstage v1.48.2</a> landed on February 24, addressing a critical regression from v1.48.0. The patch restored <code>formFieldsApiRef</code> and <code>ScaffolderFormFieldsApi</code> alpha exports from <code>@backstage/plugin-scaffolder</code> that had been inadvertently removed, breaking teams relying on scaffolder form customization in the new frontend system. The release also bumped <code>@microsoft/api-extractor</code> to 7.57.3. Teams using scaffolder alpha APIs should upgrade immediately.</p><p>The earlier <a href="https://github.com/backstage/backstage/releases/tag/v1.48.1">v1.48.1 patch</a> (February 18) fixed a missing sidebar item in frontend system docs and a type compatibility issue in <code>FrontendFeature</code>. Together, these patches close the v1.48 stabilization window.</p><p><a href="https://github.com/backstage/backstage/releases/tag/v1.49.0-next.0">v1.49.0-next.0</a>, the first pre-release of the next monthly cycle, also appeared near the end of the week.</p><h3>ContribFest web app launches</h3><p>The Backstage blog published its first post of 2026 on February 25: "<a href="https://backstage.io/blog/2026/02/25/get-a-jump-on-contribfest/">Get a jump on ContribFest with the new web app</a>." Written by Elaine de Mattos Silva Bezerra (DB Systel), Heikki Hellgren (OP Financial Group), and André Wanlin (Spotify), the post announces <a href="https://contribfest.backstage.io/">contribfest.backstage.io</a> - a purpose-built app to onboard contributors for ContribFest at KubeCon Europe in Amsterdam on March 26 at 13:45 CET.</p><p>The app features five sections: Welcome, Getting Started, Curated Issues, Contrib Champs (celebrating past merged PRs), and Hall of Hosts. New Dev Containers support enables streamlined local setup using Docker Desktop and VS Code or IntelliJ. Past ContribFest contributions highlighted include TechDocs pagination, OpenShift auth provider work, and HTML rendering fixes in GitHub-flavored Markdown.</p><p>This cross-organization collaboration signals the project's maturation - contributor onboarding is now a community-driven effort, not just a maintainer task.</p><p><img src="https://openssf.org/wp-content/uploads/2025/11/Screenshot-2025-11-19-at-4.47.18-PM.png" alt="KubeCon + CloudNativeCon Europe 2026 in Amsterdam"></p><h3>Backstage Community Session - February 18, 2026</h3><p>The latest <a href="https://www.youtube.com/watch?v=YCfPv0RwEJY">Backstage Community Session</a> is now available on YouTube. Mihai kicks things off with a walkthrough of what's new in v1.48.0 - catalog extension points graduating out of alpha, stricter API override restrictions, experimental MCP authorization via Client ID Metadata Documents, and experimental token refresh support. From there, the session covers a call for community members to join the new <a href="https://github.com/backstage/backstage/issues/32794">Backstage reviewer program</a>, where your feedback shapes PR prioritization and your own PRs get priority review in return. The highlight of the session is a talk from Volvo Group's Mingdao and Tom, who share how one of the world's largest manufacturers adopted Backstage - rolling out golden paths, access provisioning, and community-driven templates while navigating the organizational challenges of a large-scale IDP rollout. A Q&#x26;A with the Volvo team follows. Watch the recording here.</p><h2>Publications</h2><h3>Roadie publishes TechDocs Guide</h3><p>Roadie published "<a href="https://roadie.io/blog/splitting-techdocs-out-of-our-monolithic-backstage-deployment/">Splitting TechDocs Out of Our Monolithic Backstage Deployment</a>" on February 26, detailing how they redesigned their multi-tenant Backstage architecture to solve resource contention issues. The article walks through their original monolithic design where each tenant ran a single Backstage backend pod containing all plugins (Catalog, Scaffolder, TechDocs, Auth), and how TechDocs' resource-intensive workload - fetching documentation files, rendering Markdown, running MkDocs generators - began causing CPU saturation and memory pressure that impacted unrelated functionality like catalog ingestion and authentication.</p><p>The solution was extracting TechDocs into a separate Backstage backend service that runs independently using Backstage's native discovery service for backend-to-backend communication. Each tenant now runs two distinct services: a core Backstage backend handling catalog, scaffolder, and auth, and a dedicated TechDocs backend. Results were immediate: cleaner cluster allocations with CPU and memory limits tuned specifically for documentation workloads, improved stability with documentation builds no longer pressuring core APIs, and easier debugging with resource spikes immediately attributable to the correct service. The article emphasizes that Backstage provides the primitives needed to support this modular design, and at scale, using them becomes "less of an optimization and more of a requirement." For teams running Backstage in multi-tenant or high-scale environments experiencing similar symptoms, the piece recommends examining heavy backend plugins and questioning whether they belong in the same process as core Backstage functionality.</p><h3>Spotify's multi-agent architecture for advertising</h3><p>Spotify Engineering published "<a href="https://engineering.atspotify.com/2026/2/our-multi-agent-architecture-for-smarter-advertising">Our Multi-Agent Architecture for Smarter Advertising</a>" on February 19, detailing how they built Ads AI - a multi-agent system using Google's Agent Development Kit (ADK) and Vertex AI. The system transforms media planning from a 15-30 minute manual process requiring 20+ form fields into a conversational interface generating optimized plans in 5-10 seconds using 1-3 natural language messages.</p><p>The architecture decomposes planning into specialized agents - RouterAgent, GoalResolverAgent, AudienceResolverAgent, BudgetAgent, ScheduleAgent, and MediaPlannerAgent - executing in parallel. Three key learnings resonate with the Backstage community: prompt engineering is software engineering (prompts need version control and testing), agent boundaries matter (one agent per distinct skill or data source), and evaluation requires new approaches beyond traditional unit testing.</p><p>While not a Backstage feature, this connects directly to where Backstage is heading. The v1.48.0 release shipped experimental Client ID Metadata Documents and experimental refresh token support - both designed to reduce MCP client authentication friction. Combined with the <code>@backstage/plugin-mcp-actions-backend</code> plugin and Spotify's AiKA AI Knowledge Assistant, the trajectory is clear: Backstage is becoming the MCP server hub for platform engineering.</p><h3>Infralovers' three-part series on AI-assisted Backstage development</h3><p>Infralovers, a Backstage consulting firm, published the final two parts of a notable three-part blog series during the week:</p><p><strong>Oct 31, 2025</strong> - "<a href="https://www.infralovers.com/blog/2025-10-31-building-backstage-with-ai-assisted-development/">Beyond Copy-Paste: Building Backstage with AI-Assisted Development</a>" detailed how Claude Sonnet 4.5 and GitHub Copilot helped navigate custom Backstage integrations with Crossplane and ArgoCD. The post documented real integration friction - scaffolder temporary directories, the <code>publish:github:pull-request</code> vs. <code>publish:github</code> distinction, ArgoCD rejecting <code>catalog-info.yaml</code> - and showed how AI pair programming resolved each issue faster than traditional documentation searching.</p><p><strong>Feb 20</strong> - "<a href="https://www.infralovers.com/blog/2026-02-20-fuenf-stufen-ki-entwicklung/">Five Levels of AI Development: Why the J-Curve Gets Everyone</a>" applied Dan Shapiro's five-level framework to developer tooling, arguing that 90% of "AI-native" developers are stuck at Level 2 (pair programming) when the real gains come at Levels 3-4 (specification-driven development and autonomous workflows).</p><p><strong>Feb 22</strong> - "<a href="https://www.infralovers.com/blog/2026-02-22-architektur-patterns-dark-factory/">Dark Factory Architecture: How Level 4 Actually Works</a>" got concrete about Level 4 in practice, referencing StrongDM's "Digital Twin Universe" approach and Boris Cherny's claim that 90% of Claude Code was written by Claude Code, with SemiAnalysis estimating 4% of public GitHub commits now attributable to Claude Code.</p><p>The series offers practical context for Backstage adopters evaluating where AI fits in their developer portal strategy - not as a chatbot bolted onto the sidebar, but as a fundamental shift in how platform engineering work gets done.</p><hr><h2>Community Discussions</h2><h3>Alpha MetricsService Merged into Backstage Core</h3><p>One of the most celebrated milestones in <code>#backend-system</code> this week: the initial alpha implementation of a native <code>MetricsService</code> was merged into the backstage/backstage repo. Community member <code>kurt</code> had been championing this effort for weeks and celebrated with the note "I am very stoked to see the initial alpha merged," thanking the maintainers who rallied to get <a href="https://github.com/backstage/backstage/pull/32358">PR #32358</a> (<code>feat(metrics): Implement MetricsService</code> by <code>benjdlambert</code>) across the finish line. The service provides a first-class, framework-native way to emit metrics from Backstage backends - an alternative to the community's current patchwork of OTel instrumentation. The next milestone is documenting the current state and migrating catalog metrics to the new abstraction; <code>kurt</code> opened a <a href="https://discord.com/channels/687207715902193673/1034089724664610938/threads/1469347165762490418">meta issue thread</a> to avoid duplicate effort.</p><h3>"How Do I Actually Delete a Catalog Entity?" - The Cache Mental Model</h3><p>An 8-message thread in <a href="https://discord.com/channels/687207715902193673/923144214580191282/threads/1476155714371190826">#catalog</a> surfaced a question many new adopters run into: a user tried to delete test entities via the OpenAPI spec by UID, only to find them reappearing with a new UID after a refresh. Maintainer <code>freben</code> delivered the canonical answer - "The catalog is sort of like a big cache, a mirror of externalities… the thing that generated the entity keeps generating the entity as it was instructed to. There's no functionality like 'delete this and refuse all future attempts at creating something with that name'." The resolution is to disconnect or modify the source (e.g., the GitHub repo), not the catalog record. This remains one of the most common conceptual hurdles for new Backstage adopters.</p><h3>Disabling Software Templates Registered from <code>catalog-info.yaml</code></h3><p>A lively 9-message thread in <a href="https://discord.com/channels/687207715902193673/687207715902193679/threads/1474435693978714348">#general</a> started when <code>phred-te</code> discovered that individual repositories can register their own software templates directly from <code>catalog-info.yaml</code>. The question was whether a platform team could disable this auto-discovery to prevent teams from self-registering templates they shouldn't. Core contributor <code>Peter "ParsiFal-M"</code> confirmed that <code>catalog.rules</code> governs this behavior and should prevent unwanted registrations - though the caveat is that the Backstage demo doesn't explicitly exercise this rule so community members were testing edge cases live.</p><h3>Migrating from GitHub GHEC to GitHub EMU - Running Dual Auth Providers</h3><p>A timely discussion landed in <a href="https://discord.com/channels/687207715902193673/978977570852835379/1476344287246549233">#auth</a> this week as <code>Pedro</code> described a real-world migration scenario: moving from <code>github.com</code> (GHEC) to GitHub Enterprise Managed Users (EMU), where users temporarily exist in both systems. The key questions: can Backstage run two GitHub auth providers simultaneously in the same instance? If not, what is the recommended EMU-first auth pattern with a fallback during the cutover window? Options discussed include a single provider routing by email domain/org membership, a custom sign-in resolver that attempts EMU first, or a custom auth provider with fallback logic. If you're planning a similar migration, this thread is worth following.</p><h3>Extending the Catalog Component Spec with Custom Fields</h3><p>A thoughtful architecture question in <a href="https://discord.com/channels/687207715902193673/923144214580191282/1476323508249165965">#catalog</a> from new adopter <code>Finn Molloy</code>: their team wants to add a <code>spec.license</code> field (SPDX identifier) and a <code>spec.thirdParty</code> boolean to the <code>Component</code> kind - and they've implemented it using a custom Zod schema validator and a custom processor plugin rather than annotations. Their reasoning: typed fields are preferable to string annotations, especially for booleans. They asked whether this approach is safe/recommended or whether company-specific annotations are the better path. This is a great practical exploration of the catalog's extensibility model that will resonate with any team standardising their component metadata.</p><h3>Community-Built Producer/Consumer Catalog Graph Processor</h3><p>In a standout community contribution post in <a href="https://discord.com/channels/687207715902193673/923144214580191282/1474101155322794179">#catalog</a>, <code>isaias.b</code> shared a custom catalog processor that creates symmetric relation types (<code>producesTo</code>/<code>producedBy</code>, <code>consumesFrom</code>/<code>consumedBy</code>) for modelling data flows between components - think Kafka topics, DB schemas, queues, and other resources. The processor and example <code>catalog.yaml</code> were shared directly in the channel with working screenshots of the resulting catalog graph. It's the kind of pattern that Backstage's extensibility model was designed for, and demonstrates how rich service dependency maps can be created without any core changes.</p><h3>Frontend System Migration: Beware of Duplicate Extension Errors</h3><p>An 8-message thread in <a href="https://discord.com/channels/687207715902193673/1101159492298743808/threads/1475497869954912519">#frontend-system</a> is a useful debugging reference for anyone currently migrating plugins to the new frontend system. <code>lgnd_seba</code> hit the <code>Plugin 'helm-dashboard' provided duplicate extensions: page:helm-dashboard</code> error while migrating a two-page plugin. The culprit: when a <code>PageBlueprint</code> extension is created, the <code>name</code> property must be kebab-case (<code>a-name-like-this</code> rather than <code>Something Like This</code>). Maintainer <code>vinzscam</code> confirmed this requirement. If your NFS migration is failing with duplicate extension errors, this is the first thing to check.</p><h3>API Extractor Issue Could Break CI for Community Plugin PRs on v1.48.0 Bump</h3><p>In <a href="https://discord.com/channels/687207715902193673/1201559534754345110/threads/1474830502446760027">#maintenance</a>, maintainer <code>Ahhhndre</code> flagged <a href="https://github.com/backstage/backstage/pull/32950">PR #32950</a> - an issue with the API Extractor tsdoc-base configuration that is expected to cause CI failures across community plugin PRs when the version bump to <code>1.48.0</code> runs. Plugin maintainers were advised to watch for this and may need to update PRs manually. Separately, the automated version bump scheduler was running as of Feb 24, generating <code>v1.48.2</code> community plugin bumps - see the <a href="https://discord.com/channels/687207715902193673/1201559534754345110/threads/1475766456670224414">auto-version-bump thread</a> for the schedule.</p><h2>Changelog</h2><h3>v1.48.2 - February 24, 2026</h3><p><strong>Fixes:</strong></p><ul><li>Restored <code>formFieldsApiRef</code> and <code>ScaffolderFormFieldsApi</code> alpha exports in <code>@backstage/plugin-scaffolder</code> that were removed in v1.48.0</li><li>Updated <code>@microsoft/api-extractor</code> to 7.57.3</li></ul><p><strong>Release:</strong><a href="https://github.com/backstage/backstage/releases/tag/v1.48.2">v1.48.2</a></p><h3>v1.49.0-next.0 - Pre-release</h3><p>The first pre-release of the v1.49.0 cycle is now available for early testing.</p><p><strong>Release:</strong><a href="https://github.com/backstage/backstage/releases/tag/v1.49.0-next.0">v1.49.0-next.0</a></p>
]]></content:encoded></item><item><title><![CDATA[Backstage v1.48 Ships, Patch Follows & CVE Alert]]></title><link>https://roadie.io/backstage-weekly/122-backstage-v1-48-ships-patch-follows-and-cve-alert/</link><guid isPermaLink="false">https://roadie.io/backstage-weekly/122-backstage-v1-48-ships-patch-follows-and-cve-alert/</guid><pubDate>Mon, 23 Feb 2026 14:00:00 GMT</pubDate><description><![CDATA[Backstage v1.48.0 introduces major New Frontend System updates, API restriction changes, and experimental MCP authorization support. We cover the 1.48.1 patch, CSS migration issues, ajv CVE-2025-69873, SCM webhook contributions, and new community plugins.]]></description><content:encoded><![CDATA[<p><img src="https://backstage.io/assets/images/kcon25-atl-contribfest-b92a27361da7f3bc16b3b957d716ac60.jpg" alt="Backstage ContribFest community collaboration"></p><h3>Backstage v1.48.0 Ships with Major New Frontend System Updates</h3><p>Backstage v1.48.0 shipped February 17 after nearly a month of pre-release testing. The release brings significant changes to the New Frontend System, including graduated catalog extension points, experimental MCP authorization support, and breaking changes to API restrictions.</p><p>Key highlights:</p><ul><li>Catalog processing extension points graduated from alpha to stable (remove <code>/alpha</code> imports).</li><li>API restrictions now enforced (plugins can only provide APIs to themselves, not other plugins). * New <code>createServiceMock</code> and <code>createApiMock</code> utilities for testing.</li><li>Plugin titles and icons now supported, and module federation enabled by default without build-time overhead.</li></ul><p>The release also introduces experimental <code>catalogScmEventsServiceRef</code> for instant catalog updates via webhooks, experimental Client ID Metadata Documents for MCP authorization (<code>auth.experimentalClientIdMetadataDocuments.enabled</code>), and experimental refresh token support to prevent hourly token expiration.</p><p>The breaking changes caught some teams off guard. Some users reported Soundcheck rendering issues tied to recently removed CSS variables in Backstage UI. Anyone running a custom theme should check that their files are referencing current CSS tokens before upgrading.</p><p><a href="https://github.com/backstage/backstage/releases/tag/v1.48.0">v1.48.0 release notes</a></p><h3>v1.48.1 Patch Fixes Type Compatibility and Documentation Issues</h3><p>A patch release shipped February 18, fixing two regressions from v1.48.0:</p><ul><li>A missing sharing extensions sidebar item in the frontend system architecture docs</li><li>A type compatibility issue for older plugins in the <code>FrontendFeature</code> type.</li></ul><p>If you upgraded to 1.48.0 and hit plugin type errors, update to 1.48.1.</p><p><a href="https://github.com/backstage/backstage/releases/tag/v1.48.1">v1.48.1 release notes</a></p><h3>Security Advisory: CVE-2025-69873 in ajv Dependency</h3><p>Community members flagged CVE-2025-69873 (CVSS 8.2) affecting ajv@6.12.6, a transitive dependency of <code>@backstage/cli@0.35.3</code>. The vulnerability involves potential denial-of-service via uncontrolled schema input. Maintainer freben assessed impact as low since ajv only runs during build, not in production applications. Teams that tried resolving it by upgrading to ajv@8.18.0 ran into breaking changes in the CLI's linting pipeline. The maintainers are still working through it.</p><p><a href="https://nvd.nist.gov/vuln/detail/CVE-2025-69873">CVE details</a></p><hr><h2>Roadie Blog</h2><p><img src="https://roadie.io/_next/image/?url=https%3A%2F%2Fimages.ctfassets.net%2Fhcqpbvoqhwhm%2F2ifARS13jPFyoGOHMJEIwr%2Fd82ab15ea3af3b5b226938731ea02d4a%2Fimage1.png%3Fw%3D500%26h%3D500%26fm%3Dwebp&#x26;w=640&#x26;q=75" alt="Supercharge your GitLab setup with Roadie&#x27;s Internal Developer Portal"></p><p>Roadie published a new post this week on GitLab integration: <a href="https://roadie.io/blog/supercharge-your-gitlab-setup/">Supercharge your GitLab setup with Roadie's Internal Developer Portal</a>. It covers how teams using GitLab can eliminate repo sprawl, centralize ownership and governance, and visualize CI/CD pipelines through Roadie's managed Backstage platform. The post focuses on getting a production-ready IDP running in hours rather than months.</p><h2>Community Discussions</h2><h3>Release Updates: Backstage v1.48.0 and v1.48.1</h3><p><a href="https://github.com/backstage/backstage/releases/tag/v1.48.0">Backstage v1.48.0</a> shipped on February 17, followed quickly by a <a href="https://github.com/backstage/backstage/releases/tag/v1.48.1">patch release v1.48.1</a> on February 18. The patch fixed two regressions introduced in 1.48.0: a missing sharing extensions sidebar item in the frontend system architecture docs, and a type compatibility issue for older plugins in the FrontendFeature type. Community members reported that some third-party plugins (notably Soundcheck) showed rendering issues after upgrading to 1.48.0, and a thread in <a href="https://discord.com/channels/687207715902193673/687207715902193679/threads/1473623389334667266">#general</a> noted that GabDug pointed to recently removed CSS variables in the latest Backstage UI update as a likely cause. Users encountering visual glitches after upgrading should check whether they need to update CSS variable references in custom theme files.</p><h3>New Frontend System: "Is It Production-Ready?" Gets a Definitive Answer</h3><p>One of the most active discussions of the week came from <a href="https://discord.com/channels/687207715902193673/1006844959170764851/threads/1473031098639450247">#support</a> (25 replies), where Dinesh asked whether the New Frontend System is production-ready, what the alpha/experimental status means, and whether teams should migrate now or wait.</p><p>Maintainer Ahhhndre gave a clear and confident answer: <em>the NFS has been announced as adoption-ready for several months and many organizations are already running it in production.</em> The thread evolved into a practical migration walkthrough, with Sarabadu and Ahhhndre helping Dinesh navigate the transition from <code>convertLegacyAppOptions</code> to the new <code>createApp</code> API and clarifying plugin compatibility with signals.</p><p>Key clarifications from maintainers:</p><ul><li>There is no difference from a deployment standpoint between the legacy and new frontend systems.</li><li><code>convertLegacyAppOptions</code> is a transitional helper that will be removed once the full migration is complete.</li><li><code>signalPlugin</code> is already NFS-compatible and should not be added to the legacy options during migration.</li></ul><p>If you're looking for more information, check out these <a href="https://backstage.io/docs/frontend-system/">docs and migration guides</a></p><h3>BUI Migration Pain Points: Theming and Missing Card Types</h3><p>Teams migrating to Backstage UI (BUI) ran into several friction points this week. In <a href="https://discord.com/channels/687207715902193673/1101159492298743808/threads/1472875207361433633">#frontend-system</a>, lgnd_seba reported being unable to apply a custom theme when migrating to BUI, finding that neither <code>import '@backstage/ui/css/styles.css'</code> nor the CSS variable approach using <code>[data-theme-mode='dark']</code> caused the component to pick up the custom font; it fell back to the BUI default system-ui. In the same channel, adders flagged that <code>EntityDependencyOfComponentsCard</code> is missing an entity-card equivalent in the NFS, with no clear workaround for using existing cards. Brian Wink noted that <code>type: summary</code> was removed in 1.48.0 for Overview cards, raising questions about how to place two smaller cards side-by-side without it.</p><h3>Security Advisory: CVE-2025-69873 in ajv@6.12.6 (Backstage CLI Dependency)</h3><p>A message thread in <a href="https://discord.com/channels/687207715902193673/1101159492298743808/threads/1472875207361433633">#security</a> raised a Snyk alert for ajv@6.12.6, which is a transitive dependency of @backstage/cli@0.35.3. The vulnerability is CVE-2025-69873 (CVSS 8.2, SNYK-JS-AJV-15274295) and involves a potential denial-of-service via uncontrolled schema input. Maintainer freben assessed the impact as low for Backstage since ajv is used only in the build process (not in the running application).</p><p>Teams attempting to resolve the issue by upgrading to ajv@8.18.0 reported that doing so breaks the CLI's linting pipeline with "NOT SUPPORTED: option missingRefs" errors. The thread was ongoing as of Feb 18, with the team investigating the correct version bump path.</p><p><a href="https://nvd.nist.gov/vuln/detail/CVE-2025-69873">CVE details</a></p><h3>Call for Help: SCM Webhook Event Handlers for the Catalog</h3><p>In <a href="https://discord.com/channels/687207715902193673/923144214580191282/1471821293983764551">#catalog</a>, maintainer freben shared an open call for community contributions. The Backstage catalog now has a generic interface for handling SCM events (things like file changes, repo renames/deletions, branch creation, and archiving), but only a GitHub adapter has been implemented so far. Teams using GitLab, Bitbucket, or other SCM providers that want instant reactive updates to catalog state are encouraged to contribute adapters. This was a required feature for the 1.48 release cycle.</p><p><a href="https://github.com/backstage/backstage/issues/32833">GitHub Issue #32833</a></p><h3>Community Plugin: Excalidraw-Style Catalog Graph</h3><p>Milan May'r shared a new community plugin in <a href="https://discord.com/channels/687207715902193673/696709358544879716/1470820083809914980">#visual-design</a> and <a href="https://discord.com/channels/687207715902193673/1211692810294788126/1470820170615492671">#plugins</a>: <code>backstage-plugin-roughjs-catalog-graph</code>, which replaces the standard Relations Graph on entity pages with one rendered using rough.js (the same hand-drawn aesthetic popularized by Excalidraw). The plugin takes approximately five minutes to install. It received positive reactions in the community and is a fun way to give the dependency graph a more casual, whiteboard-style look.</p><p><a href="https://github.com/milanmayr/backstage-plugin-roughjs-catalog-graph">View the plugin on GitHub</a></p><h3>Kubernetes-Ingestor Plugin: New Release with Cache Improvements</h3><p>A 9-message thread in <a href="https://discord.com/channels/687207715902193673/1471907254587490417">#plugins</a> tracked a community request for a new release of the kubernetes-ingestor plugin. User prims47 had contributed a PR improving cache behavior when resolving owner from namespace, and Thomvaill's team was waiting on the release to plan their project schedule. Plugin maintainer Scott Rosenberg (vRabbi) confirmed on Feb 17 that a new release went out with the changes, and prims47 noted significantly improved performance on local testing.</p><h3>Volvo Backstage Adoption Story Featured in Community Session</h3><p>In <a href="https://discord.com/channels/687207715902193673/696709358544879716">#adoption</a>, mihait announced that the upcoming Backstage Community Session (week of Feb 18) would feature Volvo showcasing their Backstage adoption journey. This continues the tradition of enterprise adoption stories in the monthly community calls and is a great resource for teams making the business case for Backstage internally.</p><h3>TechDocs Content Rendering Randomly Blank in 1.44.x</h3><p>A detailed bug report landed in <a href="https://discord.com/channels/687207715902193673/714754240933003266/1473120233639121040">#techdocs</a> from user RP on Feb 17: TechDocs pages randomly show a blank content area while the sidebar renders correctly, with the issue appearing after 3–20 navigation clicks through docs pages.</p><p>The instance is running Backstage 1.44.1 with an external builder and GCS publisher. Network inspection showed all requests completing with 200/304 responses and no timeouts, making it tricky to diagnose. RP noted the issue is more common on pages with nested navigation and a custom plugin linking TechDocs for 150+ technologies. The thread was open for community input as of this writing.</p><hr><h2>Changelog</h2><p><strong>v1.48.0</strong> (Feb 17, 2026)
Major release with graduated catalog extension points, NFS enhancements, module federation enabled by default, experimental MCP authorization, and breaking changes to API restrictions. Full changelog at <a href="https://github.com/backstage/backstage/blob/master/docs/releases/v1.48.0-changelog.md">docs/releases/v1.48.0-changelog.md</a>.</p><p><strong>v1.48.1</strong> (Feb 18, 2026)
Patch release fixing missing sharing extensions sidebar item in frontend system docs and type compatibility for older plugins.</p><p><a href="https://github.com/backstage/backstage/releases">All releases</a></p><hr>
]]></content:encoded></item><item><title><![CDATA[Wiz Plugin Reaches GA & Spotify Details Mobile Release Engineering with Backstage]]></title><link>https://roadie.io/backstage-weekly/121-wiz-plugin-ga-spotify-release-engineering/</link><guid isPermaLink="false">https://roadie.io/backstage-weekly/121-wiz-plugin-ga-spotify-release-engineering/</guid><pubDate>Mon, 16 Feb 2026 14:00:00 GMT</pubDate><description><![CDATA[This week highlights real-world Backstage adoption: Wiz launches its GA plugin, Spotify details its mobile release engineering dashboard, and the community dives into security advisories, scaffolder patterns, and backend challenges.]]></description><content:encoded><![CDATA[<h3>Wiz Plugin Reaches General Availability</h3><p><img src="https://www.datocms-assets.com/75231/1770136797-backstage-2x.png?dpr=0.5&#x26;fm=webp" alt="Wiz Plugin Reaches General Availability - Image from Wiz blog post"></p><p>Wiz published their first-party Backstage plugin on February 6. The <code>@wiz-sec/backstage-plugin-wiz</code> package surfaces Wiz Issues and Vulnerabilities directly in your portal by mapping Wiz projects to catalog components.</p><p>You can search and filter findings by rule, resource, or CVE, track severity, and navigate into Wiz for remediation without leaving Backstage. This is distinct from the earlier Roadie-built Wiz plugin, representing Wiz's own investment in the Backstage ecosystem.</p><p><a href="https://www.wiz.io/blog/wiz-spotify-backstage">Wiz blog post</a></p><h3>Spotify Details Mobile Release Engineering with Backstage</h3><p><img src="https://engineering.atspotify.com/_next/image?url=https%3A%2F%2Fimages.ctfassets.net%2Fp762jor363g1%2F71j14YPhkb7exdwGJVJTY7%2Fea363f7f74cd73bec5afad1a7a70c95c%2FHow_we_release_the_main_Spotify_app_Part_2_featured_final.png&#x26;w=750&#x26;q=75" alt="Spotify Mobile Release - Image from Spotify blog post"></p><p>Spotify Engineering published Part 2 of their mobile release process deep-dive on February 9. The post details how their Release Manager Dashboard, built as a Backstage plugin in React/TypeScript, uses the Software Catalog for build distribution configuration.</p><p>The article covers the evolution from Jira-based release tracking to a unified Backstage-powered dashboard, including backend optimization, automated release progression ("the Robot"), and data-driven release insights.</p><p><a href="https://engineering.atspotify.com/2026/2/how-we-release-the-spotify-app-part-2">Read the post</a> | <a href="https://engineering.atspotify.com/2025/04/how-we-release-the-spotify-app-part-1">Part 1 from April 2025</a></p><hr><h2>From the Roadie Blog</h2><p><img src="https://roadie.io/_next/image/?url=https%3A%2F%2Fimages.ctfassets.net%2Fhcqpbvoqhwhm%2F4vvjI8YXk62MaINfC6FQjw%2F7a56658a110c9ed0d65f7cc0e95a6c64%2Fimage1.png%3Fw%3D500%26h%3D500%26fm%3Dwebp&#x26;w=640&#x26;q=75" alt="">
We published <a href="https://roadie.io/blog/backstage-microservices-strategies/">Backstage Microservices Strategies: Taming Sprawl with a Service Catalog</a> on February 12.</p><p>The piece tackles the ownership problem: when a 3 AM incident cascades through your 400-microservice architecture, who owns what's broken? Without a centralized system of record, you accumulate "zombie services" that nobody claims until they fail.</p><p>Key sections cover the hidden cost of microservices at scale (Expedia's 5,000 developers managing 20,000 services), how Backstage functions as your microservices operating system, Golden Paths that eliminate the copy-paste tax (Spotify's new service creation time dropped from 14 days to 5 minutes), dependency visualization for blast radius analysis, and Tech Insights that gamify production readiness.</p><p>The article compares self-hosted versus managed options, noting self-hosted typically requires 2-3 dedicated FTEs with TypeScript/React expertise, while managed solutions like Roadie cost approximately $20/user/month with same-day setup.</p><hr><h2>Community Discussions</h2><h3>New Pull Request Review Workflow for Backstage Contributors</h3><p>The Backstage maintainers have <a href="https://github.com/backstage/backstage/issues/32794">launched a significantly improved pull request review process</a> that makes it easier for community members to become reviewers. The new workflow incorporates a dedicated reviewers group from the start, addressing long-standing feedback about contribution barriers. This change aims to make the review process more transparent and accessible, particularly for those wanting to contribute at a deeper level. The initiative comes with a call for new reviewers to join the program, with RBAC permissions to ensure only authorized platform team members can participate.</p><h3>Developer Experience: Manual Triggering of Scheduled Tasks</h3><p>A <a href="https://discord.com/channels/687207715902193673/1470354816193531945">significant discussion emerged</a> around the pain points of testing scheduled tasks during development. Currently, developers must modify task frequency in config, restart the app, and wait for execution—a slow feedback loop that can take several minutes per iteration. Community member Thomvaill proposed building a "Task Manager" plugin that would provide a UI at <code>/task-manager</code> to list and manually trigger tasks across all plugins, leveraging the existing scheduler trigger API (<code>POST /.backstage/scheduler/v1/tasks/&#x3C;taskId>/trigger</code>). The proposed solution would integrate with Backstage's native auth, support RBAC permissions, and show task status, run history, and cadence information. This resonated with multiple community members facing similar development workflow challenges.</p><h3>Security Vulnerability: tar Package Advisory</h3><p>Users <a href="https://discord.com/channels/687207715902193673/1468949919653171221">reported concerns</a> about the tar package vulnerability (versions &#x3C;=7.5.3) affecting Backstage 1.45.3 installations. The discussion focused on identifying remediation paths and whether upgrading to newer Backstage versions would resolve the issue. This thread included 14 messages with community members sharing workarounds and dependency resolution strategies, highlighting the ongoing need for security vigilance in the ecosystem.</p><h3>Scaffolder: Multiple Action Modules Support</h3><p><a href="https://discord.com/channels/687207715902193673/1471246543402307789">Discussion about scaffolder architecture</a> revealed questions about organizing multiple action modules within a single scaffolder backend module. When running <code>yarn backstage-cli new</code> to create a new action module, developers wondered whether multiple actions should live in separate subdirectories or if there's a recommended pattern for organizing multiple related actions. The conversation highlighted documentation gaps around scaffolder action organization patterns.</p><h3>Catalog Backend: SQLite Race Condition Issues</h3><p>Users <a href="https://discord.com/channels/687207715902193673/1471141097911750796">encountered race condition problems</a> when using SQLite for Backstage catalog backend storage, with multiple participants discussing whether this is a known limitation of the in-memory/SQLite configuration. The recommendation shifted toward using file storage or PostgreSQL for production deployments to avoid database locking issues during concurrent operations. This thread contained 8 messages exploring the technical details of the problem and referencing <a href="https://github.com/backstage/backstage/issues/22207">GitHub issue #22207</a>.</p><h3>Authentication: GitHub Enterprise OAuth Scope Errors</h3><p>Multiple users <a href="https://discord.com/channels/687207715902193673/978977570852835379">reported</a> "Refresh failed, session has not been granted the requested scope" errors when trying to access Backstage components. The discussion focused on GitHub integration configurations and whether certain auth providers properly handle scope refresh tokens. Additionally, there was a thread about GitHub Enterprise authentication CORS policy issues when the GitHub Actions plugin attempts to fetch CI/CD pipeline data from self-hosted instances.</p><h3>Backend System: OpenTelemetry Setup Challenges</h3><p>A user <a href="https://discord.com/channels/687207715902193673/1034089724664610938">struggled with internal Backstage metrics deployment</a> using Helm Chart, specifically around OpenTelemetry configuration. The thread included detailed troubleshooting with 2 messages pointing to <a href="https://github.com/backstage/charts/issues/307">GitHub issue #307</a> in the backstage/charts repository for documentation improvements around metrics setup.</p><h3>Community Plugin: rough.js-based Relations Graph</h3><p>A <a href="https://discord.com/channels/687207715902193673/1211692810294788126">new community plugin was shared</a> that updates the visuals of the Relations Graph using the <code>rough.js</code> library to give components a hand-drawn, sketch-like appearance inspired by Excalidraw. The implementation is described as simple and takes only 5 minutes to set up, offering an alternative visual style for catalog entity relationships. <a href="https://github.com/milanmayr/backstage-plugin-roughjs-catalog-graph">View the plugin on GitHub →</a></p><h3>Catalog Backend Actions Documentation</h3><p><a href="https://discord.com/channels/687207715902193673/1470547837950623866">A discussion emerged</a> about whether there should be formal documentation for the catalog-backend actions or if the community should rely on description and parameter descriptions within the code. The conversation highlighted interest in creating a basic README under the actions directory or in the top-level catalog plugin documentation to make these actions more discoverable for developers.</p><h3>CNCF Travel Support for KubeCon EU Contributors</h3><p>Community contributor Ayush More, who has been contributing to Backstage for several months, <a href="https://discord.com/channels/687207715902193673/1470708184217026662">received approval for a CNCF Travel Scholarship</a> to KubeCon EU. However, as a 17-year-old traveling solo from India, additional costs like the Tatkaal passport and Schengen visa aren't covered. The community discussed possibilities for a small $200-300 "contributor stipend" to help bridge this gap, highlighting the challenges young international contributors face attending events.</p><hr><h2>Changelog</h2><h3>Core Releases</h3><p><strong>v1.48.0-next.2</strong> (Feb 10, 2026)
Pre-release continuing v1.48.0 development. Full changelog at <a href="https://github.com/backstage/backstage/blob/master/docs/releases/v1.48.0-next.2-changelog.md">docs/releases/v1.48.0-next.2-changelog.md</a>. The <a href="https://demo.backstage.io/">demo site</a> runs this version for early testing.</p><p>Latest stable release remains v1.47.3 from February 2.</p><p><a href="https://github.com/backstage/backstage/releases">All releases</a></p>
]]></content:encoded></item><item><title><![CDATA[TechDocs Security Patch, 14+ Plugin Updates & BackstageCon EU]]></title><link>https://roadie.io/backstage-weekly/120-techdocs-security-patch-plugin-updates-backstagecon-eu/</link><guid isPermaLink="false">https://roadie.io/backstage-weekly/120-techdocs-security-patch-plugin-updates-backstagecon-eu/</guid><pubDate>Mon, 09 Feb 2026 14:00:00 GMT</pubDate><description><![CDATA[Backstage v1.47.3 ships a TechDocs security fix, 14+ community plugins update for compatibility, BackstageCon Europe dates are confirmed, and the community debates tar vulnerabilities, theming bugs, and Renovate PR overload.]]></description><content:encoded><![CDATA[<h3>TechDocs Security Patch Shipped</h3><p>Backstage v1.47.3 shipped February 2nd with security fixes for <code>@backstage/plugin-techdocs-node</code>. The patch addresses vulnerabilities in how TechDocs handles external content. If you're running TechDocs, upgrade now.</p><p>Still on 1.46.x? v1.46.5 backports the same fixes.</p><p>This follows the security improvements in v1.47.0 from January 20th for Software Templates and external content reading. Use the <a href="https://backstage.github.io/upgrade-helper/">Backstage Upgrade Helper</a> for your upgrade.</p><p><a href="https://github.com/backstage/backstage/releases/tag/v1.47.3">v1.47.3 release notes</a> | <a href="https://github.com/backstage/backstage/releases/tag/v1.46.5">v1.46.5 release notes</a></p><h3>14+ Community Plugins Updated</h3><p>Between February 4-5, over 14 community plugins got version bumps for v1.47.3 compatibility: SonarQube, Azure DevOps, RBAC, Jenkins, OCM, Tech Radar, ServiceNow, 3scale, Quay, Keycloak, and several scaffolder backend modules.</p><p>Beyond version bumps, a few substantial changes landed:</p><p>Cost Insights now supports custom date ranges (<a href="https://github.com/backstage/community-plugins/pull/7463">#7463</a>). You can analyze cloud costs over specific periods instead of fixed windows.</p><p>Confluence fixed legacy app-config compatibility for the search collector (<a href="https://github.com/backstage/community-plugins/pull/7494">#7494</a>).</p><p>MCP Chat updated to @modelcontextprotocol/sdk v1.26.0 (<a href="https://github.com/backstage/community-plugins/pull/7479">#7479</a>).</p><p><a href="https://github.com/backstage/community-plugins/pulls">Browse all updates</a></p><h3>BackstageCon Europe: Dates Confirmed</h3><p><img src="https://events.linuxfoundation.org/wp-content/uploads/2025/10/KC-CNC-EU-26-Subhero-1920x600.png" alt="BackstageCon and KubeCon + CloudNativeCon Europe 2025"></p><p>As we mentioned last week, BackstageCon Europe 2026 happens March 23-26 in Amsterdam, co-located with KubeCon + CloudNativeCon Europe. The sponsorship deadline passed February 2nd, but registration opens soon.</p><p>Amsterdam will also host a Backstage ContribFest session on March 26th where you can contribute directly to the project. <a href="https://kccnceu2026.sched.com/event/2EFTv">Full schedule here</a>.</p><p>If you missed BackstageCon North America 2025 in Atlanta, videos are available on <a href="https://www.youtube.com/playlist?list=PL8iP9yIjU0Q33vpSaBlAvIhgDb-9smXUU">Backstage Community YouTube</a>.</p><p><a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-europe/co-located-events/backstagecon/">Event page</a></p><hr><h2>Ecosystem Pulse</h2><p>AI + Platform Engineering convergence continues to be a major theme for 2026. Jennifer Riggins at The New Stack published <a href="https://thenewstack.io/in-2026-ai-is-merging-with-platform-engineering-are-you-ready/">In 2026, AI Is Merging With Platform Engineering. Are You Ready?</a> noting that Spotify used AI agents to generate 1,500+ merged PRs with 60-90% time savings, and internal developer platforms have become "nearly universal" per the DORA report.</p><p>Roadie published <a href="https://roadie.io/blog/ai-is-showing-up-in-developer-portals/">AI, IDPs and Platform Teams: What We're Seeing</a> documenting how platform teams are experimenting with RAG over TechDocs, AI-powered scaffolder actions, and natural language queries across internal tools. Key challenge: AI agents are being built in silos without discoverability, ownership, or governance. Roadie's solution treats AI agents as first-class catalog entities, just like services, enabling teams to track who owns what, where PII flows, and whether agents follow security standards.</p><hr><h2>Community Discussions</h2><h3>Aliases Configuration Partially Broken</h3><p>A user <a href="https://discord.com/channels/687207715902193673/687207715902193679/1468509507092221952">deploying Backstage with multiple aliases in #general</a> hit customization issues on January 30. Ingress patches, CORS configuration, and Azure app callbacks all need fixes. Only some alias functionality works.</p><h3>Tar Vulnerability in 1.45.3</h3><p>The <a href="https://discord.com/channels/687207715902193673/687207715902193679/1468949919653171221">#general channel surfaced a discussion</a> February 5 about the tar (&#x3C; 7.5.3) vulnerability affecting Backstage 1.45.3. Tar is a transitive dependency. The bookworm-slim base image makes this worse because packages age without updates.</p><p>Users want remediation options. No clear path forward yet.</p><h3>Dark Mode Theming Broken</h3><p>Custom themes with company logos work in light mode but break in dark mode, according to <a href="https://discord.com/channels/687207715902193673/687207715902193679/1468948605720203324">a #general post tagged #visual-design</a> from February 5. The sidebar uses one theme, while catalog and home pages use different theming.</p><h3>Timezone Support Request</h3><p>A Sydney-based team <a href="https://discord.com/channels/687207715902193673/831533806899953715/1467662925299978441">asked in #meetups</a> on February 2 for different timezone support for community sessions and calls. Current times mean 2am calls.</p><h3>Renovate Creates Immortal PRs</h3><p>Renovate creates persistent PRs for Backstage security updates, <a href="https://discord.com/channels/687207715902193673/1201559534754345110/1466821865111552030">according to discussion in #maintenance</a> on January 30. OSV vulnerability alerts create too many PRs. You can't configure them at package level, only globally. These PRs block the concurrent PR limit.</p>
]]></content:encoded></item><item><title><![CDATA[2026 Roadmap, v1.48.0 Pre-Release & CNCF Velocity]]></title><link>https://roadie.io/backstage-weekly/119-2026-roadmap-v1-48-0-backstagecon/</link><guid isPermaLink="false">https://roadie.io/backstage-weekly/119-2026-roadmap-v1-48-0-backstagecon/</guid><pubDate>Mon, 02 Feb 2026 13:00:00 GMT</pubDate><description><![CDATA[Backstage maintainers are gathering community input on priorities for 2026, alongside the v1.48.0 pre-release, BackstageCon Europe updates, and new CNCF velocity metrics.]]></description><content:encoded><![CDATA[<h3>Backstage Maintainers Want Your Input on 2026 Roadmap</h3><p>The maintainers opened <a href="https://github.com/backstage/backstage/issues/32083">a GitHub discussion</a> asking what you want prioritized in 2026. Four themes have emerged:</p><p><strong>Performance and Reliability</strong>: Core performance improvements, better memory management, and stability at scale. This matters if you're running Backstage for hundreds or thousands of engineers.</p><p><strong>Scaffolder Enhancements</strong>: Better workflows, clearer form UX, and debugging tools that actually help. If you've wrestled with template errors, this should interest you.</p><p><strong>Tech Stack Modernization</strong>: React 19, TypeScript 5.7+, and modern bundling. This isn't just version bumping, it's about making Backstage easier to extend and maintain.</p><p><strong>Security Improvements</strong>: Enhanced auth patterns and security features. Given the sensitive data Backstage handles, this is overdue.</p><p>The discussion is active now. If you have strong opinions about what needs fixing or improving, add them there.</p><h3>BackstageCon Europe: March 23 in Amsterdam</h3><p><a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-europe/co-located-events/backstagecon/">BackstageCon Europe 2026</a> happens March 23 in Amsterdam, co-located with KubeCon + CloudNativeCon Europe.</p><p>Sponsorship deadline is February 2. <a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-europe/register/">Registration is open</a>.</p><p><img src="https://backstage.io/assets/images/kcon25-atl-slideshow-80d0c3c88c2250dc90de0ab343d0ea8f.gif" alt="BackstageCon Atlanta 2025 slideshow showing conference scenes and community collaboration - Source: backstage.io"></p><h3>Backstage Ranks #5 in CNCF Velocity</h3><p>The <a href="https://www.cncf.io/announcements/2026/01/20/kubernetes-established-as-the-de-facto-operating-system-for-ai-as-production-use-hits-82-in-2025-cncf-annual-cloud-native-survey/">CNCF's 2025 Annual Survey</a> ranks Backstage as the #5 CNCF project by velocity. The <a href="https://www.cncf.io/projects/backstage/">CNCF project page</a> shows the current metrics:</p><ul><li>46,063 total contributors</li><li>13,506 contributing organizations</li><li>$125.1M estimated software value</li><li>Health score: 82 (excellent)</li></ul><hr><h2>Backstage Changelog</h2><h3>v1.48.0-next.0 Pre-Release</h3><p><a href="https://github.com/backstage/backstage/releases/tag/v1.48.0-next.0">Released January 27</a>, this pre-release packages the latest features heading into v1.48.0. The <a href="https://github.com/backstage/backstage/blob/master/docs/releases/v1.48.0-next.0-changelog.md">full changelog</a> has details.</p><p><img src="//images.ctfassets.net/hcqpbvoqhwhm/26dgn0OAg8ZQ4h5djo2Qrs/8f6bd5668539133dfdafe38c00103723/image1.jpg" alt="v1.48.0-next.0 Pre-Release"></p><h3>v1.47.0 Breaking Changes and Updates</h3><p><a href="https://github.com/backstage/backstage/releases/tag/v1.47.0">v1.47.0 shipped January 20</a> with 103 PRs from 40 contributors. Here's what breaks and what improves:</p><h4>Table Component Redesign</h4><p>The Table in <code>@backstage/core-components</code> got rebuilt. If you use custom columns or cell renderers, they need updates. The new version performs better and gives you more control over pagination.</p><p>Check the <a href="https://github.com/backstage/backstage/releases/tag/v1.47.0">release notes</a> for the migration guide.</p><h4>Blueprint Component Deprecations</h4><p>Blueprint.js components are being replaced with Material UI equivalents. The deprecation warnings tell you what to use instead. This isn't urgent but plan for it.</p><h4>GithubOrgEntityProvider Performance Fix</h4><p>The GitHub org provider now does incremental updates instead of full refreshes. If you ingest hundreds of repos, this matters. Update your config to enable it.</p><h4>AWS S3 Auth Priority Change</h4><p>The URL reader now uses explicit credentials before falling back to environment variables. If you're using S3 for TechDocs storage, verify your auth setup still works.</p><h4>URL Reader Redirect Validation</h4><p>Redirects now get validated to prevent security issues. This might break integrations that rely on redirect chains. Test your setup after upgrading.</p><h4>Kubernetes Plugin Backend Migration</h4><p>New backend modules are available for the Kubernetes plugin. The old approach still works but follow the migration guide to move to the new system.</p><h4>Docker Image Updates</h4><p><a href="https://github.com/backstage/backstage/blob/master/docs/releases/v1.47.0-next.2-changelog.md">v1.47.0-next.2</a> moved to Node 24 and Debian Trixie. The <a href="https://backstage.io/docs/deployment/docker/">Docker deployment docs</a> show the new <code>node:24-trixie-slim</code> base image.</p><hr><h2>Community Discussions</h2><h3>Release Updates: v1.47.2 Fixes Zod Issues</h3><p>A new patch release, <strong>Backstage v1.47.2</strong>, has been published. This is a critical update as it fixes a breaking <code>Cannot find module 'zod/v3'</code> error that affected users on 1.47.1 and caused automated version bump processes for community plugins to fail. The issue stemmed from work to migrate to Zod v4 leaking into the release.</p><ul><li><strong>Fix:</strong> The patch restores dependency on a specific version of Zod.</li><li><strong>API Factory:</strong> It also rolls back immediate breaking changes regarding API factory conflicts, converting them to deprecation warnings instead.</li><li><strong>Community Plugins:</strong> Following this fix, the automated version bump process for community plugins has been re-triggered and is back to green.</li></ul><p><a href="https://github.com/backstage/backstage/releases/tag/v1.47.2">See the release notes</a> or view the discussion in <a href="https://discord.com/channels/687207715902193673/1201559534754345110/1465824423377502466">#maintenance</a>.</p><h3>Managing Community Plugin Updates</h3><p>There was an insightful discussion in <a href="https://discord.com/channels/687207715902193673/1211692810294788126/threads/1465421694171877637">#plugins</a> regarding how community plugins are released and upgraded:</p><ul><li><strong>Release Process:</strong> Once a functionality PR is merged, a "Version Packages" PR is generated. The new version is only published to NPM after <em>that</em> second PR is merged.</li><li><strong>How to Update:</strong> Running the standard <code>yarn backstage-cli versions:bump</code> does <strong>not</strong> update community plugins by default. To bump these packages manually without Renovate, use:
<code>yarn backstage-cli versions:bump --pattern "@backstage-community/*"</code></li></ul><h3>DevTools and Scheduler Configuration</h3><p>In <a href="https://discord.com/channels/687207715902193673/687207715902193679/1465264870562988062">#general</a>, users discussed configuring <code>devtools.scheduledTasks.plugins</code>. Current findings suggest that <strong>Catalog</strong>, <strong>Search</strong>, and <strong>Notifications</strong> are the primary plugins supported in this configuration section.</p><h3>Technical Q&#x26;A Highlights</h3><p>Several technical patterns were debated in <a href="https://discord.com/channels/687207715902193673/687207715902193679">#general</a>:</p><ul><li><strong>Config outside React:</strong> Users looking to access app config outside of React components (without <code>useApi</code>) were pointed toward <code>defaultConfigLoader.ts</code> as a reference implementation.</li><li><strong>Migration Rollbacks:</strong> There is an active issue regarding rolling back <code>backend-defaults</code> scheduler migrations (<code>20250411000000_last_run.js</code>). The standard Knex rollback commands are failing with a "migration directory corrupt" error because the file references tables not strictly bound to the expected database context.</li><li><strong>Tag Validation:</strong> A reminder that the Catalog currently enforces lowercase tags; uppercase tags in <code>catalog.yml</code> will fail registration.</li></ul><hr><h2>From the Roadie Blog</h2><h3>Creating Backstage EntityProviders at Runtime</h3><p>Brian Fletcher's <a href="https://roadie.io/blog/creating-backstage-entityproviders-at-runtime/">runtime EntityProviders guide</a> shows how to build a provider pooling pattern. The key idea: pre-register providers at startup, then assign them to consumers at runtime.</p><p>This pattern enables:</p><ul><li>Multi-tenancy (different teams, different data sources)</li><li>User-defined integrations without code deployment</li><li>Self-service onboarding</li><li>Dynamic provider registration</li></ul><p>If you're building a platform where users define their own integrations, this pattern solves the "restart the backend every time someone adds a data source" problem.</p><h3>The Real Cost of Self-Hosting Backstage</h3><p>A recent <a href="https://roadie.io/blog/the-true-cost-of-self-hosting-backstage/">build vs. buy analysis from Roadie</a> breaks down what self-hosting actually costs. Not just infrastructure, the engineering time to maintain it, upgrade it, and keep it secure.</p><p>The analysis covers:</p><ul><li>Real infrastructure costs (compute, storage, networking)</li><li>Hidden maintenance costs (upgrades, plugin updates, security patches)</li><li>Opportunity cost (platform team time vs. product work)</li><li>When self-hosting makes sense vs. when managed makes sense</li></ul><p>If you're evaluating Backstage deployment options, this gives you the framework to calculate total cost of ownership.</p><p>That's this week's Backstage Weekly. See you next week.</p>
]]></content:encoded></item><item><title><![CDATA[Backstage v1.47.0 ships with major table redesign and AWS auth improvements]]></title><link>https://roadie.io/backstage-weekly/118-backstage-v1-47-0-ships-with-major-table-redesign/</link><guid isPermaLink="false">https://roadie.io/backstage-weekly/118-backstage-v1-47-0-ships-with-major-table-redesign/</guid><pubDate>Mon, 26 Jan 2026 11:30:00 GMT</pubDate><description><![CDATA[Backstage 1.47.0 introduces a redesigned Table component, updated UI tokens, and improved AWS authentication in TechDocs.]]></description><content:encoded><![CDATA[<p>Here are the stories and projects that caught our attention this week:</p><h3>CNCF End User Case Study Contest opens for Backstage adopters</h3><p>The CNCF announced their End User Case Study Contest, which showcases proven, real-world adoption of CNCF technologies including Backstage by end user organizations. Winners will present a 5-minute live keynote at KubeCon + CloudNativeCon EU 2026 in Amsterdam (March 23-26, 2026) and have their case study published on cncf.io. The contest closes on January 30, 2026 at 11:59pm PT, with winners announced by February 25, 2026. End user case studies published on cncf.io during 2025 will also be considered.</p><p><a href="https://www.surveymonkey.com/r/FJL5X3G">Submit your case study →</a></p><h3>Backstage agent skills for AI assistants</h3><p>A community member shared a new GitHub repository called backstage-agent-skills that provides Backstage skills for AI agents. The project aims to help AI assistants interact with Backstage instances programmatically. This is part of the growing intersection between AI and developer platforms as organizations look to automate more workflows.</p><p><a href="https://github.com/rothenbergt/backstage-agent-skills">Explore the repository →</a></p><h3>Code Wiki generates automated documentation for Backstage</h3><p>A new tool called Code Wiki has appeared that automatically generates up-to-date documentation for codebases. The community discussion highlighted its potential application for the Backstage repository itself, providing automatically generated API references and architecture overviews without manual documentation work.</p><p><a href="https://codewiki.google/github.com/backstage/backstage">Check out Code Wiki →</a></p><h2>Backstage Changelog</h2><p>A quick look at the changes that shipped in Backstage v1.47.0, released on January 20th.</p><h3>Breaking Changes</h3><ul><li><p><strong>Redesigned Table and useTable in @backstage/ui</strong> - The Table component now has pagination, sorting, selection, and data display built-in. The low-level wrapper is now TableRoot. The useTable hook supports three pagination modes: complete, offset, and cursor. <a href="https://ui.backstage.io/changelog">Migration guide →</a></p></li><li><p><strong>Updated color tokens in @backstage/ui</strong> - Color tokens updated to align with the new neutral surface-based design system. The <code>-tint</code> tokens have been removed.</p></li><li><p><strong>Redirect validation in URL reader</strong> - <code>coreServices.urlReader</code> now validates redirect chains against the allow list in <code>backend.reading.allow</code>. The FetchUrlReader class constructor is now private, replaced with a <code>fromConfig</code> static factory method.</p></li><li><p><strong>Better AWS S3 auth handling in TechDocs</strong> - Auth priority is now: 1) <code>aws.accounts</code>, 2) <code>techdocs.publisher.awsS3.credentials</code>, 3) <code>integrations.awsS3</code>, 4) Default credential chain.</p></li></ul><h3>Features</h3><ul><li><p><strong>Backend action filtering support</strong> - ActionsService now supports action filtering based on configuration to control which actions are exposed to consumers like the MCP backend.</p></li><li><p><strong>GitHub repository workflow access configuration</strong> - The scaffolder now supports configuring <code>workflowAccess</code> level when creating GitHub repositories to control GitHub Actions workflow access. Contributed by <a href="https://github.com/fearphage">@fearphage</a> in <a href="https://github.com/backstage/backstage/pull/32237">#32237</a></p></li><li><p><strong>Additional Kafka Events streaming settings</strong> - The Kafka event module now supports <code>fromBeginning</code> offsets and <code>autoCommit</code>. Contributed by <a href="https://github.com/imod">@imod</a> in <a href="https://github.com/backstage/backstage/pull/31410">#31410</a></p></li></ul><h3>Improvements</h3><ul><li><p><strong>Home plugin UI improvements</strong> - Widget configuration changes now only save when the Save button is clicked. A new Cancel button lets users discard unsaved changes. Contributed by <a href="https://github.com/kmikko">@kmikko</a> in <a href="https://github.com/backstage/backstage/pull/31198">#31198</a></p></li><li><p><strong>GithubOrgEntityProvider performance boost</strong> - The provider now fetches only specific user teams instead of all organization users when processing membership events, and uses <code>addEntitiesOperation</code> instead of <code>replaceEntitiesOperation</code> to avoid unnecessary deletions. Contributed by <a href="https://github.com/angeliski">@angeliski</a> in <a href="https://github.com/backstage/backstage/pull/32184">#32184</a></p></li><li><p><strong>Link component navigation fix</strong> - The Link component now properly uses React Router's navigation system instead of causing full page refreshes for internal routes.</p></li></ul><h3>Deprecations</h3><ul><li><p><strong>App customization blueprints moved</strong> - IconBundleBlueprint, NavContentBlueprint, RouterBlueprint, SignInPageBlueprint, SwappableComponentBlueprint, ThemeBlueprint, and TranslationBlueprint have been deprecated and moved to <code>@backstage/plugin-app-react</code>. These are now restricted to use in the app plugin only.</p></li><li><p><strong>API factory restrictions</strong> - Plugins are now restricted from overriding core Utility APIs and API factories from other plugins. Overrides must be made using plugin overrides or modules.</p></li></ul><h3>Security Fixes</h3><p>This release contains security fixes for Software Templates and reading external content.</p><h2>Community Discussions</h2><p>Here's what the Backstage community has been talking about this week:</p><h3>Entity naming best practices</h3><p>With auto-ingestion of GitHub repos, AWS resources, and Kubernetes resources, a community member asked about handling name clashes across entity types. The discussion covered using namespaces to scope things (kubens, aws, github) versus prefixing names. Using <code>spec.title</code> for more explicit names in the UI was also suggested as a way to maintain clean URLs while showing friendly names.</p><p><a href="https://discord.com/channels/687207715902193673/687207715902193679/1461382234794754171">View the discussion →</a></p><h3>CLI templates and conditional file creation</h3><p>Questions about the CLI templates feature revealed that you can name files with variables like <code>plugin-{{ pluginId }}.prod.yaml.hbs</code> and use conditional logic like <code>{%- if values.some == "yes" -%}file-name.yaml{%- endif -%}</code> to only create files when conditions are met. This applies both to file names and content within files.</p><p><a href="https://discord.com/channels/687207715902193673/687207715902193679/1463201160755282098">View the discussion →</a></p>
]]></content:encoded></item><item><title><![CDATA[Backstage on the Stack Overflow Podcast & A review of IDPs in 2025]]></title><link>https://roadie.io/backstage-weekly/117-spotify-plugins-v-1-43-tech-insights-legacy-backend-eol/</link><guid isPermaLink="false">https://roadie.io/backstage-weekly/117-spotify-plugins-v-1-43-tech-insights-legacy-backend-eol/</guid><pubDate>Tue, 21 Oct 2025 23:00:00 GMT</pubDate><description><![CDATA[Backstage updates: new CLI for catalog providers, auth screen uses app title, Postgres v18 support, ESLint UI CSS rule, TechDocs fixes, SES v2 emails, improved UI styles, Docker example app, updated docs.]]></description><content:encoded><![CDATA[<p>Here's a couple of recent articles that caught our attention this week:</p><h3>Getting Backstage in front of a shifting dev experience [podcast]</h3><p>Pia Nilsson, GM for Backstage and Head of Developer Experience at Spotify, was interviewed on The Stack Overflow Blog to discuss the organic growth and widespread adoption of Backstage, as well as the impact of AI on developer experience. As of September 2025, Backstage boasts over 3,400 known adopters, including numerous Fortune 500 companies like Airbnb, Booking.com, H&#x26;M, Toyota, and Lego. Nilsson highlighted how Spotify approaches platform engineering and standardization to help teams address specific needs, emphasizing Backstage's role in reducing friction, cognitive overhead, and operational toil for developers. The discussion also touched upon the future evolution of the developer experience, particularly with the integration of AI-driven workflows.</p><p><a href="https://stackoverflow.blog/2025/09/26/getting-backstage-in-front-of-a-shifting-dev-experience/">Read more →</a></p><h3>Backstage, a Mid-Year Snapshot - Platform Engineering</h3><p>A mid-year snapshot from Platform Engineering in September 2025 positions Backstage as the "gravitational center" of the Internal Developer Portal (IDP) conversation, having evolved significantly since its open-sourcing. The article notes that Backstage, now at version 1.42.5, is actively maintained under the CNCF and adopted by over 270 organizations (Editors note: It's more like 3,400). This article provides a good overview of the state of the IDP ecosystem in 2025.</p><p><a href="https://platformengineering.com/social-facebook/backstage-a-mid-year-snapshot/">Read more →</a></p><h2>Backstage Changelog</h2><h3>Features</h3><ul><li>Add CLI template to create new catalog entity provider modules. <a href="https://github.com/backstage/backstage/pull/31459">#31459</a> by @Rugvip, merged 1 day ago</li><li>Use app title in the auth consent screen. <a href="https://github.com/backstage/backstage/pull/31475">#31475</a> by @drodil, merged 2 days ago</li><li>Update Postgres policy to support version 18 with tests on 18 and 14. <a href="https://github.com/backstage/backstage/pull/31453">#31453</a> by @awanlin, merged 4 days ago</li><li>Add eslint rule that blocks importing Backstage UI CSS in plugins to keep styles consistent. <img src="https://github.com/user-attachments/assets/da4e00bb-57a8-4caf-b566-c9b5a8a14a12" alt=""><a href="https://github.com/backstage/backstage/pull/31463">#31463</a> by @Rugvip, merged 5 days ago</li></ul><h3>Bug Fixes</h3><ul><li>Fix TechDocs page rerender on each subpage navigation high activity. Before https://github.com/user-attachments/assets/99566977-052f-4aca-bc0f-cedb18631ce8 After https://github.com/user-attachments/assets/bbbcf127-30d3-4785-a53c-6e9b4c64994d <a href="https://github.com/backstage/backstage/pull/31447">#31447</a> by @GabDug, merged 2 days ago</li><li>Fix TechDocs CLI missing styles in version 1.10.0. Before <img src="https://github.com/user-attachments/assets/184572c8-1a5e-45ce-9175-e428b4f95299" alt=""> After <img src="https://github.com/user-attachments/assets/a52b7110-4ddf-4b0f-a300-e1bbd839d4e1" alt=""><a href="https://github.com/backstage/backstage/pull/31456">#31456</a> by @GabDug, merged 5 days ago</li><li>Update email notifications backend to SES v2 to avoid nodemailer v7 errors. <a href="https://github.com/backstage/backstage/pull/31458">#31458</a> by @drodil, merged 2 days ago</li><li>Make BitbucketUrlReader use the provided token. <a href="https://github.com/backstage/backstage/pull/31360">#31360</a> by @RedlineTriad, merged 6 days ago</li><li>Fix Backstage UI CSS layer order so base and tokens apply before components. <a href="https://github.com/backstage/backstage/pull/31448">#31448</a> by @cdedreuille, merged 5 days ago</li><li>Set default font smoothing in Backstage UI for clearer text. <a href="https://github.com/backstage/backstage/pull/31444">#31444</a> by @cdedreuille, merged 6 days ago</li><li>Import Backstage UI CSS in index.ts to ensure styles load. <a href="https://github.com/backstage/backstage/pull/31449">#31449</a> by @vinzscam, merged 1 day ago</li></ul><h3>Improvements</h3><ul><li>Soften task worker starting log text to avoid confusion about actual task start. <a href="https://github.com/backstage/backstage/pull/31460">#31460</a> by @freben, merged 2 days ago</li><li>Allow running the example app with Docker using Postgres OpenSearch Redis for local dev. <a href="https://github.com/backstage/backstage/pull/31107">#31107</a> by @drodil, merged 2 days ago</li></ul><h3>Documentation</h3><ul><li>Improve Backstage UI installation docs to show how to add the global theme and use components. <img src="https://github.com/user-attachments/assets/81c2bb3f-0197-403e-a893-4acd2316c47f" alt=""><a href="https://github.com/backstage/backstage/pull/31471">#31471</a> by @cdedreuille, merged 2 days ago</li><li>Update mainline release publishing docs to remove steps that are now automated. <a href="https://github.com/backstage/backstage/pull/31443">#31443</a> by @camilaibs, merged 6 days ago</li><li>Add blog post Get ready for Backstage ContribFest at KubeCon. <a href="https://github.com/backstage/backstage/pull/31440">#31440</a> by @awanlin, merged 6 days ago</li></ul><h2>Ecosystem Changelog</h2><h3><a href="/backstage/plugins/announcements/">Announcements Plugin</a></h3><ul><li><strong>Bug Fixes</strong> Add missing CSS so the dark theme renders correctly <a href="https://github.com/backstage/community-plugins/pull/5784">#5784</a> merged 6 days ago</li></ul><h3><a href="/backstage/plugins/azure-pipelines/">Azure Pipelines Plugin</a></h3><ul><li><strong>Features</strong> Add option to limit clone depth for the azure repository clone action <a href="https://github.com/backstage/community-plugins/pull/5632">#5632</a> merged 5 days ago</li></ul><h3><a href="/backstage/plugins/coder/">Coder Plugin</a></h3><ul><li><strong>Features</strong> Add OAuth2 sign in to the Coder frontend
Add a backend plugin to handle the OAuth2 flow <a href="https://github.com/coder/backstage-plugins/pull/151">#151</a> merged 7 days ago</li></ul><h3><a href="/backstage/plugins/crossplane/">Crossplane Plugin</a></h3><ul><li><strong>Features</strong> Add default exports for NFS alpha export to simplify usage merged 7 days ago</li></ul><h3><a href="/backstage/plugins/dev-pod/">DevPod Plugin</a></h3><ul><li><strong>Features</strong> Add default exports for NFS alpha export to simplify usage merged 7 days ago</li></ul><h3><a href="/backstage/plugins/dx/">DX Plugin</a></h3><ul><li><strong>Bug Fixes</strong> Fix infinite loop in DxDataChartCard when the variables prop is missing <a href="https://github.com/get-dx/backstage-plugin/pull/41">#41</a> merged 2 days ago</li></ul><h3><a href="/backstage/plugins/github-actions/">GitHub Actions Plugin</a></h3><ul><li><strong>Changes</strong> Disable two NFS cards by default to reduce clutter
Remove the optional overview card from the NFS
The full view stays in the GitHub Actions tab <a href="https://github.com/backstage/community-plugins/pull/5678">#5678</a> merged 5 days ago</li></ul><h3><a href="/backstage/plugins/kyverno-policy-reports/">Kyverno Policy Reports Plugin</a></h3><ul><li><strong>Features</strong> Add default exports for NFS alpha export to simplify usage merged 7 days ago</li></ul><h3><a href="/backstage/plugins/pipelines-with-tekton/">Pipelines with Tekton Plugin</a></h3><ul><li><strong>Improvements</strong> Move status components and helper hooks into the Tekton plugin to reduce external imports <a href="https://github.com/backstage/community-plugins/pull/5777">#5777</a> merged 5 days ago</li></ul><h3><a href="/backstage/plugins/s-3-viewer/">S3 Viewer Plugin</a></h3><ul><li><strong>Features</strong> Add config to show or hide bucket details for end users
Default stays true to keep current behavior <a href="https://github.com/spreadshirt/backstage-plugin-s3/pull/183">#183</a> merged 1 day ago</li></ul><h3><a href="/backstage/plugins/scaffolder-utility-actions/">Scaffolder Utility Actions Plugin</a></h3><ul><li><strong>Bug Fixes</strong> Fix YAML merge when a file starts with a top level block comment <a href="https://github.com/RoadieHQ/roadie-backstage-plugins/pull/2070">#2070</a> merged 2 days ago</li></ul><h3><a href="/backstage/plugins/scale-ops/">ScaleOps Plugin</a></h3><ul><li><strong>Features</strong> Add default exports for NFS alpha export to simplify usage merged 7 days ago</li></ul>
]]></content:encoded></item><item><title><![CDATA[Backstage v1.44.0 drops, and many plugins have new features added]]></title><link>https://roadie.io/backstage-weekly/101-backstage-ui-revamp-drop-icon-scroll-area-dialog-ships/</link><guid isPermaLink="false">https://roadie.io/backstage-weekly/101-backstage-ui-revamp-drop-icon-scroll-area-dialog-ships/</guid><pubDate>Wed, 15 Oct 2025 23:00:00 GMT</pubDate><description><![CDATA[Backstage 1.44.0 drops, and PagerDuty unveils a new end-to-end AI suite which includes Backstage amongst it's integrations.]]></description><content:encoded><![CDATA[<p>It appears there has been a recent flurry of activity and discussions around Backstage, Spotify's open-source developer portal. Several articles and announcements highlight its role in enhancing developer experience, new integrations, and ongoing platform evolution.</p><h3>PagerDuty Unveils End-to-End AI Agent Suite with Backstage Integration</h3><p>PagerDuty recently announced the launch of its end-to-end AI agent suite, featuring over 150 enhancements and deep integrations with various tools, including Backstage. This new suite aims to leverage AI to improve incident resolution times and reduce on-call fatigue. The integration with Backstage suggests a move towards embedding AI-driven incident management capabilities directly within the developer portal, enabling more streamlined operations and potentially automated responses to system alerts.</p><p><a href="https://investor.pagerduty.com/news/news-details/2025/PagerDuty-Launches-Industrys-First-End-to-End-AI-Agent-Suite-Slashing-Incident-Response-Times-and-Empowering-Teams-to-Innovate/default.aspx">Read more →</a></p><h3>Backstage v1.44.0 Release Notes</h3><p>The Backstage Software Catalog and Developer Platform has announced the release of version 1.44.0, bringing several updates and improvements. Key changes include the removal of the built-in <code>CssBaseline</code> from <code>UnifiedThemeProvider</code>, requiring users to manually import <code>@backstage/ui/css/styles.css</code> for proper styling. Additionally, a new <code>--entrypoint</code> option has been added to the <code>package start</code> command in the Backstage CLI, allowing for custom entry directories for development applications. A notable new plugin called "Themer" has also been introduced, designed to assist with Material UI to Backstage UI migration.</p><p><a href="https://backstage.io/docs/releases/v1.44.0/">Read more →</a></p><h2>Backstage Changelog</h2><h3>Breaking Changes</h3><ul><li>Remove Backstage UI ScrollArea component for accessibility reasons. <a href="https://github.com/backstage/backstage/pull/31409">#31409</a> by @cdedreuille, merged 1 day ago</li><li>Remove Backstage UI Icon component to reduce bundle size and stabilize the API. <a href="https://github.com/backstage/backstage/pull/31407">#31407</a> by @cdedreuille, merged 1 day ago</li></ul><h3>Features</h3><ul><li>Add Backstage UI Dialog component with header body footer and closer. <a href="https://github.com/backstage/backstage/pull/31371">#31371</a> by @ssjoblad, merged 2 days ago <img src="https://github.com/user-attachments/assets/279cd0a6-dc75-41cc-b1ce-a56bfceb8c03" alt="Dialog component screenshot"></li><li>Add virtualization to UI menus via virtualized prop plus maxWidth and maxHeight for long lists. <a href="https://github.com/backstage/backstage/pull/31375">#31375</a> by @cdedreuille, merged 6 days ago</li><li>Allow Box Container Flex Grid GridItem to pass data attributes to rendered elements. <a href="https://github.com/backstage/backstage/pull/31374">#31374</a> by @vinzscam, merged 6 days ago</li><li>Add sentry fetch dsn action in scaffolder backend Sentry module to output a project DSN. <a href="https://github.com/backstage/backstage/pull/31046">#31046</a> by @brentswisher, merged 2 days ago</li><li>Add support in the yarn plugin for a custom Backstage manifest location via env vars for restricted networks. <a href="https://github.com/backstage/backstage/pull/31122">#31122</a> by @drodil, merged 1 day ago (active discussion)</li></ul><h3>Bug Fixes</h3><ul><li>Fix scaffolder form handling of RJSF allOf oneOf anyOf when using nested conditions at the step root. <a href="https://github.com/backstage/backstage/pull/31382">#31382</a> by @iainvdw, merged today</li><li>Fix NotFound page rendering when a page extension is mounted at root slash. <a href="https://github.com/backstage/backstage/pull/31353">#31353</a> by @vinzscam, merged 2 days ago</li><li>Fix default text color in Backstage UI. <a href="https://github.com/backstage/backstage/pull/31429">#31429</a> by @cdedreuille, merged today</li><li>Fix default font weight and family in Backstage UI. <a href="https://github.com/backstage/backstage/pull/31432">#31432</a> by @cdedreuille, merged today</li><li>Fix default font size in Backstage UI. <a href="https://github.com/backstage/backstage/pull/31435">#31435</a> by @cdedreuille, merged today</li><li>Fix table sort icon position and visibility on hover in Backstage UI. <a href="https://github.com/backstage/backstage/pull/31393">#31393</a> by @cdedreuille, merged 2 days ago <img src="https://github.com/user-attachments/assets/d60b6261-ca4b-4728-a2d3-8d50e0ebbd11" alt="Table sort icon"></li><li>Fix scroll jumping when opening UI menus by avoiding modal body scroll lock. <a href="https://github.com/backstage/backstage/pull/31394">#31394</a> by @cdedreuille, merged 2 days ago</li><li>Fix missing Backstage UI CSS in the dev app in dev utils. <a href="https://github.com/backstage/backstage/pull/31428">#31428</a> by @Rugvip, merged today</li><li>Fix discovery of distributed actions in scaffolder backend on startup. <a href="https://github.com/backstage/backstage/pull/31244">#31244</a> by @drodil, merged 1 day ago</li></ul><h3>Improvements</h3><ul><li>Update React Aria in Backstage UI to 1.13.0 with many small fixes. <a href="https://github.com/backstage/backstage/pull/31367">#31367</a> by @cdedreuille, merged 6 days ago</li><li>Add CSS layers to Backstage UI to make custom CSS override defaults more predictably. <a href="https://github.com/backstage/backstage/pull/31362">#31362</a> by @cdedreuille, merged 6 days ago</li><li>Convert Backstage UI components to CSS Modules while keeping theming class names. <a href="https://github.com/backstage/backstage/pull/31399">#31399</a> by @cdedreuille, merged 2 days ago</li><li>Improve Backstage UI styles props across components and simplify internal styling. <a href="https://github.com/backstage/backstage/pull/31404">#31404</a> by @cdedreuille, merged 2 days ago</li><li>Remove MUICssBaseline to avoid conflicts with Backstage UI styles and align resets. <a href="https://github.com/backstage/backstage/pull/31365">#31365</a> by @cdedreuille, merged 6 days ago</li></ul><h3>Developer Experience</h3><ul><li>Relax ESLint rules to allow frontend plugins to import from other frontend plugins with the same plugin id for overrides without warnings. <a href="https://github.com/backstage/backstage/pull/31373">#31373</a> by @drodil, merged 5 days ago</li><li>Deduplicate imports in generated OpenAPI clients in repo tools. <a href="https://github.com/backstage/backstage/pull/31297">#31297</a> by @rferreira98, merged 6 days ago (active discussion)</li><li>Add renderTestApp to frontend test utils for the new routing system with extensions. <a href="https://github.com/backstage/backstage/pull/31353">#31353</a> by @vinzscam, merged 2 days ago</li></ul><h3>Documentation</h3><ul><li>Fix monospace font reference in docs. <a href="https://github.com/backstage/backstage/pull/31364">#31364</a> by @vinzscam, merged 7 days ago</li><li>Tidy docs including a catalog config key correction. <a href="https://github.com/backstage/backstage/pull/31426">#31426</a> by @freben, merged today</li></ul><h3>Reverts</h3><ul><li>Revert user settings storage api blueprint for NFS since it replaced storageApiRef incorrectly. <a href="https://github.com/backstage/backstage/pull/31431">#31431</a> by @benjdlambert, merged today referencing <a href="https://github.com/backstage/backstage/pull/31413">#31413</a></li></ul><h2>Ecosystem Changelog</h2><h3><a href="/backstage/plugins/hetzner-cloud/">Hetzner Cloud Plugin</a></h3><ul><li><strong>Features</strong> Show CPU architecture in the UI merged 5 days ago</li><li><strong>Features</strong> Return server architecture in the API merged 5 days ago</li><li><strong>Documentation</strong> Fix dev setup instructions merged 5 days ago</li></ul><h3><a href="/backstage/plugins/tech-insights/">Tech Insights Plugin</a></h3><ul><li><strong>Features</strong> Show multiple links on MaturityScorePage PR <a href="https://github.com/backstage/community-plugins/pull/5126">#5126</a> merged today</li><li><strong>Features</strong> Show error info when a check fails and the fact type is not boolean PR <a href="https://github.com/backstage/community-plugins/pull/5126">#5126</a> merged today</li><li><strong>Features</strong> Tweak maturity accordion summary layout PR <a href="https://github.com/backstage/community-plugins/pull/5126">#5126</a> merged today</li><li><strong>Bug Fixes</strong> Use the core Accordion to resolve layout issues PR <a href="https://github.com/backstage/community-plugins/pull/5126">#5126</a> merged today</li><li><strong>Documentation</strong> Fix a readme typo PR <a href="https://github.com/backstage/community-plugins/pull/5126">#5126</a> merged today</li></ul><h3><a href="/backstage/plugins/pipelines-with-tekton/">Pipelines with Tekton Plugin</a></h3><ul><li><strong>Features</strong> Show pipeline run params and results PR <a href="https://github.com/backstage/community-plugins/pull/5642">#5642</a> merged 2 days ago</li></ul><h3><a href="/backstage/plugins/announcements/">Announcements Plugin</a></h3><ul><li><strong>Features</strong> Add updated at field so the banner shows the most recent announcement PR <a href="https://github.com/backstage/community-plugins/pull/5595">#5595</a> merged 6 days ago</li></ul><h3><a href="/backstage/plugins/entity-validation/">Entity Validation Plugin</a></h3><ul><li><strong>Features</strong> Add support for the new frontend system PR <a href="https://github.com/backstage/community-plugins/pull/5222">#5222</a> merged 5 days ago</li></ul><h3><a href="/backstage/plugins/questions-and-answers/">Q&#x26;A Plugin</a></h3><ul><li><strong>Features</strong> Support mermaid in markdown content merged 5 days ago</li><li><strong>Features</strong> Allow passing markdown plugins through props merged 2 days ago</li><li><strong>Features</strong> Allow moderators to change post authors merged 2 days ago</li><li><strong>Features</strong> Allow moderators to change answer authors merged 2 days ago</li><li><strong>Features</strong> Improve user and entity search by limiting fetched fields merged 1 day ago</li><li><strong>Bug Fixes</strong> Fix scaffolder import merged today</li><li><strong>Bug Fixes</strong> Sort entities and tags in inputs merged 1 day ago</li><li><strong>Bug Fixes</strong> Show loading state correctly in the posts table merged 1 day ago</li><li><strong>Bug Fixes</strong> Fix posts container props merged 2 days ago</li><li><strong>Bug Fixes</strong> Restore user field for metadata input merged 2 days ago</li><li><strong>Bug Fixes</strong> Use display name for user groups when available merged 5 days ago</li><li><strong>Documentation</strong> Add links to available plugins merged 2 days ago</li></ul><h3><a href="/backstage/plugins/toolbox/">Toolbox Plugin</a></h3><ul><li><strong>Features</strong> Improve overall layout merged today</li><li><strong>Breaking Changes</strong> Roll back to MUI four for compatibility merged today</li><li><strong>Bug Fixes</strong> Remove input debounce that caused slow updates merged today</li><li><strong>Bug Fixes</strong> Add a small input delay to improve typing UX merged today</li></ul><h3><a href="/backstage/plugins/kubernetes-ingestor/">Kubernetes Ingestor Plugin</a></h3><ul><li><strong>Bug Fixes</strong> Fix custom annotation handling merged today</li><li><strong>Bug Fixes</strong> Fix system reference namespace mappings merged today</li><li><strong>Bug Fixes</strong> Fix name and title mapping use in components merged today</li></ul><h3><a href="/backstage/plugins/crossplane/">Crossplane Plugin</a></h3><ul><li><strong>Features</strong> Export the API ref and client for integrators merged today</li><li><strong>Bug Fixes</strong> Fix the API ref export merged 6 days ago</li></ul><h3><a href="/backstage/plugins/nobl-9/">Nobl9 Plugin</a></h3><ul><li><strong>Security</strong> Fix on headers vulnerability merged 5 days ago</li></ul><h3><a href="/backstage/plugins/application-topology-for-kubernetes/">Application Topology for Kubernetes Plugin</a></h3><ul><li><strong>Maintenance</strong> Move status components and related hooks into the plugin PR <a href="https://github.com/backstage/community-plugins/pull/5668">#5668</a> merged today</li></ul>
]]></content:encoded></item><item><title><![CDATA[State of Backstage Closing, BackstageCon EU & Roadie Local Updates]]></title><link>https://roadie.io/backstage-weekly/113-state-of-backstage-backstagecon-roadie-local/</link><guid isPermaLink="false">https://roadie.io/backstage-weekly/113-state-of-backstage-backstagecon-roadie-local/</guid><pubDate>Fri, 21 Mar 2025 15:00:00 GMT</pubDate><description><![CDATA[The State of Backstage survey closes soon, BackstageCon and KubeCon EU are around the corner, and Roadie Local design partnerships near capacity ahead of GA.]]></description><content:encoded><![CDATA[<p>👋 Welcome to Backstage Weekly 113. We're dedicating this issue to everything going on in March and early April.</p><p>This week:</p><ul><li>State of Backstage: closing soon</li><li>BackstageCon &#x26; KubeCon EU</li><li>Roadie Local nears GA, Design Partnerships closing soon</li></ul><p><img src="//images.ctfassets.net/hcqpbvoqhwhm/23vaQNgTyOItFr4GJN79jl/0a96d153f4d7cd20507d2a3f7bc4becb/State_of_Backstage_Blog_1__1_.png" alt="State of Backstage 2025 Blog"></p><h3>State of Backstage: closing soon</h3><p>The State of Backstage survey is winding down for 2025, so now is the time to fill it in if you haven't already.</p><p>The survey itself closes in <em>April 2025.</em></p><p>We'll be analysing the results and publishing them via the <a href="https://stateofbackstage.io/">stateofbackstage.io</a> soon (those that filled in the survey will get an advanced copy before they're published to the wider community).</p><p><a href="https://stateofbackstage.io/survey/">Fill in the survey now</a>.</p><p><img src="//images.ctfassets.net/hcqpbvoqhwhm/7iOQSTb4ogbfmzdaBIBl7J/deec563135c335e7b9cb2dd03e02d5fc/images__2_.png" alt="BackstageCon Europe"></p><h3>BackstageCon &#x26; KubeCon EU</h3><p>Speaking of things that are coming very, very soon: <a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-europe/co-located-events/backstagecon/">BackstageCon &#x26; KubeCon EU</a> in London is right around the corner.</p><p>We'll be there - Roadie founder <a href="https://colocatedeventseu2025.sched.com/event/1ub1G/sponsored-keynote-how-to-succeed-with-backstage-david-tuite-roadie?iframe=no">David is on stage at BackstageCon</a> to share what we've learned over the years about how to be successful with Backstage, as well talk what we have coming up next in Backstage-land. Roadie engineers will also be manning the booth at both BackstageCon and KubeCon.</p><p>We'll be at KubeCon booth N510.</p><p>Come say hello if you're in around. 👋</p><p><img src="//images.ctfassets.net/hcqpbvoqhwhm/35Bwu7Rhdqz1LtjqI7EcfM/01cf4b73e1380b242000df93c802dbc9/Roadie_Local_Blog_A.png" alt="Roadie Local "></p><h3>Roadie Local: Design Partnerships will be <em>closing soon</em></h3><p>For those that missed it: we're building a version of Roadie that you can run locally or on your own infrastructure. We call it Roadie Local.</p><p>That effort is now charging towards GA and so we're closing our call for Design Partners for the beta version soon. The first Design Partners are spinning up (on Azure DevOps Server mainly, if you'll believe it) and we've close to capacity for this tranche of testing and evaluation.</p><p><a href="https://tally.so/r/3lYRkW">Complete the Design Partner form here</a>.</p>
]]></content:encoded></item><item><title><![CDATA[New Kubernetes Plugins, Kratix & Tech Insights Maturity Levels]]></title><link>https://roadie.io/backstage-weekly/112-kubernetes-plugins-kratix-tech-insights-maturity/</link><guid isPermaLink="false">https://roadie.io/backstage-weekly/112-kubernetes-plugins-kratix-tech-insights-maturity/</guid><pubDate>Wed, 19 Feb 2025 13:00:00 GMT</pubDate><description><![CDATA[Terasky ships powerful Kubernetes plugins, Kratix expands Backstage into full platform territory, and open-source Tech Insights introduces maturity levels.]]></description><content:encoded><![CDATA[<p>👋 Welcome to Backstage Weekly 112. We're dedicating this issue to plugins, both new and old, that have seen a bump in functionality and/or been released recently.</p><p>This week:</p><ul><li>Terasky release some killer Kubernetes &#x26; Crossplane plugins</li><li>Kratix makes Backstage into a true Platform</li><li>Open-source Tech Insights gets maturity ranks</li></ul><p><img src="//images.ctfassets.net/hcqpbvoqhwhm/6sy7CqjZmOEJ1QTsdzbGXf/f9968015dc0999e41dc9d5e8835f2735/github-terasky.png" alt="Github Terasky"></p><h3>Terasky release some seriously good K8s plugins</h3><p>When we think of Backstage and Kubernetes, we often don't have <em>great</em> associations. The Backstage K8s plugin can be fiddly and doesn't always act in the way you'd expect.</p><p>To plug that gap, the folks over at Terasky (hat-tip to <a href="https://github.com/vrabbi">Scott Rosenberg</a>) have released a raft of new plugins that meaningfully move Backstage &#x3C; > K8s forward.</p><p>Our personal favourite is the Kubernetes Ingestor plugin, which automatically pulls Kubernetes workloads into the Backstage catalog. That really is as cool as it sounds.</p><p>Check them out <a href="https://www.terasky.com/news/terasky-leadership-just-dropped-7-game-changing-backstage-plugins/">here</a> or on <a href="https://github.com/TeraSky-OSS/backstage-plugins">GitHub</a>.</p><p><img src="//images.ctfassets.net/hcqpbvoqhwhm/66B4w1Kcec6497BaWmCDwE/5c32b24aebe4b0cc3dc29aef5b21741e/kratix.png" alt="Kratix"></p><h3>Kratix brings oss platform dev and Backstage together</h3><p>Speaking of big jumps forward in Backstage functionality, <a href="https://www.kratix.io/">Kratix</a> is a <a href="https://www.syntasso.io/">Syntasso</a>-made OSS project dedicated to the platform-side of Platform Engineering. As their marketing site says: it makes Backstage into a full Platform, not just a Portal. You can instantiate infrastructure, autoingest it into the Catalog and generally interact with all the features you'd expect from a full Platform without leaving Backstage.</p><p>Nice stuff.</p><p>Check it out at <a href="https://www.syntasso.io/solutions/upgrade-backstage-from-portal-to-platform-with-kratix">here</a>.</p><h3>Tech Insights levels</h3><p>The backend for the Tech Insights scorecard plugin is open-sourced and gets some great additions. Recently, it's seen the introduced of the concept of maturity.</p><p>We're currently understanding how much of this is a straight lift into our proprietary Tech Insights product (we have slightly different concepts, like the idea of a Scorecard, which don't exist in the open source version), but expect something on this soon.</p><p><img src="//images.ctfassets.net/hcqpbvoqhwhm/2jwV72r4IyexKPUU9KTTCO/53b0177b6a51f7783a848b448eed2fee/ti-maturity.png" alt="Maturity Rank"></p><p>In the meantime, check it out <a href="https://github.com/backstage/community-plugins/pull/2464">here</a>.</p>
]]></content:encoded></item><item><title><![CDATA[Roadie Local Enters Beta, Canon Launches & Backstage v1.36 Released]]></title><link>https://roadie.io/backstage-weekly/111-roadie-local-beta-canon-backstage-v1-36/</link><guid isPermaLink="false">https://roadie.io/backstage-weekly/111-roadie-local-beta-canon-backstage-v1-36/</guid><pubDate>Wed, 12 Feb 2025 14:00:00 GMT</pubDate><description><![CDATA[Roadie Local moves into beta, Canon launches its new design system site, the State of Backstage survey gains momentum, and Backstage v1.36 brings major frontend updates.]]></description><content:encoded><![CDATA[<p>👋 Welcome to Backstage Weekly 111! We're keeping it light this week, just a (big) product announcement, the new design system getting serious, a bump on the State of Backstage survey and a version release from the oss project. Not much :)</p><p>This week:</p><ul><li><p>Roadie Local is moving to beta</p></li><li><p>Canon gets a website</p></li><li><p>State of Backstage keeps growing</p></li><li><p>Project news: v1.36-next</p></li></ul><h3>Roadie Local is moving to beta</h3><p><img src="//images.ctfassets.net/hcqpbvoqhwhm/6rRC1O5ioJRpvMKmUTFXru/b844a315d0d101f33e524cf2105d8527/Roadie_Local.png" alt="Roadie Local"></p><p>We mentioned it last time but for those that missed it: a self-hosted version of Roadie is coming and its coming fast.</p><p>We'll be talking about this a lot in the next few weeks and months, but the gist is that we'll be offering a locally runnable, self-hosted version of Roadie. It'll include all that you know and love about Roadie SaaS and be free for less than 15 users.</p><p>Read all about it on <a href="https://roadie.io/blog/roadie-local-self-hosted-backstage-ready-in-minutes/">our blog</a>.</p><p>If you're interested, there's still time to sign up as a <strong>Design Partner</strong> for the initial rollout but we'll be closing sign-ups for this at the end of the month.</p><p><a href="https://tally.so/r/3lYRkW">Sign up for Roadie Local</a></p><h3>Canon gets a website (canon.backstage.io)</h3><p>It's all Canon this, Canon that these days, but with good reason.</p><p>The default Backstage UI has been largely unchanged for 4-5 years and UIs for dev tools have come a long way since then.</p><p>That's why we're so excited about Canon and the shift to <a href="https://base-ui.com/react/overview/quick-start">BaseUI</a> and headless components (for those not au fait with all this frontend jazz - it's about decoupling component structure and behaviour from styling, harkening back to the days of the HTML, JS and CSS internet). It means you have <em>much</em> more control over styling than you do currently.</p><p>Exciting stuff.</p><p>Check it out at <a href="https://canon.backstage.io/">https://canon.backstage.io/</a><img src="//images.ctfassets.net/hcqpbvoqhwhm/5LxcG4VJ7oqumZaveHJojT/52e45e8f91f2eb6d08478cdd15867631/State_of_Backstage_Blog_1.png" alt="State of Backstage Blog"></p><h3>🚨 State of Backstage Survey 🚨</h3><p>The <a href="https://stateofbackstage.io/">State of Backstage</a> survey is going strong.</p><p>Our goal is a few hundred responses by the end of March and we're very much on track. That doesn't mean we can let up though: the more responses we get, the more representative of the whole community this survey will be.</p><p>We'll announce the results in a report in Spring 2025.</p><p>Visit <a href="https://stateofbackstage.io/">stateofbackstage.io</a> to complete the survey.</p><h2>Project updates</h2><p>There have been a few updates since our last newsletter.</p><ul><li><a href="https://github.com/backstage/backstage/blob/master/docs/releases/v1.36.0-changelog.md">Backstage v1.36.0</a> is up and brings Canon to it's first full release. There's also a lot of prep for a move to React 19 and the new frontend system. Reading the tea-leaves, you may assume they're related and that a bunch of frontend changes are the ways, but I couldn't possibly speculate...</li></ul><p>Thanks!</p><p>Sam Nixon</p>
]]></content:encoded></item><item><title><![CDATA[New Backend migration guide, Uplight case study, and v1.32 is here]]></title><link>https://roadie.io/backstage-weekly/100-new-backend-migration-guide-uplight-case-study/</link><guid isPermaLink="false">https://roadie.io/backstage-weekly/100-new-backend-migration-guide-uplight-case-study/</guid><pubDate>Wed, 16 Oct 2024 14:00:00 GMT</pubDate><description><![CDATA[A New article: The Ultimate Guide to Catalog Completeness, a New video alert: ASOS talk about their Backstage instance and v1.32-next is up]]></description><content:encoded><![CDATA[<p>👋 The 100th edition of Backstage Weekly is here!</p><p>How do we celebrate such a momentous occasion? Fireworks? Street parties? Just send a weekly newsletter about Backstage? Probably the latter.</p><p>That said, there will be some limited edition Backstage Weekly merch for those attending <a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/">KubeCon US</a> in Salt Lake City next month (we'll try and keep some for <a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-europe/">KubeCon EU</a> in April).</p><p>This week:</p><ul><li>New case study: Uplight &#x26; Roadie</li><li>New article: Migrating to the new Backend</li><li>Project updates: v1.32 has landed</li></ul><p>🚨 Case Study Alert: Uplight</p><p><a href="https://uplight.com/">Uplight</a> are an energy company who have grown rapidly over the last few years and needed to solve the problem of a) how do you ensure discoverability of services when new teams and services are added constantly and b) how do you maintain high standards while growing. For Uplight, the answer was Roadie.</p><p><a href="https://roadie.io/case-studies/improving-software-standards-with-roadie/">Check it out</a>!</p><p><img src="//images.ctfassets.net/hcqpbvoqhwhm/6yXThjyqhauii7avRJ22K/bc14f1facddecf8038a92f3c7458d05b/Uplight_Roadie.png" alt="Uplight"></p><hr><p><strong>Want to start building on top of Backstage?</strong> Get a Roadie Backstage instance so you can start shipping features into your IDP without having to manage an instance. <a href="https://roadie.io/request-demo/">Get a demo now!</a></p><hr><h3>Finding your way with the new Backend</h3><p>The <a href="https://backstage.io/docs/plugins/new-backend-system/">new Backstage backend </a>comes with nice things like simplified plugin installation. It is also a necessary prerequisite to get hold of exciting new features like Notifications.</p><p>To get to this treasure though you're going to need to find your way through what may be a painful migration...</p><p>Have no fear though, Roadie Engineer, Miklos Kiss, just created a map to help guide you. It takes a deep dive into how to migrate while avoiding some common traps, issues, jagged rocks, sea monsters etc.</p><p>If you're self-hosting Backstage, enjoy 🎉.</p><p>If you're on Roadie: we've taken care of all of that for you 🤝 so read at your leisure.</p><p><a href="https://roadie.io/blog/migrating-to-backstages-new-backend-a-step-by-step-guide/">Check it out on the Roadie blog</a>.</p><p><img src="//images.ctfassets.net/hcqpbvoqhwhm/4yzNdsvKNM5asgiEtlE4t1/0bf9554a48605f0f44e5e5e841a899de/Frame_74.png" alt="Treasure Map"></p><h3>Last but not least... version 1.32 is here</h3><p><a href="https://github.com/backstage/backstage/blob/master/docs/releases/v1.32.0-changelog.md">1.32</a> is out, but there are no release notes on backstage.io just yet - it's that hot-off-the-press.</p><p>Here's a few of the changes though:</p><ul><li>Auth: the profileEmailMatchingUserEntityEmail resolver is now officially removed</li><li>The <a href="https://backstage.io/docs/next/frontend-system/architecture/index/">new Frontend system</a> keeps trucking along with some changes to how Blueprints will work
The Scaffolder UI gets some tweaks. You can now use the Template Editor to sketch templates from zero.</li><li>The GitHub release notes are here. Read the full <a href="https://github.com/backstage/backstage/releases/tag/v1.32.0">v1.32 change set</a>.</li></ul>
]]></content:encoded></item><item><title><![CDATA[Backstage LinkedIn, Cost Management]]></title><link>https://roadie.io/backstage-weekly/99-backstage-linkedin-cost-management/</link><guid isPermaLink="false">https://roadie.io/backstage-weekly/99-backstage-linkedin-cost-management/</guid><pubDate>Tue, 08 Oct 2024 14:00:00 GMT</pubDate><description><![CDATA[A New community is starting (Backstage LinkedIn)!. We also have an new article on Backstage & Cost Management and Roadie is now on v1.30.]]></description><content:encoded><![CDATA[<p>👋 Backstage Weekly 99! We're a mere hop, skip and jump away from the big 100.</p><p>This week:</p><ul><li>New community starting: Backstage LinkedIn</li><li>New article: Backstage &#x26; Cost Management</li><li>Project updates: Roadie is now on v1.30</li></ul><h3>A new LinkedIn page just for Backstage</h3><p>CNCF projects like Backstage tend to have a LinkedIn group managed by maintainers and contributors. Backstage had a Backstage from Spotify page but that's part of commercial effort by Spotify rather than a community page.</p><p>To fix this core maintainers (including Spotify) and Roadie have teamed up to start a new non-commercial page to share Backstage stories and celebrate community activity.</p><p><a href="https://www.linkedin.com/company/backstage-developer-portal/about/?viewAsMember=true" title="Backstage LinkedIn">Check it out</a>!</p><p><img src="//images.ctfassets.net/hcqpbvoqhwhm/6bA1UApWfnUxU7MYvgxs7v/2f555d4dbc8315148634136d07191c98/linkedin.png" alt="LinkedIn"></p><hr><p><strong>Want to start building on top of Backstage?</strong> Get a Roadie Backstage instance so you can start shipping features into your IDP without having to manage an instance. <a href="https://roadie.io/request-demo/">Get a demo now!</a></p><hr><h3>Backstage and Shifting Cloud Costs Left</h3><p>Visualising cost data inside your internal developer portal has come a long way in the last 12 months. From <a href="https://x.finops.org/">FinOps conferences</a> to AWS launching a more feature-rich Cost Explorer, managing costs is more mature (and more buzzy). Backstage has had the <a href="https://backstage.io/blog/2020/10/22/cost-insights-plugin/" title="Cost Insights plugin">Cost Insights plugin</a> since the very beginning (we even wrote about it back in <a href="https://roadie.io/blog/backstage-weekly-4-cost-insights/">Backstage Weekly #4</a>), but without an aggregation point or database to store cost data before it is sent the plugin adoption has been limited.</p><p>We've thought a lot about how we can make Cost Insights easier to adopt for all of our customers (and the OSS community) and we have a plan.</p><p><a href="https://roadie.io/blog/backstage-and-cost-insights-shifting-cloud-costs-left/">Check it out</a>!</p><p>We'll be looking for a design partner shortly. Email sam.nixon@roadie.io if you're interested.</p><p><img src="//images.ctfassets.net/hcqpbvoqhwhm/22piHxEqBcSlaBZSBZVOLT/08aee43658fff8ba015b0c35c01efe1f/cost-insights.gif" alt="cost-insights"></p><h3>Roadie is now on v1.30</h3><p>It took us a little while to catchup to our usual cadence after the New Backend upgrade last month, but we're back on our usual cadence of being ~1 version behind the OSS project (to allow that version to settle).</p><p>That means, amongst other things:</p><ul><li><a href="https://drodil.medium.com/backstage-notifications-ceedf812ceef">Notifications</a> is a capability Roadie now has 🎉 - you won't see this in the UI at the moment, but we'll have more on it as plugins adopt the Notifications framework (including our very own Tech Insights plugin).</li><li>New relationships, like <a href="https://backstage.io/docs/releases/v1.27.0/#hierarchical-domains">subDomainOf</a></li><li>Read the <a href="https://github.com/backstage/backstage/blob/master/docs/releases/v1.27.0.md">v1.27</a> - v<a href="https://github.com/backstage/backstage/blob/master/docs/releases/v1.3.0-changelog.md">1.30</a> release notes for more info.</li></ul>
]]></content:encoded></item><item><title><![CDATA[Catalog Completeness, ASOS, the Community YouTube and v1.32-next]]></title><link>https://roadie.io/backstage-weekly/98/</link><guid isPermaLink="false">https://roadie.io/backstage-weekly/98/</guid><pubDate>Wed, 02 Oct 2024 14:00:00 GMT</pubDate><description><![CDATA[A New article: The Ultimate Guide to Catalog Completeness, a New video alert: ASOS talk about their Backstage instance and v1.32-next is up]]></description><content:encoded><![CDATA[<p>👋 Backstage Weekly 98 is here!</p><p>This week:</p><ul><li>New article: The Ultimate Guide to Catalog Completeness</li><li>New video alert: ASOS talk about their Backstage instance</li><li>Project updates: v1.32-next is up</li></ul><h3>The Ultimate Guide to Backstage Software Catalog Completeness</h3><p>You know what they say: 'Catalog completeness makes the world go round'. Or at least, it helps you get the most value from Backstage.</p><p>Roadie Founder, David Tuite, just wrote a 4,000-word (😱) article that takes a deep dive into strategies and tactics to help you get catalog completeness to 100%. It caters to self-hosted Backstage adopters and Roadie customers alike.</p><p><a href="https://roadie.io/blog/3-strategies-for-a-complete-software-catalog/">Check it out on the Roadie blog</a>.</p><hr><p><strong>Want to start building on top of Backstage?</strong> Get a Roadie Backstage instance so you can start shipping features into your IDP without having to manage an instance. <a href="https://roadie.io/request-demo/">Get a demo now!</a></p><hr><h3>ASOS &#x26; the Backstage Community Session</h3><p>E-commerce mega-company <a href="https://www.asos.com/">ASOS</a> recently demoed their Backstage instance at the open source Backstage Community Session. The <a href="https://www.youtube.com/watch?v=nZuEMojNi9A&#x26;t=565s">recording of the session is here</a> and you can read more about ASOS and what they've done on their <a href="https://medium.com/asos-techblog/engineering-operational-excellence-at-asos-scale-part-ii-eb1729654dc9">Medium blog</a>.</p><p>In general, the <a href="https://www.youtube.com/c/BackstageCommunity">Backstage Community Session YouTube</a> is fantastic resource and we highly recommend checking it out for inspiration about your own Backstage instance. You can also join the fortnightly session itself - more info on the <a href="https://github.com/backstage/community">Communtiy GitHub repo</a>.</p><p><img src="//images.ctfassets.net/hcqpbvoqhwhm/3AFg8BTLg3DJnH2VHUySNs/6add4022fa12b416dbe357a5475fcd25/Screenshot_2024-10-02_at_12.04.15.png" alt="ASOS Scott Frampton"></p><h3>Version 1.32-next is up</h3><p>1.31 is out and the new Backend is officially at 1.0, so what do we have to expect for the next version? Well, 1.32-next is also out there so that's a question we can answer. So far:</p><ul><li>Some breaking changes for Jest configuration in the CLI</li><li>Repo tools now comes with a fun backstage-repo-tools peer-deps command for validating your peer dependencies</li></ul><p>Read the <a href="https://github.com/backstage/backstage/blob/master/docs/releases/v1.31.0-changelog.md">1.31 release notes</a> and the upcoming changes in <a href="https://github.com/backstage/backstage/blob/master/docs/releases/v1.32.0-next.1-changelog.md">1.32 changelog</a>.</p>
]]></content:encoded></item><item><title><![CDATA[Scaling Backstage, CNCF launch a new Backstage course]]></title><link>https://roadie.io/backstage-weekly/97/</link><guid isPermaLink="false">https://roadie.io/backstage-weekly/97/</guid><pubDate>Mon, 23 Sep 2024 14:00:00 GMT</pubDate><description><![CDATA[1.31 is here, the CNCF are launching a new course, and we're blogging about handling Backstage when it gets big.]]></description><content:encoded><![CDATA[<p>Hi y’all! Backstage Weekly 97 is here! 1.31 is here, the CNCF are launching a new course, and we're blogging about handling Backstage when it gets big.</p><p>This week:</p><ul><li>New article: How to scale Backstage</li><li>Project updates: the new Backend reaches v1.0</li><li>CNCF updates: a new Certified Backstage Associate programme is rolling out soon</li><li>New video: HCA talk about self-hosting Backstage on GCP</li></ul><h3>Scaling Backstage</h3><p>Last week it was Catalog performance, this week we take a deep dive into the infrastructure side of running a large Backstage instance (without breaking the bank and/or your spirit).
​
It’s hot off the press, <a href="https://roadie.io/blog/scaling-backstage-intro/">check it out</a>!</p><p><img src="//images.ctfassets.net/hcqpbvoqhwhm/Pg5rjE9UvFIsmeZjelhTp/95991b8333f6eb39865f309faa911cf2/95-1.png" alt="Catalog completeness"></p><hr><p><strong>Want to start building on top of Backstage?</strong> Get a Roadie Backstage instance so you can start shipping features into your IDP without having to manage an instance. <a href="https://roadie.io/request-demo/">Get a demo now!</a></p><hr><h3>CNCF are launching a Certified Backstage Associate programme</h3><p>The good folks over at the <a href="https://www.cncf.io/">CNCF</a> are launching a new qualification: the <a href="https://www.cncf.io/blog/2024/08/15/introducing-the-certified-backstage-associate-certification-for-developers-and-platform-engineers/">Certified Backstage Associate (CBA)</a> programme.</p><p>Roadie folks were involved in writing the programme and we're super-excited to see how it can help grow the community.</p><p>More details can be found <a href="https://www.cncf.io/blog/2024/08/15/introducing-the-certified-backstage-associate-certification-for-developers-and-platform-engineers/">here</a>. Check it out!</p><h3>Video: HCA talk about how they build their Backstage IDP to accelerate cloud adoption</h3><p>A few months ago at <a href="https://cloud.google.com/blog/topics/google-cloud-next/welcome-to-google-cloud-next24">Google's Next '24 conference</a>, <a href="https://en.wikipedia.org/wiki/HCA_Healthcare">HCA</a> demoed how they built out a Backstage implementation to standardise and modernise their stack. HCA are a behemoth in terms of size and age (they were founded in 1968 and employ over 300,000 people...), so it's great to see how Backstage can help them progress on their platform and cloud journey.</p><p><a href="https://www.youtube.com/watch?v=cGJXATEPYfQ">Watch the video</a>!</p><p><img src="//images.ctfassets.net/hcqpbvoqhwhm/3vO6FOad2uRHtqLjQkPY0P/369c0dcf58dc3feb14eb52337385acb6/HCA.png" alt="HCA"></p><h3>Version 1.31 is out</h3><p>The new backend is at a stable 1.0 version, capping a monumental effort from the community. There are (and will continue to be a few breaking changes though). The biggie in this release is:</p><p>"The backwards compatibility with plugins using legacy auth through the token manager service has also been removed. This means that instead of falling back to using the old token manager, requests towards plugins that don't support the new auth system will simply fail."</p><p>Read more in the <a href="https://backstage.io/docs/releases/v1.31.0/">release notes</a>.</p>
]]></content:encoded></item><item><title><![CDATA[Improved performance, Viktor Farcic reviewing Backstage and new plugins]]></title><link>https://roadie.io/backstage-weekly/96/</link><guid isPermaLink="false">https://roadie.io/backstage-weekly/96/</guid><pubDate>Mon, 16 Sep 2024 14:00:00 GMT</pubDate><description><![CDATA[Improving Backstage Performance, the new Backend is now default, Viktor Farcic reviews Backstage (and Roadie) and there are a whole bunch of new plugins: GitHub Co-pilot Adoption Metrics, LaunchDarkly and Shortcut]]></description><content:encoded><![CDATA[<p>Hi y’all! Backstage Weekly has been revived! It's been a busy year for us (and the Backstage community) so the time is ripe for a new Backstage Weekly.</p><p>This week:</p><ul><li>New article: Improving Backstage Performance</li><li>Project updates: the new Backend is now default,</li><li>New video: Viktor Farcic reviews Backstage (and Roadie)</li><li>New plugins: GitHub Co-pilot Adoption Metrics, LaunchDarkly and Shortcut</li></ul><h3>Improving Backstage Performance</h3><p>As Backstage instances become more successful, they tend to grow. Teams want to register all their AWS accounts or pull in 10,000s of users and groups. When that happens, performance can take a hit. You find yourself needing a way to optimise performance so that user experience doesn't suffer.</p><p><img src="//images.ctfassets.net/hcqpbvoqhwhm/Pg5rjE9UvFIsmeZjelhTp/95991b8333f6eb39865f309faa911cf2/95-1.png" alt="Catalog completeness"></p><p>In the latest Roadie article, we share a few ideas on how to improve performance. It’s fresh off the press, <a href="https://roadie.io/blog/improving-backstage-performance/">check it out</a>!</p><hr><p><strong>Want to start building on top of Backstage?</strong> Get a Roadie Backstage instance so you can start shipping features into your IDP without having to manage an instance. <a href="https://roadie.io/request-demo/">Get a demo now!</a></p><hr><h3>The New Backend System now default</h3><p>As of <a href="https://backstage.io/docs/next/releases/v1.26.0/">Backstage 1.26</a>, after months of non-stop dedication from maintainers and the community, the New Backstage System is now the default backend system. A lot of plugins are now adopting the new system, so we should see a rapid shift to the new setup.</p><p>Find more details about this and later releases in the release notes.</p><h3>KubeCon &#x26; BackstageCon North America 2024</h3><p>The line-up is out for <a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/">KubeCon</a> &#x26; <a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/co-located-events/backstagecon/#about">BackstageCon North America</a> in Salt Lake City. Roadie won't be presenting at this years North American edition, but the line-up is strong and we'll be there as Sponsors. This year's edition feels like a powerful statement about the progress Backstage is making - <a href="https://colocatedeventsna2024.sched.com/event/1izqg/empowering-llms-with-backstage-broader-insights-driven-by-the-developer-portal-niall-thomson-amazon-web-service">AWS</a>, <a href="https://colocatedeventsna2024.sched.com/event/1izuY/cl-lightning-talk-how-the-radius-dashboard-leverages-backstage-to-build-visualizations-of-cloud-native-applications-will-tsai-ryan-nowak-microsoft">Microsoft</a>, <a href="https://colocatedeventsna2024.sched.com/event/1izs3/the-lego-approach-leveraging-reusability-for-a-seamless-user-experience-ashna-malhotra-mesut-yilmazyildirim-bookingcom">Booking.com</a>, <a href="https://colocatedeventsna2024.sched.com/event/1izte/backstage-adoption-deep-dive-navigating-the-pitfalls-himanshu-mishra-harness">Harness</a> and <a href="https://colocatedeventsna2024.sched.com/event/1iztG/devex-and-productivity-metrics-on-backstage-dos-and-donts-yishai-beeri-linearb">LinearB</a> are all giving talks.</p><p>The <a href="https://colocatedeventsna2024.sched.com/overview/type/BackstageCon">full line-up is here</a>. Check it out, and we'll hopefully see you there!</p><h3>Video: Backstage review dive with Viktor Farcic</h3><p>A new DevOps Toolkit video from Viktor Farcic landed this week. He reviewed Backstage through the lens of Roadie and gave folks a deeper look into how you could quickly configure a Backstage instance to grab some data from a kubernetes cluster. We're big fans of Viktor and loved his approach here.</p><p><a href="https://www.youtube.com/watch?v=LIhnicLyzsk">Watch the video now</a>!</p><p><img src="//images.ctfassets.net/hcqpbvoqhwhm/3AAIdLITXAo9F61SCBvSRN/6240c614b69df404399919f03df269d1/96-viktor.png" alt="Viktor Farcic Video"></p><h3>New plugins: GitHub Copilot Adoption Metrics, LaunchDarkly and Shortcut</h3><p>A raft of new plugins have been launched for Backstage, not least new community plugins for <a href="https://github.com/backstage/community-plugins/tree/main/workspaces/copilot/plugins/copilot">GitHub Copilot adoption metrics</a>, and new Roadie plugins for <a href="https://roadie.io/docs/integrations/launchdarkly/">LaunchDarkly</a> and <a href="https://roadie.io/docs/integrations/shortcut-plugin/">Shortcut</a> (among others). It's a boom time for plugins!</p>
]]></content:encoded></item><item><title><![CDATA[Measuring Catalog correctness, Saxo Bank interview]]></title><link>https://roadie.io/backstage-weekly/95/</link><guid isPermaLink="false">https://roadie.io/backstage-weekly/95/</guid><pubDate>Mon, 16 Oct 2023 14:00:00 GMT</pubDate><description><![CDATA[Measuring Catalog correctness, the Scaffolder and the New Backend System are grown-ups now, Saxo Bank with Jinhong and Per and a new Pulumi plugin.]]></description><content:encoded><![CDATA[<p>Hi y’all! This might be the last time I write this newsletter, but you’ll still see me around, especially if you attend BackstageCon in Chicago!</p><ul><li>New article: Measuring Catalog correctness</li><li>Project updates: Scaffolder and the New Backend System are grown-ups now</li><li>New interview: Platforms at Saxo Bank with Jinhong and Per</li><li>New plugin: Pulumi</li></ul><h3>Measuring Catalog correctness and completeness</h3><p>A Catalog with rich information for every software asset in your organization is the ultimate dream. But you won’t get there in a day. Thus, you need a way to track your progress toward Catalog correctness and completeness.</p><p><img src="//images.ctfassets.net/hcqpbvoqhwhm/Pg5rjE9UvFIsmeZjelhTp/95991b8333f6eb39865f309faa911cf2/95-1.png" alt="Catalog completeness"></p><p>In my latest article, I share a few ideas on how to leverage Tech Insights to do that. It’s fresh off the press, <a href="https://roadie.io/blog/measuring-catalog-correctness-and-completeness/">check it out</a>!</p><hr><p><strong>Want to start building on top of Backstage?</strong> Get a Roadie Backstage instance so you can start shipping features into your IDP without having to manage an instance. <a href="https://roadie.io/request-demo/">Get a demo now!</a></p><hr><h3>The New Backend System is ready and will be the default</h3><p>As announced with <a href="https://backstage.io/docs/releases/v1.18.0/#backend-system-ready-for-use">Backstage 1.18</a>, after months of non-stop dedication from maintainers and the community, the New Backstage System is ready to use. In fact, the default exports in all backend packages will be pointing to the New Backend System modules.</p><p>The default exports for The New Backend System can enable automatic feature discovery and let you make dynamic one-line imports in your code. Find more details in the <a href="https://backstage.io/docs/releases/v1.18.0/#backend-system-default-exports">release notes</a>.</p><h3>Scaffolder to become a project area</h3><p>I’m personally a big fan of Backstage’s Scaffolder, and I think it could be a <a href="https://thenewstack.io/new-to-platform-engineering-try-a-thin-self-service-layer/">great starting point</a> for new adopters. It’s exciting to see software templates become an <a href="https://github.com/backstage/backstage/pull/20359">incubating project area</a> within Backstage. This means ownership will be shared with more contributors, leading to greater collaboration.</p><p>The newly minted owners of the Scaffolder project area are the one and only Paul Cowan (<a href="https://github.com/dagda1">dagda1</a>) and Backstage regular Bogdan Nechyporenko (<a href="https://github.com/acierto">acierto</a>). It’s exciting to see the team coming together to Scaffold the Scaffolder upwards!</p><h3>Interview: A Platform made out of platforms</h3><p>I had the privilege of interviewing Jinhong Brejnholt, Chief Cloud Architect at Saxo Bank, and Per Hedegaard, Chief Container Platform Engineer at Saxo Bank about their platform. Their office in Copenhagen is stunning and has the largest private art collection in Denmark—made me wanna move back!</p><p><img src="//images.ctfassets.net/hcqpbvoqhwhm/1MYV0H7e9kIhZyqPYcDBCC/8fd856f26f8ff94a60cb3e1ae2ca231b/95-2.png" alt="Platform Humans"></p><p>Most importantly, Jinhong and Per were buzzing with excellent ideas around Platform Engineering and were very generous in sharing their insights. <a href="https://www.youtube.com/watch?v=pMwzpOePVIU">Watch the interview now</a>!</p><h3>New plugin: Pulumi</h3><p><a href="https://www.pulumi.com/">Pulumi</a> just shipped a new plugin for Backstage. Using the Pulumi plugin, you can create a new Pulumi project from an organization template stored in Pulumi, run previews and updates, and run and view Deployments. The plugin provides Scaffolder templates that you can make your own. Read more in their <a href="https://www.pulumi.com/blog/pulumi-backstage-plugin/">release notes</a>.</p>
]]></content:encoded></item><item><title><![CDATA[Recent/Top components, Custom plugins, and BackstageCon is coming up]]></title><link>https://roadie.io/backstage-weekly/94/</link><guid isPermaLink="false">https://roadie.io/backstage-weekly/94/</guid><pubDate>Tue, 03 Oct 2023 14:00:00 GMT</pubDate><description><![CDATA[New homepage widget, Improved Contributing Guidelines, New article on Custom plugins, *and* BackstageCon is around the corner!]]></description><content:encoded><![CDATA[<p>Hi y’all! I was out for holidays and now there’s a bunch of updates I'm excited to share:</p><ul><li>New homepage widget: Recent/Top visited components</li><li>Improved Contributing Guidelines</li><li>New article: Custom plugins</li><li>BackstageCon is around the corner!</li></ul><h3>Custom plugins in Backstage</h3><p>The key behind a successful Backstage adoption is how well you’re solving the problems your organization is facing. And because every organization is unique, there’s no Internal Developer Portal that can cover all your use cases out of the box.</p><p><img src="//images.ctfassets.net/hcqpbvoqhwhm/1OpZHV6QTDcXEESJklJ3vE/738fe4371310de7776fc1ccd5f1f66eb/94-1.jpg" alt="Suit fitting"></p><p>That’s when Backstage comes to the rescue: you can extend it to make it your own! In my newest article for The New Stack, I introduce this idea and show a few examples. <a href="https://thenewstack.io/the-secret-to-successful-developer-portals-a-tailored-fit/">Check it out</a>!</p><hr><p><strong>Want to start building on top of Backstage?</strong> Get a Roadie Backstage instance so you can start shipping features into your IDP without having to manage an instance. <a href="https://roadie.io/request-demo/">Get a demo now!</a></p><hr><h3>Custom plugins in Roadie</h3><p>Talking about custom plugins, Roadie recently released new tooling that lets customers develop and set their plugins live. Here are some advantages:</p><ul><li>Get a live instant preview IN your Backstage instance while developing the plugin</li><li>Consume Backstage and third-party APIs as React hooks with built-in auth—no more fetch nagging or re-working authentication—.</li><li>Deploy your plugin and see it live within seconds!</li></ul><p>Learn more about how <a href="https://roadie.io/blog/live-custom-backstage-plugins-within-seconds/">Roadie streamlined custom plugins</a>.</p><h3>Recent and Top visited components</h3><p>Developers Portal can get quite large, but you most likely frequent only a few pages. Thanks to <a href="https://github.com/aitherios">aitherios</a>, you can now add a widget to your homepage that will keep track of those frequently visited pages for you.</p><p><img src="//images.ctfassets.net/hcqpbvoqhwhm/3vdgomCNXGsX4toOEueorU/0fcbccf04aa05570a7ebdb9726f7163e/94-2.png" alt="Recently Visited"></p><p>The widget lets you to track visits either through a local storage or an API. <a href="https://github.com/backstage/backstage/tree/master/plugins/home#page-visit-homepage-component-homepagetopvisited--homepagerecentlyvisited">Check out the widget’s documentation</a> for more information.</p><p>This feature will be released as part of Backstage 1.19, scheduled for October 17th.</p><h3>Contributing guidelines</h3><p>Hacktoberfest is here! And very timely, the Backstage team streamlined the <a href="https://github.com/backstage/backstage/blob/master/CONTRIBUTING.md">Contributing Guidelines</a> based on feedback from the community over Discord. In this guide, you can find all the information you need to get started contributing from local setup to a walkthrough of the reviewing process.</p><p>If you’re looking for an issue to contribute, check out the <a href="https://github.com/backstage/backstage/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22">help wanted tag</a> or join the <a href="https://github.com/backstage/backstage/issues/20191">i18n initiative</a>!</p><h3>BackstageCon is around the corner!</h3><p>There’s a fantastic lineup of speakers at the annual Backstage gathering! Roadie is proud to have our CEO, David Tuite, talk about tips for a successful adoption. <a href="https://colocatedeventsna2023.sched.com/event/1Rj2F/how-to-adopt-backstage-lessons-from-20-adopter-interviews-david-tuite-roadie">See you there</a>!</p><p><img src="//images.ctfassets.net/hcqpbvoqhwhm/2oqannWNCDw9fCU2mdR2SK/9fbed8064cdb43482419f6c3f666d182/94-3.png" alt="BackstageCon US 2023"></p>
]]></content:encoded></item></channel></rss>