Skip to content

Releases: LuisPeixoto/EmuLabZip

EmuLabZip 0.6.0

Choose a tag to compare

@github-actions github-actions released this 24 Oct 18:36

Phase 6: network power tools, layout and accessibility, sessions, comparing devices.

Added

  • Mocks and breakpoints: rules that answer a request yourself (status, headers, text or binary body, delay), slow it
    down, block it, or hold the request and/or the response so you can edit it and continue. A Rules dialog with presets
    and "Mock this response" from any request, a drawer for held messages, emulabzip net --rules file.json. Held
    messages continue by themselves after two minutes.
  • WebSocket messages: a frame parser (RFC 6455, fragments, control frames, permessage-deflate) feeds a Messages
    tab with direction, text, JSON and hex, and goes into the HAR export as _webSocketMessages.
  • Packet capture import: .pcap and .pcapng files (such as emulator -tcpdump writes) become requests, TLS
    connections named by their server name, and DNS lookups, with TCP streams put back together. In the app (Import)
    and as emulabzip net import.
  • HTTP/3 to servers: with Use HTTP/3 to servers on, hosts that announce Alt-Svc: h3 are reached over QUIC,
    with a fallback to TCP. A Proto column shows h1, h2 or h3. Hide HTTP/3 from apps (on by default) keeps apps
    from trying QUIC around the proxy.
  • Layout and accessibility: the views on screen with their names, sizes and flags (uiautomator on Android, the
    Accessibility API on the iOS Simulator), a Layout view with the screenshot, the tree and properties, and an audit of
    missing labels, touch targets, contrast and duplicate names. emulabzip layout and emulabzip a11y --fail-on, and the
    MCP tools get_layout and audit_accessibility.
  • Sessions: a recorder that writes logs, samples, requests, crashes and screenshots into one .ezsession file
    (still readable if the run was killed), a Sessions view, emulabzip session record and session show, and the MCP
    tools list_sessions and session_summary.
  • CI mode: emulabzip ci -o run.ezsession -- <command> records around a command, keeps its exit code, writes a
    Markdown report (also to $GITHUB_STEP_SUMMARY), and --fail-on-crash fails a run whose app crashed.
  • Compare: two devices side by side with both screens, CPU and memory charts, and a table of what differs;
    emulabzip compare.
  • Live tests for all of it in tools/live-tests.sh, and a capture written by a real emulator as a test fixture.

Changed

  • WebSocket connections are no longer opaque tunnels: the bytes still pass unchanged, and the messages are read from
    them.

EmuLabZip 0.5.0: crashes and automation

Choose a tag to compare

@github-actions github-actions released this 24 Oct 16:36

Phase 5: crashes and automation.

Added

  • Crashes: crashes, native crashes and ANRs with their stacks, grouped by thread, with the facts the device wrote
    down and hints for symbolication (retrace, ndk-stack, llvm-symbolizer, atos). Android reports come from
    DropBox (no root needed); iOS Simulator reports are the .ips files macOS writes. A toast and a sidebar badge tell
    you when a new one happens.
  • Controls: location (emulators and simulators), light and dark mode, a clean status bar, battery level,
    runtime permissions, notifications (a simulated push on iOS) and links, each with a way back. Every value is checked
    before a device sees it; links that read local files or run script are refused.
  • MCP server (emulabzip mcp): 25 tools that let an AI assistant list devices and apps, read logs, take
    screenshots, measure performance and memory, browse app files, read crashes and traces, record traces, and control
    the device. It speaks on standard input and output only.
  • Plugins: your own collectors as programs that print JSON lines (metrics, tables, text, logs). A plugin runs only
    after the user enables it, tied to its plugin.json, with a timeout and an output limit. emulabzip plugin new,
    install, enable, run; a Plugins view in the app; two examples in examples/plugins.
  • Command line: emulabzip crashes, crash, control, plugin and mcp.
  • tools/crash-app and tools/crash-app-ios: tiny apps that crash, hang and segfault on purpose, and
    tools/live-tests.sh to run every test that needs a device.

Fixed

  • Starting the adb server no longer hangs on Windows. The server it leaves behind kept the output of EmuLabZip open, so
    anything reading that output (a script, a pipe) waited forever.
  • A plugin run ends when its program exits, even if the program left a background process holding its output, and a
    failing program's error output is no longer lost.

EmuLabZip 0.4.0: tracing

Choose a tag to compare

@github-actions github-actions released this 23 Oct 23:16

Phase 4: tracing.

Added

  • Traces: record what a device did, then find out why it was slow, in one library of recordings.
  • System traces with Perfetto (Android 9+): presets for CPU and scheduling, frames and jank, and memory (with
    native allocations of one app), or your own text configuration. A summary of CPU by process and thread, frame
    percentiles and jank kinds, memory and the busiest slices, and a SQL console (PerfettoSQL).
  • The official trace_processor is downloaded once, after asking, from the Perfetto release; its SHA-256 is pinned
    and checked. It only listens on 127.0.0.1.
  • CPU profiles with simpleperf, for an app or the whole system, drawn as a flame graph (click to zoom, search,
    process and thread pickers, hot functions, folded-stack export).
  • Instruments recordings with xctrace for any template, opened in Instruments, with a flame graph for Time
    Profiler. Needs Developer Mode on the Mac, which EmuLabZip checks first.
  • Open in Perfetto UI through a one-shot local server; the trace is never uploaded.
  • Command line: emulabzip trace record, cpu, instruments, summary, query, open and list.

EmuLabZip v0.3.0

Choose a tag to compare

@github-actions github-actions released this 23 Oct 21:08

See the changelog for what is new.

EmuLabZip v0.2.0

Choose a tag to compare

@github-actions github-actions released this 23 Oct 17:29

See the changelog for what is new.

EmuLabZip v0.1.0

Choose a tag to compare

@github-actions github-actions released this 23 Oct 17:03

See the changelog for what is new.