sproutboat 0.37.0 → 0.38.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 +17 -0
- package/SURFACE.md +1 -1
- package/package.json +7 -7
package/CHANGELOG.md
CHANGED
|
@@ -10,6 +10,23 @@ maintained going forward by the `release` skill.
|
|
|
10
10
|
|
|
11
11
|
## Unreleased
|
|
12
12
|
|
|
13
|
+
## [0.38.0] - 2026-10-27
|
|
14
|
+
|
|
15
|
+
Built on `@sproutboat/runtime` 0.34.2, `@sproutboat/toolchain` 0.19.2 and
|
|
16
|
+
`@sproutboat/wire` 0.20.2.
|
|
17
|
+
|
|
18
|
+
### Performance
|
|
19
|
+
|
|
20
|
+
- **A request costs about a quarter of the CPU it did.** Most of it was one thing: Porffor's `globalThis`
|
|
21
|
+
rebuilt the whole global object (one write per top-level binding) on every read, and a plain request
|
|
22
|
+
made about eleven reads. A read of `globalThis` now rewrites only the bindings that changed, the
|
|
23
|
+
runtime's own request path reads no `globalThis` at all, the client IP and trusted-proxy headers are
|
|
24
|
+
read once per process, and `x-sb-cpu-ms` is added to your Response instead of building a second one.
|
|
25
|
+
Measured on one pinned x86 core, a 404 from a standalone binary went from 319 to 89 microseconds of CPU
|
|
26
|
+
per request when saturated (3,100 to 11,000 requests per second on that core); a small JSON 200 from
|
|
27
|
+
322 to 78. `globalThis.x` in your own code is cheap too: 20,000 reads with 600 top-level functions took
|
|
28
|
+
9.3 s before and a few milliseconds now. Nothing in the responses changes.
|
|
29
|
+
|
|
13
30
|
## [0.37.0] - 2026-10-27
|
|
14
31
|
|
|
15
32
|
Built on `@sproutboat/runtime` 0.34.1, `@sproutboat/toolchain` 0.19.1 and
|
package/SURFACE.md
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sproutboat",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.38.0",
|
|
4
4
|
"description": "Wrangler-shaped CLI for Sproutboat. Deploys workers to any control plane via --api-url / SPROUTBOAT_API_URL.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cli",
|
|
@@ -64,8 +64,8 @@
|
|
|
64
64
|
"@sproutboat/artifact": "^0.3.0",
|
|
65
65
|
"@sproutboat/assets": "^0.3.0",
|
|
66
66
|
"@sproutboat/config": "^0.6.0",
|
|
67
|
-
"@sproutboat/runtime": "^0.34.
|
|
68
|
-
"@sproutboat/toolchain": "^0.19.
|
|
67
|
+
"@sproutboat/runtime": "^0.34.2",
|
|
68
|
+
"@sproutboat/toolchain": "^0.19.2",
|
|
69
69
|
"@sproutboat/wire": "^0.20.2"
|
|
70
70
|
},
|
|
71
71
|
"devDependencies": {
|
|
@@ -78,10 +78,10 @@
|
|
|
78
78
|
"typescript": "7.0.2"
|
|
79
79
|
},
|
|
80
80
|
"optionalDependencies": {
|
|
81
|
-
"@sproutboat/cli-darwin-arm64": "0.
|
|
82
|
-
"@sproutboat/cli-darwin-x64": "0.
|
|
83
|
-
"@sproutboat/cli-linux-arm64": "0.
|
|
84
|
-
"@sproutboat/cli-linux-x64": "0.
|
|
81
|
+
"@sproutboat/cli-darwin-arm64": "0.38.0",
|
|
82
|
+
"@sproutboat/cli-darwin-x64": "0.38.0",
|
|
83
|
+
"@sproutboat/cli-linux-arm64": "0.38.0",
|
|
84
|
+
"@sproutboat/cli-linux-x64": "0.38.0"
|
|
85
85
|
},
|
|
86
86
|
"engines": {
|
|
87
87
|
"node": ">=18"
|