0.45.2 (2026-05-10)
0.45.1 (2026-05-03)
- move PNPM_HOME to /usr/local/share/pnpm so non-root users can execute cloudypad (7eddc88)
0.45.0 (2026-04-26)
- auto-generate Sunshine Web UI password if none provided (6bb98cc)
- aws: add --create-vpc option to provision a dedicated VPC (c39428e)
- aws: add --create-vpc option to provision a dedicated VPC (b9b5367)
- aws: enable IPv6 for created VPC (9fe52e5)
- bump NVIDIA driver and container toolkit version (25757ad)
- bump to Proton 10 by default (1f1050b)
- log message before base image snapshot creation (19d3e4e)
- log message before base image snapshot creation (f3b61b3)
- Scaleway DNS record management (769ddb4)
- sunshine: add screenshotter (0c09a3f)
- Linode disk not being mounted on machine as per missing var in Ansible playbook (9be60f5)
- missing Lutris icon (77124d9)
- show actual instance name in destroy hint on create failure (5d48265)
- show actual instance name in destroy hint on create failure (f8d4621)
- stop logging generated sunshine password (66c1c76)
- use hostname rather than public IP for pairing to ensure Moonlight config remains stable across reboot when DNS config is used (8b639d1)
0.44.0 (2026-03-11)
- add --ansible-args-override option to create and start command (67292ab)
- add deploy/configure --ansible-args-override override (f72bc3c)
- add Linode custom labels (fbb1047)
- support data disk resize (ac05cfe)
- Lutris desktop entry name typo (84355e8)
- on start with deletedInstanceServerOnStop, if instance server was still existing, ensure it's started (9a10c78)
0.43.0 (2026-02-27)
- use a fixed NVIDIA Container Toolkit version (46bc245)
- force NVIDIA Container Toolkit version to 1.17.8-1 to avoid black screen issues with 1.18.x and Container Device Interface (86c27d6)
0.42.0 (2026-01-27)
- create base image on creation to remove root disk on stop for cost effiency (7b9cbc2)
- data disk snapshot on stop for cost reduction (only Scaleway for now) (060118d)
- flag to keep base image on destroy (e77fa79)
- temporary workaround for Ansible galaxy: use Git to download collections (0b94cdb)
- some Linode labels still exceed 50 characters (37a8bea)
0.41.0 (2025-12-10)
- disable Wolf image pull preheat to avoid unnecessary storage bloating (a3b0dfd)
- gcp: add support for G2 machine types and adjust CPU/RAM filters for gaming workloads (ca6d78f)
- gcp: add waiting messages for region/zone discovery and unit tests (b2e3c7b)
- gcp: diskType prompt early-return + add unit tests (d4ddb75)
- gcp: dynamic continent selection, dedupe by label, capitalized fallback (1444956)
- gcp: filter GCP regions by continent prefix at API level (e01c444)
- gcp: optional country labels in region list (b0c4f70)
- gcp: validate CLI enum values (diskType, networkTier, nicType) with prompt fallback + tests (83c13c7)
- ensure data disk is always attached to Linode (853ed15)
- ensure instance is started for configure, deploy and update operations (c2b0f7f)
- ensure Scaleway SSH key created before instance to avoid instance ingoring key (5f67439)
- gcp: src/providers/gcp/pulumi.ts (c67064b)
- gcp: test/unit/providers/gcp/cli.spec.ts (c67064b)
- Linode stop taking long time because of incorrect status check (d3d0420)
- reinforce check for NVIDIA installer on container setup (fb42f01)
- Sunshine container exit button used non-existing gnome-terminal (1ff51c7)
- update apt cache for linux-modules-extra install (799a8de)
0.40.0 (2025-10-10)
- add --force-pulumi-cancel to cancel Pulumi stack before action (81ddd1b)
- add Terminal and File Explorer to launcher bar (501c2bd)
- bump all versions: Sunshine / Wolf server, NVIDIA drivers, etc. (6ab48f5)
- bump all versions: Sunshine, Wolf, NVIDIA drivers, Heroic, Lutris, Proton and internal tooling (6e0560d)
- dual License AGPLv3 and possible Business oriented license (6293810)
- sunshine: add graphical text editor (gedit) (c77dfac)
- sunshine: autoheal Sunshine container if healthcheck fails (418530c)
- sunshine: autoheal Sunshine container if healthcheck fails (2997e0d)
- cloudypad.sh script not expanding UID properly on MacOS (40e17d9)
- continue instance stop with server deletion when Provider API stop fails (f295a1b)
- ensure instance is started for update (d0199c0)
- longer Linode timeout on start/Stop operation to better reflect reality (cf6f3a7)
- on stop, do delete server even if already detected as stopped to avoid inconsistent infra state (90c0488)
- Wolf does not include custom per-provider variables (6552213)
- Wolf does not include custom per-provider variables (aa52460)
0.39.0 (2025-09-23)
- Epic / GOG games launch failure on Ubuntu 24 with AppArmor bwrap profile (d72101b)
0.38.1 (2025-09-09)
- apply rate limit on instance with server deletion enabled restart (a64d1ec)
- apply rate limit on instance with server deletion enabled restart (3c0aa35)
0.38.0 (2025-09-04)
- Linode provider (experimental, internal only) (8005036)
- Linode: add Firewall config for better security (189c103)
- rate limit option to limit upload speed (limit egress charges with some providers) (bc7e411)
0.37.0 (2025-08-27)
- enable NVIDIA ForceFullCompositionPipeline by default (89ec773)
- sunshine: add Epic and GOG icons (using Heroic Games Launcher) (8f40cd1)
- sunshine: add unzip (a9462e8)
- sunshine: add unzip (075f14d)
- web browser (Firefox) desktop shortcut and Sunshine app (0965682)
- add missing L40S to known GPU names for screen res (515f97c)
- add missing L40S to known GPU names for screen res (d578d48)
0.36.0 (2025-08-14)
- list NC Azure GPU in CLI now datacenter drivers are used (ba0f57f)
- use GCP standard network tier by default to avoid overcost (859f339)
- use NVIDIA Datacenter drivers to support L40S, H100 and other GPUs (c344a4d)
0.35.0 (2025-08-11)
- sunshine: possibility to run sudo command in Cloudy Pad container (15a85a0)
- sunshine: affect half host memory as /dev/shm (as do most Linux distros) (f4c31c8)
- sunshine: do not create untrusted Steam Desktop shortcut on first launch (788744b)
- sunshine: launcher use start command instead of plain binary (eb77e1b)
- sunshine: launcher use start command instead of plain binary (f721211)
- sunshine: pass DBUS env vars to launchers (fb055da)
0.34.0 (2025-08-01)
- manual pairing process to enter PIN manually (1e0613b)
- manual pairing process to enter PIN manually (17a695d)
- sunshine: add a Simple desktop app (8790b3b)
- sunshine: default Cloudy Pad wallpaper (17d9034)
- sunshine: Heroic Games Launcher support (306d941)
- sunshine: Lutris games launcher support (7307cba)
- sunshine: persist container $HOME directory (6a60778)
0.33.0 (2025-07-29)
0.32.1 (2025-07-07)
- Sunshine API content type header (8bac93f)
- Sunshine pair API return value changed from to string or boolean (9fa6112)
0.32.0 (2025-07-07)
- bump Sunshine version (26ccd16)
- disable shader pre-caching by default (c78e8a5)
- keep user desktop kustomization (eg. keybvoard layout) on update and container deletion (14aa989)
- Pulumi retry on a locked stack to avoid unecessary errors on concurrent updates (1ce8d9f)
- retry pattern for main actions (provision, configure, start/stop/restart) (9bd3940)
- Steam Big Picture support on Sunshine (0bc8df5)
0.31.0 (2025-06-22)
- add State metadata (latest version and date used for provision … (c7b8303)
- add State metadata (latest version and date used for provision and configuration) (08a1824)
- Paperspace get instance status implementation (d8309c3)
- Scaleway client getRawServerData function (3b02920)
- update all dependencies (fd91ae5)
- update NVIDIA driver to 570.169 (268e803)
- update Wolf to latest version (c72cb68)
- Google restart did not wait for restart, eneded-up stopping instance (cc51fb2)
- handle instance status server check failure without failing over… (88eac21)
- handle instance status server check failure without failing overall status check call (3128286)
- ignored dummy instance configuration time (1a4f17d)
- NVIDIA driver download retry pattern (eb55ccf)
- Paperspace prompt for ssh key rather than auto generated key which wont worked as not configured on UI (030dae0)
- Paperspace restart wait for restarting state to avoid returning immediaely as machine is still ready right after restart request (c6f10e0)
- Paperspace stop/start/restart skip operation if already transitioning (b027013)
- Scaleway data mount failure when both OS disk and Data disk hold… (55b0396)
- Scaleway data mount failure when both OS disk and Data disk holds data (3439667)
- use plain script to move existing data back and forth on data disk mount (fa38a17)
0.30.1 (2025-06-16)
- prepare release 0.30.1 - update version in package files and scripts (547f47f)
0.30.0 (2025-06-12)
- move existing data to data disk if any when a data disk is prov… (4a5cfdc)
- move existing data to data disk if any when a data disk is provisioned on instance after initial creation (5462285)
- wait for data disk to be available (2f3336a)
0.29.0 (2025-06-10)
- add instance events in state (b0aa974)
- option to delete instance server and OS disk on stop (622f48b)
- pass configuration Ansible args via CLI --ansible-additional-args (b4ef2b1)
- pulumi client refresh() function (72f9625)
- scaleway: allow updating base image ID (0f5e074)
- do not nullify streaming server if no CLI arg is passed, use existing state if any (2a5e47e)
- ensure StateWriter always read latest state before updating (03503f4)
- Paperspece get command failed with "Not implemented" as server status not yet implemented. Warn instead with unknown status. (ba63776)
- pick up new amis automatically (e037f21)
- Wolf: instance readiness check not working (e540184)
0.28.0 (2025-05-22)
- ensure required NVIDIA driver capabilities in Sunshine container (62879a0)
0.27.1 (2025-05-20)
- ensure pulumi local file backend existence (1eafd37)
- ensure pulumi local file backend existence (7c2aaae)
0.27.0 (2025-05-15)
- allow Sunshine server name override (0463e41)
0.26.0 (2025-05-09)
- avoid multiple SSH connections causing program hang (c6df5c4)
0.25.0 (2025-04-30)
- deploy sub-command (7494ab9)
- generate private SSH key by default (ac288e9)
- generate private SSH key by default (0ba9c7a)
- autostop: reload network interfaces in case of container recreation (93765de)
- Sunshine password special characters handling (77d56e3)
0.24.0 (2025-04-19)
- dedicated data disk and automated data migration (Scaleway only, other providers support coming soon) (2b0c469)
- update Wolf streaming server version (d6d17d2)
- use local PULUMI_BACKEND_URL and PULUMI_CONFIG_PASSPHRASE env v… (f692fe5)
- use local PULUMI_BACKEND_URL and PULUMI_CONFIG_PASSPHRASE env vars if any (13c7976)
- do not list incompatible Azure instance types (900d764)
- longer timeout for AWS instance stop wait (70eb238)
- scaleway: avoid NVIDIA drivers .run install because of unwanted system driver packages (use wildcard to detect unwanted packages) (2b05a69)
- scaleway: don't add Docker repository causing conflicting keys (8383cee)
0.23.0 (2025-04-13)
- scaleway: use custom server image (e6b65ce)
- sunshine: corrected screen selection which is not always primary (8fd4a86)
0.22.0 (2025-04-07)
- auto resize desktop icon to match current screen size (268fcc0)
- autostop: detect Ansible running on host to avoid interruption while Ansible is running (0f1d78a)
- exit button shows how to exit rather than killing container (50df2a2)
- sunshine: add Help button directing to docs.cloudypad.gg (b728883)
- sunshine: start Steam on Library view by default (42e35ff)
- disable pulseaudio autostart (f38ff9b)
- nvidia-drivers: avoid breaking NVIDIA drivers on Linux kernel change (eg. with unattended upgrades) (b4759c8)
0.21.1 (2025-03-22)
- cli: missing keyboard and locale flags on some create/update commands (68d9556)
- prevent pulseaudio from quitting before over components starts (2aa5c62)
- wolf output 2 times paired successfully" on pair (46e82e1)
0.21.0 (2025-03-21)
- auto-stop: detect download activity and keep instance alive (71beae1)
- ensure controllers, gamepad and other input devices are properly detected (e181117)
- show a desktop task bar with Steam and other utils instead of plain desktop icons (320c4b9)
- cli: do not run UserConfigDetector in Container as it doesn't match host config (21fe89c)
- generate locale before updating system locale (bb7dcc1)
- prevent X server not starting because of old lock file (2c6d90c)
- show a single workspace to avoid losing access to windows (76e8624)
0.20.0 (2025-03-19)
- adapt resolution while keeping aspect ratio on NVIDIA Tesla GPU maxed at 2560x1600 (86fd37a)
- auto-detect locale and keyboard layout (7717ea5)
- Scaleway prompt wrongly stating disk is OS-only (ca0d6c3)
- auto-stop: timeout parameter was ignored and default (15 min) always used (08bd5c8)
0.19.0 (2025-03-11)
- check Scaleway local config (7b11994)
- dummy: dummy instance are considered stopped by default (6397608)
- dummy: dummy instance are considered stopped by default (90f6dd0)
- dummy: emulate start/stop time for dummy provider (f51a663)
- Scaleway provider support (64e1dd8)
- screen name not properly detected on Sunshine session startup screen resolution setting (a7b86f9)
0.18.0 (2025-03-01)
- autostop: added inactivity detection with automatic machine shutdown (12931a4)
- core: generic Provider registration mechanism (9741af4)
- dummy provider implementation (7cc0aef)
- provide pseudo-IPv6 for Mac/Apple devices pairing (bcfc488)
- sunshine: add desktop shortcut for mouse, keyboard and display settings (fe56524)
- ensure install.sh compatibility for sh, bash and zsh (a5f9125)
- ensure install.sh compatibility for sh, bash and zsh (7f60f3f)
- pass CLOUDYPAD_LOG_LEVEL to container program (9ace2ce)
- Sunshine playbook not cleaning Paperspace apt sources file (e21ecac)
- sunshine: remove _<FPS> suffix in mode name to avoid duplicated mode config (2fa1286)
0.17.0 (2025-02-16)
- Steam: enable Proton 9 compatibility by default (68c2724)
- Steam: enable Proton 9 compatibility by default (3606c9b)
0.16.0 (2025-02-14)
- auto detect NVIDIA PCI bus ID (02aab20)
- automatically resize screen for Sunshine (17f9796)
- bump Wolf and related images to latest stable (d224126)
- enforce no Sunshine support GCP with P4 (79fb308)
- security: enforce Sunshine encryption (b581c1c)
- security: enforce Sunshine encryption (f33b8ba)
- AWS instance type listing failure causing crash (3e1f203)
- SSH error showing [object] in logs (f1abe26)
0.15.0 (2025-02-11)
- add direct pairSendPin() method (aeb07e8)
- add getInstanceDetails() manager method (9347075)
- allow override of Sunshine image version (tag) and registry (7b6c6cb)
- get instance status (running, stopped...) via InstanceManager (8ba1a3d)
- lib: instance name function and ssh config with details (e149d77)
- sunshine: setup minimal xfce4 environment (4d5d595)
- sunshine: Steam and exit desktop apps (d4fa6d5)
- sunshine: Steam App in Sunshine (467f9aa)
- gcp: non-spot instanceTerminationAction is not allowed (2417703)
- passing "no/False" to spot args should not prompt (d3b63dc)
0.14.0 (2025-02-02)
- allow Azure disk type selection (HDD, SSD or Premium SSD) (f21ccae)
- better error handling (0b28b96)
- Sunshine deployment with Docker container and Ansible (40d626a)
- support Sunshine streaming server ☀️ (f3127aa)
- use Azure StandardSSD_LRS by default (better performance) (3248637)
- gcp start/stop/restart potentially using wrong instance name (9179c86)
0.13.0 (2025-01-16)
- check and warn about AWS quota on create (9e0591a)
- check and warn about Azure quota on create (7bd0590)
- clear prompt to inform about GPU and quota increase need (9bf67dc)
- setup cost alerts for AWS on create/update (7da54fb)
- setup cost alerts for Azure on create/update (4e7b785)
- setup cost alerts for Google Cloud Platform (GCP) on create/update (12f0982)
0.12.0 (2025-01-07)
- prettier Pulumi outputs with colors and without unnecessary newlines (abcf356)
- typo in install script shebang (85c76c5)
0.11.0 (2025-01-05)
- cloudypad create --skip-pairing option (139382b)
- default to auto-pairing after create (c394325)
- global CLI config persisted on disk (9dbe35b)
- paperspace: implement start/stop/restart --wait flag (e9667ed)
- listing empty instances directory should not cause error (90da7be)
- more robust logic to identify GCC version used to compile kernel (7ae9e50)
- paperspace: broken Paperspace apt repo GPG key (dad83cb)
- paperspace: do not create another instance on provision if one already exists (352c643)
0.10.0 (2025-01-02)
- add 'cloudypad update' command to update some instance configurations (eg. disk size or instance type) (cbd2f4e)
- cloudypad start/stop/restart --wait and --timeout flags (17d93a6)
- destroy command --yes flag for auto approval (c202e67)
- Azure instance with dynamic IP creation failure (6e6cc2f)
- prompt for existing instance as soon as instance name is known (81137aa)
0.9.0 (2024-12-27)
- change interface and underlying state format (c4688d8)
- ensure instance name is kebab case on creation (f9ad37c)
- faster initial startup by pulling known container images on configuration (98428e2)
- license: switch from GPL to AGPL (82cef52)
- more reproduciblity and stability by locking Wolf apps container images (070a24e)
- template Wolf config with known apps and instance name (ec48e72)
- use Spot instance by default (a87c98d)
- use Spot instance by default (307fd73)
- Zod schema validation for persisted state (61c01fd)
- install Pulumi ARM64 instead of X64 variant for ARM64 container … (ca8e753)
- install Pulumi ARM64 instead of X64 variant for ARM64 container image (e0f25af)
- install: use bash, fix missing existing install variable and check Docker installation (4c74516)
0.8.0 (2024-11-30)
- bump driver version and more flexible install method (ea8a1bf)
- doc: rewrote doc as mdbook (c97de91)
- more automated Moonlight pairing (6f8029e)
- Azure start should use start() and not restart() function (7fc38aa)
- fixed Cloud image to avoid reproducibility issues (0cca532)
- post reboot delay to avoid too-early continue (a257d28)
- prompt error on missing AWS region in user's config (4e1eaab)
0.7.0 (2024-09-15)
- detect missing Docker on install (1c68dc1)
- log level environment variable CLOUDYPAD_LOG_LEVEL (59699fb)
- more explicit pricing examples - show GPU/CPU/RAM, Spot usage and use closer to reality setups (3b7bace)
- option to use AWS Spot instances (532d1b7)
- option to use Azure Spot instances (63847cc)
- option to use Google Cloud Spot instances (94480f1)
- install.sh: read from /dev/tty to ensure piped script content works as expected (3e25fae)
- install.sh: use sh instead of bash to install in user default shell (571c6f5)
- provision() optional argument (8a25c71)
0.6.0 (2024-09-07)
- upgrade Wolf to latest stable version (fabfaba)
- ensure NVIDIA driver install reproducibility (b1ae764)
0.5.0 (2024-08-09)
- noop generic create command (e58594b)
- properly expand parameters in script (5431456)
- properly pass PAPERSPACE_API_KEY env var to internal container (06b1dc9)
0.4.0 (2024-08-04)
- cloudypad list output format (json, plain) (61800c6)
0.3.0 (2024-08-04)
- delete Paperspace static public IP on destroy (f2f51b9)
- don't show empty "source" prompt if no startup file found on install (a76296b)
- Paperspace API key not passed in state properly (95c8308)
0.2.0 (2024-08-02)
- --overwrite-existing flag on instance creation (eee5e32)
- allow installation of specific branch or commit (be65d24)
- auto-approve flag for creation (fa66d80)
- cloudypad create <provider> subcommand (6deb856)
- ignore host key checking on initial creation (acb981a)
- pass-through AWS env variables (5f94dbe)