Skip to content

Release 4.7.0#1466

Open
Matus Tomlein (matus-tomlein) wants to merge 2 commits intomasterfrom
release/4.7.0
Open

Release 4.7.0#1466
Matus Tomlein (matus-tomlein) wants to merge 2 commits intomasterfrom
release/4.7.0

Conversation

@matus-tomlein
Copy link
Copy Markdown
Contributor

Introduces a new @snowplow/browser-plugin-bot-detection plugin that integrates FingerprintJS BotD for client-side bot detection. When added to a tracker, it runs a single detection on page load and automatically attaches the result as a client_side_bot_detection context entity to every tracked event, indicating whether the visitor is a bot and, if so, which kind (e.g. headless_chrome, selenium). This complements server-side bot detection by capturing the browser environment signals that are only observable client-side.

Enhancements

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new browser tracker plugin package to perform a one-time client-side bot detection using FingerprintJS BotD and attach the result as a Snowplow context entity, and updates Rush/release metadata for the 4.7.0 release process.

Changes:

  • Introduce @snowplow/browser-plugin-bot-detection (implementation, types/schemata, build config, Jest tests, README/LICENSE).
  • Register the new plugin with Rush and approve the new dependency (@fingerprintjs/botd), updating the pnpm lock and repo state.
  • Switch the Rush version policy nextBump from patch to minor for the release.

Reviewed changes

Copilot reviewed 15 out of 16 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
rush.json Adds the new plugin project to the Rush workspace.
plugins/browser-plugin-bot-detection/tsconfig.json Inherits repo TypeScript configuration for the new plugin.
plugins/browser-plugin-bot-detection/test/bot-detection.test.ts Adds Jest tests covering success, pending, and failure paths.
plugins/browser-plugin-bot-detection/src/types.ts Defines the exported context data shape and bot kind union.
plugins/browser-plugin-bot-detection/src/schemata.ts Adds the Iglu schema constant for the context entity.
plugins/browser-plugin-bot-detection/src/index.ts Implements the plugin lifecycle + context attachment behavior.
plugins/browser-plugin-bot-detection/rollup.config.js Adds Rollup build outputs (UMD, minified UMD, ES module).
plugins/browser-plugin-bot-detection/package.json Declares package metadata, dependencies, scripts, and entrypoints.
plugins/browser-plugin-bot-detection/jest.config.js Configures plugin-level Jest settings for TS + jsdom.
plugins/browser-plugin-bot-detection/README.md Documents installation and usage of the new plugin.
plugins/browser-plugin-bot-detection/LICENSE Adds the package license file.
common/config/rush/version-policies.json Updates the version policy to a minor bump for the release.
common/config/rush/repo-state.json Updates Rush repo state hash after lockfile changes.
common/config/rush/pnpm-lock.yaml Adds the new plugin importer + locks @fingerprintjs/botd@2.0.0.
common/config/rush/browser-approved-packages.json Approves @fingerprintjs/botd and the new internal plugin package for browser usage.
common/changes/@snowplow/browser-plugin-bot-detection/bot-detection-plugin_2026-03-17-17-11.json Adds the Rush change entry describing the new plugin.
Files not reviewed (1)
  • common/config/rush/pnpm-lock.yaml: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Nick (stanch) and others added 2 commits March 27, 2026 13:54
* Add browser-plugin-bot-detection wrapping FingerprintJS BotD

Introduces a new browser tracker plugin that detects bots client-side
using @fingerprintjs/botd and attaches the result as a
client_side_bot_detection context entity to all tracked events.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

4 participants