Changelog

Todas las versiones de la app móvil de RoamTerm y del agente de escritorio, de la más reciente a la más antigua.

App móvil (iOS y Android) Agente de escritorio (Mac, Windows, Linux) Feed Atom

App móvil (iOS y Android)

Novedades de cada versión, tal como aparecen en la tienda.

  1. Versión 1.11.0

    Publicada:

    • Novedad: ayuda remota. Ayuda a un amigo con su ordenador desde el teléfono con un código de un solo uso. Aprueba cada conexión y ve una barra mientras estés conectado; cifrado de extremo a extremo. Ayudar requiere Google o Apple; 15 min gratis por sesión.
    • Tus ordenadores vinculados aparecen en tus otros dispositivos.
    • Escritorio remoto: el retroceso de Android funciona y lo copiado en el teléfono se pega en el ordenador.
    • Mensaje más claro y reintento si una compra falla.
  2. Versión 1.10.3

    Publicada:

    • Estabilidad: las conexiones con tu ordenador ahora se mantienen al cerrar RoamTerm desde las apps recientes.
  3. Versión 1.10.2

    • Nueva página de Claude Code en iPhone: recibe un aviso cuando Claude te necesite o termine, con un comando de configuración de un solo paso para tu ordenador.
  4. Versión 1.10.1

    Publicada:

    • Menos permisos: RoamTerm ya no pide acceso a tus fotos, vídeos ni música.
  5. Versión 1.10.0

    Publicada:

    • Nuevo: aviso cuando Claude Code te necesita; al tocarlo se abre esa sesión del terminal.
    • Comandos rápidos: Ejecutar o Insertar, confirmación en los arriesgados, {{valores}}, búsqueda, importar y exportar.
    • Nuevo: mosaicos de Ajustes rápidos para activar o desactivar ADB y abrir el terminal de tu ordenador (Android).
    • Novedad: «Estado del servicio» en Soporte y comentarios muestra si RoamTerm funciona.
  6. Versión 1.9.2

    Publicada:

    • Novedad: mantén ADB listo hasta reiniciar (opcional, en la pantalla de ADB). Vuelve a activar ADB después sin Wi-Fi.
  7. Versión 1.9.1

    Publicada:

    • Novedad: Soporte y comentarios en Ajustes. Informa de un error, sugiere una función o haz una pregunta; leemos todos los mensajes.
  8. Versión 1.9.0

    Publicada:

    • Tras cada actualización se muestran las novedades; el historial completo está en Ajustes > Acerca de.
    • Aviso de actualización en la app: en Android actualiza desde la propia app, sin ir a la tienda.
    • Corregido: los enlaces de privacidad, términos y soporte ahora abren la página correcta en tu idioma.
  9. Versión 1.8.3

    Publicada:

    • Conexiones más fiables al cambiar entre Wi-Fi y datos móviles, y cuando el servicio está ocupado.
    • Enlaces de emparejamiento: sin cámara y aviso claro si el enlace no es válido.
    • Los datos dañados de la app ya no te bloquean.
    • Transferencias: cancelación limpia y aviso de almacenamiento lleno.
    • Mejor diseño con texto grande y en horizontal.
  10. Versión 1.8.2

    Publicada:

    • El relé ahora reconoce Pro en todas las suscripciones: conexión directa y velocidad completa.
    • Las funciones Pro se comprueban en todos los caminos (enlaces de emparejamiento, configuración de ADB, envío de archivos).
    • Al terminar Pro, ADB, redirecciones de puertos, escritorio remoto y acceso de IA se detienen correctamente.
    • Los usuarios Pro ya no ven el muro de pago un instante al abrir la app.
  11. Versión 1.8.1

    Publicada:

    • La tarjeta de configuración de la pantalla Equipos desaparece al activar el acceso de IA.
    • Con RoamTerm 0.11.1 en el ordenador: se corrigen las llamadas de IA de más de 10 segundos, tras un reinicio y en paralelo. Actualiza con: roamterm update
  12. Versión 1.8.0

    Publicada:

    • Uso de datos: datos móviles y Wi-Fi de RoamTerm, por función y ordenador.
    • Batería: consumo estimado con ADB activo vs. en reposo, tiempos de bloqueo, consejos.
    • Modo sin conexión: ninguna conexión durante 1 hora, hasta mañana o hasta que lo apagues.
    • Ahorro de datos en red móvil.
    • Nuevo icono de ADB en notificaciones; punto verde de ADB en la tarjeta.
    • Un ordenador en pausa muestra «pausado por su usuario». Requiere RoamTerm 0.11.0
  13. Versión 1.7.0

    Publicada:

    • ADB se mantiene conectado de forma más fiable: el Wi-Fi sigue activo mientras ADB funciona y el ordenador reconecta adb solo.
    • Elige la ruta de ADB: Automática, Preferir directa o Solo relé. En la misma red vuelve sola a la ruta directa.
    • La tarjeta de ADB muestra qué ruta se usa y por qué.
    • Requiere RoamTerm 0.10.0 en el ordenador: roamterm update
  14. Versión 1.6.2

    Publicada:

    • Corregido: el túnel ADB podía quedarse bloqueado tras caer la conexión directa (el ordenador mostraba ADB desactivado). Ahora lo detecta en unos 10 segundos y pasa al relé.
  15. Versión 1.6.1

    Publicada:

    • Corregido: el túnel ADB se cortaba continuamente con conexión directa («Sin internet, esperando el túnel»); los datos por la vía directa ahora se envían siempre en orden.
    • Si la conexión directa falla, RoamTerm pasa al relé de inmediato.
  16. Versión 1.6.0

    Publicada:

    • Configuración de ADB: paso QR más claro (la cámara se abre en los Ajustes de Android, no en RoamTerm), comprobación de Wi-Fi y opciones de desarrollador, imágenes de cada pantalla.
    • Escritorio remoto: si el Mac aún no permite la grabación de pantalla, ahora muestra su ventana de permiso y la app te dice qué activar.
    • Requiere RoamTerm 0.8.0 en el ordenador: roamterm update
  17. Versión 1.5.0

    Publicada:

    • Archivos: las carpetas ya no aparecen vacías al reabrir; nuevo "Abrir terminal aquí".
    • Escritorio remoto y túnel ADB usan conexión directa cuando es posible (Pro), con Directo/Relé y latencia visibles.
    • Escritorio remoto: modo de baja latencia, más fluido por internet.
    • Requiere RoamTerm 0.7.0 en el ordenador: roamterm update
  18. Versión 1.4.0

    Publicada:

    • Escritorio remoto (Pro): ve y controla tu ordenador desde el teléfono: trackpad o táctil, todos los monitores, niveles de calidad, sonido en el teléfono.
    • Sistema: CPU, memoria, discos y red en vivo; procesos y acciones de energía con Pro.
    • Requiere RoamTerm 0.6.0 en el ordenador: roamterm update
  19. Versión 1.3.1

    Publicada:

    • Archivos: las carpetas se abren al instante con una barra de carga y las subcarpetas se cargan en segundo plano.
    • Aún más rápido con RoamTerm 0.5.1 en el ordenador: roamterm update
  20. Versión 1.3.0

    Publicada:

    • Terminal más inteligente: sugerencias mientras escribes, tus carpetas más usadas primero y comandos de Claude Code / Codex tras /.
    • Envía texto y sincroniza el portapapeles entre teléfono y ordenador (la sincronización es Pro).
    • Comparte texto desde cualquier app a tu ordenador.
    • Requiere RoamTerm 0.5.0 en el ordenador: roamterm update
  21. Versión 1.2.3

    Publicada:

    • Tu ordenador ahora ve el nombre real, el modelo y el plan Pro de este teléfono.
    • Los detalles de conexión muestran que la conexión está cifrada de extremo a extremo.
    • Mejor con la app de escritorio RoamTerm 0.4.0 en tu ordenador: roamterm update
  22. Versión 1.2.2

    Publicada:

    • Un ordenador que quitó este teléfono ahora desaparece solo de tu lista.
    • Requiere el agente RoamTerm 0.3.2: roamterm update
  23. Versión 1.2.1

    Publicada:

    • El túnel ADB se reconecta solo cuando se reinicia el agente del ordenador.
    • Nuevo botón «Reiniciar túnel» en la pantalla ADB.
    • Funciona mejor con el agente RoamTerm 0.3.1: roamterm update
  24. Versión 1.2.0

    Publicada:

    • Sugerencias al escribir en la terminal: carpetas tras cd, archivos, comandos, ramas de git y comandos recientes.
    • Historial de comandos: busca y vuelve a ejecutar comandos del teléfono y del ordenador.
    • Editor de comandos: escribe comandos largos con comodidad y envíalos.
    • Barra de teclas más fácil: las más usadas primero, las flechas se repiten al mantener.
    • Las sugerencias requieren el agente RoamTerm 0.3.0: roamterm update
  25. Versión 1.1.0

    Publicada:

    • Vinculación ADB sin escribir: escanea un código QR en tu ordenador.
    • Escribir el código en la notificación ya funciona con Ajustes abierto.
    • Ve cuándo el adb de tu ordenador está conectado.
    • Tarjetas de equipos más claras y nuevo panel del equipo.
    • Envía archivos entre teléfono y ordenador.
    • Elimina sesiones de terminal fácilmente.
    • Requiere el agente RoamTerm 0.2.0: roamterm update
  26. Versión 1.0.4

    Publicada:

    • ADB remoto sin Wi-Fi: configúralo una vez con un cable USB a tu ordenador.
    • Paso de vinculación más claro y corto.
    • La configuración por cable requiere el agente RoamTerm 0.1.3 en el ordenador.
  27. Versión 1.0.3

    Publicada:

    • El Pro regalado por el equipo de RoamTerm ahora se activa sin fallos.
    • Al iniciar sesión, este teléfono se vincula a tu cuenta al instante.
    • Mejoras de estabilidad.
  28. Versión 1.0.2

    Publicada:

    • Pro regalado: el Pro que concede el equipo de RoamTerm ya desbloquea la app.
    • ADB remoto: sin Wi-Fi, la app avisa al momento de que la Depuración inalámbrica necesita Wi-Fi un instante y continúa sola al conectarse.
    • Ajustes a un toque desde la pantalla de equipos.
    • Errores de planes más claros.
    • Archivos: corregidos Nueva carpeta / Renombrar.
    • Mejoras de accesibilidad y estabilidad.

Agente de escritorio (Mac, Windows, Linux)

El changelog del agente de escritorio está escrito en inglés.

  1. Versión 0.12.0

    Publicada:

    • 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) and roamterm 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.json without 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 announces push_claude (older relays are never sent the new events). See docs/claude-hooks.md.
  2. Versión 0.11.4

    Publicada:

    • 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 and roamterm feedback (= roamterm open support).
    • The report goes over HTTPS straight to the RoamTerm backend (not through the relay), 15 s timeout, docs/support/CONTRACT.md v1. 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/diagnostics returns exactly that object.
    • No API key is needed or sent (the function is public, VERIFY_JWT=false). ROAMTERM_SUPPORT_URL overrides the endpoint for tests (https, or http to loopback only).
  3. Versión 0.11.3

    Publicada:

    • 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/links and the ADB status carry it as a separate local {kind, serial, since}; adb.method is now only tunnel.
    • 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.
  4. Versión 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 $SHELL falls back to /bin/sh.
  5. Versión 0.11.1 ·

    • MCP: tool calls that run longer than 10 seconds (shell with a long timeout_s, install_apk, slow ui_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_tree at the same time no longer kill each other's uiautomator 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).
  6. Versión 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.
  7. Versión 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.
  8. Versión 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_state path / path_reason / pref / since; agent → phone adb_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 update asks a running agent to restart into the new version (IPC agent.restart) and ends its progress line.
  9. Versión 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.
  10. Versión 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.
  11. Versión 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.
  12. Versión 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.
  13. Versión 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 old Roamterm.app. The curl installer creates ~/Applications/RoamTerm.app too (--no-app skips); roamterm uninstall and install --uninstall remove 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 on no_permission_screen (docs/PROTOCOL.md).
  14. Versión 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.
  15. Versión 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.
  16. Versión 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.
  17. Versión 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).
  18. Versión 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).
  19. Versión 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 with removed: true.
  20. Versión 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).
  21. Versión 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 without DISPLAY (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, cd directories, git, paths in the tmux pane's cwd) and shell_history (zsh / bash / fish / PowerShell, secrets filtered), see docs/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.
  22. Versión 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, or roamterm adb qr prints 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_ack and the pushed files_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 run hints 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.
  23. Versión 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.
  24. Versión 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 without LANG no longer fall back to English on a Turkish Mac). Order: ROAMTERM_LANG, LC_ALL, LC_MESSAGES, macOS UI language, LANG, English.
  25. Versión 0.1.1 ·

    • roamterm run now 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.
  26. Versión 0.1.0 ·

    • First public release, served from https://dl.roamterm.com/agent/ (the GitHub repo is private).
    • curl https://roamterm.com/install | sh works 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).