This release includes 1 breaking change for platform teams planning a safe upgrade.
✓ No known CVEs patched in this version
Affected surfaces
Summary
AI summaryUpdates /stats` dashboard, Validation, and Telemetry attribution across a mixed release.
Full changelog
Highlights
This release rolls everything since v0.9.65 (2026-05-14) into one extension package. Three threads landed in parallel:
Telemetry attribution (mcp_client field)
- PR #57 (
cd07d9b6) — Fixed the WS dispatcher leak that recorded everytelemetry_events.mcp_clientasunknown. The dispatcher was passing the bridge-instance object into the recorder where a string label was expected. Now extracts the canonical client label frompayload.visualSession.client. - PR #59 (
ca95f919) — Closed the second half of the leak: non-action message routes (agent:register,mcp:get-tabs,mcp:get-dom,mcp:get-diagnostics,mcp:read-page) never carry avisualSession.clientsidecar, so they kept writingunknowneven after PR #57. Added a per-agent label cache in the dispatcher so subsequent non-action calls from a known agent inherit its label.
/stats dashboard
- PR #58 (
bde9dcc0) — Replaced 8 chart views with richer visualizations: lollipop (weekly stars), sankey (issues), dual-axis (forks), streamgraph (PRs), punchcard bubble matrix (commits over time), gantt strip (maintenance), radial gauge, sparkline ring buffer, big-number tile. - PR #53 (
3e1f7d16) — Codex P1 follow-ups on PR #50: serializedrecordDispatchr-m-w against concurrent dispatches, strippedattemptsfrom the POST body. - PR #61 (
d587a599) — Moved all GitHub API calls off the Angular client onto a server-side 5-min poller backed by SQLite./statsnow reads from same-origin/api/public-stats/github/:endpoint_id. Stops every visitor's browser from burning the shared 60-req/hr GitHub rate limit; one authenticated server poller can use the 5000-req/hr quota instead. CSP tightened toconnect-src 'self'. - PR #62 (
0bdbfd77) — Lowered the housekeeper k-anonymity floor from5to2so/statsactually surfaces real MCP client names. At single-digit total install counts, no real label could mathematically clear k=5 and the chart stayed atOther (uniq=6)forever. Raise back to5once installs exceed~50.
MCP server (fsb-mcp-server)
- PR #63 (
9c25405b) — Coerced string-encoded numeric tool params (tabId,tab_id,count,limit,topN). Some MCP clients (observed: Claude Code) serialize integers as JSON strings on the wire, which the server's barez.number()rejected withExpected number, received string. Single fix point at thejsonSchemaToZodtranslator plus 7 hand-rolled Zod sites. Note: this fix ships with[email protected](release pending).
Plumbing
- PR #51, #52, #54, #55, #56 —
/statsSPA route wiring, CSP for GitHub API (later removed by #61), CI showcase deps, cumulative-commits chart,0.9.65 → 0.9.66version bump.
Install
Download fsb-extension-v0.9.67.zip from the assets below, unzip, and load the unpacked directory at chrome://extensions (Developer mode → Load unpacked).
Validation
node scripts/validate-extension.mjs→ OK (manifest valid, 245 JS files parsed clean)npm test→ all suites green- Manifest V3, name
FSB v0.9.67, version0.9.67, 362 files, 13 MB on disk
Breaking Changes
- MCP server (fsb-mcp-server) now coerces string-encoded numeric params (`tabId`, `tab_id`, `count`, `limit`, `topN`) to numbers; previously rejected strings with Zod validation errors.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About LakshmanTurlapati/FSB
All releases →Related context
Beta — feedback welcome: [email protected]