syntropylog 0.8.15 → 0.8.16
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 +45 -0
- package/README.md +9 -5
- package/package.json +6 -3
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,51 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.8.16] - 2026-02-28
|
|
9
|
+
|
|
10
|
+
### 🚀 Optimization
|
|
11
|
+
- **`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.
|
|
12
|
+
|
|
13
|
+
### 📝 Documentation
|
|
14
|
+
- **Transports Section**: Updated README with `npm install chalk` instructions for dev environments.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## [0.8.15] - 2026-02-28
|
|
19
|
+
|
|
20
|
+
### 📝 Documentation
|
|
21
|
+
- **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).
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## [0.8.14] - 2026-02-28
|
|
26
|
+
|
|
27
|
+
### 📝 Documentation
|
|
28
|
+
- **Console Transports**: Added Socket.dev security badge to README header for supply chain transparency.
|
|
29
|
+
- **Transport Imports**: Added `Available Console Transports` section documenting bundled chalk-based transports.
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## [0.8.13] - 2026-02-28
|
|
34
|
+
|
|
35
|
+
### 🛡️ Security
|
|
36
|
+
- **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.
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## [0.8.12] - 2026-02-28
|
|
41
|
+
|
|
42
|
+
### 📝 Documentation
|
|
43
|
+
- **README Rewrite**: Repositioned SyntropyLog as a structured observability framework built from scratch — not a utility logger.
|
|
44
|
+
- **Regulated Industries**: Added dedicated section covering Banking Traceability, GDPR/LGPD, SOX, PCI-DSS, and HIPAA compliance scenarios.
|
|
45
|
+
- **Fluent Logger API**: Added comprehensive section documenting `withRetention()`, `withSource()`, `withTransactionId()`, and `child()` as immutable builder pattern.
|
|
46
|
+
- **`withRetention()` Clarified**: Documented as a free-form JSON metadata carrier — field names and values are entirely organization-defined; SyntropyLog carries the payload without interpretation.
|
|
47
|
+
- **Logging Matrix**: Added section explaining declarative field-level control per log level, injection safety via field whitelisting, and runtime reconfiguration.
|
|
48
|
+
- **Data Masking**: Added section with built-in strategy table, configuration options, and the Silent Observer guarantee.
|
|
49
|
+
- **Universal Persistence**: Added section covering `UniversalAdapter`, executor pattern, and routing logs by `retention` metadata.
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
8
53
|
## [0.8.10] - 2026-02-28
|
|
9
54
|
|
|
10
55
|
### ♻️ Cleanup
|
package/README.md
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
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
19
|
<a href="#"><img src="https://img.shields.io/badge/coverage-85.67%25-brightgreen" alt="Test Coverage"></a>
|
|
20
|
-
<a href="#"><img src="https://img.shields.io/badge/status-v0.8.
|
|
20
|
+
<a href="#"><img src="https://img.shields.io/badge/status-v0.8.16-brightgreen.svg" alt="Version 0.8.16"></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>
|
|
23
23
|
|
|
@@ -61,9 +61,13 @@ npm install syntropylog
|
|
|
61
61
|
|
|
62
62
|
By default, SyntropyLog outputs **lightweight plain JSON to the console — automatically, with no configuration needed**. No imports, no setup, no extra dependencies.
|
|
63
63
|
|
|
64
|
-
If you want **colored, human-readable output** for development,
|
|
64
|
+
If you want **colored, human-readable output** for development, use one of the chalk-powered transports. These require `chalk` to be installed explicitly in your project to keep the base bundle small:
|
|
65
65
|
|
|
66
|
-
|
|
66
|
+
```bash
|
|
67
|
+
npm install chalk
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
| Transport | Style | Color | Recommended for |
|
|
67
71
|
| :--- | :--- | :---: | :--- |
|
|
68
72
|
| *(default)* | Plain JSON | ❌ | Production / log aggregators |
|
|
69
73
|
| `ClassicConsoleTransport` | Structured + colored | ✅ | Development |
|
|
@@ -74,8 +78,8 @@ If you want **colored, human-readable output** for development, explicitly use o
|
|
|
74
78
|
// Default — no import needed, works out of the box
|
|
75
79
|
syntropyLog.init({ logger: { level: 'info', serviceName: 'my-app' } });
|
|
76
80
|
|
|
77
|
-
// Want colors?
|
|
78
|
-
import { ClassicConsoleTransport } from 'syntropylog';
|
|
81
|
+
// Want colors? Install chalk first, then import the transport:
|
|
82
|
+
import { ClassicConsoleTransport } from 'syntropylog';
|
|
79
83
|
|
|
80
84
|
syntropyLog.init({
|
|
81
85
|
logger: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "syntropylog",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.16",
|
|
4
4
|
"engines": {
|
|
5
5
|
"node": ">=20.0.0"
|
|
6
6
|
},
|
|
@@ -179,7 +179,6 @@
|
|
|
179
179
|
"access": "public"
|
|
180
180
|
},
|
|
181
181
|
"dependencies": {
|
|
182
|
-
"chalk": "^5.4.1",
|
|
183
182
|
"flatted": "^3.3.3",
|
|
184
183
|
"js-yaml": "^4.1.1",
|
|
185
184
|
"regex-test": "^0.1.1",
|
|
@@ -213,11 +212,15 @@
|
|
|
213
212
|
"vitest": "^4.0.18"
|
|
214
213
|
},
|
|
215
214
|
"peerDependencies": {
|
|
216
|
-
"redis": "^4.6.12 || ^5.10.0"
|
|
215
|
+
"redis": "^4.6.12 || ^5.10.0",
|
|
216
|
+
"chalk": "^5.4.1"
|
|
217
217
|
},
|
|
218
218
|
"peerDependenciesMeta": {
|
|
219
219
|
"redis": {
|
|
220
220
|
"optional": true
|
|
221
|
+
},
|
|
222
|
+
"chalk": {
|
|
223
|
+
"optional": true
|
|
221
224
|
}
|
|
222
225
|
},
|
|
223
226
|
"lint-staged": {
|