Skip to content

Commit 5154b58

Browse files
committed
docs: changelog 2026-05-31, sync to 148.0.7778.217 with V8Log forensics and viewer
1 parent 0fa7554 commit 5154b58

13 files changed

Lines changed: 19626 additions & 5 deletions

File tree

ADVANCED_FEATURES.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -495,6 +495,7 @@ All commands live under the `BotBrowser` CDP domain. Send them through a **brows
495495
- [Mirror](tools/mirror/) - Distributed privacy consistency verification
496496
- [CanvasLab](tools/canvaslab/) - Canvas 2D / WebGL / WebGL2 forensics and tracking analysis tool
497497
- [AudioLab](tools/audiolab/) - Web Audio API forensics and audio fingerprint collection analysis tool
498+
- [V8Log Forensics](tools/v8log/) - Browser-runtime evidence for authorized fingerprint protection sessions
498499
- [Examples](examples/) - Playwright, Puppeteer, bot-script integration
499500
- [Main README](README.md) - Project overview and quick start
500501

CHANGELOG.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,23 @@
33
> **Research scope:** Entries in this changelog describe features evaluated in authorized labs and defensive benchmarking programs. Follow the [Legal Disclaimer](DISCLAIMER.md) and [Responsible Use Guidelines](RESPONSIBLE_USE.md). We work with security vendors to investigate any misuse, so report concerns to [support@botbrowser.io](mailto:support@botbrowser.io).
44
55

6+
## [2026-05-31]
7+
### Major
8+
- **Chromium Core -> 148.0.7778.217**: Updated to Chrome 148 stable (148.0.7778.217). Web Platform consistency, rendering accuracy, and security patches stay aligned with upstream Chrome.
9+
10+
### New
11+
- **V8Log Forensics (`--bot-v8-log`, `--bot-v8-log-dir`)**: Added gated browser-runtime forensics for authorized privacy validation, helping teams review runtime signal collection without changing normal browsing behavior.
12+
13+
### Improvements
14+
- **Cross-Platform Profile Consistency**: Improved profile fidelity across desktop and mobile profiles so the same profile behaves more consistently across macOS, Windows, and Linux hosts.
15+
- **Per-Context Isolation**: Strengthened per-context behavior for profile-specific capabilities, storage, permissions, browser identity, theme preference, and proxy settings.
16+
- **Speech and Device Capability Consistency**: Improved profile-backed speech, device, and network capability behavior across main sessions and per-context sessions.
17+
- **Rendering and Media Stability**: Improved font, canvas, WebGL, media capability, and browser-engine compatibility coverage for profile-backed sessions.
18+
- **Mobile Profile Parity**: Improved Android profile behavior across target-platform policy, device capability, storage, focus, sensor, and locale-related surfaces.
19+
- **Network and Proxy Reliability**: Improved proxy-authenticated navigation reliability across redirects and tunnel setup while keeping credentials scoped to the proxy layer.
20+
- **Release Validation Coverage**: Expanded deterministic release gates and focused validation for profile replay, browser-context isolation, and engine-specific network behavior.
21+
22+
623
## [2026-05-25]
724
### Major
825
- **Chromium Core → 148.0.7778.180**: Updated to Chrome 148 stable (148.0.7778.180). Web Platform consistency, rendering accuracy, and security patches stay aligned with upstream Chrome.

CLI_FLAGS.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -273,6 +273,33 @@ Records all Web Audio API calls to a JSONL file for forensic analysis of audio f
273273

274274
Learn more: [AudioLab Documentation](tools/audiolab/)
275275

276+
<a id="--bot-v8-log"></a>
277+
### `--bot-v8-log`
278+
V8Log browser-runtime forensics for authorized privacy validation sessions.
279+
280+
```bash
281+
--bot-v8-log=sample
282+
--bot-v8-log=full
283+
--bot-v8-log=none
284+
```
285+
286+
Use `sample` for the normal validation trace, `full` only when requested, and pair it with `--bot-v8-log-dir`.
287+
288+
Learn more: [V8Log Guide](docs/guides/getting-started/V8LOG.md) | [V8Log Tool](tools/v8log/)
289+
290+
<a id="--bot-v8-log-dir"></a>
291+
### `--bot-v8-log-dir`
292+
Output directory for V8Log evidence files.
293+
294+
```bash
295+
--bot-v8-log=sample
296+
--bot-v8-log-dir="/tmp/botbrowser-v8log"
297+
```
298+
299+
Use an absolute directory path that already exists and is writable by the browser process.
300+
301+
Learn more: [V8Log Guide](docs/guides/getting-started/V8LOG.md) | [V8Log Tool](tools/v8log/)
302+
276303
<a id="--bot-script"></a>
277304
### `--bot-script`
278305
Framework-less approach with a privileged JavaScript context.

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,7 @@ Product overview, engineering design, FAQ: [TRIMMED_BUILD.md](TRIMMED_BUILD.md).
191191
| Mirror: distributed privacy consistency | [Mirror Documentation](tools/mirror/) | [Guide](https://botbrowser.io/docs/deployment/mirror-distributed/) |
192192
| CanvasLab: Canvas 2D / WebGL / WebGL2 recorder | [--bot-canvas-record-file](CLI_FLAGS.md#--bot-canvas-record-file) | [Guide](https://botbrowser.io/docs/proof/canvaslab/) |
193193
| AudioLab: Web Audio API recorder | [--bot-audio-record-file](CLI_FLAGS.md#--bot-audio-record-file) | [Guide](https://botbrowser.io/docs/proof/audiolab/) |
194+
| V8Log Forensics | [--bot-v8-log](CLI_FLAGS.md#--bot-v8-log) | [Guide](docs/guides/getting-started/V8LOG.md) · [Tool](tools/v8log/) |
194195

195196
### Session & Behavior
196197

docs/guides/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ These guides cover everything from initial setup to advanced deployment scenario
2020
| [Automation Consistency Practices](getting-started/AUTOMATION_CONSISTENCY.md) | Reduce framework-related inconsistency signals in Playwright/Puppeteer workflows. |
2121
| [CanvasLab](getting-started/CANVASLAB.md) | Record Canvas 2D, WebGL, and WebGL2 API calls to study tracking techniques and verify fingerprint protection. |
2222
| [AudioLab](getting-started/AUDIOLAB.md) | Record Web Audio API calls to study audio fingerprint collection and verify audio privacy protection. |
23+
| [V8Log Forensics](getting-started/V8LOG.md) | Review browser-runtime calls, arguments, and return previews for authorized privacy validation. |
2324

2425
<a id="network-proxy"></a>
2526
## Network and Proxy

docs/guides/getting-started/AUDIOLAB.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ chromium-browser \
2727
"https://example.com"
2828
```
2929

30-
After the session, `/tmp/audiolab.jsonl` contains every Web Audio API call the page made. Open it in the [Audio Viewer](https://botswin.github.io/BotBrowser/docs/tools/audiolab/audio_viewer.html) to inspect events interactively.
30+
After the session, `/tmp/audiolab.jsonl` contains every Web Audio API call the page made. Open it in the [Audio Viewer](https://botswin.github.io/BotBrowser/tools/audiolab/audio_viewer.html) to inspect events interactively.
3131

3232
---
3333

@@ -76,7 +76,7 @@ await browser.close();
7676

7777
Open the HTML-based viewer to inspect recordings interactively:
7878

79-
1. Navigate to the [Audio Viewer](https://botswin.github.io/BotBrowser/docs/tools/audiolab/audio_viewer.html)
79+
1. Navigate to the [Audio Viewer](https://botswin.github.io/BotBrowser/tools/audiolab/audio_viewer.html)
8080
2. Load your `.jsonl` file
8181
3. Browse events, view the audio graph topology, and inspect extracted data
8282

Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
# V8Log Forensics
2+
3+
> Use V8Log only for authorized privacy validation sessions.
4+
5+
---
6+
7+
<a id="overview"></a>
8+
## Overview
9+
10+
V8Log is a gated, privacy-focused browser-runtime forensics mode that records calls into local JSONL files. It is intended for short, controlled validation sessions where teams need evidence of how page scripts collect browser signals.
11+
12+
This is useful when source review is incomplete because a page uses packed JavaScript, VM-style bundles, or WebAssembly. V8Log records the runtime call sequence, arguments, return previews, frame context, and event order so the collection behavior can be reviewed directly.
13+
14+
V8Log does not change normal browsing behavior when disabled. Release use is gated by profile entitlement and build policy.
15+
16+
For background on browser fingerprinting as a privacy issue, see [Fingerprint Privacy](../../../FINGERPRINT_PRIVACY.md).
17+
18+
---
19+
20+
<a id="quick-start"></a>
21+
## Quick Start
22+
23+
Create a writable directory and launch BotBrowser with V8Log enabled:
24+
25+
```bash
26+
mkdir -p /tmp/botbrowser-v8log
27+
28+
chromium-browser \
29+
--bot-profile="/path/to/profile.enc" \
30+
--bot-v8-log=sample \
31+
--bot-v8-log-dir=/tmp/botbrowser-v8log \
32+
--user-data-dir="$(mktemp -d)" \
33+
"https://example.com"
34+
```
35+
36+
For deeper validation review, use `full` only when requested:
37+
38+
```bash
39+
--bot-v8-log=full
40+
--bot-v8-log-dir=/tmp/botbrowser-v8log
41+
```
42+
43+
Disable V8Log explicitly with:
44+
45+
```bash
46+
--bot-v8-log=none
47+
```
48+
49+
---
50+
51+
<a id="modes"></a>
52+
## Modes
53+
54+
| Mode | Use |
55+
|------|-----|
56+
| `none` | V8Log disabled. This is the normal default. |
57+
| `sample` | Reduced evidence trace for most validation reproductions. |
58+
| `full` | Fuller evidence trace for short, guided reproductions. |
59+
60+
Use the shortest page flow that reproduces the behavior. Evidence files can grow quickly on complex pages.
61+
62+
---
63+
64+
<a id="sample-jsonl"></a>
65+
## Sample JSONL
66+
67+
An interactive sample is available in the [V8Log Viewer](https://botswin.github.io/BotBrowser/tools/v8log/v8log_viewer.html?jsonl=https://botswin.github.io/BotBrowser/tools/v8log/fonts_v8log_sample.jsonl).
68+
69+
The viewer is preloaded with a short public-page capture. It shows how V8Log connects call expressions, arguments, return previews, frame context, API group, and event order.
70+
71+
---
72+
73+
<a id="playwright"></a>
74+
## Playwright Example
75+
76+
```javascript
77+
import { chromium } from "playwright-core";
78+
79+
const browser = await chromium.launch({
80+
executablePath: process.env.BOTBROWSER_EXEC_PATH,
81+
headless: true,
82+
args: [
83+
`--bot-profile=${process.env.BOT_PROFILE_PATH}`,
84+
"--bot-v8-log=sample",
85+
"--bot-v8-log-dir=/tmp/botbrowser-v8log",
86+
],
87+
});
88+
89+
const page = await browser.newPage();
90+
await page.goto("https://example.com");
91+
await page.waitForTimeout(5000);
92+
await browser.close();
93+
```
94+
95+
---
96+
97+
<a id="troubleshooting"></a>
98+
## Troubleshooting
99+
100+
| Problem | Solution |
101+
|---------|----------|
102+
| No files are written | Confirm `--bot-v8-log` is not `none`, the directory exists, and the browser process can write to it. |
103+
| Files are too large | Use `sample`, shorten the reproduction, and close the browser immediately after the target behavior appears. |
104+
| V8Log does not start in release | Confirm the profile and subscription include V8Log support. |
105+
106+
---
107+
108+
## Related Documentation
109+
110+
- [CLI Flags Reference](../../../CLI_FLAGS.md#--bot-v8-log)
111+
- [V8Log Tool](../../../tools/v8log/)
112+
- [Automation Consistency Practices](AUTOMATION_CONSISTENCY.md)
113+
- [Profile Management](PROFILE_MANAGEMENT.md)
114+
115+
---
116+
117+
**[Legal Disclaimer & Terms of Use](https://github.com/botswin/BotBrowser/blob/main/DISCLAIMER.md)[Responsible Use Guidelines](https://github.com/botswin/BotBrowser/blob/main/RESPONSIBLE_USE.md)**. BotBrowser is for authorized fingerprint protection and privacy research only.

0 commit comments

Comments
 (0)