---
title: v1.11 to v1.12
---

Follow the [Regular Upgrading Process](./README.md).

## Upgrading Notable Changes

### API Changes

- Introduced `SecretRef` to `Karmada` API as part of the configuration for connecting to an external etcd cluster can be used to reference a secret that contains credentials for connecting to an external etcd cluster.
- Introduced `extraVolumes` and `extraVolumemounts` to the `Karmada` API to optionally specify extra volumes and volume mounts for the Karmada API server component. 
- Introduced `ApiServerService` field to `Karmada` API as part of the Karmada instance status can be used to reference the API Server service for that instance. This is useful for scenarios where higher level operators need to discover the API Server service of a Karmada instance  for tasks like setting up ingress traffic. 
- Introduced `CustomCertificate.ApiServerCACert` field to `Karmada` API as part of the `Karmada` spec to specify the reference to a secret that contains a custom CA certificate for the Karmada API Server. 
- API change: The ServiceType of the Karmada API server in `Karmada` API now has been restricted to `ClusterIP`, `NodePort` and `LoadBalancer`. 
- Introduced a new condition `CompleteAPIEnablements` to `Cluster` API to represent the API collection status. 
- Introduced `PreserveResourcesOnDeletion` field to both `PropagationPolicy` and `ClusterPropagationPolicy` API, which provides the ability to roll back migration safely.
- API Change: Introduced `FieldOverrider` to both `OverridePolicy` and `ClusterOverridePolicy`, which provides the ability to override structured data nested in manifest like ConfigMap or Secret. 
- Introduced `PurgeMode` to `GracefulEvictionTask` in `ResourceBinding` and `ClusterResourceBinding` API. 
- Introduced `StatePreservation` to `PropagationPolicy`, which will be used to preserve status in case of application failover. 

### Deprecation

- `ExternalEtcd.CAData`, `ExternalEtcd.CertData` and `ExternalEtcd.KeyData` in `Karmada` API are deprecated and will be removed in a future version. Use SecretRef for providing client connection credentials. 
- The following flags have been deprecated in release `v1.11.0` and now have been removed:
    * `karmada-agent`: 
      * --bind-address
      * --secure-port
    * `karmada-controller-manager`: 
      * --bind-address 
      * --secure-port
    * `karmada-scheduler-estimator`:
      * --bind-address 
      * --secure-port
    * `karmada-scheduler`: 
      * --bind-address 
      * --secure-port
    * `karmada-descheduler`:
      * --bind-address 
      * --secure-port

### karmada-controller-manager

- Introduced feature gate `StatefulFailoverInjection` to control whether Karmada collects and injects state information during a failover event for stateful application.
- The feature `Failover` now has been disabled by default, which should be explicitly enabled to avoid unexpected incidents. 