From cc11ee8cad187f5c2e1bf9a5bd8b6e9de63d12b8 Mon Sep 17 00:00:00 2001
From: th-kim0823
Date: Fri, 15 May 2026 11:11:56 +0900
Subject: [PATCH] =?UTF-8?q?chore(release):=20v0.4.0=20=E2=80=94=20notebook?=
=?UTF-8?q?s=20+=20lifecycle=203=EB=B6=84=EA=B8=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Co-Authored-By: Claude Opus 4.7 (1M context)
---
CHANGELOG.md | 28 ++++++++++++++++++++++++++++
package.json | 2 +-
2 files changed, 29 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 24e5f9b..1b10706 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,34 @@
본 파일은 Inkling 의 버전별 사용자 영향 변경 사항을 기록한다.
형식은 [Keep a Changelog](https://keepachangelog.com/) 를 느슨하게 따른다.
+## [0.4.0] — 2026-05-15
+
+Notebooks + Lifecycle Simplification. 19일 dogfood 데이터 (archived 0건 / mlx-ops tag 가 사실상 컨텍스트 그룹 역할) 가 묶음 변경의 근거.
+
+### 추가
+
+- **Notebook 카테고리** — 좌측 사이드바 (Cmd+B / Ctrl+B 토글), 색 + count badge. notebooks 테이블 + notes.notebook_id FK RESTRICT. m008 마이그레이션이 default "기본" notebook 자동 생성 후 모든 기존 노트 배치.
+- **AI 자동 fit 매칭** — 매 capture 시 AI 가 prompt 의 notebooks 목록을 보고 best-fit 자동 배치 (응답의 notebook_match 필드). NoteCard 의 chip 으로 1-click 변경 가능.
+- **Promotion 제안** — 같은 tag 가 3건 이상 default notebook 에 누적되면 "새 notebook 으로 분리?" banner 표시. 24h snooze + 영구 dismiss 지원 (settings 의 promotion_snoozed_until_ms / promotion_dismissed_tags 영속화).
+- **사이드바 UX** — NotebookCreateModal (이름 + 6색 palette + 중복 검증), NotebookList (선택 highlight + count), 모달/사이드바 toggle 단축키.
+- **검색 scope 토글** — "이 노트북" / "모든 노트북" dropdown.
+
+### 변경
+
+- **lifecycle 3분기** — `archived` status 제거. 헤더 탭이 Inbox / 완료 / 휴지통 (3탭). MoveStatusModal 의 "보관" 옵션도 제거. classifyStatus 의 AI 응답이 archived 면 completed 로 coerce. ImportService 가 backward compat 위해 archived 노트 import 시 completed 로 변환.
+- **NoteRepository.findExpiredCandidates** 의 scope 가 inbox 만 → notebook 별 scope (Task 4 의 countByStatus 옵션 등 통합 효과).
+- selectedNotebookId 변경 시 list / counts 자동 refresh.
+
+### 게이트
+
+- 단위 테스트 851 PASS (m008 마이그레이션 / NotebookRepository / AI prompt + schema / AiWorker matching / store + settings 영속화 / Sidebar / NotebookCreateModal / PromotionBanner / NoteCard chip / SearchBox scope / archived 제거 회귀 가드).
+- typecheck 0 errors.
+- 신규 npm dependency 0.
+
+### 업그레이드
+
+v0.3.14 인스톨러 위에 v0.4.0 인스톨러를 같은 위치에 실행하면 in-place 업그레이드. m008 마이그레이션이 첫 launch 시 자동 실행되어 default notebook "기본" 생성 + 모든 기존 노트 배치.
+
## [0.3.14] — 2026-05-12 (force re-tag: 2026-05-14, 추가 dogfood fixes 7건)
### 추가 dogfood fixes (2026-05-14 force re-tag)
diff --git a/package.json b/package.json
index 21d0f0a..7009a87 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "inkling",
- "version": "0.3.14",
+ "version": "0.4.0",
"private": true,
"description": "Inkling — local-first 한 줄 보관 도구",
"author": "altair823 ",