Release Notes - Version 2.4.0
Release Date: October 2, 2026
๐ Highlights
Version 2.4.0 delivers full cloud service provider (CSP) instance support across the platform โ you can now provision, monitor, bill, and run workloads on self-managed cloud instances end to end, with accrued cost shown for each instance. The web interface received a sweeping responsive redesign so detail pages, edit screens, data tables, and creation wizards work smoothly on tablets and smaller screens. This release also adds management of multiple SSH keys per user, a persistent default-team selection flow, and more reliable multi-node scheduling with unique worker indices. GPU allocation is improved for both AMD and NVIDIA hardware across SSH and Slurm clusters.
๐ New features
โ๏ธ Cloud service provider instances
You can now provision and manage cloud service provider (CSP) instances directly from Plexus. A new provisioning experience covers instances, flavors, and provisioners, with an instance detail page that includes a logs tab, clearer transitional-state badges, and an improved parameters and sidebar layout. The instance list adds a delete action with a confirmation dialog and gates creation on having a default SSH key. Behind the scenes, instances grow their boot disk and mount a dedicated data volume on first boot, retry automatically on transient connection errors, and recover orphaned provider resources so failed provisioning never leaves instances behind. User-facing copy was standardized from "cluster" to "instance" for clearer, more consistent language.
๐ณ Cloud instance billing and cost tracking
Cloud instances are fully billable. Accrued current cost is displayed on both the instance list and detail views, CSP instance spend is included in the global transaction endpoints, and each team can manage its own payment source through new per-team payment detail endpoints. The owning team is shown on every instance so you always know which team an instance belongs to.
โถ๏ธ Workloads on cloud instances
Instance owners can run workloads on their own CSP instances. Owner queue access and job submission are enabled on cloud instances, and owners can retrieve instance logs directly, completing the path from provisioning to execution on cloud infrastructure.
๐ Multiple SSH keys per user
You can now register, set a default for, and delete multiple SSH keys from your profile. A new default SSH public-key lookup replaces the previous single-key fields, and CSP instance creation uses your default key automatically.
๐ฅ Persistent default team
A new login prompt and shell indicator let you choose a default team and keep it across the platform. The per-flow team pickers that previously appeared in each wizard have been removed, so you select your team once instead of on every action.
๐ง Improvements
- Responsive redesign โ Detail pages for queues, jobs, applications, and clusters, along with user-account, application, and cluster edit screens, now reflow cleanly at tablet widths and below. Data tables across the admin dashboard, job detail, teams, clusters, BI dashboard, datasets, and file browser scroll horizontally instead of clipping, and the private layout gained a polished mobile sidenav.
- Responsive creation wizards โ The job and cluster creation wizards, including resource steps, compute and queue review steps, and the Kubernetes create flow, adapt to smaller screens, and the job wizard now uses a vertical stepper.
- Reliable multi-node scheduling โ Multi-node workers receive unique indices through atomic claim directories, eliminating duplicate indices across workers on distributed jobs.
- GPU allocation โ Slurm GPU allocation is now honored with automatic IMEX and RDMA device attachment for NVIDIA hardware, and AMD GPU devices are selected by PCI vendor across both SSH and Slurm clusters.
- Configurable cluster network interface โ A network interface can be set per cluster, exporting the matching NCCL and GLOO socket environment variables for distributed jobs.
- Unified admin dashboard โ The admin dashboard overview is now served by a single endpoint with a shared period filter, replacing several separate queries with a slimmer payload.
- Interactive terminals stay open โ Idle job-shell terminal connections are kept alive with periodic ping frames so interactive sessions no longer time out.
- Team manager app scope โ Team managers now see and assign only the applications that belong to their teams.
- Queue notifications โ Queue notifications were extended to cover dedication, reservations, and allocatable-set changes, and free accelerator capacity is now reported for CSP and SSH queues.
๐ Bug fixes
- Fixed the password-renewal page being unreachable when a 406 response occurred during app startup
- Fixed a cloud instance remaining in the list after deletion and URLs still referring to "clusters"
- Fixed the CSP provisioners Enabled filter being ignored in the list query
- Fixed the interactive ports panel incorrectly appearing for jobs on SSH resource-manager clusters
- Fixed the BI summary custom date-range picker calendar icon popup being hidden
- Fixed a crash when submitting a job without an expected runtime to a runtime-optional queue
- Fixed an error that could occur when retrieving dataset cluster information for an unauthenticated session
- Fixed S3 dataset cleanup being skipped when the workload-id label did not match the job UUID
- Restored named request schemas in the API documentation for user create and update operations
๐ Security
- Angular security updates โ Angular 20 was updated to current patch versions to address the
@angular/routerSSR advisory and other security advisories - Dependency remediation โ A high-severity browserslist vulnerability was remediated along with npm audit fixes in the frontend
- Reduced log exposure โ Handled provisioning and invitation exceptions are now logged without a full traceback, reducing noise and avoiding leaking internal detail
๐งน Cleanup
- Removed the user-wide payment-sources endpoint in favor of per-team payment source endpoints
- Removed legacy single SSH-key fields from the user API in favor of multiple-key management
- Removed unused frontend environment variables and the user-wide payment source list from the UI
- Removed unit-test console noise and redundant test module imports across several UI specs
- Removed duplicate responsive table styles and tab-content padding from the detail shells