@dynamic-labs/logger 5.0.0-rc.0 → 5.0.0-rc.1
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.
- package/CHANGELOG.md +72 -1
- package/package.json +1 -1
- package/src/index.cjs +30 -2
- package/src/index.js +30 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,76 @@
|
|
|
1
1
|
|
|
2
|
-
## [5.0.0-rc.
|
|
2
|
+
## [5.0.0-rc.1](https://github.com/dynamic-labs/dynamic-auth/compare/v5.0.0-rc.0...v5.0.0-rc.1) (2026-07-17)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
### ⚠ BREAKING CHANGES
|
|
6
|
+
|
|
7
|
+
* move legacy embedded wallet to waas upgrade flow to new legacy-embedded-wallet-migration package (#11841)
|
|
8
|
+
* drop default injection of legacy embedded wallet connectors (#11833)
|
|
9
|
+
* remove legacy embedded wallet support (#11979)
|
|
10
|
+
* throw when legacy embedded wallet is detected without migration provider (#11855)
|
|
11
|
+
* remove deprecated eclipse package (#11831)
|
|
12
|
+
* remove deprecated functions and props (#11832)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### [4.92.4](https://github.com/dynamic-labs/dynamic-auth/compare/v4.92.3...v4.92.4) (2026-07-16)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Features
|
|
19
|
+
|
|
20
|
+
* **bitcoin:** per-network address switching and dust-limit send validation [v4] ([#11970](https://github.com/dynamic-labs/dynamic-auth/issues/11970)) ([76a4a9a](https://github.com/dynamic-labs/dynamic-auth/commit/76a4a9a5025d78798ebd1beffe6c0af59d2d029a)), closes [#11896](https://github.com/dynamic-labs/dynamic-auth/issues/11896) [#11800](https://github.com/dynamic-labs/dynamic-auth/issues/11800)
|
|
21
|
+
* **midnight:** per-network addresses in deposit and wallet info views [v4] ([#11949](https://github.com/dynamic-labs/dynamic-auth/issues/11949)) ([978446a](https://github.com/dynamic-labs/dynamic-auth/commit/978446aca8546eb038ba9ed3be0503d10594ee15))
|
|
22
|
+
* **midnight:** resolve wallet address per selected network [v4] ([#11948](https://github.com/dynamic-labs/dynamic-auth/issues/11948)) ([d6f858c](https://github.com/dynamic-labs/dynamic-auth/commit/d6f858c5e35defda7ed73cf97b3fdbe5ed9d131d))
|
|
23
|
+
* set useMetamaskSdk to true by default ([#11926](https://github.com/dynamic-labs/dynamic-auth/issues/11926)) ([75b5a4a](https://github.com/dynamic-labs/dynamic-auth/commit/75b5a4a0fe8b1a375afce145c0b8bdc3ce761117))
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
### Bug Fixes
|
|
27
|
+
|
|
28
|
+
* **midnight:** align per-network code with the final main iteration [v4] ([#11971](https://github.com/dynamic-labs/dynamic-auth/issues/11971)) ([3ef3ba8](https://github.com/dynamic-labs/dynamic-auth/commit/3ef3ba8c090dfd9e4286b4e51bf350ea5e6feac7))
|
|
29
|
+
* settle social sign-in when captcha is backed out or oauth popup never responds (v4) ([#11956](https://github.com/dynamic-labs/dynamic-auth/issues/11956)) ([ad49477](https://github.com/dynamic-labs/dynamic-auth/commit/ad49477f2acf61a154bb79cbe26b24f803cdb0e2))
|
|
30
|
+
* validate that private key is not empty before upgrading to WaaS ([#11952](https://github.com/dynamic-labs/dynamic-auth/issues/11952)) ([21dfb83](https://github.com/dynamic-labs/dynamic-auth/commit/21dfb83cb29e42b335bc94a0cdd2062cf14a262a))
|
|
31
|
+
|
|
32
|
+
### [4.92.3](https://github.com/dynamic-labs/dynamic-auth/compare/v4.92.2...v4.92.3) (2026-07-10)
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
### Bug Fixes
|
|
36
|
+
|
|
37
|
+
* **sdk-react-core:** fix deterministic 'Wallet not found' crash in embedded wallet export (v4) ([#11906](https://github.com/dynamic-labs/dynamic-auth/issues/11906)) ([913ef23](https://github.com/dynamic-labs/dynamic-auth/commit/913ef236b26245488e1cd5db7e874601b65ff0a2)), closes [#11905](https://github.com/dynamic-labs/dynamic-auth/issues/11905) [#11729](https://github.com/dynamic-labs/dynamic-auth/issues/11729)
|
|
38
|
+
|
|
39
|
+
### [4.92.2](https://github.com/dynamic-labs/dynamic-auth/compare/v4.92.1...v4.92.2) (2026-07-09)
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
### Bug Fixes
|
|
43
|
+
|
|
44
|
+
* engage captcha during step-up OTP re-auth ([#11879](https://github.com/dynamic-labs/dynamic-auth/issues/11879)) ([585460a](https://github.com/dynamic-labs/dynamic-auth/commit/585460a8976803a8ed0aad16a4a00047bd6c115a))
|
|
45
|
+
* **waas:** gate v1 wallet upgrade on recovery for email-only wallets ([#11897](https://github.com/dynamic-labs/dynamic-auth/issues/11897)) ([5a6f0c6](https://github.com/dynamic-labs/dynamic-auth/commit/5a6f0c6bf3120e59cf502004d09fae56f193e977))
|
|
46
|
+
|
|
47
|
+
### [4.92.1](https://github.com/dynamic-labs/dynamic-auth/compare/v4.92.0...v4.92.1) (2026-07-09)
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
### Bug Fixes
|
|
51
|
+
|
|
52
|
+
* **ethereum:** fire in-app-browser redirect on sign for injected EVM wallets that use in-app-browser experience ([#11888](https://github.com/dynamic-labs/dynamic-auth/issues/11888)) ([5116d91](https://github.com/dynamic-labs/dynamic-auth/commit/5116d91ab2c71000a490d72c5d278549d4d8ae9a))
|
|
53
|
+
* **sdk-react-core:** show clear message for Phantom redirect signing failures (v4 backport) ([#11886](https://github.com/dynamic-labs/dynamic-auth/issues/11886)) ([60ac897](https://github.com/dynamic-labs/dynamic-auth/commit/60ac897ba81f7758ccd7a05f97b619785e1f50a7))
|
|
54
|
+
* **social:** use redirect strategy for step-up OAuth on mobile [V4 backport] ([#11881](https://github.com/dynamic-labs/dynamic-auth/issues/11881)) ([42a202e](https://github.com/dynamic-labs/dynamic-auth/commit/42a202e6255de8db73df02eff37c0b10b24fef1a))
|
|
55
|
+
* **solana:** fire in-app-browser redirect on sign and wallet switch ([#11871](https://github.com/dynamic-labs/dynamic-auth/issues/11871)) ([4e2d6b7](https://github.com/dynamic-labs/dynamic-auth/commit/4e2d6b7ac8fdef5bf7c62b8a726ecaef1c6210ec))
|
|
56
|
+
* **solana:** resolve Phantom/Backpack provider collision and Backpack >=0.10.x connect hangs ([#11856](https://github.com/dynamic-labs/dynamic-auth/issues/11856)) ([#11882](https://github.com/dynamic-labs/dynamic-auth/issues/11882)) ([5784aff](https://github.com/dynamic-labs/dynamic-auth/commit/5784aff9641bbc85445fb466f3ab1d6a14331e73))
|
|
57
|
+
|
|
58
|
+
## [4.92.0](https://github.com/dynamic-labs/dynamic-auth/compare/v4.91.6...v4.92.0) (2026-07-08)
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
### Features
|
|
62
|
+
|
|
63
|
+
* **captcha:** add Cloudflare Turnstile provider support alongside hCaptcha (v4) ([#11798](https://github.com/dynamic-labs/dynamic-auth/issues/11798)) ([114c770](https://github.com/dynamic-labs/dynamic-auth/commit/114c7702e900d8dedeebe7be867de35d11a93f31))
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
### Bug Fixes
|
|
67
|
+
|
|
68
|
+
* **ethereum-aa:** resolve kernel client config per wallet (v4) ([#11870](https://github.com/dynamic-labs/dynamic-auth/issues/11870)) ([1b66d79](https://github.com/dynamic-labs/dynamic-auth/commit/1b66d79b4a32b4b6de433b7536bc46e6719224c6))
|
|
69
|
+
* **iframe-setup:** block dangerous URL schemes and verify sender in OPEN_URL ([#11819](https://github.com/dynamic-labs/dynamic-auth/issues/11819)) ([329b27e](https://github.com/dynamic-labs/dynamic-auth/commit/329b27e9fac825916ab227ec8cf93dc343898923))
|
|
70
|
+
* improve social OAuth error messages ([#11837](https://github.com/dynamic-labs/dynamic-auth/issues/11837)) ([8e57c06](https://github.com/dynamic-labs/dynamic-auth/commit/8e57c067c5a89111a32a12fb82e190cf6c46ad67))
|
|
71
|
+
* **react-native-extension:** reject path traversal in downloadFile fileName ([#11816](https://github.com/dynamic-labs/dynamic-auth/issues/11816)) ([9367a56](https://github.com/dynamic-labs/dynamic-auth/commit/9367a56b6daa853d7f7e7f5534261bc68825b239))
|
|
72
|
+
* **sdk-react-core:** display exactly the bytes signed in personal_sign preview ([#11818](https://github.com/dynamic-labs/dynamic-auth/issues/11818)) ([30b9382](https://github.com/dynamic-labs/dynamic-auth/commit/30b93829122f00060cb484aef09a03294c03f651))
|
|
73
|
+
|
|
3
74
|
|
|
4
75
|
### [4.91.6](https://github.com/dynamic-labs/dynamic-auth/compare/v4.91.5...v4.91.6) (2026-07-03)
|
|
5
76
|
|
package/package.json
CHANGED
package/src/index.cjs
CHANGED
|
@@ -31,6 +31,34 @@ const globalState = globalThis[LOGGER_GLOBAL_STATE_KEY] || {
|
|
|
31
31
|
globalThis[LOGGER_GLOBAL_STATE_KEY] = globalState;
|
|
32
32
|
const IGNORE_MESSAGES = ['Failed to send logs to server'];
|
|
33
33
|
const messageQueue = [];
|
|
34
|
+
/**
|
|
35
|
+
* Meta keys that are safe (non-PII) to keep on instrumentation logs.
|
|
36
|
+
* `instrument()` strips meta by default; only the keys listed here survive so
|
|
37
|
+
* adoption/diagnostic dashboards can facet on them (e.g. `@meta.client-version`
|
|
38
|
+
* for SDK-version adoption). NEVER add PII keys such as `user-id` here.
|
|
39
|
+
*/
|
|
40
|
+
const INSTRUMENT_META_ALLOWLIST = [
|
|
41
|
+
'client-version',
|
|
42
|
+
'platform',
|
|
43
|
+
'platform-origin',
|
|
44
|
+
];
|
|
45
|
+
/**
|
|
46
|
+
* Keeps only the allowlisted, non-PII keys from a merged meta object. Returns
|
|
47
|
+
* `undefined` when none are present so instrument logs stay meta-less unless a
|
|
48
|
+
* safe key is actually available.
|
|
49
|
+
*/
|
|
50
|
+
const pickInstrumentMeta = (meta) => {
|
|
51
|
+
if (!meta) {
|
|
52
|
+
return undefined;
|
|
53
|
+
}
|
|
54
|
+
const allowed = INSTRUMENT_META_ALLOWLIST.reduce((acc, key) => {
|
|
55
|
+
if (meta[key] !== undefined) {
|
|
56
|
+
acc[key] = meta[key];
|
|
57
|
+
}
|
|
58
|
+
return acc;
|
|
59
|
+
}, {});
|
|
60
|
+
return Object.keys(allowed).length > 0 ? allowed : undefined;
|
|
61
|
+
};
|
|
34
62
|
class Logger {
|
|
35
63
|
static get troubleshootModeEnabled() {
|
|
36
64
|
return globalState.troubleshootModeEnabled;
|
|
@@ -193,8 +221,8 @@ class Logger {
|
|
|
193
221
|
instrument(message, options) {
|
|
194
222
|
return this.emitHttpLogs(types.LogLevel.INFO, message, {
|
|
195
223
|
args: [options],
|
|
196
|
-
//
|
|
197
|
-
transformMeta:
|
|
224
|
+
// Strip meta to avoid storing PII, keeping only the non-PII allowlist
|
|
225
|
+
transformMeta: pickInstrumentMeta,
|
|
198
226
|
});
|
|
199
227
|
}
|
|
200
228
|
log(level, message, ...args) {
|
package/src/index.js
CHANGED
|
@@ -24,6 +24,34 @@ const globalState = globalThis[LOGGER_GLOBAL_STATE_KEY] || {
|
|
|
24
24
|
globalThis[LOGGER_GLOBAL_STATE_KEY] = globalState;
|
|
25
25
|
const IGNORE_MESSAGES = ['Failed to send logs to server'];
|
|
26
26
|
const messageQueue = [];
|
|
27
|
+
/**
|
|
28
|
+
* Meta keys that are safe (non-PII) to keep on instrumentation logs.
|
|
29
|
+
* `instrument()` strips meta by default; only the keys listed here survive so
|
|
30
|
+
* adoption/diagnostic dashboards can facet on them (e.g. `@meta.client-version`
|
|
31
|
+
* for SDK-version adoption). NEVER add PII keys such as `user-id` here.
|
|
32
|
+
*/
|
|
33
|
+
const INSTRUMENT_META_ALLOWLIST = [
|
|
34
|
+
'client-version',
|
|
35
|
+
'platform',
|
|
36
|
+
'platform-origin',
|
|
37
|
+
];
|
|
38
|
+
/**
|
|
39
|
+
* Keeps only the allowlisted, non-PII keys from a merged meta object. Returns
|
|
40
|
+
* `undefined` when none are present so instrument logs stay meta-less unless a
|
|
41
|
+
* safe key is actually available.
|
|
42
|
+
*/
|
|
43
|
+
const pickInstrumentMeta = (meta) => {
|
|
44
|
+
if (!meta) {
|
|
45
|
+
return undefined;
|
|
46
|
+
}
|
|
47
|
+
const allowed = INSTRUMENT_META_ALLOWLIST.reduce((acc, key) => {
|
|
48
|
+
if (meta[key] !== undefined) {
|
|
49
|
+
acc[key] = meta[key];
|
|
50
|
+
}
|
|
51
|
+
return acc;
|
|
52
|
+
}, {});
|
|
53
|
+
return Object.keys(allowed).length > 0 ? allowed : undefined;
|
|
54
|
+
};
|
|
27
55
|
class Logger {
|
|
28
56
|
static get troubleshootModeEnabled() {
|
|
29
57
|
return globalState.troubleshootModeEnabled;
|
|
@@ -186,8 +214,8 @@ class Logger {
|
|
|
186
214
|
instrument(message, options) {
|
|
187
215
|
return this.emitHttpLogs(LogLevel.INFO, message, {
|
|
188
216
|
args: [options],
|
|
189
|
-
//
|
|
190
|
-
transformMeta:
|
|
217
|
+
// Strip meta to avoid storing PII, keeping only the non-PII allowlist
|
|
218
|
+
transformMeta: pickInstrumentMeta,
|
|
191
219
|
});
|
|
192
220
|
}
|
|
193
221
|
log(level, message, ...args) {
|