2026 Releases
Releases marked with "Please update" include important client-side changes — update by running the Windows installer or the Linux/Mac installation scripts.
v0.59.1 (2026-06-05)
Minor release, no update necessary.
Rift Server
- Add admin-only
billing_exemptflag on reservations. When set, the prepayment debit at/api/v1/reservations/createand the extension debit at/api/v1/reservations/updateare skipped, and the balance check is bypassed (so an exempt reservation can be created or extended from a zero or negative account balance). Independent of the pre-existing on-demand VM rentalbilling_exempt(v0.57.2) — the reservation flag controls prepaid-window debits, the rental flag controls on-demand charges that resume after the reservation ends. For example, an exempt reservation on a non-exempt VM rental gives a free prepaid window and then pay-as-you-go after expiry. /api/v1/reservations/listresponse now includesbilling_exempton each reservation./api/v1/instances/rentnow accepts twobilling_exemptflags: one inRentInstanceRequestfor on-demand billing (since v0.57.2), another inside the optionalReservationParametersfor the reservation (new). Endpoint protocol version bumps to v059 (non-breaking — old requests continue to work).- Add
NodeSelector::ByNodeWithResourcesfor renting custom off-catalog instances (arbitrary vCPU/RAM/disk/GPU) on a specific node. Gated behind the globalallow_custom_instancesfeature flag (default off); available to all users when enabled. - Price custom configs by splitting the node's full-node price across the requested resources by per-dimension weights derived from hardcoded commodity reference rates (non-GPU dimensions priced at the rates; GPUs floored at a minimum share). The derived weights are exposed in a separate
custom_pricingstruct on each node's instance in/api/v1/nodes/listso clients can price a custom shape locally. - Support reservations on custom instances via a new
ResourceReservation(raw-resource) reservation subtype, priced from the custom rate and discounted through the existing reservation/billing machinery. Custom reservations are returned by/api/v1/reservations/list(variant-less, carrying aresourcesblock) and are reusable like catalog reservations. - Expose
disk_availableon node utilization info. - Add
/api/v1/instance-presets/listand/api/v1/instance-presets/deletefor managing reusable custom-instance resource shapes (per-user). Presets are captured automatically when a custom config is rented and deduped by value (no name, no separate create endpoint); they never reach the rent path.
v0.59.0 (2026-05-27)
Please update clients.
Rift Server
- [BREAKING] Rentals that fail before reaching Active now end up in a new
Failedstatus with a structured failure reason (cause + safe-to-show message + stable failure id for support follow-up). Causes cover the common user-fixable cases (bad Docker image, broken container command, VM boot failure) plus a generic platform-error fallback. TheFailedstatus is returned from/api/v1/instances/list. - Terminating a
Failedrental dismisses it (the status moves toInactiveand it disappears from the default listing). Resources were already released when the failure was recorded. - Fix a running VM unexpectedly losing its forwarded ports (SSH and other tunnels) after the host it runs on is restarted for maintenance.
- Fix reservation creation and extension wrongly rejecting counts that have sufficient credit headroom.
- A node undergoing CPU-allocation migration may briefly reject new rentals with HTTP 503 (
NodeAllocationModeMixed) until it finishes draining; retry shortly or choose another node.
Rift CLI
rift instance listnow shows the failure reason under any rental that didn't start successfully.
v0.58.1 (2026-05-21)
Minor release, no update necessary.
Rift Server
- Defer billing for VM rentals until the VM signals readiness. Billing-exempt VMs activate immediately as before.
- Deactivate VM rentals whose readiness signal does not arrive within
vm_readiness_timeout(configurable viaAppSettings.vm_readiness_timeout). - Optimize
POST /api/v1/instance-types/listto batch DB queries, reducing response time. - Fix a billing issue that could cause a rental with a reservation to be charged twice for the same period.
- Fix missing reservation prepayment when a reserved VM is terminated or expires before its first usage-tracker tick.
- Fix billing-exempt volumes being deleted when account balance reaches zero. (The same issue for instances was fixed in v0.57.2 but not documented in the changelog.)
- Fix Pinned VM placement gate accepting strict-bound NUMA-pinned VMs that QEMU later rejected with
unable to map backing store for guest RAM: Cannot allocate memory. Hugepage accounting now attributes a Legacy VM's full DRAM to every host node with hugepages reserved — pessimistic but correct — eliminating the false-accept that crashed co-resident strict-bound Pinned VMs at QEMU mmap time.
Rift Desktop
- Fix Pinned VMs hanging in OVMF firmware (
Guest has not initialized the display (yet), all vCPUs parked inkvm_vcpu_block) when the VM has only one guest NUMA cell or all passthrough GPUs land on a single cell. Thepxb-pciepath now requires GPUs to actually span more than one cell; single-cell and all-GPUs-on-one-cell VMs fall back to the legacy flat layout so the GPU's BAR is allocated under<pcihole64>and large BARs (e.g. H200/B200 256 GiB BAR2) can fit. - Retry webhook notification when a VM's SSH becomes available, improving reliability of VM-ready detection.
v0.58.0 (2026-05-15)
Please update clients.
Rift Server
- Smarter NUMA-aware GPU placement for Pinned VMs, with more reliable multi-GPU launches on multi-NUMA hosts.
- Better vCPU and memory placement across GPU-local NUMA nodes.
- Prevent active VMs from causing overcommit in hugepage placement checks.
- Clearer errors when hugepage or NUMA capacity is insufficient.
Rift Desktop
- Pinned VMs now expose real per-GPU NUMA affinity inside the guest. Tools like
nvidia-smi topo -m, NCCL, CUDA placement helpers, and/sys/bus/pci/devices/*/numa_nodecan now report correct topology. - Keep the legacy flat PCIe layout where required, such as consumer GPUs or hosts with incomplete NUMA metadata.
v0.57.3 (2026-04-30)
Minor release. We recommend updating the CLI as it had a 2FA authentication bug.
Rift Server
- Add
POST /api/v1/instances/pauseandPOST /api/v1/instances/resumeendpoints. Pausing freezes vCPU execution; resources stay allocated and billing continues. - Add
POST /api/v1/nodes/set_marketplace_listingto hide/show a node on the marketplace. Rejects draining nodes with 400.
Rift Desktop
- Fix
sriov-manageand other PCI driver tools failing with "No such device" on GPUs that were previously passed through to a VM. Unbinding a device now clears itsdriver_override, so the kernel no longer pins the device to vfio-pci after the VM is torn down. - Fix VM creation failing with "Unable to find any usable hugetlbfs mount for 1048576 KiB" when the host has multiple hugetlbfs mounts. The provider now selects the mount whose pagesize matches 1G instead of returning the first hugetlbfs entry in
/proc/mounts.
Rift CLI
- Add
rift virt pause <id_or_name>andrift virt resume <id_or_name>subcommands. - Fix error decoding response body when signing in as a user with TOTP 2FA enabled. The CLI now detects the TOTP challenge response from
/auth/login, prompts for the 6-digit code, and exchanges the partial token for a full JWT via/auth/totp/complete. - Cache the JWT after a successful login so subsequent commands don't re-prompt for a 2FA code on every invocation. The cached token is reused until it expires (server-issued lifetime: 30 days), at which point the CLI silently falls back to a fresh email+password (+TOTP) login. Env-var auth (
CLOUDRIFT_USER/CLOUDRIFT_PASSWORD) keeps current behavior and is unaffected.
v0.57.2 (2026-04-24)
Minor release, no update necessary.
Rift Server
- Add admin-only
POST /api/v1/users/deletefor user erasure. Pre-flight refuses with 409 on provider roots, node owners, or users with active executors. Supportsdry_run=true. Hard-deletes credentials and PII-bearing records; anonymizes the user link on retained fraud, payout transaction, and team records so the financial/audit trail survives. - Add
POST /api/v1/nodes/deleteendpoint for admins to permanently delete nodes. - Track usage time on billing-exempt rentals so the UI can display runtime for exempt instances and volumes. No transactions are created and balances are still untouched — only the tracker's
usagefield is advanced by the periodic billing job. - Add time-range filtering (
from/to) toPOST /api/v2/account/transactions/listendpoint. Defaults to last 30 days.
v0.57.1 (2026-04-10)
Minor release, no update necessary.
Rift Server
- Add human-readable instance names (e.g.
abaft-yak-4159) to instances. Names are auto-generated on rent if not provided via thenamefield in the rent request. Exposed in instance list responses asinstance_nameand in usage transactions asresource_name. - Add
resource_type(ComputeorVolume) andresource_namefields to usage transactions inPOST /api/v1/account/transactions/listandPOST /api/v2/account/transactions/list. - Make
gatewayoptional inPOST /api/v1/network/addrequest. Networks can now be created without specifying a gateway IP. - Add
billing_exemptflag for admin users to rent instances and create volumes without charges. Intended for internal testing of rentals. When enabled, no use transactions are created for the renter and no payouts are generated for the provider.
Rift CLI
- Add
--billing-exemptflag torift instances rentcommand for admin users.
v0.57.0 (2026-04-01)
Please update clients.
Rift Server
- Extend
POST /api/v1/auth/mewithid,provider,totp_enabledfields. - Add
created_at,ssh_key_auth, anduser_idfields to instance list response. - Team search with empty query returns most recently created teams.
- [BREAKING] Remove the
patfield from/api/v1/auth/loginand/api/v1/auth/totp/completeresponses. Clients now receive only the JWT token and should not expect a PAT after login. - [BREAKING] New users are no longer created with a personal access token automatically, so password login no longer provisions a reusable PAT for fresh accounts.
- Add
team_namefield toPOST /api/v1/network/listresponse. - Add
mig_gpu_maskfield toPOST /api/v1/nodes/listresponse.
v0.56.1 (2026-03-25)
Minor release, no update necessary.
Rift Server
- Extend node list responses with proxy connection details (
proxy_user,proxy_port) alongside existing SSH connection info.
Rift CLI
- Utilize new proxy connection details in
rift node sshto construct SSH connection strings.
v0.56.0 (2026-03-23)
Please update clients.
Rift Server
- Remove
node_modefield from reservation list response. Instance mode is only relevant for active executors, not reservations. - Add team invite by email: when adding a member by email who doesn't have an account, an invite is created and an email notification is sent. The user is automatically added to the team upon registration.
- [BREAKING]
PUT /api/v1/teams/{team_id}/members/addrequest version bumped to v056; response is now wrapped in{"Member": ...}(existing user added) or{"Invite": ...}(invite created for non-existent user). Old clients will receive an error indicating the new response format. - [BREAKING]
POST /api/v1/teams/{team_id}/members/removerequest changed to use selector:{"selector": {"ById": "uuid"}}(remove member) or{"selector": {"ByEmail": "email"}}(cancel invite). Returns 204 No Content. - [BREAKING]
PUT /api/v1/teams/{team_id}/members/updaterequest changed to use selector:{"selector": {"ById": "uuid"}, "role": "..."}(update member role) or{"selector": {"ByEmail": "email"}, "role": "..."}(update invite role). GET /api/v1/teams/{team_id}response now includesinvitesarray with pending team invites.- Fix signup bonus and team invite processing not running when
RIFT_SERVER_REGISTRATION_DEFAULT_ACTIVE=true. - Add
POST /api/v1/instances/metricsendpoint for fetching GPU metrics (utilization, temperature, VRAM, power) scoped to a specific instance. Filters node-level GPU metrics by the instance's allocatedgpu_mask. - Add TOTP-based two-factor authentication (Google Authenticator) for CloudRift accounts. See Two-Factor Authentication for details.
POST /api/v1/auth/totp/setup— Generate a TOTP secret and provisioning URI for scanning with an authenticator app.POST /api/v1/auth/totp/confirm— Verify the first TOTP code and activate 2FA on the account.POST /api/v1/auth/totp/disable— Verify a TOTP code and disable 2FA on the account.POST /api/v1/auth/totp/complete— Complete login when 2FA is enabled, exchanging a partial token and OTP code for a full session token.POST /api/v1/auth/loginnow returns apartial_tokeninstead of a session token when 2FA is enabled on the account.
Rift Desktop
- Fix VM boot hang on hosts with newer NVIDIA GPUs (e.g. RTX PRO 6000) caused by OVMF firmware failing to initialize GPU Option ROM.
v0.55.4 (2026-03-11)
Minor release, no update necessary.
Rift Server
- Delete volumes when user balance is depleted.
- Fix manually disabled GPUs being re-enabled when a node re-registers.
Rift Desktop
- Fix potential deadlock during PCI device scanning by moving blocking operations off async worker threads and parallelizing per-GPU
setpciprobing.
v0.55.3 (2026-03-09)
Minor release, no update necessary.
Rift Server
- Remove unnecessary
RwLockaround the database client, reducing contention during concurrent operations like node registration. - Add
/api/v1/users/listendpoint for admin/provider user management withById,ByProvider,ByMinSpend, andByActiveExecutorsselectors and optionalwith_account_info. - Add
/api/v1/users/searchendpoint for admin/provider to search users by name or email substring. - Add
/api/v1/users/send_messageendpoint for admin/provider to email selected users. - Add
/api/v1/users/addendpoint for admin/provider to create users with password-reset-based onboarding. Financial settings (credit limit, initial balance, unlimited) are admin-only. - Add
/api/v1/account/update_credit_limitendpoint withByUserIds/ByTeamIdstarget selector (admin-only). - Extend
/api/v1/account/transactions/create/externalwithByUserIds/ByTeamIdstarget selectors for admin to add or remove funds. - Extend
/api/v1/teams/listwithById,ByProvider,ByMinSpend, andByActiveExecutorsselectors, optionalwith_members/with_account_info. - Add
/api/v1/teams/searchendpoint for admin/provider to search teams by name substring. - Extend
/api/v1/instances/listwithByUserIdselector for admin/provider to list a specific user's instances. Exclude inactive instances by default for all selectors exceptByStatusandByID. - Add team authorization for admin and provider root users in
/api/v1/instances/list. Provider results are scoped to their own nodes. - Track
last_login_aton user login.
Rift Desktop
- Added support for MIG profiles when renting whole GPUs. This eliminates the need for driver switching, making whole-GPU rentals more seamless.
v0.55.2 (2026-03-09)
Minor release, no update necessary.
Rift Server
- Add
/api/v1/nodes/metrics/listAPI for receiving GPU/MIG instance metrics.
Rift Desktop
- Launch
dcgm-exporterDocker container automatically when GPUs use NVIDIA drivers; stop it before switching to VFIO to prevent device handle conflicts.
v0.55.1 (2026-03-06)
Minor release, no update necessary.
Rift Server
- Fix instance reporting as Container instead of VirtualMachine during provisioning.
- Add manual GPU enable/disable flag to exclude flaky GPUs from allocation without draining the node.
- Split
erase_grace_periodinto two settings:erase_grace_period(default 0s, for explicit destroys) anderase_stray_grace_period(default 72h, for stray VM cleanup). Prevents orphan VMs from filling disk during stray sync. - Add TC QoS prioritization on macvtap interfaces to prevent bulk VM downloads from starving SSH and ICMP traffic.
Rift Desktop
- Add TC QoS prioritization on macvtap interfaces to prevent bulk VM downloads from starving SSH and ICMP traffic.
- Handle split erase grace period settings (
erase_grace_periodvserase_stray_grace_period) when destroying VMs.
v0.55.0 (2026-03-06)
Please update clients.
Rift Server
- Fix
ByIdinstance selector returning empty results for instances rented under a team. - Add
SelectorScopetoByStatusandByClusterNameinstance selectors (Personal, Teams, PersonalAndTeams, All). Team API keys auto-resolve to their team when no scope is specified. - Remove deprecated
ByTeamIdfrom v055 instance selectors. v045ByTeamIdis still accepted for backward compatibility. - Add AMD GPU support: PCI detection, Docker runtime integration, and ROCm verification for AMD Instinct GPUs (MI300X/MI350X).
- Add AMD SR-IOV (GIM) GPU passthrough for VMs with multi-GPU VF assignment support.
- Detect unresponsive GPUs via PCI config space status register read.
- Add ROCm VM image build scripts (Ubuntu Noble, ROCm 7.2, HWE kernel).
- Fix stray VM detection for domains with legacy metadata missing
gpu_addressesfield. - Fix metadata deserialization failure (missing field
type) for legacy domains with older disk source format. - Add automatic domain cache reconciliation to prevent stale libvirt handle errors.
- Add raw XML fallback for
executor_idextraction when metadata deserialization fails. - Add support for NVIDIA AI Cloud token when provisioning a VM.
- Add
POST /mcpendpoint exposing CloudRift REST API as MCP tools for LLM integration (Claude Code, Claude Desktop, etc.). Supported tools:list_instance_types,rent_instance,list_instances,terminate_instances,stop_instances,start_instances,get_account_info. - Refresh domain cache from libvirt at the start of server VM sync.
Rift CLI
- Add
rift instance-type listcommand to list available instance types with availability info, with optional--serviceand--datacenterfilters. - Add
rift instance rentcommand to rent VM or Docker instances via the public API with support for VM (via--image) and Docker (via--docker-image) modes.
v0.54.0 (2026-02-27)
Please update clients.
Rift Server
- Implement automatic periodic synchronization of Virtual Machines to clean up inactive or stray resources.
- Volumes can now be accessible from multiple datacenters when the underlying storage cluster is shared. The
/public/volumes/list,/public/volumes/create, and/public/team-volumes/*endpoints now return a newdatacentersfield — an array of all datacenter names where the volume is available. The existingdatacenter_namefield remains unchanged for backward compatibility. - Optimize server by caching immutable node hardware configuration.
- The
/api/v1/auth/meendpoint now supports team API key authentication. Previously, this endpoint only worked with user tokens and user API keys.
Rift Desktop
- Implement
SyncVirtMachinescommand to synchronize local VMs with the server, ensuring stray VMs are removed and inactive executors are stopped. - Create and destroy default compute instances for MIG devices.
- Added support for MIG devices in the Rift Desktop client.
v0.53.3 (2026-02-19)
Minor release, no update necessary.
Rift Server
- Optimize server by removing the hot path of fetching node data when not necessary.
- Optimize server by removing the hot path of fetching instance data when not necessary.
v0.53.2 (2026-02-16)
Minor release, no update necessary.
Rift Server
- Allow users and teams to create and manage their own recipes for virtual machines and containers.
Rift Desktop
- NVIDIA / VFIO driver switch hardening. Check for active Docker processes that use GPU before unloading driver to prevent soft-lock.
v0.53.1 (2026-02-06)
Please update clients.
Rift Server
- Fixed a race condition with FRP tunneling that led to occasional failure when allocating ports in tunneling scenarios.
Rift Desktop
- Restored an enlarged PCI hole 64 setting to fix virtualization for 8×L40S VMs.
- Added a check that the NVIDIA driver works before starting a container on the selected GPUs. This prevents sporadic container startup failures caused by uninitialized drivers.
- Fixed driver switch issues that caused occasional problems on nodes configured for dual container/VM passthrough.
- Manually start/stop the
nvidia_persistenceddaemon when switching drivers. - Fixed a bug that caused not all GPU functions (video/audio) to be switched.
v0.53.0 (2026-01-30)
Please update clients.
Rift Server
- Fixed the logic for retrieving VM configurations to correctly handle optional datacenter IDs. The system now first attempts to find a configuration specific to that datacenter, falling back to a global configuration associated with the compute provider.
- When synchronizing VM images on nodes, only images relevant for the node's hardware configuration are selected. For example, nodes without a GPU will only receive VM images that do not require a GPU.
Rift Desktop
- Switched to EFI BIOS to reduce GPU passthrough issues and improve performance.
v0.52.4 (2026-01-23)
Minor release, no update necessary.
Rift Server
- Added node drain management APIs for provider maintenance:
POST /api/v1/nodes/drain— Start draining a node (hides from marketplace, notifies users).POST /api/v1/nodes/cancel_drain— Cancel an active drain.POST /api/v1/nodes/force_drain— Immediately terminate all instances.POST /api/v1/nodes/resume— Bring a drained node back online.
- Fixed an issue where Docker containers on the same node with the same port requests would conflict. Containers now bind correctly to their allocated IP, allowing multiple containers to expose the same port.
Rift Desktop
- Docker containers are now terminated gracefully to avoid putting the GPU into an invalid state.
- Fixed an issue where Docker instances with volumes attached were failing to initialize.
v0.52.3 (2026-01-16)
Minor release, no update necessary.
Rift Server
- Send low balance alert emails to team owners when their account balance drops below a predefined threshold.
- No usage is recorded for failed instance creation attempts. When instance creation fails, the system no longer logs usage time or incurs charges.
v0.52.2 (2026-01-08)
Minor release. We recommend updating the CLI as it had an authentication bug.
Rift Server
- Ensured that Swagger and RapiDoc use the API key authentication scheme for instance endpoints. This fixes instance API calls from Swagger/RapiDoc when using an API key.
Rift Desktop
- Fixed an issue where virtual machines were missing their IDs after being destroyed or restarted. The system now correctly retrieves and maintains VM IDs.
- Added support for additional disks in raw format. These disks can be attached to virtual machines for greater storage flexibility.
Rift CLI
- Fixed an authentication bug that caused all
riftcommands to fail when username/password authentication was used.