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

}