@@ -5,7 +5,7 @@ checkpoints around meaningful interactions, compact structural anchors, route
55transitions, scrolling evidence, and optional viewport semantic maps. Capture
66can be sent to the local exploration WebSocket, the HTTP collector, or both.
77
8- The current package version is ` 0.6 .0 ` . Session JSON writers emit schema
8+ The current package version is ` 0.7 .0 ` . Session JSON writers emit schema
99version ` 9 ` ; compatibility readers should accept versions ` 6 ` through
1010` 9 ` . Structural fingerprints use fingerprint schema version ` 6 ` .
1111
@@ -23,7 +23,7 @@ The package requires Dart 3.9.2 or newer and Flutter 3.35.0 or newer.
2323
2424``` yaml
2525dependencies :
26- tugboat_dio : ^0.6 .0
26+ tugboat_dio : ^0.7 .0
2727` ` `
2828
2929See ` packages/tugboat_dio/README.md`.
@@ -58,12 +58,35 @@ failedCall.complete(
5858` ` `
5959
6060Both emit on `stream : evidence` and never inherit exploration `actionId` or UI
61- anchors. Parameter values are omitted unless an explicit policy allows them.
62- ` allowAll` is an exploration escape hatch; outside exploration profiles the SDK
63- downgrades it to names-only at record time. Network routes must be absolute path
64- templates. The SDK drops resolver output containing a scheme, query, fragment,
65- percent-encoded data, a network-path prefix, backslash, or whitespace/control
66- characters; host resolvers must still replace dynamic IDs with placeholders.
61+ anchors. `namesOnly` is the default parameter policy. It retains parameter keys
62+ but omits parameter values. `allowAll` is an exploration-only escape hatch;
63+ outside exploration profiles the SDK downgrades it to names-only at record time.
64+
65+ # ## Production parameter values
66+
67+ Use `allowAllInProduction` only when the host needs to retain all JSON-safe
68+ parameter values in a production capture profile :
69+
70+ ` ` ` dart
71+ final productionEvents = TugboatReplay.eventHook(
72+ source: 'feedback',
73+ parameterPolicy: TugboatParameterPolicy.allowAllInProduction,
74+ );
75+ productionEvents.record(
76+ 'FEEDBACK_SUBMITTED',
77+ parameters: {'comment': 'The search result was not useful.'},
78+ );
79+ ` ` `
80+
81+ This policy can retain feedback, search terms, URLs, IDs, and other user
82+ content. Hosts must confirm consent, privacy, access, and retention rules before
83+ they use it. The SDK still deep-copies JSON-safe values and applies its hard
84+ JSON and size bounds.
85+
86+ Network routes must be absolute path templates. The SDK drops resolver output
87+ containing a scheme, query, fragment, percent-encoded data, a network-path
88+ prefix, backslash, or whitespace/control characters; host resolvers must still
89+ replace dynamic IDs with placeholders.
6790HTTP response bodies are retained only when `statusCode >= 400`. JSON and text
6891are deep-copied and bounded to 16 KiB; binary and unsupported values are
6992omitted. Successful response bodies are never retained.
@@ -533,8 +556,9 @@ sink registration API has not been published.
533556 output.
534557- Nested navigator and anonymous-route identity depends on structural fallback
535558 and needs app-specific validation.
536- - The package captures no logs, network traffic, analytics events, or native
537- performance signals.
559+ - The package captures no logs or native performance signals. It supports
560+ opt-in external events and network observations with the privacy boundaries
561+ described above.
538562
539563See [Collector integration](../../docs/integration/collector.md) and
540564[Capture and fingerprint status](../../docs/design/capture-and-fingerprint.md)
0 commit comments