Fixed the generated SSH hostname to connect through the SSH gateway. 0.5.0
introduced a regression that could generate SSH hostnames that were not a legal
IDNA2008 name (larger than 63 characters).
0.5.0 January 23, 2026
Fixed the usage of multiple environment variables through the SSH gateway
Improved how the SSH gateway sets environment variables in interactive shells
Updated SSH and HTTP gateway to listen both to IPv4 and IPv6 requests
Validate duplicate IDs for workspaces and resources in templates definitions
Normalize and mangle Kubernetes object names created by the CPS1 Operator.
Most of the created objects now contains a random suffix (similar to
Kubernetes' vanilla objects such as Pods) to avoid name collisions. Normalized
names uses the beginning and ending of the original name, respecting the
created object name length limit. Before this change there was a small chance
of generating invalid Kubernetes objects names.
Introduced multiple volume strategies for environments workspaces'. The
sharedPerUser strategy uses a single PVC of the user namespace across their
environments. While the isolatedPerWorkspace strategy uses one PVC per
created workspace. Those options are configured by the workspaceVolumes
option, and also supports defining the used StorageClass and accessMode.
Added the option to select a custom branch for each repository of each
workspace when creating a new environment.
Fixed an error when a resource type is changed in the template form. The form
didn't properly reset with the default values of the newly selected resource.
Fixed CEL statements output in resources. They were always incorrectly
coerced into strings, now they respect the source input type.
Added a retry option to recreate workspaces
Added an option to visualize setup errors for workspaces
Fixed some errors that could occur between the CPS1 operator and the Kubernetes
API when it didn't properly finished a TLS connection (sending a close_notify
message). The error would occur when the operator attempt to reuse a connection
from a connection pool and that connection was ended by the server side. The
fix relaxes the TLS settings to tolerate Kubernetes API servers that doesn't
implement Closure Alerts as per RFC 5246 section 7.2.1.
0.4.1 December 16, 2025
Version 0.3 added a change where every template is built with user namespaces for Kubernetes 1.33 or newer. But some Kubernetes distributions/worker nodes combinations still doesn't properly support this feature such as Kind (Kubernetes in Docker) and EKS clusters with Bottlerocket. Therefore, now this behavior is opt-in. You can enable it setting CPS1's config buildWithUserNamespaces to true (it is false by default).
Fixed an issue where an SSH channel would be closed before completely streaming an exec's stderr if the stdout finished streaming.
0.4.0 December 11, 2025
IDs from resources and workspaces are translated depending on the context to be used in Kubernetes objects name and CEL statements.
More variables are available in CEL contexts to refer to services exposed by other workspaces. Now it's easy to connect multiple microservices within a single environment:
The SSH gateway was updated to support JetBrains Gateway.
Fixed a bug that could make a new environment page become empty
Fixed the build logs display for templates with multiple workspaces
0.3.1 December 02, 2025
Add validations in UI and CRDs to block invalid Resources and Workspaces IDs
0.3.0 December 02, 2025
Add graceful shutdown to the SSH gateway
Fix a security vulnerability where a custom built malicious SSH client could crash the SSH gateway
Improve the web UI performance by removing some redundant network requests
Add support for Kubernetes 1.34
Fix progress display when a Workspace is starting
Make the pause/resume button more responsive
Fix the workspace list showing deleted workspaces
Improve package selection UI in the template form
Fix the HTTP gateway blocking preflight requests
Fix the template form losing data when deleting a package
Sort template options by name when starting a worskpace
Build images isolated in user namespaces when possible (kubernetes 1.33 or newer and Linux kernel 6.3 or newer)
Harden some security settings for workspace pods
Add ResourceSets, Workspaces and Environments CRDs
Add TemplateSnapshot and EnvironmentSnapshot
Resolve CEL statements in ResourceSets
Update UI to reflect new concepts: an Environment is created from a Template. Templates/Environments contains multiple Workspaces and Resources.
Disable SSH and WebIDE buttons while workspace is not ready
Remove some noise from CPS1 server logs
Improve operator performance removing some network requests to the Kubernetes API
Add default annotations for user namespaces' Service Accounts
Resolve CEL statements in Workspaces' environment variables
0.2.0 August 08, 2025
Fix gateway closing SSH connections after some minutes
Improve gateway performance for SSH connections
Improve gateway performance for HTTP requests
Slightly decrease gateway memory usage
Make users SSH into their $HOME instead of /
Make the gateway consumes less resources from the Kubernetes API Server
Add support for tag properties in packages
Fix a bug where resources and services forms would show default values instead of persisted values