sproutboat 0.25.0 → 0.26.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,42 @@ maintained going forward by the `release` skill.
10
10
 
11
11
  ## Unreleased
12
12
 
13
+ ## [0.26.0] - 2026-10-22
14
+
15
+ Built on `@sproutboat/runtime` 0.27.0 and `@sproutboat/wire` 0.16.0.
16
+
17
+ ### Changed
18
+
19
+ - R2 behaves as in Workers from compatibility date `2026-10-26`:
20
+ - `get`, `put`, `head`, `delete`, `list` and `createMultipartUpload` return
21
+ Promises, and errors reject them.
22
+ - An object's `etag` is the MD5 of its bytes, with `checksums.md5`. Objects
23
+ written before keep their old etag.
24
+ - Objects have `uploaded` as a `Date`, `version`, `storageClass`, `range` and
25
+ `writeHttpMetadata(headers)`. A body has `body` (a `ReadableStream`),
26
+ `bodyUsed`, `text()`, `json()`, `arrayBuffer()` and `blob()`.
27
+ - `get(key, { range, onlyIf })` takes `{ offset, length }`, `{ suffix }` or a
28
+ `Range` header, and `etagMatches`, `etagDoesNotMatch`, `uploadedBefore`,
29
+ `uploadedAfter` or `If-*` headers. When the condition fails it returns the
30
+ object without a body.
31
+ - `put(key, value, { onlyIf, httpMetadata })` takes a `ReadableStream` or a
32
+ `Blob`, and `httpMetadata` as `Headers`. When the condition fails it returns
33
+ `null`.
34
+ - `delete([keys])` deletes several keys.
35
+ - `list({ prefix, limit, cursor, delimiter, include })` pages at up to 1,000
36
+ entries, groups keys into `delimitedPrefixes`, and returns `httpMetadata` and
37
+ `customMetadata` only when `include` asks for them.
38
+ - A value of the wrong type and a key longer than 1,024 bytes fail with R2's
39
+ errors.
40
+
41
+ Apps with an earlier date keep the synchronous R2. Move `compatibility_date`
42
+ to `2026-10-26` to opt in.
43
+
44
+ ### Fixed
45
+
46
+ - An R2 `list()` prefix matches exactly, at every compatibility date. It used
47
+ SQL `LIKE`, so it ignored case and read `_` and `%` as wildcards.
48
+
13
49
  ## [0.25.0] - 2026-10-22
14
50
 
15
51
  Built on `@sproutboat/runtime` 0.26.0 and `@sproutboat/wire` 0.15.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.25.0
6
+ **Package:** `sproutboat` 0.26.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.25.0",
3
+ "version": "0.26.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.26.0",
67
+ "@sproutboat/runtime": "^0.27.0",
68
68
  "@sproutboat/toolchain": "^0.13.0",
69
- "@sproutboat/wire": "^0.15.0"
69
+ "@sproutboat/wire": "^0.16.0"
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.25.0",
82
- "@sproutboat/cli-darwin-x64": "0.25.0",
83
- "@sproutboat/cli-linux-arm64": "0.25.0",
84
- "@sproutboat/cli-linux-x64": "0.25.0"
81
+ "@sproutboat/cli-darwin-arm64": "0.26.0",
82
+ "@sproutboat/cli-darwin-x64": "0.26.0",
83
+ "@sproutboat/cli-linux-arm64": "0.26.0",
84
+ "@sproutboat/cli-linux-x64": "0.26.0"
85
85
  },
86
86
  "engines": {
87
87
  "node": ">=18"