ここでカバーする最新パッチ:v4.0.1(2026-05-30 リリース)。
要件
- Node.js 20.0.0 以降(v3 は Node 18 をサポートしていました)
破壊的変更の概要
| v3.x | v4.x |
|---|---|
client.users.* | client.user.* |
app.backup / app.backups | app.snapshots |
Backup エクスポート | Snapshot エクスポート |
app.deploys.list() はフラットな Deployment[] を返す | Deployment[][] を返す(以前の形式は .flat() を呼ぶ) |
Deployment.id は `git-${string}` 形式 | 単なるコミットの SHA-1(40 桁の 16 進数) |
app.network.dns() は配列を返す | { ownership, ssl } を返す |
app.network.analytics() は引数を取らない | { start, end }(ISO 文字列または Date)が必要 |
app.network.purgeCache(paths?) | purgeCache() — 引数は v4.0.1 で削除され、常にキャッシュ全体をパージする |
app.custom === undefined | app.custom === null |
workspace.members / .applications はデータ配列を保持 | workspace.memberList / .applicationList にリネーム。元の名前は現在モジュールになっている |
app.commit(file, name, restart) | app.commit(file, name) — 第 3 引数は削除 |
app.files.create(content, fullPath) | app.files.create(content, fileName, path) |
リネーム
client.users → client.user
api.users は api.user へプロキシする非推奨のゲッターとして引き続きエクスポートされますが、実行時に警告を出力します。
Backups → Snapshots
Backup エクスポートは現在、Snapshot の非推奨エイリアスです。
Application
Application.custom
カスタムドメインがバインドされていない場合、app.custom は現在 null になりました(v3 では undefined でした)。
app.commit(file, fileName, restart)
第 3 引数の restart は削除されました。commit 後は手動で再起動してください。
app.files.create(content, path)
シグネチャは現在 create(content, fileName, path = "/") です。移行方法:
Deploys
app.deploys.list() の形式
Deployment.id
`git-…` 形式の文字列ではなく、単なるコミットの SHA-1(40 桁の 16 進数)になりました。
Network
app.network.dns()
app.network.analytics()
app.network.purgeCache()
Workspaces
v4 の新機能
上記のリネームやシグネチャ変更に加えて、v4 では大幅な機能セットが追加されています。- Databases — 完全なライフサイクル、認証情報、snapshot、メトリクス(Databases)
- Workspaces — 招待コードとロールによるチームコラボレーション(Workspaces)
- 環境変数 — list / set / replace / delete(環境変数)
- アプリケーションメトリクス — 24 時間分の CPU/RAM/ネットワークサンプル(アプリケーションの管理)
- リアルタイム SSE ストリーム —
app.realtime()(Realtime) - エッジ分析 — analytics、errors、logs、latency のパーセンタイル(Network)
- GitHub App 連携 —
app.deploys.linkGithubApp({ ... })(Deploys) - snapshot の復元 —
app.snapshots.restore({ snapshotId, versionId })とdb.snapshots.restore(snapshotId, versionId) - status-all エンドポイント —
api.applications.statusAll()、api.databases.statusAll() - サービスステータス —
api.service.status() - ユーザースコープの snapshot —
api.user.snapshots(scope) - 新しい User フィールド —
User.locale、User.createdAt、User.databases - 新しい BaseApplication フィールド —
domain、custom、createdAt SquareCloudAPIError.code—switchベースのエラーハンドリング用に公開

