@prosopo/procaptcha-pow 2.8.31 → 2.9.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
 
2
- > @prosopo/procaptcha-pow@2.8.31 build:cjs
2
+ > @prosopo/procaptcha-pow@2.9.5 build:cjs
3
3
  > NODE_ENV=${NODE_ENV:-development}; vite build --config vite.cjs.config.ts --mode $NODE_ENV
4
4
 
5
5
  ViteCommonJSConfig: .
@@ -11,11 +11,13 @@ ViteCommonJSConfig: .
11
11
  '/home/runner/work/captcha/captcha/packages/util/tsconfig.json',
12
12
  '/home/runner/work/captcha/captcha/packages/util-crypto/tsconfig.json',
13
13
  '/home/runner/work/captcha/captcha/packages/common/tsconfig.json',
14
+ '/home/runner/work/captcha/captcha/packages/logger/tsconfig.json',
14
15
  '/home/runner/work/captcha/captcha/packages/procaptcha-common/tsconfig.json',
15
16
  '/home/runner/work/captcha/captcha/packages/load-balancer/tsconfig.json',
16
17
  '/home/runner/work/captcha/captcha/packages/widget-skeleton/tsconfig.json',
17
18
  '/home/runner/work/captcha/captcha/packages/account/tsconfig.json',
18
19
  '/home/runner/work/captcha/captcha/packages/fingerprint/tsconfig.json',
20
+ '/home/runner/work/captcha/captcha/packages/fingerprintjs/tsconfig.json',
19
21
  '/home/runner/work/captcha/captcha/packages/keyring/tsconfig.json'
20
22
  ]
21
23
  }
@@ -27,11 +29,13 @@ ViteCommonJSConfig: .
27
29
  '@prosopo/util',
28
30
  '@prosopo/util-crypto',
29
31
  '@prosopo/common',
32
+ '@prosopo/logger',
30
33
  '@prosopo/procaptcha-common',
31
34
  '@prosopo/load-balancer',
32
35
  '@prosopo/widget-skeleton',
33
36
  '@prosopo/account',
34
37
  '@prosopo/fingerprint',
38
+ '@prosopo/fingerprintjs',
35
39
  '@prosopo/keyring'
36
40
  ]
37
41
  }
@@ -43,6 +47,6 @@ Build end
43
47
  rendering chunks...
44
48
  dist/cjs/index.cjs 0.25 kB
45
49
  dist/cjs/components/ProcaptchaPoW.cjs 0.82 kB
46
- dist/cjs/components/ProcaptchaWidget.cjs 3.52 kB
47
- dist/cjs/services/Manager.cjs 8.65 kB
48
- ✓ built in 290ms
50
+ dist/cjs/components/ProcaptchaWidget.cjs 3.98 kB
51
+ dist/cjs/services/Manager.cjs 9.59 kB
52
+ ✓ built in 196ms
@@ -1,50 +1,56 @@
1
1
 
2
- > @prosopo/procaptcha-pow@2.8.31 build:tsc
2
+ > @prosopo/procaptcha-pow@2.9.5 build:tsc
3
3
  > tsc --build --verbose
4
4
 
5
- 4:57:20 PM - Projects in this build:
5
+ 10:13:40 AM - Projects in this build:
6
6
  * ../../dev/config/tsconfig.json
7
7
  * ../locale/tsconfig.json
8
8
  * ../util/tsconfig.json
9
9
  * ../util-crypto/tsconfig.json
10
10
  * ../types/tsconfig.json
11
11
  * ../api/tsconfig.json
12
+ * ../logger/tsconfig.json
12
13
  * ../common/tsconfig.json
13
14
  * ../load-balancer/tsconfig.json
14
15
  * ../widget-skeleton/tsconfig.json
16
+ * ../fingerprintjs/tsconfig.json
15
17
  * ../fingerprint/tsconfig.json
16
18
  * ../keyring/tsconfig.json
17
19
  * ../account/tsconfig.json
18
20
  * ../procaptcha-common/tsconfig.json
19
21
  * tsconfig.json
20
22
 
21
- 4:57:20 PM - Project '../../dev/config/tsconfig.json' is up to date because newest input '../../dev/config/src/dependencies.ts' is older than output '../../dev/config/tsconfig.tsbuildinfo'
23
+ 10:13:40 AM - Project '../../dev/config/tsconfig.json' is up to date because newest input '../../dev/config/src/webpack/webpack.config.ts' is older than output '../../dev/config/tsconfig.tsbuildinfo'
22
24
 
23
- 4:57:20 PM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/translationKey.ts' is older than output '../locale/tsconfig.tsbuildinfo'
25
+ 10:13:40 AM - Project '../locale/tsconfig.json' is up to date because newest input '../locale/src/util.ts' is older than output '../locale/tsconfig.tsbuildinfo'
24
26
 
25
- 4:57:20 PM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/verifyRecency.ts' is older than output '../util/tsconfig.tsbuildinfo'
27
+ 10:13:40 AM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/tsconfig.tsbuildinfo'
26
28
 
27
- 4:57:20 PM - Project '../util-crypto/tsconfig.json' is up to date because newest input '../util-crypto/src/types.ts' is older than output '../util-crypto/tsconfig.tsbuildinfo'
29
+ 10:13:40 AM - Project '../util-crypto/tsconfig.json' is up to date because newest input '../util-crypto/src/types.ts' is older than output '../util-crypto/tsconfig.tsbuildinfo'
28
30
 
29
- 4:57:20 PM - Project '../types/tsconfig.json' is up to date because newest input '../types/src/procaptcha/api.ts' is older than output '../types/tsconfig.tsbuildinfo'
31
+ 10:13:40 AM - Project '../types/tsconfig.json' is up to date because newest input '../types/src/procaptcha/api.ts' is older than output '../types/tsconfig.tsbuildinfo'
30
32
 
31
- 4:57:20 PM - Project '../api/tsconfig.json' is up to date because newest input '../api/src/index.ts' is older than output '../api/tsconfig.tsbuildinfo'
33
+ 10:13:40 AM - Project '../api/tsconfig.json' is up to date because newest input '../api/src/index.ts' is older than output '../api/tsconfig.tsbuildinfo'
32
34
 
33
- 4:57:20 PM - Project '../common/tsconfig.json' is up to date because newest input '../common/src/logger.ts' is older than output '../common/tsconfig.tsbuildinfo'
35
+ 10:13:40 AM - Project '../logger/tsconfig.json' is up to date because newest input '../logger/src/index.ts' is older than output '../logger/tsconfig.tsbuildinfo'
34
36
 
35
- 4:57:21 PM - Project '../load-balancer/tsconfig.json' is up to date because newest input '../load-balancer/src/balancer.ts' is older than output '../load-balancer/tsconfig.tsbuildinfo'
37
+ 10:13:40 AM - Project '../common/tsconfig.json' is up to date because newest input '../common/src/index.ts' is older than output '../common/tsconfig.tsbuildinfo'
36
38
 
37
- 4:57:21 PM - Project '../widget-skeleton/tsconfig.json' is up to date because newest input '../widget-skeleton/src/constants.ts' is older than output '../widget-skeleton/tsconfig.tsbuildinfo'
39
+ 10:13:40 AM - Project '../load-balancer/tsconfig.json' is up to date because newest input '../load-balancer/src/balancer.ts' is older than output '../load-balancer/tsconfig.tsbuildinfo'
38
40
 
39
- 4:57:21 PM - Project '../fingerprint/tsconfig.json' is up to date because newest input '../fingerprint/src/index.ts' is older than output '../fingerprint/tsconfig.tsbuildinfo'
41
+ 10:13:40 AM - Project '../widget-skeleton/tsconfig.json' is up to date because newest input '../widget-skeleton/src/webComponent/createWidget.ts' is older than output '../widget-skeleton/tsconfig.tsbuildinfo'
40
42
 
41
- 4:57:21 PM - Project '../keyring/tsconfig.json' is up to date because newest input '../keyring/src/index.ts' is older than output '../keyring/tsconfig.tsbuildinfo'
43
+ 10:13:40 AM - Project '../fingerprintjs/tsconfig.json' is up to date because newest input '../fingerprintjs/src/utils/browser.ts' is older than output '../fingerprintjs/tsconfig.tsbuildinfo'
42
44
 
43
- 4:57:21 PM - Project '../account/tsconfig.json' is up to date because newest input '../account/src/custom.d.ts' is older than output '../account/tsconfig.tsbuildinfo'
45
+ 10:13:40 AM - Project '../fingerprint/tsconfig.json' is up to date because newest input '../fingerprint/src/index.ts' is older than output '../fingerprint/tsconfig.tsbuildinfo'
44
46
 
45
- 4:57:21 PM - Project '../procaptcha-common/tsconfig.json' is up to date because newest input '../procaptcha-common/src/state/builder.ts' is older than output '../procaptcha-common/tsconfig.tsbuildinfo'
47
+ 10:13:40 AM - Project '../keyring/tsconfig.json' is up to date because newest input '../keyring/src/index.ts' is older than output '../keyring/tsconfig.tsbuildinfo'
46
48
 
47
- 4:57:21 PM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
49
+ 10:13:40 AM - Project '../account/tsconfig.json' is up to date because newest input '../account/src/custom.d.ts' is older than output '../account/tsconfig.tsbuildinfo'
48
50
 
49
- 4:57:21 PM - Building project '/home/runner/work/captcha/captcha/packages/procaptcha-pow/tsconfig.json'...
51
+ 10:13:40 AM - Project '../procaptcha-common/tsconfig.json' is up to date because newest input '../procaptcha-common/src/tests/defaultEvents.test.ts' is older than output '../procaptcha-common/tsconfig.tsbuildinfo'
52
+
53
+ 10:13:40 AM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
54
+
55
+ 10:13:40 AM - Building project '/home/runner/work/captcha/captcha/packages/procaptcha-pow/tsconfig.json'...
50
56
 
@@ -1,9 +1,9 @@
1
1
 
2
- > @prosopo/procaptcha-pow@2.8.31 build
2
+ > @prosopo/procaptcha-pow@2.9.5 build
3
3
  > npm run build:cross-env -- --mode ${NODE_ENV:-development}
4
4
 
5
5
 
6
- > @prosopo/procaptcha-pow@2.8.31 build:cross-env
6
+ > @prosopo/procaptcha-pow@2.9.5 build:cross-env
7
7
  > vite build --config vite.esm.config.ts --mode production
8
8
 
9
9
  ViteEsmConfig: .
@@ -15,11 +15,13 @@ ViteEsmConfig: .
15
15
  '/home/runner/work/captcha/captcha/packages/util/tsconfig.json',
16
16
  '/home/runner/work/captcha/captcha/packages/util-crypto/tsconfig.json',
17
17
  '/home/runner/work/captcha/captcha/packages/common/tsconfig.json',
18
+ '/home/runner/work/captcha/captcha/packages/logger/tsconfig.json',
18
19
  '/home/runner/work/captcha/captcha/packages/procaptcha-common/tsconfig.json',
19
20
  '/home/runner/work/captcha/captcha/packages/load-balancer/tsconfig.json',
20
21
  '/home/runner/work/captcha/captcha/packages/widget-skeleton/tsconfig.json',
21
22
  '/home/runner/work/captcha/captcha/packages/account/tsconfig.json',
22
23
  '/home/runner/work/captcha/captcha/packages/fingerprint/tsconfig.json',
24
+ '/home/runner/work/captcha/captcha/packages/fingerprintjs/tsconfig.json',
23
25
  '/home/runner/work/captcha/captcha/packages/keyring/tsconfig.json'
24
26
  ]
25
27
  }
@@ -31,11 +33,13 @@ ViteEsmConfig: .
31
33
  '@prosopo/util',
32
34
  '@prosopo/util-crypto',
33
35
  '@prosopo/common',
36
+ '@prosopo/logger',
34
37
  '@prosopo/procaptcha-common',
35
38
  '@prosopo/load-balancer',
36
39
  '@prosopo/widget-skeleton',
37
40
  '@prosopo/account',
38
41
  '@prosopo/fingerprint',
42
+ '@prosopo/fingerprintjs',
39
43
  '@prosopo/keyring'
40
44
  ]
41
45
  }
@@ -47,6 +51,6 @@ Build end
47
51
  rendering chunks...
48
52
  dist/index.js 0.13 kB
49
53
  dist/components/ProcaptchaPoW.js 0.46 kB
50
- dist/components/ProcaptchaWidget.js 3.41 kB
51
- dist/services/Manager.js 8.50 kB
52
- ✓ built in 231ms
54
+ dist/components/ProcaptchaWidget.js 3.84 kB
55
+ dist/services/Manager.js 9.41 kB
56
+ ✓ built in 193ms
package/CHANGELOG.md CHANGED
@@ -1,5 +1,437 @@
1
1
  # @prosopo/procaptcha-pow
2
2
 
3
+ ## 2.9.5
4
+ ### Patch Changes
5
+
6
+ - Updated dependencies [b03dad1]
7
+ - @prosopo/types@4.3.1
8
+ - @prosopo/api@3.4.9
9
+ - @prosopo/procaptcha-common@2.10.18
10
+
11
+ ## 2.9.4
12
+ ### Patch Changes
13
+
14
+ - Updated dependencies [a1d60db]
15
+ - Updated dependencies [2392aaf]
16
+ - Updated dependencies [6ca1125]
17
+ - @prosopo/types@4.3.0
18
+ - @prosopo/util@3.2.15
19
+ - @prosopo/api@3.4.8
20
+ - @prosopo/common@3.1.38
21
+ - @prosopo/procaptcha-common@2.10.17
22
+
23
+ ## 2.9.3
24
+ ### Patch Changes
25
+
26
+ - d3db08d: feat(widget): bait AI responses with empty input + decoded label, portaled into the dapp's form
27
+
28
+ Redesigns the honeypot so it can actually catch AI agents instead of being inert:
29
+
30
+ - Empty input + decoded label: the encoded morse/semaphore question moves from `input.value` to an offscreen `<label>` (base64-decoded at render). Naive form-fillers and humans leave the empty input alone; agents that read the DOM as a prompt write into the empty field, captured as `clientMetaData.hp` on submit.
31
+ - Portaled to light DOM, inside the dapp's `<form>`: widget stays in shadow DOM, but the honeypot portals via `react-dom/createPortal` into the enclosing form (`document.body` fallback). Bots no longer have to traverse `.shadowRoot` to reach it (which was tripping `@prosopo/catcher`'s shadow-DOM guard and wiping the bot's value), and the bait sits where bots actually look — `form.querySelectorAll('input')`.
32
+ - `form="<useId>-d"`: opaque per-instance non-existent form id disassociates the input from native form submission while keeping it DOM-discoverable. Dapp backends don't receive a stray `email_confirm=` field.
33
+ - Shared `<Honeypot />` extracted to `@prosopo/procaptcha-common`.
34
+ - `procaptcha-bundle` Vite config now routes the Honeypot module into a per-build opaque chunk (`c<random8hex>-<hash>.js`) so the URL doesn't identify the component or stay stable across builds for static blocklisting.
35
+ - Updated dependencies [d3db08d]
36
+ - @prosopo/procaptcha-common@2.10.16
37
+
38
+ ## 2.9.2
39
+ ### Patch Changes
40
+
41
+ - 6c26669: Add per-site honeypot trap. When enabled, the provider attaches an encoded question (morse or semaphore, base64-wrapped) in the `x-prosopo-meta` response header on frictionless responses. The widget renders the value into an off-screen hidden input with `name="email_confirm"`; bots that auto-fill text inputs populate it and the value rides back on the solution submit as `clientMetaData.hp`, which is persisted on the `StoredCaptcha` record. Falls back to a random phrase from `PROSOPO_HONEYPOT_PHRASE_BANK_PATH` when no custom question is configured.
42
+ - Updated dependencies [6c26669]
43
+ - Updated dependencies [f7f9ec5]
44
+ - @prosopo/types@4.2.1
45
+ - @prosopo/api@3.4.7
46
+ - @prosopo/procaptcha-common@2.10.15
47
+
48
+ ## 2.9.1
49
+ ### Patch Changes
50
+
51
+ - Updated dependencies [0fd81af]
52
+ - @prosopo/common@3.1.37
53
+ - @prosopo/procaptcha-common@2.10.14
54
+
55
+ ## 2.9.0
56
+ ### Minor Changes
57
+
58
+ - 20cae63: feat(provider): re-route after PoW using decrypted behavioural data
59
+
60
+ PoW solutions are now re-evaluated by the routing machine after submission.
61
+ Previously the routing decision was made up-front on a thin set of signals;
62
+ behavioural data only becomes available (decrypted server-side) once the
63
+ user submits their PoW solution, so a user with weak behavioural signals
64
+ could still earn a token by solving PoW alone.
65
+
66
+ The submit endpoint now runs the routing machine a second time in a new
67
+ `postPow` phase, feeding in the decrypted behavioural data, the originating
68
+ session's score, request headers, JA4, and IP info. If the router escalates,
69
+ the provider mints a fresh session (carrying the original session's risk
70
+ profile) and returns `escalation: { captchaType, sessionId }` on the
71
+ `PowCaptchaSolutionResponse`. The `verified` flag is forced to `false` on
72
+ escalation — the user isn't done until they clear the follow-up.
73
+
74
+ On the client, `ProcaptchaFrictionless` accepts the escalation via a new
75
+ internal `onEscalate` prop on the PoW widget and mounts the chosen image
76
+ or puzzle widget in place, splicing the new sessionId into the
77
+ `FrictionlessState`. The handoff is internal to the frictionless → pow
78
+ flow — dapps integrating Procaptcha see no API change.
79
+
80
+ `RoutingMachineInputBase.phase` widens from `"route"` to
81
+ `"route" | "postPow"` so decision-machine configs can distinguish the two
82
+ passes.
83
+
84
+ ### Patch Changes
85
+
86
+ - Updated dependencies [20cae63]
87
+ - Updated dependencies [4d9923e]
88
+ - @prosopo/types@4.2.0
89
+ - @prosopo/api@3.4.6
90
+ - @prosopo/procaptcha-common@2.10.13
91
+
92
+ ## 2.8.62
93
+ ### Patch Changes
94
+
95
+ - Updated dependencies [d351362]
96
+ - @prosopo/types@4.1.4
97
+ - @prosopo/api@3.4.5
98
+ - @prosopo/procaptcha-common@2.10.12
99
+
100
+ ## 2.8.61
101
+ ### Patch Changes
102
+
103
+ - Updated dependencies [6567ce0]
104
+ - Updated dependencies [e2711ae]
105
+ - Updated dependencies [5786629]
106
+ - @prosopo/util@3.2.14
107
+ - @prosopo/types@4.1.3
108
+ - @prosopo/locale@3.2.4
109
+ - @prosopo/api@3.4.4
110
+ - @prosopo/common@3.1.36
111
+ - @prosopo/procaptcha-common@2.10.11
112
+
113
+ ## 2.8.60
114
+ ### Patch Changes
115
+
116
+ - Updated dependencies [72a1218]
117
+ - Updated dependencies [566c1f6]
118
+ - @prosopo/util@3.2.13
119
+ - @prosopo/widget-skeleton@2.8.3
120
+ - @prosopo/types@4.1.2
121
+ - @prosopo/procaptcha-common@2.10.10
122
+ - @prosopo/api@3.4.3
123
+
124
+ ## 2.8.59
125
+ ### Patch Changes
126
+
127
+ - Updated dependencies [53bfd45]
128
+ - Updated dependencies [91958da]
129
+ - @prosopo/procaptcha-common@2.10.9
130
+ - @prosopo/locale@3.2.3
131
+ - @prosopo/api@3.4.2
132
+ - @prosopo/types@4.1.1
133
+ - @prosopo/common@3.1.35
134
+
135
+ ## 2.8.58
136
+ ### Patch Changes
137
+
138
+ - Updated dependencies [6a741ce]
139
+ - @prosopo/types@4.1.0
140
+ - @prosopo/api@3.4.1
141
+ - @prosopo/procaptcha-common@2.10.8
142
+
143
+ ## 2.8.57
144
+ ### Patch Changes
145
+
146
+ - @prosopo/procaptcha-common@2.10.7
147
+
148
+ ## 2.8.56
149
+ ### Patch Changes
150
+
151
+ - 4aae4e6: Plumb the WASM SIMD CPU fingerprint readings (collected by the catcher
152
+ client per https://blog.azerpas.com/writing/wasm-simd-fingerprinting/)
153
+ through the captcha flow and onto the linked `Session` record.
154
+ Collection-only — no scoring or classification yet.
155
+
156
+ The readings are sent at the earliest moment they're available so the
157
+ signal lands on the session as soon as possible:
158
+
159
+ 1. **Captcha-challenge GET** (PoW / Puzzle / Image) — the procaptcha
160
+ Manager calls `frictionlessState.getSimdReadings(0)` (non-blocking
161
+ cache check) and attaches it to the challenge-request body. The
162
+ provider handler decodes and patches the linked session via
163
+ `updateSessionRecord`.
164
+ 2. **Solution submission** (PoW / Puzzle / Image) — same non-blocking
165
+ check on the submit body. Acts as a backup if the benchmark wasn't
166
+ ready in time for the challenge GET.
167
+
168
+ Frictionless init itself stays SIMD-free (benchmark is too slow to gate
169
+ the first hop).
170
+
171
+ Surface area:
172
+
173
+ - `SimdReadings` discriminated union + `SimdOpReadingRecord` /
174
+ `SimdOpCategory` in `@prosopo/types`, plus `simdReadingsCodec` shared
175
+ encode/decode helpers so the browser SDK and the provider use the same
176
+ pipe-safe wire format.
177
+ - Optional `simdReadings: string()` on `CaptchaRequestBody`,
178
+ `GetPowCaptchaChallengeRequestBody`, `GetPuzzleCaptchaChallengeRequestBody`,
179
+ `CaptchaSolutionBody`, `SubmitPowCaptchaSolutionBody`, and
180
+ `SubmitPuzzleCaptchaSolutionBody`.
181
+ - `FrictionlessState.getSimdReadings` + `BotDetectionFunctionResult.getSimdReadings`
182
+ so the catcher's prefetched benchmark is consumed at the request sites.
183
+ - `ProcaptchaApiInterface.{getCaptchaChallenge, submitCaptchaSolution}` and
184
+ the `ProviderApi.{getCaptchaChallenge, getPowCaptchaChallenge, getPuzzleCaptchaChallenge,
185
+ submitCaptchaSolution, submitPowCaptchaSolution, submitPuzzleCaptchaSolution}`
186
+ client methods accept the field.
187
+ - Provider challenge + solution handlers decode via `decodeSimdReadings`
188
+ and `updateSessionRecord` (Mongoose `Mixed`, Zod discriminated-union
189
+ validation at the edge). The challenge-GET patch is fire-and-forget.
190
+
191
+ Backward-compatible: older catcher clients omit the field at every layer;
192
+ the session record omits it in turn.
193
+ - Updated dependencies [3c0be68]
194
+ - Updated dependencies [f9ea09d]
195
+ - Updated dependencies [4aae4e6]
196
+ - Updated dependencies [d865319]
197
+ - Updated dependencies [753304b]
198
+ - Updated dependencies [8bb7286]
199
+ - Updated dependencies [f9ea09d]
200
+ - Updated dependencies [4aae4e6]
201
+ - Updated dependencies [4993813]
202
+ - Updated dependencies [5f1ae53]
203
+ - @prosopo/types@4.0.0
204
+ - @prosopo/api@3.4.0
205
+ - @prosopo/locale@3.2.2
206
+ - @prosopo/util@3.2.12
207
+ - @prosopo/common@3.1.34
208
+ - @prosopo/widget-skeleton@2.8.2
209
+ - @prosopo/procaptcha-common@2.10.6
210
+
211
+ ## 2.8.55
212
+ ### Patch Changes
213
+
214
+ - Updated dependencies [819ed95]
215
+ - @prosopo/types@3.16.1
216
+ - @prosopo/api@3.3.2
217
+ - @prosopo/procaptcha-common@2.10.5
218
+
219
+ ## 2.8.54
220
+ ### Patch Changes
221
+
222
+ - Updated dependencies [f6a4402]
223
+ - Updated dependencies [99dfb44]
224
+ - @prosopo/types@3.16.0
225
+ - @prosopo/api@3.3.1
226
+ - @prosopo/procaptcha-common@2.10.4
227
+
228
+ ## 2.8.53
229
+ ### Patch Changes
230
+
231
+ - Updated dependencies [3e54c0a]
232
+ - @prosopo/types@3.15.0
233
+ - @prosopo/api@3.3.0
234
+ - @prosopo/procaptcha-common@2.10.3
235
+
236
+ ## 2.8.52
237
+ ### Patch Changes
238
+
239
+ - Updated dependencies [946a8ba]
240
+ - Updated dependencies [5614814]
241
+ - Updated dependencies [b94890c]
242
+ - @prosopo/types@3.14.1
243
+ - @prosopo/locale@3.2.1
244
+ - @prosopo/api@3.2.11
245
+ - @prosopo/common@3.1.33
246
+ - @prosopo/procaptcha-common@2.10.2
247
+
248
+ ## 2.8.51
249
+ ### Patch Changes
250
+
251
+ - Updated dependencies [06970d2]
252
+ - Updated dependencies [fc514dd]
253
+ - Updated dependencies [7be39c4]
254
+ - Updated dependencies [42650db]
255
+ - Updated dependencies [dd3e06e]
256
+ - @prosopo/procaptcha-common@2.10.1
257
+ - @prosopo/widget-skeleton@2.8.1
258
+ - @prosopo/locale@3.2.0
259
+ - @prosopo/types@3.14.0
260
+ - @prosopo/api@3.2.10
261
+ - @prosopo/common@3.1.32
262
+
263
+ ## 2.8.50
264
+ ### Patch Changes
265
+
266
+ - Updated dependencies [73df23c]
267
+ - Updated dependencies [8139819]
268
+ - Updated dependencies [4a9c518]
269
+ - @prosopo/procaptcha-common@2.10.0
270
+ - @prosopo/widget-skeleton@2.8.0
271
+ - @prosopo/common@3.1.31
272
+
273
+ ## 2.8.49
274
+ ### Patch Changes
275
+
276
+ - Updated dependencies [a25dffa]
277
+ - @prosopo/util@3.2.11
278
+ - @prosopo/types@3.13.3
279
+ - @prosopo/procaptcha-common@2.9.41
280
+ - @prosopo/api@3.2.9
281
+
282
+ ## 2.8.48
283
+ ### Patch Changes
284
+
285
+ - Updated dependencies [346edd7]
286
+ - @prosopo/util@3.2.10
287
+ - @prosopo/types@3.13.2
288
+ - @prosopo/procaptcha-common@2.9.40
289
+ - @prosopo/api@3.2.8
290
+
291
+ ## 2.8.47
292
+ ### Patch Changes
293
+
294
+ - Updated dependencies [22bfee7]
295
+ - Updated dependencies [20192d2]
296
+ - @prosopo/util@3.2.9
297
+ - @prosopo/widget-skeleton@2.7.14
298
+ - @prosopo/types@3.13.1
299
+ - @prosopo/procaptcha-common@2.9.39
300
+ - @prosopo/api@3.2.7
301
+
302
+ ## 2.8.46
303
+ ### Patch Changes
304
+
305
+ - Updated dependencies [e0fb3d6]
306
+ - Updated dependencies [e6d9553]
307
+ - Updated dependencies [f3f23e3]
308
+ - @prosopo/util@3.2.8
309
+ - @prosopo/types@3.13.0
310
+ - @prosopo/api@3.2.6
311
+ - @prosopo/procaptcha-common@2.9.38
312
+
313
+ ## 2.8.45
314
+ ### Patch Changes
315
+
316
+ - Updated dependencies [d5082a9]
317
+ - Updated dependencies [e1ea65f]
318
+ - Updated dependencies [c316257]
319
+ - @prosopo/types@3.12.3
320
+ - @prosopo/util@3.2.7
321
+ - @prosopo/procaptcha-common@2.9.37
322
+ - @prosopo/api@3.2.5
323
+
324
+ ## 2.8.44
325
+ ### Patch Changes
326
+
327
+ - Updated dependencies [adb89a6]
328
+ - @prosopo/locale@3.1.29
329
+ - @prosopo/types@3.12.2
330
+ - @prosopo/util@3.2.6
331
+ - @prosopo/api@3.2.4
332
+ - @prosopo/common@3.1.30
333
+ - @prosopo/procaptcha-common@2.9.36
334
+
335
+ ## 2.8.43
336
+ ### Patch Changes
337
+
338
+ - Updated dependencies [c5ee492]
339
+ - Updated dependencies [a90eb54]
340
+ - @prosopo/common@3.1.29
341
+ - @prosopo/types@3.12.1
342
+ - @prosopo/api@3.2.3
343
+ - @prosopo/procaptcha-common@2.9.35
344
+
345
+ ## 2.8.42
346
+ ### Patch Changes
347
+
348
+ - Updated dependencies [676c5f2]
349
+ - Updated dependencies [feaca02]
350
+ - @prosopo/types@3.12.0
351
+ - @prosopo/procaptcha-common@2.9.34
352
+ - @prosopo/api@3.2.2
353
+
354
+ ## 2.8.41
355
+ ### Patch Changes
356
+
357
+ - Updated dependencies [8148587]
358
+ - @prosopo/types@3.11.1
359
+ - @prosopo/api@3.2.1
360
+ - @prosopo/procaptcha-common@2.9.33
361
+
362
+ ## 2.8.40
363
+ ### Patch Changes
364
+
365
+ - Updated dependencies [7f6ffc5]
366
+ - @prosopo/types@3.11.0
367
+ - @prosopo/api@3.2.0
368
+ - @prosopo/procaptcha-common@2.9.32
369
+
370
+ ## 2.8.39
371
+ ### Patch Changes
372
+
373
+ - Updated dependencies [93fa086]
374
+ - @prosopo/types@3.10.2
375
+ - @prosopo/api@3.1.49
376
+ - @prosopo/procaptcha-common@2.9.31
377
+
378
+ ## 2.8.38
379
+ ### Patch Changes
380
+
381
+ - Updated dependencies [cde7550]
382
+ - @prosopo/types@3.10.1
383
+ - @prosopo/api@3.1.48
384
+ - @prosopo/procaptcha-common@2.9.30
385
+
386
+ ## 2.8.37
387
+ ### Patch Changes
388
+
389
+ - Updated dependencies [ad6d622]
390
+ - @prosopo/types@3.10.0
391
+ - @prosopo/api@3.1.47
392
+ - @prosopo/procaptcha-common@2.9.29
393
+
394
+ ## 2.8.36
395
+ ### Patch Changes
396
+
397
+ - 592adf1: Don't make people wait so long for a new session
398
+ - Updated dependencies [ff58a70]
399
+ - @prosopo/types@3.9.0
400
+ - @prosopo/api@3.1.46
401
+ - @prosopo/procaptcha-common@2.9.28
402
+
403
+ ## 2.8.35
404
+ ### Patch Changes
405
+
406
+ - Updated dependencies [d2431cd]
407
+ - @prosopo/types@3.8.4
408
+ - @prosopo/api@3.1.45
409
+ - @prosopo/procaptcha-common@2.9.27
410
+
411
+ ## 2.8.34
412
+ ### Patch Changes
413
+
414
+ - Updated dependencies [bd6995b]
415
+ - @prosopo/types@3.8.3
416
+ - @prosopo/api@3.1.44
417
+ - @prosopo/procaptcha-common@2.9.26
418
+
419
+ ## 2.8.33
420
+ ### Patch Changes
421
+
422
+ - Updated dependencies [9633e58]
423
+ - @prosopo/types@3.8.2
424
+ - @prosopo/api@3.1.43
425
+ - @prosopo/procaptcha-common@2.9.25
426
+
427
+ ## 2.8.32
428
+ ### Patch Changes
429
+
430
+ - Updated dependencies [f52a5c1]
431
+ - @prosopo/types@3.8.1
432
+ - @prosopo/api@3.1.42
433
+ - @prosopo/procaptcha-common@2.9.24
434
+
3
435
  ## 2.8.31
4
436
  ### Patch Changes
5
437