sproutboat 0.22.0 → 0.24.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 CHANGED
@@ -10,6 +10,53 @@ maintained going forward by the `release` skill.
10
10
 
11
11
  ## Unreleased
12
12
 
13
+ ## [0.24.0] - 2026-10-22
14
+
15
+ ### Changed
16
+
17
+ - `fetch(Request)`, `fetch(Request, init)` and `new Request(request, init)` behave
18
+ as in workerd from compatibility date `2026-10-23` (`@sproutboat/runtime` 0.23.0,
19
+ `@sproutboat/toolchain` 0.13.0). This covers outgoing `fetch()`, service
20
+ bindings and Durable Object stubs.
21
+ - The Request's method, headers, body, redirect mode and signal apply unless
22
+ `init` replaces them.
23
+ - A body can be used only once: sending or copying a used Request throws.
24
+ - GET and HEAD refuse a body, and an incoming GET has `request.body === null`.
25
+ - Unknown methods, `CONNECT` and `redirect: "error"` throw, as in workerd.
26
+ - The headers of incoming requests, fetched responses and
27
+ `Response.redirect()` are immutable. Copy them to change them.
28
+
29
+ Apps with an earlier date keep the old behaviour. Move `compatibility_date` to
30
+ `2026-10-23` to opt in.
31
+
32
+ ### Fixed
33
+
34
+ - These apply at every date:
35
+ - `Request.signal` exists, and `fetch()` aborts with a Request's signal.
36
+ - A `ReadableStream` body in an outgoing `fetch()` is sent as its bytes. It
37
+ used to go out as the text `[object ReadableStream]`.
38
+ - `clone()` of a Request or Response with a stream body gives both copies
39
+ the whole body.
40
+ - A copy of an incoming request keeps its raw bytes.
41
+
42
+ ### Added
43
+
44
+ - `examples/request`, built at `2026-10-23` and checked by `bun run examples`:
45
+ forwarding an incoming request and the Request rules above.
46
+
47
+ ## [0.23.0] - 2026-10-22
48
+
49
+ ### Added
50
+
51
+ - Experimental local backup of a D1 database to LTX files, in standalone
52
+ binaries (`@sproutboat/runtime` 0.22.0). It's off by default. To turn it on, set
53
+ the compatibility date to `2026-10-22` or later, `SB_LTX_ENABLE=1`, and
54
+ `SB_LTX_DATABASE=<binding>`. Every committed transaction is then written to a
55
+ durable LTX file, and the app resumes from the last one after a restart.
56
+ - Only one process may write to the database.
57
+ - Files stay on local disk; uploading them is not part of this release.
58
+ - See the runtime's `LTX_REPLICATION.md` for limits and recovery behaviour.
59
+
13
60
  ## [0.22.0] - 2026-10-22
14
61
 
15
62
  ### Added
@@ -1010,7 +1057,8 @@ its own package.
1010
1057
  - Renamed the package to `sproutboat` (was `@sproutboat/cli`); dropped the
1011
1058
  `sprout` bin alias in favour of a user-defined shell alias.
1012
1059
 
1013
- [Unreleased]: https://github.com/baronunread/sproutboat-cli/compare/v0.19.0...HEAD
1060
+ [Unreleased]: https://github.com/baronunread/sproutboat-cli/compare/v0.24.0...HEAD
1061
+ [0.24.0]: https://github.com/baronunread/sproutboat-cli/compare/v0.23.0...v0.24.0
1014
1062
  [0.19.0]: https://github.com/baronunread/sproutboat-cli/compare/v0.18.0...v0.19.0
1015
1063
  [0.18.0]: https://github.com/baronunread/sproutboat-cli/compare/v0.17.0...v0.18.0
1016
1064
  [0.17.0]: https://github.com/baronunread/sproutboat-cli/compare/v0.16.0...v0.17.0
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.22.0
6
+ **Package:** `sproutboat` 0.24.0
7
7
 
8
8
  ## Commands
9
9
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sproutboat",
3
- "version": "0.22.0",
3
+ "version": "0.24.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,9 +64,9 @@
64
64
  "@sproutboat/artifact": "^0.3.0",
65
65
  "@sproutboat/assets": "^0.3.0",
66
66
  "@sproutboat/config": "^0.5.0",
67
- "@sproutboat/runtime": "^0.21.1",
68
- "@sproutboat/toolchain": "^0.12.1",
69
- "@sproutboat/wire": "^0.14.1"
67
+ "@sproutboat/runtime": "^0.23.0",
68
+ "@sproutboat/toolchain": "^0.13.0",
69
+ "@sproutboat/wire": "^0.14.3"
70
70
  },
71
71
  "devDependencies": {
72
72
  "@oxlint/plugins": "1.85.0",
@@ -78,10 +78,10 @@
78
78
  "typescript": "7.0.2"
79
79
  },
80
80
  "optionalDependencies": {
81
- "@sproutboat/cli-darwin-arm64": "0.22.0",
82
- "@sproutboat/cli-darwin-x64": "0.22.0",
83
- "@sproutboat/cli-linux-arm64": "0.22.0",
84
- "@sproutboat/cli-linux-x64": "0.22.0"
81
+ "@sproutboat/cli-darwin-arm64": "0.24.0",
82
+ "@sproutboat/cli-darwin-x64": "0.24.0",
83
+ "@sproutboat/cli-linux-arm64": "0.24.0",
84
+ "@sproutboat/cli-linux-x64": "0.24.0"
85
85
  },
86
86
  "engines": {
87
87
  "node": ">=18"