deepspace 0.9.0 → 0.9.2

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,39 @@
1
1
  # deepspace
2
2
 
3
+ ## 0.9.2
4
+
5
+ ### Patch Changes
6
+
7
+ - Restore traditional manual deployment for GitHub-authoritative apps: ordinary
8
+ deploys now ship the local working tree, including uncommitted changes, without
9
+ Git verification, commits, pushes, or recoverable commit lineage. Commit-first
10
+ sync and workspace lineage remain exclusive to DeepSpace source.
11
+
12
+ Track versioned app migrations in `deepspace.migrations.json` and carry that
13
+ manifest in normal deploy bundles and release metadata. Migration completion is
14
+ now independent of Git commit lineage, so the same `deepspace app migrate`
15
+ workflow works for manual GitHub deploys and packaged DeepSpace-source deploys.
16
+ Legacy identity orchestration now lives under the migration command/control
17
+ plane: prepared journals can be canceled, committed cutovers recover forward,
18
+ and ordinary deploy, rollback, ownership, source, and deployment-recording
19
+ paths carry no migration-specific state hooks.
20
+
21
+ Bind the bundled messaging schemas' owner fields to the authenticated caller,
22
+ and avoid false-positive owner-field warnings for collections ordinary clients
23
+ cannot create. New apps use Vitest 4 with a standalone unit-test configuration
24
+ so Vite's Cloudflare Worker plugin cannot leak into the Node test runner, and
25
+ include the current app-migration manifest.
26
+
27
+ ## 0.9.1
28
+
29
+ ### Patch Changes
30
+
31
+ - Keep `deepspace app migrate` as the permanent ordered app-upgrade runner and
32
+ repair obsolete `x-app-name` platform identity wiring before a canonical app
33
+ deployment, without changing retained `APP_NAME` data namespaces. Track
34
+ source-only migration commits against live release lineage so both GitHub and
35
+ DeepSpace apps are guided through the required deploy.
36
+
3
37
  ## 0.9.0
4
38
 
5
39
  ### Minor Changes
package/README.md CHANGED
@@ -90,9 +90,9 @@ npx deepspace deploy # deploy to *.app.space
90
90
  ```
91
91
 
92
92
  The [normative CLI hierarchy](../../docs/platform/cli-contract.md#public-command-hierarchy)
93
- keeps durable app identity and lifecycle operations under `deepspace app`,
93
+ keeps durable app lifecycle and version migrations under `deepspace app`,
94
94
  while checkout-oriented Git, workspace, release, and deploy operations stay
95
- top-level. In particular, legacy identity migration is
95
+ top-level. In particular, app migration is
96
96
  `deepspace app migrate`; there is no top-level `deepspace migrate` alias.
97
97
 
98
98
  Every app has one authoritative Git repository. DeepSpace source is the packaged
@@ -118,23 +118,36 @@ atomic authority change; switching back uses the same commands. Commands support
118
118
  [repository guide](https://github.com/deepdotspace/deepspace/blob/main/docs/platform/repo-store-git.md)
119
119
  for workspaces, releases, and rollback.
120
120
 
121
- Legacy GitHub apps whose `DEEPSPACE_APP_ID` is still name-shaped migrate in
122
- place with one resumable command:
121
+ `deepspace app migrate` is the permanent upgrade runner for breaking app
122
+ changes. It contains an ordered set of structural, idempotent migrations, so
123
+ agents and developers keep using the same command across releases:
123
124
 
124
125
  ```bash
125
126
  npx deepspace app migrate --dry-run
126
127
  npx deepspace app migrate
127
128
  ```
128
129
 
129
- The dry-run lists the exact registry rows that will be re-keyed and the
130
- physical stores that remain at the existing resource id. The command then
131
- pauses for the normal manual GitHub commit/push and finishes with one deploy.
130
+ The dry-run lists pending source migrations without changing files. For a
131
+ legacy GitHub app whose `DEEPSPACE_APP_ID` is still name-shaped, it also lists
132
+ the exact registry rows that will be re-keyed and the physical stores that
133
+ remain at the existing resource id. The command applies only transformations
134
+ it recognizes safely, pauses for normal commit/push, and finishes with one
135
+ deploy. Applied steps live in the checked-in `deepspace.migrations.json`
136
+ manifest. Normal deploy bundles record that manifest in the release, so the
137
+ next run can determine whether the migration is live without depending on Git
138
+ commit lineage. Rerun after each returned action; when nothing is pending it
139
+ reports `up_to_date`. This is the same workflow for GitHub and DeepSpace
140
+ source; only their normal push behavior differs. `APP_NAME`-based
141
+ legacy room and storage addresses are retained; canonical `DEEPSPACE_APP_ID`
142
+ is used only for logical identity and platform authentication.
143
+
132
144
  Keep deploy, release rollback, and undeploy idle from the mutating command until
133
145
  that returned deploy begins; normal app traffic continues throughout.
134
- Before that deploy starts, `--cancel` reverses a prepared migration and
135
- `--rollback` reverses a committed migration; both require the restored legacy
136
- configuration to be committed and pushed first. DeepSpace never writes the
137
- GitHub repository.
146
+ Before the registry cutover commits, `--cancel` reverses a prepared migration
147
+ after the restored legacy configuration is committed and pushed. After the
148
+ cutover, recovery is deliberately forward-only: deploy the canonical app and
149
+ rerun `deepspace app migrate` to verify the live release. DeepSpace never
150
+ writes the GitHub repository.
138
151
 
139
152
  ## Debugging
140
153