@podium/client 5.3.5 → 5.4.0

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 CHANGED
@@ -1,3 +1,17 @@
1
+ # [5.4.0](https://github.com/podium-lib/client/compare/v5.3.6...v5.4.0) (2025-08-07)
2
+
3
+
4
+ ### Features
5
+
6
+ * forward traceparent and tracestate headers ([#474](https://github.com/podium-lib/client/issues/474)) ([717e880](https://github.com/podium-lib/client/commit/717e8809afcf7a56e17dff602e213578c36937d4))
7
+
8
+ ## [5.3.6](https://github.com/podium-lib/client/compare/v5.3.5...v5.3.6) (2025-07-02)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * **deps:** remove clonedeep dependency ([#471](https://github.com/podium-lib/client/issues/471)) ([d77e266](https://github.com/podium-lib/client/commit/d77e26656010d417c0b3e00ca1649ae094122246))
14
+
1
15
  ## [5.3.5](https://github.com/podium-lib/client/compare/v5.3.4...v5.3.5) (2025-06-27)
2
16
 
3
17
 
@@ -136,6 +136,18 @@ export default class PodletClientHttpOutgoing extends PassThrough {
136
136
 
137
137
  this.#headers = {};
138
138
 
139
+ // We want to automatically forward the traceparent and tracestate
140
+ // HTTP headers as-is (no `podium-` prefix) for the automatic
141
+ // association between OpenTelemetry traces in a distributed system.
142
+ if (this.#incoming?.request?.headers?.['traceparent']) {
143
+ this.#headers['traceparent'] =
144
+ this.#incoming.request.headers['traceparent'];
145
+ }
146
+ if (this.#incoming?.request?.headers?.['tracestate']) {
147
+ this.#headers['tracestate'] =
148
+ this.#incoming.request.headers['tracestate'];
149
+ }
150
+
139
151
  // How long the manifest should be cached before refetched
140
152
  this.#maxAge = maxAge;
141
153
 
@@ -1,4 +1,3 @@
1
- import clonedeep from 'lodash.clonedeep';
2
1
  import abslog from 'abslog';
3
2
  import assert from 'assert';
4
3
 
@@ -36,7 +35,7 @@ export default class PodletClientCacheResolver {
36
35
  if (outgoing.status !== 'stale') {
37
36
  const cached = this.#registry.get(outgoing.name);
38
37
  if (cached) {
39
- outgoing.manifest = clonedeep(cached);
38
+ outgoing.manifest = { ...cached };
40
39
  outgoing.status = 'cached';
41
40
  this.#log.debug(
42
41
  `loaded manifest from cache - resource: ${outgoing.name}`,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@podium/client",
3
- "version": "5.3.5",
3
+ "version": "5.4.0",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "keywords": [
@@ -97,34 +97,33 @@
97
97
  "@podium/utils": "5.5.0",
98
98
  "abslog": "2.4.4",
99
99
  "http-cache-semantics": "^4.0.3",
100
- "lodash.clonedeep": "^4.5.0",
101
100
  "ttl-mem-cache": "4.1.0",
102
101
  "undici": "6.21.3"
103
102
  },
104
103
  "devDependencies": {
105
- "@podium/eslint-config": "1.0.14",
104
+ "@podium/eslint-config": "1.0.18",
106
105
  "@podium/podlet": "5.2.4",
107
- "@podium/semantic-release-config": "2.0.0",
106
+ "@podium/semantic-release-config": "2.0.2",
108
107
  "@podium/test-utils": "3.0.18",
109
108
  "@podium/typescript-config": "1.0.0",
110
109
  "@semantic-release/changelog": "6.0.3",
111
110
  "@semantic-release/git": "10.0.1",
112
111
  "@semantic-release/github": "10.3.5",
113
- "@semantic-release/npm": "12.0.1",
112
+ "@semantic-release/npm": "12.0.2",
114
113
  "@semantic-release/release-notes-generator": "13.0.0",
115
114
  "@sinonjs/fake-timers": "11.3.1",
116
- "@types/readable-stream": "4.0.20",
115
+ "@types/readable-stream": "4.0.21",
117
116
  "benchmark": "2.1.4",
118
- "eslint": "9.28.0",
119
- "eslint-config-prettier": "9.1.0",
120
- "eslint-plugin-prettier": "5.4.1",
117
+ "eslint": "9.32.0",
118
+ "eslint-config-prettier": "9.1.2",
119
+ "eslint-plugin-prettier": "5.5.3",
121
120
  "express": "4.21.2",
122
121
  "get-stream": "9.0.1",
123
122
  "http-proxy": "1.18.1",
124
123
  "is-stream": "4.0.1",
125
124
  "npm-run-all2": "6.2.6",
126
- "prettier": "3.5.3",
127
- "semantic-release": "24.2.3",
125
+ "prettier": "3.6.2",
126
+ "semantic-release": "24.2.7",
128
127
  "tap": "18.8.0",
129
128
  "typescript": "5.8.3",
130
129
  "why-is-node-running": "3.2.2"