Skip to content

Commit a43cf40

Browse files
committed
chore(release): 0.9.0
Bot classification in the request path — bots() rule, bot.* filter namespace, and the 168-agent registry generated from pkg/agents.
1 parent 578b5eb commit a43cf40

6 files changed

Lines changed: 31 additions & 8 deletions

File tree

CHANGELOG.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,29 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1515
- New exports: `AgentVerifier`, `createAgentVerifier`, `DirectoryCache`, `DEFAULT_SIGNED_AGENT_DIRECTORIES`, and types `AgentVerdict`, `AgentStatus`, `AgentCategory`, `WebBotAuthConfig`, `AgentVerifierOptions`, `SignedAgentDirectory`.
1616
- Doc: "Verify AI agents with Web Bot Auth in Next.js" (`docs/verify-ai-agents-web-bot-auth.md`).
1717

18+
## [0.9.0] - 2026-07-31
19+
20+
### Added
21+
- **Bot classification in the request path** — rules can now act on who the
22+
User-Agent says it is, which the AI-scraper docs described but nothing could do.
23+
- `bots()` rule: `bots({ categories: ['training_crawler'] })`,
24+
`bots({ ai: true, allow: ['perplexitybot'] })`,
25+
`bots({ agents: ['gptbot', 'ClaudeBot'], action: 'THROTTLE' })`.
26+
- New filter namespace: `bot.known`, `bot.ai`, `bot.category`, `bot.name`,
27+
`bot.id`, `bot.organization`, `bot.score`, `bot.respects_robots`.
28+
- New exports: `bots`, `BotRule`, `matchUserAgent`, `classifyUserAgent`,
29+
`BOT_REGISTRY`, `BOT_CATEGORIES`, and types `BotVerdict`, `BotAgent`,
30+
`BotCategory`, `BotRuleConfig`.
31+
- 168 agents generated from the Go registry, matched locally with no network
32+
call. Category names match the dashboard's `ai_scraper_category` column.
33+
- `ai: true` covers training crawlers, AI search crawlers, AI agents and AI
34+
assistants. It excludes `search_crawler` — blocking Googlebot would deindex
35+
your site.
36+
37+
This matches a **self-declared** User-Agent, so it acts only on agents that
38+
identify honestly. That is the right tool for cooperative crawlers and the
39+
wrong one for anything spoofing a browser; use `tripwire()` for those.
40+
1841
## [0.4.0] - 2026-06-30
1942

2043
### Added

packages/client/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@webdecoy/client",
3-
"version": "0.8.1",
3+
"version": "0.9.0",
44
"description": "Web Decoy browser widget - signal collection, proof-of-work, and captcha UI",
55
"main": "./dist/index.js",
66
"module": "./dist/index.mjs",

packages/express/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@webdecoy/express",
3-
"version": "0.8.1",
3+
"version": "0.9.0",
44
"description": "Web Decoy middleware for Express.js",
55
"main": "./dist/index.js",
66
"types": "./dist/index.d.ts",
@@ -40,7 +40,7 @@
4040
"url": "https://github.com/WebDecoy/node/issues"
4141
},
4242
"dependencies": {
43-
"@webdecoy/node": "^0.8.1"
43+
"@webdecoy/node": "^0.9.0"
4444
},
4545
"peerDependencies": {
4646
"express": "^4.18.0 || ^5.0.0"

packages/fastify/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@webdecoy/fastify",
3-
"version": "0.8.1",
3+
"version": "0.9.0",
44
"description": "Web Decoy plugin for Fastify",
55
"main": "./dist/index.js",
66
"types": "./dist/index.d.ts",
@@ -40,7 +40,7 @@
4040
"url": "https://github.com/WebDecoy/node/issues"
4141
},
4242
"dependencies": {
43-
"@webdecoy/node": "^0.8.1",
43+
"@webdecoy/node": "^0.9.0",
4444
"fastify-plugin": "^4.5.1"
4545
},
4646
"peerDependencies": {

packages/nextjs/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@webdecoy/nextjs",
3-
"version": "0.8.1",
3+
"version": "0.9.0",
44
"description": "Web Decoy middleware for Next.js",
55
"main": "./dist/index.js",
66
"types": "./dist/index.d.ts",
@@ -42,7 +42,7 @@
4242
"url": "https://github.com/WebDecoy/node/issues"
4343
},
4444
"dependencies": {
45-
"@webdecoy/node": "^0.8.1"
45+
"@webdecoy/node": "^0.9.0"
4646
},
4747
"peerDependencies": {
4848
"next": ">=13.0.0"

packages/webdecoy/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@webdecoy/node",
3-
"version": "0.8.1",
3+
"version": "0.9.0",
44
"description": "Web Decoy SDK for Node.js - Bot detection with TLS fingerprinting",
55
"main": "./dist/index.js",
66
"types": "./dist/index.d.ts",

0 commit comments

Comments
 (0)