@bymax-one/nest-logger 1.4.1 → 1.4.2
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 +56 -5
- package/dist/server/index.d.cts +2 -1
- package/dist/server/index.d.ts +2 -1
- package/dist/shared/index.d.cts +2 -1
- package/dist/shared/index.d.ts +2 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -11,6 +11,47 @@ heading here.
|
|
|
11
11
|
|
|
12
12
|
## [Unreleased]
|
|
13
13
|
|
|
14
|
+
## [1.4.2] - 2026-10-30
|
|
15
|
+
|
|
16
|
+
No breaking changes. Dependency and build-tooling maintenance only. No source file under `src/` changes and the
|
|
17
|
+
runtime JavaScript in `dist/` is byte-identical to `1.4.1`.
|
|
18
|
+
|
|
19
|
+
### Security
|
|
20
|
+
|
|
21
|
+
- Raise the pnpm override floors for transitive devDependencies that resolved to versions
|
|
22
|
+
with new advisories: `body-parser` `^2.4.0` (GHSA-27r3-jxmh-p828, DoS on trailing bytes after a
|
|
23
|
+
compressed body), `multer` `^2.5.0` (GHSA-q7qp-rjg7-q26m, DoS from a pending async
|
|
24
|
+
`fileFilter`), `qs` `^6.16.1` (GHSA-6pq8-jhm2-2vcw, `qs.stringify` DoS) and `zod` `^4.6.6`
|
|
25
|
+
(GHSA-mrhx-c7xc-m3w5, memory exhaustion on oversized collections). Dev-only: the published
|
|
26
|
+
package has zero runtime dependencies.
|
|
27
|
+
- Ignore GHSA-gcqx-w48m-w2h4 (`deepmerge` <= 4.3.1, prototype poisoning in `mergeObject`) in
|
|
28
|
+
`osv-scanner.toml` until 2027-01-27. No patched release exists, and `deepmerge` is reached
|
|
29
|
+
only through `jest-config`, a devDependency. Remove the entry when a fixed `deepmerge` ships
|
|
30
|
+
or jest drops it.
|
|
31
|
+
|
|
32
|
+
### Changed
|
|
33
|
+
|
|
34
|
+
- Build with `tsup` 9 (devDependency, was 8.5). The published `.mjs` and `.cjs` bundles are
|
|
35
|
+
byte-identical; the `.d.ts` and `.d.cts` files re-emit type exports as a separate
|
|
36
|
+
`export type { … }` statement instead of inline `type` modifiers, which declares the same
|
|
37
|
+
public surface. `attw` reports no problems and the bundle-size budgets hold.
|
|
38
|
+
- Resolve `@opentelemetry/api` to 1.10.0 in the lockfile (was 1.9.1), so the test suite runs
|
|
39
|
+
against the current API release. The `^1.9.0` range in `package.json`, devDependency and peer
|
|
40
|
+
alike, is unchanged.
|
|
41
|
+
- Bump `github/codeql-action/upload-sarif` to 4.39.1 in the Scorecard workflow. CI only; nothing
|
|
42
|
+
ships.
|
|
43
|
+
|
|
44
|
+
### Documentation
|
|
45
|
+
|
|
46
|
+
- The runtime bundles are unchanged, and the type declarations were regenerated by `tsup` 9.
|
|
47
|
+
- The 1.0.1 and 1.0.8 release notes are corrected: 1.0.8 now records the id-safe charset
|
|
48
|
+
validation of inbound `x-request-id` and tenant ids that it already shipped.
|
|
49
|
+
|
|
50
|
+
#### Apply to a consumer
|
|
51
|
+
|
|
52
|
+
No action required. There is no new public API, no peer range changed, and the runtime JavaScript
|
|
53
|
+
is byte-identical to `1.4.1`; only the grouping of type exports in the declaration files differs.
|
|
54
|
+
|
|
14
55
|
## [1.4.1] - 2026-10-23
|
|
15
56
|
|
|
16
57
|
No breaking changes.
|
|
@@ -1699,8 +1740,9 @@ identical to `1.0.8`, and nothing changed but the version number.
|
|
|
1699
1740
|
|
|
1700
1741
|
## [1.0.8] - 2026-08-10
|
|
1701
1742
|
|
|
1702
|
-
Remediation of a local audit's redaction, attribution and correlation-id findings.
|
|
1703
|
-
|
|
1743
|
+
Remediation of a local audit's redaction, attribution and correlation-id findings. The public
|
|
1744
|
+
API is unchanged; the fixes are in the default redact set, the acting-user resolution, the
|
|
1745
|
+
correlation-id validation and the docs.
|
|
1704
1746
|
|
|
1705
1747
|
### Fixed
|
|
1706
1748
|
|
|
@@ -1712,6 +1754,14 @@ changed; the fixes are in the default redact set, the acting-user resolution and
|
|
|
1712
1754
|
exception filter now resolve the acting user as `sub ?? id`, so a JWT principal (every
|
|
1713
1755
|
`@bymax-one/nest-auth` token) is attributed to its subject rather than an ORM `id` when a
|
|
1714
1756
|
principal carries both.
|
|
1757
|
+
- **Inbound correlation and tenant ids are confined to an id-safe charset.** The inbound
|
|
1758
|
+
`x-request-id` and tenant-id header values are now accepted only when they are drawn from an
|
|
1759
|
+
id-safe character set and fit the length bound; anything else (control bytes, whitespace,
|
|
1760
|
+
markup characters) is rejected. A rejected request id is replaced by a generated one (when
|
|
1761
|
+
`shouldGenerateRequestId` is on) and a rejected tenant id is omitted. The request id is echoed
|
|
1762
|
+
on the `x-request-id` response header and both ids are stored in the log context, so this keeps
|
|
1763
|
+
a client from planting a control byte or markup fragment in the logs and the header of every
|
|
1764
|
+
request it makes.
|
|
1715
1765
|
|
|
1716
1766
|
### Documentation
|
|
1717
1767
|
|
|
@@ -1956,11 +2006,11 @@ published `dist/` is identical — no runtime behaviour changes for consumers.
|
|
|
1956
2006
|
Dev-only: the published package has zero runtime dependencies.
|
|
1957
2007
|
- Force `qs` to `^6.15.3` (via `pnpm.overrides`) to clear GHSA-q8mj-m7cp-5q26
|
|
1958
2008
|
(`qs.stringify` DoS). `typed-rest-client`, pulled in by Stryker, pins `qs` at
|
|
1959
|
-
the affected `6.15.1` exactly, so no dependency refresh could resolve it
|
|
2009
|
+
the affected `6.15.1` exactly, so no dependency refresh could resolve it.
|
|
1960
2010
|
- Pin every third-party and GitHub-owned action to a full commit SHA, with the
|
|
1961
2011
|
release tag kept as a trailing comment so Dependabot can still bump them. The
|
|
1962
2012
|
org's own `bymaxone/.github` reusable workflows and composite action stay on
|
|
1963
|
-
the `@v1` moving tag by design, so shared-pipeline fixes keep propagating
|
|
2013
|
+
the `@v1` moving tag by design, so shared-pipeline fixes keep propagating.
|
|
1964
2014
|
|
|
1965
2015
|
### Changed
|
|
1966
2016
|
|
|
@@ -2026,7 +2076,8 @@ published `dist/` is identical — no runtime behaviour changes for consumers.
|
|
|
2026
2076
|
- Professional CI suite: `ci.yml`, `bench.yml`, `codeql.yml`, `scorecard.yml`,
|
|
2027
2077
|
`release.yml`, Dependabot, and issue templates
|
|
2028
2078
|
|
|
2029
|
-
[Unreleased]: https://github.com/bymaxone/nest-logger/compare/v1.4.
|
|
2079
|
+
[Unreleased]: https://github.com/bymaxone/nest-logger/compare/v1.4.2...HEAD
|
|
2080
|
+
[1.4.2]: https://github.com/bymaxone/nest-logger/compare/v1.4.1...v1.4.2
|
|
2030
2081
|
[1.4.1]: https://github.com/bymaxone/nest-logger/compare/v1.4.0...v1.4.1
|
|
2031
2082
|
[1.4.0]: https://github.com/bymaxone/nest-logger/compare/v1.3.1...v1.4.0
|
|
2032
2083
|
[1.3.1]: https://github.com/bymaxone/nest-logger/compare/v1.3.0...v1.3.1
|
package/dist/server/index.d.cts
CHANGED
|
@@ -1944,4 +1944,5 @@ interface LogEntry {
|
|
|
1944
1944
|
*/
|
|
1945
1945
|
declare const LOG_KEYS_CONVENTION_REGEX: RegExp;
|
|
1946
1946
|
|
|
1947
|
-
export { BymaxLoggerModule,
|
|
1947
|
+
export { BymaxLoggerModule, DEFAULT_REDACT_PATHS, DefaultStdoutDestination, HttpAccessLogMiddleware, HttpExceptionFilter, HttpLoggingInterceptor, InjectLogger, LOGGER_DESTINATIONS_TOKEN, LOGGER_OPTIONS_TOKEN, LOGGER_PINO_INSTANCE_TOKEN, LOG_CONTEXT_METADATA_KEY, LOG_CONTEXT_TOKEN, LOG_KEYS_CONVENTION_REGEX, LogContext, LogContextService, LogPerformance, PINO_LEVEL_NAMES, PINO_LEVEL_NUMBERS, PinoLoggerService, PinoUnexpectedErrorSink, PrettyDevDestination, RESERVED_LOG_KEYS, RESERVED_LOG_KEYS_NOT_EMITTED, RequestIdMiddleware, applyAccessLog, applyRequestIdMiddleware };
|
|
1948
|
+
export type { BymaxLoggerModuleAsyncOptions, BymaxLoggerModuleOptions, BymaxLoggerModuleOptionsFactory, EmittedDeploymentResource, EmittedServiceResource, HttpOptions, ILogDestination, IUnexpectedErrorSink, IncomingHeaders, LogContext$1 as LogContextBag, LogEntry, LogLevel, LoggableRequest, LoggableResponse, NextHandler, OtelOptions, PrettyViewOptions, ReservedLogKey, ResolvedBymaxLoggerModuleOptions, ResolvedServiceMetadata, ServiceMetadata, UnexpectedErrorReport };
|
package/dist/server/index.d.ts
CHANGED
|
@@ -1944,4 +1944,5 @@ interface LogEntry {
|
|
|
1944
1944
|
*/
|
|
1945
1945
|
declare const LOG_KEYS_CONVENTION_REGEX: RegExp;
|
|
1946
1946
|
|
|
1947
|
-
export { BymaxLoggerModule,
|
|
1947
|
+
export { BymaxLoggerModule, DEFAULT_REDACT_PATHS, DefaultStdoutDestination, HttpAccessLogMiddleware, HttpExceptionFilter, HttpLoggingInterceptor, InjectLogger, LOGGER_DESTINATIONS_TOKEN, LOGGER_OPTIONS_TOKEN, LOGGER_PINO_INSTANCE_TOKEN, LOG_CONTEXT_METADATA_KEY, LOG_CONTEXT_TOKEN, LOG_KEYS_CONVENTION_REGEX, LogContext, LogContextService, LogPerformance, PINO_LEVEL_NAMES, PINO_LEVEL_NUMBERS, PinoLoggerService, PinoUnexpectedErrorSink, PrettyDevDestination, RESERVED_LOG_KEYS, RESERVED_LOG_KEYS_NOT_EMITTED, RequestIdMiddleware, applyAccessLog, applyRequestIdMiddleware };
|
|
1948
|
+
export type { BymaxLoggerModuleAsyncOptions, BymaxLoggerModuleOptions, BymaxLoggerModuleOptionsFactory, EmittedDeploymentResource, EmittedServiceResource, HttpOptions, ILogDestination, IUnexpectedErrorSink, IncomingHeaders, LogContext$1 as LogContextBag, LogEntry, LogLevel, LoggableRequest, LoggableResponse, NextHandler, OtelOptions, PrettyViewOptions, ReservedLogKey, ResolvedBymaxLoggerModuleOptions, ResolvedServiceMetadata, ServiceMetadata, UnexpectedErrorReport };
|
package/dist/shared/index.d.cts
CHANGED
|
@@ -270,4 +270,5 @@ declare const RESERVED_LOG_KEYS_NOT_EMITTED: Readonly<{
|
|
|
270
270
|
*/
|
|
271
271
|
type ReservedLogKey = (typeof RESERVED_LOG_KEYS)[keyof typeof RESERVED_LOG_KEYS];
|
|
272
272
|
|
|
273
|
-
export {
|
|
273
|
+
export { LOG_KEYS_CONVENTION_REGEX, RESERVED_LOG_KEYS, RESERVED_LOG_KEYS_NOT_EMITTED };
|
|
274
|
+
export type { EmittedDeploymentResource, EmittedServiceResource, LogEntry, LogLevel, ReservedLogKey, ResolvedServiceMetadata, ServiceMetadata };
|
package/dist/shared/index.d.ts
CHANGED
|
@@ -270,4 +270,5 @@ declare const RESERVED_LOG_KEYS_NOT_EMITTED: Readonly<{
|
|
|
270
270
|
*/
|
|
271
271
|
type ReservedLogKey = (typeof RESERVED_LOG_KEYS)[keyof typeof RESERVED_LOG_KEYS];
|
|
272
272
|
|
|
273
|
-
export {
|
|
273
|
+
export { LOG_KEYS_CONVENTION_REGEX, RESERVED_LOG_KEYS, RESERVED_LOG_KEYS_NOT_EMITTED };
|
|
274
|
+
export type { EmittedDeploymentResource, EmittedServiceResource, LogEntry, LogLevel, ReservedLogKey, ResolvedServiceMetadata, ServiceMetadata };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bymax-one/nest-logger",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.2",
|
|
4
4
|
"description": "Structured JSON logging for NestJS based on Pino 10, with optional OpenTelemetry correlation.",
|
|
5
5
|
"author": "Bymax One <support@bymax.one>",
|
|
6
6
|
"license": "MIT",
|
|
@@ -142,7 +142,7 @@
|
|
|
142
142
|
"tinybench": "^6.0.2",
|
|
143
143
|
"ts-jest": "^29.4.9",
|
|
144
144
|
"ts-node": "^10.9.2",
|
|
145
|
-
"tsup": "^
|
|
145
|
+
"tsup": "^9.0.0",
|
|
146
146
|
"tsx": "^4.19.2",
|
|
147
147
|
"typescript": "^5.9.3"
|
|
148
148
|
},
|