sproutboat 0.12.3 → 0.12.5

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
@@ -10,6 +10,56 @@ maintained going forward by the `release` skill.
10
10
 
11
11
  ## Unreleased
12
12
 
13
+ ## [0.12.5] - 2026-10-02
14
+
15
+ ### Fixed
16
+
17
+ - Floating-point results on arm64 now match JavaScript. The C compiler fused
18
+ `a * b + c` into one instruction that rounds once, where JavaScript rounds
19
+ twice, so code like a seeded random-number generator drifted from V8.
20
+ Builds now use `-ffp-contract=off` (`@sproutboat/toolchain` 0.4.18,
21
+ baronunread/sproutboat#235).
22
+ - Standalone binaries answer HTTP/1.0 requests instead of returning
23
+ `505 HTTP Version Not Supported`, so they work behind nginx's default
24
+ `proxy_http_version 1.0`. The connection closes after the response, as
25
+ HTTP/1.0 expects (`@sproutboat/toolchain` 0.4.19,
26
+ baronunread/sproutboat#236).
27
+ - Binary responses from outbound `fetch()` and service bindings arrive intact.
28
+ `arrayBuffer()` and `bytes()` returned a corrupted body (a 31,340-byte font
29
+ came back as about 30,000 bytes), in standalone builds and through the
30
+ broker alike. `text()` and `json()` are unchanged (`@sproutboat/runtime`
31
+ 0.13.3, `@sproutboat/wire` 0.9.2, baronunread/sproutboat#232).
32
+
33
+ ### Changed
34
+
35
+ - The standalone kitchen-sink checks a raw HTTP/1.0 request.
36
+
37
+ ## [0.12.4] - 2026-10-01
38
+
39
+ ### Fixed
40
+
41
+ - Non-ASCII text read back from bindings no longer comes back garbled:
42
+ `"café"` was returned as `"café"` from D1 rows, KV values, cached
43
+ responses, R2 metadata and SQLite error messages, in standalone builds,
44
+ `sproutboat dev` and platform deployments alike. The data itself was stored
45
+ correctly. Fixed in `@sproutboat/runtime` 0.13.1
46
+ (baronunread/sproutboat#189).
47
+ - Async handlers no longer start failing on every request after a few
48
+ requests. An async function returning `null` (an anonymous session lookup,
49
+ say) had its promise rejected with `TypeError: Cannot get property of null`
50
+ once a `new Date().toISOString()` call had run, and the handler never
51
+ recovered. The cause is a Porffor promise-resolution bug, patched in
52
+ `@sproutboat/toolchain` 0.4.17 (baronunread/sproutboat#168).
53
+ - Uncaught exceptions from `fetch`, `scheduled()` and `alarm()` are now logged
54
+ to stderr as `Uncaught (in fetch) Error: ...` before the 500. They used to be
55
+ swallowed silently (`@sproutboat/runtime` 0.13.2).
56
+
57
+ ### Changed
58
+
59
+ - The kitchen-sink example reads its JSON body with `request.json()`, which
60
+ decodes UTF-8, instead of parsing `request.body`, which holds the raw bytes.
61
+ Its conformance suite now checks that non-ASCII text round-trips through D1.
62
+
13
63
  ## [0.12.3] - 2026-10-01
14
64
 
15
65
  ### Changed
@@ -681,7 +731,9 @@ its own package.
681
731
  - Renamed the package to `sproutboat` (was `@sproutboat/cli`); dropped the
682
732
  `sprout` bin alias in favour of a user-defined shell alias.
683
733
 
684
- [Unreleased]: https://github.com/baronunread/sproutboat-cli/compare/v0.12.3...HEAD
734
+ [Unreleased]: https://github.com/baronunread/sproutboat-cli/compare/v0.12.5...HEAD
735
+ [0.12.5]: https://github.com/baronunread/sproutboat-cli/compare/v0.12.4...v0.12.5
736
+ [0.12.4]: https://github.com/baronunread/sproutboat-cli/compare/v0.12.3...v0.12.4
685
737
  [0.12.3]: https://github.com/baronunread/sproutboat-cli/compare/v0.12.2...v0.12.3
686
738
  [0.12.2]: https://github.com/baronunread/sproutboat-cli/compare/v0.12.1...v0.12.2
687
739
  [0.12.1]: https://github.com/baronunread/sproutboat-cli/compare/v0.12.0...v0.12.1
package/SURFACE.md CHANGED
@@ -3,7 +3,7 @@
3
3
  > Generated by `src/surface.test.ts` from `src/surface.ts` + the pinned
4
4
  > toolchain constants. Do not edit by hand — run `UPDATE_SURFACE=1 bun test`.
5
5
 
6
- **Package:** `sproutboat` 0.12.3
6
+ **Package:** `sproutboat` 0.12.5
7
7
 
8
8
  ## Commands
9
9
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sproutboat",
3
- "version": "0.12.3",
3
+ "version": "0.12.5",
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,9 +64,9 @@
64
64
  "@sproutboat/artifact": "^0.3.0",
65
65
  "@sproutboat/assets": "^0.3.0",
66
66
  "@sproutboat/config": "^0.4.0",
67
- "@sproutboat/runtime": "^0.13.0",
68
- "@sproutboat/toolchain": "^0.4.16",
69
- "@sproutboat/wire": "^0.9.1"
67
+ "@sproutboat/runtime": "^0.13.3",
68
+ "@sproutboat/toolchain": "^0.4.19",
69
+ "@sproutboat/wire": "^0.9.2"
70
70
  },
71
71
  "devDependencies": {
72
72
  "@oxlint/plugins": "1.81.0",
@@ -78,10 +78,10 @@
78
78
  "typescript": "7.0.2"
79
79
  },
80
80
  "optionalDependencies": {
81
- "@sproutboat/cli-darwin-arm64": "0.12.3",
82
- "@sproutboat/cli-darwin-x64": "0.12.3",
83
- "@sproutboat/cli-linux-arm64": "0.12.3",
84
- "@sproutboat/cli-linux-x64": "0.12.3"
81
+ "@sproutboat/cli-darwin-arm64": "0.12.5",
82
+ "@sproutboat/cli-darwin-x64": "0.12.5",
83
+ "@sproutboat/cli-linux-arm64": "0.12.5",
84
+ "@sproutboat/cli-linux-x64": "0.12.5"
85
85
  },
86
86
  "engines": {
87
87
  "node": ">=18"