Developer Portal
Added
- Allow overriding the AI chat context window size via
aiChat.contextWindow in app-config.
Changed
- Improve markdown table rendering in AI chat: tables are now horizontally scrollable with better cell spacing.
Fixed
- Cache-bust custom branding logo URLs so replaced logos appear immediately instead of being served stale from the browser cache.
See ./docs/releases/v0.124.3-changelog.md for more information.
Changed
- Decouple custom branding from the gs-backend plugin so branding assets are served by a dedicated backend plugin and work without
gs: config.
See ./docs/releases/v0.124.2-changelog.md for more information.
Added
- Add custom branding asset support with logo overrides, allowing UI logo customization via mounted volumes without code changes.
See ./docs/releases/v0.124.0-changelog.md for more information.
Added
- Add BackendTrafficPolicy template to the helm chart, to be able to customize HTTP connection settings.
Changed
- Redesign tool call and tool group UI in AI chat with compact inline layout, argument summary previews, and inline status icons.
Fixed
- Fix deprecation warning for the user settings General page by migrating to the new
configSchema option. - Fix missing key prop warning on the scaffolder sidebar item.
- Flush SSE chunks through compression middleware so streamed AI responses reach the client in real time.
See ./docs/releases/v0.123.0-changelog.md for more information.
Changed
- Stream reasoning tokens live in the AI chat and redesign the Reasoning block: auto-opens while the model is reasoning, “Thinking Xs…” / “Thought for Ys” trigger, char-by-char text reveal with auto-scroll, borderless quote-style visual aligned with modern chat UIs.
See ./docs/releases/v0.122.3-changelog.md for more information.
Changed
- Stream reasoning tokens from OpenAI-compatible models (vLLM) to the AI chat UI by switching the
aiChat.openai.api: chat path to @ai-sdk/openai-compatible and unconditionally rendering the Reasoning/ReasoningGroup slots in Thread.tsx.
See ./docs/releases/v0.122.2-changelog.md for more information.
Added
- Add configurable welcome screen title, subtitle, and suggestions for the AI chat.
Changed
Added
- Add optional guest auth provider, enabled via
ENABLE_GUEST_AUTH environment variable. - Add optional
aiChat.systemPrompt config to override the built-in AI chat system prompt. - Add optional
aiChat.openai.api config to target OpenAI-compatible servers via chat completions API.
Changed
- Update Backstage to 1.50.2.
- Migrate scaffolder pages to NFS SubPageBlueprint layout.
- Make sidebar nav items configurable via NFS extensions.
- Use custom
X-Backstage-Token header for identity tokens to avoid conflicts with ingress-level Basic auth. - Use
ProxiedSignInPage with guest provider as fallback when Dex auth is not configured. - Allow hiding the Backstage Identity card on the settings general page via extension config.
Fixed
- Fix AI chat producing empty replies when the model uses a tool by increasing the default step limit.
- Strip stale tool results from AI chat conversation history to reduce token usage.
See ./docs/releases/v0.122.0-changelog.md for more information.
Added
- Add custom review step for scaffolder templates.
- Add multi-source value editing for app deployment scaffolder templates.
- Add
isValidDNSSubdomainName utility for validating Kubernetes resource names. - Add
passwordManagerIgnoreProps utility and height/maxHeight options to YamlEditor. - Add
fromJson Nunjucks template filter for deserializing JSON strings in scaffolder templates.
Changed
- Discover app deployment templates by label instead of hardcoded name.
- Disable Edit Deployment button when deployment structure is incompatible with the edit template.
- Warn when an app deployment is managed through GitOps.
Fixed