Versions

What changed in every release. Newest at the top.

  1. v1.8.1

    LatestView on GitHub ↗
    Released September 3, 2026

    File actions now target the request's source connection, and Open on Device saves and opens the file on the computer running Rexpo Debugger.

    Fixed
    • Reliable file actions

      Preview, Save to Desktop and replay commands are now routed only to the device or simulator that captured the request. Open on Device transfers the file to the Rexpo computer, shows a native save dialog and opens the saved file with its default desktop application. File-transfer listeners are isolated so closing another FormData view no longer disables downloads.

  2. Released September 1, 2026

    Preview captured images and PDFs, save files safely to desktop, or open the original upload directly on the device.

    Added
    • Safe file preview and export

      Multipart file parts now offer Preview, Save to Desktop and Open on Device actions. Files are never transferred automatically: bytes move only after an explicit action and both agent and desktop enforce a hard 5 MB limit. Image and PDF previews render inline, while native save dialogs preserve the original file name. Requires agent rexpo-debugger 1.5.0.

  3. Released August 27, 2026

    Inspect multipart uploads field by field, replay them on-device, export accurate cURL commands, and search deeply inside request and console details.

    Added
    • Multipart/form-data inspection and replay

      The Request tab now breaks multipart bodies into text and file parts, showing field name, file name, MIME type, size and device-local URI without transferring file contents. Replay and Edit & Replay rebuild the FormData on the device, Collections preserve the parts, and Copy as cURL emits accurate -F flags. Requires agent rexpo-debugger 1.4.0.

    • Find inside request and console details

      Use the visible Find action or Cmd/Ctrl+F to search request and response headers, request and response bodies, FormData metadata, console messages, stack traces and raw console data. Matches are highlighted with a result counter and next/previous navigation.

  4. Released June 25, 2026

    The State Inspector grows a history — scrub back through every store's past values on a timestamped timeline, like a commit log.

    Added
    • State history timeline

      Each store now keeps a de-duplicated history of its snapshots, shown as a timestamped timeline on the right of the State tab — like a commit log. Click any entry to view that past value in the tree, then "Back to live" to return to the latest. No-op snapshots (e.g. the re-announce on reconnect) are skipped so the timeline only records real changes.

    Fixed
    • Stores no longer duplicate in the State list

      Store ids are now derived from the store name, so a re-attach (Fast Refresh, remount or reconnect) overwrites the existing entry instead of showing it twice. Requires agent rexpo-debugger ≥ 1.3.0.

  5. Released June 23, 2026

    See your app state live — a new State Inspector for Redux, Zustand and any custom store, plus clean one-click copying of console logs.

    Added
    • State Inspector — Redux, Zustand & more

      A new State tab streams your state-management stores from the app to the desktop in real time, rendered as a searchable, collapsible JSON tree. Wire it with initStateAgent() then attachZustandStore(useStore) / attachReduxStore(store), or the generic attachStore({ getState, subscribe }) for Valtio, MobX, Jotai, XState, Effector and others. Functions, Maps/Sets, Dates and circular references are handled safely. View-only for now — write-back is on the roadmap.

    • Clean copy for console logs

      Selecting and copying console text used to drag in layout artifacts. Console logs now have explicit copy buttons — a "Copy message" in the detail header, per-section copy (Message / Stack / Raw JSON), and a hover button on each row — that copy plain text built from the data, not the DOM.

  6. Released June 18, 2026

    Two ways to fill your collections faster: import any request from a cURL command, and drag & drop saved requests between collections.

    Added
    • Import from cURL

      New ⤓ cURL button in the Collections header. Paste a curl command — from browser devtools "Copy as cURL", an API doc, anywhere — and the method, URL, headers and body are parsed automatically, with a live preview before you save. Understands -X, -H, -d/--data-raw, --url, -u (Basic auth), -G, cookies and user-agent, plus quoted and multi-line commands.

    • Drag & drop between collections

      Reorganize without dialogs: grab any saved request and drop it onto another collection — empty ones and Uncategorized included. The target highlights as you drag.

  7. Released June 17, 2026

    Collections grew up — first-class collections that persist on their own, plus save & overwrite when editing a request.

    Added
    • First-class, persistent collections

      Collections are now real entities, not just a label derived from saved requests. Create an empty collection from the panel (+ New), rename or delete it from the right-click menu. Removing or moving the last request out of a collection no longer makes it silently disappear — it stays until you delete it.

    • Save while editing — overwrite or save as new

      Edit & Replay used to only fire a one-off request. It now sits next to Send: Save changes overwrites the saved request with your edits, and Save as new… keeps the original and stores the tweaked version as a new entry.

  8. Released May 20, 2026

    Patch release fixing an Expo prebuild crash on Android.

    Fixed
    • Expo config plugin crashed prebuild on Android

      withRexpoAndroid assigned the return value of AndroidConfig.Permissions.ensurePermissions to cfg.modResults. That helper mutates the manifest in place and returns a permission map — not the manifest. The overwrite turned cfg.modResults into a boolean map, so every subsequent android.manifest mod crashed with: "Cannot read properties of undefined (reading 'hasOwnProperty')". Fix: discard the return value; the in-place mutation is what we want.

  9. Released May 19, 2026

    Zero-friction connection, Settings, Collections, and a big network workflow upgrade.

    Added
    • Collections — saved requests

      A new third tab. Save any captured request to a named collection and replay it whenever — without keeping the original traffic in the panel. Right-click → Save to collection… (all fields optional: name, collection, tags, description). Right-click saved requests for Replay, Edit & Replay, Rename, Move, Copy as cURL, Delete. Persisted in localStorage.

    • Agent auto-reconnect with exponential backoff

      The agent now reconnects on its own — no app reload required. Triggered by port live-restarts, desktop closed/reopened, Wi-Fi blips, VPN toggles. Backoff: 1s → 2s → 4s → 8s → 10s cap. In auto-discovery mode each retry re-runs mDNS discovery so the agent picks up a re-published service.

    • Edit & Replay editor

      Triggered from the network row context menu. Tweak method, URL, query params (add/remove/disable individually), headers (sensitive ones masked with reveal toggle), and JSON body before re-sending. Live "Final URL" preview. Send button disables itself when the body is structurally invalid.

    • Network context menu

      Right-click any network row for: Copy URL, Copy as cURL, Copy as JSON, Replay, Edit & Replay, Save response to file, Delete request, Clear all requests. Toast feedback after copy actions. Reusable ContextMenu component with viewport-aware positioning.

    • Zero-config auto-discovery (mDNS / Bonjour)

      Desktop publishes itself as _rexpo._tcp on the local network. initNetworkAgent({}) / initConsoleAgent({}) work without a wsUrl. Expo config plugin auto-injects iOS NSLocalNetworkUsageDescription + NSBonjourServices and Android CHANGE_WIFI_MULTICAST_STATE / ACCESS_WIFI_STATE. Production-safe: plugin no-ops when EAS_BUILD_PROFILE === "production".

    • Full light theme + system theme

      Every component reads colors from a semantic token system in renderer/theme.css. Three modes: Dark (VS Code Dark+), Light (VS Code Light+), System (follows prefers-color-scheme, live updates). Theme applied synchronously before React mounts — no FOUC.

    • Network port live-restart

      Change the port in Settings + Apply → WS server switches without an Electron restart. Safety: new port is bound first; if it's in use, old server keeps running and the error surfaces inline. mDNS publisher re-publishes on the new port automatically.

    • Settings panel + persistence

      Settings modal from the header gear button. localStorage persistence. Max history limits (FIFO trim), default log level, manual host:port override, mDNS toggle, per-agent enable/disable, auto-clear on agent reconnect, theme. Reset to defaults button.

    • Connection chip in the desktop header

      Shows detected local IP(s) with a copy button, live status dot, and connected-client badge. Dropdown to pick a specific interface (Wi-Fi + Ethernet, VPN). Selection persists across restarts.

    Changed
    • InitOptions.wsUrl is now optional

      Backwards compatible — passing a wsUrl still works exactly like before. New discoveryTimeoutMs option (default 10s) controls how long the agent waits for mDNS before giving up.

    Docs
    • README rewritten around auto-discovery

      README + agent README lead with auto-discovery mode. New troubleshooting section for discovery-specific issues (corporate Wi-Fi, VPN, Expo Go limitations).

  10. Released November 14, 2025

    Initial release.

    Added
    • Electron desktop inspector

      Modern UI with React + TypeScript. Chrome DevTools-like layout: left panel for the request list, right panel for details (Overview, Headers, Request, Response, Timing).

    • Network monitoring (fetch)

      Captures all fetch requests in real time over a WebSocket on port 5051. Pretty-printed JSON bodies. Color-coded status badges (2xx green, 3xx yellow, 4xx orange, 5xx red).

    • Advanced filtering

      Search by URL, method filter (GET/POST/PUT/DELETE/PATCH), status code filter (2xx, 3xx, 4xx, 5xx, ERR). Pause/Resume capture. Clear all.

    • Expo agent

      Lightweight, easy-to-integrate client agent with wsUrl, enabled, maxBodyLength configuration. Dark theme inspired by VS Code Dark+.