Backstage
v1.52.0CI/CD & App Deliveryv1.52.0은 discovery API 기본값 변경, immediate stitching 제거, BUI union 타입 변경 등 세 가지 breaking change와 함께 PostgreSQL 카탈로그 성능 개선 및 다수의 안정성 수정이 포함됩니다.
breakingdiscovery.endpoints 마이그레이션 및 immediate stitching 설정 제거
업그레이드 전에 두 가지 설정을 점검하세요. 첫째, `discovery.endpoints`에 내부 전용 문자열 타겟을 쓰고 있다면 객체 형태로 바꾸고 내부 URL은 `target.internal`에, 브라우저가 접근 가능한 URL은 `target.external`에 넣어야 합니다. 그렇지 않으면 프론트엔드가 내부 주소에 직접 요청을 보냅니다. 둘째, 설정 파일에서 `catalog.stitchingStrategy.mode: 'immediate'`를 삭제하세요. 이미 무시되지만 deprecation 경고가 발생합니다. 둘 다 설정 파일 수정으로 해결됩니다.
breakingComboboxProps / SelectProps 타입 확장 코드 업그레이드 전 수정 필요
`ComboboxProps`와 `SelectProps`가 union 타입으로 바뀌었습니다. 두 타입을 `extends`로 확장한 인터페이스가 있으면 타입 에러가 납니다 — 타입 교차(intersection)로 바꾸세요. `.bui-SelectPopover`의 직계 자식으로 리스트 내용을 선택하던 CSS 셀렉터도 확인이 필요합니다. 런타임 폴백 없이 컴파일 단계에서 바로 실패합니다.
enhancementPostgreSQL 카탈로그 쿼리 성능 개선 — 마이그레이션만 실행하면 적용
이번 릴리즈에 PostgreSQL 전용 쿼리 플래너 개선이 여러 건 포함됩니다. search 테이블에 다중 컬럼 통계 추가, 불필요한 레거시 인덱스 제거, vacuum 임계값 조정, count/list 쿼리 분리가 마이그레이션으로 자동 적용됩니다. 엔티티 수가 많은 환경에서 카탈로그 목록 조회가 10~40배 느렸다면 이 업그레이드가 직접적인 해결책입니다. 별도 설정 변경 없이 마이그레이션 실행만으로 적용됩니다. MySQL/SQLite 환경에는 해당되지 않습니다.
주요 변경 (7)
- @backstage/plugin-app의 기본 discovery API가 FrontendHostDiscovery로 변경 — discovery.endpoints의 내부 전용 문자열 타겟을 객체 형태로 마이그레이션 필요
- catalog.stitchingStrategy.mode: 'immediate' 제거 — 설정이 남아 있으면 경고 로그가 출력됨
- ComboboxProps·SelectProps가 union 타입으로 변경 — 인터페이스 상속 코드 수정 필요
- PostgreSQL 대상 카탈로그 백엔드 쿼리 플래너 개선 다수 포함 (다중 컬럼 통계, 레거시 인덱스 제거, count 쿼리 분리)
- @backstage/connections 실험적 패키지 추가 — 기존 integrations의 장기 대체제 예정, 현재는 프로덕션 사용 금지
- react-syntax-highlighter·@dagrejs/dagre 지연 로딩 전환으로 @backstage/core-components 초기 모듈 로드 약 10 MB 절감
- 새로 생성되는 앱에 Yarn 4.13.0 및 npmMinimalAgeGate: 3d 설정이 기본 적용