@sixthsummit/ship-api 4.1.1 → 4.2.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.
Files changed (2) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/package.json +15 -14
package/CHANGELOG.md CHANGED
@@ -1,5 +1,57 @@
1
1
  # @sixthsummit/ship-api
2
2
 
3
+ ## 4.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - cd52ad0: Move to the OpenTelemetry JS 3.x SDK line: `@opentelemetry/api` `^1.10.0`, `core` /
8
+ `resources` / `sdk-metrics` `^3.0.0`, `sdk-node` / `exporter-prometheus` `^0.300.0`,
9
+ `auto-instrumentations-node` `^0.82.0`. Every package that declares the api now requires
10
+ 1.10, which the 3.x SDK packages demand as a peer, so a fresh install under strict peer
11
+ dependencies resolves cleanly. `@opentelemetry/core` is a regular dependency of
12
+ `ship-api` and `ship-observability-otel` so `auto-instrumentations-node`'s peer resolves
13
+ inside the framework rather than at the application root.
14
+
15
+ `startMetricsServer` keeps listening on all interfaces by default: the 0.300 Prometheus
16
+ exporter binds to `localhost` when no host is given, so the framework now passes
17
+ `0.0.0.0` explicitly unless `host` or `METRICS_HOST` is set. `MetricsServerHandle.host`
18
+ is therefore always a string. The exporter no longer reads
19
+ `OTEL_EXPORTER_PROMETHEUS_HOST` / `_PORT`; use `METRICS_HOST` / `METRICS_PORT`.
20
+
21
+ Applications that construct tracer providers directly should import `TracerProvider`
22
+ from `@opentelemetry/sdk-trace` (the `sdk-trace-base` / `sdk-trace-node` packages are
23
+ retired) and pass span processors an options object, e.g.
24
+ `new SimpleSpanProcessor({ exporter })`. The 3.x SDK requires Node.js 22.15 or newer.
25
+
26
+ ### Patch Changes
27
+
28
+ - c049215: Require the October 2026 Node.js security releases (22.23.4, 24.22.1, 26.12.1 or newer),
29
+ which fix the Brotli decoder remote code execution (CVE-2026-111497), TLS hostname
30
+ verification bypasses, and `dns.resolve` truncation. Bump `hono` to 4.13.13 to pick up
31
+ the `serveStatic` double-decode middleware bypass fix (GHSA-5r4p-p66f-jhc7).
32
+
33
+ Keep OpenTelemetry on the 2.x SDK line while the ecosystem moves to api 1.10 / SDK 3.0.
34
+ OpenTelemetry JS published `@opentelemetry/api` 1.10.0 alongside a new SDK major (core 3.0.0 /
35
+ sdk-node 0.300.0); every 2.x SDK package rejects api 1.10.0 as a peer. Three changes keep a
36
+ fresh consumer install resolving api 1.9.x:
37
+
38
+ - `@opentelemetry/api` is constrained to `>=1.9.1 <1.10.0` wherever it is declared.
39
+ - `@opentelemetry/core` is now a regular dependency of ship-api and ship-observability-otel,
40
+ so auto-instrumentations-node's peer on it resolves inside those packages instead of
41
+ bubbling to the consumer root.
42
+ - ship-testing and ship-auth-firebase declare the bounded `@opentelemetry/api` too. Neither
43
+ imports it directly, but drizzle-orm (testing) and Firestore via firebase-admin
44
+ (auth-firebase) request api with open ranges; without a bound in those subtrees pnpm
45
+ resolves 1.10.0 first and then reuses it for later peer contexts, depending on the order
46
+ dependencies appear in the consumer manifest.
47
+
48
+ Moving to the OpenTelemetry 3.x line is a separate upgrade.
49
+ - Updated dependencies [c049215]
50
+ - Updated dependencies [cd52ad0]
51
+ - @sixthsummit/ship-hono@1.2.1
52
+ - @sixthsummit/ship-drizzle@1.2.1
53
+ - @sixthsummit/ship-observability-otel@1.3.0
54
+
3
55
  ## 4.1.1
4
56
 
5
57
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sixthsummit/ship-api",
3
- "version": "4.1.1",
3
+ "version": "4.2.0",
4
4
  "description": "ShipAPI Framework — TypeScript backend on Hono + Drizzle + pluggable AuthProvider + BullMQ + OpenTelemetry. Designed to be edited by AI coding agents.",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -95,19 +95,20 @@
95
95
  "@hono/node-server": "^1.19.14",
96
96
  "@hono/node-ws": "^1.3.0",
97
97
  "@hono/zod-validator": "^0.7.6",
98
- "@opentelemetry/api": "^1.9.1",
99
- "@opentelemetry/auto-instrumentations-node": "^0.80.0",
100
- "@opentelemetry/exporter-prometheus": "^0.222.0",
101
- "@opentelemetry/resources": "^2.11.0",
102
- "@opentelemetry/sdk-metrics": "^2.11.0",
103
- "@opentelemetry/sdk-node": "^0.222.0",
98
+ "@opentelemetry/api": "^1.10.0",
99
+ "@opentelemetry/auto-instrumentations-node": "^0.82.0",
100
+ "@opentelemetry/core": "^3.0.0",
101
+ "@opentelemetry/exporter-prometheus": "^0.300.0",
102
+ "@opentelemetry/resources": "^3.0.0",
103
+ "@opentelemetry/sdk-metrics": "^3.0.0",
104
+ "@opentelemetry/sdk-node": "^0.300.0",
104
105
  "@opentelemetry/semantic-conventions": "^1.43.0",
105
106
  "@sixthsummit/ship-cli": "^1.2.0",
106
107
  "@sixthsummit/ship-contract": "^1.3.0",
107
108
  "@sixthsummit/ship-core": "^1.1.1",
108
- "@sixthsummit/ship-drizzle": "^1.2.0",
109
- "@sixthsummit/ship-hono": "^1.2.0",
110
- "@sixthsummit/ship-observability-otel": "^1.2.0",
109
+ "@sixthsummit/ship-drizzle": "^1.2.1",
110
+ "@sixthsummit/ship-hono": "^1.2.1",
111
+ "@sixthsummit/ship-observability-otel": "^1.3.0",
111
112
  "async": "^3.2.4",
112
113
  "bullmq": "^5.76.3",
113
114
  "chalk": "^5.3.0",
@@ -116,7 +117,7 @@
116
117
  "drizzle-zod": "^0.8.3",
117
118
  "file-type": "^21.3.4",
118
119
  "firebase-admin": "^13.10.0",
119
- "hono": "^4.13.7",
120
+ "hono": "^4.13.13",
120
121
  "ioredis": "^5.10.1",
121
122
  "jose": "^6.2.3",
122
123
  "lru-cache": "^11.3.5",
@@ -129,7 +130,7 @@
129
130
  "zod-to-json-schema": "^3.25.2"
130
131
  },
131
132
  "peerDependencies": {
132
- "@sixthsummit/ship-testing": "^1.2.0",
133
+ "@sixthsummit/ship-testing": "^1.2.1",
133
134
  "typescript": ">=5"
134
135
  },
135
136
  "peerDependenciesMeta": {
@@ -176,8 +177,8 @@
176
177
  "@bull-board/api": "^7.0.0",
177
178
  "@bull-board/hono": "^7.0.0",
178
179
  "@google-cloud/storage": "^7.19.0",
179
- "@opentelemetry/sdk-trace-base": "^2.11.0",
180
- "@sixthsummit/ship-testing": "^1.2.0",
180
+ "@opentelemetry/sdk-trace": "^3.0.0",
181
+ "@sixthsummit/ship-testing": "^1.2.1",
181
182
  "@testcontainers/localstack": "^12.0.1",
182
183
  "@testcontainers/postgresql": "^12.0.1",
183
184
  "@types/pg": "^8.15.6",