Backstage
v1.54.0CI/CD & App Delivery기능과 동작, 유지보수 전반에 걸친 변경이 포함되며 기본값과 구성 방식, API 호환성에도 변화가 있습니다. 인증, 연결, 템플릿 렌더링과 의존성 업데이트가 운영 환경의 마이그레이션 및 호환성 검토 대상입니다.
영향 확인 (15)
breaking읽기 전용 작업의 기본 동작 변경
destructive를 설정하지 않은 경우에 적용됩니다.destructive속성을 생략한 읽기 전용 작업의 기본값이 비파괴 동작으로 바뀌었습니다.breakingNode.js 스냅샷 기본 설정 변경
백엔드를 실행하거나 테스트를 실행하는 경우에 적용됩니다.
백엔드를 시작하거나 테스트를 실행할 때 Node.js 스냅샷을 기본으로 비활성화하지 않습니다.
breakingOAuth 허용 목록의 URL 비교 방식 변경
OAuth 리디렉션 URI 허용 목록이나 클라이언트 ID 메타데이터 문서 허용 목록을 설정하는 경우에 적용됩니다.
@backstage/plugin-auth-backend의 OAuth 리디렉션 URI 허용 목록과 클라이언트 ID 메타데이터 문서 허용 목록이 전체 URL 문자열이 아니라 URL 구성 요소별로 패턴을 비교합니다.breaking
config.옵션 제거schema config.를 설정하는 경우에 적용됩니다.schema 확장 기능과 확장 기능 블루프린트에서 사용하던 지원 중단된
config.옵션이schema @backstage/frontend-plugin-api에서 제거되었습니다.breaking
@backstage/connections의 백엔드 API 내보내기 변경@backstage/connections에 의존하는 경우에 적용됩니다.connectionsServiceRef,connectionsServiceFactory,DefaultConnectionsService,declareConnection,RootConnection,AnyRootConnection을 포함한 백엔드 전용 API와 구성 형식이@backstage/connections에서 더 이상 내보내지지 않습니다.breaking연결 조회 인자 변경
query를 사용하는 경우에 적용됩니다.연결 조회가 이제
url대신query객체를 받습니다.breaking연결 인증 형식 이름 변경
RootConnectionAuth를 사용하는 경우에 적용됩니다.RootConnectionAuth형식의 이름이ConfiguredConnectionAuth로 바뀌었습니다.breaking연결 인증 방식 설정 요건 변경
auth를 설정하는 경우에 적용됩니다.모든 연결은 하나 이상의 인증 방식을 설정해야 합니다. 인증하지 않는 연결에는
none인증 방식을 사용합니다.breakingAWS CodeCommit 비인증 옵션 제거
AWS CodeCommit 비인증 인증 옵션을 설정하는 경우에 적용됩니다.
지원되지 않는 AWS CodeCommit 비인증 인증 옵션이 제거되었습니다.
breakingOpenAPI 명령 이름 변경
repo schema openapi verify를 실행하는 경우에 적용됩니다.repo schema openapi verify명령의 이름이repo schema openapi validate로 바뀌었습니다.breaking구성 스키마 오류 처리 변경
--strict를 실행하는 경우에 적용됩니다.backstage-cli config:check와backstage-cli config:schema의--strict플래그가 TypeScript 구성 스키마 오류를 치명적 오류로 처리합니다.breaking스캐폴더 렌더링의 네이티브 애드온 요구 사항 제거
스캐폴더 템플릿 렌더링을 실행하는 경우에 적용됩니다.
스캐폴더 템플릿 렌더링에서 네이티브 애드온 요구 사항이 제거되었습니다.
breakingOAuth URI 허용 목록 검증 강화
OAuth 리디렉션 URI 허용 목록, 클라이언트 ID 메타데이터 문서 허용 목록 또는 리디렉션 URI를 설정하는 경우에 적용됩니다.
OAuth 리디렉션 URI와 클라이언트 ID 메타데이터 문서 허용 목록은 URL 구성 요소별로 패턴을 비교합니다. 와일드카드가 호스트와 경로의 경계를 넘어 일치하지 않으며, 패턴에는 명시적인 프로토콜이 포함되어야 합니다. 이를 지키지 않은 패턴은 조용히 무시되지 않고 잘못된 구성으로 거부되며, 인증 정보가 포함된 리디렉션 URI도 항상 거부됩니다.
breaking
nodemailerTLS 인증서 검증 변경nodemailer를 사용하고 SMTP 릴레이나 OAuth2 엔드포인트를 설정하는 경우에 적용됩니다.nodemailer가 v8에서 v9로 업데이트되었습니다. 새 버전은 첨부 파일이나 OAuth2 토큰처럼 원격 콘텐츠를 가져올 때 기본적으로 TLS 인증서를 검증하므로, 자체 서명 인증서나 신뢰할 수 없는 인증서를 사용하는 SMTP 릴레이 또는 OAuth2 엔드포인트에서는 이메일 전송이 실패할 수 있습니다. 전송 설정에tls: { rejectUnauthorized: false }를 지정하면 전송별로 이 검증을 해제할 수 있습니다.breaking스캐폴더 템플릿 실행 방식 변경
스캐폴더 템플릿 렌더링을 실행하는 경우에 적용됩니다.
스캐폴더 템플릿 렌더링에서 네이티브 애드온 요구 사항이 제거되었습니다. 템플릿은 이제 TypeScript 인터프리터로 실행되며, 백엔드에는 더 이상
--no-node-snapshotNode.js 옵션이 필요하지 않습니다.
미리 준비 (2)
deprecatedZod v3 지원 중단
Zod v3를 사용하는 경우에 적용됩니다.
Zod v3 스키마는 계속 지원되지만 지원 중단 상태가 되었습니다.
deprecatedOpenAPI 문서 제공자의 플러그인 자동 검색
내부 OpenAPI 문서 제공자가 실행되고
catalog.를 설정하지 않은 경우에 적용됩니다.providers. backstageOpenapi. plugins 내부 OpenAPI 문서 제공자가 시스템 메타데이터 서비스에서 설치된 플러그인을 자동으로 찾습니다.
catalog.설정은 선택 사항이면서 지원 중단 상태가 되었고, 이 설정을 생략하면 설치된 모든 플러그인을 동적으로 찾습니다.providers. backstageOpenapi. plugins
그 외 기록된 변경 183건 전체value changes 71 · additions 54 · fixes 47 · constraints 8 · defaults 3
value changes (71)
- chore(deps): bump
dompurifyfrom 3.4.11 to 3.4.12 - Hardened backend startup against malformed installed backend features, with contextual input errors and configured boot-failure handling when invalid registrations can be attributed to a plugin or module.
- chore(deps): bump
shell-quotefrom 1.8.4 to 1.9.0 - The
--strictflag forconfig:checknow treats TypeScript configuration schema errors as fatal. - The Kubernetes API proxy now refreshes cached middleware when cluster details change, after a configurable TTL, or when the cache reaches its size limit.×2
- Improves scaffolder entity pickers by using the catalog POST endpoint so large template filters are sent in the request body instead of the URL, helping avoid 431 errors and empty option lists.
- - 78bf918: chore(deps): bump
tarfrom 7.5.15 to 7.5.21 - - 226817d: chore(deps): bump
js-yamlfrom 4.2.0 to 4.3.0 - Updated GitHub authentication selection to prefer an organization-specific App, then an unrestricted App, and finally the only configured App before falling back to token or anonymous authentication.
- The Catalog backend now syncs entity relations by applying only the diff of changed rows instead of deleting and reinserting all relations.
- Migrated the Unprocessed Entities UI to Backstage UI components and added search to the pending entities tab.
- Scaffolder tasks now wait for recovery checkpoint state to be persisted before continuing, and restored checkpoints preserve falsy values without re-running their callbacks.
- Updated generated plugin templates to use
toastApiRef, addUserInfoServiceto permission policy modules, and include better table accessibility and backend module dependencies. - Improved TypeScript 7 forward-compatibility in Catalog exports and the Backstage ESLint plugin.
- Updated
nodemailerfrom v8 to v9 in the email notifications module. - This significantly reduces API usage against the 15k/hour GitHub App rate limit for organizations with many installations or frequent credential refreshes.
- Skip SSRF protection for CIMD metadata fetches when the
client_idmatches an exact (non-wildcard) entry inallowedClientIdPatterns. Exact patterns mean the administrator explicitly listed a specific URL, so the DNS resolution is trusted. Wildcard patterns still enforce the SSRF check to protect against attacker-controlled subdomains resolving to internal addresses. - Replaced the delete-all and reinsert pattern for the
relationstable with a diff-based sync that only touches rows that actually changed. In steady state (the common case), zero writes occur, eliminating write churn, dead tuples, and WAL traffic from the processing path. - TypeScript configuration schema warnings discovered while setting up secret redaction are now reported through the Backstage logger.
- Package preparation for publishing validates TypeScript configuration schemas strictly, preventing invalid schemas from being published. Other build and bundle paths report schema errors as warnings.
- Updated the
plugin-web-librarytemplate to usetoastApiReffrom@backstage/frontend-plugin-apiinstead of the deprecatedalertApiReffrom@backstage/core-plugin-api. - 226817d: chore(deps): bump
js-yamlfrom 4.2.0 to 4.3.0×2 - 9fcfbc9: Fixed a performance issue where all components using analytics, including every link, would rerender unnecessarily whenever a surrounding analytics context rendered again without its attributes having changed, for example when a URL query parameter changed on an entity page.
- 6497d0f: Respect explicit API reference plugin ownership when resolving conflicting API factories.
- Updated dependencies - @backstage/[email protected] - @backstage/[email protected]×13
- Updated dependencies - @backstage/[email protected] - @backstage/[email protected] - @backstage/[email protected]×3
- Updated dependencies - @backstage/[email protected] - @backstage/[email protected] - @backstage/[email protected]
- Updated dependencies - @backstage/[email protected] - @backstage/[email protected]
- Updated dependencies - @backstage/[email protected] - @backstage/[email protected]
- Updated dependencies - @backstage/[email protected]
- Updated dependencies - @backstage/[email protected] - @backstage/[email protected] - @backstage/[email protected] - @backstage/[email protected] - @backstage/[email protected] - @backstage/[email protected] - @backstage/[email protected] - @backstage/[email protected] - @backstage/[email protected] - @backstage/[email protected] - @backstage/[email protected] - @backstage/[email protected]
- Updated dependencies - @backstage/[email protected] - @backstage/[email protected] - @backstage/[email protected] - @backstage/[email protected]
- Updated dependencies - @backstage/[email protected] - @backstage/[email protected] - @backstage/[email protected] - @backstage/[email protected] - @backstage/[email protected] - @backstage/[email protected]
- Updated dependencies - @backstage/[email protected] - @backstage/[email protected] - @backstage/[email protected] - @backstage/[email protected] - @backstage/[email protected]×2
- Updated dependencies - @backstage/[email protected] - @backstage/[email protected] - @backstage/[email protected]×4
- Updated dependencies - @backstage/[email protected] - @backstage/[email protected] - @backstage/[email protected]×2
- Updated dependencies - @backstage/[email protected] - @backstage/[email protected] - @backstage/[email protected] - @backstage/[email protected]
- Updated dependencies - @backstage/[email protected] - @backstage/[email protected] - @backstage/[email protected] - @backstage/[email protected]
- Updated dependencies - @backstage/[email protected] - @backstage/[email protected] - @backstage/[email protected] - @backstage/[email protected] - @backstage/[email protected] - @backstage/[email protected]
- Updated dependencies - @backstage/[email protected] - @backstage/[email protected] - @backstage/[email protected]
- Updated dependencies - @backstage/[email protected] - @backstage/[email protected] - @backstage/[email protected] - @backstage/[email protected] - @backstage/[email protected]
- Updated dependencies - @backstage/[email protected] - @backstage/[email protected] - @backstage/[email protected] - @backstage/[email protected]
- Updated dependencies - @backstage/[email protected] - @backstage/[email protected] - @backstage/[email protected] - @backstage/[email protected]
- Updated dependencies - @backstage/[email protected] - @backstage/[email protected] - @backstage/[email protected] - @backstage/[email protected] - @backstage/[email protected]
- The owner list is now virtualized, keeping the picker responsive for catalogs with large numbers of owner entities.
- Migrated the Unprocessed Entities UI to the Backstage UI component library. The page, dialogs, and action buttons now use the new design system, and the raw entity definition and delete confirmation dialogs have an updated look and feel.
- fa72461: Updated dependency
@opentelemetry/coreto^2..0. 0 - 9da01b6: chore(deps): bump
http-proxy-middlewarefrom 3.0.5 to 3.0.7 - Invalid cache configuration values fall back to defaults.
- Added
scopes_supportedto the OAuth 2.0 Protected Resource Metadata (RFC 9728) response. Without this field, RFC-compliant MCP clients did not know which scope to request and never received a refresh token, causing sessions to expire with the short-lived access token. The field now includesopenid, and alsooffline_accesswhenauth.is enabled.experimentalRefreshToken
additions (54)
- Added
coreServices., a new stable public service for reading metadata about the running Backstage system, including a list of installed plugins.rootSystemMetadata - Added optional
allowedTools,license, andcompatibilityfields to the@alphaAiResource skill spec - Added
buildConnectionsFromConfig, which reads legacyintegrationsconfiguration together withconnectionsconfiguration and returns the fully validated and merged list of connections. - Added support for creating a GitHub credentials provider backed by the connections service.
- Add
initialFilterconfig forpage:techdocs. Valid options areall,ownedandstarred. Defaults toowned. - The same flag is now also available for
config:schema. - Added an
onSchemaErrorcallback that allows callers to report TypeScript configuration schema errors and continue loading. - Added support for configuring MCP server instructions for both default and named servers.
- Added support for routing notifications to a specific Slack channel via
payload., with the existing entity annotation lookup as a fallback.metadata. slackChannel - - a178067: Added a Home page search bar widget blueprint for the new frontend system.
- Added a new
awsconnection type for AWS account credentials, looked up by AWS account number or ARN rather than by URL. - Added a new
package schema openapi validatecommand to validate that an OpenAPI spec is a valid OpenAPI 3.x document. - New apps created with
@backstage/create-appnow include a GitHub Actions CI workflow that runs linting, type checking, tests, configuration validation, and a Docker image build on pull requests. - The app template also includes a pre-configured Home page with a customizable widget grid
- The Home plugin now includes new frontend system widget blueprints for Most Visited, Recently Visited, World Clocks, a configurable Toolkit, and a search bar from the Search plugin.
- The home page layout now supports a
defaultConfigfor defining the initial widget grid through app configuration. - now includes a
refresh-catalog-entityaction that agents and MCP clients can use to re-queue a single entity for processing @backstage/plugin-kubernetes-backendnow emits auditor events for cluster list, cluster proxy, entity workload, custom resource, and deprecated services endpoint requests.@backstage/plugin-mcp-actions-backendnow emits audit events for MCP server connection, tool discovery, and tool execution operations.- MCP servers can also be configured with instructions for both default and named servers.
- The TechDocs page extension now accepts an
initialFilterconfiguration value forpage:techdocs. @backstage/config-loaderalso adds anonSchemaErrorcallback that callers can use to report schema errors and continue loading.- Added support for using a
SubRouteRefas the parent of anotherSubRouteRefin the new frontend system. - Allowed ChatGPT Codex clients to use Client ID Metadata Documents by default.
- Added support for routing Slack notifications to a specific channel via
payload..metadata. slackChannel - Added a
kubernetes.configuration option so a failing cluster locator can be skipped while clusters from other locators are still returned.clusterLocatorContinueOnError - Added new
backstage-cli newtemplates for permission policy modules, search collator modules, and catalog processor modules. - Added
marketplacespec type to the@alphaAiResource kind - Added
pluginspec type to the@alphaAiResource kind - Added support for using a
SubRouteRefas the parent of anotherSubRouteRef. - Added a
refresh-catalog-entityaction so agents and MCP clients can re-queue a single entity for processing after creating or updating it - Added a new public
@backstage/backend-defaults/rootSystemMetadataentrypoint, exportingrootSystemMetadataServiceFactoryandDefaultRootSystemMetadataService. - Added a new
permission-policy-moduletemplate for scaffolding custom permission policies viabackstage-cli new. - Added a
search-collator-moduletemplate for scaffolding new search collator modules viabackstage-cli new. - Added a new
catalog-processor-moduletemplate for scaffolding catalog processor modules viabackstage-cli new. - Added
UserInfoServiceto thepermission-policy-moduletemplate so that scaffolded permission policies have the service already wired up for ownership lookups. - 9138f34: Added a GitHub Actions CI workflow to the default app template. New Backstage instances created with
create-appnow include a.that runs lint, type checking, tests, configuration validation, and a Docker image build on every pull request.github/workflows/ci. yml - a178067: Added a pre-configured Home page with a customizable widget grid to the default create-app template.
- 2828e31: Added a prerequisites check when creating a new app that validates Node.js LTS version and Yarn availability before proceeding, and warns if Python is not found.
- 4ce59cc: Added an alpha
createAwsCredentialsManagerFromConnectionexport that creates anAwsCredentialsManagerbacked by the connections system, allowing AWS credential resolution through the newawsconnection type. The existing configuration-based setup is unchanged. - The pending entities tab now also has a search box, matching the failed entities tab.
- a178067: Added new frontend system widget blueprints for Most Visited, Recently Visited, World Clocks, and a configurable Toolkit.
- a178067: Added
HomePageDefaultConfigItemtype and optionaldefaultConfigprop toHomePageLayoutProps. - c6af8ac: Added audit logging for kubernetes-backend routes. The plugin now emits auditor events for cluster list, cluster proxy, entity workload queries, custom resource queries, and the deprecated services endpoint. Administrators can filter audit logs by
eventIdvaluescluster-fetchandresource-fetch, and byqueryTypein event metadata. KubernetesProxyOptionsaccepts an optionalauditorfor adopters that construct the proxy directly.- At startup, the backend logs a warning for each cluster configured with
skipTLSVerify: true. - Optional configuration is available under
kubernetes..proxy. middlewareCache - f0834bd: Added a
kubernetes.configuration option.clusterLocatorContinueOnError - Added audit logging for MCP server operations using the Backstage Auditor Service. The plugin now emits
connection,tool-discovery, andtool-executionaudit events, allowing adopters to monitor and audit MCP server activity. - Added a new
awsconnection type for AWS account credentials, looked up by AWS account number or ARN rather than by URL. A singleaccountauth method covers all accounts: one entry per account with static keys, a profile, or IAM role assumption, and at most one entry markedmainAccount: truethat acts as the fallback for the environment's own account. A connection-levelroleName(with optionalpartition,region,externalId, andwebIdentityTokenFile) describes a role to assume in any account that has no entry of its own. - legacy top-level
awsconfiguration is converted automatically, with explicitconnectionsconfig taking precedence - Connection types can now declare a whole-connection validation step that runs after the configuration schemas have parsed, enabling rules that span multiple auth entries or combine connection settings with auth entries.
- Each auth entry includes its plugin
match, allowing rules to take plugin scoping into account. - Connection types also expose a type-level
authaccessor describing the shape of their configured auth entries, mirroring the existingqueryaccessor.
fixes (47)
- Corrected catalog relation generation to honor declared kind combinations, and completed reverse relations for existing
AiResourcefields. - Fixed the built-in CLI client being rejected when
allowedClientIdPatternsis configured for Client ID Metadata Documents.×2 - Fixed a missing promise return in a database migration rollback function.
- Fixed a bug in the Azure DevOps URL reader where the abort signal was not forwarded to the commits API fetch, causing the fetch to hang indefinitely when a build timeout or cancellation was triggered.
- Fixed
yarn newfailing with "No version available" for several templates by adding missing packages to the version map. - Fixed generated frontend plugin tables to identify their row header
- Fix issue where
backstage-cli config:check --strictwould incorrectly reject valid configuration for open-ended object schemas, such as plain objects or map-like structures. - 7ca2955: Fix OAuth start handler crashing with a 500 error on malformed origins, now returns a 400 error.
- 05aed2e: Fixed a brief "Entity not found" flash when navigating between catalog entity pages.
- Fixed notification recipient resolution to safely handle cyclic group relationships during group traversal, preventing endless recursion.
- Fixed the stale task janitor not being set up by passing the scheduler service to the router.
- Scaffolder tasks now wait for recovery checkpoint state to be persisted before continuing, preventing later execution from racing ahead of stored recovery state.
- Entity provider mutations on PostgreSQL now retry automatically on deadlocks
- SCM
location.events are also ignored for files that are not actively tracked, preventing spurious locations from being created.moved - A bug where strict config checks incorrectly rejected valid open-ended object schemas has been fixed.
- Fixed
Tablenot filling the container width in Firefox whenTableRootis used directly insideResizableTableContainer. - Fixed config-driven route redirects in the new frontend system so they preserve the query string and fragment from the original URL.
- Fixed unnecessary entity page and analytics rerenders when surrounding context values had not changed.
- Fixed a brief "Entity not found" flash when navigating between catalog entity pages.
- Fixed the catalog graph page so configured filter and graph defaults are applied when the page opens.
- Fixed the
DependencyGraphcomponent so nodes no longer briefly overlap before the initial layout settles. - Fixed
UserListPickershowing all catalog entities as "Owned" when the logged-in user has no ownership entity refs. - Fixed OAuth start requests with malformed origins returning a 500 instead of a 400.
- Fixed Microsoft provider sign-in and token refresh for non-Graph scopes, such as Azure Management API scopes.
- Fixed MCP OAuth metadata so RFC-compliant clients know which scopes to request and can receive refresh tokens when refresh tokens are enabled.
- Fixed limited user token creation so it throws when required user IP metadata is missing instead of constructing an invalid token.
- Fixed
backstage-cli newfailing with "No version available" for several templates. - Fixed an issue where PostgreSQL deadlock errors during entity provider mutations were silently swallowed, causing entities to be dropped until the next full refresh. Transactions are now automatically retried on deadlock with exponential back-off.
- Fixed a potential MySQL deadlock during concurrent entity processing by retrying the
updateProcessedEntitytransaction on deadlock errors. - Fixed an issue where SCM
location.events would generate new locations in the database for files that were not actively tracked.moved - Throw an error when
payload.is missing inuip createLimitedUserTokeninstead of constructing an invalid limited token with an undefined signature. - Identity mocks passed to
renderInTestApp(for example viamockApis.) are now applied before the app's built-in guest fallback, so the configuredidentity(. . . ) userEntityRefreliably takes effect in tests instead of being silently overwritten by the default guest user. - Fixed the
DependencyGraphcomponent to avoid a jarring initial render where nodes briefly pile up at overlapping positions before animating into place. The graph content is now hidden until node measurements are complete and the layout has fully settled, then revealed at the correct positions with transitions suppressed for the first frame. Also fixed acontainerRefrecreation chain where every graph dimension change caused the container measurement callback to be recreated and re-triggered, producing unnecessary re-renders during initial layout. - ee4a9f6: Fixed the example scaffolder template so the component name field validates against the allowed entity-name format, preventing names with spaces that would fail catalog registration.
- 52a58be: Fixed Table not filling container width in Firefox when using
TableRootdirectly insideResizableTableContainer. Changedoverflow: hiddentooverflow: autoon the resizable container so it handles scrolling for directTableRootusages. - b7085d1: Fixed deep linking in OpenAPI definition widget.
- 2dd51e6: Fixed config-driven route redirects to preserve the query string and fragment from the original URL. Previously, redirects declared under
app.silently dropped everything afterextensions[]. app/routes. config. redirects ?or#in the incoming URL. - 7ccaf9d: Fixed an issue where acquiring tokens with non-Graph scopes (such as Azure Management API) would crash the sign-in resolver because the user profile was unavailable. This affected both the initial sign-in and later token refreshes. The Microsoft authenticator now makes a separate Graph API call to fetch the profile when the primary token targets a different resource. Setting the
skipUserProfileconfiguration option to true disables this extra call. - 80b37b3: Fixed the
AboutFieldlabel in the About card usingvariant="inherit"instead ofvariant="h2"to prevent theme typography overrides from changing the intended 10px label size. - 8babce3: Fixed the catalog graph page so configured filter and graph defaults are applied when the page opens.
- Remove obsolete location import error handling in StepReviewLocation.
- Fixed a performance issue where all components reading the entity context on an entity page would rerender unnecessarily whenever the page rendered again without the entity data having changed, for example when a URL query parameter changed. This was particularly noticeable when switching tabs in the entity inspector dialog, which caused the entire underlying page to rerender.
- Fixed an issue where the "Owned" count in
UserListPickerwould display the total number of catalog entities instead of 0 when the logged-in user has no ownership entity refs. The emptyrelations.filter was being silently dropped by the catalog client, causing the backend to return all entities with no ownership filter applied.ownedBy - Fixed
EntityOwnerPickerinowners-onlymode to display human-readable entity titles (frommetadata.ortitle spec.) instead of opaque internal names, both in the dropdown list and in the selected owner chips.profile. displayName - 684c9b9: Fixed
AwsIamStrategyto resolve account-specific AWS credentials when an assume role ARN is configured, enabling support forwebIdentityTokenFileandaccountDefaultsin environments without default AWS credentials. - Restored checkpoints also preserve falsy values without re-running their callbacks.
constraints (8)
- Permission rule parameter schemas now accept JSON Schema-compatible Standard Schema implementations, such as Zod v4.×2
- Configurations with duplicate account IDs or multiple main account entries are rejected at startup×2
- Changed connection types to use portable configuration schemas as the source of root connection types, with JSON Schema generation and strongly typed parsing that do not expose the underlying Zod schemas.
- Package preparation now validates TypeScript configuration schemas strictly before publishing.
- Made the
descriptionparameter optional in thepublish:gerritscaffolder action. - - f83a652: Made
descriptionparameter optional inpublish:gerritaction.
defaults (3)
- Allow ChatGPT Codex clients to use Client ID Metadata Documents by default.
- The system metadata service is now registered automatically as a default service, so backends no longer need to add it manually.
- 943687f: Generated backend Dockerfiles no longer disable the Node.js snapshot or install native build dependencies for the Scaffolder.
조치가 필요한 릴리스가 나왔을 때 주간 메일로 알려드립니다. 이번 릴리스의 브레이킹 체인지 같은 것들입니다.