Project: Chaos Mesh (Observability and Analysis / Chaos Engineering)
File: CHANGELOG.md

All notable changes to this project will be documented in this file. The format is based on . For more information and how-to, see . Allow annotations on chaos-controller-manager and chaos-daemon ServiceAccount Support for deploying chaos-dashboard under the subpath Support more rate units for networkchaos Support for deploying chaos-dashboard with sidecar containers in helm chart Add `values.schema.json` Add to ADOPTERS.md Support configurable chaos-dns-server pod affinities Add experiment `name`, `namespace` and `kind` to "apply chaos" and "recover chaos" log messages Support for watching remote status of chaos experiments to local Add netem/rate support for NetworkChaos Support for setting `loadBalancerSourceRanges` in chaos-dashboard service in helm chart Helm: allow templating of dashboard rootUrl Support for reading database connection string from secret Change `awschaos/*/impl.go` to use `awssessiontoken` with static credentials provider so that users can perform awschaos using Enable consistency for ghcr.io registry Prevent mousewheel scroll from changing numeric input values. Set the database column type to text for 'Workflow/Experiment/Schedule' Bump go to v1.20 Upgrade docker/login-action to v2 Update k8s dependencies to 1.28.0 Update lru dependency Update swag dependency Update ginkgo to 2.12.0 Update k8s controller-runtime dependency Automatically remove the token from the dashboard when it expires Optimize `allInjected` and `allRecovered` states when targets are not selected Upgrade byteman-helper to v4.0.22 GCP auth is changed to object with additional key `existingSecret` in helm chart values Add context to the http request to download the chart Nothing Nothing Set `replicas: 1` automatically when HA is not enabled Remove redundant where statements Fix dashboard panic when exec delete action by finish_time Fix remote cluster cannot upgrade helm release Fix goroutine leak Remove the duplicate `make test` Fix daemon-server `SetDNSServer` endpoint to validate provided server address Enable prometheus directive within CoreDNS Fix TTL configuration from environment variables Fix dashboard panic while replacing query namespace with targetNamespace in namespace scoped mode Remove `-k` from `curl` command lines in chaos-daemon Dockerfile Upgrade the base image of dev/build-env Install offline Helm Chart for a multi-cluster Change CoreDNS listen port from 53 to 5353 Bump go to v1.19.3 Change ubuntu version from latest to 20.04 Switch views between k8s and hosts nodes New CI for finding merge conflicts Upgrade byteman-helper to v4.0.20 Helm: change default webhook port to 10250 Upgrade base image for chaos-mesh to alpine:3.17 Slow down releasing the latest version Update k8s.io dependencies to v0.26.1 Update sigs.k8s.io/controller-runtime to v0.14.1 and sigs.k8s.io/controller-tools to v0.11.1 Change the package manager from `yarn` to `pnpm`. Upgrade DNS CoreDNS image url to

Upgrade OS image for chaos-daemon container image Replace openapi-generator with Orval and React Query Cleanup makefile and provide `make help` Remove `IN_DOCKER` environment variable in `Makefile` Refine TTL config of Chaos dashboard `pause` would return non zero exit code when the subcommand failed use helm values to set chaos-daemon capabilities Build binaries locally with `local/` prefix targets in `Makefile` Use kubectl cluster-info dump to enhance e2e profiling Upgrade fx event logger Refine logging in `pkg/selector/physicalmachine` Setup OWNERS and OWNERS_ALIASES Nothing Remove no needed file crd-v1beta1.yaml Remove useless kubebuilder comment in webhook Remove the unused inject-v1-pod webhook. Fix version comparison in install.sh Fix stuck dashboard updates when using ReadWriteOnce PVCs Fix MySQL NOZEROIN_DATE by using `*time.Time` to represent finish time Bump go to v1.19.7 to fix CVE-2022-41723 Bump github.com/opencontainers/runc from 1.1.4 to 1.1.5 Add `controller.securityContext` and `dashboard.securityContext` to Helm chart Add `RemoteCluster` resource type Add `clusterregistry` package to help developers to develop multi-cluster reconciler Add features about integration with helm to install Chaos Mesh in remote cluster Add new CI "Manually Sign Container Images" to sign existing container images Install and uninstall chaos mesh in remote cluster through `RemoteCluster` resource MultiCluster: support inject / recover on remote cluster Add TLS support for HTTPChaos Use the next generation `New Workflow` UI by default StressChaos: Support cgroup v2 for docker and crio Nothing Nothing Remove the explicit use of pingcap/log Fix typo in controller error message Fix panic when logging, log kvs as pair Fix timechaos not injected into the child process Ignore `ScheduleSkipRemoveHistory` events to fix the memory of controller-manager keep increasing Update `is mandatory` to true in a swagger comment Enable mode when creating PhysicalMachineChaos with addresses in UI Sign images and generate sbom when uploading images in CI Nothing Nothing Nothing Nothing Fix timechaos not injected into the child process Update `is mandatory` to true in a swagger comment Nothing Nothing Nothing Nothing Nothing Fix: mark 2.4.1 not as pre-release version Nothing Add support for `PhysicalMachine` in UI Replace io/ioutil package with os package. Refine logging in pkg/dashboard/apiserver/event, moved package level variable log into struct Service as a field. Refine logging in pkg/dashboard/apiserver/auth/gcp, moved package level variable log into struct Service as a field Change e2e config settings to append "pause image" args. Update display of disabled scope in UI Make the Scope render conditionally Refine logging, remove the usage of klog in chaosctl Dashboard: Fix rbac.yaml for token generation verbs/resources Refine logging, remove the usage of klog in event recorder Use int64 to restore latency for BlockChaos Remove CRD v1beta1 support Nothing Nothing Fix NetworkChaos fail with @ifXX in the device Fix BlockChaos can't show Chinese name. Add `omitempty` JSON tag to optional fields of the CRD objects. Fix "sidecar config" e2e test cases run failed in some scenario. Fix Integration test with bumping kubectl version. Nothing Nothing Nothing Nothing Nothing Remove `limit` action of `BlockChaos` in the dashboard Sync PhysicalMachineChaos to API client and forms Fix timechaos not injected into the child process Update `is mandatory` to true in a swagger comment Nothing Nothing Use int64 to restore latency for BlockChaos Nothing Nothing Fix: update helm chart annotation

to false Nothing Nothing Nothing Nothing Nothing Protect chaos available namespace and filter namespaces if needed Respect flag `enableProfiling` and do not register profiler endpoints when it's false Fix the blank screen after creating chaos experiment with "By YAML" Update hint text about the manual token generating process for Kubernetes 1.24+ Fix IOChaos `containerNames` field in UI Fix BlockChaos can't show Chinese name. Fix recover bug when setting force recover to true Fix generate token failed on chaos dashboard Nothing Add more status for record Add `chaosDaemon.updateStrategy` to Helm chart to allow configuring `DaemonSetUpdateStrategy` for chaos-daemon Add AArch64 support for TimeChaos Add integration test and link test on arm Add `spec.privateKey.rotationPolicy` to Certificates, to comply with requirements in cert-manager 1.8 Add `clusterregistry` package to help developers to develop multi-cluster reconciler Support `Suspend` in next generation `New Workflow`'s UI Add helm annotations for Artifact Hub Add implementation of blockchaos in chaos-daemon Bump chaos-tproxy to v0.5.1 Allow importing external workflows and copying flow nodes in next generation `New Workflow` Add `QPS` and `Burst` for Chaos Dashboard Configuration Add guide and example for monitoring Chaos Mesh Support `KernelChaos` in `AutoForm` Sync latest Chaosd and PhysicalMachineChaos Add accept-tcp-flag to network delay in PysicalMachineChaos Helm charts: update validate-auth to chaos-mesh-validation-auth Helm charts: support latest api version of dashboard ingress Update shell script to support shellchecks CI: build dev-env and build-env for e2e tests if required CI: version unrelated manifests Bump chaos-tproxy to v0.4.6 Helm charts: using 0.0.0 as version and appVersion Add a comment to the flag size of memory stress in the dashboard Refine logging in pkg/dashboard/store, removed global the log Renamed namespace from chaos-testing to chaos-mesh Use ContainerSelector in kernel chaos Make possible to have more than one dns chaos server Helm charts: Relax allowedHostPaths in chaos-daemon PSP Run build image ci on self-hosted machine Simplified logic and add test case about finalizers. Update API requests with OpenAPI generated client Implement some missing methods in ctrl server Use `net.Interfaces()` to implement `getAllInterfaces()` Nothing Removed extra import of common pkg in chaosctl/cmd/logs.go Removed unused local function from statuscheck/manager.go Removed ui build and test for arm64 Remove sed need (SC2001) Removed not used clientset in cmd/chaos-controller-manager/main.go Removed not used globalCacheReader in cmd/chaos-controller-manager/provider/controller.go Removed unsupported action comments of blockchaos Update description of memory stressors Isolate `target` field and `Scope` when creating `NetworkChaos` in UI Add arm64 architecture to ci_skip to pass required test Adapt install.sh for kubectl/kubernetes cluster greater than 1.24 SC2166: Use || or && rather than -o or -a SC2206: Use quote to prevent word splitting/globbing Fix make check does not respect the env-images.yaml [#3210] (<https://github.com/chaos-mesh/chaos-mesh/pull/3210>) SC2004: Remove unnecessary $ on arithmetic variables PhysicalMachineChaos: update stress options type PhysicalMachineChaos: remove validate for IP and host for delay, loss, duplicate, corruption StressChaos: run `pause` before `choom` JVMChaos: update the error message that can be ignored Fix Workflow Validating Webhook Panic Overwrite $IMAGEBUILDENVTAG with $IMAGETAG-$ARCH in

github action Add a judgement of `enterNS` in `getAllInterfaces()` Fix JVMChaos loading missing jar file for injection Nothing Add `QPS` and `Burst` for Chaos Dashboard Configuration Implement some missing methods in ctrl server Nothing Nothing Nothing Protect chaos available namespace and filter namespaces if needed Respect flag `enableProfiling` and do not register profiler endpoints when it's false Fix the blank screen after creating chaos experiment with "By YAML" Update hint text about the manual token generating process for Kubernetes 1.24+ Nothing Bump chaos-tproxy to v0.5.1 Run build image ci on self-hosted machine JVMChaos: support inject fault into MySQL client Nothing Nothing Nothing PhysicalMachineChaos: update stress options type StressChaos: run `pause` before `choom` Nothing Add metrics for archived objects in chaos-dashboard Add metrics for iptables, ipset and tc metrics in chaos-daemon Add metrics for emitted event counter in chaos-controller-manager Add metrics for grpc client Add metrics for grpc and HTTP request duration histogram Add metrics for bpm controlled processes Provide additional printer columns for `action` and `duration` Add PhysicalMachine CRD New command `physical-machine` to `chaosctl` Add status "Deleting" for chaos experiments on Chaos Dashboard Add time skew for gettimeofday Add support of the Unified cgroup mode (tested with containerd runtime only) for linux stress experiments Add `StatusCheck` CRD Add support for declaring ports in external targets in NetworkChaos experiments Add forced recovery of httpchaos, iochaos, stresschaos, and networkchaos for chaosctl Add namespace and pod name in failed event for podxxxchaos crd Add next generation `New Workflow` in UI JVMChaos: support inject fault into MySQL client Use pipeline controller to serialize common controllers Enable mTLS between chaos-controller-manager and chaosd Rename Physics to Host in Chaos Dashboard Retry oneshot chaos if it's not selected Bump gopsutil to v3 Add prefix for identifier of toda and tproxy in bpm Bump toda to v0.2.2 Bump go to 1.17 Use github.com/pkg/errors to replace fmt.Errorf and "errors" Kill chaos-tproxy while failing to apply config JVMChaos: ignore AgentLoadException when install agent Bump container-runtime to v0.11.0 Bump kubernetes dependencies to v1.23.1 Removed docker registry mirror Use OpenAPI definitions to generate API Client and Form data in UI Refine logging in pkg/selector/pod Add `envFollowKubernetesPattern` to handle k8s-like format env in helm templates Bump chaos-tproxy to v0.4.5 Re-implement chaosctl based on ctrlserver Fix wrong zero value of httpchaos replace-body-action Bump gqlgen to v0.17.2 Bump go to v1.18 Bump toda to v0.2.3 refactor: rename reconcileContext to reconcileInfo Migrate e2e tests from self-hosted Jenkins to Github Action Bump minimist from 1.2.5 to 1.2.6 in /ui Specify image tag of `build-env` and `dev-env` for each branch Specify image tag in e2e tests Must update CHANGELOG Use chaosDaemon.mtls.enabled instead of dashboard.securityMode for chaos-daemon mtls Helm charts: component chaos-dashboard use certain service account and roles Refactor helm charts template, split out webhook configuration and secrets Helm charts: apply webhook.FailurePolicy to all the webhooks with default value `Fail` Bump memStress from v0.2.1 to

Helm charts: configure ca bundle for webhook explicitly Refine logging in pkg/selector/generic/namespace Nothing Nothing Unable to load from saved objects Fix helm install error Fix helm conditions in ingress Fix typo in NewExperiment Fix chaos-kernel build, mark bcc version Fix wrong field name of PhysicalMachineChaos on Chaos Dashboard Fix field descriptions of GCPChaos Fix `real_gettimeofday` on arm64 Fix Github Action `upload-image` Fix JVMChaos to handle the situation that the container which holds the JVM rules has been deleted Fix typo in comments for Chaos API Nothing Nothing Nothing Nothing Nothing Fix recover bug when setting force recover to true Uniformly use Enter to add item in LabelField Add `QPS` and `Burst` for Chaos Dashboard Configuration Nothing Nothing Nothing Nothing Add e2e build image cache PhysicalMachineChaos: add recover command in process Must update CHANGELOG Nothing Nothing Fix: find the correct pid by CommName Nothing Nothing Migrate e2e tests from self-hosted Jenkins to Github Action Bump minimist from 1.2.5 to 1.2.6 in /ui Specify image tag of `build-env` and `dev-env` for each branch Bump toda to v0.2.3 Specify image tag in e2e tests Nothing Nothing Fix `real_gettimeofday` on arm64 Fix Github Action `upload-image` Fix JVMChaos to handle the situation that the container which holds the JVM rules has been deleted Fix typo in comments for Chaos API Nothing Add time skew for gettimeofday Removed docker registry mirror Nothing Nothing Fix default value for concurrencyPolicy Enable the webhooks for `Schedule` and `Workflow` Fix PhysicalMachineChaos to make it able to create network bandwidth experiment. Fix workflow emit new events after accomplished Fix human unreadable logging timestamp Fix default value of percent field in iochaos Fix the unexpected CPU stress for StressChaos with cpu resource limit Fix the bug that create JVMChaos failed in workflow Nothing Add status "Deleting" for chaos experiments on Chaos Dashboard Add prefix for identifier of toda and tproxy in bpm Bump toda to v0.2.2 Bump go to 1.17 JVMChaos ignore AgentLoadException when install agent Bump container-runtime to v0.11.0 Bump kubernetes dependencies to v1.23.1 Kill chaos-tproxy while failing to apply config Fix wrong field name of PhysicalMachineChaos on Chaos Dashboard Fix field descriptions of GCPChaos Fix chaos experiment "not found" on Chaos Dashboard Provide additional print columns for chaos experiments Refactor pkg/time Rename physic to host on Chaos Dashboard Restructure UI codebase Upgrade UI dependencies Set default selector mode from one to all Workflow now ordered by creation time Set up codecov for testing coverage reports Speed up e2e tests Fixed: error when using Schedule and PodChaos for injecting PodChaos as a cron job Fixed: chaos-kernel build failure Add status "Deleting" for chaos experiments on Chaos Dashboard Add prefix for identifier of toda and tproxy in bpm Kill chaos-tproxy while failing to apply config Fix chaos experiment "not found" on Chaos Dashboard Fix field descriptions of GCPChaos Provide additional print columns for chaos experiments Remove redundant codes Speed up e2e tests #2617 Fixed: error when using Schedule and PodChaos for injecting PodChaos as a cron job Fixed: fail to recover when Chaos CR was deleted before appending finalizers Fixed: chaos-kernel build failure Fixed: Chaos Dashboard panic when creating StressChaos