@serve.zone/appstore 2.7.0 → 2.9.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/apps/cloudly/app.json +2 -2
- package/apps/cloudly/versions/1.1.10/config.json +173 -0
- package/apps/cloudly/versions/1.1.9/config.json +173 -0
- package/appstore.json +2 -2
- package/changelog.md +35 -0
- package/dist_ts_client/data.generated.js +353 -5
- package/package.json +3 -3
- package/readme.md +2 -2
- package/ts_client/data.generated.ts +352 -4
package/apps/cloudly/app.json
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
"description": "Multi-node serve.zone control plane for clusters, workload services, domains, and deployments.",
|
|
5
5
|
"category": "Dev Tools",
|
|
6
6
|
"iconName": "server",
|
|
7
|
-
"latestVersion": "1.1.
|
|
8
|
-
"versions": ["1.0.0", "1.1.0", "1.1.1", "1.1.2", "1.1.3", "1.1.4", "1.1.5", "1.1.6", "1.1.7", "1.1.8"],
|
|
7
|
+
"latestVersion": "1.1.10",
|
|
8
|
+
"versions": ["1.0.0", "1.1.0", "1.1.1", "1.1.2", "1.1.3", "1.1.4", "1.1.5", "1.1.6", "1.1.7", "1.1.8", "1.1.9", "1.1.10"],
|
|
9
9
|
"maintainer": "serve.zone",
|
|
10
10
|
"links": {
|
|
11
11
|
"Source": "https://code.foss.global/serve.zone/cloudly",
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
{
|
|
2
|
+
"image": "code.foss.global/serve.zone/cloudly@sha256:056553fec412094701764197574b45096cc5c0c81e863d7ee873f4cf10ab45f6",
|
|
3
|
+
"targetPorts": [
|
|
4
|
+
{
|
|
5
|
+
"name": "web",
|
|
6
|
+
"port": 3000,
|
|
7
|
+
"protocol": "http",
|
|
8
|
+
"default": true
|
|
9
|
+
}
|
|
10
|
+
],
|
|
11
|
+
"envVars": [
|
|
12
|
+
{
|
|
13
|
+
"key": "SERVEZONE_ENVIRONMENT",
|
|
14
|
+
"value": "production",
|
|
15
|
+
"description": "Cloudly runtime environment.",
|
|
16
|
+
"required": true
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"key": "SERVEZONE_PUBLIC_ORIGIN",
|
|
20
|
+
"value": "https://${SERVICE_DOMAIN}",
|
|
21
|
+
"description": "Canonical public Cloudly origin including protocol and optional public port.",
|
|
22
|
+
"required": true
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"key": "SERVEZONE_LISTENPORT",
|
|
26
|
+
"value": "3000",
|
|
27
|
+
"description": "Internal Cloudly HTTP port inside the container.",
|
|
28
|
+
"required": true
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"key": "SERVEZONE_SSLMODE",
|
|
32
|
+
"value": "external",
|
|
33
|
+
"description": "Use external TLS termination through Onebox or dcrouter.",
|
|
34
|
+
"required": true
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"key": "SERVEZONE_SECRET_KEYRING_PATH",
|
|
38
|
+
"value": "/run/secrets/cloudly-secrets-v2-keyring.json",
|
|
39
|
+
"description": "Path to the Cloudly Secrets v2 keyring mounted by Onebox; the keyring value is never placed in the public environment.",
|
|
40
|
+
"required": true
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"key": "SERVEZONE_SECRET_KEYRING_FILE",
|
|
44
|
+
"description": "Existing Cloudly Secrets v2 keyring. Onebox stores it encrypted and mounts it only as a root-readable file; retain the existing keyring when upgrading.",
|
|
45
|
+
"required": true,
|
|
46
|
+
"secret": true,
|
|
47
|
+
"delivery": {
|
|
48
|
+
"type": "file",
|
|
49
|
+
"targetPath": "/run/secrets/cloudly-secrets-v2-keyring.json",
|
|
50
|
+
"uid": 0,
|
|
51
|
+
"gid": 0,
|
|
52
|
+
"mode": 256
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"key": "SERVEZONE_WORKLOADINIT_APPROVAL_PATH",
|
|
57
|
+
"value": "/run/secrets/cloudly-workloadinit-approval.json",
|
|
58
|
+
"description": "Private WorkloadInit release-approval artifact mounted by Onebox for Coreflow secret-runtime registration.",
|
|
59
|
+
"required": true
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"key": "SERVEZONE_WORKLOADINIT_APPROVAL_FILE",
|
|
63
|
+
"description": "Operator-approved WorkloadInit release authority. Onebox stores it encrypted and mounts it only as a root-readable file.",
|
|
64
|
+
"required": true,
|
|
65
|
+
"secret": true,
|
|
66
|
+
"delivery": {
|
|
67
|
+
"type": "file",
|
|
68
|
+
"targetPath": "/run/secrets/cloudly-workloadinit-approval.json",
|
|
69
|
+
"uid": 0,
|
|
70
|
+
"gid": 0,
|
|
71
|
+
"mode": 256
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"key": "MONGODB_URL",
|
|
76
|
+
"value": "${MONGODB_URI}",
|
|
77
|
+
"description": "Authenticated MongoDB wire-protocol URL provisioned by Onebox Corestore.",
|
|
78
|
+
"required": true
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"key": "MONGODB_NAME",
|
|
82
|
+
"value": "${MONGODB_DATABASE}",
|
|
83
|
+
"description": "MongoDB wire-protocol database name provisioned by Onebox Corestore.",
|
|
84
|
+
"required": true
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"key": "MONGODB_USER",
|
|
88
|
+
"value": "${MONGODB_USERNAME}",
|
|
89
|
+
"description": "MongoDB wire-protocol username provisioned by Onebox Corestore.",
|
|
90
|
+
"required": true
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"key": "MONGODB_PASS",
|
|
94
|
+
"value": "${MONGODB_PASSWORD}",
|
|
95
|
+
"description": "MongoDB wire-protocol password provisioned by Onebox Corestore.",
|
|
96
|
+
"required": true
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"key": "S3_ENDPOINT",
|
|
100
|
+
"value": "onebox-corestore",
|
|
101
|
+
"description": "S3 endpoint host provisioned by Onebox Corestore.",
|
|
102
|
+
"required": true
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"key": "S3_PORT",
|
|
106
|
+
"value": "9000",
|
|
107
|
+
"description": "S3 endpoint port provisioned by Onebox Corestore.",
|
|
108
|
+
"required": true
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"key": "S3_USESSL",
|
|
112
|
+
"value": "false",
|
|
113
|
+
"description": "Use plain HTTP for internal Corestore S3 traffic on the Onebox network.",
|
|
114
|
+
"required": true
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"key": "S3_BUCKET",
|
|
118
|
+
"value": "${S3_BUCKET}",
|
|
119
|
+
"description": "S3 bucket provisioned by Onebox Corestore for Cloudly's registry.",
|
|
120
|
+
"required": true
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"key": "S3_ACCESSKEY",
|
|
124
|
+
"value": "${S3_ACCESS_KEY}",
|
|
125
|
+
"description": "S3 access key provisioned by Onebox Corestore.",
|
|
126
|
+
"required": true
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"key": "S3_SECRETKEY",
|
|
130
|
+
"value": "${S3_SECRET_KEY}",
|
|
131
|
+
"description": "S3 secret key provisioned by Onebox Corestore.",
|
|
132
|
+
"required": true
|
|
133
|
+
}
|
|
134
|
+
],
|
|
135
|
+
"platformRequirements": {
|
|
136
|
+
"mongodb": true,
|
|
137
|
+
"s3": true
|
|
138
|
+
},
|
|
139
|
+
"platformOidc": {
|
|
140
|
+
"redirectPath": "/auth/oidc/callback",
|
|
141
|
+
"roles": [
|
|
142
|
+
{
|
|
143
|
+
"id": "admin",
|
|
144
|
+
"label": "Administrator",
|
|
145
|
+
"description": "Full Cloudly administration for this hosted instance."
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"id": "user",
|
|
149
|
+
"label": "User",
|
|
150
|
+
"description": "Standard authenticated Cloudly access for this hosted instance."
|
|
151
|
+
}
|
|
152
|
+
],
|
|
153
|
+
"environmentVariables": {
|
|
154
|
+
"issuerUrl": "SERVEZONE_PLATFORM_OIDC_ISSUER",
|
|
155
|
+
"clientId": "SERVEZONE_PLATFORM_OIDC_CLIENT_ID",
|
|
156
|
+
"clientSecret": "SERVEZONE_PLATFORM_OIDC_CLIENT_SECRET",
|
|
157
|
+
"redirectUri": "SERVEZONE_PLATFORM_OIDC_REDIRECT_URI",
|
|
158
|
+
"audience": "SERVEZONE_PLATFORM_OIDC_AUDIENCE"
|
|
159
|
+
},
|
|
160
|
+
"clientAuthenticationMethod": "client_secret_basic"
|
|
161
|
+
},
|
|
162
|
+
"minOneboxVersion": "8.3.3",
|
|
163
|
+
"changelog": "Move Cloudly to 26.0.1 with human and node credential authority, password rotation, and generation-bound human API and registry sessions. Existing human sessions must sign in again. Requires completed Secrets v2 cutover retirement and a fresh verified restorable checkpoint. Preserve existing user and storage identities, OIDC bindings, the encrypted keyring and WorkloadInit approval as dedicated root-readable files. Changing the bootstrap environment alone does not rotate an existing password; use Cloudly credential administration. Rollback requires a full restore.",
|
|
164
|
+
"breaking": true,
|
|
165
|
+
"requiresManualReview": true,
|
|
166
|
+
"migrationRequired": true,
|
|
167
|
+
"backupBeforeUpgrade": true,
|
|
168
|
+
"healthCheck": {
|
|
169
|
+
"path": "/status",
|
|
170
|
+
"port": 3000,
|
|
171
|
+
"expectedStatus": 200
|
|
172
|
+
}
|
|
173
|
+
}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
{
|
|
2
|
+
"image": "code.foss.global/serve.zone/cloudly@sha256:2d5380d82e75e737ecf6701d50c9c4246998fde4252c32fc211af6619ae7b634",
|
|
3
|
+
"targetPorts": [
|
|
4
|
+
{
|
|
5
|
+
"name": "web",
|
|
6
|
+
"port": 3000,
|
|
7
|
+
"protocol": "http",
|
|
8
|
+
"default": true
|
|
9
|
+
}
|
|
10
|
+
],
|
|
11
|
+
"envVars": [
|
|
12
|
+
{
|
|
13
|
+
"key": "SERVEZONE_ENVIRONMENT",
|
|
14
|
+
"value": "production",
|
|
15
|
+
"description": "Cloudly runtime environment.",
|
|
16
|
+
"required": true
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"key": "SERVEZONE_PUBLIC_ORIGIN",
|
|
20
|
+
"value": "https://${SERVICE_DOMAIN}",
|
|
21
|
+
"description": "Canonical public Cloudly origin including protocol and optional public port.",
|
|
22
|
+
"required": true
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"key": "SERVEZONE_LISTENPORT",
|
|
26
|
+
"value": "3000",
|
|
27
|
+
"description": "Internal Cloudly HTTP port inside the container.",
|
|
28
|
+
"required": true
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"key": "SERVEZONE_SSLMODE",
|
|
32
|
+
"value": "external",
|
|
33
|
+
"description": "Use external TLS termination through Onebox or dcrouter.",
|
|
34
|
+
"required": true
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"key": "SERVEZONE_SECRET_KEYRING_PATH",
|
|
38
|
+
"value": "/run/secrets/cloudly-secrets-v2-keyring.json",
|
|
39
|
+
"description": "Path to the Cloudly Secrets v2 keyring mounted by Onebox; the keyring value is never placed in the public environment.",
|
|
40
|
+
"required": true
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"key": "SERVEZONE_SECRET_KEYRING_FILE",
|
|
44
|
+
"description": "Existing Cloudly Secrets v2 keyring. Onebox stores it encrypted and mounts it only as a root-readable file; retain the existing keyring when upgrading.",
|
|
45
|
+
"required": true,
|
|
46
|
+
"secret": true,
|
|
47
|
+
"delivery": {
|
|
48
|
+
"type": "file",
|
|
49
|
+
"targetPath": "/run/secrets/cloudly-secrets-v2-keyring.json",
|
|
50
|
+
"uid": 0,
|
|
51
|
+
"gid": 0,
|
|
52
|
+
"mode": 256
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"key": "SERVEZONE_WORKLOADINIT_APPROVAL_PATH",
|
|
57
|
+
"value": "/run/secrets/cloudly-workloadinit-approval.json",
|
|
58
|
+
"description": "Private WorkloadInit release-approval artifact mounted by Onebox for Coreflow secret-runtime registration.",
|
|
59
|
+
"required": true
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"key": "SERVEZONE_WORKLOADINIT_APPROVAL_FILE",
|
|
63
|
+
"description": "Operator-approved WorkloadInit release authority. Onebox stores it encrypted and mounts it only as a root-readable file.",
|
|
64
|
+
"required": true,
|
|
65
|
+
"secret": true,
|
|
66
|
+
"delivery": {
|
|
67
|
+
"type": "file",
|
|
68
|
+
"targetPath": "/run/secrets/cloudly-workloadinit-approval.json",
|
|
69
|
+
"uid": 0,
|
|
70
|
+
"gid": 0,
|
|
71
|
+
"mode": 256
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"key": "MONGODB_URL",
|
|
76
|
+
"value": "${MONGODB_URI}",
|
|
77
|
+
"description": "Authenticated MongoDB wire-protocol URL provisioned by Onebox Corestore.",
|
|
78
|
+
"required": true
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"key": "MONGODB_NAME",
|
|
82
|
+
"value": "${MONGODB_DATABASE}",
|
|
83
|
+
"description": "MongoDB wire-protocol database name provisioned by Onebox Corestore.",
|
|
84
|
+
"required": true
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"key": "MONGODB_USER",
|
|
88
|
+
"value": "${MONGODB_USERNAME}",
|
|
89
|
+
"description": "MongoDB wire-protocol username provisioned by Onebox Corestore.",
|
|
90
|
+
"required": true
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"key": "MONGODB_PASS",
|
|
94
|
+
"value": "${MONGODB_PASSWORD}",
|
|
95
|
+
"description": "MongoDB wire-protocol password provisioned by Onebox Corestore.",
|
|
96
|
+
"required": true
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"key": "S3_ENDPOINT",
|
|
100
|
+
"value": "onebox-corestore",
|
|
101
|
+
"description": "S3 endpoint host provisioned by Onebox Corestore.",
|
|
102
|
+
"required": true
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"key": "S3_PORT",
|
|
106
|
+
"value": "9000",
|
|
107
|
+
"description": "S3 endpoint port provisioned by Onebox Corestore.",
|
|
108
|
+
"required": true
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"key": "S3_USESSL",
|
|
112
|
+
"value": "false",
|
|
113
|
+
"description": "Use plain HTTP for internal Corestore S3 traffic on the Onebox network.",
|
|
114
|
+
"required": true
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"key": "S3_BUCKET",
|
|
118
|
+
"value": "${S3_BUCKET}",
|
|
119
|
+
"description": "S3 bucket provisioned by Onebox Corestore for Cloudly's registry.",
|
|
120
|
+
"required": true
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"key": "S3_ACCESSKEY",
|
|
124
|
+
"value": "${S3_ACCESS_KEY}",
|
|
125
|
+
"description": "S3 access key provisioned by Onebox Corestore.",
|
|
126
|
+
"required": true
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"key": "S3_SECRETKEY",
|
|
130
|
+
"value": "${S3_SECRET_KEY}",
|
|
131
|
+
"description": "S3 secret key provisioned by Onebox Corestore.",
|
|
132
|
+
"required": true
|
|
133
|
+
}
|
|
134
|
+
],
|
|
135
|
+
"platformRequirements": {
|
|
136
|
+
"mongodb": true,
|
|
137
|
+
"s3": true
|
|
138
|
+
},
|
|
139
|
+
"platformOidc": {
|
|
140
|
+
"redirectPath": "/auth/oidc/callback",
|
|
141
|
+
"roles": [
|
|
142
|
+
{
|
|
143
|
+
"id": "admin",
|
|
144
|
+
"label": "Administrator",
|
|
145
|
+
"description": "Full Cloudly administration for this hosted instance."
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"id": "user",
|
|
149
|
+
"label": "User",
|
|
150
|
+
"description": "Standard authenticated Cloudly access for this hosted instance."
|
|
151
|
+
}
|
|
152
|
+
],
|
|
153
|
+
"environmentVariables": {
|
|
154
|
+
"issuerUrl": "SERVEZONE_PLATFORM_OIDC_ISSUER",
|
|
155
|
+
"clientId": "SERVEZONE_PLATFORM_OIDC_CLIENT_ID",
|
|
156
|
+
"clientSecret": "SERVEZONE_PLATFORM_OIDC_CLIENT_SECRET",
|
|
157
|
+
"redirectUri": "SERVEZONE_PLATFORM_OIDC_REDIRECT_URI",
|
|
158
|
+
"audience": "SERVEZONE_PLATFORM_OIDC_AUDIENCE"
|
|
159
|
+
},
|
|
160
|
+
"clientAuthenticationMethod": "client_secret_basic"
|
|
161
|
+
},
|
|
162
|
+
"minOneboxVersion": "8.3.3",
|
|
163
|
+
"changelog": "Move Cloudly to 25.3.0 with scoped Corestore grant bootstrap and sealed credential publication. Requires completed Secrets v2 cutover retirement and a fresh verified restorable checkpoint. Preserve existing storage identities, the encrypted keyring and WorkloadInit approval as dedicated root-readable files. Rollback requires a full restore.",
|
|
164
|
+
"breaking": true,
|
|
165
|
+
"requiresManualReview": true,
|
|
166
|
+
"migrationRequired": true,
|
|
167
|
+
"backupBeforeUpgrade": true,
|
|
168
|
+
"healthCheck": {
|
|
169
|
+
"path": "/status",
|
|
170
|
+
"port": 3000,
|
|
171
|
+
"expectedStatus": 200
|
|
172
|
+
}
|
|
173
|
+
}
|
package/appstore.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
|
-
"updatedAt": "2026-09-
|
|
3
|
+
"updatedAt": "2026-09-08T05:45:43Z",
|
|
4
4
|
"apps": [
|
|
5
5
|
{
|
|
6
6
|
"id": "nginx",
|
|
@@ -152,7 +152,7 @@
|
|
|
152
152
|
"description": "Multi-node serve.zone control plane for clusters, workload services, domains, and deployments.",
|
|
153
153
|
"category": "Dev Tools",
|
|
154
154
|
"iconName": "server",
|
|
155
|
-
"latestVersion": "1.1.
|
|
155
|
+
"latestVersion": "1.1.10",
|
|
156
156
|
"tags": ["serve.zone", "control-plane", "clusters", "deployments"]
|
|
157
157
|
},
|
|
158
158
|
{
|
package/changelog.md
CHANGED
|
@@ -1,5 +1,40 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2026-09-08 - 2.9.0
|
|
4
|
+
|
|
5
|
+
### Fixes
|
|
6
|
+
|
|
7
|
+
- update pnpm package manager to 12.2.1 (package)
|
|
8
|
+
- Updated packageManager from pnpm 12.1.0 to pnpm 12.2.1.
|
|
9
|
+
|
|
10
|
+
### Features
|
|
11
|
+
|
|
12
|
+
- publish Cloudly 1.1.10 credential authority target (cloudly)
|
|
13
|
+
- Add Cloudly app version 1.1.10 pinned to the Cloudly 26.0.1 image digest and mark it as the latest catalog version.
|
|
14
|
+
- Preserve the 1.1.9 runtime contract while adding human and node credential authority, password rotation, and generation-bound human API and registry sessions.
|
|
15
|
+
- Keep Onebox 8.3.3, manual review, migration, backup, health-check, and full-restore-only rollback gates; existing human sessions must sign in again.
|
|
16
|
+
- Regenerate bundled client data, README guidance, and resolver regression coverage for the new target.
|
|
17
|
+
|
|
18
|
+
## 2026-09-07 - 2.8.0
|
|
19
|
+
|
|
20
|
+
### Fixes
|
|
21
|
+
|
|
22
|
+
- update development tooling dependencies and pnpm version (deps)
|
|
23
|
+
- Update @git.zone/tsdoc to 2.2.0
|
|
24
|
+
- Pin @types/node to 26.4.0
|
|
25
|
+
- Update packageManager to pnpm 12.1.0
|
|
26
|
+
- update app store metadata timestamp (appstore)
|
|
27
|
+
- Set appstore.json updatedAt to 2026-09-07.
|
|
28
|
+
- Sync generated TypeScript app store data timestamp.
|
|
29
|
+
|
|
30
|
+
### Features
|
|
31
|
+
|
|
32
|
+
- publish Cloudly 1.1.9 scoped Corestore grant target (cloudly)
|
|
33
|
+
- Add Cloudly app version 1.1.9 pinned to the Cloudly 25.3.0 image digest and mark it as the latest catalog version.
|
|
34
|
+
- Preserve the 1.1.8 runtime contract while documenting scoped Corestore grant bootstrap and sealed credential publication.
|
|
35
|
+
- Keep Onebox 8.3.3, manual review, migration, backup, health-check, and full-restore-only rollback gates.
|
|
36
|
+
- Regenerate bundled client data, README guidance, and resolver regression coverage for the new target.
|
|
37
|
+
|
|
3
38
|
## 2026-09-04 - 2.7.0
|
|
4
39
|
|
|
5
40
|
### Features
|