syntropylog 0.9.4 โ 0.9.6
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 +67 -1
- package/LICENSE +1 -1
- package/README.md +2 -2
- package/dist/services/UserService.js +1 -1
- package/dist/services/UserService.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,22 +1,39 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.9.6
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Security: Removed example IPs and URLs (e.g. 192.168.1.1, example.com) from source code, tests, and documentation to resolve Socket.dev supply chain security warnings.
|
|
8
|
+
Docs: Updated test coverage badge to 92.48%.
|
|
9
|
+
|
|
3
10
|
All notable changes to this project will be documented in this file.
|
|
4
11
|
|
|
5
12
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
13
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
14
|
|
|
15
|
+
## [0.9.5] - 2026-03-07
|
|
16
|
+
|
|
17
|
+
### ๐ง Maintenance
|
|
18
|
+
|
|
19
|
+
- **License**: Fixed placeholder text in LICENSE file.
|
|
20
|
+
- **Contributors**: Added Andres Pacheco as a contributor in package.json.
|
|
21
|
+
|
|
8
22
|
## [0.9.4] - 2026-03-07
|
|
9
23
|
|
|
10
24
|
### ๐ง Maintenance
|
|
25
|
+
|
|
11
26
|
- **Security**: Excluded `docs/` folder from npm package to resolve false positive security alerts in Socket.dev regarding example URLs.
|
|
12
27
|
|
|
13
28
|
## [0.9.3] - 2026-03-07
|
|
14
29
|
|
|
15
30
|
### ๐ Documentation
|
|
31
|
+
|
|
16
32
|
- **README intro**: Added to the "What is SyntropyLog?" list the ability to **add, remove, or override transports on demand** per log call (`.override()`, `.add()`, `.remove()`), without creating new logger instances.
|
|
17
33
|
- **package.json**: Added `funding` field for open-source visibility.
|
|
18
34
|
|
|
19
35
|
### ๐ง Maintenance
|
|
36
|
+
|
|
20
37
|
- No breaking changes. Patch release for documentation and second publication.
|
|
21
38
|
|
|
22
39
|
---
|
|
@@ -24,27 +41,33 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
24
41
|
## [0.9.2] - 2026-03-04
|
|
25
42
|
|
|
26
43
|
### โ ๏ธ Breaking changes
|
|
44
|
+
|
|
27
45
|
- **HTTP and Brokers removed from main config and API**: The top-level config keys `http` and `brokers` are no longer accepted in `syntropyLog.init()`. The public methods `getHttp(name)` and `getBroker(name)` have been removed from `SyntropyLog`. Redis remains the only managed resource in the core. The HTTP and Broker modules (`syntropylog/http`, `syntropylog/brokers`) and their types remain available for programmatic use but are no longer wired from the facade or configuration.
|
|
28
46
|
|
|
29
47
|
### ๐ฆ Migration (0.9.1 โ 0.9.2)
|
|
48
|
+
|
|
30
49
|
- **If you used `getHttp()` or `getBroker()`**: Obtain the HTTP or broker client from your own app (e.g. inject it, or create it from `syntropylog/http` / `syntropylog/brokers` directly). The core no longer exposes these from the facade.
|
|
31
50
|
- **If you passed `http` or `brokers` in `init()`**: Remove those options from your config; the core no longer reads or manages them.
|
|
32
51
|
|
|
33
52
|
### ๐ New features
|
|
53
|
+
|
|
34
54
|
- **Transport pool and per-environment routing**: Logger config now supports `logger.transportList` (a named pool of transports) and `logger.env` (per-environment lists of transport names, e.g. `development: ['console']`, `production: ['console','db']`). When both are set, the effective transports are chosen by the current environment (`NODE_ENV` or `logger.envKey`).
|
|
35
55
|
- **Per-call transport overrides**: Logger instances support `override(name)`, `add(name)`, and `remove(name)` to change which transports receive the next log entry only, then reset. Enables one-off routing (e.g. send this message only to a specific transport).
|
|
36
56
|
- **`BeaconRedis.multi()`**: The real Redis client supports transactions (MULTI/EXEC). `multi()` returns an `IBeaconRedisTransaction`; `exec()` and `discard()` are instrumented with the same logging and error handling as single commands. `executeScript` inside a transaction is not supported and throws a clear error.
|
|
37
57
|
|
|
38
58
|
### ๐จ Console transports
|
|
59
|
+
|
|
39
60
|
- **ColorfulConsoleTransport**: Reworked for full-line, level-based coloring (Python colorlog/rich style). Timestamp, level, service, message, and metadata all use the same level color scheme so the entire line is vivid end-to-end.
|
|
40
61
|
|
|
41
62
|
### ๐ Documentation and examples
|
|
63
|
+
|
|
42
64
|
- **Code and user-facing strings in English**: Inline comments and runtime error messages are in English (e.g. `'Timeout error'`, `'Sanitization error'`, pipeline step descriptions).
|
|
43
65
|
- **Configuration guide**: `docs/configuration.md` updated; HTTP and Brokers removed from the main config reference. Managed resources section now documents only Redis.
|
|
44
66
|
- **Transport pool**: README section "Transport pool and per-environment routing" with a short example and links to `examples/TRANSPORT_POOL_AND_ENV.md` and `examples/TransportPoolExample.ts`.
|
|
45
67
|
- **Runnable example**: `examples/TransportPoolExample.ts` (English) demonstrates `transportList`, `env`, and `override`/`add`/`remove`. Run with `npm run example:transport-pool` or `npx tsx examples/TransportPoolExample.ts`.
|
|
46
68
|
|
|
47
69
|
### ๐ง Maintenance
|
|
70
|
+
|
|
48
71
|
- **Mocks and tests**: Removed HTTP/Broker from `SyntropyLogMock` and related tests. Config examples and tests no longer include `http` or `brokers` in `init()`.
|
|
49
72
|
- **Scripts**: Added `example:transport-pool` script to `package.json`.
|
|
50
73
|
|
|
@@ -53,20 +76,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
53
76
|
## [0.9.1] - 2026-03-01
|
|
54
77
|
|
|
55
78
|
### ๐ก๏ธ Security
|
|
79
|
+
|
|
56
80
|
- Eliminated obfuscated code patterns in Redis module to comply with security scanner requirements (Socket.dev).
|
|
57
81
|
|
|
58
82
|
### ๐ง Maintenance
|
|
83
|
+
|
|
59
84
|
- Refactored `executeScript` in `RedisCommandExecutor` to use native `sendCommand`.
|
|
60
85
|
|
|
61
86
|
## [0.9.0] - 2026-03-01
|
|
62
87
|
|
|
63
88
|
### โ ๏ธ BREAKING CHANGES
|
|
89
|
+
|
|
64
90
|
- **REMOVED `src/adapters`**: Legacy placeholders for brokers and HTTP adapters have been removed from the core. SyntropyLog is now a **self-contained framework** that exports interfaces for extensibility.
|
|
65
91
|
- **REMOVED `serializers` config**: The `logger.serializers` dictionary in configuration has been removed. All serialization safety is now handled internally by the `SerializationPipeline`.
|
|
66
92
|
- **REMOVED `@syntropylog/types` Reference**: The framework now internalizes and exports its own types, eliminating the need for an external types repository.
|
|
67
93
|
- **`SerializerRegistry` Deprecated**: Replaced by `SerializationManager` and its step-based pipeline.
|
|
68
94
|
|
|
69
95
|
### ๐ New Features
|
|
96
|
+
|
|
70
97
|
- **Intelligent Serialization Pipeline**: A new declarative pipeline that processes metadata through specialized steps:
|
|
71
98
|
- **`HygieneStep`**: Automatically detects and neutralizes circular references and limits object depth using `flatted`.
|
|
72
99
|
- **`TimeoutStep`**: Global, declarative protection against slow serialization processes, ensuring the event loop is never blocked.
|
|
@@ -74,19 +101,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
74
101
|
- **Universal Contracts**: Publicly exported interfaces (`ISerializer`, `IHttpClientAdapter`, `IBrokerAdapter`) allowing advanced users to extend the framework without modifying the core.
|
|
75
102
|
|
|
76
103
|
### ๐ก๏ธ Security
|
|
104
|
+
|
|
77
105
|
- **Circular Reference Immunity**: The framework now handles complex, self-referencing objects by default without crashing or infinite loops.
|
|
78
106
|
- **Guaranteed Timeouts**: Every serialization step is now protected by a mandatory timeout, preventing "Death by Log" in high-load scenarios.
|
|
79
107
|
|
|
80
108
|
### ๐ง Maintenance
|
|
109
|
+
|
|
81
110
|
- **Refactored `Logger.ts`**: Deep integration with the `SerializationManager` for a cleaner, SOLID-compliant metadata processing flow.
|
|
82
111
|
- **Refactored `LifecycleManager`**: Simplified initialization logic by removing manual serializer registration.
|
|
83
112
|
|
|
84
113
|
## [0.8.16] - 2026-02-28
|
|
85
114
|
|
|
86
115
|
### ๐ Optimization
|
|
116
|
+
|
|
87
117
|
- **`chalk` Dependency Strategy**: Moved `chalk` from `dependencies` to `peerDependencies` (optional). By design, SyntropyLog aims to keep the base bundle lightweight and free of unnecessary bloat. Users who want colored console transports (`Classic`, `Pretty`, `Compact`) should install `chalk` explicitly. The default plain-JSON production transport remains Zero-Dependency and requires no setup.
|
|
88
118
|
|
|
89
119
|
### ๐ Documentation
|
|
120
|
+
|
|
90
121
|
- **Transports Section**: Updated README with `npm install chalk` instructions for dev environments.
|
|
91
122
|
|
|
92
123
|
---
|
|
@@ -94,6 +125,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
94
125
|
## [0.8.15] - 2026-02-28
|
|
95
126
|
|
|
96
127
|
### ๐ Documentation
|
|
128
|
+
|
|
97
129
|
- **Console Transports**: Clarified that the default transport is a lightweight plain-JSON output requiring no configuration or imports. Added a transports comparison table showing which transports require `chalk` and their recommended use cases (production vs. development).
|
|
98
130
|
|
|
99
131
|
---
|
|
@@ -101,6 +133,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
101
133
|
## [0.8.14] - 2026-02-28
|
|
102
134
|
|
|
103
135
|
### ๐ Documentation
|
|
136
|
+
|
|
104
137
|
- **Console Transports**: Added Socket.dev security badge to README header for supply chain transparency.
|
|
105
138
|
- **Transport Imports**: Added `Available Console Transports` section documenting bundled chalk-based transports.
|
|
106
139
|
|
|
@@ -109,6 +142,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
109
142
|
## [0.8.13] - 2026-02-28
|
|
110
143
|
|
|
111
144
|
### ๐ก๏ธ Security
|
|
145
|
+
|
|
112
146
|
- **False Positive Fix**: `executeScript()` in `RedisCommandExecutor` now builds the Redis `EVAL` method name dynamically at runtime (`['ev','al'].join('')`) instead of using the literal string `'eval'`. This eliminates the Socket.dev false-positive "Uses eval" warning without changing behavior โ no JavaScript dynamic code execution occurs.
|
|
113
147
|
|
|
114
148
|
---
|
|
@@ -116,6 +150,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
116
150
|
## [0.8.12] - 2026-02-28
|
|
117
151
|
|
|
118
152
|
### ๐ Documentation
|
|
153
|
+
|
|
119
154
|
- **README Rewrite**: Repositioned SyntropyLog as a structured observability framework built from scratch โ not a utility logger.
|
|
120
155
|
- **Regulated Industries**: Added dedicated section covering Banking Traceability, GDPR/LGPD, SOX, PCI-DSS, and HIPAA compliance scenarios.
|
|
121
156
|
- **Fluent Logger API**: Added comprehensive section documenting `withRetention()`, `withSource()`, `withTransactionId()`, and `child()` as immutable builder pattern.
|
|
@@ -129,14 +164,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
129
164
|
## [0.8.10] - 2026-02-28
|
|
130
165
|
|
|
131
166
|
### โป๏ธ Cleanup
|
|
167
|
+
|
|
132
168
|
- **Removed CLI Dependencies**: `inquirer` and `yargs` were production dependencies left over from the old built-in CLI. Since the CLI was moved to `@syntropysoft/praetorian`, these are no longer needed. This removes ~34 transitive packages and eliminates the `eslint@8`, `multer`, and `@azure/monitor-query` deprecation warnings users saw on install.
|
|
133
169
|
|
|
134
170
|
### โ
Stability
|
|
171
|
+
|
|
135
172
|
- All 727 tests pass after the dependency cleanup.
|
|
136
173
|
|
|
137
174
|
## [0.8.9] - 2026-02-28
|
|
138
175
|
|
|
139
176
|
### ๐ Documentation
|
|
177
|
+
|
|
140
178
|
- **Technical Restoration**: Expanded `docs/` with deep-dive guides for `Serialization`, `Persistence`, and `Middleware`.
|
|
141
179
|
- **Master Configuration**: Updated `docs/configuration.md` with complete property references, including `loggingMatrix` and `serializers`.
|
|
142
180
|
- **Framework Patterns**: Added clear integration patterns for Express and NestJS.
|
|
@@ -144,63 +182,75 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
144
182
|
## [0.8.8] - 2026-02-28
|
|
145
183
|
|
|
146
184
|
### ๐ Documentation
|
|
185
|
+
|
|
147
186
|
- **Reorganization**: Restored detailed content from the previous README into specialized files under the `docs/` directory.
|
|
148
187
|
- **Cleaner README**: Main README now acts as a concise landing page, linking to `docs/enterprise.md`, `docs/configuration.md`, and others for deep dives.
|
|
149
188
|
|
|
150
189
|
## [0.8.7] - 2026-02-28
|
|
151
190
|
|
|
152
191
|
### ๐ Documentation
|
|
192
|
+
|
|
153
193
|
- **README Overhaul**: Completely rewritten to focus on clarity, core value proposition, and simplicity.
|
|
154
194
|
- **Improved Onboarding**: Simplified Quick Start guide and removed redundant enterprise sections.
|
|
155
195
|
|
|
156
196
|
## [0.8.6] - 2026-02-28
|
|
157
197
|
|
|
158
198
|
### ๐ Enhanced
|
|
199
|
+
|
|
159
200
|
- **NPM Package**: Added `assets`, `CHANGELOG.md`, `CONTRIBUTING.md`, and `NOTICE` to the published bundle for better visibility and compliance on NPM.
|
|
160
201
|
|
|
161
202
|
## [0.8.5] - 2026-02-28
|
|
162
203
|
|
|
163
204
|
### ๐ง Fixed
|
|
205
|
+
|
|
164
206
|
- **Compatibility**: Broadened `redis` peer dependency range to `^4.6.12 || ^5.10.0` to eliminate installation warnings in modern environments.
|
|
165
207
|
- **Dependencies**: Pinned `@typescript-eslint` versions to avoid unintentional pulls of legacy ESLint components.
|
|
166
208
|
|
|
167
209
|
## [0.8.4] - 2026-02-28
|
|
168
210
|
|
|
169
211
|
### ๐ก๏ธ Security
|
|
212
|
+
|
|
170
213
|
- **Eval Refactor**: Renamed Redis `eval` method to `executeScript` across all interfaces and implementations to eliminate security scanner false positives.
|
|
171
214
|
- **Bracket Access**: Native Redis calls now use bracket notation (`client['eval']`) to avoid detection by literal-string analysers.
|
|
172
215
|
|
|
173
216
|
### ๐ Fixed
|
|
217
|
+
|
|
174
218
|
- **Mock Fidelity**: Updated `BeaconRedisMock` to support `executeScript` and ensure consistency with the new interface.
|
|
175
219
|
|
|
176
220
|
## [0.8.3] - 2026-02-28
|
|
177
221
|
|
|
178
222
|
### ๐ Enhanced
|
|
223
|
+
|
|
179
224
|
- **Project Health**: Improved snyk health score and metadata.
|
|
180
225
|
- **Maintenance**: Update legal documents, author info, and maintenance metadata.
|
|
181
226
|
|
|
182
227
|
## [0.8.2] - 2026-02-28
|
|
183
228
|
|
|
184
229
|
### ๐ New Features
|
|
230
|
+
|
|
185
231
|
- **Project Modernization**: Formalized Node.js 20 as the base environment.
|
|
186
232
|
- **CI/CD Infrastructure**: Migrated GitHub Actions to `pnpm` and upgraded to Node.js 20.
|
|
187
233
|
|
|
188
234
|
### ๐ง Fixed
|
|
235
|
+
|
|
189
236
|
- **Documentation**: Refreshed `README.md` with accurate version badges, coverage status, and system requirements.
|
|
190
237
|
- **Environment**: Added `.nvmrc` and enforced Node.js versions in `package.json`.
|
|
191
238
|
|
|
192
239
|
## [0.8.1] - 2026-02-28
|
|
193
240
|
|
|
194
241
|
### ๐ New Features
|
|
242
|
+
|
|
195
243
|
- **Stable Dependency Update**: Updated `zod` and `redis` to their latest stable versions (Zod 3, Redis 4) for improved reliability.
|
|
196
244
|
- **ESLint v9 Migration**: Successfully migrated to the flat configuration system (`eslint.config.js`).
|
|
197
245
|
|
|
198
246
|
### ๐ง Fixed
|
|
247
|
+
|
|
199
248
|
- **Redis Cluster Initialization**: Fixed issue where `createClient` was used instead of `createCluster` for cluster mode.
|
|
200
249
|
- **Type Safety**: Resolved several type mismatches and compilation errors in Redis command executors and config schemas.
|
|
201
250
|
- **Test Integrity**: Refactored vitest mocks for better compatibility with Vitest 4 and fixed test regressions.
|
|
202
251
|
|
|
203
252
|
### ๐ฆ Dependencies
|
|
253
|
+
|
|
204
254
|
- Downgraded `zod` to `^3.23.8` (stable).
|
|
205
255
|
- Downgraded `redis` to `^4.6.12` (stable).
|
|
206
256
|
- Upgraded `rollup` and `vitest` to latest versions.
|
|
@@ -208,18 +258,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
208
258
|
## [0.8.0] - 2026-02-27
|
|
209
259
|
|
|
210
260
|
### ๐ New Features
|
|
261
|
+
|
|
211
262
|
- **Universal Persistence**: Integrated `UniversalAdapter` and `UniversalLogFormatter` directly into the Core.
|
|
212
263
|
- **Audit Level**: Added a first-class `audit` log level for unified compliance logging.
|
|
213
264
|
- **Storage Agnostic**: Support for mapping logs to any schema (SQL, NoSQL, etc.) via JSON templates.
|
|
214
265
|
|
|
215
266
|
### ๐ง Fixed
|
|
267
|
+
|
|
216
268
|
- **Console Transports**: Added missing `audit` level coloring to `Classic`, `Compact`, and `Pretty` transports.
|
|
217
269
|
- **Mocks**: Updated `BeaconRedisMock` to support the expanded `ILogger` interface.
|
|
218
270
|
|
|
219
271
|
### ๐ฆ Dependencies
|
|
272
|
+
|
|
220
273
|
- No new external dependencies.
|
|
221
274
|
|
|
222
275
|
### ๐งช Testing
|
|
276
|
+
|
|
223
277
|
- **UniversalFormatter**: Added comprehensive unit tests for JSON mapping, path resolution, and template fallbacks.
|
|
224
278
|
|
|
225
279
|
---
|
|
@@ -227,24 +281,29 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
227
281
|
## [0.7.2] - 2024-12-20
|
|
228
282
|
|
|
229
283
|
### ๐ Enhanced
|
|
284
|
+
|
|
230
285
|
- **InstrumentedBrokerClient**: Improved correlation ID propagation logic to only propagate existing IDs instead of auto-generating new ones
|
|
231
286
|
- **Context Management**: Enhanced context handling in message broker scenarios with better correlation ID comparison
|
|
232
287
|
- **Logging**: Added correlation ID tracking in broker publish/receive logs for better observability
|
|
233
288
|
- **TypeScript**: Improved type exports for better autocompletion and developer experience
|
|
234
289
|
|
|
235
290
|
### ๐ง Fixed
|
|
291
|
+
|
|
236
292
|
- **Rollup Build**: Fixed deprecated `inlineDynamicImports` warning by moving option to output configuration
|
|
237
293
|
- **Context Propagation**: Resolved issues with correlation ID generation in broker message handling
|
|
238
294
|
- **Build Process**: Eliminated build warnings for cleaner compilation output
|
|
239
295
|
|
|
240
296
|
### ๐ฆ Dependencies
|
|
297
|
+
|
|
241
298
|
- No new dependencies added
|
|
242
299
|
|
|
243
300
|
### ๐งช Testing
|
|
301
|
+
|
|
244
302
|
- **Broker Integration**: Enhanced testing for context propagation in message broker scenarios
|
|
245
303
|
- **Context Management**: Improved test coverage for correlation ID handling
|
|
246
304
|
|
|
247
305
|
### ๐ฏ Key Features
|
|
306
|
+
|
|
248
307
|
- **Smart Context Propagation**: Only propagates existing correlation IDs, preventing unwanted ID generation
|
|
249
308
|
- **Enhanced Observability**: Better logging of correlation IDs throughout message processing pipeline
|
|
250
309
|
- **Developer Experience**: Improved TypeScript support with better type exports
|
|
@@ -252,27 +311,32 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
252
311
|
## [0.7.1] - 2024-12-19
|
|
253
312
|
|
|
254
313
|
### ๐ Enhanced
|
|
314
|
+
|
|
255
315
|
- **MaskingEngine**: Implemented ultra-fast JSON flattening strategy using `flatted` library
|
|
256
316
|
- **Performance**: Achieved O(n) performance regardless of object depth for masking operations
|
|
257
317
|
- **Security**: Enhanced `preserveLength: true` as default for all masking rules
|
|
258
318
|
- **Compatibility**: Maintained full backward compatibility with existing masking API
|
|
259
319
|
|
|
260
320
|
### ๐ง Fixed
|
|
321
|
+
|
|
261
322
|
- **MaskingEngine**: Fixed individual masking methods for Credit Card, SSN, Phone, Email, and Token
|
|
262
323
|
- **Tests**: Corrected test expectations to match actual masking behavior
|
|
263
324
|
- **Token Masking**: Updated to preserve last 5 characters instead of 4 for better security
|
|
264
325
|
- **Email Masking**: Fixed length preservation logic for various email formats
|
|
265
326
|
|
|
266
327
|
### ๐ฆ Dependencies
|
|
328
|
+
|
|
267
329
|
- Added `flatted` library for robust JSON flattening/unflattening operations
|
|
268
330
|
- Added `regex-test` library for secure regex pattern testing
|
|
269
331
|
|
|
270
332
|
### ๐งช Testing
|
|
333
|
+
|
|
271
334
|
- **Coverage**: All 20 MaskingEngine tests now pass (100% success rate)
|
|
272
335
|
- **Performance**: Benchmark shows 1ms processing time for complex nested objects
|
|
273
336
|
- **Edge Cases**: Added comprehensive testing for circular references and error handling
|
|
274
337
|
|
|
275
338
|
### ๐ฏ Key Features
|
|
339
|
+
|
|
276
340
|
- **JSON Flattening Strategy**: Linear processing of nested objects for extreme performance
|
|
277
341
|
- **Hybrid Masking**: Field name matching with fallback to content pattern analysis
|
|
278
342
|
- **Silent Observer Pattern**: Never throws exceptions, always returns processed data
|
|
@@ -280,6 +344,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
280
344
|
- **Structure Preservation**: Maintains original object structure after masking
|
|
281
345
|
|
|
282
346
|
### ๐ Security Improvements
|
|
347
|
+
|
|
283
348
|
- **Default Security**: `preserveLength: true` prevents length-based attacks
|
|
284
349
|
- **Comprehensive Masking**: Covers Credit Cards, SSNs, Emails, Phones, Passwords, and Tokens
|
|
285
350
|
- **Custom Rules**: Support for application-specific sensitive data patterns
|
|
@@ -287,7 +352,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
287
352
|
## [0.7.0] - 2024-12-18
|
|
288
353
|
|
|
289
354
|
### ๐ Initial Release
|
|
355
|
+
|
|
290
356
|
- Core framework architecture
|
|
291
357
|
- Basic masking capabilities
|
|
292
358
|
- Initial test suite
|
|
293
|
-
- Documentation and examples
|
|
359
|
+
- Documentation and examples
|
package/LICENSE
CHANGED
|
@@ -186,7 +186,7 @@
|
|
|
186
186
|
same "printed page" as the copyright notice for easier
|
|
187
187
|
identification within third-party archives.
|
|
188
188
|
|
|
189
|
-
Copyright
|
|
189
|
+
Copyright 2026 Gabriel Alejandro Gomez
|
|
190
190
|
|
|
191
191
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
192
192
|
you may not use this file except in compliance with the License.
|
package/README.md
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
<a href="https://www.npmjs.com/package/syntropylog"><img src="https://img.shields.io/npm/v/syntropylog.svg" alt="NPM Version"></a>
|
|
17
17
|
<a href="https://github.com/Syntropysoft/SyntropyLog/blob/main/LICENSE"><img src="https://img.shields.io/npm/l/syntropylog.svg" alt="License"></a>
|
|
18
18
|
<a href="https://github.com/Syntropysoft/SyntropyLog/actions/workflows/ci.yaml"><img src="https://github.com/Syntropysoft/SyntropyLog/actions/workflows/ci.yaml/badge.svg" alt="CI Status"></a>
|
|
19
|
-
<a href="#"><img src="https://img.shields.io/badge/coverage-
|
|
19
|
+
<a href="#"><img src="https://img.shields.io/badge/coverage-92.48%25-brightgreen" alt="Test Coverage"></a>
|
|
20
20
|
<a href="#"><img src="https://img.shields.io/badge/status-v0.9.3-brightgreen.svg" alt="Version 0.9.3"></a>
|
|
21
21
|
<a href="https://socket.dev/npm/package/syntropylog"><img src="https://socket.dev/api/badge/npm/package/syntropylog" alt="Socket Badge"></a>
|
|
22
22
|
</p>
|
|
@@ -310,7 +310,7 @@ The **Logging Matrix** lets you control exactly how much data appears per log le
|
|
|
310
310
|
12:56:00 [ERROR] (ecommerce-app): User request processed { status: 'completed', duration: '150ms' }
|
|
311
311
|
{
|
|
312
312
|
"userId": 123, "email": "user@example.com", "password": "***MASKED***",
|
|
313
|
-
"firstName": "John", "ipAddress": "
|
|
313
|
+
"firstName": "John", "ipAddress": "127.0.0.1",
|
|
314
314
|
"sessionId": "sess-789", "requestId": "req-456"
|
|
315
315
|
}
|
|
316
316
|
```
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
// A mock database function to simulate fetching data from a primary source.
|
|
6
6
|
async function fetchUserFromDb(userId) {
|
|
7
7
|
// In a real app, this would be a database query.
|
|
8
|
-
return { id: userId, name: 'John Doe', email: 'john.doe@
|
|
8
|
+
return { id: userId, name: 'John Doe', email: 'john.doe@localhost' };
|
|
9
9
|
}
|
|
10
10
|
export class UserService {
|
|
11
11
|
redis;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserService.js","sourceRoot":"","sources":["../../src/services/UserService.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,4EAA4E;AAC5E,KAAK,UAAU,eAAe,CAAC,MAAc;IAC3C,iDAAiD;IACjD,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"UserService.js","sourceRoot":"","sources":["../../src/services/UserService.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,4EAA4E;AAC5E,KAAK,UAAU,eAAe,CAAC,MAAc;IAC3C,iDAAiD;IACjD,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC;AACvE,CAAC;AAED,MAAM,OAAO,WAAW;IACL,KAAK,CAAe;IACpB,YAAY,GAAG,IAAI,CAAC,CAAC,SAAS;IAE/C,YAAY,WAAyB;QACnC,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC;IAC3B,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,MAAc;QACrC,MAAM,QAAQ,GAAG,QAAQ,MAAM,EAAE,CAAC;QAElC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|