Changelog

변경 이력Version history 버전별 주요 변경사항 · Keep a Changelog · SemVerNotable changes by release · Keep a Changelog · SemVer

wowTerminal의 버전별 주요 변경사항입니다. 분류: 추가 · 변경 · 수정 · 제거. Notable changes in each wowTerminal release. Categories: Added · Changed · Fixed · Removed.

미배포Unreleased

현재 미배포 변경사항 없음No unreleased changes at this time

0.20.8 2026-07-15 최신latest
추가Added
  • 파일 브라우저: 폴더 전체 전송(재귀적 업/다운로드)과 파일·폴더 다중 선택 — Cmd/Ctrl+클릭으로 토글, Shift+클릭으로 범위 선택. ←/→ 버튼과 컨텍스트 메뉴가 선택 전체에 대해 동작.File browser: transfer whole folders (recursive up/download) and multi-select files/folders — Cmd/Ctrl+click to toggle, Shift+click for a range; the ← / → buttons and context menu act on the entire selection. #135
수정Fixed
  • 파일 브라우저: 이름 바꾸기·새 폴더·새 파일이 더 이상 멈추지 않음 — 브라우저 `prompt()` 대화상자(Tauri WKWebView에서 미지원)를 앱 내 입력 모달로 교체.File browser: Rename / New folder / New file no longer freeze — the browser prompt() dialog (unsupported in Tauri's WKWebView) was replaced with an in-app input modal. #134
0.20.7 2026-07-15
수정Fixed
  • macOS 한글 입력: 머신의 IME가 229-only 동작으로 되돌아간 상태(macOS·입력 소스 변경 후)에서 이전에 저장된 조합 감지 래치가 커스텀 미러를 영구적으로 꺼두는 바람에 자모가 낱개로 입력되던 문제. 이제 세션 내내 조합이 한 번도 시작되지 않았는데 출력 가능한 IME 키가 쌓이면, 그 시점부터 미러가 스스로 복구되어 다시 켜집니다.macOS Korean input: jamo were typed separately when the machine's IME reverted to 229-only behavior (after a macOS/input-source change) while a previously saved composition-detection latch kept the custom mirror permanently off. The stale latch now self-heals — if no composition ever starts in a session but printable IME keys accumulate, the mirror re-engages from that keystroke. #133
0.20.6 2026-07-14
수정Fixed
  • LLM 백엔드를 추가·수정·삭제하면 이제 열려 있는 모든 탭의 AI 패널이 즉시 갱신됩니다 — 이전에는 설정을 연 탭에만 반영되고, 새 탭을 열어야만 적용됐습니다.Adding/editing/deleting an LLM backend now updates the AI panel in all open tabs immediately — previously only the tab that opened the settings saw the change until a new tab was opened. #132
0.20.5 2026-07-13
수정Fixed
  • AI 패널: ▶ 터미널로 전송을 클릭한 뒤 Enter를 누르면 같은 명령이 다시 입력되던 문제 수정(포커스가 버튼에 남아있었음). 이제 포커스가 터미널 패인으로 이동해 Enter로 바로 실행됩니다.AI panel: after clicking ▶ Send to terminal, pressing Enter re-inserted the same command (focus stayed on the button). Focus now moves to the terminal pane, so Enter runs the command immediately. #131
0.20.4 2026-07-12
추가Added
  • AI 패널: 🧠 드롭다운으로 세션별 사고력(reasoning effort)을 오버라이드 — auto(백엔드 설정 사용) 또는 minimal/low/medium/high/max. 값이 그대로 전달되어 GLM의 max, OpenAI의 minimal 등 제공자별 단계도 사용 가능하며, 백엔드 등록 필드도 자유 입력(제안 포함) 방식으로 변경.AI panel: a 🧠 dropdown overrides the reasoning effort per session (auto = backend setting, or minimal/low/medium/high/max). Values are passed through verbatim, so provider-specific levels (e.g. GLM's max, OpenAI's minimal) work; the backend registration field is now free-form with suggestions. #129
수정Fixed
  • AI 패널: 응답 생성 중 +(새 대화)를 누르면 화면이 멈춘 것처럼 보이던 문제 수정 — 진행 중이던 스트림이 지워진 패널 위에 이전 대화를 계속 다시 그리고 있었음. + 클릭 또는 세션 전환 후에는 뒤늦게 도착하는 스트림 콜백을 무시하도록 수정.AI panel: pressing + (new chat) during an active generation looked dead — the in-flight stream kept repainting the old conversation over the cleared panel. Late stream callbacks are now dropped after + or switching sessions. #130
  • AI: 백엔드 레벨 사고력(reasoning effort, #123)이 스트리밍 경로에 적용되지 않던 문제 수정 — AI 패널은 모든 요청을 스트리밍하므로 설정이 조용히 무시되고 있었음. 이제 두 경로 모두에 주입됨.AI: the backend-level reasoning effort (#123) was never applied on the streaming path — the AI panel streams all requests, so the setting silently did nothing. Now injected on both paths. #129
0.20.3 2026-07-12
추가Added
  • AI 백엔드 프리셋 — Ollama Cloud(https://ollama.com/v1)와 LM Studio(로컬, http://localhost:1234/v1). 둘 다 OpenAI 호환이며, base URL을 직접 입력하지 않고 프리셋 드롭다운에서 선택.AI backend presets for Ollama Cloud (https://ollama.com/v1) and LM Studio (local, http://localhost:1234/v1) — both OpenAI-compatible, pick from the preset dropdown instead of typing the base URL. #128
변경Changed
  • 인라인 자동완성을 /End 대신 Tab으로 수락하도록 변경 — 기존 방식은 일반 커서 이동과 충돌했음. 제안이 떠 있을 때만 Tab이 수락하고, 없으면 일반 셸 완성으로 넘어감; /End는 다시 순수한 커서 이동으로 동작.Inline autocomplete is now accepted with Tab instead of /End (which collided with plain cursor movement). Tab accepts when a suggestion is showing, otherwise it falls through to normal shell completion; /End are pure cursor movement again. #127
0.20.2 2026-07-03
추가Added
  • 탭바 방향키 탐색 — 탭을 클릭해 포커스를 준 뒤 /로 탭을 전환(포커스는 탭바에 유지되며 다른 탭 단축키도 그대로 동작).Tab bar arrow-key navigation — click a tab to focus it, then switch between tabs with the / arrow keys (focus stays on the tab bar; other tab shortcuts still work). #125
수정Fixed
  • 탭이 많이 열려 있을 때 탭바 오버플로 문제 수정 — 탭이 화면에 맞게 축소되고, 마우스 휠로 탭바를 가로 스크롤(부드러운 관성), 활성 탭이 자동으로 화면 안으로 스크롤되며, 스크롤 중 탭 라벨이 선택되지 않음. 이전에는 오른쪽 끝을 넘어간 탭에 접근할 수 없었음.Tab bar with many tabs open: tabs now shrink to fit and the mouse wheel scrolls the bar horizontally (smooth inertia), the active tab auto-scrolls into view, and tab labels no longer get selected while scrolling — previously tabs past the right edge were unreachable. #124
  • SSH 재접속 시 이전 화면의 잔상 위에 새 세션이 겹쳐 그려지던 문제 수정 — 재접속 시 터미널 버퍼를 지움(tmux는 attach가 다시 그려주므로 그대로 동작).SSH reconnect no longer draws the new session on top of the old screen's leftover content — the terminal buffer is cleared on reconnect (tmux still redraws itself via attach). #126
0.20.1 2026-06-29
추가Added
  • 인라인 자동완성이 내장 플래그·서브명령 사전(git·docker·claude·kubectl·npm·systemctl·ssh·apt·cargo)으로 제안 — 예: claude --dangerou 입력 시 claude --dangerously-skip-permissions을 → 로 수락. SSH 원격에서도 동작(명령 실행 없음).Inline autocomplete now suggests flags and subcommands from a built-in dictionary (git, docker, claude, kubectl, npm, systemctl, ssh, apt, cargo) — e.g. typing claude --dangerou suggests claude --dangerously-skip-permissions to accept with →. Works over SSH too (no command execution). #122
  • LLM 백엔드에 사고력(reasoning effort) 설정 추가 — low·medium·high 중 선택(o1·o3·gpt-5 등 추론 모델용; 일반 모델은 비워 두면 됨).LLM backends can now set a reasoning effort (low / medium / high) for reasoning models (o1, o3, gpt-5); leave it off for regular models. #123
수정Fixed
  • SSH 첫 접속 호스트 키 다이얼로그를 이제 Enter로 수락할 수 있음(Esc로 취소) — 마우스 클릭 없이 키보드만으로 비밀번호 로그인 흐름을 완료.The SSH first-contact host-key dialog can now be confirmed with Enter (Esc to cancel) — no mouse click needed, so a password login flow completes with just the keyboard. #121
0.20.0 2026-06-25
추가Added
  • 호스트 목록 그룹을 클릭해 접기/펴기 — 그룹 헤더를 클릭하면 해당 그룹의 호스트가 숨겨집니다. 상태는 재시작 후에도 그룹별로 유지되며, 화살표(▶/▼)가 더 크고 명확하게 표시·클릭 가능 (기존에는 작은 장식용 ▾).Host list groups can now be collapsed/expanded: click the group header to fold its hosts away. The state is remembered per group across restarts, and the chevron (▶/▼) is larger and clearly visible/clickable (previously a tiny non-functional ▾). #120
0.19.2 2026-06-25
수정Fixed
  • macOS: 사설망 호스트(예: 192.168.x.x)로의 SSH/SFTP 접속이 "No route to host"로 실패하던 문제 수정. 앱 번들에 NSLocalNetworkUsageDescription을 추가해 macOS가 로컬 네트워크 권한 프롬프트를 표시하고 시스템 설정 → 개인정보 보호 및 보안 → 로컬 네트워크에 앱을 등록 — 기존에는 LAN 연결이 조용히 차단됐음. 기존 설치 사용자: 해당 설정에서 wowTerminal을 한 번 켜면 됩니다.macOS: SSH/SFTP connections to local-network hosts (e.g. 192.168.x.x) no longer fail with "No route to host". The app bundle now declares NSLocalNetworkUsageDescription, so macOS shows the Local Network permission prompt and registers the app under System Settings → Privacy & Security → Local Network instead of silently blocking LAN connections. Existing installs: enable wowTerminal there once. #119
0.19.1 2026-06-24
수정Fixed
  • 보안: sudo, ssh, passwd, ssh-key passphrase 등 비밀번호 프롬프트에서 입력한 비밀번호가 명령 히스토리·인라인 자동완성(Ctrl+R 포함)에 기록되지 않음. 터미널이 출력에서 비밀번호 프롬프트를 감지해 해당 입력 라인을 히스토리·제안에서 제외.Security: passwords typed at prompts (sudo, ssh, passwd, ssh-key passphrase) no longer leak into the command history or inline autocomplete. The terminal now detects password prompts from the output and excludes that input line from history and suggestions. #118
0.19.0 2026-06-24
추가Added
  • Settings → Shortcuts에서 더 많은 액션을 재지정할 수 있음: 커맨드 팔레트(기존 고정 ⌘K), 설정 열기, 대시보드 열기, tmux 세션 선택, 포트 포워딩, 입력 브로드캐스트 토글, 파일 브라우저 열기.More actions are now rebindable in Settings → Shortcuts: the command palette (previously a fixed ⌘K), open settings, open dashboard, tmux session picker, port forwarding, toggle input broadcast, and open file browser. #116
  • 설정 다이얼로그가 완전히 키보드로 탐색 가능해짐: Tab 포커스 트랩 + 포커스 링, ↓로 탭 스트립에서 컨트롤로 이동(및 다음 컨트롤로 이동), ↑로 뒤로(탭으로 나가기), ←/→로 탭 전환, Tab으로 모든 컨트롤 순환.Settings are now fully keyboard-navigable: the dialog traps Tab focus and shows a visible focus ring, ↓ moves from the tab strip into the controls (and to the next control), ↑ moves back up (and out to the tabs), ←/→ switch tabs, and Tab cycles every control. #117
0.18.1 2026-06-23
변경Changed
  • 앱 번들 식별자가 com.oopnwow.wowterminal으로 변경됨(기존: com.wowterminal.app) — 프로젝트 자체 도메인 기반의 올바른 reverse-DNS 식별자이며, 데스크탑·iPad(iOS)·Android가 공유. 앱 데이터/설정은 번들 ID가 아닌 wowterminal 경로에 저장되므로 macOS 설정은 그대로 유지됨. Windows는 다음 업데이트 시 기존 항목 옆에 별도 설치될 수 있음(일회성).App bundle identifier is now com.oopnwow.wowterminal (was com.wowterminal.app) — a proper reverse-DNS identifier under the project's own domain, shared by desktop, iPad (iOS) and Android. App data/settings are stored under the wowterminal path (not the bundle ID), so macOS settings carry over; on Windows the next update may install alongside the old entry rather than upgrading in place (one-time). #114
수정Fixed
  • iPad(iOS) 및 Android 앱 아이콘이 기본 Tauri 로고 대신 wowTerminal 아이콘으로 변경됨.iPad (iOS) and Android app icons now use the wowTerminal icon instead of the default Tauri logo. #114
  • 모바일에서 가져오기/내보내기 시 iCloud 등 외부 위치의 파일을 선택하면 "no such file or directory" 오류가 발생하던 문제 수정 — 선택된 파일이 보안-스코프 URL이라 데스크탑 파일 경로 읽기로는 열 수 없었음; 모바일은 이제 filesystem 플러그인을 통해 읽기/쓰기하여 스코프를 처리함.Import/export on mobile no longer fails with "no such file or directory" when picking a file from iCloud or another external location. The picked file is a security-scoped URL that the desktop file-path read could not open; mobile now reads/writes it via the filesystem plugin, which handles the scope. #114
  • 가져온 호스트/그룹/태그/LLM 백엔드가 이제 즉시 반영됨 — 기존에는 앱을 재시작해야만 적용됐음(데스크탑·모바일).Imported hosts/groups/tags/LLM backends now appear immediately — previously the import only took effect after restarting the app (desktop and mobile). #114
  • 모바일에서 호스트 목록을 길게 눌러도 텍스트가 선택되지 않음(호스트 정보·그룹 이름); 행 액션 버튼(삭제 포함)이 커져 탭하기 쉬워짐; 목록을 드래그해도 rubber-band 바운스가 없어짐.Mobile: long-pressing the host list no longer selects the text (host info and group names); the row action buttons (incl. delete) are larger and easier to tap; and the list no longer rubber-band-bounces when dragged. #114
0.18.0 2026-06-23
추가Added
  • 모바일(iPad/Android) 터치 UI: 키보드 위 온스크린 키바(Esc · Tab · 방향키 · ⌃C/D/Z/R/L · Home/End/PgUp/PgDn · 셸 기호, 다음 입력 글자를 제어문자로 전송하는 스티키 Ctrl 모디파이어)와, 호스트 목록·AI 패널을 좁은 고정 컬럼 대신 슬라이드오버 시트로 여는 상단 툴바. 데스크탑 레이아웃은 변경 없음.Mobile (iPad/Android) touch UI: an on-screen key bar above the keyboard (Esc · Tab · arrows · ⌃C/D/Z/R/L · Home/End/PgUp/PgDn · shell symbols, plus a sticky Ctrl modifier that turns the next typed letter into a control sequence), and a top toolbar that opens the host list and AI panel as slide-over sheets instead of cramped fixed columns. Desktop layout is unchanged. #114
0.17.1 2026-06-22
수정Fixed
  • 시작 시 rustls 암호화 프로바이더를 명시적으로 설치하여, 의존성 트리에 둘 이상의 프로바이더(ring / aws-lc-rs)가 있을 때 발생할 수 있는 TLS 초기화 패닉을 방지.Install the rustls crypto provider explicitly at startup, preventing a possible TLS-init panic when more than one provider (ring / aws-lc-rs) is present in the dependency tree. #114
0.17.0 2026-06-22
추가Added
  • 터미널 삭제 단축키 추가: Option/Alt + Delete는 이전 단어를 삭제(ESC+DEL 전송 → readline backward-kill-word), Cmd + Delete는 줄 전체를 삭제(Ctrl-U 전송). 전 플랫폼 공통.Terminal deletion shortcuts: Option/Alt + Delete deletes the previous word (sends ESC+DEL → readline backward-kill-word), and Cmd + Delete clears the whole line (sends Ctrl-U). Works on all platforms. #112
0.16.3 2026-06-21
수정Fixed
  • 전체화면 TUI 앱(vim, Claude Code, less 등) 안에서 인라인 히스토리 자동 제안이 더 이상 활성화되지 않음. 이러한 앱은 대체 화면 버퍼(alternate screen buffer)를 사용하므로, 대체 버퍼 안에서는 줄 추적과 /End 수락이 일시 중지 — 키가 앱으로 전달됨. 셸 프롬프트로 돌아오면 →/End로 제안 수락은 종전과 동일하게 동작.Inline history autosuggestion no longer activates inside full-screen TUI apps (vim, Claude Code, less, …). Those apps use the alternate screen buffer, where line tracking and the /End accept now pause — so those keys reach the app instead of accepting a stale suggestion. Back at the shell prompt, →/End still accept the suggestion as before. #110
0.16.2 2026-06-19
수정Fixed
  • 로컬 셸: 백스페이스가 스페이스처럼 동작하고 한글 자모가 누적되는 오랜 버그의 근본 원인 수정 — 로컬 PTY가 TERM 환경변수 없이 시작됐음. portable-pty가 TERM을 설정하지 않고, Finder/Dock에서 앱을 열면 GUI 프로세스에도 TERM이 없어 zsh가 커서를 왼쪽으로 이동할 수 없어 백스페이스가 공백으로 그려짐. 로컬 PTY 생성 시 이제 TERM=xterm-256colorCOLORTERM=truecolor를 명시적으로 설정. SSH는 pty-req로 이미 올바른 터미널 타입을 전송하므로 영향 없음. 메인테이너는 터미널 경유 실행으로 TERM을 상속해 항상 정상이었음 — Finder 실행 사용자만 영향.Local shell: fixed the long-standing bug where Backspace acted like Space and Korean input piled up jamo — the root cause was the local PTY starting without a TERM variable: portable-pty doesn't set one, and when the app is launched from Finder/Dock the GUI process has no TERM to inherit. With TERM unset, zsh can't move the cursor left and redraws Backspace as spaces. The local PTY now sets TERM=xterm-256color and COLORTERM=truecolor. SSH already sent a proper terminal type and is unaffected. This is why it always worked for the maintainer (terminal-launched, TERM inherited) but broke for users opening from Finder. #109
0.16.1 2026-06-19
수정Fixed
  • Windows: 소수 배율(예: 150%)에서 터미널 커서가 텍스트 위에 그려지는 문제 — xterm WebGL 렌더러가 셀 높이를 정수 픽셀로 반올림해 소수 devicePixelRatio에서 커서·글자 레이어가 어긋남. 이제 정수 DPR일 때만 WebGL을 사용하고, 소수 DPR(예: 150%, 125%)은 DOM 렌더러로 폴백(커서가 글자와 정렬됨). macOS·Linux 및 Windows 100%/200% 배율은 영향 없음.Windows: the terminal cursor was drawn above the text at fractional display scaling (e.g. 150%). The xterm WebGL renderer rounds cell height to integer device pixels, so at a fractional devicePixelRatio the cursor and glyph layers misalign. WebGL is now used only at integer DPR; at fractional DPR the app falls back to the DOM renderer (cursor stays aligned with the text). Mac/Linux and Windows at 100%/200% are unaffected. #108
0.16.0 2026-06-18
추가Added
  • 호스트 리스트 키보드 방향키 탐색 — /로 표시된 순서(그룹 순→미분류)로 이동하며 행 자동 스크롤, Home/End로 처음/끝, Enter로 더블클릭(새 탭 열기)과 동일하게 동작. 검색창에서 를 누르면 리스트로 포커스 이동. 리스트 클릭 시 포커스도 리스트로 이동해 바로 방향키 사용 가능. 전역 핸들러가 아니라 컨테이너 스코프라 터미널 입력과 충돌 없음.Host list keyboard navigation — / move the selection through the visible hosts in on-screen order and scroll the row into view, Home/End jump to first/last, Enter opens the selected host in a new tab (same as double-click). Pressing in the search box drops focus into the list; clicking a row also focuses the list so arrow keys work right away. Scoped to the list container — no conflict with terminal input. #105
  • 내보내기/가져오기에 LLM 백엔드 설정 포함 — 설정 → 가져오기/내보내기에서 SSH 호스트·그룹·태그와 함께 LLM 백엔드 설정을 내보내고 가져올 수 있음. API 키는 키체인에 보관되어 내보내기에 포함되지 않으며, 가져온 후 재입력 필요. 내보내기 라벨·시크릿 안내·완료 메시지에 백엔드 포함 여부 반영.Import/Export now includes LLM backend configurations (Settings → Import/Export), alongside SSH hosts, groups, and tags. Backends are exported without their API key (keys stay in the keychain); after importing, re-enter the API key for any authenticated backend. The export label, secrets note, and result message all reflect this. #106
  • 인라인 자동완성 기본 시드 명령 내장 — 히스토리가 비어 있어도 자주 쓰는 명령을 제안(히스토리 매칭이 없을 때만 폴백). 첫 시드: claude --dangerously-skip-permissions. →/End로 수락.Inline autosuggestion now includes a built-in seed list of useful commands, so they're suggested even before you've typed them (history still takes priority). First seed: claude --dangerously-skip-permissions. Accept with →/End as usual. #107
0.15.0 2026-06-17
추가Added
  • AI 어시스턴트가 포커스된 세션의 시스템 정보(OS · 셸 · 사용자 · 현재 경로)를 자동으로 주입 — 연결된 머신에 맞는 명령어를 제안. SSH는 별도 채널로 조용히 조회(터미널에 출력 없음), 로컬 탭은 직접 읽음. 시스템 정보 주입은 출력 첨부 토글과 독립적으로 항상 동작하며, 첨부 줄 수는 설정 → 일반에서 변경 가능.The AI assistant now probes the focused session's system info (OS, shell, user, cwd) automatically and prepends it to every request — so suggestions match the connected machine instead of guessing. SSH probes use a silent separate channel (no trace in the terminal); local tabs read the host directly. System context is always sent independently of the "include output" toggle; the output line count is configurable in Settings → General. #103
수정Fixed
  • 호스트 등록 폼·설정 등 오버레이 모달에서 입력 텍스트를 드래그 선택하다 패널 밖에서 손을 떼도 모달이 닫히지 않음 — mousedown 이벤트로 클릭이 오버레이에서 시작됐을 때만 닫도록 개선.Modal dialogs (host registration form, Settings) no longer close when you drag-select text in an input and release the mouse outside the panel — the backdrop's click-to-close now fires only when the press started on the backdrop. #104
0.14.16 2026-06-17
변경Changed
  • 인라인 히스토리 자동완성 수락 키가 Tab에서 →(오른쪽 화살표) / End로 변경 — Tab은 셸 자체 파일/디렉토리/명령어 완성과 충돌했음(자동완성이 표시된 상태에서 Tab을 누르면 셸 완성 대신 자동완성이 수락됨). 이제 Tab은 항상 셸에 전달, →/End는 (커서가 줄 끝에 있을 때) 자동완성 수락. fish / zsh-autosuggestions / Warp 컨벤션. 화면 힌트가 Tab → {자동완성}에서 → {자동완성}으로 변경됨Inline history autosuggestion is now accepted with → (Right Arrow) / End instead of Tab — Tab was clashing with the shell's own file/dir/command completion (when a suggestion showed, Tab accepted it instead of completing). Now Tab always goes to the shell for completion, and →/End accept the suggestion (only at end of line, where the suggestion exists; arrow movement / Ctrl+→ / Shift+→ are unaffected). This is the fish / zsh-autosuggestions / Warp convention. The on-screen hint now reads → {suggestion} #102
0.14.15 2026-06-16
변경Changed
  • Windows/Linux 복사/붙여넣기 키보드 단축키 — 기존에는 복사 시 선택 → 우클릭 → 컨텍스트 메뉴가 필요했음. 이제: Ctrl+C는 텍스트가 선택된 경우 복사, 그렇지 않으면 SIGINT 전달(macOS ⌘C와 동일한 Windows Terminal / VS Code 규칙); Ctrl+V는 붙여넣기(term.paste 경유, 브래킷 페이스트 모드 준수); Ctrl+Shift+C는 항상 선택 영역 복사; Ctrl+Shift+V는 붙여넣기. macOS는 ⌘C/⌘V 그대로 유지Windows/Linux copy/paste keyboard shortcuts — previously copy required select → right-click → context menu. Now: Ctrl+C copies when text is selected and otherwise passes through as SIGINT (the Windows Terminal / VS Code convention, mirroring the existing macOS ⌘C); Ctrl+V pastes (via term.paste, honoring bracketed-paste mode); Ctrl+Shift+C always copies the selection; Ctrl+Shift+V pastes. macOS keeps ⌘C/⌘V unchanged #101
0.14.14 2026-06-16
수정Fixed
  • macOS: 컴포지션 지원 Mac(서명된 빌드)에서 발생하는 한글 입력 버그 3건 — 로컬 서명 빌드로 직접 재현 후 실제 input/kd/시퀀스 진단 데이터 기반으로 수정, 추측 아님 (#100): 단독 자모(ㅇ, ㅏ)가 입력되지 않음 — 미러 경로의 조합 누출을 막는 onData 내 호환 자모 드롭 가드가 컴포지션 지원 Mac에서 정상 커밋된 단독 자모까지 차단하고 있었음; 조합 중인 음절이 커서에 가려 표시되지 않음(가나다 입력 시 가만 보임) — macOS 전용으로 설정된 .composition-view 오버레이 숨김이 미러가 아닌 네이티브 IME를 사용하는 컴포지션 경로에도 적용되고 있었음; 우측 Cmd를 한/영 키로 리매핑하면 마지막 한글 음절이 중복 입력됨 — 조합 중 입력 언어를 전환하면 해당 음절이 조합 중과 compositionend 시 각각 한 번씩 총 두 번 전송됐음macOS: three Korean input bugs on composition-capable Macs (signed build) — each diagnosed from live input/kd/sequence telemetry on a locally-signed build, not guessed (#100): standalone jamo (ㅇ, ㅏ) wouldn't type — the lone-compatibility-jamo drop in onData (a guard for the mirror path's composition leakage) was also dropping legitimately-committed standalone jamo on a composition machine; the syllable being composed was hidden by the cursor (typing 가나다 showed only 가) — the .composition-view overlay hide scoped to macOS was also suppressing it on the native-IME composition path where the mirror never draws; Right-Cmd remapped as 한/영 duplicated the last Korean syllable — toggling the input language mid-composition committed the syllable once during composition and again on compositionend #100
0.14.13 2026-06-15
수정Fixed
  • macOS: 한글 삭제 시 백스페이스가 스페이스처럼 동작하는 문제 — macOS 인라인 예측 텍스트가 스페이스 키를 일반 공백(U+0020) 대신 줄바꿈 없는 공백(U+00A0)으로 커밋하여, zsh 줄 편집기의 커서 열이 어긋나고 백스페이스의 삭제가 엉뚱한 위치에 공백으로 남음. 이제 네이티브 및 미러 경로 모두에서 U+00A0을 일반 공백으로 정규화. 실제 input/kd 진단 데이터 기반 분석, 추측 아님macOS: "Backspace behaving like Space" when deleting Korean — macOS inline predictive text commits the Space key as a non-breaking space (U+00A0) instead of a regular space; zsh's line editor desyncs its cursor column count, so Backspace's erase lands as a blank in the wrong place, leaving characters on screen. Input is now normalized — U+00A0 from the IME is sent to the shell as a regular space — on both the native and mirror paths. Diagnosed from the live input/kd diagnostics, not guessed #100
0.14.12 2026-06-15
변경Changed
  • 내부 (임시 진단, #100): macOS IME 진단에 PTY로 실제 전송된 마지막 30개 바이트 시퀀스(이스케이프 처리)와 마지막 30개 특수키 keydown(key/keyCode/isComposing/imeActive) 추가 — 서명된 빌드에서 한글 삭제 시 백스페이스가 스페이스처럼 동작하는 증상이 입력 로직 문제인지 렌더러 문제인지 규명. 서명된(컴포지션 경로) 빌드에서만 측정 가능. #100 해결 후 제거Internal (temporary diagnostic, #100): added to the macOS IME diag the last 30 byte-sequences actually sent to the PTY (escaped) and the last 30 special-key keydowns (key/keyCode/isComposing/imeActive) — to diagnose whether "Backspace behaves like Space" while deleting Korean on the signed build sends the wrong byte (input logic) or the correct byte leaves the renderer unable to clear the wide cell. Can only be measured on a signed/composition-path build. Removed once #100 is resolved #100
0.14.11 2026-06-15
변경Changed
  • 빌드 출처 표시 — 자체 빌드/로컬 바이너리(입력 게이트 빌드 등)가 이제 공식 CI 릴리스와 별도로 식별됨. 기존에는 둘 다 동일한 버전 문자열을 보고해 구분이 불가능했음. 공식 릴리스(CI에서 v* 태그로 빌드)는 변경 없음; 로컬 빌드는 호스트 패널 푸터에 · local을 표시하고 GlitchTip 진단에 dist: local 및 git 짧은 해시를 태그함 — #100 진단 중 게이트 실행이 실제 사용자 데이터와 혼재했던 혼란을 방지Build provenance marking — self-built/local binaries (e.g. the input-gate builds) now identify themselves separately from the official CI release, which previously was impossible since both reported the same version string. Official releases (built in CI from a v* tag) are unchanged; a local build shows · local after the version in the host-panel footer and tags its GlitchTip diagnostics with dist: local and the git short rev — preventing the exact confusion that hit during the #100 diagnosis, when gate runs mixed into real-user data under the same release tag #100
0.14.10 2026-06-15
수정Fixed
  • macOS: 컴포지션 이벤트를 사용하는 Mac(신형 기기/설치 빌드)에서 한글 입력 깨짐 및 영한 전환 후 백스페이스가 삼켜지는 문제 — 구형 229-only WKWebView를 위해 존재하는 커스텀 IME 미러가 네이티브 IME와 충돌: 각 음절의 첫 keyCode-229가 compositionstart 이전에 미러를 활성화해 잘못된 문자를 전송하고, 활성 상태가 영어 모드까지 이어져 미러 이벤트를 기다리다 백스페이스를 삼킴. 이제 실제 한글을 커밋하는 컴포지션(229-only Mac이나 악센트 팝업/딕테이션은 절대 발생시키지 않는 신호)으로 컴포지션 지원 Mac을 감지하고, 이후 네이티브 IME에 입력을 전적으로 위임. 기기의 라이브 wt.ime.local-diag(nCS:15, n229:19) 기반 진단. 입력 자가 진단에 컴포지션 경로 및 영한 전환 후 삭제 검증 추가macOS: Korean typing corrupted, and Backspace swallowed after switching English→Korean→English, on Macs that handle Korean through standard composition events (newer machines / the installed build) — the custom IME mirror, which exists for older 229-only WKWebViews, fought the native IME: the first keyCode-229 of each syllable briefly engaged the mirror before compositionstart, sending stray characters, and the engaged state lingered into English so a Backspace was held back waiting for a mirror event that never came. The app now detects a composition-capable Mac by a composition that commits actual Hangul (a signal a 229-only Mac never produces, and accent-popup/dictation never trip) and from then on always lets the native IME handle input, never engaging the mirror or touching the composing textarea. Diagnosed from the machine's live wt.ime.local-diag (nCS:15, n229:19), not guessed. The input self-test now also drives the real composition path and verifies deletion works after an EN↔KO switch #100
0.14.9 2026-06-12
수정Fixed
  • 재연결(#96) 후속 수정 — 사용자 화면 녹화 기반(#99): (1) "[연결이 끊어졌습니다 — Enter 키로 다시 연결]" / "[재연결 중…]" 메시지가 \r\n\x1b[33m… 그대로 출력되는 문제 — 11개 언어 문자열이 이중 이스케이프(double-escaped)로 커밋되어 writeln이 백슬래시를 문자 그대로 출력함. (2) 재연결 후 클릭 시 0;90;14M… 같은 쓰레기 문자가 입력되는 문제 — 종료된 세션의 프로그램이 활성화했던 SGR 마우스 추적 등의 DEC 사설 모드(마우스, 괄호형 붙여넣기, 앱커서키, 대체화면, 커서숨김)가 재스폰 시 초기화되지 않음. (3) 재연결 후 빈 셸에 착지하고 tmux 세션으로 돌아오지 않는 문제 — 호스트 레벨 자동 연결만 재실행하고 창이 연결됐던 구체적인 tmux 세션을 잊음. 이제 창에 알려진 tmux 세션이 있으면 우선 재연결(-d로 구세션 클라이언트 분리)Reconnect (#96) follow-up, from a user screen recording (#99): (1) "[disconnected — press Enter to reconnect]" / "[reconnecting…]" messages printed as literal \r\n\x1b[33m… text — all 11 language strings were committed double-escaped, so writeln printed the backslash-escapes verbatim. (2) Clicking after reconnect typed garbage like 0;90;14M… into the new shell — the dead session's program had enabled SGR mouse tracking, and leaked DEC private modes (mouse tracking, bracketed paste, application cursor keys, alternate screen, hidden cursor) were not reset on re-spawn; they are now reset locally without clearing the buffer. (3) Reconnecting landed in a bare shell instead of the pane's tmux session — only the host-level auto-attach was re-run; the pane's known tmux session now takes precedence and is re-attached with dead-client detach #99
0.14.8 2026-06-12
변경Changed
  • 내부 (임시 진단, #83): v0.14.7 데이터로 영향받은 최신 Mac에서 입력 경로가 정상임을 확인 — df -h 입력 시 정확히 6자가 PTY로 전송됐으나 프롬프트에는 여전히 ddf -hdff f -h가 표시됨. 따라서 결함은 입력 이후 단계(셸 echo/xterm 파싱 또는 렌더러)에서 발생. macOS IME 진단이 이제 WebGL 렌더러 활성 여부(컨텍스트 손실 포함), 전송 시점 커서 라인 + 상위 3줄의 버퍼 텍스트, 마지막 10개 PTY echo 청크(이스케이프 처리, 각 160자)도 수집함. #83 종료 시 제거 예정Internal (temporary diagnostic, #83): the v0.14.7 data from the affected newest-Mac cleared the input path — typing df -h sent exactly 6 chars to the PTY yet the prompt still showed ddf -hdff f -h, so the artifacts are born after input: in the shell echo/xterm parsing or in the renderer. The macOS IME diag now also captures whether the WebGL renderer is active (+ context losses), the buffer text of the cursor line + 3 lines above at send time, and the last 10 PTY echo chunks (escaped, 160 chars each). Removed once #83 is closed #83
0.14.7 2026-06-12
수정Fixed
  • macOS: 붙여넣기 후 다음 키 입력 시 붙여넣기가 반복되는 버그 — xterm의 paste 핸들러가 stopPropagation만 호출하고 preventDefault는 호출하지 않아 WebKit의 기본 동작이 숨겨진 textarea에 클립보드 텍스트를 삽입하고, 이후 keyCode-229 키다운이 IME 미러를 활성화해 빈 기준선과 diff하여 잔여 내용을 다시 PTY로 전송. 이제 미러 활성화 시 textarea 내용을 diff 기준선으로 스냅샷하고, paste 리스너가 다음 틱에 잔여 내용을 제거. 새 자가 진단 시나리오(붙여넣기 → 한국어 입력이 정확히 한 번만 붙여넣기 텍스트를 산출해야 함)로 커버됨macOS: paste being inserted again on the next keystroke — xterm's paste handler calls stopPropagation but not preventDefault, so WebKit's default action also wrote the clipboard text into the hidden textarea; the next keyCode-229 keydown engaged the IME mirror, which diffed against an empty baseline and re-sent the residue. The mirror now snapshots the textarea content as its baseline when it engages, and a paste listener clears the residue on the next tick. Covered by a new self-test scenario (paste → Korean typing must yield the pasted text exactly once) #97
0.14.6 2026-06-12
수정Fixed
  • 화면 잠금/절전 후 특히 SSH 탭에서 입력이 되지 않는 문제 — 절전 시 TCP 연결이 끊기지만 앱에 keepalive, 죽은 세션 감지, 재연결 경로가 없어 키 입력이 무음으로 사라졌음. 이제 SSH keepalive(20초 간격, 3회 미수신 → ~1분 내 감지), 세션 스트림이 끊길 때(SSH 연결 끊김 또는 로컬 셸 종료) "[연결이 끊어졌습니다 — Enter 키로 다시 연결]" 알림, Enter 키로 그 자리에서 세션을 재생성 — tmux 자동 연결이 설정된 경우 재연결 시 tmux 세션으로 바로 복귀Typing doing nothing after the screen was locked or put to sleep, especially in SSH tabs — the TCP connection dies during sleep but the app had no keepalive, no dead-session detection, and no reconnect path, so keystrokes were silently dropped. Now: SSH keepalives (20s interval, 3 misses → dead within ~1 minute), a "[disconnected — press Enter to reconnect]" notification when a session's stream ends (SSH connection lost or local shell exited), and pressing Enter re-spawns the session in place — with tmux auto-attach configured, reconnecting drops you straight back into your tmux session #96
변경Changed
  • 내부 전용: 내장 입력 자가 진단 하네스 — localStorage 원샷 플래그로 실행하면 실제 입력 경로(영어 타이핑, 백스페이스, 컴포지션 전환 및 삭제 포함 macOS IME 미러)를 합성 이벤트로 새 로컬 탭에 구동하고, 셸의 출력 파일을 외부에서 어서트함. 이제 릴리스 체크리스트에 포함됨: 모든 릴리스에서 한국어/영어 입력 검증. 플래그 없이는 비활성화됨Internal: built-in input self-test harness — launching with a one-shot localStorage flag drives the real input paths (plain typing, Backspace, the macOS IME mirror with composition transitions and deletion) with synthetic events into a fresh local tab, and the shell's output files are asserted externally. Now part of the release checklist: Korean/English input is verified on every release. Inert without the flag #95
0.14.5 2026-06-11
수정Fixed
  • Windows 파일 브라우저에서 '파일 이름, 디렉터리 이름 또는 볼륨 레이블 구문이 잘못되었습니다 (os error 123)' 오류와 함께 로컬 경로가 \\?\C:\로 표시되는 문제 — 로컬 목록이 Rust canonicalize의 verbatim 접두사 경로를 반환하고(/ 정규화를 건너뜀), UI가 로컬 경로를 POSIX 방식으로 결합해 ../로 축소되고 자식 경로가 \\?\C:\/dir이 됨. verbatim 접두사(\\?\UNC\\\ 포함)를 제거하고 로컬 창은 구분자 인식 경로 결합(백슬래시, 드라이브 루트 C:\ 하한) 적용; 원격 SFTP 창은 POSIX 결합 유지. macOS 로컬 경로는 백슬래시 없으므로 변경 없음Windows file browser failing with "os error 123" and showing the local path as \\?\C:\ — the local listing returned Rust canonicalize's verbatim-prefixed path (which skips / normalization) and the UI joined local paths POSIX-style, so .. collapsed to / and child paths became \\?\C:\/dir. The verbatim prefix (incl. \\?\UNC\\\) is now stripped and the local pane joins paths separator-aware (backslash joins, C:\ drive-root floor); the remote SFTP pane keeps POSIX joins. macOS local paths have no backslash so behavior there is unchanged #94
0.14.4 2026-06-11
변경Changed
  • 내부 (임시 진단): macOS IME 진단이 이제 마지막 14개의 미러 전환(이전→현재 숨겨진 textarea 내용, 입력된 내용 포함)도 수집함 — 카운터만으로는 "textarea 자체의 컴포지션이 깨진 것"(단독 자모 + 공백이 입력됨)과 미러 버그를 구별할 수 없으며, 한글 삭제 시 2칸 공백이 생기는 새로 보고된 Mac의 주요 의심 원인임. #83 종료 시 제거 예정Internal (temporary diagnostic): on macOS the IME diag now also captures the last 14 mirror transitions (previous→current hidden-textarea content, includes what was typed) — counters alone can't distinguish "the textarea's own composition is broken" (stray jamo + spaces being fed in) from a mirror bug, which is the leading suspicion for the newly reported Mac where deleting Hangul leaves 2-space gaps. Removed once #83 is closed #83
0.14.3 2026-06-11
수정Fixed
  • macOS에서 세션 중 한글 입력이 영구적으로 깨지는 문제(앱 재시작 전까지) — 단 한 번의 컴포지션 이벤트(예: 길게 누르기 액센트 팝업, 받아쓰기)로 nativeComposition 스위치가 영구적으로 활성화돼, 229-only WKWebView에서 한글에 필요한 커스텀 IME 미러가 비활성화됨. 스위치가 이제 컴포지션 진행 중에만 활성 상태를 유지하도록 수정(유지보수자 머신에서 확인: 한글은 순수 keyCode-229 + 미러, 컴포지션 이벤트 없음 — 로컬 진단 n229:33, mirror 36/31, nCS:0)macOS: Korean input breaking permanently mid-session (until app restart) — the nativeComposition switch latched forever after a single composition event (e.g. press-and-hold accent popup, dictation), disabling the custom IME mirror that 229-only WKWebViews need for Hangul. The switch is now active only while a composition is actually in progress (confirmed on the maintainer's machine: Korean is pure keyCode-229 + mirror, no composition events — local diag n229:33, mirror 36/31, nCS:0) #83
  • Windows에서 모든 확인 다이얼로그(호스트·SSH 키·그룹/태그·원격 파일·LLM 백엔드 삭제 확인)가 자동으로 취소되는 문제 — WebView2가 window.confirm을 Tauri 다이얼로그 플러그인을 통해 처리하는데 confirm 명령이 capabilities 파일에 허가되지 않아 조용히 실패(plugin:dialog|confirm not allowed by ACL, GlitchTip에서 포착). dialog:allow-confirm/ask/message 권한 추가; macOS는 영향 없음Windows: every confirm dialog (deleting hosts, SSH keys, groups/tags, remote files, LLM backends) silently failed — WebView2 routes window.confirm through the Tauri dialog plugin, whose confirm command wasn't granted in the capability file (plugin:dialog|confirm not allowed by ACL, captured by GlitchTip). Granted dialog:allow-confirm/ask/message; macOS was unaffected #93
0.14.2 2026-06-11
수정Fixed
  • 최신 macOS에서 영어 타이핑 시 문자 중복/유령 문자 발생(예: df -hddf -h…) — 두 번째 시도로 루트 원인과 무관하게 동작: 손상은 항상 macOS 예측 기능이 숨겨진 textarea를 재작성할 때 커스텀 IME 미러가 다중 백스페이스 폭풍을 보내면서 발생함. 이제 미러가 순수 ASCII 내용을 2글자 이상 지우는 재작성을 거부함 — 터미널은 원시 키 입력이 필요하므로 OS 주도 재작성을 무시하고, 실제 타이핑(추가·단일 백스페이스) 및 진짜 CJK 컴포지션 되감기는 그대로 동작Newest-macOS stray characters while typing English (df -hddf -h…) — second attempt, made robust against the root cause being unknown: the damage always comes from the custom IME mirror sending multi-backspace rewrite storms when macOS predictive features rewrite the hidden textarea. The mirror now refuses to send rewrites that would erase 2+ characters of pure-ASCII content — a terminal wants raw keystrokes, so OS-driven rewrites are ignored while real typing (appends, single backspaces) and genuine CJK composition rewinds flow unchanged #83
변경Changed
  • 내부 전용: macOS 전용 경량 IME 카운터(구조만, 입력 내용 없음)를 입력 무활동 시 GlitchTip에 전송하도록 재추가. 이번에는 억제된 재작성 횟수도 포함해 영향받는 머신에서 수정을 검증. 확인 완료 후 제거 예정Internal: re-added the lightweight macOS IME counters (structure only, no typed content) sent to GlitchTip on input idle, now including the suppressed-rewrite count, to verify the fix on the affected machine. To be removed once confirmed #83
0.14.1 2026-06-10
수정Fixed
  • Windows/Linux에서 터미널에 포커스가 있을 때 앱 단축키(Ctrl+K 팔레트, Ctrl+Tab, Ctrl+번호 등)가 동작하지 않는 문제 — xterm이 처리하는 Ctrl 조합을 stopPropagation으로 소비해 버블 단계의 앱 리스너가 이를 수신하지 못함. Windows/Linux에서 단축키 리스너를 캡처 단계에 등록하고(macOS 동작 유지) 소비한 키는 stopPropagation도 호출. 예: Ctrl+K가 터미널 입력 대신 팔레트를 열게 됨Windows/Linux: app shortcuts (Ctrl+K palette, Ctrl+Tab, Ctrl+number, …) not working while the terminal had focus — xterm consumes Ctrl combos with stopPropagation, so the app's bubble-phase listener never saw them. The shortcut listener now runs in the capture phase on Windows/Linux (macOS unchanged) and stops propagation for keys it consumes, so e.g. Ctrl+K opens the palette instead of typing into the prompt #92
0.14.0 2026-06-10
추가Added
  • tmux 자동 연결 (SSH 접속 시) — 호스트별 "tmux 자동 연결" 필드(세션 이름); 설정하면 접속 시 tmux new-session -A -s <이름>을 실행해 항상 지정 tmux 세션에 연결됨tmux auto-attach on SSH connect — a per-host "tmux auto-attach" field (session name); when set, connecting runs tmux new-session -A -s <name> so the connection always lands in a persistent tmux session #89
  • tmux 세션 피커 — ⌘K → "tmux 세션"에서 현재 터미널 머신(로컬·SSH)의 tmux 세션 목록 표시(창 수·연결 배지); 클릭으로 연결/전환(tmux 안팎 모두 동작), 새 세션 생성도 가능tmux session picker — ⌘K → "tmux sessions" lists the tmux sessions of the focused terminal's machine (local or SSH, fetched without touching the visible shell) with window count and attached badge; click to attach/switch (works both inside and outside tmux), or create a new session from the same dialog #89
  • 탭 제목 동기화 — 터미널 제목(OSC 0/2; tmux set-titles on 포함)이 탭 레이블에 반영; 제목이 없으면 호스트/셸 이름으로 복귀. tmux 세션 연결(자동 연결·피커) 시 원격 설정 없이 탭 레이블이 세션 · 호스트 형식으로 즉시 표시됨Tab title sync — the terminal title (OSC 0/2; includes tmux window titles when set-titles on) is reflected in the tab label, falling back to the host/shell name when cleared; attaching to a tmux session (auto-attach or picker) immediately labels the tab session · host without requiring remote config #89
  • 설정 키보드 탐색 — Esc로 설정 다이얼로그 닫기, ←/→로 설정 탭 전환(포커스가 텍스트 필드에 없을 때)Settings keyboard navigation — Esc closes the settings dialog and ←/→ switch between settings tabs (when focus is not in a text field) #91
  • 새 터미널 기본 시작 폴더 — 터미널 설정(폴더 선택, ~ 지원); 새 로컬 탭이 홈 대신 지정 폴더에서 시작됨. 세션 복원으로 저장된 cwd가 있으면 우선 적용Default start directory for new terminals — a Terminal setting (with folder picker, ~ supported); new local tabs open there instead of home. A cwd saved by session restore still wins #91
  • 세션 복원 — 앱 재시작 시 이전 탭이 복원됨: 탭/분할 레이아웃, 이전 작업 디렉터리에서 시작하는 로컬 셸(추적된 cwd로 스폰, cd 미실행), SSH 탭 재접속, tmux 세션에 연결됐던 패널 재연결Session restore — on restart the previous tabs reopen: tab/split layout, local shells starting in their previous working directory (spawned with the tracked cwd — no visible cd), SSH tabs reconnecting, and panes that were attached to a known tmux session re-attaching to it #90
0.13.14 2026-06-10
수정Fixed
  • 입력 줄이 실제 터미널 너비보다 좁은 위치에서 줄 바꿈되는 문제(Windows cmd.exe에서 한글 입력 시 특히 두드러짐 — 이중 너비 문자가 오래된 너비 경계에 더 빨리 닿음) — 세션 스폰 대기 중 발생하는 리사이즈가 드롭됨(sessionId가 없으면 onResize가 즉시 반환). 스폰 완료 후 최종 크기를 다시 동기화하지 않아 ConPTY가 스폰 시점 너비를 유지하며 cmd가 그 너비에서 입력 에코를 줄 바꿈함. 스폰 완료 직후 현재 term.cols/rowsresizeCmd를 한 번 전송해 수정Input lines wrapping early at stale widths (most visible on Windows cmd.exe while typing Korean — double-width characters hit the stale edge sooner) — resizes during session spawn were dropped (onResize bails when sessionId is not set yet), so the PTY/ConPTY kept the spawn-time width while xterm grew with the layout, and the shell wrapped its input echo there. The current size is now synced once right after spawn completes #88
0.13.13 2026-06-10
수정Fixed
  • Windows/Linux에서 한글 조합 중 커서 위치에 아무것도 표시되지 않는 문제 — #75에서 macOS 미러와의 이중 표시 방지를 위해 xterm의 `.composition-view` 오버레이를 숨겼으나, 네이티브 IME 경로(v0.13.11 이후 Windows/Linux)에서는 조합 중인 음절이 해당 오버레이에만 렌더링되어 화면에 아무것도 보이지 않음. 숨김 CSS를 macOS 전용(`plat-mac` body 클래스)으로 제한; Windows/Linux는 커서 위치에 조합 미리보기가 정상 표시됨Windows/Linux Korean composition invisible while typing — the #75 CSS that hides xterm's .composition-view overlay (needed to avoid double display with the macOS mirror) applied on all platforms, but with the native IME path (since v0.13.11) the in-progress syllable is rendered only in that overlay, so nothing appeared on screen while composing. The hide is now scoped to macOS only (plat-mac body class); Windows/Linux show the composition preview at the cursor #88
  • Windows/Linux에서 네이티브 IME가 커밋하는 독립 자모(ㄱ, ㅏ 등)가 onData 필터에 의해 무음 제거되는 문제 — 이 필터는 macOS 미러 누출 방지용이며 이제 macOS 전용으로 제한됨Windows/Linux standalone Korean jamo (ㄱ, ㅏ, …) committed by the native IME were silently dropped — the onData filter that discards stray compatibility jamo (a macOS-mirror leakage guard) is now gated to macOS only #88
0.13.12 2026-06-10
수정Fixed
  • 최신 macOS에서 프롬프트 입력 시 문자가 중복/유령 표시되는 문제의 근본 원인 확정 — GlitchTip 추적 결과, macOS 인라인 예측 텍스트("받아쓰기 제안")가 영어 키 입력도 IME 처리(keyCode 229)로 라우팅해 커스텀 IME 미러를 작동시키며, 예측 텍스트가 숨겨진 textarea를 재작성하면 미러의 diff가 백스페이스+재전송 폭풍을 일으켜 oh-my-zsh 줄 재렌더링과 뒤섞여 버퍼에 실제 이상 문자가 남음(v0.13.6 WebGL 변경이 효과없었던 이유 — 입력 자체는 정상이었음). xterm 입력 textarea에 WebKit의 writingsuggestions="false" 속성을 설정해 인라인 예측 텍스트를 비활성화; 이제 영어는 일반 입력 경로를 사용하며 미러는 실제 IME 조합에만 동작Root cause confirmed for newest-macOS prompt showing duplicated/ghost characters while typing (e.g. df -hddf -hdff f -h, commands still executing correctly) — the GlitchTip trace pinned the cause: macOS inline predictive text ("writing suggestions") routes English keystrokes through IME processing (keyCode 229, no composition events), engaging the custom IME mirror; predictive text then rewrites the hidden textarea, so the mirror's diff sends a backspace+resend storm that interleaves with oh-my-zsh's per-keystroke line redraw, leaving real stray characters in the buffer (which is why the v0.13.6 WebGL change didn't help — net input was correct). Fixed by setting the WebKit writingsuggestions="false" attribute on xterm's input textarea; English now takes the plain input path and the mirror only ever sees real IME composition #83
0.13.11 2026-06-09
수정Fixed
  • Windows/Linux에서 한글(CJK) 입력 시 첫 음절만 입력되고 이후 완전히 멈추는 문제 — 구형 macOS WKWebView용으로 만든 커스텀 IME 미러가 Windows/Linux에서도 동작하면서 첫 음절 조합 후 imeActive가 stuck true 상태로 빠져 이후 키 입력을 모두 삼킴(스크린 녹화로 확인된 #84/#88의 근본 원인). xterm.js는 Windows/Linux에서 CJK IME를 네이티브로 처리하므로 IME 미러를 macOS 전용으로 제한; Windows/Linux는 xterm 네이티브 IME 사용. 임시 IME 진단 코드 제거Windows/Linux Korean (and CJK) input only accepting the first syllable then freezing — the custom IME mirror (built for old macOS WKWebView) was active on Windows/Linux too and got stuck after the first composed syllable, blocking all further keystrokes (the root cause behind #84/#88, confirmed by screen recording). xterm.js handles CJK IME natively on Windows/Linux, so the mirror is now macOS-only; Windows/Linux use xterm's native IME directly. The temporary IME diagnostics are removed #88
0.13.10 2026-06-09
변경Changed
  • 내부 전용 (사용자 노출 변경 없음): v0.13.9 추적 결과 keydown/composition이 하나도 수신되지 않고 focus-out 신호만 표시됨 — 터미널이 키 입력 자체를 받지 못하고 있음. v0.13.10 진단: 문서 레벨 캡처 keydown 리스너(key/keyCode/isComposing/target/activeElement 기록) 및 textarea focusin/focusout(relatedTarget/activeElement) 추가로, 한글 키가 페이지에 도달하는지·어느 요소가 포커스를 갖는지 식별. 원인 파악 후 제거 예정Internal only (no user-facing change): the v0.13.9 Windows IME trace showed only focus-out signals and zero keydown/composition events — the terminal receives no keystrokes at all. Added a document-level capture keydown listener (key/keyCode/isComposing/target/activeElement) and textarea focusin/focusout (relatedTarget/activeElement) to see whether the Hangul key reaches the page and which element holds focus when input dies. To be removed once the cause is identified #88
0.13.9 2026-06-09
변경Changed
  • 내부 전용 (사용자 노출 변경 없음): Windows Hangul 입력 중단 버그(#88)가 개발자 머신에서 재현 불가하므로, 실제 이벤트 순서 계측 — Windows/Linux 전용 임시 진단으로 keydown/composition/input 이벤트와 미러 상태 전환, onData 순서를 수집하고 입력 무활동 2.5초 디바운스 후 GlitchTip으로 전송. 원인 파악 후 제거 예정Internal only (no user-facing change): the Windows Hangul-stuck bug (#88) is not reproducible on the maintainer's machine; added temporary Windows/Linux-only diagnostic instrumentation that collects the actual event sequence (keydown/composition/input with values and mirror state transitions) and sends it once to GlitchTip on 2.5s input idle. To be removed once the cause is identified #88
0.13.8 2026-06-09
수정Fixed
  • Windows에서 IME를 한글로 전환한 뒤 한글 입력이 멈추고, 다시 영어로 전환해도 입력이 죽는 문제 — 커스텀 IME 미러가 keyCode 229로 imeActive를 활성화하지만 Windows에서는 끄는 로직이 없어(끄는 스위치가 macOS 전용 compositionstart 리스너) 한 번 컴포지션이 시작되면 영구히 켜진 채로 모든 키 입력을 삼킴. Windows/Linux에서 이제 미러를 컴포지션 생명주기로 구동(compositionstart → 켜기, compositionend → flush + 리셋); macOS 경로는 변경 없음Windows: Korean input dying after switching the IME to Hangul, and staying dead even after switching back to English — the custom IME mirror set imeActive on keyCode 229 but nothing turned it off on Windows (the off-switch was a macOS-only compositionstart listener), so once a composition started it stuck on and swallowed every subsequent keystroke. On Windows/Linux the mirror is now driven by the composition lifecycle (compositionstart on, compositionend flush + reset); macOS paths are unchanged #88
0.13.7 2026-06-09
수정Fixed
  • 키보드로 탭 전환(Ctrl+Tab / Ctrl+Shift+Tab / Ctrl+숫자) 시 탭은 활성화되지만 터미널에 포커스가 이동하지 않아 타이핑 전에 클릭이 필요하던 문제 — 이제 탭 전환 시 활성 탭의 포커스된 창에 키보드 포커스가 자동 이동되어 바로 입력 가능Switching tabs by keyboard (Ctrl+Tab / Ctrl+Shift+Tab / Ctrl+number) activated the tab but didn't focus the terminal, so you had to click the terminal before typing. The active tab's focused pane now receives keyboard focus on switch — type immediately, no click needed #87
0.13.6 2026-06-09
수정Fixed
  • 최신 macOS(M5)의 셸 프롬프트에서 키 입력마다 문자가 중복/고스팅되는 현상 (oh-my-zsh syntax-highlighting 등 키스트로크마다 줄 전체를 재출력하는 플러그인에서 발생) — PTY는 정상(보내는 바이트 정확); xterm DOM 렌더러가 최신 WKWebView에서 이전 글리프를 지우지 않는 렌더 버그. 이제 WebGL 렌더러를 사용해 매 프레임 전체 뷰포트를 재페인트하여 잔상이 남지 않음; WebGL 미지원 환경에서는 DOM 렌더러로 투명하게 폴백Character duplication / ghosting at the shell prompt on the newest macOS (visible e.g. with oh-my-zsh syntax-highlighting, where each keystroke redraws the line) — the cause is xterm's DOM renderer not clearing previous glyphs on the newest WKWebView, not the PTY (the bytes sent to the shell are correct). The terminal now renders with the WebGL renderer, which repaints the whole viewport and leaves no stale glyphs; it transparently falls back to the DOM renderer where WebGL is unavailable #83
제거Removed
  • 원인 파악 및 수정 완료로 임시 macOS IME 진단 계측 코드 제거The temporary macOS IME diagnostic instrumentation is removed now that the duplication is identified as a renderer issue and fixed #83
0.13.5 2026-06-09
변경Changed
  • 내부 전용 (사용자 노출 변경 없음): macOS IME 진단 임시 코드(#83)가 이제 Enter 대신 입력 무활동 3초 디바운스로 전송 — IME가 Enter 키다운을 소비하는 경우(e.key가 "Process") 이전 Enter 트리거가 실행되지 않던 문제 수정. 진단 완료 후 제거 예정Internal only (no user-facing change): the temporary macOS IME diagnostic (#83) now sends on a 3-second input-idle debounce instead of on Enter — on the affected machine the Enter keydown is consumed by the IME (e.key is not "Enter"), so the previous trigger missed. To be removed once the IME duplication is diagnosed #83
0.13.4 2026-06-09
변경Changed
  • 내부 전용 (사용자 노출 변경 없음): macOS IME 진단 임시 코드(#83)의 전송 로직 수정 — IME 미러가 활성화된 경로에서는 Enter 시 실행되지 않아 영향받는 기기에 진단 데이터가 전달되지 않던 버그 수정; 이제 키 핸들러에서 전송Internal only (no user-facing change): fixed delivery of the temporary macOS IME diagnostic (#83) — the trace was sent from a path skipped while the IME mirror is active, so it never reached telemetry on the affected machine; it now sends from the key handler on Enter #83
0.13.3 2026-06-09
수정Fixed
  • 창을 매우 작게 줄였다가 다시 키울 때 터미널이 깨지거나 고스팅이 남는 문제 — FitAddon이 터미널을 ~2열까지 축소해 셸이 그 너비에서 프롬프트를 재출력하고 좁게 감긴 줄이 고스팅으로 남음. 이제 터미널 너비를 최소 20열로 클램프하고 컨테이너에 overflow:hidden을 적용해 AI 패널과 겹치지 않도록 수정Terminal garbled or showing ghosting after shrinking the window very small then enlarging it — FitAddon was shrinking the terminal down to ~2 columns so the shell re-wrapped its prompt at that width, leaving narrow-wrapped lines as ghosting on grow. The terminal is now clamped to a minimum of 20 columns and the container clips overflow, so it never shrinks to a degenerate width or overlaps the AI panel #86
0.13.2 2026-06-09
수정Fixed
  • 명령 실행 후 터미널 출력이 멈추는 문제 (v0.13.0 회귀) — #82 의존성 설치 중 재해석된 @xterm/xterm 6.0.0이 proposed-API 게이팅을 적용해, OSC 133 커맨드 배지 코드(registerDecoration/registerMarker)가 파서 내부에서 예외를 발생시켜 xterm의 쓰기 루프를 중단하고 이후 출력을 모두 삼킴(입력은 정상 작동). allowProposedApi: true 추가 및 OSC 133 핸들러를 try/catch로 감싸 배지 오류가 터미널을 멈추지 않도록 수정Terminal output freezing after running any command — a v0.13.0 regression where @xterm/xterm 6.0.0 (re-resolved during the #82 dependency install) enforces proposed-API gating, causing the OSC 133 command-badge code (registerDecoration/registerMarker) to throw inside the parser and break xterm's write loop, swallowing all subsequent output (input still worked). Added allowProposedApi: true and wrapped the OSC 133 handler in try/catch so a badge error can never freeze the terminal again #85
제거Removed
  • 명령별 상태 배지(✓/✗ · 실행시간) 제거 — 모든 프롬프트 라인을 복잡하게 만들어 삭제. 커맨드 점프(⌘↑/↓)와 장시간 명령 완료 알림은 그대로 유지The per-command status badge (✓/✗ + duration) has been removed — it cluttered every prompt line. Command jump (⌘↑/↓) and long-command completion notifications are unchanged #85
0.13.1 2026-06-09
수정Fixed
  • Windows에서 한글(한국어) 입력이 완전히 안 되는 문제 (v0.13.0 IME 수정의 회귀 버그) — 최신 macOS WKWebView 전용으로 추가된 네이티브 컴포지션 우회가 항상 컴포지션 이벤트를 발생시키는 Windows WebView2에서도 작동해, Windows가 의존하는 커스텀 IME 미러를 비활성화시킴. 우회 로직을 macOS 전용으로 제한; Windows/Linux는 미러 유지Korean (Hangul) input completely broken on Windows — a regression from the v0.13.0 IME fix (#83): the native-composition bypass meant for the newest macOS WKWebView also triggered on Windows WebView2, which always fires composition events, disabling the custom IME mirror that Windows relies on. The bypass is now gated to macOS only; Windows/Linux keep the mirror #84
0.13.0 2026-06-08
추가Added
  • 자체 호스팅 GlitchTip(Sentry 호환)을 통한 오류·크래시 자동 수집 — Rust 백엔드(패닉)와 React 프론트엔드(렌더 오류)가 런타임 오류를 자동으로 보고하며 component 태그로 구분. WOWTERMINAL_GLITCHTIP_DSN / VITE_GLITCHTIP_DSN 환경 변수로 비활성화 가능Automatic error and crash collection via self-hosted GlitchTip (Sentry-compatible) — the Rust backend (panics) and React frontend (render errors) report runtime errors automatically, distinguished by a component tag. Disable via the WOWTERMINAL_GLITCHTIP_DSN / VITE_GLITCHTIP_DSN environment variable #82
  • SSH 원격 현재 폴더 비침습적 감지 — 드래그-드롭 업로드·파일 브라우저가 원격 셸의 현재 디렉터리에서 열림. 별도 exec 채널이 /proc를 통해 인터랙티브 셸 cwd를 읽어 화면 잔상 없이 동작(Linux 원격 전용; 다른 환경은 OSC 7 훅 또는 원격 홈으로 대체)Non-invasive remote current-folder detection for SSH — drag-and-drop upload and the file browser now open at the remote shell's current directory without injecting anything or leaving a screen artifact. A separate exec channel reads the interactive shell's cwd via /proc on demand (Linux remotes only; falls back to an OSC 7 rc-hook or remote home elsewhere) #83
수정Fixed
  • 최신 macOS(M5 등)에서 로컬 셸 입력 문자 중복 (예: df -hdddff f -h) — 구형 WKWebView용 커스텀 IME 미러가 최신 WKWebView 네이티브 컴포지션 이벤트와 충돌하던 문제; 네이티브 컴포지션 자동 감지 시 미러를 우회해 xterm이 IME를 직접 처리Input characters duplicated in the local shell on the newest macOS (e.g. df -hdddff f -h) — the custom IME mirror built for old WKWebView conflicted with the newest WKWebView's native composition events; now auto-detects native composition and bypasses the mirror, letting xterm handle IME natively #83
  • SSH 접속 시 첫 화면(배너·MOTD 등) 지워지던 문제 — 원격 OSC 7 cwd 훅 자동 주입 코드의 Ctrl-L이 전체 화면을 소거하던 것을 제거. 원격 cwd 추적은 사용자가 원격 셸 rc에 한 줄을 추가하는 방식으로 전환; 미설정 시 SSH 드래그 업로드는 원격 홈 폴더로 대체SSH connect wiping the first screen (banner / MOTD disappearing) — removed the remote OSC 7 cwd auto-injection whose trailing Ctrl-L cleared the whole screen. Remote cwd tracking now relies on a one-line hook the user can add to their remote shell rc; SSH drag-upload falls back to the remote home if not set #83
0.12.0 2026-06-05
추가Added
  • 패널 토글 단축키 — 호스트 패널(⌘B)·AI 패널(⌘J)을 단축키로 열고 닫기(설정에서 재지정 가능)Panel toggle shortcuts — open and close the host panel (⌘B) and AI panel (⌘J) with keyboard shortcuts (reassignable in Settings) #81
  • 터미널에 파일 드래그-드롭 업로드 — 로컬 셸은 현재 폴더로 복사, SSH는 원격 현재 폴더로 SFTP 업로드(SSH 접속 시 원격 셸에 cwd 훅 자동 주입·Ctrl-L 정리). 결과는 데스크톱 알림으로 안내(OSC7로 현재 폴더 추적)File drag-and-drop upload onto the terminal — local shell copies to the current folder; SSH uploads via SFTP to the remote current folder (auto-injects a cwd hook into the remote shell on connect, Ctrl-L to clear). Results notified via desktop notification (current folder tracked via OSC7) #81
수정Fixed
  • 로컬 셸에서 Homebrew·pyenv·jenv 등으로 깐 명령이 "command not found"로 안 먹던 문제 — 셸을 비로그인으로 띄워 ~/.zprofile(brew shellenv 등 PATH 설정)을 안 읽던 것을 로그인 셸(-l)로 변경. bash는 rcfile에서 로그인 프로필을 직접 sourceCommands installed via Homebrew, pyenv, jenv, etc. failing with "command not found" in local shell sessions — the shell was spawned non-login, skipping ~/.zprofile (where brew shellenv and similar PATH setup live); changed to login shell (-l). bash sources login profiles directly from the rcfile #80
0.11.1 2026-06-05
수정Fixed
  • 작은 창에서 시작하면 터미널이 좁은 크기로 고정되고 창을 키워도 재fit 안 되던 문제 — ResizeObserver 콜백을 RAF로 미루어 루프 알림 끊김을 방지하고, 윈도우 resize 리스너·마운트 직후 재fit으로 보완Terminal stuck at narrow dimensions when launched in a small window and not resizing even after enlarging — ResizeObserver callbacks now run via requestAnimationFrame to prevent loop-notification cutoff; a window resize listener and post-mount re-fit passes ensure correct sizing #79
  • Windows 자동 업데이트 무한 반복 — latest.json의 windows-x86_64가 MSI를 가리켜 NSIS 설치를 제자리 업그레이드하지 못하던 문제. 업데이터가 NSIS(-setup.exe)를 받도록 수정(공개 latest.json 교정 + 워크플로 finalize 단계 추가)Windows auto-update infinite loop — latest.json's windows-x86_64 entry pointed to the MSI, preventing NSIS installations from upgrading in-place; the updater now fetches the NSIS installer (-setup.exe) via a corrected public latest.json and an added workflow finalize step #78
변경Changed
  • 설정 터미널 글꼴 — 라벨을 '폰트 패밀리/폰트 크기' → '글꼴/글꼴 크기'로 다듬고, CSS 스택 직접 입력 대신 모노스페이스 프리셋 드롭다운(Menlo·SF Mono·JetBrains Mono·D2Coding 등)으로 변경Settings terminal font — labels renamed from "Font Family / Font Size" to "Font / Font Size", and the CSS stack free-input replaced with a monospace preset dropdown (Menlo, SF Mono, JetBrains Mono, D2Coding, etc.) #77
0.11.0 2026-06-04
추가Added
  • 포트 포워딩 원격(-R) — ⌘K '포트 포워딩'에서 서버 바인드 포트로 들어온 연결을 클라이언트 측 대상으로 전달. -L/-D/-R 세트 완성Remote port forwarding (-R) — connections to the server's bind port are forwarded to the client-side target from the ⌘K 'Port Forwarding' panel; completes the -L/-D/-R set #73
수정Fixed
  • 호스트 추가/편집 화면에서 포트를 모두 지우면 22로 되돌아가 새 값을 입력할 수 없던 문제 — 편집 중 빈 값 허용(저장 시 22 기본·범위 클램프)Clearing the port field in the host editor no longer snaps back to 22 — empty values are now allowed while editing; 22 is applied as default and range-clamped on save #74
  • 한글 입력 시 조합 중인 음절이 두 번 찍히던 문제(예: 차→차차) — xterm 조합 미리보기 오버레이를 숨겨 IME 미러 표시와의 중복 제거Korean (Hangul) IME composing glyphs appearing doubled (e.g. cha → chaacha) — hiding the xterm composition-view overlay removes the duplication caused by the pane mirror #75
  • 앱 실행 아이콘·내부 로고(스플래시·온보딩·설정)·브라우저 파비콘·창 제목을 새 블루 'WT' 브랜드로 통일App icon, in-app logo (splash, onboarding, settings), browser favicon, and window title unified under the new blue 'WT' brand #76
0.10.0 2026-06-04
추가Added
  • 설정에 UI 글꼴 선택 옵션 — 호스트 목록·AI 패널 등 UI 글꼴을 프리셋에서 선택(터미널 폰트와 별개)UI font selector in Settings — choose from font presets for the host list, AI panel, and other UI (separate from the terminal font) #54
  • 긴 명령 완료 알림 — 백그라운드 탭에서 8초↑ 명령이 끝나면 데스크톱 알림 + 탭 배지(OSC 133 기반)Long-running command notifications — desktop alert and tab badge when a background-tab command finishes after ≥8 seconds (OSC 133-based) #55
  • 로컬 bash도 셸 통합(OSC 133) 적용 — bash에서도 명령 종료코드·실행시간 배지 표시Shell integration (OSC 133) extended to local bash — exit-code and timing badges now appear in bash sessions as well #56
  • 명령 팔레트(⌘K) — 호스트 접속·새 탭·설정·최근 명령을 퍼지 검색해 즉시 실행Command palette (⌘K) — fuzzy-search hosts, new tab, settings, and recent commands to launch them instantly #57
  • 명령 스니펫 — 설정의 '스니펫' 탭에서 자주 쓰는 명령 저장, ⌘K 명령 팔레트에서 실행Command snippets — save frequently-used commands in the Settings 'Snippets' tab and run them from the ⌘K palette #58
  • 입력 브로드캐스트 — 타이틀바 토글로 한 패널 입력을 모든 패널에 동시 전송(fleet 운영, 켜짐 시 빨간 표시)Input broadcast — title-bar toggle sends one pane's input to all panes simultaneously for fleet management (highlighted red when active) #59
  • 터미널 색 테마 추가 — Dracula·Nord·Solarized Dark·Monokai (풀 ANSI 16색 팔레트). 설정 → 터미널 → 테마에서 선택Terminal color themes added — Dracula, Nord, Solarized Dark, and Monokai with full 16-color ANSI palettes. Choose in Settings → Terminal → Theme #66
  • 세션 로깅 — 설정에서 켜면 터미널 출력(ANSI 제거)을 로그 폴더에 세션별 파일로 누적 저장(로컬·SSH 모두)Session logging — when enabled in Settings, terminal output (ANSI stripped) is continuously written to per-session files in a log folder (local and SSH) #67
  • 세션 대시보드 — 타이틀바 버튼·⌘K에서 열기. 모든 탭/패널의 소스·상태·명령 수·마지막 명령을 표로 보고 행 클릭으로 탭 점프Session dashboard — open from the title-bar button or ⌘K. Shows a table of all tabs/panes with source, status, command count, and last command; click a row to jump to that tab #68
  • 원격 파일 빠른 편집 — SFTP 브라우저에서 텍스트 파일을 더블클릭하면 편집창으로 열려 ⌘S·💾로 바로 저장(원격·로컬 모두)Remote file quick-edit — double-click any text file in the SFTP browser to open an inline editor; save directly with ⌘S or 💾 (works for both remote and local files) #69
  • 포트 포워딩 — ⌘K '포트 포워딩'에서 로컬(-L)·다이내믹(-D SOCKS5) 터널 생성·중지. 활성 터널 목록 표시Port forwarding — create and stop local (-L) and dynamic SOCKS5 (-D) tunnels from the ⌘K 'Port Forwarding' panel; active tunnels are listed #70
  • 점프 호스트(ProxyJump) — 호스트 편집에서 '점프 호스트'를 지정하면 중간 호스트(bastion)를 거쳐 SSH 접속. 점프 인증은 ssh-agent·키체인Jump host (ProxyJump) — specify a jump host in the host editor to connect via a bastion; jump authentication uses ssh-agent or keychain #71
변경Changed
  • 타이틀바 대시보드·브로드캐스트 아이콘을 이모지 대신 설정 톱니와 같은 stroke SVG 아이콘으로 교체Title-bar dashboard and broadcast icons replaced with stroke SVG icons (matching the settings gear style) instead of emoji #72
  • macOS 빌드에 Developer ID 코드 서명 + 공증(notarize) 적용 — 다운로드 시 "손상됨" Gatekeeper 경고 제거macOS builds are now Developer ID-signed and notarized — eliminates the "damaged app" Gatekeeper warning on download #73
0.9.0 2026-06-04
추가Added
  • 터미널 스크롤백 검색(⌘F) — 검색창에서 다음/이전 이동 및 매치 하이라이트Terminal scrollback search (⌘F) — navigate next/previous matches with highlighting #48
  • 터미널 출력의 URL을 클릭하면 기본 브라우저로 열기Click URLs in terminal output to open them in the default browser #48
  • AI 빠른 동작 — '에러 고치기·출력 설명·다음 단계' 버튼으로 현재 터미널 출력을 자동 첨부해 AI에 질문, 답변의 명령은 카드로 바로 실행AI quick actions — 'Fix error · Explain output · Next steps' buttons automatically attach the current terminal output and ask the AI; commands in the reply become runnable cards #49
  • ~/.ssh/config 임포트 — 설정의 가져오기 탭에서 로컬 SSH 설정의 호스트를 한 번에 등록(인증은 ssh-agent 기본, 편집 가능)~/.ssh/config import — register all hosts from the local SSH config in one click from the Settings import tab (defaults to ssh-agent auth, editable) #50
  • 셸 통합(OSC 133) — 로컬 zsh에서 명령별 종료코드(✓/✗)·실행시간 배지 표시(커맨드 블록 1단계)Shell integration (OSC 133) — per-command exit-code (✓/✗) and timing badges in local zsh (command block phase 1) #51
  • 커맨드 블록 UI — 명령 점프(⌘↑/↓), 배지 클릭으로 블록 출력 복사, ✨ 버튼으로 그 블록을 AI에 질문Command block UI — jump between commands (⌘↑/↓), click a badge to copy the block output, click ✨ to ask the AI about that block #52
0.8.0 2026-06-02
추가Added
  • LLM 설정에서 Ollama(또는 OpenAI 호환 로컬 서버) 선택 시 설치된 로컬 모델을 드롭다운으로 표시 — /models 조회 및 새로고침 버튼 제공When Ollama (or any OpenAI-compatible local server) is selected in LLM settings, locally installed models are listed in a dropdown — /models lookup with a manual refresh button #46
변경Changed
  • AI 패널 와이어프레임 화면 ID(S-048) 노출 제거 및 '컨텍스트 자동 첨부는 후속' 안내를 실제 동작에 맞는 문구로 교체 (11개 언어)Removed the wireframe screen ID (S-048) from the AI panel and replaced the 'context auto-attach is coming later' hint with text that accurately describes the current behaviour (11 languages) #45
  • AI 패널 헤더의 모델 드롭다운·아이콘 버튼 크기를 키우고, LLM 설정 버튼을 흐릿한 ⚙ 글리프 대신 선명한 SVG 톱니바퀴 아이콘으로 교체Enlarged the model dropdown and icon buttons in the AI panel header; replaced the blurry ⚙ glyph on the LLM settings button with a crisp SVG gear icon #47
  • '활성 패널 출력을 컨텍스트로 포함' 시 첨부되는 터미널 출력 줄 수를 60줄 → 100줄로 확대Extended the terminal output attached when 'include active panel output as context' is enabled from 60 to 100 lines
0.7.0 2026-06-02
추가Added
  • 터미널 우클릭 컨텍스트 메뉴 — 복사·붙여넣기·전체 선택·지우기 (11개 언어)Terminal right-click context menu — copy, paste, select all, and clear (11 languages) #43
수정Fixed
  • 터미널에서 Tab 키가 가끔 AI 패널로 포커스를 넘기던 문제 — 인라인 제안 수락 시 preventDefault를 빠뜨려 브라우저 기본 포커스 이동이 일어나던 버그 수정Fixed Tab sometimes moving focus to the AI panel — missing preventDefault on inline suggestion acceptance let the browser's default focus traversal run #42
  • 호스트 목록 드래그 시 텍스트가 선택되던 문제 및 탭/터미널 우클릭 메뉴가 터미널 영역 클릭으로 안 닫히던 문제 — user-select: none 적용 및 바깥 클릭 감지를 캡처 단계로 변경Fixed text being selected when dragging the host list, and the right-click menu not closing when clicking inside the terminal — applied user-select: none and moved the outside-click listener to the capture phase #44
0.6.0 2026-06-02
추가Added
  • 설정 백업(호스트/그룹/태그) 내보내기/가져오기를 JSON 파일로 — 저장/열기 네이티브 다이얼로그(기존 클립보드 텍스트 방식도 유지). 시크릿은 미포함하나 호스트 주소·계정명은 포함되므로 동기화 위치 주의.Export/import the settings backup (hosts/groups/tags) as a JSON file via native save/open dialogs (the clipboard text method stays too). Secrets are excluded, but host addresses and usernames are included — mind where you sync it. #41
수정Fixed
  • 새 탭으로 SSH 접속 시 다른 세션(다른 탭의 셸) 출력이 새어 상단에 엉뚱한 프롬프트가 찍히던 문제 — 전역 출력 필터가 sessionId 설정 전 모든 출력을 통과시키던 버그 수정.Fixed another session's output (a shell in another tab) leaking into a new SSH tab and printing a wrong prompt at the top — the global output filter passed everything through before the session id was set. #39
  • 여러 탭이 같은 원격 tmux에 attach됐을 때 배경(숨김) 탭이 0 크기로 fit돼 tmux 폭이 ~10칸으로 쪼그라들던 문제 — 컨테이너에 실제 크기가 있을 때만 fit하도록 가드.Fixed the shared tmux session shrinking to ~10 columns because a background (hidden) tab fit at zero size — fit now runs only when the container actually has a size. #40
0.5.0 2026-06-01
추가Added
  • 터미널 선택 텍스트 복사: ⌘C 및 Edit 메뉴/우클릭 Copy로 시스템 클립보드 복사Copy selected terminal text: ⌘C and Edit menu / right-click Copy to the system clipboard #36
  • OSC 52 클립보드 지원: tmux(set-clipboard on)/vim 등이 복사 시 시스템 클립보드 반영. 보안상 쓰기만 허용하고 읽기 요청은 무시OSC 52 clipboard support: tmux (set-clipboard on)/vim writes reach the system clipboard. Write-only for safety — read requests are ignored #36
  • AI 패널 아이콘을 그라데이션 스파클 SVG로 교체(🤖 이모지 대체)AI panel icon replaced with a gradient sparkle SVG (instead of the 🤖 emoji) #38
수정Fixed
  • SSH 접속 시 상단에 프롬프트가 잔상으로 남던 문제를 근본 해결 — OSC 7 cwd 훅의 런타임 주입 제거. (수신 핸들러는 유지되어 원격 ~/.bashrc에 훅 한 줄을 넣으면 cwd 동기화 가능)Root-fixed the leftover prompt at the top on SSH connect — removed runtime injection of the OSC 7 cwd hook. (The receive handler stays, so adding one hook line to the remote ~/.bashrc still syncs cwd.) #37
  • 대체화면 TUI(tmux/vim/Claude Code 등) 종료 후 일반 셸에서 마우스 클릭이 좌표 텍스트로 찍히던 문제 — 일반 화면 복귀 시 마우스 추적 모드 자동 해제Fixed mouse clicks printing as coordinate text in the normal shell after exiting an alternate-screen TUI (tmux/vim/Claude Code) — mouse tracking is now auto-disabled when returning to the normal screen #37
0.4.0 2026-06-01
추가Added
  • 대체 화면(less/man/vim 등) 마우스 휠 스크롤 — 휠을 위/아래 화살표로 변환. 설정 토글 제공Mouse-wheel scrolling in alternate screens (less/man/vim) — the wheel is translated to up/down arrows. Toggleable in settings #35
수정Fixed
  • 한글 쌍자음(있/았/껐 등) IME 입력이 깨지고 삭제되지 않던 문제 — 조합 중 수정자 키(Shift 등)가 IME 미러를 리셋하던 버그 수정Fixed broken/undeletable Korean double-consonant IME input — modifier keys (e.g. Shift) during composition were resetting the IME mirror #34
  • SSH 접속 시 프롬프트가 두 번 찍히던 잔상 수정Fixed the prompt being drawn twice on SSH connect #34
0.3.0 2026-06-01
추가Added
  • 사용자 정의 키보드 단축키Customizable keyboard shortcuts #32
  • 창 간 드래그-병합 및 탭을 창 밖으로 드래그해 새 창 생성Drag-to-merge between windows, and drag a tab out to create a new window #33
0.2.0 2026-05-29
추가Added
  • LLM 응답 스트리밍 (SSE + Tauri Channel)Streaming LLM responses (SSE + Tauri Channel) #29
  • SFTP 이미지/로컬 미리보기, 더블클릭 미리보기, 파일 브라우저가 터미널 cwd에서 시작SFTP image/local preview, double-click preview, and the file browser starting from the terminal's cwd #30
  • 세션 인계 시 스크롤백 보존(출력 ring buffer)Scrollback preserved across session handover (output ring buffer) #31
  • 머신키 기반 암호화 파일 secret 저장소(OS Keychain 프롬프트 제거)Machine-key encrypted-file secret store (removes the OS Keychain prompt)
수정Fixed
  • WKWebView(macOS) 한글/CJK IME 입력 수정Fixed Korean/CJK IME input in WKWebView (macOS)
  • 표시 버전을 getVersion()과 동기화(하드코딩 제거)Synced the displayed version with getVersion() (removed the hardcoded value)
0.1.1 2026-05-29
변경Changed
  • 앱 내 자동 업데이트(tauri-plugin-updater) 첫 활성화 — updater 서명/latest.json 파이프라인 정착First enablement of in-app auto-update (tauri-plugin-updater) — settled the updater signing / latest.json pipeline
0.1.0 2026-05-28
추가Added
  • 기획서 71개 와이어프레임 1차 구현: 온보딩·스플래시, 멀티탭/분할/멀티윈도우, SSH 호스트·키 관리, SFTP 이중패널 파일 브라우저(전송 큐/진행률/미리보기/권한/검색), LLM/AI(백엔드·채팅·컨텍스트·명령 카드·이력), 명령 히스토리·Ctrl-R, 설정, 다국어 11개 언어First pass at all 71 spec wireframes: onboarding/splash, multi-tab/split/multi-window, SSH host & key management, dual-pane SFTP browser (transfer queue/progress/preview/permissions/search), LLM/AI (backends, chat, context, command cards, history), command history & Ctrl-R, settings, and 11 UI languages
  • SSH 매니저(russh), known_hosts TOFU 검증, 호스트키 불일치/최초접속 확인 모달SSH manager (russh), known_hosts TOFU verification, and host-key mismatch / first-connect confirmation modals
  • PTY 코어(portable-pty) + xterm.js 터미널PTY core (portable-pty) + xterm.js terminal
  • AI 백엔드(OpenAI 호환 어댑터 + 레지스트리)AI backends (OpenAI-compatible adapter + registry)
  • secret 저장소(keyring + Argon2id/AES-256-GCM 파일 폴백)Secret store (keyring + Argon2id/AES-256-GCM file fallback)

전체 변경 이력은 GitHub CHANGELOG를 따릅니다. The full changelog is maintained in the GitHub CHANGELOG.