Repository navigation
Releases: LuisPeixoto/EmuLabZip
Releases · LuisPeixoto/EmuLabZip
Release list
EmuLabZip 0.6.0
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:
.pcapand.pcapngfiles (such asemulator -tcpdumpwrites) become requests, TLS
connections named by their server name, and DNS lookups, with TCP streams put back together. In the app (Import)
and asemulabzip net import. - HTTP/3 to servers: with Use HTTP/3 to servers on, hosts that announce
Alt-Svc: h3are reached over QUIC,
with a fallback to TCP. A Proto column showsh1,h2orh3. 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 (
uiautomatoron 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 layoutandemulabzip a11y --fail-on, and the
MCP toolsget_layoutandaudit_accessibility. - Sessions: a recorder that writes logs, samples, requests, crashes and screenshots into one
.ezsessionfile
(still readable if the run was killed), a Sessions view,emulabzip session recordandsession show, and the MCP
toolslist_sessionsandsession_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-crashfails 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
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.ipsfiles 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 itsplugin.json, with a timeout and an output limit.emulabzip plugin new,
install,enable,run; a Plugins view in the app; two examples inexamples/plugins. - Command line:
emulabzip crashes,crash,control,pluginandmcp. tools/crash-appandtools/crash-app-ios: tiny apps that crash, hang and segfault on purpose, and
tools/live-tests.shto 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
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_processoris downloaded once, after asking, from the Perfetto release; its SHA-256 is pinned
and checked. It only listens on127.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
xctracefor 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,openandlist.
EmuLabZip v0.3.0
See the changelog for what is new.
EmuLabZip v0.2.0
See the changelog for what is new.
EmuLabZip v0.1.0
See the changelog for what is new.