> For the complete MongoDB documentation index, see www.mongodb.com/docs/llms.txt

# Atlas Kubernetes Operator Changelog

Atlas Kubernetes Operator doesn't support Atlas Infinite Database clusters in public preview. To learn which features Atlas Infinite Database supports in public preview, see [Atlas Infinite Database Edition](https://www.mongodb.com/docs/atlas/infinite/atlas-infinite-landing/). To learn more about preview features, see [Preview Features](https://www.mongodb.com/docs/preview-features/).

**Note:**

You can find the full list of Atlas Kubernetes Operator releases [here.](https://github.com/mongodb/mongodb-atlas-kubernetes/releases)

## Atlas Kubernetes Operator 2.17.0

- To view the changelog for Atlas Kubernetes Operator version 2.17.0, see [Atlas Kubernetes Operator v2.17.0.](https://github.com/mongodb/mongodb-atlas-kubernetes/releases/tag/v2.17.0)

## Atlas Kubernetes Operator 2.16.1

- To view the changelog for Atlas Kubernetes Operator version 2.16.1, see [Atlas Kubernetes Operator v2.16.1.](https://github.com/mongodb/mongodb-atlas-kubernetes/releases/tag/v2.16.1)

## Atlas Kubernetes Operator 2.16.0

- To view the changelog for Atlas Kubernetes Operator version 2.16.0, see [Atlas Kubernetes Operator v2.16.0.](https://github.com/mongodb/mongodb-atlas-kubernetes/releases/tag/v2.16.0)

## Atlas Kubernetes Operator 2.15.1

- To view the changelog for Atlas Kubernetes Operator version 2.15.1, see [Atlas Kubernetes Operator v2.15.1.](https://github.com/mongodb/mongodb-atlas-kubernetes/releases/tag/v2.15.1)

## Atlas Kubernetes Operator 2.15.0

- To view the changelog for Atlas Kubernetes Operator version 2.15.0, see [Atlas Kubernetes Operator v2.15.0.](https://github.com/mongodb/mongodb-atlas-kubernetes/releases/tag/v2.15.0)

## Atlas Kubernetes Operator 2.14.1

- To view the changelog for Atlas Kubernetes Operator version 2.14.1, see [Atlas Kubernetes Operator v2.14.1.](https://github.com/mongodb/mongodb-atlas-kubernetes/releases/tag/v2.14.1)

## Atlas Kubernetes Operator 2.14.0

- To view the changelog for Atlas Kubernetes Operator version 2.14.0, see [Atlas Kubernetes Operator v2.14.0.](https://github.com/mongodb/mongodb-atlas-kubernetes/releases/tag/v2.14.0)

## Atlas Kubernetes Operator 2.13.2

- To view the changelog for Atlas Kubernetes Operator version 2.13.2, see [Atlas Kubernetes Operator v2.13.2.](https://github.com/mongodb/mongodb-atlas-kubernetes/releases/tag/v2.13.2)

## Atlas Kubernetes Operator 2.13.1

- To view the changelog for Atlas Kubernetes Operator version 2.13.1, see [Atlas Kubernetes Operator v2.13.1.](https://github.com/mongodb/mongodb-atlas-kubernetes/releases/tag/v2.13.1)

## Atlas Kubernetes Operator 2.13.0

- To view the changelog for Atlas Kubernetes Operator version 2.13.0, see [Atlas Kubernetes Operator v2.13.0.](https://github.com/mongodb/mongodb-atlas-kubernetes/releases/tag/v2.13.0)

## Atlas Kubernetes Operator 2.12.0

- To view the changelog for Atlas Kubernetes Operator version 2.12.0, see [Atlas Kubernetes Operator v2.12.0.](https://github.com/mongodb/mongodb-atlas-kubernetes/releases/tag/v2.12.0)

## Atlas Kubernetes Operator 2.11.1

- To view the changelog for Atlas Kubernetes Operator version 2.11.1, see [Atlas Kubernetes Operator v2.11.1.](https://github.com/mongodb/mongodb-atlas-kubernetes/releases/tag/v2.11.1)

## Atlas Kubernetes Operator 2.11.0

- Updates the Atlas CLI plugin for Kubernetes to v1.2.1. To learn more, see [Atlas CLI Plugin Kubernetes v1.2.1.](https://github.com/mongodb/atlas-cli-plugin-kubernetes/releases/tag/v1.2.1)

- To view the changelog for Atlas Kubernetes Operator version 2.11.0, see [Atlas Kubernetes Operator v2.11.0.](https://github.com/mongodb/mongodb-atlas-kubernetes/releases/tag/v2.11.0)

## Atlas Kubernetes Operator 2.10.0

To view the changelog for Atlas Kubernetes Operator version 2.10.0, see [Atlas Kubernetes Operator v2.10.0.](https://github.com/mongodb/mongodb-atlas-kubernetes/releases/tag/v2.10.0)

## Atlas Kubernetes Operator 2.9.1

To view the changelog for Atlas Kubernetes Operator version 2.9.1, see [Atlas Kubernetes Operator v2.9.1.](https://github.com/mongodb/mongodb-atlas-kubernetes/releases/tag/v2.9.1)

## Atlas Kubernetes Operator 2.9.0

To view the changelog for Atlas Kubernetes Operator version 2.9.0, see [Atlas Kubernetes Operator v2.9.0.](https://github.com/mongodb/mongodb-atlas-kubernetes/releases/tag/v2.9.0)

## Atlas Kubernetes Operator 2.8.2

### Improvements and Fixes

- Fixes an issue where the operator infinitely reconciles `AtlasDeployment` custom resources due to incorrect region configuration comparisons if `spec.deploymentSpec.regionConfigs.autoscaling.compute.enabled` is set to false, but `spec.deploymentSpec.regionConfigs.autoscaling.compute.minInstanceSize` and `spec.deploymentSpec.regionConfigs.autoscaling.compute.maxInstanceSize` are set.

- Fixes an issue where the user couldn't delete expired `AtlasDatabaseUser` custom resources.

- Fixes a bug where the user couldn't set tags with spaces for `AtlasDeployment` custom resources.

- Fixes an issue where the user couldn't create a `AtlasBackupCompliancePolicy` without specifying an `onDemandPolicy`.

- Fixes an issue where Atlas Kubernetes Operator defaults to MongoDB 7.0 for `AtlasDeployment` custom resources if `spec.deploymentSpec.mongoDBMajorVersion` is not set. Atlas Kubernetes Operator now leaves the field unset if the user doesn't set it.

- Added missing `Description` field for `AtlasDatabaseUser` custom resources.

- Supports Kubernetes versions 1.30 through 1.32

- Supports OpenShift version 4.17

## Atlas Kubernetes Operator 2.8.1

### Improvements and Fixes

- Fixes an issue that caused an infinite reconciliation loop when the `spec.deploymentSpec.replicationSpecs.regionConfigs.autoScaling.compute.minInstanceSize` flag is enabled but the [spec.deploymentSpec.replicationSpecs.regionConfigs.autoScaling.compute.minInstanceSize](https://www.mongodb.com/docs/atlas/operator/current/atlasdeployment-custom-resource.md#std-label-atlasdeployment-spec-deploymentspec) field is not cleared.

- Fixes an issue where a project could remain in an unsteady state due to incorrect status conditions for unmanaged private endpolints.

- Fixes an issue where a [dry run](https://www.mongodb.com/docs/atlas/operator/current/ak8so-dry-run.md#std-label-ak8so-dry-run) doesn't capture all teams-related errors.

- Updates `golang.org/x/oauth2` to address security vulnerability [CVE-2025-22868.](https://nvd.nist.gov/vuln/detail/CVE-2025-22868)

- Updates `golang.org/x/net` to address security vulnerability [CVE-2025-22870.](https://nvd.nist.gov/vuln/detail/CVE-2025-22870)

- Supports Kubernetes versions 1.30 through 1.32.

- Supports OpenShift version 4.17.

## Atlas Kubernetes Operator 2.8.0

### New Features, Improvements and Fixes

- **Public Preview** Supports running Atlas Kubernetes Operator in a "dry run" mode, which makes it easier to upgrade from earlier versions and allows you to preview changes to Atlas resources after making a change in Atlas Kubernetes Operator. This feature is in public preview.

- Adds the Kubernetes Atlas CLI commands as a separate plugin, available at [https://github.com/mongodb/atlas-cli-plugin-kubernetes.](https://github.com/mongodb/atlas-cli-plugin-kubernetes)

- Starting with the 2.8.0 Atlas Kubernetes Operator release, the Kubernetes Atlas CLI commands are now available as a separate plugin, available at [https://github.com/mongodb/atlas-cli-plugin-kubernetes](https://github.com/mongodb/atlas-cli-plugin-kubernetes). When you run the `atlas kubernetes` command, Atlas Kubernetes Operator installs this plugin. You can update the plugin to the newest version with the [atlas plugin update](https://www.mongodb.com/docs/atlas/cli/current/command/atlas-plugin-update/) command.

- Adds Atlas [Network Peering](https://www.mongodb.com/docs/atlas/operator/current/atlasnetworkpeering-custom-resource.md#std-label-atlasnetworkpeering-custom-resource) and [Network Container](https://www.mongodb.com/docs/atlas/operator/current/atlasnetworkcontainer-custom-resource.md#std-label-atlasnetworkcontainer-custom-resource) [independent custom resources](https://www.mongodb.com/docs/atlas/operator/current/ak8so-independent-crd.md#std-label-ak8so-independent-crd). Configuring these resources via the [AtlasProject CRD](https://www.mongodb.com/docs/atlas/operator/current/atlasproject-custom-resource.md#std-label-spec-network-peers) is now deprecated, and support will be removed in a later release of the Atlas Kubernetes Operator.

- Fixes an issue related to connection secrets clean up.

- Fixes an issue where translating Backup Compliance Policies could lead to a nil panic.

- Fixes alerts for Atlas serverless instances and allows to correctly specify decimal thresholds.

## Atlas Kubernetes Operator 2.7.1

### New Features, Improvements and Fixes

- Fixes a bug blocking the creation of Flex clusters when trying to create a new Serverless instance.

- Fixes a bug where connection secrets are not generated for Flex clusters when a database user is added.

- Fixes a bug in the `AtlasDatabaseUser` resource that blocked unsetting the scope once added in the spec.

- Fixed a bug where applying an `AtlasProject` could delete network peering that is not managed by and not configured in the `AtlasProject` custom resource.

## Atlas Kubernetes Operator 2.7.0

### New Features, Improvements and Fixes

- Adds support for [Flex clusters.](https://www.mongodb.com/docs/atlas/operator/current/atlasdeployment-custom-resource.md#std-label-ak8so-migration-to-flex)

- Adds support for configuring Atlas IP Access Lists using the new [`AtlasIPAccessList` Custom Resource](https://www.mongodb.com/docs/atlas/operator/current/atlasipaccesslist-custom-resource.md#std-label-atlasipaccesslist-custom-resource). This allows for accidental deletion protection. Configuring IP Access Lists using the `AtlasProject` custom resource is deprecated and support will end in a future release.

- Fixes a bug where Atlas Kubernetes Operator could crash if: - [spec.deploymentSpec.replicationSpecs](https://www.mongodb.com/docs/atlas/operator/current/atlasdeployment-custom-resource.md#std-label-atlasdeployment-spec-deploymentspec-replicationspecs) is set, but empty - [spec.deploymentSpec.replicationSpecs](https://www.mongodb.com/docs/atlas/operator/current/atlasdeployment-custom-resource.md#std-label-atlasdeployment-spec-deploymentspec-replicationspecs) has empty entries - [spec.deploymentSpec.replicationSpecs.regionConfigs](https://www.mongodb.com/docs/atlas/operator/current/atlasdeployment-custom-resource.md#std-label-atlasdeployment-spec-deploymentspec-replicationspecs-regionconfigs) is set, but empty - [spec.deploymentSpec.replicationSpecs.regionConfigs](https://www.mongodb.com/docs/atlas/operator/current/atlasdeployment-custom-resource.md#std-label-atlasdeployment-spec-deploymentspec-replicationspecs-regionconfigs) has empty entries

- Fixes a bug where Atlas Kubernetes Operator reconciled private endpoints [defined with custom resources](https://www.mongodb.com/docs/atlas/operator/current/atlasprivateendpoint-custom-resource.md#std-label-atlasprivateendpoint-custom-resource) every three hours instead of every 15 minutes.

- Fixes a bug where Atlas Kubernetes Operator ignores the migration of existing custom roles maintained as AtlasProject subresources to [independent custom resources.](https://www.mongodb.com/docs/atlas/operator/current/atlascustomrole-custom-resource.md#std-label-ak8so-configure-custom-database-roles)

- Supports Kubernetes versions 1.28 through 1.30.

- Supports OpenShift version 4.17.

### Deprecations

`M2`, `M5`, and serverless instances are deprecated. Support for these instances will be removed in a future release.

## Atlas Kubernetes Operator 2.6.1

### New Features, Improvements and Fixes

- Fixes a bug that caused custom roles configured by `AtlasProject` resources to be deleted.

- Fixes a bug that limits maintaining only up to 100 [Data Federation](https://www.mongodb.com/docs/atlas/operator/current/atlasdatafederation-custom-resource.md#std-label-atlasdatafederation-custom-resource), [IP Access List](https://www.mongodb.com/docs/atlas/operator/current/atlasproject-custom-resource.md#std-label-atlasproject-custom-resource), [Network Peering](https://www.mongodb.com/docs/atlas/operator/current/atlasprivateendpoint-custom-resource.md#std-label-atlasprivateendpoint-custom-resource), [Teams](https://www.mongodb.com/docs/atlas/operator/current/atlasteam-custom-resource.md#std-label-atlasteam-custom-resource), [Federated Authentication](https://www.mongodb.com/docs/atlas/operator/current/atlasfederatedauth-custom-resource.md#std-label-atlasfederatedauth-custom-resource), [Alert Configurations](https://www.mongodb.com/docs/atlas/operator/current/atlasproject-custom-resource.md#std-label-atlasproject-custom-resource), and [Stream Connection](https://www.mongodb.com/docs/atlas/operator/current/atlasstreamworkspace-custom-resource.md#std-label-atlasstreamworkspace-custom-resource) resources.

- Supports Kubernetes versions 1.28 through 1.30.

- Supports OpenShift version 4.16.

## Atlas Kubernetes Operator 2.6.0

### New Features, Improvements and Fixes

- Adds support for [federated authentication.](https://www.mongodb.com/docs/atlas/operator/current/ak8so-configure-federated-authentication.md#std-label-ak8so-federated-auth)

- Adds ability to configure private endpoints using the new [`AtlasPrivateEndpoint` Custom Resource.](https://www.mongodb.com/docs/atlas/operator/current/atlasprivateendpoint-custom-resource.md#std-label-atlasprivateendpoint-custom-resource)

- Adds ability to configure custom roles using the new [`AtlasCustomRole` Custom Resource.](https://www.mongodb.com/docs/atlas/operator/current/atlascustomrole-custom-resource.md#std-label-ak8so-configure-custom-database-roles)

- Fixes a bug that deleted the database user secrets for serverless instances.

- Fixes an issue that prevented Atlas Kubernetes Operator from creating Atlas Search indexes.

- Fixes incorrect reconciliation and prevents accidental deletion of data federation private endpoints that are not tracked by Atlas Kubernetes Operator.

- Fixes an issue that prevented Atlas Kubernetes Operator from reconciling integrations.

- Fixes a bug that caused the data federation controller to ignore changes to the `AtlasProject` custom resource.

- Supports Kubernetes versions 1.28 through 1.30.

- Supports OpenShift version 4.16.

## Atlas Kubernetes Operator 2.5.0

### New Features, Improvements and Fixes

- Adds support for local credentials for custom resources, allowing specific custom resources to be managed using specific Atlas Admin API credentials.

- `AtlasDeployment` and `AtlasDatabaseUser` can now be used as [independent resources](https://www.mongodb.com/docs/atlas/operator/current/ak8so-independent-crd.md#std-label-ak8so-independent-crd), meaning you can manage Atlas deployments without also managing the project using the Atlas Kubernetes Operator.

- Adds new "basic deployment" and "advanced deployment" [Helm templates](https://www.mongodb.com/docs/atlas/operator/current/ak8so-quick-start-helm.md#std-label-ak8so-quick-start-helm-ref) that allow provisioning of Atlas projects, deployments, and database users.

- Fixes the case when changing the Instance Size was ignored for a shared cluster.

- Resolves Operator panic when changing a deployment to or from serverless instances.

- Adds cleanup of orphan connection strings after a database user was deleted.

- Fixes the case when an `AtlasTeam` resource that is not managed by the Atlas Kubernetes Operator (not assigned to any `AtlasProject` resource) was wrongly deleted.

- Removes custom `ResourceWatcher` in favor of controller-runtime field indexers. The legacy internal custom `ResourceWatcher` had bugs and its usage was error prone which could lead to lost data and data integrity issues with resources managed by Atlas Kubernetes Operator.

- Supports Kubernetes versions 1.28 through 1.30.

- Supports OpenShift version 4.16.

## Atlas Kubernetes Operator 2.4.1

### New Features, Improvements and Fixes

- Fixes a bug where Atlas Kubernetes Operator sometimes skips periodic reconciliation if there were no changes to [custom resources.](https://www.mongodb.com/docs/atlas/operator/current/custom-resources.md#std-label-custom-resources)

- Updates [deletion protection](https://www.mongodb.com/docs/atlas/operator/current/index.md#std-label-deletion-protection) to delete a team from the Atlas Kubernetes Operator, but keeps it in Atlas when there are no projects associated to it.

- Supports Kubernetes versions 1.28 through 1.30.

- Supports OpenShift version 4.15.

## Atlas Kubernetes Operator 2.4.0

### New Features, Improvements and Fixes

- Supports [Backup Compliance Policy.](https://www.mongodb.com/docs/atlas/operator/current/ak8so-bcp.md#std-label-ak8so-bcp)

- Supports [short names](https://www.mongodb.com/docs/atlas/operator/current/custom-resources.md#std-label-custom-resources) for Atlas Kubernetes Operator custom resources.

- Introduces `kubectl` [command for listing](https://www.mongodb.com/docs/atlas/operator/current/custom-resources.md#std-label-custom-resources) all Atlas Kubernetes Operator resources in your cluster.

- Supports Kubernetes versions 1.28 through 1.30.

- Supports OpenShift version 4.15.

## Atlas Kubernetes Operator 2.3.1

### New Features, Improvements and Fixes

- Improves validation of the [spec.x509Type](https://www.mongodb.com/docs/atlas/operator/current/atlasdatabaseuser-custom-resource.md#std-label-atlasdatabaseuser-spec) field in the [AtlasDatabaseUser](https://www.mongodb.com/docs/atlas/operator/current/atlasdatabaseuser-custom-resource.md#std-label-atlasdatabaseuser-custom-resource) custom resource. The valid values continue to be `NONE`, `CUSTOMER`, `MANAGED`.

- Prevents redundant updates by improving sorting of `regionConfigs` in the [AtlasDeployment](https://www.mongodb.com/docs/atlas/operator/current/atlasdeployment-custom-resource.md#std-label-atlasdeployment-custom-resource) custom resource.

- Supports Kubernetes versions 1.27 through 1.29.

- Supports OpenShift version 4.14.

## Atlas Kubernetes Operator 2.3.0

### New Features, Improvements and Fixes

- Adds support for [Atlas Stream Processing.](https://www.mongodb.com/docs/atlas/operator/current/ak8so-stream-processing.md#std-label-ak8so-stream-processing)

- Adds support for [Atlas Search Indexes.](https://www.mongodb.com/docs/atlas/operator/current/atlasdeployment-custom-resource.md#std-label-atlasdeployment-spec-deploymentspec-searchindexes)

- Adds support for [Atlas Search Dedicated Nodes.](https://www.mongodb.com/docs/atlas/operator/current/atlasdeployment-custom-resource.md#std-label-atlasdeployment-spec-deploymentspec-searchnodes)

- Supports Kubernetes versions 1.27 through 1.29.

- Supports OpenShift version 4.14.

## Atlas Kubernetes Operator 2.2.2

### New Features, Improvements and Fixes

- Supports Kubernetes versions 1.27 through 1.29.

- Supports OpenShift version 4.14.

### Fixes

- Fixes a concurrency issue that could have resulted in the Atlas Kubernetes Operator missing changes made to custom resource definitions.

## Atlas Kubernetes Operator 2.2.1

### New Features, Improvements and Fixes

- All MongoDB images are now signed.

- Removes CPU limits and increases memory limits to 1Gi and memory requests to 256Mi.

- Improves reconciliation of Serverless Private Endpoints. Atlas Kubernetes Operator no longer gets stuck in a reconcile loop that recreates serverless private endpoints when they fail to synchronize with Atlas.

- Ensures [Atlas Teams](https://www.mongodb.com/docs/atlas/operator/current/ak8so-configure-teams.md#std-label-ak8so-team) are always cleaned up. This improvement prevents Atlas Team resources from being orphaned and left in a cluster with no associated projects.

- Supports Kubernetes versions 1.27 through 1.29.

- Supports OpenShift version 4.14.

### Deprecations and Removals

- This release deprecates the following fields and setting them has no effect in serverless deployments:

  - `DiskIOPS`

  - `DiskTypeName`

  - `EncryptEBSVolume`

  - `InstanceSizeName`

  - `VolumeType`

  - `AutoScaling`

## Atlas Kubernetes Operator 2.2.0

### Fixes

- Fixes [Federated Authentication](https://www.mongodb.com/docs/atlas/operator/current/ak8so-configure-federated-authentication.md#std-label-ak8so-federated-auth) role mapping assignment handling.

### New

- Adds support for `AP1` and `US1-Fed` Datadog regions. To learn more, see [Integrate with Third-Party Services.](https://www.mongodb.com/docs/atlas/operator/current/ak8so-integrate-third-party.md#std-label-ak8so-integrate-third-party)

- Adds support for yearly backup frequencies for [Cloud Backups.](https://www.mongodb.com/docs/atlas/operator/current/ak8so-back-up-deployment.md#std-label-ak8so-backup)

## Atlas Kubernetes Operator 2.1.0

### Fixes

- Disables the `--subobject-deletion-protection` flag due to a bug that prevents users from modifying existing resources when [deletion protection](https://www.mongodb.com/docs/atlas/operator/current/index.md#std-label-deletion-protection) is enabled. You can still use the [--object-deletion-protection](https://www.mongodb.com/docs/atlas/operator/current/index.md#std-label-revert-deletion-protection) flag to control deletion protection on a per-custom-resource basis.

### New

- Adds the `terminationProtectionEnabled` property to the `deploymentSpec` fields in the [`AtlasProject` Custom Resource](https://www.mongodb.com/docs/atlas/operator/current/atlasproject-custom-resource.md#std-label-atlasproject-custom-resource) to achieve feature parity with [serverless instances](https://www.mongodb.com/docs/atlas/operator/current/atlasdeployment-custom-resource.md#std-label-ak8so-serverless-instance) deployed with the [`AtlasDeployment` Custom Resource.](https://www.mongodb.com/docs/atlas/operator/current/atlasdeployment-custom-resource.md#std-label-atlasdeployment-custom-resource)

- Adds OIDC (OpenID Connect) and AWS (Amazon Web Services) IAM authentication fields to the [`AtlasDatabaseUser` Custom Resource](https://www.mongodb.com/docs/atlas/operator/current/atlasdatabaseuser-custom-resource.md#std-label-atlasdatabaseuser-custom-resource). To learn more, see [spec.oidcAuthType.](https://www.mongodb.com/docs/atlas/operator/current/atlasdatabaseuser-custom-resource.md#std-label-atlasdatabaseuser-spec)

### Changes

- Deprecates `cloudProviderAccess*` fields in favor of `cloudProviderIntegration*` fields in the [`AtlasProject` Custom Resource.](https://www.mongodb.com/docs/atlas/operator/current/atlasproject-custom-resource.md#std-label-atlasproject-custom-resource)

## Atlas Kubernetes Operator 2.0.1

### Breaking Changes

- Custom resources you delete in Kubernetes won't get deleted in Atlas. Instead, Atlas Kubernetes Operator stops managing those resources. For example, if you delete an [`AtlasProject` Custom Resource](https://www.mongodb.com/docs/atlas/operator/current/atlasproject-custom-resource.md#std-label-atlasproject-custom-resource) in Kubernetes, Atlas Kubernetes Operator no longer automatically deletes the corresponding project from Atlas, preventing accidental or unexpected deletions. To learn more, including how to [revert this behavior](https://www.mongodb.com/docs/atlas/operator/current/index.md#std-label-revert-deletion-protection) to the default prior to Atlas Kubernetes Operator 2.0.1, see [New Default: Deletion Protection in Atlas Kubernetes Operator 2.0.](https://www.mongodb.com/docs/atlas/operator/current/index.md#std-label-deletion-protection)

- `deploymentSpec` replaces `advancedDeploymentSpec` in the `AtlasDeployment` custom resource. You must update your `AtlasDeployment` custom resource as follows:

  - If you use `advancedDeploymentSpec`, rename to `deploymentSpec`. You don't need to change any formatting.

  - If you used `deploymentSpec` prior to Atlas Kubernetes Operator 2.0.1, rewrite your `AtlasDeployment` custom resource to match the formatting used in [the examples.](https://www.mongodb.com/docs/atlas/operator/current/atlasdeployment-custom-resource.md#std-label-atlasdeployment-examples)

- Improves snapshot distribution management by removing `replicationSpecId` from the [`AtlasBackupSchedule` Custom Resource](https://www.mongodb.com/docs/atlas/operator/current/atlasbackupschedule-custom-resource.md#std-label-atlasbackupschedule-custom-resource) so it can be reused by multiple deployments managed by Atlas Kubernetes Operator. The `replicationSpecId` is now automatically set for every deployment that references it. As a result of this change, you can no longer configure `replicationSpecId` and should remove it from your `AtlasBackupSchedule` custom resource.

- Forces the use of `secretRef` fields for `encryptionAtRest` and `alertConfigurations` features to promote security best practices. You should now store API secrets and credentials as [secrets](https://kubernetes.io/docs/concepts/configuration/secret/) and reference them from the [`AtlasProject` Custom Resource](https://www.mongodb.com/docs/atlas/operator/current/atlasproject-custom-resource.md#std-label-atlasproject-custom-resource) using the following fields:

  For [spec.alertConfigurations.notifications:](https://www.mongodb.com/docs/atlas/operator/current/atlasproject-custom-resource.md#std-label-atlasproject-spec-alertconfigurations-notifications)

  - Use `APITokenRef` instead of `APIToken`

  - Use `DatadogAPIKeyRef` instead of `DatadogAPIKey`

  - Use `FlowdockTokenAPIRef` instead of `FlowdockTokenAPI`

  - Use `OpsGenieAPIKeyRef` instead of `OpsGenieAPIKey`

  - Use `VictorOpsSecretRef` instead of `VictorOpsAPIKey` and `VictorOpsRoutingKey`

  To learn more, see [Third-Party Alert Configuration Example.](https://www.mongodb.com/docs/atlas/operator/current/atlasproject-custom-resource.md#std-label-ak8so-tp-ac-example)

  For [spec.encryptionAtRest:](https://www.mongodb.com/docs/atlas/operator/current/atlasproject-custom-resource.md#std-label-atlasproject-spec-encryptionatrest)

  - **AWS** Use `secretRef` instead of `AccessKeyID`, `SecretAccessKey`, `CustomerMasterKeyID`, and `RoleID`.

  - **Azure** Use `secretRef` instead of `SubscriptionID`, `KeyVaultName`, `KeyIdentifier`, and `Secret`.

  - **GCP** Use `secretRef` instead of `ServiceAccountKey` or `KeyVersionResourceID`.

  To learn more, see [Encrypt Data Using a Key Management Service.](https://www.mongodb.com/docs/atlas/operator/current/ak8so-encryption-at-rest-customer-keys.md#std-label-ak8so-ear)

## Atlas Kubernetes Operator 2.0.0

**Warning:**

This release contains an issue that prevents Atlas Kubernetes Operator from reconciling the [`AtlasBackupSchedule` Custom Resource](https://www.mongodb.com/docs/atlas/operator/current/atlasbackupschedule-custom-resource.md#std-label-atlasbackupschedule-custom-resource) when [deletion protection](https://www.mongodb.com/docs/atlas/operator/current/index.md#std-label-deletion-protection) is enabled. Don't use this version (2.0.0), and instead use Atlas Kubernetes Operator 2.0.1.

## Atlas Kubernetes Operator 1.9.3

- Fixes an issue that caused reconciliation to fail when you updated a deployment with autoscaling enabled.

## Atlas Kubernetes Operator 1.9.1

### Fixes

- Fixes missing permissions for the [`AtlasFederatedAuth` Custom Resource.](https://www.mongodb.com/docs/atlas/operator/current/atlasfederatedauth-custom-resource.md#std-label-atlasfederatedauth-custom-resource)

## Atlas Kubernetes Operator 1.9.0

### Attention

- Validation now rejects duplicate alert configurations.

### Fixes

- Fixes a bug that duplicated projects listed in a team's status.

- Refactors the `IPAccessList` reconciliation flow to avoid unneeded recreation.

- Fixes backup schedule repeatedly updating.

### New

- Adds the [`AtlasFederatedAuth` Custom Resource](https://www.mongodb.com/docs/atlas/operator/current/atlasfederatedauth-custom-resource.md#std-label-atlasfederatedauth-custom-resource) to configure [federated authentication](https://www.mongodb.com/docs/atlas/security/federated-authentication.md#std-label-atlas-federated-authentication) for Identity Providers that you already registered in Atlas.

- Supports [Atlas for Government](https://www.mongodb.com/docs/atlas/government/) deployments. You must configure the Gov endpoint accordingly. Atlas Kubernetes Operator supports only AWS (Amazon Web Services) as a cloud provider for Atlas for Government.

- Supports database deployment resource tagging. To learn more, see the following settings:

  - [spec.deploymentSpec.tags](https://www.mongodb.com/docs/atlas/operator/current/atlasdeployment-custom-resource.md#std-label-atlasdeployment-spec-deploymentspec-tags)

  - [spec.serverlessSpec.tags](https://www.mongodb.com/docs/atlas/operator/current/atlasdeployment-custom-resource.md#std-label-atlasdeployment-spec-serverlessspec-tags)

- Adds new arguments to serverless for continuous backups and termination protection.

- Improves validation and handling of autoscaling reporting.

- Provides guidance on using third-party secret management tools with Atlas Kubernetes Operator to support external key management systems. To learn how to configure external secret storage for Atlas Kubernetes Operator, see [Configure Secret Storage.](https://www.mongodb.com/docs/atlas/operator/current/ak8so-secret-storage.md#std-label-ak8so-secret-storage)

- Uses UBI micro base image instead of minimal. The micro base image is a smaller base image with fewer dependencies.

## Atlas Kubernetes Operator 1.8.2

[`AtlasProject` Custom Resource:](https://www.mongodb.com/docs/atlas/operator/current/atlasproject-custom-resource.md#std-label-atlasproject-custom-resource)

- Fixes an issue that caused continual audit log updates in the project activity feed.

- Fixes an issue that caused incorrect reconciliation of [custom database roles.](https://www.mongodb.com/docs/atlas/operator/current/atlascustomrole-custom-resource.md#std-label-ak8so-configure-custom-database-roles)

[`AtlasDeployment` Custom Resource:](https://www.mongodb.com/docs/atlas/operator/current/atlasdeployment-custom-resource.md#std-label-atlasdeployment-custom-resource)

- Fixes an issue that prevented deleting the [`AtlasBackupSchedule` Custom Resource](https://www.mongodb.com/docs/atlas/operator/current/atlasbackupschedule-custom-resource.md#std-label-atlasbackupschedule-custom-resource) when it was referenced by an [`AtlasDeployment` Custom Resource.](https://www.mongodb.com/docs/atlas/operator/current/atlasdeployment-custom-resource.md#std-label-atlasdeployment-custom-resource)

## Atlas Kubernetes Operator 1.8.1

- Upgrades the Atlas client to v0.32.0.

[`AtlasProject` Custom Resource:](https://www.mongodb.com/docs/atlas/operator/current/atlasproject-custom-resource.md#std-label-atlasproject-custom-resource)

- Fixes an issue where Atlas Kubernetes Operator could not watch [secrets](https://www.mongodb.com/docs/atlas/operator/current/configure-ak8so-access-to-atlas.md#std-label-ak8so-secrets) for [third-party integrations.](https://www.mongodb.com/docs/atlas/operator/current/ak8so-integrate-third-party.md#std-label-ak8so-integrate-third-party)

- Adds support for storing cloud provider credentials in secrets instead of the [`AtlasProject` Custom Resource](https://www.mongodb.com/docs/atlas/operator/current/atlasproject-custom-resource.md#std-label-atlasproject-custom-resource) for the [Encryption at Rest](https://www.mongodb.com/docs/atlas/operator/current/ak8so-encryption-at-rest-customer-keys.md#std-label-ak8so-ear) feature.

- Fixes Google Cloud credential validation for the [Encryption at Rest](https://www.mongodb.com/docs/atlas/operator/current/ak8so-encryption-at-rest-customer-keys.md#std-label-ak8so-ear) feature.

[`AtlasDatabaseUser` Custom Resource:](https://www.mongodb.com/docs/atlas/operator/current/atlasdatabaseuser-custom-resource.md#std-label-atlasdatabaseuser-custom-resource)

- Fixes an issue where private endpoint connection strings were missing from sharded clusters.

## Atlas Kubernetes Operator 1.8.0

- Fixes the `aws.roleID` field for the [Encryption at Rest](https://www.mongodb.com/docs/atlas/operator/current/ak8so-encryption-at-rest-customer-keys.md#std-label-ak8so-ear) feature.

- Supports optional secrets for [Alerts Configuration.](https://www.mongodb.com/docs/atlas/operator/current/ak8so-alert-configurations.md#std-label-ak8so-alert-configurations)

[`AtlasDataFederation` Custom Resource:](https://www.mongodb.com/docs/atlas/operator/current/atlasdatafederation-custom-resource.md#std-label-atlasdatafederation-custom-resource)

- Supports managing [Atlas Data Federation](https://www.mongodb.com/docs/atlas/operator/current/ak8so-set-up-data-federation.md#std-label-ak8so-data-federation) deployments.

## Atlas Kubernetes Operator 1.7.3

- Moves `leases.coordination.k8s.io` to its own proxy-role rule.

[`AtlasProject` Custom Resource:](https://www.mongodb.com/docs/atlas/operator/current/atlasproject-custom-resource.md#std-label-atlasproject-custom-resource)

- Adds the `spec.settings.IsExtendedStorageSizesEnabled` parameter.

- Upgrades Go to 1.20.

## Atlas Kubernetes Operator 1.7.2

- Updates the value of the `spec.export.frequencyType` parameter of the `AtlasBackupSchedule` custom resource from `MONTHLY` to `monthly`.

- Fixes connection secret generation for different namespaces.

- Fixes configuration of automated cloud backup export.

## Atlas Kubernetes Operator 1.7.1

- Fixes CVE-2023-0436: Secret logging may occur in debug mode of Atlas Operator

  The affected versions of MongoDB Atlas Kubernetes Operator may print sensitive information like GCP service account keys and API integration secrets while DEBUG mode logging is enabled. This issue affects MongoDB Atlas Kubernetes Operator versions: 1.5.0, 1.6.0, 1.6.1, 1.7.0. Please note that this is reported on an EOL version of the product, and users are advised to upgrade to the latest supported version.

  Required Configuration:

  DEBUG logging is not enabled by default, and must be configured by the end-user. To check the log-level of the Operator, review the flags passed in your deployment configuration (eg. [https://github.com/mongodb/mongodb-atlas-kubernetes/blob/main/config/manager/bases/manager.yaml)](https://github.com/mongodb/mongodb-atlas-kubernetes/blob/main/config/manager/bases/manager.yaml)

  CVSS: 4.5

  CWE-319: Cleartext Transmission of Sensitive Information

## Atlas Kubernetes Operator 1.7.0

- Adds Openshift 4.12 compatibility.

- Supports Kubernetes 1.25.

[`AtlasProject` Custom Resource:](https://www.mongodb.com/docs/atlas/operator/current/atlasproject-custom-resource.md#std-label-atlasproject-custom-resource)

- A project can now refer to a connection secret in a different namespace with the [spec.connectionSecretRef.namespace](https://www.mongodb.com/docs/atlas/operator/current/atlasproject-custom-resource.md#std-label-atlasproject-spec-connectionsecretref) parameter.

- Supports multiple private endpoints per a single provider and region.

- Supports storing all private endpoint connection strings.

- Fixes an issue with Google Cloud KMS (Key Management Service) for the [Encryption at Rest](https://www.mongodb.com/docs/atlas/security-kms-encryption.md#std-label-security-kms-encryption) feature.

[`AtlasDeployment` Custom Resource:](https://www.mongodb.com/docs/atlas/operator/current/atlasdeployment-custom-resource.md#std-label-atlasdeployment-custom-resource)

- Deprecates the `autoIndexingEnabled` field.

- Supports snapshot distribution.

## Atlas Kubernetes Operator 1.6.1

[`AtlasProject` Custom Resource:](https://www.mongodb.com/docs/atlas/operator/current/atlasproject-custom-resource.md#std-label-atlasproject-custom-resource)

- Fixes an issue with an IP access list.

[`AtlasDeployment` Custom Resource:](https://www.mongodb.com/docs/atlas/operator/current/atlasdeployment-custom-resource.md#std-label-atlasdeployment-custom-resource)

- Fixes reconciliation for the [`AtlasBackupSchedule` Custom Resource.](https://www.mongodb.com/docs/atlas/operator/current/atlasbackupschedule-custom-resource.md#std-label-atlasbackupschedule-custom-resource)

## Atlas Kubernetes Operator 1.6.0

### New Features

[`AtlasProject` Custom Resource:](https://www.mongodb.com/docs/atlas/operator/current/atlasproject-custom-resource.md#std-label-atlasproject-custom-resource)

- Adds an optional `--operatorVersion` parameter. To learn more, see [Import Atlas Projects into Atlas Kubernetes Operator.](https://www.mongodb.com/docs/atlas/operator/current/ak8so-import-projects.md#std-label-ak8so-import-projects)

- Sets [finalizers](https://kubernetes.io/docs/concepts/overview/working-with-objects/finalizers/) and support labels for [`AtlasBackupSchedule` Custom Resource](https://www.mongodb.com/docs/atlas/operator/current/atlasbackupschedule-custom-resource.md#std-label-atlasbackupschedule-custom-resource), [`AtlasBackupPolicy` Custom Resource](https://www.mongodb.com/docs/atlas/operator/current/atlasbackuppolicy-custom-resource.md#std-label-atlasbackuppolicy-custom-resource), and [Atlas teams](https://www.mongodb.com/docs/atlas/operator/current/ak8so-configure-teams.md#std-label-ak8so-team) custom resources.

[`AtlasDeployment` Custom Resource:](https://www.mongodb.com/docs/atlas/operator/current/atlasdeployment-custom-resource.md#std-label-atlasdeployment-custom-resource)

- Adds support for [Global Cluster](https://www.mongodb.com/docs/atlas/global-clusters/) parameters in `spec.advancedDeploymentSpec.*` and `spec.deploymentSpec.*`. To learn more, see [AtlasDeployment custom resource parameters](https://www.mongodb.com/docs/atlas/operator/current/atlasdeployment-custom-resource.md#std-label-atlasdeployment-crd-params). These Global Cluster parameters map zones to geographic regions and allow you to add labels. For a full list of available parameters, see the Atlas [Global Clusters API.](https://www.mongodb.com/docs/api/doc/atlas-admin-api-v2/operation/operation-creategroupclusterglobalwritecustomzonemapping)

- The Atlas Kubernetes Operator image now [supports ARM64.](https://www.mongodb.com/docs/atlas/operator/current/ak8so-quick-start-helm.md#std-label-ak8so-quick-start-prereq)

## Atlas Kubernetes Operator 1.5.0

### New Features

[`AtlasProject` Custom Resource:](https://www.mongodb.com/docs/atlas/operator/current/atlasproject-custom-resource.md#std-label-atlasproject-custom-resource)

- Adds [Atlas Teams](https://www.mongodb.com/docs/atlas/operator/current/ak8so-configure-teams.md#std-label-ak8so-team) support.

[`AtlasDeployment` Custom Resource:](https://www.mongodb.com/docs/atlas/operator/current/atlasdeployment-custom-resource.md#std-label-atlasdeployment-custom-resource)

- Adds [serverless private endpoint](https://www.mongodb.com/docs/atlas/operator/current/ak8so-private-link.md#std-label-ak8so-private-endpoint) support.

### Fixes

- Fixes an issue with connection secret creation.

- Fixes the minimum version of Openshift.

[`AtlasProject` Custom Resource:](https://www.mongodb.com/docs/atlas/operator/current/atlasproject-custom-resource.md#std-label-atlasproject-custom-resource)

- Fixes the `InstanceSize` must match issue.

- Ensures private endpoints are always added to the status.

[`AtlasDeployment` Custom Resource:](https://www.mongodb.com/docs/atlas/operator/current/atlasdeployment-custom-resource.md#std-label-atlasdeployment-custom-resource)

- Converts the `OplogMinRetentionHours` field properly.

## Atlas Kubernetes Operator 1.4.1

### New Features

- Updates the minimum required [Openshift](https://docs.openshift.com/) version to 4.8.

[`AtlasProject` Custom Resource:](https://www.mongodb.com/docs/atlas/operator/current/atlasproject-custom-resource.md#std-label-atlasproject-custom-resource)

- Adds support for [custom database roles](https://www.mongodb.com/docs/atlas/operator/current/atlascustomrole-custom-resource.md#std-label-ak8so-configure-custom-database-roles) via the [spec.customRoles](https://www.mongodb.com/docs/atlas/operator/current/atlasproject-custom-resource.md#std-label-atlasproject-spec-customroles) field.

## Atlas Kubernetes Operator 1.4.0

### New Features

[`AtlasProject` Custom Resource:](https://www.mongodb.com/docs/atlas/operator/current/atlasproject-custom-resource.md#std-label-atlasproject-custom-resource)

- Adds support for audit logs. You can enable auditing with the [spec.auditing.enabled](https://www.mongodb.com/docs/atlas/operator/current/atlasproject-custom-resource.md#std-label-atlasproject-spec-auditing) field. For more information about Atlas Kubernetes Operator auditing, see [Configure Audit Logs.](https://www.mongodb.com/docs/atlas/operator/current/ak8so-configure-audit-logs.md#std-label-ak8so-configure-audit-logs)

- Adds support for project settings via the [spec.settings](https://www.mongodb.com/docs/atlas/operator/current/atlasproject-custom-resource.md#std-label-atlasproject-spec-settings) field.

- Adds support for alert configurations via the `spec.alertConfigurations` field.

[`AtlasDeployment` Custom Resource:](https://www.mongodb.com/docs/atlas/operator/current/atlasdeployment-custom-resource.md#std-label-atlasdeployment-custom-resource)

- Adds support for autoscaling of the `instanceSize` and `diskSizeGB` parameters.

### Fixes

- Fixes an issue where adding an IP address with CIDR block `/32` to Network Access could leave the IP Access List inactive indefinitely.

- Fixes an issue where creating project integrations that require namespace references could result in errors when the user provides a namespace other than the project namespace, or does not provide a namespace.

## Atlas Kubernetes Operator 1.3.0

### New Features

[`AtlasProject` Custom Resource:](https://www.mongodb.com/docs/atlas/operator/current/atlasproject-custom-resource.md#std-label-atlasproject-custom-resource)

- Adds support for [network peering](https://www.mongodb.com/docs/atlas/operator/current/ak8so-network-peering.md#std-label-ak8so-network-peering) via the [spec.networkPeers](https://www.mongodb.com/docs/atlas/operator/current/atlasproject-custom-resource.md#std-label-atlasproject-spec-networkpeers) field.

- Adds support for [cloud provider access](https://www.mongodb.com/docs/atlas/operator/current/ak8so-unified-access.md#std-label-ak8so-unified-access) via the [spec.cloudProviderAccessRoles](https://www.mongodb.com/docs/atlas/operator/current/atlasproject-custom-resource.md#std-label-atlasproject-spec-cloudprovideraccessroles) field.

- Adds support for [encryption at rest](https://www.mongodb.com/docs/atlas/operator/current/ak8so-encryption-at-rest-customer-keys.md#std-label-ak8so-ear) via the [spec.encryptionAtRest](https://www.mongodb.com/docs/atlas/operator/current/atlasproject-custom-resource.md#std-label-atlasproject-spec-encryptionatrest) field.

[`AtlasDeployment` Custom Resource:](https://www.mongodb.com/docs/atlas/operator/current/atlasdeployment-custom-resource.md#std-label-atlasdeployment-custom-resource)

- Adds a test to ensure that deleting a [CRD](https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/) does not affect [`AtlasDeployment` Custom Resource](https://www.mongodb.com/docs/atlas/operator/current/atlasdeployment-custom-resource.md#std-label-atlasdeployment-custom-resource)s with the `mongodb.com/atlas-resource-policy: "keep"` annotation.

### Fixes

- Fixes a resource reconciliation issue that occurred when you delete an [`AtlasDeployment` Custom Resource](https://www.mongodb.com/docs/atlas/operator/current/atlasdeployment-custom-resource.md#std-label-atlasdeployment-custom-resource) after the API key has expired.

- Fixes an issue where you could change the `instanceSize` and `diskSizeGB` parameters for deployments with autoscaling enabled. To change the `instanceSize` and `diskSizeGB` parameters, you must first disable autoscaling.

- Fixes an error message that returns when Atlas Kubernetes Operator can't delete a project's backup policy or backup schedule.

## Atlas Kubernetes Operator 1.2.0

### New Features

- Upgrades Go to 1.18.

- Adds support for Private Endpoints backwards sync to the [AtlasProject Custom Resource.](https://www.mongodb.com/docs/atlas/operator/current/atlasproject-custom-resource.md#std-label-atlasproject-custom-resource)

### Fixes

- Fixes an issue where the [AtlasDeployment Custom Resource](https://www.mongodb.com/docs/atlas/operator/current/atlasdeployment-custom-resource.md#std-label-atlasdeployment-custom-resource) was not created successfully when the instance size for a deployed resource changed from M10 to M40.

- Fixes an issue where creating an [AtlasDeployment Custom Resource](https://www.mongodb.com/docs/atlas/operator/current/atlasdeployment-custom-resource.md#std-label-atlasdeployment-custom-resource) with `advancedDeploymentSpec` failed with `autoscaling.diskGBEnabled` and adds a new `AdvancedAutoScalingSpec` struct to `AdvancedDeploymentSpecChanges`.

- Fixes an issue where you could decrease `diskSizeGB` for deployments with autoscaling enabled. To change the `diskSizeGB` parameter, you must first disable autoscaling.

- Fixes a resource reconciliation issue where the Atlas API returns an empty object for scheduled backups.

## Atlas Kubernetes Operator 1.1.0

### New Features

- Adds support for [maintenance windows.](https://www.mongodb.com/docs/atlas/operator/current/atlasproject-custom-resource.md#std-label-atlasproject-spec-maintenancewindow)

### Fixes

- Fixes an issue where private endpoint connection strings were missing from Kubernetes secrets.

- Fixes an issue where Atlas Kubernetes Operator didn't remove conditions for unused resources.

- Adds missing private endpoint fields to Pod conditions.

## Atlas Kubernetes Operator 1.0.0

### Breaking Changes

- Renames the `AtlasCluster` Custom Resource to the [`AtlasDeployment` Custom Resource.](https://www.mongodb.com/docs/atlas/operator/current/atlasdeployment-custom-resource.md#std-label-atlasdeployment-custom-resource)

- Renames `spec.clusterSpec` to [spec.deploymentSpec.](https://www.mongodb.com/docs/atlas/operator/current/atlasdeployment-custom-resource.md#std-label-atlasdeployment-spec-deploymentspec)

- Renames `spec.advancedClusterSpec` to `spec.advancedDeploymentSpec`.

### New Features

- Adds log levels and JSON log output for Atlas Kubernetes Operator. To change the log level, you can provide the `—log-level=debug | info | warn | error | dpanic | panic | fatal` flag. To change the output format, you can provide the `—log-encoder=json | console` flag.

[`AtlasProject` Custom Resource:](https://www.mongodb.com/docs/atlas/operator/current/atlasproject-custom-resource.md#std-label-atlasproject-custom-resource)

- Supports [third-party integrations](https://www.mongodb.com/docs/atlas/operator/current/ak8so-integrate-third-party.md#std-label-ak8so-integrate-third-party) including [Prometheus integrations.](https://www.mongodb.com/docs/atlas/operator/current/atlasproject-custom-resource.md#std-label-prometheus-example)

- Supports [GCP private endpoints.](https://www.mongodb.com/docs/atlas/operator/current/ak8so-private-link.md#std-label-ak8so-private-endpoint)

[`AtlasDeployment` Custom Resource:](https://www.mongodb.com/docs/atlas/operator/current/atlasdeployment-custom-resource.md#std-label-atlasdeployment-custom-resource)

- Supports [Serverless instances](https://www.mongodb.com/docs/atlas/operator/current/atlasdeployment-custom-resource.md#std-label-ak8so-serverless-instance) via the [spec.serverlessSpec](https://www.mongodb.com/docs/atlas/operator/current/atlasdeployment-custom-resource.md#std-label-atlasdeployment-spec-serverlessspec) field.

- Supports [scheduled backups](https://www.mongodb.com/docs/atlas/operator/current/ak8so-back-up-deployment.md#std-label-ak8so-backup) for database deployments.

- Supports upgrading `M0`, `M2`, and `M5` clusters to `M10+` clusters via the [spec.deploymentSpec.replicationSpecs.regionConfigs.electableSpecs.instanceSize](https://www.mongodb.com/docs/atlas/operator/current/atlasdeployment-custom-resource.md#std-label-atlasdeployment-spec-deploymentspec-replicationspecs-regionconfigs-electablespecs) parameter.

- Supports [advanced options](https://www.mongodb.com/docs/atlas/operator/current/atlasdeployment-custom-resource.md#std-label-ak8so-advanced-options) via the [spec.processArgs](https://www.mongodb.com/docs/atlas/operator/current/atlasdeployment-custom-resource.md#std-label-atlasdeployment-spec-processargs) object.

- Supports omitting the [spec.deploymentSpec.replicationSpecs.regionConfigs.providerName](https://www.mongodb.com/docs/atlas/operator/current/atlasdeployment-custom-resource.md#std-label-atlasdeployment-spec-deploymentspec-replicationspecs-regionconfigs) field for `M0`, `M2`, and `M5` clusters.

- Supports omitting the [spec.serverlessSpec.providerSettings.providerName](https://www.mongodb.com/docs/atlas/operator/current/atlasdeployment-custom-resource.md#std-label-atlasdeployment-spec-serverlessspec-providersettings) field for Serverless instances.

### Fixes

- Fixes a bug where you couldn't delete the [`AtlasProject` Custom Resource](https://www.mongodb.com/docs/atlas/operator/current/atlasproject-custom-resource.md#std-label-atlasproject-custom-resource) if the credentials secret was deleted.

- Resolves missing epoch timestamps in log messages.

- Fixes a bug with the incorrect user-agent version.

- Fixes an [improper signature verification](https://security.snyk.io/vuln/SNYK-GOLANG-GOLANGORGXCRYPTOSSH-551923) with the `golang.org/x/crypto/ssh` module.

## Atlas Kubernetes Operator 0.8.0

### Changes

- Upgrades the Controller Runtime to v0.11.0.

- Upgrades Go to 1.17.

- When you [install a cluster using Helm Charts](https://www.mongodb.com/docs/atlas/operator/current/ak8so-quick-start-helm.md#std-label-ak8so-quick-start-helm-ref), Helm doesn't exit until the cluster is ready if you set `postInstallHook.enabled` to true.

- Atlas Kubernetes Operator [watches secrets](https://www.mongodb.com/docs/atlas/operator/current/configure-ak8so-access-to-atlas.md#std-label-ak8so-secrets) only with the label `atlas.mongodb.com/type=credentials` to avoid watching unnecessary [secrets](https://kubernetes.io/docs/concepts/configuration/secret/).

- Supports the `mongodb.com/atlas-reconciliation-policy=skip` annotation for configuring Atlas Kubernetes Operator to skip reconciliations on [specific resources.](https://www.mongodb.com/docs/atlas/operator/current/custom-resources.md#std-label-custom-resources)

- Supports [X.509 authentication.](https://www.mongodb.com/docs/atlas/operator/current/ak8so-x509.md#std-label-ak8so-x509)

### Bug Fixes

- Fixes an issue that logged errors for resource deletion.

### `AtlasProject` Custom Resource

#### Changes

- Atlas Kubernetes Operator no longer marks the [`AtlasProject` Custom Resource](https://www.mongodb.com/docs/atlas/operator/current/atlasproject-custom-resource.md#std-label-atlasproject-custom-resource) as ready until the [project IP access is successfully created.](https://www.mongodb.com/docs/atlas/operator/current/configure-ak8so-access-to-atlas.md#std-label-ak8so-access-to-atlas-ref)

### `AtlasCluster` Custom Resource

#### Changes

- Adds the `spec.advancedClusterSpec` parameter to the [AtlasCluster](https://www.mongodb.com/docs/atlas/operator/current/atlasdeployment-custom-resource.md#std-label-atlasdeployment-custom-resource) custom resource. The `AtlasCluster` custom resource now has two main configuration options. You must specify either `spec.clusterSpec` or `spec.advancedClusterSpec`. The `spec.clusterSpec` parameter uses the [Atlas Cluster API Resource](https://www.mongodb.com/docs/api/doc/atlas-admin-api-v2/group/endpoint-clusters). The `spec.advancedClusterSpec` parameter uses the [Atlas Advanced Cluster API Resource.](https://www.mongodb.com/docs/api/doc/atlas-admin-api-v2/group/endpoint-clusters)

  **Note:**

  To migrate an existing resource to use the `spec.clusterSpec` structure, you must move all fields currently under `spec.*` to `spec.clusterSpec.*` with the exception of `spec.projectRef`.

*You can find the images in the following location:*

[https://quay.io/repository/mongodb/mongodb-atlas-operator](https://quay.io/repository/mongodb/mongodb-atlas-operator)

## Atlas Kubernetes Operator 0.5.0

This Atlas Kubernetes Operator trial release lets you manage Atlas projects, clusters, and database users with Kubernetes specifications.

### Changes

- Introduces `Global` and `per project` Atlas authentication modes. To learn more, see [Configure Access to Atlas.](https://www.mongodb.com/docs/atlas/operator/current/configure-ak8so-access-to-atlas.md#std-label-ak8so-access-to-atlas-ref)

- Supports installing Atlas Kubernetes Operator clusterwide (all the [namespaces](https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/) in the Kubernetes cluster) or to its own namespace. To learn more, see [Quick Start.](https://www.mongodb.com/docs/atlas/operator/current/ak8so-quick-start.md#std-label-ak8so-quick-start-ref)

- Introduces the [`AtlasProject` Custom Resource](https://www.mongodb.com/docs/atlas/operator/current/atlasproject-custom-resource.md#std-label-atlasproject-custom-resource). Use this resource to create Atlas projects and configure their [IP access lists.](https://www.mongodb.com/docs/atlas/security/ip-access-list.md#std-label-add-to-access-list)

- Introduces the [AtlasCluster](https://www.mongodb.com/docs/atlas/operator/current/atlasdeployment-custom-resource.md#std-label-atlasdeployment-custom-resource) custom resource. Use this resource to create clusters in an Atlas project.

- Introduces the [`AtlasDatabaseUser` Custom Resource](https://www.mongodb.com/docs/atlas/operator/current/atlasdatabaseuser-custom-resource.md#std-label-atlasdatabaseuser-custom-resource) for creating database users in an Atlas project.

- Allows you to create or update [secrets](https://kubernetes.io/docs/concepts/configuration/secret/) for each database user and cluster. Applications can use these secrets in Kubernetes to connect to Atlas clusters.
