backstage release v2.92.2
Changed
- (muster) One definition-editor dialog for servers and workflows by @teemow — The
Edit as JSONdialog on an MCP server’s page and the workflow definition dialog share one implementation. A parse error no longer shows next to an earlier success message, and only a parse error marks the editor invalid.
Fixed
- (agent-platform, platform-capabilities, repositories) Hold every busy dialog open through dialogDismissLock by @teemow — Dialogs that write something (new session, create or delete cluster, GPU node pool, model backends, load, pull and import model, capability and repository actions) can no longer be closed mid-write, also not with the header’s close button. During a dry run they can now be closed.
- (backend) Handle the database keepalive rejection at start by @teemow — For operators: while a database is unreachable at start, the backend no longer logs an
Unhandled rejectionwith every retry, and it retries the connection instead of keeping the failed one. - (backend) Read GitHub URLs on branches with a slash in the name by @teemow — Templates and catalog files on a branch or tag with a slash in its name, such as
feat/x, can be registered and run, so they can be tried before they merge. - (gs) Pre-fill the edit template’s custom version range by @teemow — On a deployment’s page,
Editkeeps a custom automatic-upgrade range such as>=1.0.0 <3.0.0instead of replacing it with^,~or>=plus the current version. - (plans) Keep Hive History cards within the content area by @teemow — On Hive → History, a card with a long unbroken title, link or command wraps instead of overflowing sideways. Other card grids benefit too.
- (plans) Keep the portal serving through a rollout; retry gateway 5xx by @teemow — Pages no longer fail with
upstream connect errorwhile the portal rolls out: the backend keeps serving for 10 s after it is told to stop (chart valuebackstage.serverShutdownDelay). A Hive tab whose source failed offersTry again. - (roadmap) Read the board per status column, all at once by @teemow — Hive’s Roadmap tab loads column by column: the open columns appear within seconds, Done takes up to about a minute, and
All teamsno longer fails. A column that failed to load says so instead of the board showingNo board items. - (search) Keep the search index in Postgres across a restart by @teemow — On installations with a Postgres database, search works right after a portal restart instead of failing until the index is rebuilt, and every replica returns the same results.
- (ui-react) Jump to #heading links within rendered markdown by @marians — Table-of-contents and other
#headinglinks in rendered markdown (README and SOUL cards, agent system prompts, plans) jump to the heading, and a collapsed card expands to show it. - (several plugins) Show loading, not empty, while a failed query’s retry waits by @teemow — After a failed request in a background tab, pages show their loading state until the retry answers, instead of an empty state such as
No merged plansor a blank MCP server tab.
Development and CI/CD
- (chart) Default backstage.args to the image’s bundled config by @teemow —
backstage.argsdefaults to the image’s bundled config files, so an install that only setsbackstage.appConfigstarts. Managed installations pinargs: []and are unchanged. - (chart) Make the CNPG PodMonitor optional by @teemow — With
database.engine: postgresql, the PodMonitor renders only where the cluster has the Prometheus Operator CRDs, anddatabase.postgresql.podMonitor.enabled: falseturns it off. Installs without the CRDs no longer fail. - (chart) Render the VPA only where the cluster serves the API by @teemow — The VerticalPodAutoscaler renders only where the cluster has the VPA CRD, so a default install on a cluster without it (e.g. kind) succeeds.
- (ci) Align files according to platform standards by @giantswarm-align-files[bot] — Generated update of the shared CI and repository configuration.
- (ci) Run the Postgres test cases; ATS proves search survives a restart by @teemow — CI now runs the backend’s Postgres search tests, and a chart test restarts the backend and checks that search still answers.
- (deps) Update dependency fs-extra to v11.4.1 by @renovate[bot]
- (e2e) Give tsc a 6 GiB heap; tsc and e2e run without core dumps by @teemow —
yarn tscno longer runs out of memory locally, and type checks and e2e runs leave no core dumps in the checkout.
Full Changelog: https://github.com/giantswarm/backstage/compare/v2.92.1...v2.92.2