diff --git a/pages/advanced-algorithms/install-mage.mdx b/pages/advanced-algorithms/install-mage.mdx
index 7157a5932..feb131926 100644
--- a/pages/advanced-algorithms/install-mage.mdx
+++ b/pages/advanced-algorithms/install-mage.mdx
@@ -8,8 +8,9 @@ import { Callout } from 'nextra/components'
# Install MAGE graph algorithm library
-Use MAGE with an instance installed within a [Docker container](#docker) or on
-[Linux](#linux).
+Use MAGE with an instance installed within a [Docker container](#docker), from a
+prebuilt [package](#install-from-a-package) on Ubuntu or CentOS, or [built from
+source](#build-from-source-linux).
## Docker
@@ -52,7 +53,66 @@ discontinued as of `3.2` onwards.
-## Linux
+## Install from a package
+
+On Ubuntu 24.04 (DEB `x86_64` and `aarch64`) and CentOS 9 / CentOS 10 (RPM, `x86_64` only), MAGE is
+available as a prebuilt `memgraph-mage` package, so you don't have to build it
+from source.
+
+
+
+{Install Memgraph
}
+
+Install the Memgraph package first — the `memgraph-mage` package depends on a
+matching `memgraph` package of the same version. Follow the
+[Ubuntu](/getting-started/install-memgraph/ubuntu) or
+[CentOS](/getting-started/install-memgraph/centos) installation guide.
+
+{Download the MAGE package
}
+
+Download the `memgraph-mage` package that matches your Memgraph version and distro
+from the [direct download
+links](/getting-started/install-memgraph/direct-download-links). For example:
+
+```shell
+# Ubuntu 24.04
+wget https://download.memgraph.com/memgraph-mage/v3.12.0/ubuntu-24.04/memgraph-mage_3.12.0-1_amd64.deb
+# CentOS 9
+wget https://download.memgraph.com/memgraph-mage/v3.12.0/centos-9/memgraph-mage-3.12.0-1.centos-9.x86_64.rpm
+```
+
+CUDA and cuGraph variants are also available for Ubuntu — see the download links page.
+
+{Install MAGE
}
+
+Install the package with your distribution's package manager so its dependencies
+are resolved:
+
+```shell
+# Ubuntu (DEB)
+sudo apt install ./memgraph-mage_3.12.0-1_amd64.deb
+# CentOS (RPM)
+sudo dnf install ./memgraph-mage-3.12.0-1.centos-9.x86_64.rpm
+```
+
+
+
+During installation the package downloads and installs the Python dependencies
+the MAGE query modules need, so the machine needs network access.
+
+
+
+{Restart Memgraph
}
+
+Restart Memgraph so the newly installed modules are loaded:
+
+```shell
+sudo systemctl restart memgraph
+```
+
+
+
+## Build from source (Linux)
Follow the steps if you want to use the MAGE library with [installed Linux based
Memgraph package](/getting-started/install-memgraph).
diff --git a/pages/clustering/high-availability/best-practices.mdx b/pages/clustering/high-availability/best-practices.mdx
index 0704bedaf..4597c74ff 100644
--- a/pages/clustering/high-availability/best-practices.mdx
+++ b/pages/clustering/high-availability/best-practices.mdx
@@ -109,22 +109,6 @@ coordinator’s RPC messages.
**Example:**
`--management-port=10000`
-#### `--instance-health-check-frequency-sec` (deprecated)
-
-
-**Deprecated in Memgraph 3.10.** This startup flag is now ignored. Use the
-`instance_health_check_frequency_sec` [coordinator runtime setting](#coordinator-runtime-settings)
-instead.
-
-
-#### `--instance-down-timeout-sec` (deprecated)
-
-
-**Deprecated in Memgraph 3.10.** This startup flag is now ignored. Use the
-`instance_down_timeout_sec` [coordinator runtime setting](#coordinator-runtime-settings)
-instead.
-
-
### Health check behavior
Coordinator health checks follow this pattern:
@@ -234,11 +218,12 @@ SET COORDINATOR SETTING 'instance_down_timeout_sec' TO '5' ;
**Default:** `5`
-**Upgrade note (3.10):** Values previously set via the
-`--instance-down-timeout-sec` and `--instance-health-check-frequency-sec`
-startup flags are **not** automatically migrated. After upgrading, the settings
-revert to their defaults (`5` and `1`). If you had customized these flags, run
-`SET COORDINATOR SETTING` queries to re-apply your values.
+**Upgrade note:** The `--instance-down-timeout-sec` and
+`--instance-health-check-frequency-sec` startup flags were deprecated in 3.10
+and **removed in 3.12**. Values previously set via these flags are **not**
+automatically migrated. After upgrading, the settings revert to their defaults
+(`5` and `1`). If you had customized these flags, run `SET COORDINATOR SETTING`
+queries to re-apply your values.
### `enabled_reads_on_main`
diff --git a/pages/clustering/high-availability/setup-ha-cluster-k8s.mdx b/pages/clustering/high-availability/setup-ha-cluster-k8s.mdx
index ddd3458ec..8eae298a1 100644
--- a/pages/clustering/high-availability/setup-ha-cluster-k8s.mdx
+++ b/pages/clustering/high-availability/setup-ha-cluster-k8s.mdx
@@ -621,6 +621,49 @@ Although many configuration options exist, especially for networking, the workfl
5. Install auxiliary components for external access, such as `ingress-nginx` (optional).
6. Update Bolt server addresses if clients will connect from outside the cluster (optional).
+### Customize the cluster-setup Job
+
+After `helm install`, the chart runs a `cluster-setup` Job as a Helm
+`post-install` hook. This Job registers all coordinators and data instances via
+`mgconsole`, producing a fully connected cluster.
+
+You can customize the labels and security context applied to this Job through
+the `clusterSetup` block:
+
+- `clusterSetup.labels` - custom labels applied to both the Job and its pod
+ template. Useful for matching network policies, cost-allocation, or
+ observability selectors that target the setup Job.
+- `clusterSetup.podSecurityContext` - pod-level security context for the
+ `cluster-setup` pod.
+- `clusterSetup.containerSecurityContext` - container-level security context for
+ the `cluster-setup` container.
+
+By default the Job runs hardened: as the non-root `memgraph` user
+(`runAsUser: 101`, `runAsGroup: 103`), with a read-only root filesystem, all
+Linux capabilities dropped, no privilege escalation, and the `RuntimeDefault`
+seccomp profile. Override these values when deploying to a restricted
+environment such as Red Hat OpenShift, where the allowed UID/GID range differs:
+
+```yaml
+clusterSetup:
+ labels:
+ app.kubernetes.io/component: cluster-setup
+ podSecurityContext:
+ runAsUser: 1000680000
+ runAsGroup: 1000680000
+ runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
+ containerSecurityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop: ["ALL"]
+ readOnlyRootFilesystem: true
+ runAsNonRoot: true
+ seccompProfile:
+ type: RuntimeDefault
+```
+
### Update bolt server
This step is required only when:
@@ -1433,6 +1476,9 @@ and their default values.
| `labels.data.podLabels` | Enables you to set labels on a pod level for data instances. | `{}` |
| `labels.data.statefulSetLabels` | Enables you to set labels on a stateful set level for data instances. | `{}` |
| `labels.data.serviceLabels` | Enables you to set labels on a service level for data instances. | `{}` |
+| `clusterSetup.labels` | Custom labels applied to both the post-install `cluster-setup` Job and its pod template. | `{}` |
+| `clusterSetup.podSecurityContext` | Pod-level security context for the `cluster-setup` Job pod. See [Customize the cluster-setup Job](#customize-the-cluster-setup-job). | `runAsUser: 101`, `runAsGroup: 103`, `runAsNonRoot: true`, `seccompProfile.type: RuntimeDefault` |
+| `clusterSetup.containerSecurityContext` | Container-level security context for the `cluster-setup` container. See [Customize the cluster-setup Job](#customize-the-cluster-setup-job). | `allowPrivilegeEscalation: false`, `capabilities.drop: ["ALL"]`, `readOnlyRootFilesystem: true`, `runAsNonRoot: true`, `seccompProfile.type: RuntimeDefault` |
| `updateStrategy.type` | Update strategy for StatefulSets. Possible values are `RollingUpdate` and `OnDelete` | `RollingUpdate` |
| `extraEnv.data` | Env variables that users can define and are applied to data instances | `[]` |
| `extraEnv.coordinators` | Env variables that users can define and are applied to coordinators | `[]` |
diff --git a/pages/database-management/configuration.mdx b/pages/database-management/configuration.mdx
index 9b673287d..71a3ff0cc 100644
--- a/pages/database-management/configuration.mdx
+++ b/pages/database-management/configuration.mdx
@@ -442,8 +442,6 @@ This section contains the list of flags that are used to configure highly availa
| `--coordinator-id` | Raft server id on coordinator instance. | `[int32]` |
| `--coordinator-port` | Raft server's port on coordinator instance. | `[uint32]` |
| `--management-port` | Port on which replication instances receive messages from coordinator . | `[uint32]` |
-| ~~`--instance-health-check-frequency-sec`~~ | **Deprecated in 3.10.** This flag is ignored. Use `SET COORDINATOR SETTING 'instance_health_check_frequency_sec' TO ''` instead. See [Coordinator runtime settings](/clustering/high-availability/best-practices#coordinator-runtime-settings). | `[uint32]` |
-| ~~`--instance-down-timeout-sec`~~ | **Deprecated in 3.10.** This flag is ignored. Use `SET COORDINATOR SETTING 'instance_down_timeout_sec' TO ''` instead. See [Coordinator runtime settings](/clustering/high-availability/best-practices#coordinator-runtime-settings). | `[uint32]` |
| `--nuraft-log-file` | Path to the file where NuRaft logs are saved. | `[string]` |
| `--coordinator-hostname` | Coordinator's instance hostname. Used only in `SHOW INSTANCES` query. | `[string]` |
| `--cluster-cert-file` | Certificate file used for [intra-cluster TLS](/clustering/high-availability/how-high-availability-works#intra-cluster-tls) communication. Must be set together with `--cluster-key-file` and `--cluster-ca-file`. | `[string]` |
diff --git a/pages/fundamentals/data-durability.mdx b/pages/fundamentals/data-durability.mdx
index 123d1c917..6f3bc7c9a 100644
--- a/pages/fundamentals/data-durability.mdx
+++ b/pages/fundamentals/data-durability.mdx
@@ -95,6 +95,39 @@ via `--storage-snapshot-retention-count`.
enforces periodic snapshots when WAL is enabled and will fail to start if WAL is
enabled with snapshot interval set to zero.
+WAL data integrity
+
+
+Per-transaction WAL checksums were introduced in Memgraph v3.12.
+
+WAL files written by older versions do not contain checksums and are recovered
+without integrity verification. Checksum verification applies only to WAL files
+written by Memgraph v3.12 or newer.
+
+
+To guard against silent on-disk corruption, Memgraph protects WAL files with
+[CRC32](https://en.wikipedia.org/wiki/Cyclic_redundancy_check) checksums:
+
+- The **WAL file header** (offsets and metadata such as the UUID, epoch ID and
+ sequence number) is protected by its own checksum.
+- **Each transaction** is protected by a 4-byte checksum covering the
+ transaction's bytes (transaction start, deltas and transaction end).
+
+Checksums are verified automatically during recovery. If a transaction's stored
+checksum does not match the recomputed value, the WAL is considered corrupted at
+that point and recovery stops, so corrupted data is never applied to the
+database. A mismatch in the WAL header causes recovery from that file to fail.
+
+The same checksums protect WAL files that are buffered on disk on a replica
+before being applied, so corruption introduced between the main and the replica
+is detected before the data is committed. Deltas streamed during the commit
+(`PrepareCommitRpc`) are not checksummed because the TCP transport already
+provides integrity guarantees.
+
+
+Snapshots are not yet protected by checksums.
+
+
### Snapshots
Snapshots provide a faster way to restore the states of your database. Snapshots
are created periodically based on the value defined with the
diff --git a/pages/getting-started/install-memgraph/direct-download-links.mdx b/pages/getting-started/install-memgraph/direct-download-links.mdx
index 913a679d9..7b11f48e9 100644
--- a/pages/getting-started/install-memgraph/direct-download-links.mdx
+++ b/pages/getting-started/install-memgraph/direct-download-links.mdx
@@ -21,12 +21,12 @@ See [Debugging Memgraph](/database-management/debugging) for details.
## Docker
-- [https://download.memgraph.com/memgraph/v3.11.0/docker/memgraph-3.11.0-docker.tar.gz](https://download.memgraph.com/memgraph/v3.11.0/docker/memgraph-3.11.0-docker.tar.gz)
-- [https://download.memgraph.com/memgraph/v3.11.0/docker-aarch64/memgraph-3.11.0-docker.tar.gz](https://download.memgraph.com/memgraph/v3.11.0/docker-aarch64/memgraph-3.11.0-docker.tar.gz)
-- [https://download.memgraph.com/memgraph/v3.11.0/docker-relwithdebinfo/memgraph-3.11.0-relwithdebinfo-docker.tar.gz](https://download.memgraph.com/memgraph/v3.11.0/docker-relwithdebinfo/memgraph-3.11.0-relwithdebinfo-docker.tar.gz)
-- [https://download.memgraph.com/memgraph/v3.11.0/docker-aarch64-relwithdebinfo/memgraph-3.11.0-relwithdebinfo-docker.tar.gz](https://download.memgraph.com/memgraph/v3.11.0/docker-aarch64-relwithdebinfo/memgraph-3.11.0-relwithdebinfo-docker.tar.gz)
-- [https://download.memgraph.com/memgraph/v3.11.0/docker-malloc-relwithdebinfo/memgraph-3.11.0-relwithdebinfo-malloc-docker.tar.gz](https://download.memgraph.com/memgraph/v3.11.0/docker-malloc-relwithdebinfo/memgraph-3.11.0-relwithdebinfo-malloc-docker.tar.gz)
-- [https://download.memgraph.com/memgraph/v3.11.0/docker-malloc-aarch64-relwithdebinfo/memgraph-3.11.0-relwithdebinfo-malloc-docker.tar.gz](https://download.memgraph.com/memgraph/v3.11.0/docker-malloc-aarch64-relwithdebinfo/memgraph-3.11.0-relwithdebinfo-malloc-docker.tar.gz)
+- [https://download.memgraph.com/memgraph/v3.12.0/docker/memgraph-3.12.0-docker.tar.gz](https://download.memgraph.com/memgraph/v3.12.0/docker/memgraph-3.12.0-docker.tar.gz)
+- [https://download.memgraph.com/memgraph/v3.12.0/docker-aarch64/memgraph-3.12.0-docker.tar.gz](https://download.memgraph.com/memgraph/v3.12.0/docker-aarch64/memgraph-3.12.0-docker.tar.gz)
+- [https://download.memgraph.com/memgraph/v3.12.0/docker-relwithdebinfo/memgraph-3.12.0-relwithdebinfo-docker.tar.gz](https://download.memgraph.com/memgraph/v3.12.0/docker-relwithdebinfo/memgraph-3.12.0-relwithdebinfo-docker.tar.gz)
+- [https://download.memgraph.com/memgraph/v3.12.0/docker-aarch64-relwithdebinfo/memgraph-3.12.0-relwithdebinfo-docker.tar.gz](https://download.memgraph.com/memgraph/v3.12.0/docker-aarch64-relwithdebinfo/memgraph-3.12.0-relwithdebinfo-docker.tar.gz)
+- [https://download.memgraph.com/memgraph/v3.12.0/docker-malloc-relwithdebinfo/memgraph-3.12.0-relwithdebinfo-malloc-docker.tar.gz](https://download.memgraph.com/memgraph/v3.12.0/docker-malloc-relwithdebinfo/memgraph-3.12.0-relwithdebinfo-malloc-docker.tar.gz)
+- [https://download.memgraph.com/memgraph/v3.12.0/docker-malloc-aarch64-relwithdebinfo/memgraph-3.12.0-relwithdebinfo-malloc-docker.tar.gz](https://download.memgraph.com/memgraph/v3.12.0/docker-malloc-aarch64-relwithdebinfo/memgraph-3.12.0-relwithdebinfo-malloc-docker.tar.gz)
## Linux
@@ -34,67 +34,76 @@ Memgraph can be run on the Linux distributions listed below. Each main package h
a matching `memgraph-debuginfo` package containing its debug symbols.
### CentOS
-- [https://download.memgraph.com/memgraph/v3.11.0/centos-9/memgraph-3.11.0_1-1.x86_64.rpm](https://download.memgraph.com/memgraph/v3.11.0/centos-9/memgraph-3.11.0_1-1.x86_64.rpm)
-- [https://download.memgraph.com/memgraph/v3.11.0/centos-9/memgraph-debuginfo-3.11.0_1-1.x86_64.rpm](https://download.memgraph.com/memgraph/v3.11.0/centos-9/memgraph-debuginfo-3.11.0_1-1.x86_64.rpm)
-- [https://download.memgraph.com/memgraph/v3.11.0/centos-10/memgraph-3.11.0_1-1.x86_64.rpm](https://download.memgraph.com/memgraph/v3.11.0/centos-10/memgraph-3.11.0_1-1.x86_64.rpm)
-- [https://download.memgraph.com/memgraph/v3.11.0/centos-10/memgraph-debuginfo-3.11.0_1-1.x86_64.rpm](https://download.memgraph.com/memgraph/v3.11.0/centos-10/memgraph-debuginfo-3.11.0_1-1.x86_64.rpm)
+- [https://download.memgraph.com/memgraph/v3.12.0/centos-9/memgraph-3.12.0_1-1.x86_64.rpm](https://download.memgraph.com/memgraph/v3.12.0/centos-9/memgraph-3.12.0_1-1.x86_64.rpm)
+- [https://download.memgraph.com/memgraph/v3.12.0/centos-9/memgraph-debuginfo-3.12.0_1-1.x86_64.rpm](https://download.memgraph.com/memgraph/v3.12.0/centos-9/memgraph-debuginfo-3.12.0_1-1.x86_64.rpm)
+- [https://download.memgraph.com/memgraph/v3.12.0/centos-10/memgraph-3.12.0_1-1.x86_64.rpm](https://download.memgraph.com/memgraph/v3.12.0/centos-10/memgraph-3.12.0_1-1.x86_64.rpm)
+- [https://download.memgraph.com/memgraph/v3.12.0/centos-10/memgraph-debuginfo-3.12.0_1-1.x86_64.rpm](https://download.memgraph.com/memgraph/v3.12.0/centos-10/memgraph-debuginfo-3.12.0_1-1.x86_64.rpm)
### Debian
-- [https://download.memgraph.com/memgraph/v3.11.0/debian-12/memgraph_3.11.0-1_amd64.deb](https://download.memgraph.com/memgraph/v3.11.0/debian-12/memgraph_3.11.0-1_amd64.deb)
-- [https://download.memgraph.com/memgraph/v3.11.0/debian-12/memgraph-debuginfo_3.11.0-1_amd64.deb](https://download.memgraph.com/memgraph/v3.11.0/debian-12/memgraph-debuginfo_3.11.0-1_amd64.deb)
-- [https://download.memgraph.com/memgraph/v3.11.0/debian-12-aarch64/memgraph_3.11.0-1_arm64.deb](https://download.memgraph.com/memgraph/v3.11.0/debian-12-aarch64/memgraph_3.11.0-1_arm64.deb)
-- [https://download.memgraph.com/memgraph/v3.11.0/debian-12-aarch64/memgraph-debuginfo_3.11.0-1_arm64.deb](https://download.memgraph.com/memgraph/v3.11.0/debian-12-aarch64/memgraph-debuginfo_3.11.0-1_arm64.deb)
-- [https://download.memgraph.com/memgraph/v3.11.0/debian-13/memgraph_3.11.0-1_amd64.deb](https://download.memgraph.com/memgraph/v3.11.0/debian-13/memgraph_3.11.0-1_amd64.deb)
-- [https://download.memgraph.com/memgraph/v3.11.0/debian-13/memgraph-debuginfo_3.11.0-1_amd64.deb](https://download.memgraph.com/memgraph/v3.11.0/debian-13/memgraph-debuginfo_3.11.0-1_amd64.deb)
-- [https://download.memgraph.com/memgraph/v3.11.0/debian-13-aarch64/memgraph_3.11.0-1_arm64.deb](https://download.memgraph.com/memgraph/v3.11.0/debian-13-aarch64/memgraph_3.11.0-1_arm64.deb)
-- [https://download.memgraph.com/memgraph/v3.11.0/debian-13-aarch64/memgraph-debuginfo_3.11.0-1_arm64.deb](https://download.memgraph.com/memgraph/v3.11.0/debian-13-aarch64/memgraph-debuginfo_3.11.0-1_arm64.deb)
+- [https://download.memgraph.com/memgraph/v3.12.0/debian-12/memgraph_3.12.0-1_amd64.deb](https://download.memgraph.com/memgraph/v3.12.0/debian-12/memgraph_3.12.0-1_amd64.deb)
+- [https://download.memgraph.com/memgraph/v3.12.0/debian-12/memgraph-debuginfo_3.12.0-1_amd64.deb](https://download.memgraph.com/memgraph/v3.12.0/debian-12/memgraph-debuginfo_3.12.0-1_amd64.deb)
+- [https://download.memgraph.com/memgraph/v3.12.0/debian-12-aarch64/memgraph_3.12.0-1_arm64.deb](https://download.memgraph.com/memgraph/v3.12.0/debian-12-aarch64/memgraph_3.12.0-1_arm64.deb)
+- [https://download.memgraph.com/memgraph/v3.12.0/debian-12-aarch64/memgraph-debuginfo_3.12.0-1_arm64.deb](https://download.memgraph.com/memgraph/v3.12.0/debian-12-aarch64/memgraph-debuginfo_3.12.0-1_arm64.deb)
+- [https://download.memgraph.com/memgraph/v3.12.0/debian-13/memgraph_3.12.0-1_amd64.deb](https://download.memgraph.com/memgraph/v3.12.0/debian-13/memgraph_3.12.0-1_amd64.deb)
+- [https://download.memgraph.com/memgraph/v3.12.0/debian-13/memgraph-debuginfo_3.12.0-1_amd64.deb](https://download.memgraph.com/memgraph/v3.12.0/debian-13/memgraph-debuginfo_3.12.0-1_amd64.deb)
+- [https://download.memgraph.com/memgraph/v3.12.0/debian-13-aarch64/memgraph_3.12.0-1_arm64.deb](https://download.memgraph.com/memgraph/v3.12.0/debian-13-aarch64/memgraph_3.12.0-1_arm64.deb)
+- [https://download.memgraph.com/memgraph/v3.12.0/debian-13-aarch64/memgraph-debuginfo_3.12.0-1_arm64.deb](https://download.memgraph.com/memgraph/v3.12.0/debian-13-aarch64/memgraph-debuginfo_3.12.0-1_arm64.deb)
### Fedora
-- [https://download.memgraph.com/memgraph/v3.11.0/fedora-42/memgraph-3.11.0_1-1.x86_64.rpm](https://download.memgraph.com/memgraph/v3.11.0/fedora-42/memgraph-3.11.0_1-1.x86_64.rpm)
-- [https://download.memgraph.com/memgraph/v3.11.0/fedora-42/memgraph-debuginfo-3.11.0_1-1.x86_64.rpm](https://download.memgraph.com/memgraph/v3.11.0/fedora-42/memgraph-debuginfo-3.11.0_1-1.x86_64.rpm)
-- [https://download.memgraph.com/memgraph/v3.11.0/fedora-42-aarch64/memgraph-3.11.0_1-1.aarch64.rpm](https://download.memgraph.com/memgraph/v3.11.0/fedora-42-aarch64/memgraph-3.11.0_1-1.aarch64.rpm)
-- [https://download.memgraph.com/memgraph/v3.11.0/fedora-42-aarch64/memgraph-debuginfo-3.11.0_1-1.aarch64.rpm](https://download.memgraph.com/memgraph/v3.11.0/fedora-42-aarch64/memgraph-debuginfo-3.11.0_1-1.aarch64.rpm)
+- [https://download.memgraph.com/memgraph/v3.12.0/fedora-42/memgraph-3.12.0_1-1.x86_64.rpm](https://download.memgraph.com/memgraph/v3.12.0/fedora-42/memgraph-3.12.0_1-1.x86_64.rpm)
+- [https://download.memgraph.com/memgraph/v3.12.0/fedora-42/memgraph-debuginfo-3.12.0_1-1.x86_64.rpm](https://download.memgraph.com/memgraph/v3.12.0/fedora-42/memgraph-debuginfo-3.12.0_1-1.x86_64.rpm)
+- [https://download.memgraph.com/memgraph/v3.12.0/fedora-42-aarch64/memgraph-3.12.0_1-1.aarch64.rpm](https://download.memgraph.com/memgraph/v3.12.0/fedora-42-aarch64/memgraph-3.12.0_1-1.aarch64.rpm)
+- [https://download.memgraph.com/memgraph/v3.12.0/fedora-42-aarch64/memgraph-debuginfo-3.12.0_1-1.aarch64.rpm](https://download.memgraph.com/memgraph/v3.12.0/fedora-42-aarch64/memgraph-debuginfo-3.12.0_1-1.aarch64.rpm)
### Rocky
-- [https://download.memgraph.com/memgraph/v3.11.0/rocky-10/memgraph-3.11.0_1-1.x86_64.rpm](https://download.memgraph.com/memgraph/v3.11.0/rocky-10/memgraph-3.11.0_1-1.x86_64.rpm)
-- [https://download.memgraph.com/memgraph/v3.11.0/rocky-10/memgraph-debuginfo-3.11.0_1-1.x86_64.rpm](https://download.memgraph.com/memgraph/v3.11.0/rocky-10/memgraph-debuginfo-3.11.0_1-1.x86_64.rpm)
+- [https://download.memgraph.com/memgraph/v3.12.0/rocky-10/memgraph-3.12.0_1-1.x86_64.rpm](https://download.memgraph.com/memgraph/v3.12.0/rocky-10/memgraph-3.12.0_1-1.x86_64.rpm)
+- [https://download.memgraph.com/memgraph/v3.12.0/rocky-10/memgraph-debuginfo-3.12.0_1-1.x86_64.rpm](https://download.memgraph.com/memgraph/v3.12.0/rocky-10/memgraph-debuginfo-3.12.0_1-1.x86_64.rpm)
### Red Hat
-- [https://download.memgraph.com/memgraph/v3.11.0/centos-9/memgraph-3.11.0_1-1.x86_64.rpm](https://download.memgraph.com/memgraph/v3.11.0/centos-9/memgraph-3.11.0_1-1.x86_64.rpm)
-- [https://download.memgraph.com/memgraph/v3.11.0/centos-9/memgraph-debuginfo-3.11.0_1-1.x86_64.rpm](https://download.memgraph.com/memgraph/v3.11.0/centos-9/memgraph-debuginfo-3.11.0_1-1.x86_64.rpm)
+- [https://download.memgraph.com/memgraph/v3.12.0/centos-9/memgraph-3.12.0_1-1.x86_64.rpm](https://download.memgraph.com/memgraph/v3.12.0/centos-9/memgraph-3.12.0_1-1.x86_64.rpm)
+- [https://download.memgraph.com/memgraph/v3.12.0/centos-9/memgraph-debuginfo-3.12.0_1-1.x86_64.rpm](https://download.memgraph.com/memgraph/v3.12.0/centos-9/memgraph-debuginfo-3.12.0_1-1.x86_64.rpm)
### Ubuntu
-- [https://download.memgraph.com/memgraph/v3.11.0/ubuntu-22.04/memgraph_3.11.0-1_amd64.deb](https://download.memgraph.com/memgraph/v3.11.0/ubuntu-22.04/memgraph_3.11.0-1_amd64.deb)
-- [https://download.memgraph.com/memgraph/v3.11.0/ubuntu-22.04/memgraph-debuginfo_3.11.0-1_amd64.deb](https://download.memgraph.com/memgraph/v3.11.0/ubuntu-22.04/memgraph-debuginfo_3.11.0-1_amd64.deb)
-- [https://download.memgraph.com/memgraph/v3.11.0/ubuntu-24.04/memgraph_3.11.0-1_amd64.deb](https://download.memgraph.com/memgraph/v3.11.0/ubuntu-24.04/memgraph_3.11.0-1_amd64.deb)
-- [https://download.memgraph.com/memgraph/v3.11.0/ubuntu-24.04/memgraph-debuginfo_3.11.0-1_amd64.deb](https://download.memgraph.com/memgraph/v3.11.0/ubuntu-24.04/memgraph-debuginfo_3.11.0-1_amd64.deb)
-- [https://download.memgraph.com/memgraph/v3.11.0/ubuntu-24.04-aarch64/memgraph_3.11.0-1_arm64.deb](https://download.memgraph.com/memgraph/v3.11.0/ubuntu-24.04-aarch64/memgraph_3.11.0-1_arm64.deb)
-- [https://download.memgraph.com/memgraph/v3.11.0/ubuntu-24.04-aarch64/memgraph-debuginfo_3.11.0-1_arm64.deb](https://download.memgraph.com/memgraph/v3.11.0/ubuntu-24.04-aarch64/memgraph-debuginfo_3.11.0-1_arm64.deb)
+- [https://download.memgraph.com/memgraph/v3.12.0/ubuntu-22.04/memgraph_3.12.0-1_amd64.deb](https://download.memgraph.com/memgraph/v3.12.0/ubuntu-22.04/memgraph_3.12.0-1_amd64.deb)
+- [https://download.memgraph.com/memgraph/v3.12.0/ubuntu-22.04/memgraph-debuginfo_3.12.0-1_amd64.deb](https://download.memgraph.com/memgraph/v3.12.0/ubuntu-22.04/memgraph-debuginfo_3.12.0-1_amd64.deb)
+- [https://download.memgraph.com/memgraph/v3.12.0/ubuntu-24.04/memgraph_3.12.0-1_amd64.deb](https://download.memgraph.com/memgraph/v3.12.0/ubuntu-24.04/memgraph_3.12.0-1_amd64.deb)
+- [https://download.memgraph.com/memgraph/v3.12.0/ubuntu-24.04/memgraph-debuginfo_3.12.0-1_amd64.deb](https://download.memgraph.com/memgraph/v3.12.0/ubuntu-24.04/memgraph-debuginfo_3.12.0-1_amd64.deb)
+- [https://download.memgraph.com/memgraph/v3.12.0/ubuntu-24.04-aarch64/memgraph_3.12.0-1_arm64.deb](https://download.memgraph.com/memgraph/v3.12.0/ubuntu-24.04-aarch64/memgraph_3.12.0-1_arm64.deb)
+- [https://download.memgraph.com/memgraph/v3.12.0/ubuntu-24.04-aarch64/memgraph-debuginfo_3.12.0-1_arm64.deb](https://download.memgraph.com/memgraph/v3.12.0/ubuntu-24.04-aarch64/memgraph-debuginfo_3.12.0-1_arm64.deb)
# MAGE direct download links
## Docker
-- [MAGE Docker amd64 (release)](https://download.memgraph.com/memgraph-mage/v3.11.0/docker/mage-3.11.0.tar.gz)
-- [MAGE Docker arm64 (release)](https://download.memgraph.com/memgraph-mage/v3.11.0/docker-aarch64/mage-3.11.0-arm64.tar.gz)
-- [MAGE Docker amd64 (relwithdebinfo)](https://download.memgraph.com/memgraph-mage/v3.11.0/docker-relwithdebinfo/mage-3.11.0-relwithdebinfo.tar.gz)
-- [MAGE Docker arm64 (relwithdebinfo)](https://download.memgraph.com/memgraph-mage/v3.11.0/docker-aarch64-relwithdebinfo/mage-3.11.0-arm64-relwithdebinfo.tar.gz)
-- [MAGE Docker amd64 (malloc)](https://download.memgraph.com/memgraph-mage/v3.11.0/docker-malloc/mage-3.11.0-malloc.tar.gz)
-- [MAGE Docker amd64 (relwithdebinfo-malloc)](https://download.memgraph.com/memgraph-mage/v3.11.0/docker-malloc-relwithdebinfo/mage-3.11.0-relwithdebinfo-malloc.tar.gz)
-- [MAGE Docker arm64 (relwithdebinfo-malloc)](https://download.memgraph.com/memgraph-mage/v3.11.0/docker-malloc-aarch64-relwithdebinfo/mage-3.11.0-arm64-relwithdebinfo-malloc.tar.gz)
-- [MAGE Docker amd64 (relwithdebinfo-cuda)](https://download.memgraph.com/memgraph-mage/v3.11.0/docker-relwithdebinfo-cuda/mage-3.11.0-relwithdebinfo-cuda.tar.gz)
-- [MAGE Docker amd64 (relwithdebinfo-cugraph)](https://download.memgraph.com/memgraph-mage/v3.11.0/docker-relwithdebinfo-cugraph/mage-3.11.0-relwithdebinfo-cugraph.tar.gz)
+- [MAGE Docker amd64 (release)](https://download.memgraph.com/memgraph-mage/v3.12.0/docker/mage-3.12.0.tar.gz)
+- [MAGE Docker arm64 (release)](https://download.memgraph.com/memgraph-mage/v3.12.0/docker-aarch64/mage-3.12.0-arm64.tar.gz)
+- [MAGE Docker amd64 (relwithdebinfo)](https://download.memgraph.com/memgraph-mage/v3.12.0/docker-relwithdebinfo/mage-3.12.0-relwithdebinfo.tar.gz)
+- [MAGE Docker arm64 (relwithdebinfo)](https://download.memgraph.com/memgraph-mage/v3.12.0/docker-aarch64-relwithdebinfo/mage-3.12.0-arm64-relwithdebinfo.tar.gz)
+- [MAGE Docker amd64 (malloc)](https://download.memgraph.com/memgraph-mage/v3.12.0/docker-malloc/mage-3.12.0-malloc.tar.gz)
+- [MAGE Docker amd64 (relwithdebinfo-malloc)](https://download.memgraph.com/memgraph-mage/v3.12.0/docker-malloc-relwithdebinfo/mage-3.12.0-relwithdebinfo-malloc.tar.gz)
+- [MAGE Docker arm64 (relwithdebinfo-malloc)](https://download.memgraph.com/memgraph-mage/v3.12.0/docker-malloc-aarch64-relwithdebinfo/mage-3.12.0-arm64-relwithdebinfo-malloc.tar.gz)
+- [MAGE Docker amd64 (relwithdebinfo-cuda)](https://download.memgraph.com/memgraph-mage/v3.12.0/docker-relwithdebinfo-cuda/mage-3.12.0-relwithdebinfo-cuda.tar.gz)
+- [MAGE Docker amd64 (relwithdebinfo-cugraph)](https://download.memgraph.com/memgraph-mage/v3.12.0/docker-relwithdebinfo-cugraph/mage-3.12.0-relwithdebinfo-cugraph.tar.gz)
## Ubuntu 24.04
These packages require the Memgraph packages to be installed first. The standard package installs with the CPU-only version of PyTorch. The CUDA and cuGraph versions use the CUDA-enabled version of PyTorch; the cuGraph version also requires cuGraph and CUDA Toolkit to be installed. The `memgraph-mage-debuginfo` package ships the debug symbols for the matching standard package.
-- [MAGE Ubuntu 24.04 amd64](https://download.memgraph.com/memgraph-mage/v3.11.0/ubuntu-24.04/memgraph-mage_3.11.0-1_amd64.deb)
-- [MAGE Ubuntu 24.04 arm64](https://download.memgraph.com/memgraph-mage/v3.11.0/ubuntu-24.04/memgraph-mage_3.11.0-1_arm64.deb)
-- [MAGE Ubuntu 24.04 amd64 (debuginfo)](https://download.memgraph.com/memgraph-mage/v3.11.0/ubuntu-24.04/memgraph-mage-debuginfo_3.11.0-1_amd64.deb)
-- [MAGE Ubuntu 24.04 arm64 (debuginfo)](https://download.memgraph.com/memgraph-mage/v3.11.0/ubuntu-24.04/memgraph-mage-debuginfo_3.11.0-1_arm64.deb)
-- [MAGE Ubuntu 24.04 amd64 (cuda)](https://download.memgraph.com/memgraph-mage/v3.11.0/ubuntu-24.04/memgraph-mage_3.11.0-1_amd64-cuda.deb)
-- [MAGE Ubuntu 24.04 amd64 (cuda debuginfo)](https://download.memgraph.com/memgraph-mage/v3.11.0/ubuntu-24.04/memgraph-mage-debuginfo_3.11.0-1_amd64-cuda.deb)
-- [MAGE Ubuntu 24.04 amd64 (cugraph)](https://download.memgraph.com/memgraph-mage/v3.11.0/ubuntu-24.04/memgraph-mage_3.11.0-1_amd64-cugraph.deb)
-- [MAGE Ubuntu 24.04 amd64 (cugraph debuginfo)](https://download.memgraph.com/memgraph-mage/v3.11.0/ubuntu-24.04/memgraph-mage-debuginfo_3.11.0-1_amd64-cugraph.deb)
+- [MAGE Ubuntu 24.04 amd64](https://download.memgraph.com/memgraph-mage/v3.12.0/ubuntu-24.04/memgraph-mage_3.12.0-1_amd64.deb)
+- [MAGE Ubuntu 24.04 arm64](https://download.memgraph.com/memgraph-mage/v3.12.0/ubuntu-24.04/memgraph-mage_3.12.0-1_arm64.deb)
+- [MAGE Ubuntu 24.04 amd64 (debuginfo)](https://download.memgraph.com/memgraph-mage/v3.12.0/ubuntu-24.04/memgraph-mage-debuginfo_3.12.0-1_amd64.deb)
+- [MAGE Ubuntu 24.04 arm64 (debuginfo)](https://download.memgraph.com/memgraph-mage/v3.12.0/ubuntu-24.04/memgraph-mage-debuginfo_3.12.0-1_arm64.deb)
+- [MAGE Ubuntu 24.04 amd64 (cuda)](https://download.memgraph.com/memgraph-mage/v3.12.0/ubuntu-24.04/memgraph-mage_3.12.0-1_amd64-cuda.deb)
+- [MAGE Ubuntu 24.04 amd64 (cuda debuginfo)](https://download.memgraph.com/memgraph-mage/v3.12.0/ubuntu-24.04/memgraph-mage-debuginfo_3.12.0-1_amd64-cuda.deb)
+- [MAGE Ubuntu 24.04 amd64 (cugraph)](https://download.memgraph.com/memgraph-mage/v3.12.0/ubuntu-24.04/memgraph-mage_3.12.0-1_amd64-cugraph.deb)
+- [MAGE Ubuntu 24.04 amd64 (cugraph debuginfo)](https://download.memgraph.com/memgraph-mage/v3.12.0/ubuntu-24.04/memgraph-mage-debuginfo_3.12.0-1_amd64-cugraph.deb)
+
+## CentOS
+
+These packages require the matching Memgraph package to be installed first. The package installs its Python dependencies during installation, so the target machine needs network access. The `memgraph-mage-debuginfo` package ships the debug symbols for the matching standard package. CentOS is `x86_64` only.
+
+- [MAGE CentOS 9 amd64](https://download.memgraph.com/memgraph-mage/v3.12.0/centos-9/memgraph-mage-3.12.0-1.centos-9.x86_64.rpm)
+- [MAGE CentOS 9 amd64 (debuginfo)](https://download.memgraph.com/memgraph-mage/v3.12.0/centos-9/memgraph-mage-debuginfo-3.12.0-1.centos-9.x86_64.rpm)
+- [MAGE CentOS 10 amd64](https://download.memgraph.com/memgraph-mage/v3.12.0/centos-10/memgraph-mage-3.12.0-1.centos-10.x86_64.rpm)
+- [MAGE CentOS 10 amd64 (debuginfo)](https://download.memgraph.com/memgraph-mage/v3.12.0/centos-10/memgraph-mage-debuginfo-3.12.0-1.centos-10.x86_64.rpm)
diff --git a/pages/querying/functions.mdx b/pages/querying/functions.mdx
index 2c1613f39..6ff140a23 100644
--- a/pages/querying/functions.mdx
+++ b/pages/querying/functions.mdx
@@ -182,7 +182,7 @@ All aggregation functions can be used with the `DISTINCT` operator to perform ca
| `endsWith` | `endsWith(string: string, substring: string) -> (boolean)` | Check if the first argument ends with the second. |
| `left` | `left(string: string, count: integer) -> (string)` | Returns a string containing the specified number of leftmost characters of the original string. |
| `lTrim` | `lTrim(string: string) -> (string)` | Returns the original string with leading whitespace removed. |
-| `replace` | `replace(string: string, search-string: string, replacement-string: string) -> (string)` | Returns a string in which all occurrences of a specified string in the original string have been replaced by another (specified) string. |
+| `replace` | `replace(string: string, search-string: string, replacement-string: string) -> (string)` | Returns a string in which all occurrences of a specified string in the original string have been replaced by another (specified) string. An empty `search-string` matches at every position. |
| `reverse` | `reverse(string: string) -> (string)` | Returns a string in which the order of all characters in the original string have been reversed. |
| `right` | `right(string: string, count: integer) -> (string)` | Returns a string containing the specified number of rightmost characters of the original string. |
| `rTrim` | `rTrim(string: string) -> (string)` | Returns the original string with trailing whitespace removed. |
diff --git a/pages/release-notes.mdx b/pages/release-notes.mdx
index 9b2d57b16..4555e3a71 100644
--- a/pages/release-notes.mdx
+++ b/pages/release-notes.mdx
@@ -46,6 +46,51 @@ guide.
## 🚀 Latest release
+### Memgraph v3.12.0 - July 29th, 2026
+
+{⚠️ Breaking changes
}
+
+- The deprecated high availability startup flags `--instance-down-timeout-sec`
+ and `--instance-health-check-frequency-sec` have been removed after two release
+ cycles. They were deprecated in 3.10 and ignored since then, but startup now
+ fails if either flag is still set. Remove them from coordinator configs and
+ use `SET COORDINATOR SETTING 'instance_down_timeout_sec' TO ''` and
+ `SET COORDINATOR SETTING 'instance_health_check_frequency_sec' TO ''`
+ instead. Values previously passed via the flags are not migrated automatically
+ — re-apply any non-default settings after upgrade.
+ [#4310](https://github.com/memgraph/memgraph/pull/4310)
+
+{🛠️ Improvements
}
+
+- WAL files are now protected with CRC32 checksums. The WAL header and each
+ transaction carry their own checksum, which is verified during recovery and on
+ replicas before the data is applied, so silent on-disk corruption is detected
+ instead of being recovered. WAL files written by older versions remain
+ recoverable without verification.
+ [#4225](https://github.com/memgraph/memgraph/pull/4225)
+
+{✨ New features
}
+
+- MAGE is now available as prebuilt RPM packages on CentOS 9 and CentOS 10, so
+ you can install the graph algorithm library with your package manager instead
+ of building from source. Install the matching `memgraph` package first, then
+ the `memgraph-mage` RPM.
+ [#4289](https://github.com/memgraph/memgraph/pull/4289)
+
+{🐞 Bug fixes
}
+
+- Fixed `replace()` causing an infinite loop and OOM when the search string is empty. Empty search now inserts the replacement at every character boundary with bounded allocation, so queries such as `replace("abc", "", "-")` return `"-a-b-c-"` instead of crashing the server. [#4269](https://github.com/memgraph/memgraph/pull/4269)
+- Fixed Bolt 4.4 clients receiving routing tables from data instances and
+ incorrectly defaulting the target database. Data instances now reject routing
+ requests, and database selection over Bolt 4.4 works as expected.
+ [#4270](https://github.com/memgraph/memgraph/pull/4270)
+
+### Lab v3.12.0 - July 29th, 2026
+
+
+
+## Previous releases
+
### Memgraph v3.11.0 - June 17th, 2026
{⚠️ Breaking changes
}
@@ -320,8 +365,6 @@ guide.
-## Previous releases
-
### Memgraph v3.10.1 - May 15th, 2026
{🐞 Bug fixes
}