2025-05-02
Chrome Extension v2.0.0
Added
- Added support for specifying
traceparent
header following the W3C TraceContext specification. This helps ensure routing headers are preserved when usingtracestate
, as some libraries are known to droptracestate
during context propagation iftraceparent
is not present. - signadot/community#77: Added logout option within the extension.
Fixed
- Improved UI consistency with better loading states and alignment with dashboard styling.
- Fixed race conditions that caused incorrect or unexpected header injections during state transitions.
2025-05-01
Dashboard
Fixed
- Fixed "not saved" message regression in UI when writing Hosted Smart Tests.
- Improved web performance through caching and compression.
Security
- Security updates to dependencies and infrastructure components.
2025-04-25
Dashboard
Fixed
- Fixed a bug in the UI-based sandbox spec editor that caused certain mutations to be denied incorrectly.
2025-04-23
API / Control Plane
Fixed
- Fixed a bug where multiple error responses were sent in certain 4xx failure cases.
- Improved cluster connection reliability under load through control plane enhancements.
Changed
- The control plane now limits agents (part of the operator) to a maximum of 3 parallel connections per cluster to prevent abuse. This change is not generally user-facing but may affect setups with improperly configured agents.
2025-04-17
Dashboard
Added
- Enhanced filtering capabilities and improved search across all pages.
- Improved visual styles across all pages for consistency.
Fixed
- Resolved redirect issues with certain links that were causing loss of navigation history.
2025-04-08
API / Control Plane
Added
- Support for externally sourced Smart Tests that can be stored in source control.
- Support for querying executions using
runID
, test name, and source. - Support for distinguishing between published & unpublished executions.
Changed
- When executing Smart Tests on sandboxes, one reference sandbox is shared by all test executions in the same run (with the same runID). Previously one was created for each test execution.
CLI v0.9.0
Added
- Added support for source control configuration to store, manage and run Smart Tests.
- Added
signadot smart-test
sub-command and it's corresponding aliasst
. - Added
signadot smart-test execution
sub-command for managing smart-test executions.
Dashboard
Added
- Enhanced UI with redesigned theme for improved readability and visual consistency.
- Introduced new Executions view with filtering capabilities for managing executions of hosted and externally sourced Smart Tests.
- Improved Smart Test reporting interface within Sandbox details.
Fixed
- Resolved layout and presentation inconsistencies across Sandboxes, Jobs, and Smart Tests pages.
2025-03-20
Dashboard
Fixed
- Auth: Fixed an issue where new users encountered an error instead of the email verification page during signup.
2025-03-14
API / Control Plane
Changed
- Creation and modification of Job Runner Groups can now performed only by the admin role. See spec for details.
Fixed
- Fixed issue that caused some smart test diffs to be classified incorrectly as medium / high relevance.
- Fixed rare issue that caused deadlocks in the control plane during cluster connects/disconnects.
2025-03-07
Dashboard
Added
- Improved new user onboarding with a new "Getting Started" section on the Overview page.
Fixed
- Auth: Fixed email verification flow during user creation to remove the need for a user to login again after verifying their email.
- Auth: Fixed confusing error message when a user with an existing account attempts to sign up.
- Fixed bug that caused Sandboxes list page to crash when there were test failures.
Security
- Updates to dependencies & general improvements.
2025-03-04
Operator v0.19.3
Added
- Replica Scaling: Allowed running controller-manager with more than one replica - this is expected to help the DevMesh sidecar injection be highly available.
- Resource Customization: Allowed parameterization of injected container resources, including init containers and sidecars.
Security
- Container Permissions: Reduced the scope of permissions of routing init containers.
- Base Image Update: Switched operator base images to Alpine for improved security and efficiency.
- Dependency Upgrades to address various CVEs and general security improvements.
2025-02-27
Dashboard
Added
- Smart Tests status is now displayed on the Sandboxes page for improved visibility.
Fixed
- Resolved an issue preventing GitHub-authenticated users from inviting others.
- Improved table layout and visual consistency for Sandboxes, RouteGroups, and Clusters.
2025-02-20
API / Control Plane
Fixed
- More Reliable Notification Production - Fixed bugs in the notification system to ensure GitHub notifications are delivered more reliably.
- Fixed bugs causing missing sandbox status information on jobs and test executions during sandbox list.
- Security Fixes and Dependency Upgrades.
Removed
- Sandbox updates no longer count towards monthly quota (as reflected in pricing).
Dashboard
Added
- Improved UI for organization creation flow.
Fixed
- Fix Icon Alignment/Size - Corrected inconsistencies in UI icons related to Test / Job runs.
- Fix Web Vulnerabilities - Addressed security issues affecting the web platform
2025-02-12
CLI v0.8.2
Added
- Added flag
--wait
tosignadot job
sub-command. - Passing
-o yaml
or-o json
tosignadot sandbox get
orsignadot sandbox list
now shows summary information about any associated Tests or Jobs. See the Sandbox Status docs for details.
Fixed
- Fixed case where using Signadot CLI with CloudFlare WARP caused local connection to stop working.
- Added health checks to improve self-healing when there are disruptions to the local workstation tunnel.
- Applied security fix for CVE-2024-45337.
2025-02-05
API / Control Plane
Added
- Support for displaying Sandbox status in GitHub PRs using the Signadot GitHub application.
Fixed
- Improve enforcement of tunnel server request deadlines.
2025-02-04
Dashboard
Added
- New UI to edit and update workloads (images, environment variables) under Sandbox details.
Fixed
- Fixed signadot/community#54: environment variables couldn’t be updated using the UI when secrets were used.
2025-01-31
API / Control Plane
Added
- Support for running checks as part of Smart Tests. See checks for details.
- Extended sandbox status under the sandbox-list and sandbox-get API endpoints to include jobs and test execution summaries.
- Added
DisableSandboxTrafficManager
field to sandbox spec.
Fixed
- Fixed ambiguous relation between Jobs and Routing Keys.
Dashboard
Added
- Added UI support for presenting results of checks as part of Smart Tests.
- Revamped and improved presentation of the Smart Test results page.
2025-01-20
Operator v0.19.2
Added
- Resource limits and requests for operator components are now included and configured via helm values.yaml.
- Support for iptables-nft in the operator. This can be turned on via the helm flag
routing.iptablesMode
.
Changed
traceparent
is now correctly injected alongsidetracestate
when using automatic routing key injection for jobs.agent
now uses recreate deployment strategy by default to reduce the chances of races during operator upgrades / downgrades.
Fixed
- A memory leak was identified and resolved in the sandbox-traffic-manager component.
- HTTP CONNECT is correctly passed through sandbox-traffic-manager when using traffic capture under Smart Tests.
- The job-executor-proxy component used when running Smart Tests now correctly excludes localhost traffic.
- Setting
AllowedNamespaces
in helm now correctly configures scoped RBAC permissions. - Upgraded Envoy in tunnel-proxy-auditor component to v1.32 to fix support for HTTP CONNECT traffic.
2025-01-09
API / Control Plane
Fixed
- Added protection against rapidly re-connecting agents, which could cause a resource leak.
- Mitigated a race between API deletion of resources and cluster sync which could leave orphaned in-cluster custom resources.
2024-12-20
API / Control Plane
Fixed
- Resolved issue in SmartTests execution controller to correctly handle deleted sandboxes.
- Ensured the injection of the
traceparent
header alongsidetracestate
when using the hosted Preview URLs and Sandbox Details > Explore UI in accordance with the TraceContext specification.
2024-12-19
Chrome Extension v1.2.0
Added
- Support for custom routing headers: See custom headers for more information.
- Visual enhancements:
- Added an indicator to show when the extension is active.
- Introduced a details panel to display information about injected headers.
Fixed
- Resolved an issue that occasionally prompted users to log in even after a successful login.
- Fixed flickering issues that occurred when opening the extension.
Dashboard
Fixed
- RouteGroups list view now shows the cluster in which each RouteGroup exists.
- Fixed bug that broke syntax highlighting in the SmartTest Editor.
- Improved behavior of the "unsaved test" indicator in the SmartTest Editor.
2024-12-12
API / Control Plane
Fixed
- Improved behavior related to
.values.allowedNamespaces
that can be set during installation.- Improved validation of entities against the list of namespaces.
- Improved Kubernetes API calls to honor the above setting.
Dashboard
Added
- Added support for editing Job Runner Group specifications.
Fixed
- Search & filter now correctly reset pagination.
- Fixed cluster configuration section under clusters to correctly show headers that will be used for routing.
- General improvements and bug fixes.
Changed
- Improved the UX to edit the sandbox specification by allowing edits in-place.
2024-12-03
Operator v0.19.1
-
Operator v0.19.1 default installation contains a memory leak in the new
sandbox-traffic-manager
component which can cause issues for long running sandboxes which contain forks. Additionally,sandbox-traffic-manger
does not support HTTP CONNECT. To avoid these problems, we recommend installing with helm valuessandboxTrafficManager:
enabled: falseThese issues will be fixed in an upcoming release.
-
Check the "Removed" section for details. If you are using non-standard headers for routing aside from
baggage
ortracestate
for routing, you may need to add them as custom headers when you upgrade.
Removed
- The operator no longer routes using the following HTTP/gRPC headers by default:
- uberctx-sd-routing-key
- uberctx-sd-sandbox
- ot-baggage-sd-routing-key
- ot-baggage-sd-sandbox
If you are making use of these, please use the new custom headers settings
described below. If you are using the standard OpenTelemetry
baggage
ortracestate
headers, no action is necessary.
Added
- Support for the Linkerd service mesh, install with helm
value
linkerd.enabled = true
. - Support for custom routing headers. See custom headers for details.
- We have added support for eliding specific headers from traffic captured when
running Smart Tests, install with helm values
trafficCapture.requestHeadersElide
andtrafficCapture.responseHeadersElide
.
Fixed
- Fixed the handling of X-Forwarded headers in the devmesh sidecar and the
sandbox traffic manager.
- X-Forwarded-For now appends client IP address at each hop of a series of proxies.
- X-Forwarded-Host is set when absent or pass-through when present.
- X-Forwarded-Proto is set when absent or pass-through when present.
- Various behavior and error messages have been fixed when running under restricted namespaces (using the
allowedNamespaces
helm value). - JobRunnerGroup controller now preserves user-provided
imagePullSecrets
for images in JobRunnerGroup pods.
Changed
- Resolved an issue with the
sandboxTrafficManager.enabled
helm value, which previously required the string values "true" or "false" instead of boolean values. - It is now possible to use the sandbox traffic manager component for sandbox
forks while independently controlling traffic capture for specific scenarios
like Smart Tests using the
trafficCapture.enabled
helm parameter. - When running with restricted namespaces,
signadot
namespace is now always included by default.
API / Control Plane
Fixed
- Synchronizing a draining JobRunnerGroup to a cluster now checks if the cluster's JobRunnerGroup exists and is up to date during draining.
- When a cluster is deleted, any Smart Test triggers associated with it are also deleted.
2024-11-15
API / Control Plane
Added
- signadot/community#58: Support for running Smart Tests. See guide for details.
Dashboard
Added
- Creating & managing Smart Tests.
- Integration of Smart Tests with Sandboxes: Smart Tests executed for a specific Sandbox are now displayed on the Sandbox details page.
2024-11-06
Dashboard
Fixed
- UI now allows creating Route Groups containing more than one match criterion using the same label key.
2024-10-30
Operator v0.19.0
Operator v0.19.0 default installation contains a memory leak in the new
sandbox-traffic-manager
component which can cause issues for long running
sandboxes which contain forks. Additionally, sandbox-traffic-manger
does not
support HTTP CONNECT. To avoid these problems, we recommend upgrading to v0.19.1 and
installing with helm values
sandboxTrafficManager:
enabled: false
These problems will be fixed by default in an upcoming release.
Added
- Sandbox Traffic Manager component that enables traffic recording for API SmartDiff tests.
- Job Executor adds support for test traffic recording for API SmartDiff tests.
Fixed
- Fixed bug that could cause Route Server clients (such as the DevMesh sidecar) to freeze as a result of a deadlock when handling connection errors.
- Upgraded components to use go1.23.
Changed
- DevMesh sidecar now rejects requests containing routing keys upon error communicating with the route server. The status of such rejected requests is 599.
2024-10-17
API / Control Plane
Fixed
- Fixed case of Job reporting failed status incorrectly followed by a retry operation.
Changed
- Changes to job reconciliation logic to exclude completed jobs, improving time taken for jobs to queue and complete.
- Relaxed Resource Plugin validations (now the API accepts empty
create
anddelete
workflows). - Downward API environment variables are now applied to all baseline containers.
- Upgraded components to use go1.23.
Dashboard
Fixed
- Improved presentation of pagination when there are a large number of pages.
Changed
- Improved new YAML editor with syntax highlighting.
- Improved Jobs Filtering presentation.
- Reorganized tabs on the sidebar for better separation between administrative, platform & developer-facing entities.
2024-09-06
API / Control Plane
Fixed
- Validation now correctly handles sandboxes referencing non-existent resource plugins.
Dashboard
Fixed
- Renamed column in Analytics referencing "Sandbox ID" to "Routing Key".
2024-08-22
API / Control Plane
Fixed
- Bug fix: race condition on cluster disconnect, potentially leading to a deadlock.
Changed
- Improvement in the handling of jobs with references to deleted sandboxes.
2024-08-15
Operator v0.18.0
Added
- Jobs now have the capability to automatically inject routing key headers on all outgoing requests. Refer to the documentation for details.
- DevMesh now supports routing of websocket connections correctly to workloads locally and within the cluster.
Changed
- Routing in Istio mode matches VirtualServices on the
.spec.route[].destination.host
, which allows preserving of path rewrites and the HTTPRoute conditions under which routing occurs. Previously, VirtualService.spec.host
was used for selecting VirtualServices for modification. Refer to the documentation for details. - Upgraded components to use go1.22
Deprecated
- In Istio routing mode, the previous host-based selection of VirtualServices is
deprecated and requires setting a helm value of
istio.enableDeprecatedHostRouting
to use.
API / Control Plane
Changed
- Usage limits: APIs now enforce constraints based on revised pricing.
Fixed
- Fixed an issue causing Job and JobRunnerGroup cluster synchronisation to hang until agent restart.
- Minor fixes and improvements.
CLI v0.8.1
Added
- Jobs now have the capability to automatically inject routing key headers on all outgoing requests.
- Upgraded components to use go1.22
Dashboard
Added
- Billing page now displays information pertinent to revised pricing.
Fixed
- Fixed filtering of colored logs in logs panels.
- Usage quota banners are shown when jobs usage is nearing limits.
- Minor fixes and improvements.
2024-08-06
Dashboard
Fixed
- Fixed broken ToS link in the sign up flow.
2024-07-30
API / Control Plane
Fixed
- A validation bug in Job names caused active Jobs to become stuck in queued when the name include uppercase characters. Job names may now contain uppercase characters without getting stuck.
- Made the communication between cluster and control plane more robust for Jobs and JobRunnerGroups.
- Various security updates to third party dependencies.
Changed
- Signadot APIs no longer accepts requests with invalid empty Content-Length headers.
Dashboard
Added
- Analytics can now be used to track Jobs.
- Updates to Analytics to allow exporting data as CSV.
- Banner to surface when sandboxes usage is approaching quota for the organization.
Fixed
- Overview page cards view updates to work better across more zoom levels.
2024-07-10
Dashboard
Added
- Updated Overview page to a new cards layout with other minor design improvements.
2024-07-03
Dashboard
Added
- Analytics: Sandbox updates can now be tracked in addition to creation.
2024-06-27
API / Control Plane
Fixed
- Removed leading hyphens when generating names of Jobs with an unspecified
spec.namePrefix
. - Draining of non-operational JobRunnerGroups with queued, canceled Jobs now completes. Previously, these JobRunnerGroups were stuck in a non-operational state.
- A race condition in which a JobRunnerGroup queue could stop running Jobs until agent reconnection. When this condition occurs, we now continue running Jobs.
- A race condition in which applying many JobRunnerGroups for one cluster simultaneously could result in an Internal Server Error. The race has been removed.
Changed
- Kubernetes namespaces referenced in JobRunnerGroups must now exist when creating the JobRunnerGroup.
- Job submission is now denied with a status code 503 (Unavailable) if both no Pods are available and no previous Jobs were run. This helps prevent creating Jobs for broken JobRunnerGroups.
Dashboard
Added
- Ability to delete Job Runner Groups.
Fixed
- Inconsistencies in UI elements for add / delete.
2024-06-20
API / Control Plane
Added
- Support for running automated tests in Kubernetes using Jobs and Job Runner Groups. See guide for details.
- Support for artifact storage and retrieval from tests.
- Support for stdout and stderr streaming from running tests.