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
Removed
Action may be required
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
or
tracestate
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
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.