변경 내역
RoamTerm 모바일 앱과 데스크톱 에이전트의 모든 릴리스를 최신순으로 보여 드립니다.
모바일 앱(iOS·Android)
스토어에 표시되는 버전별 새로운 기능입니다.
-
버전 1.11.0
출시일:
- 새 기능: 원격 도움. 1회용 도움 코드로 휴대폰에서 친구의 컴퓨터를 도와줄 수 있습니다. 모든 연결은 상대방이 승인하며, 연결된 동안 상대방 화면에 표시줄이 보입니다. 종단 간 암호화. 도움을 주려면 Google 또는 Apple 로그인이 필요하고 세션당 15분까지 무료입니다(Pro: 시간 제한 없음).
- 페어링한 컴퓨터가 로그인한 다른 기기에도 표시됩니다.
- 원격 데스크톱: Android 키보드의 백스페이스가 작동하고, 휴대폰에서 복사한 텍스트를 컴퓨터에 붙여넣을 수 있습니다.
- 구매를 완료하지 못했을 때 더 명확한 안내와 다시 시도 버튼을 표시합니다.
-
버전 1.10.3
출시일:
- 안정성: 최근 앱에서 RoamTerm을 닫아도 컴퓨터와의 연결이 유지됩니다.
-
버전 1.10.2
- iPhone에 새 Claude Code 페이지: Claude가 도움을 요청하거나 작업을 마치면 알림을 받으세요. 컴퓨터용 한 단계 설정 명령도 제공합니다.
-
버전 1.10.1
출시일:
- 권한 축소: RoamTerm은 더 이상 사진, 동영상, 음악 접근 권한을 요청하지 않습니다.
-
버전 1.10.0
출시일:
- 새 기능: Claude Code가 필요할 때 푸시 알림, 탭하면 해당 터미널 세션이 열립니다.
- 빠른 명령: 실행/입력만, 위험한 명령은 확인, {{값}}, 검색, 가져오기·내보내기.
- 새 기능: ADB를 켜고 끄고 컴퓨터 터미널을 여는 빠른 설정 타일(Android).
- 신규: 지원 및 피드백의 "서비스 상태"에서 RoamTerm이 정상인지 확인할 수 있습니다.
-
버전 1.9.2
출시일:
- 새 기능: 다시 시작할 때까지 ADB 준비 상태 유지(선택, ADB 화면). 나중에 Wi-Fi 없이도 ADB를 다시 켤 수 있습니다.
-
버전 1.9.1
출시일:
- 새 기능: 설정에 지원 및 피드백이 추가되었습니다. 버그 신고, 기능 제안, 질문을 보낼 수 있으며 모든 메시지를 읽고 있습니다.
-
버전 1.9.0
출시일:
- 업데이트 후 새로운 기능을 보여 주고, 설정 > 정보에서 전체 업데이트 기록을 볼 수 있습니다.
- 앱 내 업데이트 알림: Android에서는 스토어로 가지 않고 앱에서 바로 업데이트할 수 있습니다.
- 수정: 개인정보 처리방침, 이용약관, 지원 링크가 사용 언어의 올바른 페이지로 열립니다.
-
버전 1.8.3
출시일:
- Wi-Fi와 모바일 데이터 전환 시, 서비스가 혼잡할 때 연결이 더 안정적입니다.
- 페어링 링크: 카메라를 열지 않고, 잘못된 링크는 명확히 안내합니다.
- 손상된 앱 데이터로 인해 앱이 막히지 않습니다.
- 파일 전송: 깔끔한 취소, 저장 공간 부족 안내.
- 큰 글씨와 가로 화면에서 레이아웃 개선.
-
버전 1.8.2
출시일:
- 이제 모든 구독자의 Pro를 릴레이도 인식합니다: 직접 연결과 최대 속도.
- Pro 기능은 모든 경로(페어링 링크, ADB 설정, 파일 전달)에서 확인됩니다.
- Pro가 끝나면 ADB, 포트 포워딩, 원격 데스크톱, AI 접근이 깔끔하게 중지됩니다.
- 실행 직후 Pro 사용자에게 구독 화면이 잠깐 뜨지 않습니다.
-
버전 1.8.1
출시일:
- AI 접근을 켜면 컴퓨터 화면의 설정 카드가 사라집니다.
- 컴퓨터의 RoamTerm 0.11.1과 함께: 10초가 넘는 AI 호출, 재시작 후 호출, 동시 호출 문제를 고쳤습니다. 업데이트: roamterm update
-
버전 1.8.0
출시일:
- 데이터 사용량: RoamTerm의 모바일 데이터와 Wi-Fi 사용량을 기능·컴퓨터별로 표시.
- 배터리: ADB 켜짐과 대기 시 예상 소모, 잠금 시간, 팁.
- 오프라인 모드: 1시간, 내일까지, 또는 끌 때까지 연결하지 않습니다.
- 모바일 데이터 절약.
- 새 ADB 알림 아이콘, 컴퓨터 카드의 초록색 ADB 점.
- 일시 중지된 컴퓨터는 "사용자가 일시 중지함"으로 표시. RoamTerm 0.11.0 필요
-
버전 1.7.0
출시일:
- ADB 연결이 더 안정적: ADB가 켜져 있는 동안 Wi-Fi를 깨워 두고 컴퓨터가 adb를 자동으로 다시 연결합니다.
- ADB 연결 경로 선택: 자동, 직접 우선, 릴레이만. 같은 네트워크에서는 자동으로 직접 경로로 돌아갑니다.
- ADB 카드에 사용 중인 경로와 이유가 표시됩니다.
- 컴퓨터에 RoamTerm 0.10.0 필요: roamterm update
-
버전 1.6.2
출시일:
- 수정: 직접 연결이 끊긴 뒤 ADB 터널이 멈춰 있던 문제(컴퓨터에 ADB 꺼짐으로 표시). 이제 약 10초 안에 감지해 릴레이로 전환합니다.
-
버전 1.6.1
출시일:
- 수정: 직접 연결에서 ADB 터널이 계속 끊기던 문제("인터넷 없음, 터널 대기 중"). 직접 경로의 데이터가 항상 순서대로 전송됩니다.
- 직접 연결이 실패하면 RoamTerm이 즉시 릴레이로 전환합니다.
-
버전 1.6.0
출시일:
- ADB 설정: QR 단계가 명확해졌습니다(카메라는 RoamTerm이 아니라 Android 설정에서 열림). Wi-Fi와 개발자 옵션 확인, 각 화면 그림.
- 원격 데스크톱: Mac에서 화면 기록이 허용되지 않았다면 Mac이 권한 화면을 보여 주고 앱이 무엇을 켜야 하는지 알려 줍니다.
- 컴퓨터에 RoamTerm 0.8.0 필요: roamterm update
-
버전 1.5.0
출시일:
- 파일: 다시 열면 폴더가 비어 보이던 문제 수정, "여기서 터미널 열기" 추가.
- 원격 데스크톱과 ADB 터널이 가능하면 직접 연결 사용(Pro), 직접/릴레이와 지연 시간 표시.
- 원격 데스크톱: 저지연 모드로 인터넷에서도 더 부드럽게.
- 컴퓨터에 RoamTerm 0.7.0 필요: roamterm update
-
버전 1.4.0
출시일:
- 원격 데스크톱(Pro): 휴대폰에서 컴퓨터 화면을 보고 제어 — 트랙패드/터치, 모든 모니터, 화질 설정, 소리도 휴대폰으로.
- 시스템: CPU, 메모리, 디스크, 네트워크 실시간 표시; 프로세스와 전원 작업은 Pro.
- 컴퓨터에 RoamTerm 0.6.0 필요: roamterm update
-
버전 1.3.1
출시일:
- 파일: 폴더가 로딩 표시줄과 함께 바로 열리고, 하위 폴더는 백그라운드에서 미리 불러와 즉시 열립니다.
- 컴퓨터의 RoamTerm 0.5.1로 더 빨라집니다: roamterm update
-
버전 1.3.0
출시일:
- 더 똑똑한 터미널: 입력 중 추천, 자주 쓰는 폴더 우선, / 뒤에 Claude Code·Codex 명령.
- 휴대폰과 컴퓨터 간 텍스트 전송 및 클립보드 동기화(동기화는 Pro).
- 어떤 앱에서든 컴퓨터로 텍스트 공유.
- 컴퓨터에 RoamTerm 0.5.0 필요: roamterm update
-
버전 1.2.3
출시일:
- 이제 컴퓨터에서 이 휴대폰의 실제 이름, 모델, Pro 요금제를 볼 수 있습니다.
- 연결 정보에 연결이 종단 간 암호화되어 있음을 표시합니다.
- 컴퓨터의 RoamTerm 데스크톱 앱 0.4.0과 함께 사용하면 가장 좋습니다: roamterm update
-
버전 1.2.2
출시일:
- 이 휴대전화를 삭제한 컴퓨터는 이제 목록에서 자동으로 사라집니다.
- 컴퓨터에 RoamTerm 에이전트 0.3.2 필요: roamterm update
-
버전 1.2.1
출시일:
- 컴퓨터의 에이전트가 다시 시작되면 ADB 터널이 자동으로 다시 연결됩니다.
- ADB 화면에 "터널 다시 시작" 버튼 추가.
- RoamTerm 에이전트 0.3.1 권장: roamterm update
-
버전 1.2.0
출시일:
- 터미널 입력 중 추천: cd 뒤 폴더, 파일, 명령어, git 브랜치, 최근 명령어.
- 명령어 기록: 휴대전화와 컴퓨터의 최근 명령어를 찾아 다시 실행.
- 명령어 입력란: 긴 명령어를 편하게 입력 후 전송.
- 더 쉬운 키 바: 자주 쓰는 키를 앞에, 화살표는 길게 누르면 반복.
- 자동 완성에는 RoamTerm 에이전트 0.3.0 필요: roamterm update
-
버전 1.1.0
출시일:
- 입력 없이 ADB 페어링: 컴퓨터에 표시된 QR 코드를 스캔하세요.
- 설정이 열린 상태에서도 알림에 코드를 입력할 수 있습니다.
- 컴퓨터의 adb가 연결되면 표시됩니다.
- 더 명확한 컴퓨터 카드와 새 기기 화면.
- 휴대전화와 컴퓨터 간 파일 전송.
- 터미널 세션을 쉽게 삭제.
- 컴퓨터에 RoamTerm 에이전트 0.2.0 필요: roamterm update
-
버전 1.0.4
출시일:
- Wi-Fi 없이 원격 ADB: USB 케이블로 컴퓨터에 한 번 연결해 설정하세요.
- 더 명확하고 짧아진 페어링 단계.
- 케이블 설정에는 컴퓨터에 RoamTerm 에이전트 0.1.3이 필요합니다.
-
버전 1.0.3
출시일:
- RoamTerm 팀이 선물한 Pro가 이제 안정적으로 활성화됩니다.
- 로그인하면 이 휴대폰이 계정에 바로 연결됩니다.
- 안정성 개선.
-
버전 1.0.2
출시일:
- 선물받은 Pro: RoamTerm 팀이 부여한 Pro로 앱이 잠금 해제됩니다.
- 원격 ADB: Wi-Fi가 없으면 무선 디버깅에 잠시 Wi-Fi가 필요하다고 바로 알려 주고, 연결되면 자동으로 계속합니다.
- 컴퓨터 화면에서 바로 설정으로.
- 요금제 오류 안내 개선.
- 파일: 새 폴더 / 이름 바꾸기 수정.
- 접근성 및 안정성 개선.
데스크톱 에이전트(Mac·Windows·Linux)
데스크톱 에이전트의 변경 내역은 영어로 작성됩니다.
-
버전 0.12.0
출시일:
- Control center: the Claude Code notifications card no longer shows a stray "null" next to the Install button; the remote desktop permission hint and a consent request are never on screen together (consent first, the hint returns after the answer).
- Keep awake: the computer no longer idle-sleeps while a phone is using it (terminal, files, ADB tunnel, AI session, remote desktop), so the phone does not lose it. New setting "Keep awake while a phone is connected" (Settings -> Keep awake, default on): "while a session is open" (default) or "while any phone is online", plus "also on battery" (default off: a laptop on battery is not kept awake unless you opt in). macOS holds a system-sleep assertion (the screen can still turn off), Windows
SetThreadExecutionState, Linux a logind inhibitor lock. Released within seconds when the last session ends, the phone goes offline, you pause the agent or change the setting, and always when the agent exits or crashes. Closing the lid still sleeps the computer. - Indicator "Keeping this Mac awake - <what>" on Overview, in Settings, in the menu bar panel and the tray menu (11 languages).
- SSH sessions now report what is running right now (
SessionInfo.Active), not only what the connection did so far. - Claude Code notifications:
roamterm notify(the hook command) androamterm claude-hooks install | uninstall | status. When Claude Code asks for permission, waits for input (Notification hook) or finishes a turn (Stop hook), the phone that owns that tmux session gets a push; a tap opens the terminal attached to that session. The push never contains the prompt, command, file names, directory or any Claude text (only "Claude needs you on <computer>"). Throttled per tmux session (waiting 1 per 2 min unless answered, done 1 per 5 min); no push while the phone is attached to that session. The installer merges into~/.claude/settings.jsonwithout touching your other settings or hooks (backup, atomic write, refuses invalid JSON, uninstall removes only RoamTerm's entries). Control center: new "Claude Code notifications" card on the AI / MCP tab. Needs a relay that announcespush_claude(older relays are never sent the new events). Seedocs/claude-hooks.md.
-
버전 0.11.4
출시일:
- Control center: new "Support & feedback" page (
#/support, sidebar entry "Support"). Pick a category (problem, feature idea, question, other), write the message (10-5000 characters), optionally leave an email for a reply, and tick "Include diagnostic info" (on by default) with a "What is sent" list. Nothing is sent until Send; a failed send keeps the draft (the agent holds it while the window is closed) and a retry of the same text reuses its ticket id, so a report is never duplicated. On success the page shows the ticket number. Rate limits show when to try again. Opens from About ("Report a problem / Send feedback"), the menu bar panel, the tray menu androamterm feedback(=roamterm open support). - The report goes over HTTPS straight to the RoamTerm backend (not through the relay), 15 s timeout,
docs/support/CONTRACT.mdv1. Diagnostics are counts and flags only (version, OS and OS version, architecture, language, relay online/offline, P2P on/off, paired phones, open sessions, ADB / tmux installed, update channel): never host or user names, paths, keys, tokens, phone names or terminal content.GET /api/support/diagnosticsreturns exactly that object. - No API key is needed or sent (the function is public,
VERIFY_JWT=false).ROAMTERM_SUPPORT_URLoverrides the endpoint for tests (https, or http to loopback only).
- Control center: new "Support & feedback" page (
-
버전 0.11.3
출시일:
- Control center and menu bar: a USB cable or Wireless debugging link between this computer and a phone is no longer shown as the RoamTerm ADB tunnel. The chips read "ADB tunnel 2 min" only while the tunnel is up, and "Wi-Fi debugging · 2 min" / "USB · 2 min" for the computer's own adb link (no duration when it was already there at start).
GET /api/devices/linksand the ADB status carry it as a separatelocal {kind, serial, since};adb.methodis now onlytunnel. - ADB tab: a "On this computer" box with the serial and a working
adb -s <serial> shell; the tunnel's address and commands show only while adb lists the tunnel as a device; screenshot / APK / scrcpy say why they are disabled. - A local adb link is credited to a paired phone only when unambiguous (model suffix match, never two phones of one model).
- A Pro period that ended while the phone was away shows "Pro ended" instead of "Pro"; an offline phone's model / app version are marked "reported <when>" and its last route is not shown as current. Devices "ADB" filter counts local links.
- Control center and menu bar: a USB cable or Wireless debugging link between this computer and a phone is no longer shown as the RoamTerm ADB tunnel. The chips read "ADB tunnel 2 min" only while the tunnel is up, and "Wi-Fi debugging · 2 min" / "USB · 2 min" for the computer's own adb link (no duration when it was already there at start).
-
버전 0.11.2 ·
- Relay busy (HTTP 503/429 with Retry-After, E_LIMIT, close 4429): the agent waits as told (at least 3 s, with jitter) instead of retrying at once; an old agent answered with E_VERSION now says "update required".
- After the computer sleeps, the dead relay link is noticed within seconds of waking (wall-clock jump) instead of up to 90 s later.
- Phone sessions whose link died silently (Wi-Fi switch, lid closed, phone out of range) are closed after ~90 s (SSH keepalive), so the control center no longer lists sessions that are gone.
- A phone removed while its approval dialog was open no longer gets a shell.
- A damaged devices.json or config.json (power loss, full disk) no longer stops the agent from starting: the file is moved aside (
*.corrupt-<time>), the agent starts with defaults and logs a warning. Settings files are now fsynced. - Starting RoamTerm a second time opens the running agent's control center instead of a second menu bar icon.
- Started from the login item or Finder, the agent now finds Homebrew/Android SDK tools (tmux, adb, git), and phone shells start in your home folder instead of
/. An invalid$SHELLfalls back to/bin/sh.
-
버전 0.11.1 ·
- MCP: tool calls that run longer than 10 seconds (
shellwith a longtimeout_s,install_apk, slowui_tree) no longer fail with "RoamTerm agent error: EOF"; the IPC reply deadline now starts when the answer is ready. - MCP: after the agent restarts (update, crash), an open MCP session opens a new AI session by itself and repeats the call once, instead of answering "unknown AI session; restart the MCP server" until the AI tool was restarted.
- MCP: two AI tools calling
ui_treeat the same time no longer kill each other'suiautomator dump; dumps are serialized. - Test hook
ROAMTERM_ADB_TUNNEL_TEST_PORT(17555-17559 only) so a test agent can run next to the user's own; docs/mcp.md updated (refusal wording,0= default, restart behaviour).
- MCP: tool calls that run longer than 10 seconds (
-
버전 0.11.0 ·
- Go offline: pause this computer for 1 hour, until tomorrow 08:00 or until you turn it back on (menu bar panel and menu, Settings -> General,
roamterm pause [--for 1h | --until 08:00],roamterm resume). Phones are told first (agent_paused), then the relay link, direct (P2P) peers, open sessions and the ADB tunnel are closed and no new connection is accepted; the control center keeps working. The pause survives restarts and ends by itself; the menu bar icon turns grey ("Offline") and every page shows a banner. Protocol: docs/PROTOCOL.md section 14.
- Go offline: pause this computer for 1 hour, until tomorrow 08:00 or until you turn it back on (menu bar panel and menu, Settings -> General,
-
버전 0.10.1 ·
- Fixed: the menu bar panel froze on the data of its first load (e.g. a phone shown "Offline" while the control center showed it online with ADB connected): every later refresh threw because it removed the loading skeleton a second time.
-
버전 0.10.0 ·
- ADB link watchdog: while a phone's tunnel is on, the agent keeps adb attached to 127.0.0.1:16555 (retries 1, 2, 4, 8 s, then every 15 s; checks every 10 s and repairs an offline / missing entry). Before, one failed auto-connect right after the tunnel came up ("connection refused") was never retried.
- ADB tab "ADB link" card: the path (Direct / Relay) with the reason in plain words, how long it has been up, the phone's path preference (Auto / Prefer direct / Relay only, sent to the phone) and Reconnect; the watchdog state. The menu bar panel and the Devices card show the reason too. Protocol:
adb_statepath / path_reason / pref / since; agent → phoneadb_path_pref,adb_reconnect(docs/PROTOCOL.md section 13). - Fixed: the Devices card's action buttons overlapped the paired date and Overview "Quick actions" labels were clipped (two components shared the CSS class
.qa). -
roamterm updateasks a running agent to restart into the new version (IPCagent.restart) and ends its progress line.
-
버전 0.9.1 ·
- Fixed: when the agent stopped on its own (Quit from the menu bar panel, Restart after an update or a permission grant) the menu bar loop kept the process alive with its icon and window, and the restarted agent ran next to it. Two agents, the window bound to the dead one: the device showed offline and ADB off while the menu bar said ADB. The tray now ends with the agent, and the restart helper ends an old agent that is still there after 20 s (TERM, then KILL) before it starts the new one.
-
버전 0.9.0 ·
- New look for the whole control center: a refreshed design system (motion, elevation, components: modal, toasts, progress, skeletons), a sidebar with a gliding active indicator and collapsible rail, page transitions, light and dark.
- Overview: animated connection diagram (phone, direct P2P or relay, this computer, with the round trip), count-up stat cards and a live "Connected devices" strip (online for, ADB for, method, path, sessions).
- Updates: "Update now" shows progress (download, signature check, install) and then asks "Restart now / Later"; a background install never restarts while you work, it asks the next time the window is focused.
GET /api/update/status,POST /api/update/restart. - Menu bar (macOS): a click opens a panel with every phone's card (online for, ADB connected for, method USB / Wi-Fi / tunnel direct or relay, turbo, sessions, quick actions) and "Connection methods" with tips for a faster connection; right click keeps the menu. Windows / Linux: per-phone submenus with the same info.
GET /api/devices/links. - Devices, device page and every tab, Settings (two columns, scroll-spy navigation, Connection methods card), Pair a phone (animated QR, live waiting state, success animation), ADB QR, About and the remote desktop dialogs restyled on the new design.
-
버전 0.8.2 ·
- Direct (P2P) path: ICE gives a quiet phone more time (disconnected 10 s, failed 30 s instead of 5 s / 10 s; phones on Wi-Fi power save went silent for a few seconds and the path was dropped), and every closed P2P connection is logged with its reason.
-
버전 0.8.1 ·
- After an update the agent now restarts in every mode (Terminal / Finder: a detached helper starts it again with the same arguments; LaunchAgent:
launchctl kickstart -k) and opens the control center on Settings again. Before, an agent started from a terminal kept running the old version and its window showed the old page. - "Restart RoamTerm" after a permission grant works under the LaunchAgent too (KeepAlive only covers crashes since 0.8.0).
- A debug log line for every ended SSH connection (alive time, first read/write error) to diagnose dropped links.
- After an update the agent now restarts in every mode (Terminal / Finder: a detached helper starts it again with the same arguments; LaunchAgent:
-
버전 0.8.0 ·
- ADB turbo is now an opt-in, experimental setting (off by default;
adb_turbo_exp). A phone running 0.7.0's turbo saw truncated screenshots ("invalid PNG: unexpected EOF") and an ended mirror ("video stream ended: EOF"). The proxy no longer drops the whole connection for one stream's anomaly (only that stream is closed), tolerates A_OKAY without a payload, returns the buffer budget of ended streams, never sends A_CLSE ahead of unacknowledged data, writes each leg from its own goroutine, and shows the last turbo issue in the ADB tab. docs/adb/turbo.md - Pairing approval dialog (macOS): like the remote desktop consent, only the Deny button counts as Deny; a dialog that cannot be shown keeps the request waiting for an answer from the control center.
- Control center ADB QR page: clearer steps (the scanner is Android's own, in Settings -> Wireless debugging), 11 languages.
- macOS: RoamTerm is now a real app. The pkg installs
/Applications/RoamTerm.app(icon, version, copyright, usage descriptions; the executable is the agent itself, so permissions belong to RoamTerm.app), opens it after the install, and the window starts on "Pair a phone" while no phone is paired. First launch registers start at login. Double click / Spotlight / Launchpad always opens the control center (also while the agent runs). Upgrades replace the oldRoamterm.app. The curl installer creates~/Applications/RoamTerm.apptoo (--no-appskips);roamterm uninstallandinstall --uninstallremove it. - macOS: the login item no longer restarts the agent after Quit from the menu bar (launchd KeepAlive only on a crash).
- Remote desktop, first use on a Mac: when Screen Recording was never granted, a start from the phone now asks macOS (system prompt, RoamTerm appears in the Screen Recording list), shows a notification and brings the control center forward on a "Remote desktop needs permission" card that names the app to switch on (RoamTerm, or Terminal / iTerm / ... when started from a shell), opens the Privacy pane and can restart RoamTerm. The phone gets a specific "waiting for permission" state instead of a bare "permission not given". Accessibility (mouse and keyboard) missing: the session starts view-only and the same card explains it.
- Remote desktop consent: only the Deny button (osascript -128) counts as Deny. When the native dialog cannot be shown (-1713, no GUI session, osascript blocked) the request keeps waiting and the control center shows an Allow once / Always allow / Deny card with a notification; the dialog now opens in front. Protocol:
info.permission_assist, extra fields onno_permission_screen(docs/PROTOCOL.md).
- ADB turbo is now an opt-in, experimental setting (off by default;
-
버전 0.7.0 ·
- ADB turbo: the agent now speaks ADB's delayed-ACK flow control with the phone over the tunnel and classic ADB with the local adb server (split proxy on 127.0.0.1:16555). Screen mirroring over the internet arrives evenly instead of in bursts once per round trip, and bulk ADB (install, pull, exec-out) is ~14x faster at 120 ms RTT (emulator: 0.8 -> 11.3 MB/s). On by default; turns itself off for 10 minutes for a phone whose adbd lacks the feature or on any protocol error (Settings -> ADB turbo). docs/adb/turbo.md
- Screen tab: new "Fast" preset (960 px, 3 Mbit/s, 30 fps), the default over the tunnel; preset explanations; the link (USB / Wi-Fi / internet tunnel) and a Turbo badge in the stats; a collapsible Logs panel next to the phone (shares the Logs tab's stream); screenshot dialog with Copy image, Save, Show in folder, Open and Cmd/Ctrl+Shift+S.
- Remote desktop: the flow window follows the measured round trip (up to 12 frames, drop age 300 ms-1.2 s) and the bitrate no longer drops on a steady long link; "low latency" (default) vs smoother buffering chosen by the phone.
- New "AI / MCP" tab per device: status (AI access on the phone, ADB tunnel, roamterm on PATH), copy-ready setup for Claude Code, Codex CLI, Claude Desktop, Cursor, VS Code / Copilot, Windsurf and generic JSON, and the full tool list generated from the MCP server (grouped, searchable, read-only vs acts). Overview card "Connect an AI tool".
- Appearance: System / Light / Dark theme (Settings and a sidebar toggle), applied before first paint; the native window follows it.
- Devices page: the device card no longer overflows with long names; the rename pencil sits next to the name.
-
버전 0.6.0 ·
- Remote desktop from the phone (Pro on the phone): see and control this computer's screens over the end-to-end encrypted link (SSH subsystem
roamterm-desktop). macOS: ScreenCaptureKit + hardware H.264 (VideoToolbox), mouse / keyboard through CGEvent, system sound as AAC (macOS 13+). Windows and Linux (X11): screen capture + input with RoamTerm's tiles codec (no sound yet). Every monitor, quality presets with adaptive bitrate, sound off / on the phone / on the phone with the computer muted (restored afterwards, also after a crash), keep-awake during a session. - Consent per phone: ask every time (Allow once / Always / Deny on this computer), always (unattended, turned on in the control center with a warning) or off. While a session runs the menu bar shows it with "Stop screen sharing", a notification appears and the audit log records start / stop (never pixels or typed text). New "Remote desktop" tab on the phone page and a Settings section with the macOS Screen Recording / Accessibility permissions and Grant buttons.
- System monitor for the phone (
roamterm-ctl): CPU (per core), memory, disks, network, battery, uptime, model; process list and ending your own processes; power actions (lock, display off, sleep, keep awake, restart, shut down, log out) without sudo; audit logged and rate limited.
- Remote desktop from the phone (Pro on the phone): see and control this computer's screens over the end-to-end encrypted link (SSH subsystem
-
버전 0.5.1 ·
- Phone file browser: folders open faster over the relay: one directory reply now carries up to 250 entries (was 100), so a big folder needs fewer round trips.
-
버전 0.5.0 ·
- Phone screen in the desktop app: the new Screen tab mirrors and controls an Android phone over ADB (scrcpy server v3.3.4 built in, H.264 decoded in the window): mouse = touch, wheel = scroll, right click = back, keyboard + paste, home / recents / power / volume / rotate, quality presets (Smooth 720p by default over the relay, Sharp, Data saver), full screen.
- Logs tab: live logcat with 50 000 lines, level / tag / app filters, text or regex search with highlight, crash and ANR cards, follow / pause, copy selection, export to ~/Documents/RoamTerm Logs, clear the phone's buffer.
- Clipboard tab: send text to the phone, texts from the phone, clipboard sync per phone and per direction (Pro on the phone; off by default; password-manager content is never synced; text is never logged).
- Smarter terminal suggestions for the phone: folders ranked by how often and how recently you use them (zoxide / z / autojump, shell history, the folders your phone visited), jump to frequent folders from anywhere; inside Claude Code, Codex or Copilot CLI
/suggests their commands plus your own commands, skills and plugins read from disk; npm / pnpm scripts, make targets, ssh hosts. - New MCP tools: logcat_search, crash_report, ui_tree, tap, swipe, input_text, press_key, launch_app, stop_app, list_packages, app_info, open_url (same AI access switch, audit log and rate limits).
- The control center fills wide windows; a phone's page is split into tabs (Overview, ADB, Screen, Logs, Clipboard, Files).
-
버전 0.4.0 ·
- RoamTerm desktop app: the control center opens in RoamTerm's own window (macOS WebKit, Windows WebView2) with a Dock / taskbar icon instead of a browser window; opening it again brings the same window to the front (one window only). Browser window as fallback.
- Menu bar / tray: green when phones are connected, the phone's name (or the count) next to the icon on macOS, connected phones in the menu (click opens the phone), Settings, "Update available". OS notifications for files received from a phone and new versions.
- Settings: start at login, approval policy, ADB auto-connect (all / chosen phones / off), folder for files from phones, screenshot folder + auto-save + auto-copy, notifications, updates (check now, install in the app, optional automatic install), license & Pro (plan, renewal / expiry date as the phone reports it), security & privacy.
- ADB screenshots work over the relay: own 90 s deadline (was 20 s, a 2-5 MB PNG over the tunnel timed out), 32 MB capture cap (busy screens were cut at 8 MB), progress with seconds and Cancel, errors shown. Copy to clipboard, Save, Show in folder, Download, strip of recent screenshots.
- Phones report their real name, model, OS, app version and Pro state (
device_info, mobile 1.2.3); rename is a visible pencil on phone cards and the phone page. - "End-to-end encrypted" shown on Overview, phone pages, pairing and About, with the host key fingerprint.
- macOS binaries run on macOS 13 and later again (earlier builds required the build machine's macOS version).
-
버전 0.3.2 ·
- Fix: after a relay restart the agent could stay offline until restarted ("got 421"): a failed handshake left its TLS connection in the pool and every retry reused it; websocket handshakes now always open a fresh connection.
- Removing a phone (control center,
roamterm devices revoke) now also removes this computer from that phone's list: the agent sends the removed phones with the allowlist (allowlist_set.revoked), the relay answers that phone's presence query withremoved: true.
-
버전 0.3.1 ·
- Control center ADB panel: "Reconnect" also works while adb shows the phone as offline: it clears the stale entry and, when the phone's tunnel is down, says so; a step-by-step note tells what to do on the phone.
- When a phone's ADB tunnel comes back and adb still lists 127.0.0.1:16555 as offline, the agent reconnects adb by itself.
- A phone's newer link takes its own reverse-forward listener over at once (the old, half-open link no longer blocks the port).
-
버전 0.3.0 ·
- Fix: the ADB QR page of the control center stayed blank (black) when no QR was pending, when the window opened in the background or when a request failed. It now always shows something (loading, the QR, "no QR is waiting", or an error with Retry), content no longer waits for an opacity animation, and an expired window or reloaded one-time link shows a styled "This window expired" page with
roamterm open <page>instead of a plain error text. On Linux the control center also opens when the agent runs as a user service withoutDISPLAY(X / Wayland sockets are detected). - Control center, ADB panel on the device page: live state of
127.0.0.1:16555(device / unauthorized / offline / absent), tunnel and adb client count, Connect / Disconnect / Reconnect (disabled with a reason when adb is missing or the phone's tunnel is off, with the install command), phone info (model, Android, battery, screen), screenshot (inline + download), APK install (<= 1 GiB, progress), scrcpy, copyable commands. Only fixed operations exist; one action at a time; timeouts 20 s / 5 min. - Devices: rename (local label, <= 64 characters, shown everywhere), "End sessions now", open connections with kind and route (relay / P2P), last connection route, readable timeline with copy buttons. Overview: cards for devices, ADB, pending QR codes, AI sessions, file hand-offs, P2P, and update status with "Update now" for self-managed installs (package-manager installs show their command).
- New ctl messages
term_complete(tab completion: commands,cddirectories, git, paths in the tmux pane's cwd) andshell_history(zsh / bash / fish / PowerShell, secrets filtered), seedocs/PROTOCOL.md. - Fix: the phone's ADB report was cleared when ANY ctl stream of the device closed; now only the stream that reported it owns it.
- Fix: the ADB QR page of the control center stayed blank (black) when no QR was pending, when the window opened in the background or when a request failed. It now always shows something (loading, the QR, "no QR is waiting", or an error with Retry), content no longer waits for an opacity animation, and an expired window or reloaded one-time link shows a styled "This window expired" page with
-
버전 0.2.0 ·
- Desktop control center: the two bare tray pages became a local web app (Overview, Pair a phone, Devices and device detail, ADB QR, About; Night/Day theme from the design tokens, 11 languages, polling live updates). Same security model as before (127.0.0.1, random port, one-time token -> HttpOnly SameSite=Strict cookie, Host + Origin checks, now a strict CSP with no inline code or external resources). It opens in an app-style window (Edge / Chrome / Brave / Chromium
--app=, default browser as fallback) and runs whenever there is a desktop session, with or without the tray. -
roamterm open [overview|pair|devices|adb-qr|about]and a tray item "Open RoamTerm". The macOS app now opens the control center when started from Finder (a launcher script hands over to the agent; double-clicking while the agent runs opens the window instead of doing nothing). - QR pairing for Android Wireless debugging:
adb_pair_qr(roamterm-ctl) shows the QR in the control center, orroamterm adb qrprints it in the terminal. In memory only, never logged, valid 5 minutes. -
tmux_kill(roamterm-ctl): the phone can remove a terminal session. - File hand-off:
files_info,files_ackand the pushedfiles_offer. Drag files onto a device in the control center (up to 2 GiB each); the phone downloads them over SFTP from a hidden outbox inside the SFTP root; files from phones land in~/Downloads/RoamTerm("Show in Finder / Explorer"). - The control center shows when the computer's adb is connected through a phone's tunnel (
client connected). -
roamterm runhints are OS-specific (macOS no longer says "Ctrl+C": "Control-C (⌃C)", ⌘T, menu bar), in all 11 languages, plus a "Control center: roamterm open" line. The tray hint is now shown on every OS. - The update check also runs for package-manager installs, only to show "update available" in the control center.
- Desktop control center: the two bare tray pages became a local web app (Overview, Pair a phone, Devices and device detail, ADB QR, About; Night/Day theme from the design tokens, 11 languages, polling live updates). Same security model as before (127.0.0.1, random port, one-time token -> HttpOnly SameSite=Strict cookie, Host + Origin checks, now a strict CSP with no inline code or external resources). It opens in an app-style window (Edge / Chrome / Brave / Chromium
-
버전 0.1.3 ·
-
adb_usb_tcpip(roamterm-ctl): switches a phone plugged in by USB to TCP mode for the no-Wi-Fi ADB setup; slow ctl requests are answered asynchronously.
-
-
버전 0.1.2 ·
- Messages follow the macOS interface language (System Settings) instead of the region-based
LANG(English UI with a Turkish region now gets English; launchd/terminals withoutLANGno longer fall back to English on a Turkish Mac). Order: ROAMTERM_LANG, LC_ALL, LC_MESSAGES, macOS UI language, LANG, English.
- Messages follow the macOS interface language (System Settings) instead of the region-based
-
버전 0.1.1 ·
-
roamterm runnow says when it is connected and what to do next (pair the phone, start at login, stop), in the system language; it no longer looks stuck after the first line.
-
-
버전 0.1.0 ·
- First public release, served from https://dl.roamterm.com/agent/ (the GitHub repo is private).
-
curl https://roamterm.com/install | shworks on stock macOS: without OpenSSL 3 the downloaded binary verifies the manifest and itself (roamterm verify-download, key from the installer). - macOS self-update and install use per-arch binaries (the universal one stays in the .pkg).
- ADB reverse tunnel: the newest link of a phone takes over (Wi-Fi to mobile data).