Skip to content

feat(*)!: montage 4.0.0 release - #658

Merged
Sh031224 merged 74 commits into
mainfrom
feature/4.0.0
Oct 8, 2026
Merged

Sh031224 merged 74 commits into
mainfrom
feature/4.0.0

Conversation

@Sh031224

@Sh031224 Sh031224 commented Oct 6, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

feature/4.0.0에 쌓인 Montage 4.0.0 메이저 변경사항을 main에 반영합니다.

  • 패키지명이 @wanteddev/wds*에서 @montage-ui/*로 바뀌고, 배포처가 npm registry로 옮겨갑니다
  • theme 토큰 전체가 CSS variable 기반으로 바뀌고, semantic 토큰 구조가 개편됩니다
  • 대부분의 컴포넌트에 4.0.0 디자인 스펙이 반영됩니다 (사이즈 체계, variant 정리, 네이밍 변경)
  • ThemeProvider의 테마 저장소가 localStorage에서 cookie로 바뀝니다
  • 오버레이 닫힘 처리가 radix layer stack으로 통일되고, 열린 Modal / Alert / Picker 바깥은 클릭이 차단됩니다
  • CSS :has() · dvh를 폴백 없이 사용해 최소 지원 브라우저가 올라갑니다 (Chrome / Edge 108, Firefox 121, Safari 15.4)

📘 컴포넌트별 AS-IS / TO-BE와 codemod 사용법은 MIGRATION.md › 4.0.0에 정리되어 있습니다.


💥 Breaking Changes

패키지 · 인프라

변경 PR
npm registry로 이전하고 패키지명을 @wanteddev/wds*에서 @montage-ui/*로 변경 (wds-mcp는 @wanteddev/montage-mcp) #519
wds 식별자 네이밍 변경, CSS variable의 --wds- prefix 제거 #581
@montage-ui/nextjs emotion cache key wds → montage (클래스명 접두사 · data-emotion 변경) #590
@supports 폴백 제거 및 빌드 타겟 상향 (Chrome / Edge 108, Firefox 121, Safari / iOS 15.4, Opera 94) #662, #663

토큰 · 테마

변경 PR
수치 토큰(primitive / opacity / spacing / radius / dimension / zIndex)이 var(--...) 문자열을 반환하도록 변경. JS 산술 연산 불가 #574
semantic 토큰 구조 개편 (Foreground / Background / Surface / Line / Effect) #606
ThemeProvider 테마 저장소를 localStorage에서 cookie로 전환 (storageKey 대신 cookie 옵션) #607
theme cookie 도메인 자동 탐지, 조용히 실패하던 경로 제거 #638
theme.spacing[1] 삭제(theme.primitive[1]로 대체), Spacing 타입 export 제거 #561

컴포넌트

컴포넌트 변경 PR
Form → FormControl 컴포넌트 및 Props 타입 네이밍 개편 #598
Input 계열 invalid / positive를 status로 통합 #619
Card / ListCard CardList를 ListCard로 변경, 하위 컴포넌트 네이밍 개편 #587
ListCell fillWidth / interactionPadding을 variant로 통합, 콘텐츠 variant 정리, caption을 description으로 변경 #628
TextField size prop 도입 (Large / Medium), TextFieldButton variant 제거 #585
TextArea 사이즈 체계 도입, TextAreaContent variant 개편, character counter를 FormControlMessageAccessory로 이전 #602
Select / SelectMultiple size prop 추가, SelectContent 전용 구현으로 분리, SelectRenderChip 추가 #612
SearchField size 값 변경 (small/medium → medium/large), variant 추가, readOnly 제거 #617
SegmentedControl variant 제거, icon only 모드 추가 #608
PushBadge variant 개편, count를 text로 변경, maxCount·outline border 추가 #614
FallbackView FallbackViewActionArea 기반으로 action area 개편, FallbackViewImage deprecated #618
IconButton disableInteraction 제거, interactionEffect 추가 #637
IconButton / Slot size 의미 변경 (아이콘 크기 → 박스 크기), slot content size 자동 적용 #649
Modal ModalNavigation 분리, ModalClose 제거, navigation button variant 개편 #651
Modal ModalContent 여백 옵션 추가, ModalContainer size="small" 제거, 사이즈·radius 스펙 반영 #652
ContentBadge variant="outlined" 배경 투명화 #655
오버레이 공통 radix layer stack 기반 dismiss. 열린 Modal / Alert / Picker 동안 <body> pointer-events: none(포털 요소 포함), Popper · Modal · Alert의 data-ignore-dismissable-layer 제거, dimmer 핸들러로 닫기 차단 불가, aria-modal 조건 변경 #583
Popper collisionPadding 기본값 0 → 20, 팝업 최대 크기를 남은 화면 공간으로 제한 #632
AutocompleteOption 자체 체크 아이콘 제거, ListCell 기본 체크 사용 (DOM 식별자 변경, trailingContent 반영) #660
Input 계열 aria-invalid 렌더 변화 (TextField · TextArea · Select는 항상 렌더, Checkbox 계열은 넘긴 경우만) #662

✨ 신규 기능

Theme

컴포넌트


🎨 디자인 업데이트 (Non-breaking)


🐛 버그 수정


♻️ 리팩터링


🛠 마이그레이션 지원

Codemod (@montage-ui/codemod)

ESLint plugin (@montage-ui/eslint-plugin)

AI 마이그레이션 스킬


📚 문서


⚙️ CI · 빌드 · 의존성


Test plan

🤖 Generated with Claude Code

@Sh031224 Sh031224 added this to the 4.0.0 milestone Oct 6, 2026
@Sh031224 Sh031224 self-assigned this Oct 6, 2026
@coderabbitai

coderabbitai Bot commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor

Walkthrough

Warning

Review details and warnings were omitted to fit the comment limit.

@Sh031224 Sh031224 changed the title feat!: Montage 4.0.0 릴리스 feat(*)!: montage 4.0.0 release Oct 6, 2026
Sh031224 and others added 26 commits October 6, 2026 11:43
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: 차승호 <1cktmdgh2@gmail.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Sh031224 <1cktmdgh2@gmail.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: montage-web-actions[bot] <286518700+montage-web-actions[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: montage-web-actions[bot] <286518700+montage-web-actions[bot]@users.noreply.github.com>
Co-authored-by: Sh031224 <1cktmdgh2@gmail.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: montage-web-actions[bot] <286518700+montage-web-actions[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…584)

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: montage-web-actions[bot] <286518700+montage-web-actions[bot]@users.noreply.github.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: montage-web-actions[bot] <286518700+montage-web-actions[bot]@users.noreply.github.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Sh031224 and others added 19 commits October 6, 2026 11:43
…#637)

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
Co-authored-by: montage-web-actions[bot] <286518700+montage-web-actions[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
Co-authored-by: montage-web-actions[bot] <286518700+montage-web-actions[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Sh031224 and others added 4 commits October 6, 2026 17:04
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@Sh031224
Sh031224 marked this pull request as ready for review October 7, 2026 07:53
@montage-actions

Copy link
Copy Markdown
Contributor

size-limit report 📦

Path Size
wds 0 B (-100% 🔽)
wds-icon 0 B (-100% 🔽)
wds-lottie 0 B (-100% 🔽)
wds-theme 0 B (-100% 🔽)
wds-engine 0 B (-100% 🔽)
wds-nextjs 0 B (-100% 🔽)
@montage-ui/core 2.49 KB (+100% 🔺)
@montage-ui/icon 3.96 KB (+100% 🔺)
@montage-ui/lottie 68 B (+100% 🔺)
@montage-ui/theme 156 B (+100% 🔺)
@montage-ui/engine 324 B (+100% 🔺)
@montage-ui/nextjs 149 B (+100% 🔺)

@montage-actions

montage-actions Bot commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

🚀 Preview

Last commit490ead6
Preview URLhttps://dev-montage.wanted.co.kr/490ead6

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@Sh031224
Sh031224 merged commit 92f20bc into main Oct 8, 2026
@Sh031224
Sh031224 deleted the feature/4.0.0 branch October 8, 2026 01:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants