Skip to content
Open
Show file tree
Hide file tree
Changes from 13 commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
4644b6f
draft 1 of release notes for cao 2-9-0
rao-shwe Dec 11, 2025
333593f
Updated preview file
rao-shwe Dec 11, 2025
fb77887
Updated preview file-a
rao-shwe Dec 11, 2025
136e13a
testing preview
rao-shwe Dec 11, 2025
c7a6896
RN regenerated
rao-shwe Dec 11, 2025
84b6582
testing preview 2
rao-shwe Dec 11, 2025
39e0ce0
Regenerated the updated release notes
rao-shwe Dec 12, 2025
3068774
Updated RN and generated whats new
rao-shwe Dec 17, 2025
7c4209c
minor edit
rao-shwe Dec 17, 2025
7d8d4a3
minor fix in RN main page
rao-shwe Dec 17, 2025
17f611f
Minor edit in whatsnew
rao-shwe Dec 17, 2025
300aa25
Another minor fix in whatsnew
rao-shwe Dec 17, 2025
b3f5539
Formatting fixes
rao-shwe Dec 17, 2025
527bfca
Added n edited whats new from PM
rao-shwe Dec 19, 2025
df8a6a4
generated the edited n rewritten fixed issues
rao-shwe Dec 19, 2025
99acfa6
Minor formatting fixes
rao-shwe Dec 19, 2025
e1203ad
replace the term operator with kubernetes
rao-shwe Dec 19, 2025
1571caa
Added Known Issues
rao-shwe Dec 20, 2025
1dc616f
minor grammar fix
rao-shwe Dec 20, 2025
bf618b4
Additional sections
rao-shwe Dec 20, 2025
de8cd20
Added link to Server docs
rao-shwe Dec 20, 2025
6ed593e
changed 2-9-0 to 2-9 for consistency
rao-shwe Dec 20, 2025
1a81e29
Listed and rewrote 8 more known issues
rao-shwe Dec 22, 2025
b2703d0
Merge branch 'release/2.9' into DOC-13826-release-notes-cao-2-9-0
rao-shwe Dec 22, 2025
d7d177e
Added 5 more Known Issues
rao-shwe Dec 23, 2025
a8fe96a
Updated preview file
rao-shwe Dec 23, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
180 changes: 166 additions & 14 deletions modules/ROOT/pages/release-notes.adoc
Original file line number Diff line number Diff line change
@@ -1,19 +1,103 @@
= Release Notes for Couchbase Kubernetes Operator 2.9

== New Features

These release notes are focused on bug fixes and breaking changes.

For information about new features and major improvements made in Couchbase Kubernetes Operator 2.9, see xref:whats-new.adoc[What's New].

[#release-290]
== Release 2.9.0 (November 2025)
== Release 2.9 (December 2025)

Couchbase Operator 2.9.0 was released in November 2025.
This maintenance release contains fixes to issues.
Couchbase Kubernetes Operator 2.9 was released in December 2025.
This release contains fixes to issues.

[#fixed-issues-v290]
== Fixed Issues


*https://jira.issues.couchbase.com/browse/K8S-1537/[K8S-1537]*::

Cluster UUID is no longer required when creating Remote Cluster Connections.

*https://jira.issues.couchbase.com/browse/K8S-2829/[K8S-2829]*::

The annotation `cao.couchbase.com/additionalArgs` can now be specified on CouchbaseBackup and CouchbaseRestore resources to pass additional cbbackupmgr arguments through to the container.

*https://jira.issues.couchbase.com/browse/K8S-3016/[K8S-3016]*::

It is now possible to specify Couchbase Server’s Password Policy via the CouchbaseCluster resource.

*https://jira.issues.couchbase.com/browse/K8S-3121/[K8S-3121]*::

You can now specify to preserve the CouchbaseBackupRestore resource upon completion of the Restore.

*https://jira.issues.couchbase.com/browse/K8S-3153/[K8S-3153]*::

New TCP Tunables (tcpKeepAliveIdle, tcpKeepAliveInterval, tcpKeepAliveProbes, tcpUserTimeout) are now available by the CouchbaseCluster Resource when using Couchbase Server 8.0

*https://jira.issues.couchbase.com/browse/K8S-3258/[K8S-3258]*::

Added a new `logging.configNameReleasePrefix` boolean to the helm chart.
This defaults to false, but setting it to true will prefix the fluent-bit config with the release name.
Setting this to true for existing clusters will trigger recreation of all pods so should only really be used for new clusters.

*https://jira.issues.couchbase.com/browse/K8S-3371/[K8S-3371]*::

It is now possible to specify environment variables for the CouchbaseBackup and CouchbaseBackupRestore pod to allow for cbbackumgr tuning.

*https://jira.issues.couchbase.com/browse/K8S-3434/[K8S-3434]*::

`spec.monitoring` has been deprecated and will no longer attach an exporter side car to the Couchbase Server pod.

*https://jira.issues.couchbase.com/browse/K8S-3535/[K8S-3535]*::

If `couchbasecluster.spec.buckets.managed` is false, restoring from backup will automatically create buckets.

*https://jira.issues.couchbase.com/browse/K8S-3616/[K8S-3616]*::

New settings for buckets are now available on Couchbase Server 8.0

*https://jira.issues.couchbase.com/browse/K8S-3638/[K8S-3638]*::

You can now specify merge schedule on a CouchbaseBackup resource.

*https://jira.issues.couchbase.com/browse/K8S-3646/[K8S-3646]*::

You can now set query service’s CompletedStreamSize via the CouchbaseCluster resource.

*https://jira.issues.couchbase.com/browse/K8S-3650/[K8S-3650]*::

When using Couchbase Server 8.0, You can no longer create Memcached buckets.

*https://jira.issues.couchbase.com/browse/K8S-3715/[K8S-3715]*::

Added RBAC roles for users to match new roles added in Couchbase Server 8.0

*https://jira.issues.couchbase.com/browse/K8S-3786/[K8S-3786]*::

You can now specify `default` and `disk_io_optimized` for data service reader threads.

*https://jira.issues.couchbase.com/browse/K8S-3917/[K8S-3917]*::

You can now specify `overheadMemory` for autoResourceAllocation to specify a static amount of overhead.

*https://jira.issues.couchbase.com/browse/K8S-3951/[K8S-3951]*::

`cao.couchbase.com/autoCompaction.magmaFragmentationPercentage` has been replaced with an entry in the Couchbase Cluster Resource Definition

*https://jira.issues.couchbase.com/browse/K8S-4013/[K8S-4013]*::

It is now possible to disable DNS resolution verification when creating pods, prior to activating them within the cluster.

*https://jira.issues.couchbase.com/browse/K8S-4016/[K8S-4016]*::

Fixed a bug that caused a panic when a member pod becomes unresponsive.

*https://jira.issues.couchbase.com/browse/K8S-4028/[K8S-4028]*::

Added an upgrade stanza to the CouchbaseCluster resource to give users more control during upgrades.

*https://jira.issues.couchbase.com/browse/K8S-4091/[K8S-4091]*::

Updated the `spec.networking.addressFamily` field to accept `IPv4Only`, `IPv4Priority`, `IPv6Only` and `IPv6Priority`.
Expand All @@ -39,30 +123,98 @@ If the cluster enters this condition, it will:
* Optionally, reconciliation will be skipped until the manual intervention required state has been resolved, i.e.
the issue that put the cluster into that condition has been fixed.

*https://jira.issues.couchbase.com/browse/K8S-4101/[K8S-4101]*::

Added support for Couchbase Server 8.0’s Encryption at Rest feature.

*https://jira.issues.couchbase.com/browse/K8S-4108/[K8S-4108]*::

The CouchbaseUser resource now has an enabled flag to allow the disabling/enabling of users.

*https://jira.issues.couchbase.com/browse/K8S-4109/[K8S-4109]*::

The CouchbaseUser resource now has a `couchbaseuser.spec.userPassword.requireInitialChange` field to allow administrators to require a password change upon first use.

*https://jira.issues.couchbase.com/browse/K8S-4111/[K8S-4111]*::

CouchbaseBucket resources now have a `durabilityImpossibleFallback` that accepts values of `disabled` and `fallbackToActiveAck`.

*https://jira.issues.couchbase.com/browse/K8S-4112/[K8S-4112]*::

Multiple settings were added to CouchbaseBucket resources to set XDCR Conflict Logging.

*https://jira.issues.couchbase.com/browse/K8S-4114/[K8S-4114]*::

Added setting in CouchbaseCluster to allow auto-failover of Ephemeral Buckets with no replicas.
Supported for CouchbaseServer 8.0+

*https://jira.issues.couchbase.com/browse/K8S-4117/[K8S-4117]*::

Added `data.diskUsageLimit` to the CouchbaseCluster resource to enable Disk Usage Guardrails.

*https://jira.issues.couchbase.com/browse/K8S-4118/[K8S-4118]*::

Added support for SDK Telemetry settings in Couchbase Server 8.0+

*https://jira.issues.couchbase.com/browse/K8S-4120/[K8S-4120]*::

The default storage engine and vBucketCount for CouchbaseBuckets has been changed to `magma` and `128` respectively.

*https://jira.issues.couchbase.com/browse/K8S-4144/[K8S-4144]*::

In prior versions of Couchbase Operator, the metrics port annotation (`prometheus.io/port`) was set to 8091, even if TLS was enabled.
It will now correctly set to 18091.

*https://jira.issues.couchbase.com/browse/K8S-4158/[K8S-4158]*::

You can now specify to perform an EvictionPolicy change while the bucket is online via swap rebalance.

*https://jira.issues.couchbase.com/browse/K8S-4161/[K8S-4161]*::

Operator 2.9.0 now allows you to set `spec.cluster.analytics.numReplicas`.
This feature is only supported for couchbase server versions 7.6+.

*https://jira.issues.couchbase.com/browse/K8S-4270/[K8S-4270]*::
*https://jira.issues.couchbase.com/browse/K8S-4203/[K8S-4203]*::

Fixed an issue where if many clusters are under management by Operator, the metrics scrape would be too large.

*https://jira.issues.couchbase.com/browse/K8S-4209/[K8S-4209]*::

Full backups can now be resumed.

*https://jira.issues.couchbase.com/browse/K8S-4273/[K8S-4273]*::

Fixed an issue where Operator would fail to remove pods from the cluster.

*https://jira.issues.couchbase.com/browse/K8S-4279/[K8S-4279]*::

Fixed an issue where log message tags were inconsistent.

*https://jira.issues.couchbase.com/browse/K8S-4349/[K8S-4349]*::

The CouchbaseCluster CRD has grown to a size that does not allow client side apply to be used.
Use `--server-side` when using `kubectl apply`

*https://jira.issues.couchbase.com/browse/K8S-4404/[K8S-4404]*::

Fixed an issue where upgrades with SHA256 image digest definitions would be unsuccessful.




[#known-issues-290]
== Known Issues

For Couchbase Autonomous Operator 2.9.0 was released in December 2025,
these are the known issues that aren’t yet resolved.

Potentially where we use `kubectl apply` for CRDS, we add a note that this error is possible in 2.9+, and to add `--server-side` to the `kubectl apply` command.

*https://jira.issues.couchbase.com/browse/K8S-4286/[K8S-4286]*::

In the latest build,
the mirWatchdog feature is now set to off by default.
The sequence has been adjusted to move the skip function after the validationRunner,
and changes have been included in the CRD.
Additionally,
the system now skips the DAC during status changes.
These updates aim to streamline operations and improve efficiency.
// Generated by [chatgpt:gpt-4o]

[#dlist-known-issues-290-]
=== Operator

*https://jira.issues.couchbase.com/browse/K8S-4349/[K8S-4349]*::

The CouchbaseCluster CRD has grown to a size that does not allow client side apply to be used.
Use `--server-side` when using `kubectl apply`
45 changes: 29 additions & 16 deletions modules/ROOT/pages/whats-new.adoc
Original file line number Diff line number Diff line change
@@ -1,26 +1,39 @@
= What's New?
include::partial$constants.adoc[]
= What's New in Couchbase Kubernetes Operator 2.9

Autonomous Operator {operator-version-minor} introduces our new Cluster Migration functionality well as a number of other improvements and minor fixes.
Couchbase Kubernetes Operator 2.9.0 was released in December 2025.
New features and improvements are described below.

== Cluster Migration
For information about fixed and known issues, see the xref:release-notes.adoc[Release Notes].

Cluster Migration allows you to transfer a currently-unmanaged Couchbase Server cluster over to being managed by the Operator, with zero downtime.
[#whats-new-290]
== New Features and Enhancements in 2.9.0

See xref:concept-migration.adoc[Couchbase Cluster Migration] for more details.
This release introduces the following new features.

== Admission Controller Improvements

The Dynamic Admission Controller (DAC) will now warn if any cluster settings don't match our xref:best-practices.adoc#production-deployments[Best Practices for Production Deployments].
[#dlist-whats-new-290-]
=== Operator

The DAC will now prevent changes to the `CouchbaseCluster` spec while a hibernation is taking place.
If hibernation is enabled while a cluster is migrating, upgrading, scaling, or rebalancing, that process will conclude before the cluster enters hibernation. The DAC will warn when this is the case, and it will be visible in the operator logs.
*https://jira.issues.couchbase.com/browse/K8S-3917/[K8S-3917]*::

To prevent any invalid resources failing to reconcile (i.e. if the DAC is not deployed in the current environment), the DAC Validation is now run at the beginning of the reconciliation loop.
Any invalid resources will be skipped for reconciliation, marked as `NotValid`, and logged.
You can now specify `overheadMemory` for autoResourceAllocation to specify a static amount of overhead.

*https://jira.issues.couchbase.com/browse/K8S-4013/[K8S-4013]*::

It is now possible to disable DNS resolution verification when creating pods, prior to activating them within the cluster.

*https://jira.issues.couchbase.com/browse/K8S-4028/[K8S-4028]*::

Added an upgrade stanza to the CouchbaseCluster resource to give users more control during upgrades.

*https://jira.issues.couchbase.com/browse/K8S-4097/[K8S-4097]*::

The MirWatchdog is an out-of-band check that allows for additional alerting to be in place in the unlikely scenario that an Operator is unable to reconcile a cluster due to reasons outside of its controls/capabilities and which therefore require manual intervention by a user to resolve. Scenarios include but are not limited to, tls expiration, couchbase authentication errors and loss of quorum.
By default this is disabled, but can be enabled and configured using the `mirWatchdog` field in the couchbase cluster CRD. If the cluster enters this condition, it will:
+
* Set the cluster_manual_intervention gauge metric to 1
* Add (where possible) the `ManualInterventionRequired` condition to the cluster, with a message detailing the reason for entering the MIR state.
* Raise a `ManualInterventionRequired` Kubernetes event, with the event message set to the reason for entering manual intervention
* Optionally, reconciliation will be skipped until the manual intervention required state has been resolved, i.e. the issue that put the cluster into that condition has been fixed.

== Miscellaneous Improvements

* Pod Disruption Budgets can now be set per-Server Class by enabling xref:resource/couchbasecluster.adoc#couchbaseclusters-spec-perserviceclasspdb[`couchbaseclusters.spec.perServiceClassPDB`].
* Sample Buckets can now be loaded via the xref:resource/couchbasebucket.adoc[`CouchbaseBucket`] resource, by using the xref:reference-annotations.adoc#cao-couchbase-comsamplebucket[`cao.couchbase.com/sampleBucket`] annotation.
* Query-related RBAC roles (`query_use_sequential_scans`, `query_use_sequences`, and `query_manage_sequences`) have now been added to xref:resource/couchbasegroup.adoc#couchbasegroups-spec-roles-name[`couchbasegroups.spec.roles.name`].
2 changes: 1 addition & 1 deletion preview/HEAD.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ sources:
branches: [release/8.0]

docs-operator:
branches: [DOC-13656-Create-release-note-for-Couchbase-Operator-2.9.0, release/2.8]
branches: [DOC-13826-release-notes-cao-2-9-0, release/2.8]