All notable changes to this project will be documented in this file.
- Database version picker now offers the major version keys documented by the API (PostgreSQL 17, MySQL 9, MongoDB 8, Redis 7) instead of full point releases.
Migration to @squarecloud/api v5 plus a smoother upload flow and smarter rate-limit handling.
- Upload: workspace folder picker — open workspace folders are offered first when uploading a new application; "Browse..." still opens the OS dialog for any other folder.
- Upload: post-upload actions — the success toast now shows the detected runtime (language + version) and offers Open dashboard and Copy ID buttons.
- Upload: client-side size guard — zips over 100 MB fail fast with a hint to extend
squarecloud.ignore, before any bytes are uploaded. - Realtime: automatic reconnection — when the server-side connection TTL closes the stream, the extension reconnects after a short backoff (with a
[Reconnecting...]marker) instead of silently ending. Stopping the stream yourself never reconnects. - Realtime: robust error handling — HTTP refusals from the stream endpoint (connection limit reached, deleted app) now surface a localized message and stop cleanly; streams that die immediately are treated as refusals instead of being reconnected in a loop.
- Database creation: version picker — the free-text version prompt was replaced with a QuickPick of versions currently accepted per engine (PostgreSQL 17, MySQL 9, MongoDB 8, Redis 7), plus an Other version... escape hatch so the command keeps working when the platform rotates versions.
- Database creation: copy password — alongside the connection URL (still copied automatically), a Copy password button is offered, since credentials are shown only once at creation.
- Localised messages for the standardized error codes — plan limits (applications/members/workspaces/load balancers), insufficient memory, upload aborted/too large, domain validation, metrics support, realtime connection cap, snapshot processing/restore in progress, and cluster maintenance — in all three languages.
- Migrated to
@squarecloud/apiv5 (^4.0.1→^5.0.0). - Unknown error codes now fall back through the SDK's canonical alias table before showing the generic message, so legacy code names still map to friendly messages during the API's naming transition.
- Background status refreshes rejected with a rate limit are retried once after a 10s backoff instead of waiting for the next poll cycle.
- Post-action toasts (upload, delete, database created, certificate downloaded) share a single locale-safe action-button helper instead of per-command boilerplate.
- README rewritten: full feature walkthroughs (upload vs commit, ignore-rule resolution, realtime limits, snapshot quotas, one-time database credentials), command reference with IDs, rate-limit behaviour, security notes and an expanded troubleshooting section.
@squarecloud/api→ 5.0.0.typescript6.0.3 → 7.0.2.@biomejs/biome→ 2.5.3 (config migrated to the newpresetfield; staticresources/assets excluded from linting).@types/node→ 26.1.1,@vscode/vsce→ 3.9.2,ovsx→ 1.0.2,concurrently→ 10.0.3,esbuild→ 0.28.1,ignore→ 7.0.6.@types/vscodeintentionally kept at 1.120 to matchengines.vscode— bumping it would raise the minimum supported VSCode version.
- Resolved 6 duplicate translation keys (
workspace.createdanddatabase.createdeach existed twice in every locale — the toast string was silently overwriting the column label). Renamed the labels toworkspace.createdAt/database.createdAt. - Tidied 2 lint warnings flagged by Biome: optional chain in
MAINfile existence check, unused parameter property inConfigFileManagerconstructor.
Major release: migrated to @squarecloud/api v4 and added first-class support for workspaces, databases, environment variables, realtime streaming, GitHub App linkage, edge analytics, and one-click application upload. The internal architecture was overhauled to a Disposable-based composition root with selective store subscriptions, focus-aware polling, and SDK-error-code-aware toasts.
- Workspaces view — create, delete, leave, generate invite codes; inline member and shared-app rendering.
- Databases view — create/start/stop/delete managed databases (MongoDB, MySQL, Redis, Postgres); TLS bundle download split into
.pem,.crtand.key. - Application: Upload — create a brand new app from any folder, with client-side
squarecloud.app/squarecloud.configvalidation and cancellable progress. - Application: Environment variables — full CRUD over
application.envsvia QuickPick. - Application: 24h metrics — CPU/RAM/network time series rendered in a per-app output channel.
- Application: Realtime stream — Server-Sent Events consumed into an output channel; toggle on/off.
- Application: Snapshot restore — sorted-newest-first QuickPick over
application.snapshots.list()with confirmation. - Application: GitHub App link/unlink — repository + branch picker.
- Application: Edge analytics — errors, edge logs, performance, and selective/full cache purge (website apps only).
- Service status — palette command + status bar warning when Square Cloud reports degraded health.
- Status bar item — at-a-glance API key state, online/total apps, and service health; click to refresh.
- Config file IntelliSense —
RUNTIMEfield — autocomplete + validation against the 15 official aliases, plus quick-fix lightbulbs.
- Migrated to
@squarecloud/apiv4 with parallelised refresh (Promise.allSettled) and shared client instance keyed by API key. - API key storage moved to VSCode
SecretStorage(OS keychain); legacyauth.jsonis migrated on first run and deleted. - Polling now pauses while the editor is unfocused and resumes on focus, with refresh coalescing.
- Tree views switched to selective store subscriptions (per slice) instead of a blanket
refreshAll. - Commands wrapped to centralise error logging and map
SquareCloudAPIError.codeto localised toasts; removed boilerplatepausedgate from every command. start/stop/restartconsolidated into a single parameterised builder.- Network analytics commands (errors/logs/performance) consolidated into a shared builder.
- Background auto-refresh polling interval raised from 30s to 60s to reduce API pressure for idle sessions.
setTimeout(refreshStatus, 7000)magic numbers replaced byAPIManager.scheduleStatusRefresh()with timer tracking + cleanup on dispose.activationEventsreduced from"*"toworkspaceContainsonly — VSCode auto-generates view/language activations.- Config file:
STARTlength limit raised to 256,SUBDOMAINto 63,MAINbecomes optional whenSTARTis set. - Locale comparisons replaced with tagged
MessageItem.idacross all confirmation dialogs. - Output channels centralised via
getOutputChannel(bag, key, name)and disposed with the extension. - Status updates now produce new
Collection/Setreferences so selective subscribers actually fire. engines.vscodebumped to^1.120.0.packageManagerpinned topnpm@11.5.0.
- Snapshot restore now lists every snapshot (extracted
snapshotId/versionIdfrom the signed URL — previous code stripped them all as "invalid"). - Database certificate download no longer hangs on "Downloading..." after the file is written (toast moved outside
withProgress). - Application delete no longer leaves the progress notification spinning waiting for the success toast.
- Realtime SSE sessions are aborted on extension teardown; no more dead
Disposableentries piling up incontext.subscriptionson repeated start/stop. - Phantom
disposeAllRealtimeSessionscommand removed from the VSCode registry (utility was registered as a command by the barrel scan). setStatusandtoggleFavoriteno longer mutate state in place — fixes tree views not refreshing on status updates.- TypeScript IntelliSense for
node:protocol imports restored via explicittypes: ["node", "vscode"]after TypeScript 6's default change.
@squarecloud/api3.8.0 → 4.0.1.adm-zipremoved in favour ofjszip(dropped the local patch).xdg-app-pathsremoved — replaced with VSCodeSecretStorage.mocha,@types/mocha,@vscode/test-electronremoved (no test suite shipped).typescript→ 6.0.3,@biomejs/biome→ 2.4.16,@types/node→ 25.9.1,@types/vscode→ 1.120.0,concurrently→ 10,ovsx→ 1.pnpmbumped to 11.5.0 withminimumReleaseAgeExclude: ["@squarecloud/api"]policy.
TODO.md(backlog superseded by this release).contributes.disabled.json(graveyard, never loaded by VSCode).- Dead translation keys across all locales (
createConfig.*,statusBarItem.*,setWorkspaceApp.*,uploadWorkspace.*,commitWorkspace.*,commit.error,view.noApiKey, and others — 57 keys total). - Unused utilities:
compareSets,Constant,capitalize(inlined in its single caller).
CONTRIBUTING.mdwith setup, development, lint, build, and contribution guidelines.- Locale helper for extension links (
pt-br,en,es).
- Added João Otávio Stivi as a contributor.
- Updated CI workflow to use
actions/checkout@v6andactions/setup-node@v6. - Moved
enable-pre-post-scriptsconfig from.npmrctopnpm-workspace.yaml. - Updated
CHANGELOG.mdwith all missing version entries. - Updated API key guidance link to
https://squarecloud.app/{locale}/account/security. - Added paywall messaging in Applications view with pricing link (
https://squarecloud.app/{locale}/pricing). - Improved paywall UX in Applications view with clearer copy and CTA labels.
- Stopped automatic status polling while paywall/no-apps state is active.
- Replaced deprecated
SquareCloudAPI.usersusage withSquareCloudAPI.user. - Removed temporary API key validation debug logs.
- Fixed extension crash when an account has no plan and/or no applications (
No Apps). - Fixed Applications tree empty state by differentiating loading from loaded-without-apps.
- Updated key dependencies and tooling, including
typescript,esbuild,@biomejs/biome,@types/node,@types/vscode, and@vscode/vsce.
- API key storage migrated away from SecretStorage for improved compatibility.
- Simplified API key retrieval logic.
- Updated dependencies.
- API key now stored using system-standard paths via
xdg-app-paths, replacing keyring. - Updated dependencies.
- API key storage migrated to system keyring for improved security.
- Internal refactoring of API key and constant handling.
- Extension now published to the Open VSX Registry.
- Backups renamed to snapshots.
- Crashes and loading issues.
- Fix committing folders.
- Improved README examples.
- Renamed extension.
- Fix configuration file for Windows users.
- Improved MAIN and VERSION parameter handling in the configuration file.
- Updated extension icon and README.
- Updated extension name.
- Configuration file syntax highlighting & auto completion.
- Update dependencies.
- Fix restarting the application after a commit.
- Fix application commit.
- Fix application backup.
- Duplication of logs output channels.
- Improve RAM formatting.
- Now you can choose wheter you want to restart your application after the commit or not.
- Readded user information view
- Everything is more polished, ensuring performance and stability.
- Now statuses come from status all API endpoint.
- API key is now stored in VSCode Secrets for your safety.
- More reliable and fast state and cache management.
- Applications names not showing.
- Application description error at startup.
- Unstable API key handling.
- Applications
- Upload
- General
- User information view
- Bots & Sites management views
- Create configuration file
- Applications
- Start
- Stop
- Restart
- Delete
- Commit
- Logs
- Statusd