deepspace 0.10.3 → 0.12.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
@@ -1,5 +1,58 @@
1
1
  # deepspace
2
2
 
3
+ ## 0.12.0
4
+
5
+ ### Minor Changes
6
+
7
+ - Add `deepspace app files`, and make oversized pushes and uploads fail fast with
8
+ advice that actually works.
9
+
10
+ **`deepspace app files put|list|get|rm`** reaches the app's own R2 allocation
11
+ from the command line, so images and media can be published without a deploy
12
+ and without living in Git history. Keys are relative to the app; the platform
13
+ owns the physical prefix and validates every key against it.
14
+
15
+ **An oversized push now fails fast and correctly.** A push refused with HTTP
16
+ 413 is classified as `push_too_large` and names both ceilings (20 MiB per file,
17
+ 32 MiB of compressed history per push) plus any local file over the per-file
18
+ cap. `deploy` renders a rejection with the same text `push` does, instead of a
19
+ bare "resolve the rejection".
20
+
21
+ **The oversize remediation was wrong and is fixed.** It advised `git rm
22
+ --cached` + `.gitignore` + re-commit, which provably does not work: the blob
23
+ stays reachable from the earlier commit and the push is rejected identically.
24
+ The advice now says to drop the file from the commits that carry it (or rewrite
25
+ history if already pushed), states that untracking alone is insufficient, and
26
+ points at `deepspace app files put` as media's real home. Both facts are
27
+ covered by tests that run the recipes against a real repository.
28
+
29
+ **No git call can hang the CLI any more.** `deepspace deploy` could sit
30
+ silently for minutes on a push the server had already refused, because
31
+ `spawnSync` had no timeout. Every git invocation is now bounded, and the
32
+ deploy push-retry loop has a wall-clock budget rather than only an attempt
33
+ count.
34
+
35
+ **Oversized uploads report their size, not a JSON parse error.** An upload past
36
+ the edge's request limit returns an HTML error page; the browser hook and the
37
+ CLI both fed that to `JSON.parse` and surfaced `Unexpected token '<' … is not
38
+ valid JSON`. Both now read failures as text first, and the 25 MiB ceiling is
39
+ enforced by the shared upload handler — so it binds hand-rolled requests too,
40
+ not just SDK callers. `uploadBase64` is measured on decoded bytes.
41
+
42
+ **The owner files endpoint takes human sessions only.** `APP_OWNER_JWT` (the
43
+ ten-year token baked into every deployed app) and preview tokens carry the
44
+ owner as `sub` on the same issuer and audience, so they verify. Accepting them
45
+ would have let any app read and overwrite files in every other app its owner
46
+ has; tokens carrying a `scope` claim are now refused there.
47
+
48
+ ## 0.11.0
49
+
50
+ ### Minor Changes
51
+
52
+ - Replace the base64 deploy asset transport with a content-addressed one. The CLI now hashes the build output locally, asks the platform which files it is missing, and streams only those into the app's release store; unchanged files are never re-uploaded, and no deploy ever serializes its assets into a JSON payload. This removes the "Worker exceeded memory limit" failure that surfaced as a misleading Cloudflare-incident 503 on asset-heavy deploys, and a deploy-service resource limit is now reported distinctly from a genuine Cloudflare API incident.
53
+
54
+ **This release requires an updated deploy service and is required to deploy.** The old grouped-upload endpoints are gone: an older CLI is answered with a clear "update to deploy" instruction, and this CLI refuses to start against a deploy service that does not advertise the new transport. Releases recorded before the cutover can no longer be rolled back to directly — redeploy that commit instead.
55
+
3
56
  ## 0.10.3
4
57
 
5
58
  ### Patch Changes