Repository navigation
2.5.0
Library and desktop app. dari, dari-core, dari-noop and dari-inspector-protocol 2.5.0 are on Maven Central. The last library release was 2.2.1; 2.2.2–2.4.0 were desktop only.
Behavior changes
- JSON exports are now an object, not a bare array:
{ "format_version": 2, "meta": { ... }, "messages": [ ... ] }. Tools that read Dari exports should checkformat_versionand readmessages. TEXT exports start with a short app/device header. (#206) - Text search in both inspectors now also matches tag, request ID and request/response payloads. With masking on, it searches the masked payloads, so hidden values don't match. Desktop payload search needs the app on dari 2.5.0; older apps still match by handler and display name. (#194, #195)
- Desktop: the Update button now installs the update in place for the Linux tarball and the per-user Windows install, like macOS. The
.deband copies outside%LOCALAPPDATA%still open the download page. This takes effect from 2.5.0, so 2.4.0 and earlier update to 2.5.0 by hand. (#196, #197) - Desktop: Windows is no longer labeled preview. Installers stay unsigned, so SmartScreen may warn on first run. (#179)
What's Changed
- feat: record the WebView page URL and filter by origin by @easyhooon in #208
- Call
DariInterceptor.onPageUrlChanged(url)from your existingWebViewClient(e.g.doUpdateVisitedHistory, which also catches SPA navigation). Messages captured afterwards keep the page URL without user info, query or fragment. - Both inspectors show the page in the detail view and add an origin filter once more than one origin appears; search and Response Time follow it. Exports carry
Page:(TEXT) andpage_url(JSON). - Bridges that don't call it keep working unchanged. Follow-up fixes from review in #209. See Interceptor.
- Call
- feat: add
Dari.setEnvironment()for capture environment labels by @easyhooon in #207- Label a capture with region, web build, flavor and so on. Labels show as chips in the app, in the desktop status line, and in TEXT/JSON exports (
meta.environment).
- Label a capture with region, web build, flavor and so on. Labels show as chips in the app, in the desktop status line, and in TEXT/JSON exports (
- feat: add app and device metadata to TEXT and JSON exports by @easyhooon in #206
- feat: highlight search matches in the payload detail views by @easyhooon in #205
- Matches are marked in the JSON tree and raw view on both surfaces; collapsed nodes holding a match open, and the detail scrolls to the first one.
- feat: search request and response payloads in both inspectors by @easyhooon in #195
- New protocol op
messages.search; the app runs the search on what it would send, masking included.
- New protocol op
- feat: hint when the connected app can't search payloads by @easyhooon in #204
- With an app on an older dari, a line under the desktop filter bar says payload search needs dari 2.5.0 in the app, instead of silently matching summary fields only.
- feat: align inspector filters between Android and desktop by @easyhooon in #194
- Android: Web → App / App → Web direction chips. Desktop: an All tags menu.
- feat: per-handler Response Time stats in the app and the desktop by @easyhooon in #184, #185
- Calls, errors and avg/min/max response time per handler and direction, slowest first; averages ≥ 500 ms are highlighted. In the app, from the chart icon on the message list; on desktop, Response Time in the filter bar or the View menu.
- feat(protobuf): add a
protobufDecoder { }registry DSL by @easyhooon in #183- Register decoders per handler, direction and request/response instead of writing one
ProtobufPayloadDecoder. The existing API is unchanged.
- Register decoders per handler, direction and request/response instead of writing one
- feat: in-app update for the Linux tarball and the Windows install by @easyhooon in #196, #197
- The new copy is checksum-verified and version-checked before it replaces the installed one. Linux rolls back if the new version doesn't start; Windows Installer rolls back a failed install. Tested end to end on Windows and on Debian 13 (Xfce).
- fix(runtime): keep persisted messages in sync with memory by @easyhooon in #187
- docs: Inspector UI page for filters, Response Time and export, working search on the docs site, and a README that leads with demos and Quick Start by @easyhooon in #193, #182, #180, #181
- build/ci: ABI baseline and external consumer check for
dari-core, Robolectric tests for export and retention, and API parity/detekt/sample builds in CI by @easyhooon in #186, #187, #192 - ci: skip the docs deploy on forks by @hyunjung-choi in #91
Desktop app downloads
Installers for macOS (Apple Silicon and Intel, signed and notarized), Windows (.exe and .msi) and Linux x64 (preview, .deb and .tar.gz) are attached below, with SHA-256 files. See the Desktop App guide for install steps, or install from the terminal on macOS:
curl -fsSL https://raw.githubusercontent.com/easyhooon/dari/main/scripts/install-desktop.sh | bashFull Changelog: 2.4.0...2.5.0