This release adds 3 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+12 more
Summary
AI summarySVN working copy support added as opt‑in, push dialog revamped to SourceTree style, desktop builds now auto‑update via GitHub Releases.
Full changelog
v0.2.5 — SVN 작업 사본 패널, SourceTree 스타일 멀티 브랜치 Push, Electron 자동 업데이트 + 한글 IME 복구
릴리즈 일자: 2026-05-05
이전 버전: v0.2.4
요약 (TL;DR)
- SVN 워킹 카피 지원이 opt-in으로 추가됐습니다. 프로젝트 설정의 Enable SVN 체크박스를 켜면 git 패널과 동일한 레이아웃의 SVN 패널(파일 상태 / 히스토리 / 커밋 / Update / Resolve)이 활성화됩니다. 안 켠 사용자는 추가 UI나
svn프로세스를 일절 보지 않습니다. - Push 버튼이 SourceTree 스타일 다이얼로그로 바뀌었습니다. 원격 선택, 여러 브랜치 동시 push, 태그 동기화(
--tags), 강제 push(--force-with-lease), 새 브랜치 upstream 추적까지 GUI에서 종결됩니다. - 데스크톱 빌드(.exe / .dmg / .AppImage)가 자동 업데이트됩니다. 다음 릴리즈부터 GitHub Releases를 자동으로 체크하고 백그라운드에서 받아 "지금 재시작 / 나중에"를 묻습니다. v0.2.4 사용자는 이번에 한 번만 수동 설치하면 그 이후로는 자동.
- Windows EXE에서 한글 IME가 죽는 두 케이스 복구: (1) 세션을 한 번 사용한 뒤 SessionForm 클릭 시 캐럿이 활성화되지 않던 문제, (2) 잠금화면/스크린세이버 해제 후 모든 입력이 데드되던 문제.
주요 변경
Opt-in SVN 작업 사본 패널 (선택)
git이 아닌 SVN 워킹 카피로 굴러가는 프로젝트(사내 / 게임 업계 등)를 위한 SVN 지원이 추가됐습니다.
- opt-in per project: 프로젝트 설정에서 Enable SVN을 켜면 그제서야
.svn/검출이 돌아갑니다. SVN을 안 쓰는 사용자는 추가 UI / 라우트 /svn프로세스 스폰을 절대 보지 않음 (기본 OFF). - 레이아웃은 git 패널과 동일: 좌측 사이드바에서 File Status / History 뷰 전환. 파일 상태 뷰는 멀티 셀렉트 + Refresh / Update / Add / Revert / Delete / Resolve 액션 + 작업 사본 diff + Cmd/Ctrl+Enter 커밋 텍스트영역. 히스토리 뷰는 리비전 목록 + 각 리비전의 변경 파일 + 파일별 diff.
- 컴포넌트 재사용: 서버 측에서 SVN status를 git porcelain 모양으로 정규화하므로 기존
DiffViewer/ 파일 리스트가 분기 없이 그대로 동작합니다. - 인코딩 안전: 모든 svn 호출에
LC_ALL=en_US.UTF-8+--non-interactive강제 — 한글/CJK/이모지 파일명도 깨지지 않으며, 자격증명 프롬프트 hang은 차단됨. - 충돌 해결:
accept옵션 4종(working/mine-full/theirs-full/base). - svn 미설치 시: 패널 상단에 "svn 명령어를 설치해주세요" 배너가 뜹니다 (TortoiseSVN의 command-line client 또는
apt install subversion/brew install subversion).
SVN 프로젝트는 phase 1에서 단일 공유 워킹 카피만 지원하므로, Todo / Discussion / Session이 자동으로 직렬 실행(
max_concurrent=1)됩니다. 향후.worktrees/<wc>/checkout copy 격리는 phase-2로 분리.
SourceTree 스타일 멀티 브랜치 Push 다이얼로그
기존 Push 툴바 버튼은 한 번 누르면 곧장 현재 브랜치를 origin으로 밀어내는 단일 동작이라, 다음 시나리오에선 사용자가 다시 터미널로 돌아가야 했습니다 — (1) 태그 동기화, (2) 여러 브랜치를 한 번에 밀기, (3) 처음 push 하는 새 브랜치에 upstream 설정, (4) 강제 push.
이번 버전부터 Push 버튼은 SourceTree와 같은 다이얼로그를 엽니다:
- 원격 선택: 드롭다운으로 원격(
origin등)을 고르고 URL 확인. - 브랜치 테이블: 4컬럼 —
Push?체크박스 / 로컬 브랜치명 / 원격 브랜치 select(직접 입력 fallback) /Track?upstream 토글. 헤더Select all로 전체 on/off. - 태그 동기화:
Push all tags를 켜면 같은 호출에--tags부착. - 강제 Push:
Force push토글 — 항상--force-with-lease로 동작해서 stale한 로컬 뷰가 원격을 덮을 수 없습니다. 다른 사람이 같은 브랜치에 push 했으면 거절되며, fetch 후 재시도하라고 안내. - 새 브랜치 + upstream: 처음 push 하는 브랜치에
Track?를 켜두면 별도의git push -u로 분리 호출되어 upstream이 자동 설정됨.
레거시 콜러(post-commit auto-push, 컨텍스트 메뉴 Push 등)는 서버 라우트에서 자동 어댑팅되므로 그대로 동작합니다.
데스크톱 자동 업데이트 (electron-updater)
기존 데스크톱 빌드(.exe / .dmg / .AppImage)는 자동 업데이트 경로가 없어서 사용자가 매번 setup을 수동 다운로드해야 했고, stale한 설치본이 조용히 계속 돌아갔습니다. 이번 버전부터:
- 자동 백그라운드 업데이트:
app.isPackaged인 데스크톱 빌드만 — 윈도우 생성 5초 후 첫 GitHub Releases 체크(런치 UX 비차단), 백그라운드 다운로드. - 다운로드 완료 시 프롬프트: "지금 재시작 / 나중에" 다이얼로그. 나중에 선택 시 다음 종료 시점에 자동 설치(
autoInstallOnAppQuit). - 수동 체크: Help 메뉴에 업데이트 확인 항목 추가 — 백그라운드 체크가 실패해도 다시 트리거 가능, 결과를 다이얼로그로 노출.
- 인프라 변경 0:
release.yml이 이미electron-builder --publish always로latest.yml+ blockmap을 업로드하고 있어 워크플로 변경 없음.
v0.2.4 사용자는 이번 한 번만 수동으로 setup.exe를 받아 설치하셔야 자동 업데이트 와이어링이 들어갑니다. 그 이후 릴리즈부터는 자동 적용.
Windows EXE 한글 IME 복구
세션을 한 번 사용한 뒤 SessionForm 입력 필드를 클릭해도 캐럿이 활성화되지 않던 문제, 그리고 잠금화면/스크린세이버 해제 후 모든 입력이 데드되던 문제를 함께 잡았습니다.
- 세션 사용 후 SessionForm 클릭 무반응: xterm의 helper textarea가 native HWND 키보드 포커스를 점유한 채 놓아주지 않아, React
autoFocus로는 DOM 포커스만 옮기고 OS 레벨 캐럿이 따라오지 않던 문제. SessionForm mount 시점에 main 프로세스의webContents.focus()를 IPC로 호출해서 OS 레벨 포커스를 강제 회수, 두 RAF 뒤 타이틀 입력에 포커스를 옮기는 식으로 해결. 폼 사용 동안엔 모든 xterm helper textarea를 포커스 traversal에서 park. - 잠금화면/스크린세이버 복귀 후 입력 데드: BrowserWindow는 활성화되지만 webContents로 native 포커스가 돌아오지 않던 문제. 모든 윈도우 활성화 이벤트(
focusevent)에서webContents.focus()를 무조건 다시 호출해 OS-level focus를 routing.
두 fix 모두 Windows에 영향, Linux/macOS에는 무관(둘 다 native focus를 자동으로 webContents로 routing).
마이그레이션
별도 마이그레이션 작업 불필요. 다만:
- 데스크톱 앱(v0.2.4) 사용자: 이번 한 번만 GitHub Release의 setup.exe / .dmg / .AppImage를 받아 수동 설치해야 자동 업데이트 와이어링이 들어갑니다. 이후 릴리즈는 자동.
- SVN 프로젝트 추가하려면: 프로젝트 설정 → Enable SVN 체크. 호스트에
svn바이너리가 없으면 패널이 설치 안내 배너를 띄워줍니다. - DB 마이그레이션 자동:
projects.vcs_type/svn_enabled/is_svn_wc컬럼이 자동 추가됩니다. 기존 git 프로젝트는vcs_type='git'으로 backfill — 별도 작업 불요.
설치 / 업데이트
npm i -g [email protected]
데스크탑 앱: GitHub Release 자산의 .exe / .dmg / .AppImage 사용. v0.2.4에서 업그레이드하는 데스크톱 사용자는 이번에 한 번만 수동 설치, 이후엔 자동.
전체 커밋 목록
- 06d0e83 WIP(docs): document SVN panel, multi-branch push, and Electron polish
- aa97f07 feat(electron): wire electron-updater for GitHub Releases auto-update
- 4c935e4 fix(svn): add missing is_svn_wc migration entry
- d872ebf feat(svn): add opt-in SVN working-copy panel with file status, log, and commit UI
- 75cda44 fix(electron): refocus webContents on window focus to recover from screensaver
- 6c63ed0 feat: session 8-way resize + Korean IME focus + settings version
- 3b3eddc feat(git): add SourceTree-style multi-branch push dialog
관련 문서
- 상세 changelog — 날짜별 기술 결정 기록 (특히 2026-05-05-1 ~ 2026-05-05-3)
Full Changelog: https://github.com/HyperAITeam/CLITrigger/compare/v0.2.4...v0.2.5
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About CLITrigger
Self-hosted web UI for orchestrating Claude Code, Codex, and Gemini CLIs in parallel git worktrees. Features multi-agent discussion mode (architect/developer/reviewer debate before implementation), cross-project Morning Review Queue, scheduled execution with rate-limit auto-recovery, and a built-in Git client. MIT.
Related context
Related tools
Beta — feedback welcome: [email protected]