メインコンテンツへスキップ

要件

v4 から変更なし: Node.js 20.0.0 以降、ESM と CJS の両方に対応。

破壊的変更の概要

v4.xv5.x
client.users.*(非推奨プロキシ)削除。client.user.* を使用してください
app.backup / app.backups削除。app.snapshots を使用してください
Backup エクスポート削除。Snapshot / DatabaseSnapshot を使用してください
api.applications.create(file){ id, name, lang, ram } を返す{ id, name, ram, cpu, language, description?, subdomain? } を返す
app.network.dns(){ ownership, ssl } を返すDNS レコードの配列を返す

client.users の削除

v3 から v4 への移行とは異なり、今回は非推奨のプロキシは用意されていません。client.users はもう存在せず、呼び出すと例外がスローされます。
// v4
await api.users.get();

// v5
await api.user.get();

Backups の削除

app.backupapp.backups は、Backup エクスポートとともに削除されました。アプリケーションとデータベースの両方で、snapshot だけがサポートされる方法です。
// v4
await app.backups.create();
await app.backup.list();

// v5
await app.snapshots.create();
await app.snapshots.list();
アプリケーションの snapshot には Snapshot クラスを、データベースの snapshot には DatabaseSnapshot クラスを使用してください。

api.applications.create(file) の戻り値の形式

作成されたアプリケーションは、フラットな lang/ram のペアの代わりに、より詳細な言語情報とリソース情報を返すようになりました。
// v4
const { id, name, lang, ram } = await api.applications.create(file);

// v5
const { id, name, ram, cpu, language, description, subdomain } =
    await api.applications.create(file);

// language は現在オブジェクトです。例: { name: "javascript", version: "22" }
// cpu は割り当てられた CPU シェア(number)です
// description と subdomain は squarecloud.config で設定した場合のみ存在します

app.network.dns() の形式

dns() は、単一の { ownership, ssl } オブジェクトの代わりに、DNS レコードの配列を返すようになりました。
// v4
const { ownership, ssl } = await app.network.dns();

// v5
const records = await app.network.dns();
// [{ type: "txt", name, value, status }, { type: "cname", name, value: "cname.squareweb.app", status }]
txt レコードは所有権と SSL 検証の両方をカバーし、cname レコードがトラフィックのレコードです。status は検証状態(pendingpending_validationactive など)を表します。

その他の変更

  • ApplicationLanguageruby が追加されました。javascript、typescript、python、java、elixir、go、rust、php、dotnet、static に加わります。
  • エラーコードが標準化されました。新しい名前は APIErrorCode を通じてエクスポートされ、旧名は非推奨の型エイリアスとして引き続き利用できます。リネームの全表は エラーコード を参照してください。