Skip to content

v2.5.0

Choose a tag to compare

@igorzheludkov igorzheludkov released this 02 Aug 17:38
· 180 commits to main since this release

GraphQL operation names in the network tools

Every GraphQL call in an app posts to the same endpoint, so request lists read as an undifferentiated column of /graphql and URL search could not tell them apart. The operation name is now derived from the captured request body:

[sdk-m7h9-10] POST 200 413ms https://example.com/graphql (GetCharacters)

get_network_requests and search_network match on the operation name as well as the URL, so you can find one call among many sharing an endpoint. get_request_details gains an Operation: line, and says so explicitly when a GraphQL endpoint has no captured body rather than going quiet.

Route history in get_screen_state

get_screen_state({includeHistory: true}) appends a route trail — which screens the app has been on, with dwell time and the route each was entered from. It survives an app restart and marks the boundary:

🕒 Route trail (most recent first):
   Apollo           5s   ← from TapTargets
   TapTargets       6s
   ── app restarted (epoch 3) ──
   Redux           41s   ← from Tanstack

Off by default so existing output is unchanged. Capture prefers an in-app navigation listener; if none can attach it falls back to sampling and reports itself as sampled, so a thin trail is never mistaken for a complete one.

Build hygiene

Compiled output no longer carries source comments, and a new postbuild check fails the build if published output describes a third-party product's internals. This closes a gap in 2.4.0, which shipped an internal note in build/. 2.4.0 has been deprecated in favour of this release.