Vai al contenuto principale

Requisiti

Invariati rispetto alla v4: Node.js 20.0.0 o più recente, sia ESM che CJS.

Riepilogo dei breaking change

v4.xv5.x
client.users.* (proxy deprecato)Rimosso. Usa client.user.*
app.backup / app.backupsRimosso. Usa app.snapshots
Export BackupRimosso. Usa Snapshot / DatabaseSnapshot
api.applications.create(file) restituisce { id, name, lang, ram }Restituisce { id, name, ram, cpu, language, description?, subdomain? }
app.network.dns() restituisce { ownership, ssl }Restituisce un array di record DNS

client.users rimosso

A differenza della migrazione da v3 a v4, questa volta non c’è alcun proxy deprecato. client.users non esiste più, chiamarlo solleva un’eccezione.
// v4
await api.users.get();

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

Backup rimossi

app.backup e app.backups sono stati rimossi, insieme all’export Backup. Gli snapshot sono l’unico percorso supportato sia per le applicazioni che per i database.
// v4
await app.backups.create();
await app.backup.list();

// v5
await app.snapshots.create();
await app.snapshots.list();
Usa la classe Snapshot per gli snapshot delle applicazioni e DatabaseSnapshot per gli snapshot dei database.

Forma del ritorno di api.applications.create(file)

L’applicazione creata ora restituisce dati più ricchi su linguaggio e risorse invece della coppia piatta 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 is now an object, e.g. { name: "javascript", version: "22" }
// cpu is the allocated CPU shares (number)
// description and subdomain are only present when set in squarecloud.config

Forma di app.network.dns()

dns() ora restituisce un array di record DNS invece di un singolo oggetto { ownership, ssl }.
// 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 }]
I record txt coprono sia la proprietà del dominio sia la validazione SSL; il record cname è quello del traffico. status riflette lo stato di validazione (pending, pending_validation, active e così via).

Altri cambiamenti

  • ApplicationLanguage ora include ruby, oltre a javascript, typescript, python, java, elixir, go, rust, php, dotnet e static.
  • I codici di errore sono stati standardizzati. I nuovi nomi sono esportati tramite APIErrorCode; i vecchi nomi restano disponibili come alias di tipo deprecati. Consulta codici di errore per la tabella completa delle rinomine.