diff --git a/blog/2025-05-12-release-0-2-23.md b/blog/2025-05-12-release-0-2-23.md
index 2de8483..9e63d06 100644
--- a/blog/2025-05-12-release-0-2-23.md
+++ b/blog/2025-05-12-release-0-2-23.md
@@ -12,7 +12,6 @@ tags: [release]
* impossible to set ingress pods resources requestslimits for cpumemory by @akyriako in https://github.com/akyriako/typesense-operator/pull/120
* updated crds, chart and documentation for 0.2.23 #121 by @akyriako in https://github.com/akyriako/typesense-operator/pull/123
-
**Full Changelog**: https://github.com/akyriako/typesense-operator/compare/typesense-operator-0.2.22...typesense-operator-0.2.23
diff --git a/blog/2025-05-15-release-0-2-24.md b/blog/2025-05-15-release-0-2-24.md
index f291c22..9a57a96 100644
--- a/blog/2025-05-15-release-0-2-24.md
+++ b/blog/2025-05-15-release-0-2-24.md
@@ -10,7 +10,7 @@ Updating from earlier versions will lead to replacing the existing `Pods`, as th
for `StatefulSet` changes, has changed the way it calculates the hash.
:::
-## What's Changed
+## What's Changed
### 0.2.24
diff --git a/blog/2026-02-19-release-0-3-8.md b/blog/2026-02-19-release-0-3-8.md
new file mode 100644
index 0000000..de14f05
--- /dev/null
+++ b/blog/2026-02-19-release-0-3-8.md
@@ -0,0 +1,46 @@
+---
+slug: release-0-3-8
+title: 0.3.8
+authors: [tykobot]
+tags: [release]
+---
+
+## What's Changed
+
+### 0.3.8
+
+:::warning
+Updating from versions earlier than **0.3.8-rc.4** will cause the existing `Pods` to be replaced, because the annotation hash used for `StatefulSet` changes is now calculated differently.
+:::
+
+### 0.3.8-rc.4
+
+* 237 ignore external mutations for annotations by @akyriako in https://github.com/akyriako/typesense-operator/pull/239
+
+**Full Changelog**: https://github.com/akyriako/typesense-operator/compare/typesense-operator-0.3.8-rc.3...typesense-operator-0.3.8-rc.4
+
+### 0.3.8-rc.3
+
+* Fix: Add a filter for unwanted statefulset annotations(ex: rancher) by @Arochka in https://github.com/akyriako/typesense-operator/pull/232
+* make filter function variadic, remove rancher annotations in ingress … by @akyriako in https://github.com/akyriako/typesense-operator/pull/234
+* 233 do not upgrade statefulset when only replicas differ by @akyriako in https://github.com/akyriako/typesense-operator/pull/236
+
+#### New Contributors
+
+* @Arochka made their first contribution in https://github.com/akyriako/typesense-operator/pull/232
+
+**Full Changelog**: https://github.com/akyriako/typesense-operator/compare/typesense-operator-0.3.8-rc.2...typesense-operator-0.3.8-rc.3
+
+
+
+### 0.3.8-rc.2
+
+* 228 with operator 037 nodes never get to vote loop restarts similar to 222 by @akyriako in https://github.com/akyriako/typesense-operator/pull/230
+
+**Full Changelog**: https://github.com/akyriako/typesense-operator/compare/typesense-operator-0.3.8-rc.1...typesense-operator-0.3.8-rc.2
+
+### 0.3.8-rc.1
+
+* 228 with operator 037 nodes never get to vote loop restarts similar to 222 by @akyriako in https://github.com/akyriako/typesense-operator/pull/229
+
+**Full Changelog**: https://github.com/akyriako/typesense-operator/compare/typesense-operator-0.3.7...typesense-operator-0.3.8-rc.1
\ No newline at end of file
diff --git a/docs/crds/index.mdx b/docs/crds/index.mdx
index 6150316..b83318c 100644
--- a/docs/crds/index.mdx
+++ b/docs/crds/index.mdx
@@ -18,36 +18,37 @@ Typesense Kubernetes Operator is controlling the lifecycle of multiple Typesense
### TypesenseClusterSpec
-| Name | Description | Optional | Default |
-| --------------------------------- | ------------------------------------------------------------------------------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| image | Typesense image | | |
-| imagePullSecrets | reference to the private registry authentication `Secret` | X | |
-| adminApiKey | reference to the bootstrap `Secret` | X | |
-| replicas | size of the cluster (allowed 1, 3, 5 or 7) | X | 3 |
-| apiPort | REST/API port | X | 8108 |
-| peeringPort | peering port | X | 8107 |
-| resetPeersOnError | automatic reset of peers on error | X | true |
-| enableCors | enables CORS | X | false |
-| corsDomains | comma separated list of domains allowed for CORS | X | |
-| resources | resources (request & limit) | X | 1000m/100m
512Mi/256Mi |
-| healthProbeTimeoutInMilliseconds | timeout for waiting on the health endpoint response | X | 500 |
-| affinity | group of affinity scheduling rules | X | |
-| nodeSelector | node selection constraint | X | |
-| tolerations | schedule pods with matching taints | X | |
-| additionalServerConfiguration | a reference to a `ConfigMap` holding extra configuration | X | |
-| statefulSetAnnotations | user-defined annotations | X | |
-| podAnnotations | user-defined annotations | X | |
-| podsInheritStatefulSetAnnotations | propagate all `StatefulSet` annotations to `Pods` | X | false |
-| serviceAnnotations | user-defined annotations | X | |
-| storage | check `StorageSpec` [below](#storagespec-optional) | | |
-| ingress | check `IngressSpec` [below](#ingressspec-optional) | X | |
-| scrapers | array of `DocSearchScraperSpec`; check [below](#docsearchscraperspec-optional) | X | |
-| metrics | check `MetricsSpec` [below](#metricsspec-optional) | X | |
-| healthcheck | check `HealthCheckSpec` [below](#healthcheckspec-optional) | X | |
-| topologySpreadConstraints | how to spread a group of pods across topology domains | X | |
-| priorityClassName | reference to a pod priority and preemption class | X | |
-| securityContext | check `SecurityContextSpec` [below](#metricsspec-optional) | X | |
-| incrementalQuorumRecovery | add nodes gradually to the `StatefulSet` while recovering | X | false |
+| Name | Description | Optional | Default |
+| -------------------------------------- | ------------------------------------------------------------------------------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| image | Typesense image | | |
+| imagePullSecrets | reference to the private registry authentication `Secret` | X | |
+| adminApiKey | reference to the bootstrap `Secret` | X | |
+| replicas | size of the cluster (allowed 1, 3, 5 or 7) | X | 3 |
+| apiPort | REST/API port | X | 8108 |
+| peeringPort | peering port | X | 8107 |
+| resetPeersOnError | automatic reset of peers on error | X | true |
+| enableCors | enables CORS | X | false |
+| corsDomains | comma separated list of domains allowed for CORS | X | |
+| resources | resources (request & limit) | X | 1000m/100m
512Mi/256Mi |
+| healthProbeTimeoutInMilliseconds | timeout for waiting on the health endpoint response | X | 500 |
+| affinity | group of affinity scheduling rules | X | |
+| nodeSelector | node selection constraint | X | |
+| tolerations | schedule pods with matching taints | X | |
+| additionalServerConfiguration | a reference to a `ConfigMap` holding extra configuration | X | |
+| statefulSetAnnotations | user-defined annotations | X | |
+| podAnnotations | user-defined annotations | X | |
+| podsInheritStatefulSetAnnotations | propagate all `StatefulSet` annotations to `Pods` | X | false |
+| serviceAnnotations | user-defined annotations | X | |
+| storage | check `StorageSpec` [below](#storagespec-optional) | | |
+| ingress | check `IngressSpec` [below](#ingressspec-optional) | X | |
+| scrapers | array of `DocSearchScraperSpec`; check [below](#docsearchscraperspec-optional) | X | |
+| metrics | check `MetricsSpec` [below](#metricsspec-optional) | X | |
+| healthcheck | check `HealthCheckSpec` [below](#healthcheckspec-optional) | X | |
+| topologySpreadConstraints | how to spread a group of pods across topology domains | X | |
+| priorityClassName | reference to a pod priority and preemption class | X | |
+| securityContext | check `SecurityContextSpec` [below](#metricsspec-optional) | X | |
+| ignoreAnnotationsFromExternalMutations | annotations to ignore when calculating hash (e.g. cattle.io/) | X | |
+| incrementalQuorumRecovery | add nodes gradually to the `StatefulSet` while recovering | X | false |
:::note