Skip to content

Commit dfa889c

Browse files
authored
Merge #3: fix SDK apiUrl default to ingest.webdecoy.com (0.4.1)
fix(sdk): default apiUrl to ingest.webdecoy.com (0.4.1)
2 parents c552d38 + 3a6d506 commit dfa889c

11 files changed

Lines changed: 70 additions & 17 deletions

File tree

CHANGELOG.md

Lines changed: 57 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,57 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [0.4.0] - 2026-06-30
11+
12+
### Added
13+
- Stealth-browser detection for botasaurus-class scrapers
14+
- `F4` tripwire rule with honeytoken support — deterministic, zero-false-positive deception
15+
16+
### Fixed
17+
- Dropped Playwright heuristics that false-positived on real Chrome
18+
19+
### Documentation
20+
- Documented tripwire deception and the rules engine in the README
21+
22+
## [0.3.0] - 2026-05-31
23+
24+
### Added
25+
- Self-hosted detection engine ported from FCaptcha (Phase 1)
26+
- Captcha service with proof-of-work and token issuance (Phase 2)
27+
- `@webdecoy/client` browser widget (Phase 3)
28+
- Captcha HTTP endpoints and framework adapters (Phase 4)
29+
30+
### Changed
31+
- Aligned client endpoint paths across the SDK
32+
- Switched to a shields.io dynamic npm version badge
33+
- Bumped CI `checkout`/`setup-node` actions to v5 (Node 24)
34+
35+
### Documentation
36+
- Captcha docs, client README, and a runnable example
37+
38+
## [0.2.1] - 2026-05-29
39+
40+
### Fixed
41+
- Corrected repository URLs to `WebDecoy/node-sdk`
42+
- Updated CI to Node 20/22 and regenerated the lock file
43+
44+
### Changed
45+
- Bumped all packages to 0.2.1
46+
- Added the npm publish workflow
47+
- Removed old planning docs
48+
49+
## [0.2.0] - 2026-02-08
50+
51+
### Added
52+
- Rules engine with rate limiting, request filters, and violation reporting
53+
- Contributing guide, changelog, and CI workflow
54+
- Implementation summary and dashboard integration guide
55+
56+
### Fixed
57+
- Workspace dependencies for npm compatibility
58+
59+
## [0.1.0] - 2025-11-26
60+
1061
### Added
1162
- Initial release of `@webdecoy/node` core SDK
1263
- Initial release of `@webdecoy/express` middleware
@@ -41,7 +92,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
4192
- Contributing guidelines
4293
- MIT License
4394

44-
## [0.1.0] - 2025-01-XX
45-
46-
### Added
47-
- Initial beta release
95+
[Unreleased]: https://github.com/WebDecoy/node-sdk/compare/v0.4.0...HEAD
96+
[0.4.0]: https://github.com/WebDecoy/node-sdk/compare/v0.3.0...v0.4.0
97+
[0.3.0]: https://github.com/WebDecoy/node-sdk/compare/v0.2.1...v0.3.0
98+
[0.2.1]: https://github.com/WebDecoy/node-sdk/compare/v0.2.0...v0.2.1
99+
[0.2.0]: https://github.com/WebDecoy/node-sdk/compare/v0.1.0...v0.2.0
100+
[0.1.0]: https://github.com/WebDecoy/node-sdk/releases/tag/v0.1.0

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ const webdecoy = new WebDecoy({
160160
apiKey: 'sk_live_xxxxx',
161161

162162
// Optional: API endpoint (defaults to production)
163-
apiUrl: 'https://api.webdecoy.com',
163+
apiUrl: 'https://ingest.webdecoy.com',
164164

165165
// Optional: Enable TLS fingerprinting (default: true)
166166
enableTLSFingerprinting: true,

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.4.0",
3+
"version": "0.4.1",
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/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ interface WebDecoyMiddlewareOptions {
4646
// Required: Web Decoy API key
4747
apiKey: string;
4848

49-
// Optional: API endpoint (default: 'https://api.webdecoy.com')
49+
// Optional: API endpoint (default: 'https://ingest.webdecoy.com')
5050
apiUrl?: string;
5151

5252
// Optional: Threat score threshold for blocking (default: 80)

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.4.0",
3+
"version": "0.4.1",
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-sdk/issues"
4141
},
4242
"dependencies": {
43-
"@webdecoy/node": "^0.4.0"
43+
"@webdecoy/node": "^0.4.1"
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.4.0",
3+
"version": "0.4.1",
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-sdk/issues"
4141
},
4242
"dependencies": {
43-
"@webdecoy/node": "^0.4.0",
43+
"@webdecoy/node": "^0.4.1",
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.4.0",
3+
"version": "0.4.1",
44
"description": "Web Decoy middleware for Next.js",
55
"main": "./dist/index.js",
66
"types": "./dist/index.d.ts",
@@ -41,7 +41,7 @@
4141
"url": "https://github.com/WebDecoy/node-sdk/issues"
4242
},
4343
"dependencies": {
44-
"@webdecoy/node": "^0.4.0"
44+
"@webdecoy/node": "^0.4.1"
4545
},
4646
"peerDependencies": {
4747
"next": ">=13.0.0"

packages/webdecoy/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ const webdecoy = new WebDecoy({
4545
apiKey: 'sk_live_xxxxx',
4646

4747
// Optional: API endpoint (defaults to production)
48-
apiUrl: 'https://api.webdecoy.com',
48+
apiUrl: 'https://ingest.webdecoy.com',
4949

5050
// Optional: Enable TLS fingerprinting (default: true)
5151
enableTLSFingerprinting: true,

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.4.0",
3+
"version": "0.4.1",
44
"description": "Web Decoy SDK for Node.js - Bot detection with TLS fingerprinting",
55
"main": "./dist/index.js",
66
"types": "./dist/index.d.ts",

packages/webdecoy/src/sdk.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ export class WebDecoy {
4242
// Set defaults
4343
this.config = {
4444
apiKey: config.apiKey,
45-
apiUrl: config.apiUrl || 'https://api.webdecoy.com',
45+
apiUrl: config.apiUrl || 'https://ingest.webdecoy.com',
4646
enableTLSFingerprinting: config.enableTLSFingerprinting ?? true,
4747
threatScoreThreshold: config.threatScoreThreshold ?? 80,
4848
timeout: config.timeout ?? 5000,

0 commit comments

Comments
 (0)