Changelog | CoUI
LogoCoUI

Changelog

패키지별 릴리스 노트와 정확한 버전 참조

Changelog#

CoUI는 release-please로 패키지별 독립 버전을 관리합니다(coui_flutter / coui_web / coui_core 등). 아래 미리보기는 빌드 시점에 각 패키지의 실제 CHANGELOG.md를 읽어 렌더하므로 항상 최신 릴리스와 일치합니다 — 손으로 옮겨 적은 텍스트가 아닙니다.

전체 이력은 GitHub에서 확인하세요:

저장소 루트의 CHANGELOG.md는 보관용입니다. 지금 릴리스되는 패키지별 CHANGELOG(위 링크)가 항상 최신입니다 — 루트 파일은 패키지 분리 이전 이력이 남아있어 여기서 참고용으로만 확인하세요.

coui_flutter#

현재 버전:

0.139.0

git 태그 (ref: 값):

coui_flutter-v0.139.0
0.127.152026-06-16

Refactored

  • #2585 — DaisyUI color 레이어 전면 제거 (color_style.dart 삭제 + chain naming M3화) (#2601)
0.139.02026-09-07

기능

  • **core,flutter,web,figma:** 탭이 라벨 앞뒤로 무언가를 걸 수 있다 — 에디터 스트립의 파일 글리프와 닫기 (#4691) (#4706) (89ee36b)
0.138.02026-09-07

⚠ BREAKING CHANGES

  • **core,flutter,web,figma:** 비활성 탭 라벨이 `onSurfaceVariant` 로 흐려진다 — 지금까지는 ambient 텍스트 색(보통 `onSurface`)을 상속해 활성 탭과 같은 색이었다. 이전 그림이 필요하면 `tabPaneStyle: CoreTabPaneStyle(inactiveContentColor: CoreColor.token(CoreColors.onSurface))` 로 되돌린다. API 는 그대로다.

기능

  • **core,flutter,web,figma:** TabPane 스트립이 자기 배경을 갖는다 (#4687) (#4703) (f1f3c1b)
  • **core,flutter,web,figma:** TabPane 이 활성/비활성 탭 라벨을 색으로 구분한다 (#4688) (#4704) (c4a8a46)
  • **core,flutter,web,figma:** TabPane 탭 사이에 구분선을 그릴 수 있다 (#4690) (#4705) (20d087b)

버그 수정

  • **core,flutter,web,figma:** TabPane 의 탭 테두리와 패널 테두리를 두 필드로 나눈다 (#4686) (#4693) (2b5740b)
  • **flutter:** AppBar 단일 행이 제목의 자기 inset 을 그린다 — Web 과 8px 어긋나던 것 (#4698) (76b7f1f), closes #4692
0.137.02026-09-07

⚠ BREAKING CHANGES

  • **core,flutter,web:** `CoreNavigationBarStyle.sectionLabelRole` 과 `defaultSectionLabelTextStyle` 의 타이포 역할이 `labelSmall`(10px)에서 `labelLarge`(14px)로 바뀌어 rail·sidebar 의 섹션 머리말이 커진다. 이전 크기가 필요하면 `navigationBarStyle: CoreNavigationBarStyle(sectionLabelTextStyle: CoreTextStyle.token(CoreTextStyles.labelSmall))` 로 인스턴스에서 되돌린다.
  • **core,flutter,web,figma:** `CoreFooterStyle.defaultBackgroundColor` 가 `surfaceContainer` 에서 `surface` 로 바뀌어 기본 Footer 의 배경 톤이 페이지 배경과 같아진다 — 이전 톤이 필요하면 `footerStyle: CoreFooterStyle(backgroundColor: CoreColor.token(CoreColors.surfaceContainer))` 를 명시한다. 생성자 파라미터는 전부 기본값이 있어 기존 호출은 그대로 컴파일된다.

기능

  • **core,flutter,web,figma:** Footer 가 디자이너의 두 축을 갖고 legal 블록을 얻는다 (#4671) (81031c9)

버그 수정

  • **core,flutter,web:** 내비게이션 섹션 머리말이 디자이너가 고른 역할을 쓴다 (#4682) (23e137c)
0.136.02026-09-05

⚠ BREAKING CHANGES

  • **flutter,web,figma:** `TabPane` 의 기본 렌더가 바뀐다 — 포커스 탭의 아래 테두리가 사라지고, 탭 스트립이 `borderRadius` 의 위 모서리 반경(`barHeight` 상한)만큼 양쪽에서 들여지며, 스트립이 패널 윗선 위로 `borderWidth` 만큼 겹친다. API 와 `CoreTabPaneStyle` 필드는 그대로다. 이전처럼 스트립을 왼쪽 끝에 붙이려면 `tabPaneStyle: CoreTabPaneStyle(borderRadius: CoreBorderRadius.all(CoreRadius.radius0))` 로 반경을 0 으로 두면 inset 도 0 이 된다.

버그 수정

  • **flutter,web,figma:** TabPane 탭이 패널과 한 외곽선을 공유한다 (#4665) (ca26821)

coui_web#

현재 버전:

0.138.0

git 태그 (ref: 값):

coui_web-v0.138.0
0.127.152026-06-16

Refactored

  • #2585 — DaisyUI color 레이어 전면 제거 (color_style.dart 삭제 + chain naming M3화) (#2601)
0.138.02026-09-07

기능

  • **core,flutter,web,figma:** 탭이 라벨 앞뒤로 무언가를 걸 수 있다 — 에디터 스트립의 파일 글리프와 닫기 (#4691) (#4706) (89ee36b)
0.137.02026-09-07

⚠ BREAKING CHANGES

  • **core,flutter,web,figma:** 비활성 탭 라벨이 `onSurfaceVariant` 로 흐려진다 — 지금까지는 ambient 텍스트 색(보통 `onSurface`)을 상속해 활성 탭과 같은 색이었다. 이전 그림이 필요하면 `tabPaneStyle: CoreTabPaneStyle(inactiveContentColor: CoreColor.token(CoreColors.onSurface))` 로 되돌린다. API 는 그대로다.

기능

  • **core,flutter,web,figma:** TabPane 스트립이 자기 배경을 갖는다 (#4687) (#4703) (f1f3c1b)
  • **core,flutter,web,figma:** TabPane 이 활성/비활성 탭 라벨을 색으로 구분한다 (#4688) (#4704) (c4a8a46)
  • **core,flutter,web,figma:** TabPane 탭 사이에 구분선을 그릴 수 있다 (#4690) (#4705) (20d087b)

버그 수정

  • **core,flutter,web,figma:** TabPane 의 탭 테두리와 패널 테두리를 두 필드로 나눈다 (#4686) (#4693) (2b5740b)
  • **flutter:** AppBar 단일 행이 제목의 자기 inset 을 그린다 — Web 과 8px 어긋나던 것 (#4698) (76b7f1f), closes #4692
0.136.02026-09-07

⚠ BREAKING CHANGES

  • **core,flutter,web:** `CoreNavigationBarStyle.sectionLabelRole` 과 `defaultSectionLabelTextStyle` 의 타이포 역할이 `labelSmall`(10px)에서 `labelLarge`(14px)로 바뀌어 rail·sidebar 의 섹션 머리말이 커진다. 이전 크기가 필요하면 `navigationBarStyle: CoreNavigationBarStyle(sectionLabelTextStyle: CoreTextStyle.token(CoreTextStyles.labelSmall))` 로 인스턴스에서 되돌린다.
  • **core,flutter,web,figma:** `CoreFooterStyle.defaultBackgroundColor` 가 `surfaceContainer` 에서 `surface` 로 바뀌어 기본 Footer 의 배경 톤이 페이지 배경과 같아진다 — 이전 톤이 필요하면 `footerStyle: CoreFooterStyle(backgroundColor: CoreColor.token(CoreColors.surfaceContainer))` 를 명시한다. 생성자 파라미터는 전부 기본값이 있어 기존 호출은 그대로 컴파일된다.

기능

  • **core,flutter,web,figma:** Footer 가 디자이너의 두 축을 갖고 legal 블록을 얻는다 (#4671) (81031c9)

버그 수정

  • **core,flutter,web:** 내비게이션 섹션 머리말이 디자이너가 고른 역할을 쓴다 (#4682) (23e137c)
0.135.02026-09-05

⚠ BREAKING CHANGES

  • **flutter,web,figma:** `TabPane` 의 기본 렌더가 바뀐다 — 포커스 탭의 아래 테두리가 사라지고, 탭 스트립이 `borderRadius` 의 위 모서리 반경(`barHeight` 상한)만큼 양쪽에서 들여지며, 스트립이 패널 윗선 위로 `borderWidth` 만큼 겹친다. API 와 `CoreTabPaneStyle` 필드는 그대로다. 이전처럼 스트립을 왼쪽 끝에 붙이려면 `tabPaneStyle: CoreTabPaneStyle(borderRadius: CoreBorderRadius.all(CoreRadius.radius0))` 로 반경을 0 으로 두면 inset 도 0 이 된다.

버그 수정

  • **flutter,web,figma:** TabPane 탭이 패널과 한 외곽선을 공유한다 (#4665) (ca26821)

coui_core#

현재 버전:

0.137.0

git 태그 (ref: 값):

coui_core-v0.137.0
0.127.152026-06-16

Refactored

  • #2585 — DaisyUI color 레이어 전면 제거 (color_style.dart 삭제 + chain naming M3화) (#2601)
0.137.02026-09-07

기능

  • **core,flutter,web,figma:** 탭이 라벨 앞뒤로 무언가를 걸 수 있다 — 에디터 스트립의 파일 글리프와 닫기 (#4691) (#4706) (89ee36b)
0.136.02026-09-07

⚠ BREAKING CHANGES

  • **core,flutter,web,figma:** 비활성 탭 라벨이 `onSurfaceVariant` 로 흐려진다 — 지금까지는 ambient 텍스트 색(보통 `onSurface`)을 상속해 활성 탭과 같은 색이었다. 이전 그림이 필요하면 `tabPaneStyle: CoreTabPaneStyle(inactiveContentColor: CoreColor.token(CoreColors.onSurface))` 로 되돌린다. API 는 그대로다.

기능

  • **core,flutter,web,figma:** TabPane 스트립이 자기 배경을 갖는다 (#4687) (#4703) (f1f3c1b)
  • **core,flutter,web,figma:** TabPane 이 활성/비활성 탭 라벨을 색으로 구분한다 (#4688) (#4704) (c4a8a46)
  • **core,flutter,web,figma:** TabPane 탭 사이에 구분선을 그릴 수 있다 (#4690) (#4705) (20d087b)

버그 수정

  • **core,flutter,web,figma:** TabPane 의 탭 테두리와 패널 테두리를 두 필드로 나눈다 (#4686) (#4693) (2b5740b)
  • **flutter:** AppBar 단일 행이 제목의 자기 inset 을 그린다 — Web 과 8px 어긋나던 것 (#4698) (76b7f1f), closes #4692
0.135.02026-09-07

⚠ BREAKING CHANGES

  • **figma,core:** 캔버스 `TabPane` 의 안식 포즈가 세 탭에서 두 탭으로 바뀐다 — 흐려진 세 번째 탭은 이제 `Show disabled tab` (기본 false) 뒤에 있다. 배치된 인스턴스는 다음 Generate 에서 그 탭을 잃으므로, 그 포즈가 필요한 인스턴스는 체크박스를 켜면 된다. 코드 API 와 `CoreTabPaneStyle` 필드는 그대로다.
  • **core,flutter,web:** `CoreNavigationBarStyle.sectionLabelRole` 과 `defaultSectionLabelTextStyle` 의 타이포 역할이 `labelSmall`(10px)에서 `labelLarge`(14px)로 바뀌어 rail·sidebar 의 섹션 머리말이 커진다. 이전 크기가 필요하면 `navigationBarStyle: CoreNavigationBarStyle(sectionLabelTextStyle: CoreTextStyle.token(CoreTextStyles.labelSmall))` 로 인스턴스에서 되돌린다.
  • **core,flutter,web,figma:** `CoreFooterStyle.defaultBackgroundColor` 가 `surfaceContainer` 에서 `surface` 로 바뀌어 기본 Footer 의 배경 톤이 페이지 배경과 같아진다 — 이전 톤이 필요하면 `footerStyle: CoreFooterStyle(backgroundColor: CoreColor.token(CoreColors.surfaceContainer))` 를 명시한다. 생성자 파라미터는 전부 기본값이 있어 기존 호출은 그대로 컴파일된다.

기능

  • **core,flutter,web,figma:** Footer 가 디자이너의 두 축을 갖고 legal 블록을 얻는다 (#4671) (81031c9)

버그 수정

  • **core,flutter,web:** 내비게이션 섹션 머리말이 디자이너가 고른 역할을 쓴다 (#4682) (23e137c)
  • **core:** Unibook primary 를 디자이너가 적어둔 남보라로 되돌린다 — 스와치만 파랑이었고 적힌 색 코드는 처음부터 남보라였다 (#4683) (d313fa7)
  • **figma,core:** TabPane 캔버스가 docs 그림에서 쉬고 슬롯 콘텐츠를 프로퍼티로 준다 (#4680) (#4681) (c2d798d)
0.134.02026-09-03

⚠ BREAKING CHANGES

  • **core,flutter,web,figma:** `Carousel.indicatorPlacement` 가 사라지고 `variant` 가 그 자리를 받는다 — `indicatorPlacement: .below` 는 `variant: CoreCarouselVariant.banner` 로. `showNavigation` 이 `bool?` 이 되어 기본값이 variant 에서 파생되므로, `banner` 에서 좌우 버튼이 필요하면 `showNavigation: true` 를 명시한다. 배너 슬라이드를 `Card` 로 합성하던 코드는 `CarouselBanner` 로 바꾼다.
  • **core,flutter,web,figma:** 세 가지 기본 렌더가 바뀐다. (1) `DotIndicator` 활성 점이 `primary` 대신 `onSurface` 이고 비활성 점 테두리가 사라진다(폭 0), (2) `Carousel` 좌우 버튼이 40 에서 32 로 줄고 `below` 배치의 점 간격이 0 이 된다, (3) `Banner` 의 `action:` 이 `Button` 이면 라벨이 변형 foreground 를 입는다. 이전 모습이 필요하면 각각 `dotIndicatorStyle: CoreDotIndicatorStyle(activeColor: CoreColor.token(CoreColors.primary), inactiveBorderWidth: CoreStrokeWidth.stroke2, inactiveColor: CoreColor.transparent)`, `carouselStyle: CoreCarouselStyle(navInset: …, indicatorBelowGapStyle: CoreGapStyle(size: CoreSpace.space8))`, `action: Button(buttonStyle: CoreButtonStyle(foregroundColor: …))`.
  • **core,figma:** `CoreCarouselStyle.defaultBorderRadius` 가 16 에서 8 로 — `borderRadius` 를 주지 않던 모든 `Carousel` 의 뷰포트 모서리가 바뀐다. 이전 모습이 필요하면 `.radius16` 또는 `carouselStyle: CoreCarouselStyle(borderRadius: CoreBorderRadius.all(CoreRadius.radius16))`.
  • **core,flutter,web,figma:** `DotIndicator` 의 비활성 점이 투명이 아니라 `outlineVariant` 로 채워진다 — `inactiveColor` 를 주지 않던 모든 사용처의 렌더가 바뀐다. 이전 모습이 필요하면 `dotIndicatorStyle: CoreDotIndicatorStyle(inactiveColor: CoreColor.transparent)`.
  • **core,flutter,web,figma:** DotIndicator 의 기본 점 크기가 12 → 8 이 된다(기본 크기 md). `CoreDotIndicatorStyle.defaultDotSize` · `defaultSpacing` 정적 필드는 `defaultsBySize` 표로 대체됐다 — 직접 참조하던 코드는 `defaultsBySize[CoreDotIndicatorSize.defaultSize]` 를 읽는다. 점 12 를 원하면 `size: .lg`.

기능

  • **core,figma:** Carousel 슬라이드 모서리 기본값이 8 이 되고, 배너 슬라이드는 디자이너의 썸네일 스트립을 그린다 (#4651) (a255d0a)
  • **core,flutter,web,figma:** Carousel 이 디자이너의 두 축을 갖고, 배너 슬라이드가 CarouselBanner 로 독립한다 (#4654) (964043b)
  • **core,flutter,web,figma:** Carousel 이 인디케이터 위치 축을 갖는다 — 디자이너의 배너 세트를 합성으로 흡수한다 (#4647) (be17989)
  • **core,flutter,web,figma:** DotIndicator 가 크기 축을 갖는다 — 디자이너의 sm·md·lg 세트를 코드가 뒷받침하고 빌더가 그대로 그린다 (#4646) (c5ecf34)
  • **core,flutter,web,figma:** DotIndicator 비활성 점이 속을 채운다 — Carousel 좌우 버튼은 Button 의 circle 멤버를 합성한다 (#4650) (4374e24)
  • **core,flutter,web,figma:** 디자이너가 캔버스에서 되돌린 값들을 코드로 옮긴다 — 점 색·테두리, nav 32, 배너 액션 라벨, 인프라 자리표시 (#4652) (40ea8c8)

특정 버전에 고정하기#

설치 가이드git: 의존성에 ref:를 추가하면 그 태그가 가리키는 커밋에 고정됩니다:

dependencies:
  coui_flutter:
    git:
      url: https://github.com/coco-de/coui.git
      path: packages/coui_flutter
      ref: coui_flutter-v0.128.1 # 예시 — 위 coui_flutter "git 태그" 값으로 교체

ref:를 생략하면 main의 최신 커밋을 그대로 추적합니다(브레이킹 체인지가 예고 없이 들어올 수 있음).

과거 릴리스 문서 (버전 스위처)#

헤더의 버전 메뉴로 과거 릴리스 시점에 정적으로 빌드해 둔 문서 사이트 스냅샷을 열람할 수 있습니다 — 오래된 ref:에 고정한 프로젝트가 지금 문서가 아니라 그 당시 실제 API를 확인할 수 있게 하기 위해서입니다. 각 스냅샷은 그 태그의 소스에서 독립적으로 빌드한 완전한 사이트이며, 지금 문서를 필터링한 결과가 아닙니다.

이 아카이브는 CoUI의 릴리스 태그 전체(수백 개)를 소급 백필하지 않습니다 — 배포마다 모든 과거 버전을 다시 빌드하는 비용이 너무 크고, 오래된 태그 다수는 지금 툴체인으로 재현을 보장할 수 없는 시절의 것이기 때문입니다. 대신 이 기능이 생긴 시점부터 앞으로, 관리자가 스냅샷을 남기기로 한 릴리스만 누적됩니다(빌드 스크립트: tool/build_version_snapshot.sh) — 대부분의 버전드 문서 도구가 쓰는 "여기서부터 추적 시작" 방식과 같습니다. 메뉴에 아직 항목이 없다면 첫 스냅샷이 아직 만들어지지 않은 것입니다.