sproutboat 0.12.4 → 0.12.6

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,53 @@ maintained going forward by the `release` skill.
10
10
 
11
11
  ## Unreleased
12
12
 
13
+ ## [0.12.6] - 2026-10-03
14
+
15
+ ### Fixed
16
+
17
+ - `String.prototype.replaceAll` is linear: replacing in a 2.1 MB string took
18
+ about 42 s and now takes 71 ms (`@sproutboat/toolchain` 0.4.20,
19
+ baronunread/sproutboat#237).
20
+ - uuid and @noble/hashes work. Four compiler bugs and one runtime bug were
21
+ behind them (baronunread/sproutboat#238):
22
+ - Integer typed-array stores wrapped wrongly: `uint32[i] = x | 0` stored 0
23
+ for negative `x`, and `fill`/`set`/`from` were affected too.
24
+ - `typedArray.set(source)` with no offset copied nothing and wrote into the
25
+ wrong memory.
26
+ - `~x` was wrong for values above 2^31.
27
+ - Typed-array reads past the end returned neighbouring memory instead of
28
+ `undefined`.
29
+ - A handler's own top-level `URL` (uuid exports one) replaced the runtime's
30
+ `URL` class and crashed the binary at startup. The handler now runs in its
31
+ own scope.
32
+
33
+ SHA-256, HMAC and uuid v5 now match Node (`@sproutboat/toolchain` 0.4.22,
34
+ `@sproutboat/runtime` 0.13.4).
35
+
36
+ ## [0.12.5] - 2026-10-02
37
+
38
+ ### Fixed
39
+
40
+ - Floating-point results on arm64 now match JavaScript. The C compiler fused
41
+ `a * b + c` into one instruction that rounds once, where JavaScript rounds
42
+ twice, so code like a seeded random-number generator drifted from V8.
43
+ Builds now use `-ffp-contract=off` (`@sproutboat/toolchain` 0.4.18,
44
+ baronunread/sproutboat#235).
45
+ - Standalone binaries answer HTTP/1.0 requests instead of returning
46
+ `505 HTTP Version Not Supported`, so they work behind nginx's default
47
+ `proxy_http_version 1.0`. The connection closes after the response, as
48
+ HTTP/1.0 expects (`@sproutboat/toolchain` 0.4.19,
49
+ baronunread/sproutboat#236).
50
+ - Binary responses from outbound `fetch()` and service bindings arrive intact.
51
+ `arrayBuffer()` and `bytes()` returned a corrupted body (a 31,340-byte font
52
+ came back as about 30,000 bytes), in standalone builds and through the
53
+ broker alike. `text()` and `json()` are unchanged (`@sproutboat/runtime`
54
+ 0.13.3, `@sproutboat/wire` 0.9.2, baronunread/sproutboat#232).
55
+
56
+ ### Changed
57
+
58
+ - The standalone kitchen-sink checks a raw HTTP/1.0 request.
59
+
13
60
  ## [0.12.4] - 2026-10-01
14
61
 
15
62
  ### Fixed
@@ -707,7 +754,9 @@ its own package.
707
754
  - Renamed the package to `sproutboat` (was `@sproutboat/cli`); dropped the
708
755
  `sprout` bin alias in favour of a user-defined shell alias.
709
756
 
710
- [Unreleased]: https://github.com/baronunread/sproutboat-cli/compare/v0.12.4...HEAD
757
+ [Unreleased]: https://github.com/baronunread/sproutboat-cli/compare/v0.12.6...HEAD
758
+ [0.12.6]: https://github.com/baronunread/sproutboat-cli/compare/v0.12.5...v0.12.6
759
+ [0.12.5]: https://github.com/baronunread/sproutboat-cli/compare/v0.12.4...v0.12.5
711
760
  [0.12.4]: https://github.com/baronunread/sproutboat-cli/compare/v0.12.3...v0.12.4
712
761
  [0.12.3]: https://github.com/baronunread/sproutboat-cli/compare/v0.12.2...v0.12.3
713
762
  [0.12.2]: https://github.com/baronunread/sproutboat-cli/compare/v0.12.1...v0.12.2
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.4
6
+ **Package:** `sproutboat` 0.12.6
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.4",
3
+ "version": "0.12.6",
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.2",
68
- "@sproutboat/toolchain": "^0.4.17",
69
- "@sproutboat/wire": "^0.9.1"
67
+ "@sproutboat/runtime": "^0.13.4",
68
+ "@sproutboat/toolchain": "^0.4.22",
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.4",
82
- "@sproutboat/cli-darwin-x64": "0.12.4",
83
- "@sproutboat/cli-linux-arm64": "0.12.4",
84
- "@sproutboat/cli-linux-x64": "0.12.4"
81
+ "@sproutboat/cli-darwin-arm64": "0.12.6",
82
+ "@sproutboat/cli-darwin-x64": "0.12.6",
83
+ "@sproutboat/cli-linux-arm64": "0.12.6",
84
+ "@sproutboat/cli-linux-x64": "0.12.6"
85
85
  },
86
86
  "engines": {
87
87
  "node": ">=18"