Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Allow characteristics to be specified on the SDK for fingerprint generation & propagate to rate limit rule #1016

Merged
merged 7 commits into from
Jun 28, 2024

Conversation

e-moran
Copy link
Contributor

@e-moran e-moran commented Jun 21, 2024

Adds support for the generation of v2 fingerprints in the JS SDKs. V2 fingerprints can be customised to include any characteristics from the request in to the hashed payload so that they can align with rate limit characteristics.

This PR also adds functionality to default the characteristics of a rate limit rule to those of the base arcjet object if they're not explicitly set in the rule.

Resolves #1015

Copy link

trunk-io bot commented Jun 21, 2024

😎 Merged successfully - details.

@e-moran e-moran force-pushed the eoin/support-v2-fingerprints branch from 0ff668f to 71e5a6d Compare June 21, 2024 17:26
@e-moran e-moran marked this pull request as ready for review June 21, 2024 18:55
@e-moran e-moran requested a review from a team as a code owner June 21, 2024 18:55
@davidmytton
Copy link
Contributor

This PR will conflict with #1009. I don't mind if we re-do #1009 after this is merged or the other way around.

Copy link
Contributor

@blaine-arcjet blaine-arcjet left a comment

Choose a reason for hiding this comment

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

This looks excellent. I flagged a few things and I'd like to see some tests added in protocol/test/client.test.ts

analyze/edge-light.ts Show resolved Hide resolved
analyze/wasm/arcjet_analyze_js_req.wasm Outdated Show resolved Hide resolved
arcjet/index.ts Outdated Show resolved Hide resolved
arcjet/index.ts Outdated Show resolved Hide resolved
protocol/test/client.test.ts Outdated Show resolved Hide resolved
arcjet/test/index.node.test.ts Outdated Show resolved Hide resolved
arcjet/test/index.node.test.ts Outdated Show resolved Hide resolved
arcjet/test/index.node.test.ts Outdated Show resolved Hide resolved
arcjet/test/index.node.test.ts Outdated Show resolved Hide resolved
arcjet/test/index.node.test.ts Outdated Show resolved Hide resolved
@e-moran e-moran requested a review from blaine-arcjet June 28, 2024 14:15
Copy link
Contributor

@blaine-arcjet blaine-arcjet left a comment

Choose a reason for hiding this comment

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

💪 Great work!

@blaine-arcjet blaine-arcjet changed the title feat: use v2 fingerprint feat: Allow characteristics to be specified on the SDK for fingerprint generation & propagate to rate limit rule Jun 28, 2024
@trunk-io trunk-io bot merged commit 6b692da into main Jun 28, 2024
20 checks passed
@trunk-io trunk-io bot deleted the eoin/support-v2-fingerprints branch June 28, 2024 15:45
trunk-io bot pushed a commit that referenced this pull request Jul 1, 2024
🤖 I have created a release *beep* *boop*
---


<details><summary>@arcjet/analyze: 1.0.0-alpha.18</summary>

## [1.0.0-alpha.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-alpha.17...@arcjet/analyze-v1.0.0-alpha.18) (2024-07-01)


### 🚀 New Features

* Allow characteristics to be specified on the SDK for fingerprint generation & propagate to rate limit rule ([#1016](#1016)) ([6b692da](6b692da)), closes [#1015](#1015)


### 📦 Dependencies

* **dev:** Bump typescript from 5.4.5 to 5.5.2 ([#1011](#1011)) ([c17a101](c17a101))


### 🧹 Miscellaneous Chores

* **analyze:** Regenerate WebAssembly ([#1041](#1041)) ([a45faa3](a45faa3))


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @arcjet/protocol bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/rollup-config bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/tsconfig bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
</details>

<details><summary>@arcjet/bun: 1.0.0-alpha.18</summary>

## [1.0.0-alpha.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-alpha.17...@arcjet/bun-v1.0.0-alpha.18) (2024-07-01)


### 🪲 Bug Fixes

* **env:** Always rely on isDevelopment & remove isProduction helper ([#998](#998)) ([43423c6](43423c6))
* **sdk:** Inform type signature of protect via global characteristics ([#1043](#1043)) ([1ae4a89](1ae4a89)), closes [#1042](#1042)


### 📦 Dependencies

* **dev:** Bump bun-types from 1.1.13 to 1.1.17 ([#1022](#1022)) ([3aa7181](3aa7181))
* **dev:** Bump typescript from 5.4.5 to 5.5.2 ([#1011](#1011)) ([c17a101](c17a101))


### 🧹 Miscellaneous Chores

* Warn when IP is empty, even if we override it in development ([#1000](#1000)) ([da14bcb](da14bcb)), closes [#987](#987) [#216](#216)


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @arcjet/env bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/headers bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/ip bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/logger bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/protocol bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * arcjet bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/rollup-config bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/tsconfig bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
</details>

<details><summary>@arcjet/decorate: 1.0.0-alpha.18</summary>

## [1.0.0-alpha.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-alpha.17...@arcjet/decorate-v1.0.0-alpha.18) (2024-07-01)


### 📦 Dependencies

* **dev:** Bump typescript from 5.4.5 to 5.5.2 ([#1011](#1011)) ([c17a101](c17a101))


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @arcjet/protocol bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/sprintf bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/rollup-config bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/tsconfig bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
</details>

<details><summary>@arcjet/duration: 1.0.0-alpha.18</summary>

## [1.0.0-alpha.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-alpha.17...@arcjet/duration-v1.0.0-alpha.18) (2024-07-01)


### 📦 Dependencies

* **dev:** Bump typescript from 5.4.5 to 5.5.2 ([#1011](#1011)) ([c17a101](c17a101))


### Dependencies

* The following workspace dependencies were updated
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/rollup-config bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/tsconfig bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
</details>

<details><summary>@arcjet/env: 1.0.0-alpha.18</summary>

## [1.0.0-alpha.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-alpha.17...@arcjet/env-v1.0.0-alpha.18) (2024-07-01)


### 🪲 Bug Fixes

* **env:** Always rely on isDevelopment & remove isProduction helper ([#998](#998)) ([43423c6](43423c6))


### 📦 Dependencies

* **dev:** Bump typescript from 5.4.5 to 5.5.2 ([#1011](#1011)) ([c17a101](c17a101))


### Dependencies

* The following workspace dependencies were updated
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/rollup-config bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/tsconfig bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
</details>

<details><summary>@arcjet/eslint-config: 1.0.0-alpha.18</summary>

## [1.0.0-alpha.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-alpha.17...@arcjet/eslint-config-v1.0.0-alpha.18) (2024-07-01)


### 📦 Dependencies

* Bump @typescript-eslint/eslint-plugin from 7.13.0 to 7.13.1 ([#994](#994)) ([9481c7f](9481c7f))
* Bump @typescript-eslint/eslint-plugin from 7.13.1 to 7.14.1 ([#1025](#1025)) ([7e8cc60](7e8cc60))
* Bump @typescript-eslint/parser from 7.13.0 to 7.13.1 ([#993](#993)) ([d15a09d](d15a09d))
* Bump @typescript-eslint/parser from 7.13.1 to 7.14.1 ([#1024](#1024)) ([ee81b09](ee81b09))
* Bump eslint-config-turbo from 2.0.4 to 2.0.5 ([#1023](#1023)) ([aaaf17c](aaaf17c))
* Bump eslint-config-turbo from 2.0.5 to 2.0.6 ([#1052](#1052)) ([e1d3cd3](e1d3cd3))
</details>

<details><summary>@arcjet/headers: 1.0.0-alpha.18</summary>

## [1.0.0-alpha.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-alpha.17...@arcjet/headers-v1.0.0-alpha.18) (2024-07-01)


### 📦 Dependencies

* **dev:** Bump typescript from 5.4.5 to 5.5.2 ([#1011](#1011)) ([c17a101](c17a101))


### Dependencies

* The following workspace dependencies were updated
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/rollup-config bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/tsconfig bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
</details>

<details><summary>@arcjet/ip: 1.0.0-alpha.18</summary>

## [1.0.0-alpha.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-alpha.17...@arcjet/ip-v1.0.0-alpha.18) (2024-07-01)


### 📦 Dependencies

* **dev:** Bump typescript from 5.4.5 to 5.5.2 ([#1011](#1011)) ([c17a101](c17a101))


### Dependencies

* The following workspace dependencies were updated
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/rollup-config bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/tsconfig bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
</details>

<details><summary>@arcjet/logger: 1.0.0-alpha.18</summary>

## [1.0.0-alpha.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-alpha.17...@arcjet/logger-v1.0.0-alpha.18) (2024-07-01)


### 📦 Dependencies

* **dev:** Bump typescript from 5.4.5 to 5.5.2 ([#1011](#1011)) ([c17a101](c17a101))


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @arcjet/sprintf bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/rollup-config bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/tsconfig bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
</details>

<details><summary>@arcjet/next: 1.0.0-alpha.18</summary>

## [1.0.0-alpha.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-alpha.17...@arcjet/next-v1.0.0-alpha.18) (2024-07-01)


### 🪲 Bug Fixes

* **env:** Always rely on isDevelopment & remove isProduction helper ([#998](#998)) ([43423c6](43423c6))
* **sdk:** Inform type signature of protect via global characteristics ([#1043](#1043)) ([1ae4a89](1ae4a89)), closes [#1042](#1042)


### 📦 Dependencies

* **dev:** Bump typescript from 5.4.5 to 5.5.2 ([#1011](#1011)) ([c17a101](c17a101))


### 🧹 Miscellaneous Chores

* Warn when IP is empty, even if we override it in development ([#1000](#1000)) ([da14bcb](da14bcb)), closes [#987](#987) [#216](#216)


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @arcjet/env bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/headers bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/ip bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/logger bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/protocol bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * arcjet bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/rollup-config bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/tsconfig bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
</details>

<details><summary>@arcjet/node: 1.0.0-alpha.18</summary>

## [1.0.0-alpha.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-alpha.17...@arcjet/node-v1.0.0-alpha.18) (2024-07-01)


### 🪲 Bug Fixes

* **env:** Always rely on isDevelopment & remove isProduction helper ([#998](#998)) ([43423c6](43423c6))
* **sdk:** Inform type signature of protect via global characteristics ([#1043](#1043)) ([1ae4a89](1ae4a89)), closes [#1042](#1042)


### 📦 Dependencies

* **dev:** Bump typescript from 5.4.5 to 5.5.2 ([#1011](#1011)) ([c17a101](c17a101))


### 🧹 Miscellaneous Chores

* Warn when IP is empty, even if we override it in development ([#1000](#1000)) ([da14bcb](da14bcb)), closes [#987](#987) [#216](#216)


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @arcjet/env bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/headers bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/ip bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/logger bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/protocol bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * arcjet bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/rollup-config bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/tsconfig bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
</details>

<details><summary>@arcjet/protocol: 1.0.0-alpha.18</summary>

## [1.0.0-alpha.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-alpha.17...@arcjet/protocol-v1.0.0-alpha.18) (2024-07-01)


### ⚠ BREAKING CHANGES

* Move generated protobuf to default buf file path ([#1009](#1009))

### 🚀 New Features

* Allow characteristics to be specified on the SDK for fingerprint generation & propagate to rate limit rule ([#1016](#1016)) ([6b692da](6b692da)), closes [#1015](#1015)


### 📦 Dependencies

* **dev:** Bump typescript from 5.4.5 to 5.5.2 ([#1011](#1011)) ([c17a101](c17a101))


### 🧹 Miscellaneous Chores

* Move generated protobuf to default buf file path ([#1009](#1009)) ([6800a00](6800a00))


### Dependencies

* The following workspace dependencies were updated
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/rollup-config bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/tsconfig bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
</details>

<details><summary>@arcjet/rollup-config: 1.0.0-alpha.18</summary>

## [1.0.0-alpha.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-alpha.17...@arcjet/rollup-config-v1.0.0-alpha.18) (2024-07-01)


### 📦 Dependencies

* **dev:** Bump typescript from 5.4.5 to 5.5.2 ([#1011](#1011)) ([c17a101](c17a101))


### Dependencies

* The following workspace dependencies were updated
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/tsconfig bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
</details>

<details><summary>@arcjet/runtime: 1.0.0-alpha.18</summary>

## [1.0.0-alpha.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-alpha.17...@arcjet/runtime-v1.0.0-alpha.18) (2024-07-01)


### 📦 Dependencies

* **dev:** Bump typescript from 5.4.5 to 5.5.2 ([#1011](#1011)) ([c17a101](c17a101))


### Dependencies

* The following workspace dependencies were updated
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/rollup-config bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/tsconfig bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
</details>

<details><summary>@arcjet/sprintf: 1.0.0-alpha.18</summary>

## [1.0.0-alpha.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-alpha.17...@arcjet/sprintf-v1.0.0-alpha.18) (2024-07-01)


### 📦 Dependencies

* **dev:** Bump typescript from 5.4.5 to 5.5.2 ([#1011](#1011)) ([c17a101](c17a101))


### Dependencies

* The following workspace dependencies were updated
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/rollup-config bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/tsconfig bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
</details>

<details><summary>@arcjet/sveltekit: 1.0.0-alpha.18</summary>

## [1.0.0-alpha.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-alpha.17...@arcjet/sveltekit-v1.0.0-alpha.18) (2024-07-01)


### 🪲 Bug Fixes

* **env:** Always rely on isDevelopment & remove isProduction helper ([#998](#998)) ([43423c6](43423c6))
* **sdk:** Inform type signature of protect via global characteristics ([#1043](#1043)) ([1ae4a89](1ae4a89)), closes [#1042](#1042)


### 📦 Dependencies

* **dev:** Bump typescript from 5.4.5 to 5.5.2 ([#1011](#1011)) ([c17a101](c17a101))


### 🧹 Miscellaneous Chores

* Warn when IP is empty, even if we override it in development ([#1000](#1000)) ([da14bcb](da14bcb)), closes [#987](#987) [#216](#216)


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @arcjet/env bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/headers bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/ip bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/logger bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/protocol bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/runtime bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * arcjet bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/rollup-config bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/tsconfig bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
</details>

<details><summary>@arcjet/tsconfig: 1.0.0-alpha.18</summary>

## [1.0.0-alpha.18](https://github.com/arcjet/arcjet-js/compare/v1.0.0-alpha.17...@arcjet/tsconfig-v1.0.0-alpha.18) (2024-07-01)


### 🧹 Miscellaneous Chores

* **@arcjet/tsconfig:** Synchronize arcjet-js versions
</details>

<details><summary>arcjet: 1.0.0-alpha.18</summary>

## [1.0.0-alpha.18](v1.0.0-alpha.17...arcjet-v1.0.0-alpha.18) (2024-07-01)


### 🚀 New Features

* Allow characteristics to be specified on the SDK for fingerprint generation & propagate to rate limit rule ([#1016](#1016)) ([6b692da](6b692da)), closes [#1015](#1015)


### 🪲 Bug Fixes

* **sdk:** Inform type signature of protect via global characteristics ([#1043](#1043)) ([1ae4a89](1ae4a89)), closes [#1042](#1042)


### 📦 Dependencies

* **dev:** Bump typescript from 5.4.5 to 5.5.2 ([#1011](#1011)) ([c17a101](c17a101))


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @arcjet/analyze bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/duration bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/headers bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/protocol bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/runtime bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
  * devDependencies
    * @arcjet/eslint-config bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/rollup-config bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
    * @arcjet/tsconfig bumped from 1.0.0-alpha.17 to 1.0.0-alpha.18
</details>

<details><summary>1.0.0-alpha.18</summary>

## [1.0.0-alpha.18](v1.0.0-alpha.17...v1.0.0-alpha.18) (2024-07-01)


### ⚠ BREAKING CHANGES

* Move generated protobuf to default buf file path ([#1009](#1009))

### 🚀 New Features

* Allow characteristics to be specified on the SDK for fingerprint generation & propagate to rate limit rule ([#1016](#1016)) ([6b692da](6b692da)), closes [#1015](#1015)


### 🪲 Bug Fixes

* **env:** Always rely on isDevelopment & remove isProduction helper ([#998](#998)) ([43423c6](43423c6))
* **sdk:** Inform type signature of protect via global characteristics ([#1043](#1043)) ([1ae4a89](1ae4a89)), closes [#1042](#1042)


### 📦 Dependencies

* Bump @typescript-eslint/eslint-plugin from 7.13.0 to 7.13.1 ([#994](#994)) ([9481c7f](9481c7f))
* Bump @typescript-eslint/eslint-plugin from 7.13.1 to 7.14.1 ([#1025](#1025)) ([7e8cc60](7e8cc60))
* Bump @typescript-eslint/parser from 7.13.0 to 7.13.1 ([#993](#993)) ([d15a09d](d15a09d))
* Bump @typescript-eslint/parser from 7.13.1 to 7.14.1 ([#1024](#1024)) ([ee81b09](ee81b09))
* Bump eslint-config-turbo from 2.0.4 to 2.0.5 ([#1023](#1023)) ([aaaf17c](aaaf17c))
* Bump eslint-config-turbo from 2.0.5 to 2.0.6 ([#1052](#1052)) ([e1d3cd3](e1d3cd3))
* **dev:** Bump bun-types from 1.1.13 to 1.1.17 ([#1022](#1022)) ([3aa7181](3aa7181))
* **dev:** Bump typescript from 5.4.5 to 5.5.2 ([#1011](#1011)) ([c17a101](c17a101))
* **example:** Bump @clerk/nextjs from 5.1.5 to 5.1.6 in /examples/nextjs-14-clerk-rl in the dependencies group ([#1013](#1013)) ([8bed1dc](8bed1dc))
* **example:** Bump @clerk/nextjs from 5.1.5 to 5.1.6 in /examples/nextjs-14-clerk-shield in the dependencies group ([#1012](#1012)) ([c4bcde8](c4bcde8))
* **example:** Bump @sveltejs/kit from 2.5.17 to 2.5.18 in /examples/sveltekit in the dependencies group ([#1046](#1046)) ([ebab7de](ebab7de))
* **example:** Bump ai from 3.1.36 to 3.1.37 in /examples/nextjs-14-openai in the dependencies group ([#995](#995)) ([b43827b](b43827b))
* **example:** Bump hono from 4.4.9 to 4.4.10 in /examples/nodejs-hono-rl in the dependencies group ([#1048](#1048)) ([6e7c1fe](6e7c1fe))
* **example:** Bump lucide-react from 0.396.0 to 0.399.0 in /examples/nextjs-14-authjs-5 in the dependencies group across 1 directory ([#1040](#1040)) ([ea96487](ea96487))
* **example:** Bump lucide-react from 0.396.0 to 0.399.0 in /examples/nextjs-14-react-hook-form in the dependencies group across 1 directory ([#1039](#1039)) ([334ff9e](334ff9e))
* **example:** Bump postcss from 8.4.38 to 8.4.39 in /examples/nextjs-14-app-dir-rl in the dependencies group ([#1051](#1051)) ([ac24a0b](ac24a0b))
* **example:** Bump postcss from 8.4.38 to 8.4.39 in /examples/nextjs-14-app-dir-validate-email in the dependencies group ([#1045](#1045)) ([290bc49](290bc49))
* **example:** Bump postcss from 8.4.38 to 8.4.39 in /examples/nextjs-14-authjs-5 in the dependencies group ([#1056](#1056)) ([e2343f0](e2343f0))
* **example:** Bump postcss from 8.4.38 to 8.4.39 in /examples/nextjs-14-clerk-rl in the dependencies group ([#1058](#1058)) ([422b320](422b320))
* **example:** Bump postcss from 8.4.38 to 8.4.39 in /examples/nextjs-14-clerk-shield in the dependencies group ([#1044](#1044)) ([b6b891f](b6b891f))
* **example:** Bump postcss from 8.4.38 to 8.4.39 in /examples/nextjs-14-decorate in the dependencies group ([#1049](#1049)) ([43523a5](43523a5))
* **example:** Bump postcss from 8.4.38 to 8.4.39 in /examples/nextjs-14-ip-details in the dependencies group ([#1047](#1047)) ([1fe6a05](1fe6a05))
* **example:** Bump postcss from 8.4.38 to 8.4.39 in /examples/nextjs-14-nextauth-4 in the dependencies group ([#1054](#1054)) ([caff3dc](caff3dc))
* **example:** Bump postcss from 8.4.38 to 8.4.39 in /examples/nextjs-14-pages-wrap in the dependencies group ([#1055](#1055)) ([90e04f5](90e04f5))
* **example:** Bump postcss from 8.4.38 to 8.4.39 in /examples/nextjs-14-react-hook-form in the dependencies group ([#1050](#1050)) ([21e1108](21e1108))
* **example:** Bump the dependencies group across 1 directory with 2 updates ([#1006](#1006)) ([0578cb2](0578cb2))
* **example:** Bump the dependencies group across 1 directory with 2 updates ([#1019](#1019)) ([a15df12](a15df12))
* **example:** Bump the dependencies group across 1 directory with 6 updates ([#1017](#1017)) ([fb43c78](fb43c78))
* **example:** Bump the dependencies group across 1 directory with 7 updates ([#1028](#1028)) ([a3693d0](a3693d0))
* **example:** Bump the dependencies group across 1 directory with 7 updates ([#1036](#1036)) ([4e2bfe9](4e2bfe9))
* **example:** Bump the dependencies group in /examples/nextjs-14-openai with 2 updates ([#1057](#1057)) ([5df2e47](5df2e47))
* **example:** Bump the dependencies group in /examples/nextjs-14-react-hook-form with 2 updates ([#996](#996)) ([988dbf3](988dbf3))
* **example:** Bump the dependencies group in /examples/nodejs-hono-rl with 2 updates ([#1007](#1007)) ([c36b9f3](c36b9f3))


### 🧹 Miscellaneous Chores

* **analyze:** Regenerate WebAssembly ([#1041](#1041)) ([a45faa3](a45faa3))
* Move generated protobuf to default buf file path ([#1009](#1009)) ([6800a00](6800a00))
* Warn when IP is empty, even if we override it in development ([#1000](#1000)) ([da14bcb](da14bcb)), closes [#987](#987) [#216](#216)
</details>

---
This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add support for the generation of v2 fingerprints to the SDK
3 participants