@wenathlan/devthink 1.1.5 → 1.1.7

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,5 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.1.7 — Security remediation
4
+
5
+ This release resolves the Trivy Dockerfile finding `DS-0026` by declaring an executable container health check that verifies the Bun-compiled DevThink CLI is available in the nonroot distroless runtime. The security workflow keeps its active Trivy, OSV, pnpm-audit and verified-secret gates; no scanner, severity threshold or release protection is weakened.
6
+
7
+ | Area | Change |
8
+ | --- | --- |
9
+ | Container hardening | Adds a native `HEALTHCHECK` instruction that executes `devthink --help` without requiring a shell in the distroless runtime. |
10
+ | Gateway reliability | Requests an operating-system-assigned loopback port by default, avoiding HTTP-client restricted ports during concurrent test execution in CI. |
11
+ | Dependency review | Confirms the workbench audit has no known vulnerabilities at low, moderate, high or critical severity. |
12
+ | Mobile dependency graph | Retains the `uuid` 11.1.1 override that removes the previously vulnerable transitive UUID version. |
13
+ | Release metadata | Aligns the CLI, static workbench, mobile shell and browser extension on version 1.1.7. |
14
+
15
+ ## 1.1.6 — Mobile artifact activation
16
+
17
+ This release corrects the mobile workflow's source detector for the JSON Capacitor configuration. Android development APK/AAB and iOS simulator application packaging now execute whenever the source is present.
18
+
3
19
  ## 1.1.5 — Minimal container runtime
4
20
 
5
21
  This release replaces the container runtime with a nonroot distroless compatibility image. The image contains only the compiled DevThink binary and its required C/C++ runtime libraries, reducing the operating-system package surface scanned before GHCR publication.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wenathlan/devthink",
3
- "version": "1.1.5",
3
+ "version": "1.1.7",
4
4
  "description": "DevThink is an AI development workbench with provider-owned endpoints, normalized streaming, sessions, memory, an embedded gateway and a terminal/web interface.",
5
5
  "license": "MIT",
6
6
  "type": "module",
package/server.ts CHANGED
@@ -185,7 +185,7 @@ async function route(request: IncomingMessage, response: ServerResponse, config:
185
185
  }
186
186
 
187
187
  function randomPort(): number {
188
- return randomInt(1, 65_535);
188
+ return randomInt(49_152, 65_535);
189
189
  }
190
190
 
191
191
  function bind(server: Server, port: number): Promise<number> {
@@ -211,7 +211,7 @@ export async function startServer(options: ServerOptions): Promise<ServerHandle>
211
211
  route(request, response, options.config, paths).catch((error: unknown) => writeJson(response, 500, { error: error instanceof Error ? error.message : "Request failed." }, safeOrigin(request, options.config)));
212
212
  });
213
213
  server.setMaxListeners(0);
214
- let port = options.port || randomPort();
214
+ let port = options.port ?? 0;
215
215
  let lastError: unknown;
216
216
  for (let attempt = 0; attempt < 10; attempt += 1) {
217
217
  try {