변경 로그
Upvault 데스크톱 앱의 릴리스 노트 및 버전 히스토리.
추가
- 워크스페이스 파일함이 생겼습니다. 어떤 파일이든 워크스페이스에 두고 본인 Google Drive로 동기화한 뒤, 다른 기기에서는 필요할 때만 내려받습니다
- 파일함 파일을 AI 검색에 추가하거나, 파일은 그대로 두고 검색에서만 뺄 수 있습니다
- 파일함 파일의 이름을 바꿀 수 있습니다
- 파일함 파일을 원하는 위치에 저장합니다. 같은 이름이 있으면 먼저 확인하고, 저장한 뒤에는 열기와 폴더 열기를 바로 누를 수 있습니다
- 사이드바에서 Google Drive 사용 용량을 보여줍니다. 동기화 설정에서는 폴더별 내역까지 확인할 수 있습니다
- 대화 사이를 검색합니다. 다른 대화의 맥락을 AI가 가져와 답합니다
- 대화 안에서 메시지를 찾을 수 있습니다
- 설정에서 웹 검색 API 키를 등록합니다
- AI 아바타에 프로바이더 아이콘이 표시됩니다
변경
- 저장 형식이 바뀌었습니다(스키마 v46). 다른 기기를 이 버전으로 올린 다음 동기화하세요. 올리지 않으면 그 기기의 동기화가 멈춥니다
- 탐색기가 대화, 노트, 파일 순으로 보여주고 파일 행에 전송 진행률을 표시합니다
- Google Drive 파일 전송이 앱을 다시 켜거나 연결이 끊긴 뒤에도 멈춘 지점부터 이어집니다
버그 수정
- `@`로 붙인 문서의 내용을 불러오지 못했습니다
- CSV, XLSX, XLS 원본이 Google Drive에 올라가지 않았습니다
- 문서를 여러 개 한 번에 지우면 로컬 파일과 Drive 원본이 남았습니다
- 초기화해도 문서와 커스텀 모델 삭제가 다른 기기에 전달되지 않았습니다
- 문서 검색 결과에 원래 파일명 대신 내부 UUID가 보였습니다
- Ctrl+K에서 원래 파일명으로 문서를 찾지 못했습니다
- 동기화가 끝나도 문서 목록이 갱신되지 않았습니다
- 동기화 중 벡터 DB를 병합하다가 앱이 종료될 수 있었습니다
- 지운 폴더가 동기화 후 다시 나타났습니다
- 파일함 도입 전에 추가한 문서에 용량이 표시되지 않았습니다
- 탐색기의 색인됨 표시가 세로로 어긋났습니다
내부
- 로컬 MCP 서버 보안을 강화했습니다. 계정별 격리와 전송 검증 (D-14 A1 Step 1·2)
- 랜딩 페이지 스크린샷을 자동으로 찍습니다
추가
- 채팅 어시스턴트 정보(모델·프로바이더·컨텍스트) 표시
변경
- 동기화 관련 안정성 개선
변경
- AI 모델 목록 자동 새로고침 스케줄 도입 (프로바이더가 신규 모델을 배포하면 앱에서 자동 반영)
내부
- CI: 중복 캐시 제거, 검사 스코프를 MR로 한정하여 파이프라인 속도 개선
추가
- 재순위(Rerank) 파이프라인 — 검색·RAG 결과를 재정렬해 관련성 상위 문서 정확도 향상
- 새 검색 로직 (계층/필터 조합 강화)
변경
- Tiptap 에디터 디자인 리뉴얼 및 편집 세션 유지 개선
- 대규모 디자인 리뉴얼 마감 처리 (폰트·타스크바 등 최종 정리)
- PDF 파서 개선
버그 수정
- 배포 스크립트: main 푸시 실패 시 태그 푸시가 진행되지 않도록 가드
변경
- 소규모 안정화 릴리스
추가
- 신규 AI 프로바이더 추가
변경
- 디자인 리뉴얼 3차 — Spine card, Explorer, Folder, Header 등 주요 뷰 재설계
- 사이드바/헤더/토글 스위치 등 UI 컴포넌트 리디자인
버그 수정
- Spine card / CSS 관련 이슈 다수
변경
- 디자인 리뉴얼 — 폰트 시스템 통합 (DM Sans / DM Serif Display / JetBrains Mono / Pretendard / Noto Serif KR / D2Coding)
내부
- 릴리스 워크플로 하드닝 — GitLab CI main 락(v* 태그 push 후 CI 진행 중 main push가 403 나는 상황) 대응
- deploy.ps1: -Yes 비대화형 가드 강화
버그 수정
- 라이선스 오류 메시지 개선
- 채팅 에러 메시지 표시 버그
- 탭 스크롤 이슈
내부
- deploy.ps1에 -Yes/-Shutdown 플래그 (비대화형 배포 지원)
버그 수정
- 라이센스가 임의로 풀리는 오류 수정
- 토스트/확인 다이얼로그 UX 정리
버그 수정
- 토스트 관련 버그
- 배포 스크립트 정합성
내부
- Tauri JS API와 Rust crate 간 버전 정합화 (@tauri-apps/api, plugin-dialog)
추가
- 설정(Settings) 기능 확장
변경
- 4~5월 누적 개선 사항 반영
추가
- 에디터 UI 리디자인 Phase 1 — BubbleMenu(서식 9버튼 + AI 서브메뉴), Slash 커맨드 Placeholder, LinkEditPopover 정리
- 원격 모델 카탈로그 — R2에서 최신 모델 목록을 24시간 캐시로 자동 페칭 (22개 모델 기준)
- 문서 열람 UX 재설계 (Phase A) — TXT/MD 내장 뷰어, PDF/DOCX 안내 다이얼로그, 뷰 모드 4종
- Inbox 기능 (Phase A/B/C) — 시스템 워크스페이스로서의 Inbox, 전용 액션 바, AI 수동 분류 + Undo
- 노트 임포트 — TXT/MD 텍스트 파일을 노트로 가져오기 + Import Dialog
- 문서 원본 온디맨드 다운로드 — 다른 기기에서 업로드한 원본 파일을 필요할 때만 클라우드에서 다운로드
- 사이드바 폴더 호버 툴팁 — 폴더 내용 미리보기
- 마스터키 비활동 타임아웃 — 지정 시간 후 자동 잠금(0/5/15/30/60분), Lock Now 버튼
변경
- 하드코딩된 영어 문구 45키 × 9개 언어 i18n 정리
버그 수정
- 사이드바 폴더 이름 변경 시 Enter/Blur race condition, Escape 취소
- 폴더 호버 툴팁 stale 캐시
- 앱 재시작 후 Google Drive 토큰 미캐시
- 문서 클라우드 다운로드 실패
- Lance Pull merge 시 테이블 미존재로 복원 실패
- 임베딩 모델 설치 문제
추가
- CI/CD 정비 및 코드 서명(Certificate) — 정식 서명된 Windows 인스톨러 배포 시작
추가
- LanceDB 벡터 고아 정리 (M-6) — 만료 대화의 벡터 자동 삭제 + 3개 테이블 주기적 compaction
- Reconciliation 유틸 — 삭제된 소스와 벡터의 정합성 점검
- 문서·노트 관련 다수 개선
버그 수정
- 임베딩 모델 다운로드 이슈
- 문서 클라우드 다운로드 실패 (immutable_files 전환 + oplog 삭제 + Drive fallback)
- CI: curl --ssl-no-revoke 적용, node_modules 캐시 제외
추가
- 디바이스 관리 & 원격 비활성화 (EDGE-2-C) — 라이선스에 등록된 기기 목록 조회 + 원격에서 특정 기기 해제
- Google Drive OAuth 관리 강화 (M-3) — Production 승인 전환, 55분 주기 proactive refresh, invalid_grant 즉시 중단, 재인증 필요 시 앱 내 배너로 안내
- LLM 호출 안정성 (M-2) — 자동 제목/요약/메모리 추출 파이프라인의 429/5xx 대응 지수 백오프 3회 재시도
- 동기화 무결성 개선 (SYNC-D 시리즈) — Merkle BLAKE3 해시, drive_file_id 복제 해소, Lance Pull 시 로컬 전용 벡터 보존(source_file 기반 병합), Push 히스토리 50건 추적
- 코드 블록 "언어 + 복사" 바 (L-10) — 채팅·노트 에디터 모두 적용, Tab 들여쓰기 지원
버그 수정
- NSIS 훅 중복 정의 (hooks.nsh)
추가
- 동기화 완전 재설계 (SYNC-REDESIGN) — 모든 기기 항상 R/W, WriterLocker 제거, Union Merge, oplog.jsonl 통합, 5가지 상태(Synced/Syncing/Offline/Error/NotConnected) UX
- 결제 파이프라인 전체 (D-15-D) — Lemon Squeezy 라이선스 API 연동, 오프라인 Grace Period 7일, License 탭 UI, 디바이스 상태 표시, Standard→Premium 업그레이드 쿠폰
- 플랜 게이팅 Phase 2 (D-15-B) — Free 문서 50개 제한(단건·배치·폴더 3중 체크), UpgradePromptModal, 플랜 배지
- 온보딩 튜토리얼 재설계 (U-1) — Welcome 페이지 → 4스텝 TutorialCarousel, API 키 없이 앱 진입 가능, API 키 미설정 시 인라인 가이드 카드 + 자동 재전송
- 버튼 디자인 시스템 v1+v2 — 7 variant × 7 size, Depth 레이어 시스템, 앱 전역 ~38파일 ~80+ 버튼 통일
- 탐색기/폴더 우클릭 Upload Docs 항목
- 크로스디바이스 원격 문서 UX 3레이어 — 원본 파일 미존재 시 문서 패널 배너, 탐색기 CloudOff 뱃지, 업로드 인지 토스트
- 앱 종료 시 Graceful Shutdown 동기화 UX — 미푸시 변경 자동 감지 → 오버레이 → push → 종료
- 탭 컨텍스트 메뉴 — Close to the Left/Right, Pin 보호
- bge-m3 런타임 다운로드 UX 강화 (R-2) — 진행률 표시, RAG 무음 퇴화 방지, 캐시 경로 정규화
- 랜딩 페이지 인프라 — R2 정적 배포, 동적 버전 표시, 결제 오버레이, ToS + Refund Policy 9개 언어
- Auto Updater 정상화 (UPDATER-FIX) — R2 일원화, 파일명 동적 탐색, 태그-빌드 버전 가드
- Windows 아이콘 캐시 갱신 — 업데이트 후 SHChangeNotify 호출로 IconCache 강제 리프레시
- DEV-only 플랜 전환 기능 — Free/Standard/Premium 즉시 전환 (릴리스 빌드 미포함)
버그 수정
- 동기화 Critical Bug 4건 (SYNC-HOTFIX) — Pull 실패 시 Push 차단, fetch_remote_state 파싱 실패 처리, 첫 동기화 Pull-only 보호
- 이미지 동기화 (SYNC-IMG-FIX) — Pull 누락 + immutable 삭제 방어
- 디바이스 last_seen_at 미갱신 + 앱 시작 시 "Synced" 오표시
- Auto Sync가 OFF인데 앱 시작 시 자동 실행되는 버그
- 디바이스 중복 Instance 생성 버그 (D-15-D-FIX2)
- 손상된 Cargo.toml / package.json 복구
- 에러 토스트 UI 침범 (visibleToasts 제한, 고정 id로 중복 방지)
- 랜딩 모바일 반응형 깨짐
내부
- Supabase Edge Functions — 동적 Checkout API, 디바이스 매니저, LS 웹훅 → subscriptions
- CI curl 업로드 재시도 로직
- Checkout URL Standard/Premium 별도 UUID 분리
내부
- 사전 검증용 릴리스 후보 태그 (CI 파이프라인 동적 파일 감지 등 정비)
추가
- 에이전트 시스템 (2C-2) — 채팅 연동, temperature 프로바이더 릴레이, 프리셋 관리 UI, i18n 정리
- MCP Transport 추상화 + Streamable HTTP — stdio 안정성 강화 + HTTP 서버 지원 + SQLite 스토리지 마이그레이션 + Keyring 인증 토큰 저장
- Sync Batch A — 범용 파일 동기화 레이어, 실시간 dirty flag
- 채팅 기능 배치 — PDF 첨부(3사 네이티브 + 커스텀 폴백), 구간 선택 메모 저장, 이미지 갤러리
- AI 계층 검색 개선 + 검색 고도화(trigram FTS5, 3-way RRF, 2컬럼 미리보기, 필터 UI)
변경
- GLASS 디자인 시스템 적용
- UI/UX 리디자인 S1~S6 — 윈도우 매니저(FloatingPanel + PanelCanvas), shadcn/ui 도입, TaskBar 재설계, Explorer 패널, 고정(Docked) 레이아웃 모드
- Phosphor Icons 1차 교체
- 브레드크럼/Tools 팝오버 개선
버그 수정
- AI 계층 검색 관련 다수 QA 패치
- doc 패널 target_id 검증, cancel 후 불완전 메시지 저장, 워크스페이스 활성 표시 등 다수
추가
- 휴지통(Trash) — soft delete + TrashView + 복원, CASCADE로 인한 하위 데이터 손실 방지
- 데이터 초기화 (Factory Reset) — 8개 카테고리 개별 선택형 초기화
변경
- UI 개선 다수, QA 패치
버그 수정
- Clippy manual_flatten 등
버그 수정
- CI/CD 릴리즈 다운로드 404 근본 해결 — GitLab Generic Packages Registry로 전환
- .nsis.zip 미생성 근본 원인 해결 — createUpdaterArtifacts 추가
- CI 빌드에 서명 키 진단 + updater zip 검증
버그 수정
- 버전 표시, 배포 빌드 이슈 3건
보안
- PAT(Personal Access Token) 취급 개선
추가
- 채팅 이미지 첨부 — Ctrl+V / 파일 선택 / 드래그앤드롭, 프로바이더별 multimodal 라우팅
- Q&A 쌍 메모 저장 — 📌 질문 자동 포함, blockquote 포맷
- 사이드바 대화/메모 뷰 전환 — 세그먼트 컨트롤
- 문서 청크 미리보기 확장 — Split View, 유사도 스코어, 참조 뱃지
- 모델 관리 고도화 — Capabilities 태그, DnD 정렬, 비용 대시보드, 프리셋 프로바이더 9종
- Supabase Auth (Google/GitHub) 완성 — PKCE + localhost 콜백, 자동 갱신, 프로필 UI
변경
- RAG 자동화 (2C-RAG-FIX) — useRag 기본 true, delete-before-ingest, search_documents 도구 개선
- chunks 용어 제거 및 직관적 표현으로 교체 (2C-CHUNK-UX)
- 워크스페이스 → 폴더 용어 통일 (i18n 5개 언어)
- 색상 시스템을 쿨톤 + 깊은 보라 액센트로 전환
- 폰트 크기를 업계 표준으로 통일
- 사이드바/설정 레이아웃 리팩터링 (보더 제거, 3분할 배치)
- ChatHeader 재설계 및 입력창 하단 바 통합
버그 수정
- 노트 이미지 파이프라인 근본 재설계 (2C-IMG-FIX3) — race condition, 원자성, 상대 경로, 삭제 정리
- OAuth state 충돌 (PKCE가 CSRF 보호 담당)
- Clippy 린트 8건
추가
- Tiptap WYSIWYG 노트 에디터 도입
- 크로스디바이스 동기화 (Phase 2B) — Google Drive 백엔드, SQLite Union Merge, Sync UX
- 영속적 컨텍스트 (2B-3/4) — 대화 자동 요약, 메모리 자동 추출, forget_note, 시맨틱 검색
- 시맨틱 대화 검색 (2B-5) — FTS5 + LanceDB 하이브리드, 검색 모달 리디자인
- 동적 모델 레지스트리 (2C-1) — 커스텀 프로바이더 등록, /v1/models 자동 페칭
- "Soft Depth" 테마 — CSS 변수 체계(--v-*), 색상 팔레트, 사이드바 트리
- 탭 바 — 임시/고정 탭, 사이드바 확장 상태 Zustand 이관
- 수동 업데이트 기능
변경
- 그라데이션 보더, 웰컴 카드, 코드 블록 등 채팅 UI 클린업
- 폴더 접기, 새 워크스페이스 대화, 노트 패널, Sync 용어
버그 수정
- Clippy type_complexity 경고
- CI 캐시 오염 방지
추가
- 워크스페이스 계층 구조 (3단계)
- 메모 CRUD + AES-256-GCM 암호화
- @멘션 컨텍스트 선택 — 입력창에서 문서/메모 직접 지정
- 대화 → 메모 변환 (📌 저장)
- AI 내장 도구 (검색, 문서 조회 등)
- 토큰/비용 실시간 표시 (BYOK 차별화)
- 대화 영속화 (SQLite) + 자동 제목 + FTS5 검색 + 사이드바 실데이터 + Ctrl+K 검색 모달
- OOBE 온보딩 + API 키 신뢰 UI
- GitLab CI/CD + NSIS 인스톨러 + Auto Updater
추가
- 최초 알파 배포 — MVP (Phase 1) 완료
- 멀티모델 채팅 (BYOK) — Claude, GPT 스트리밍 (Gemini 코드 완료)
- 로컬 벡터 DB — LanceDB 기반 대화/문서 벡터화 및 검색
- 로컬 임베딩 — bge-m3 CPU 실행, 다국어 지원 (30~86ms/청크)
- 기본 RAG — TXT/MD/HTML/PDF/DOCX 업로드 → 청킹 → 임베딩 → 검색 → 응답
- MCP 기본 통합 — stdio 서버, 3사(Claude/GPT/Gemini) Tool Use 오케스트레이션, 파일시스템 서버(14개 도구) 실테스트
- 3단 레이아웃 + 채팅 코어(스트리밍 + Markdown + ToolCall) + 설정/MCP/RAG UI + ModelSelector