memgraph
High-performance open-source in-memory graph database for GraphRAG, AI memory, agentic AI, and real-time graph analytics. Cypher-compatible, built in C++.
Description
High-performance open-source in-memory graph database for GraphRAG, AI memory, agentic AI, and real-time graph analytics. Cypher-compatible, built in C++.
README
Memgraph is an open source graph database built for real-time streaming and compatible with Neo4j. Whether you're a developer or a data scientist with interconnected data, Memgraph will get you the immediate actionable insights fast.
Memgraph directly connects to your streaming infrastructure. You can ingest data from sources like Kafka, SQL, or plain CSV files. Memgraph provides a standard interface to query your data with Cypher, a widely-used and declarative query language that is easy to write, understand and optimize for performance. This is achieved by using the property graph data model, which stores data in terms of objects, their attributes, and the relationships that connect them. This is a natural and effective way to model many real-world problems without relying on complex SQL schemas.
Memgraph is implemented in C/C++ and leverages an in-memory first architecture to ensure that youโre getting the best possible performance consistently and without surprises. Itโs also ACID-compliant and highly available.
- Custom query modules - Run Python, Rust, and C/C++ code natively; check out the MAGE graph algorithm library.
- Deep-path traversals - Use advanced capabilities such as accumulators and path filtering without adding additional application logic.
- Native support for machine learning
- Streaming support & dynamic algorithms
- Multi-tenancy
- High availability replication
- Authentication & authorization
- Role-based and label-based access control
- Monitoring via HTTP server
You don't need to install anything to try out Memgraph. Check out our Memgraph Playground sandboxes in your browser.
You can find the binaries and Docker images on the Download
Hub and the installation instructions in the
official documentation.
Stay on the cutting edge with the latest features and improvements by using Memgraph Daily Builds. Daily builds are updated frequently and allow you to test new capabilities before they reach stable releases.
Check out Memgraph Cloud - a cloud service fully managed on AWS and available in 6 geographic regions around the world. Memgraph Cloud allows you to create projects with Enterprise instances of MemgraphDB from your browser.
Connect to the database using Memgraph Lab, mgconsole, various drivers (Python, C/C++ and others) and WebSocket.
Visualize graphs and play with queries to understand your data. Memgraph Lab is a user interface that helps you explore and manipulate the data stored in Memgraph. Visualize graphs, execute ad hoc queries, and optimize their performance.
Import data into Memgraph using Kafka, RedPanda or Pulsar streams, CSV and JSON files, or Cypher commands.
The Memgraph documentation is available at memgraph.com/docs.
Command line options that Memgraph accepts are available in the reference guide.
Welcome to the heart of Memgraph development! We're on a mission to supercharge Memgraph, making it faster, more user-friendly, and even more powerful. We owe a big thanks to our fantastic community of contributors who help us fix bugs and bring incredible improvements to life. If you're passionate about databases and open source, here's your chance to make a difference!
Learn how to download, compile and run Memgraph from source with the Quick Start guide.
Interested in the nuts and bolts of Memgraph? Our internals documentation is where you can uncover the inner workings of Memgraph's architecture, learn how to build the project from scratch, and discover the secrets of effective contributions. Dive deep into the database!
Ready to jump into the action? Explore our contributing guide to get the inside scoop on how we develop Memgraph. It's your roadmap for suggesting bug fixes and enhancements. Contribute your skills and ideas!
Our commitment to a respectful and professional community is unwavering. Every participant in Memgraph is expected to adhere to a stringent Code of Conduct. Please carefully review the complete text to gain a comprehensive understanding of the behaviors that are both expected and explicitly prohibited.
We maintain a zero-tolerance policy towards any violations. Our shared commitment to this Code of Conduct ensures that Memgraph remains a place where integrity and excellence are paramount.
Memgraph Community is available under the BSL
license.
Memgraph Enterprise is available under the
MEL license.
- ๐ Discord
- ๐ Stack Overflow
- ๐ฆ Twitter
- ๐ฅ YouTube
Release History
| Version | Changes | Urgency | Date |
|---|---|---|---|
| v3.10.1 | # Memgraph v3.10.1 - May 15th, 2026 ## ๐ Bug fixes - Fixed Memgraph and MAGE Docker containers failing to start when there are no command line arguments provided, e.g. `docker run -it memgraph/memgraph:3.10.0`. [#4145](https://github.com/memgraph/memgraph/pull/4145) | High | 5/15/2026 |
| v3.10.0 | # Memgraph v3.10.0 - May 13th, 2026 ## โ ๏ธ Breaking changes - Coordinators ignore periodic storage snapshots (no user data to snapshot), and `--init-file` / `--init-data-file` are rejected on coordinators and on data instances that join an HA cluster (`--management-port` set). Remove those flags from coordinator and HA data-instance configs before upgrading, and run any bootstrap Cypher against the MAIN after the cluster is formed instead of relying on startup init files. [#4035](https://g | High | 5/13/2026 |
| v3.9.0 | # Memgraph v3.9.0 - March 25th, 2026 ## โ ๏ธ Breaking changes - HA coordinator data directories from previous versions contain corrupted cluster configuration log entries that cannot be recovered. When upgrading to 3.9, all coordinator data directories must be cleaned and coordinators restarted fresh; run setup queries again on the new coordinator leader. Data instances are not affected. See the [migration guide](/clustering/high-availability/migrating-to-v3-9-ha). [#3900](https://github.com | Medium | 3/25/2026 |
| v3.8.1 | # Memgraph v3.8.1 - February 17th, 2026 ## ๐ Bug fixes - Fixed using `LOAD CSV` via SSL, by adding missing `ca-certificates` package to the Memgraph Docker image [#3793](https://github.com/memgraph/memgraph/pull/3793) - A data instance could've get into a deadlock state when some specific timings are triggered. This is now fixed so users should be able to always start a data instance without any deadlocks occurring. [#3787](https://github.com/memgraph/memgraph/pull/3787) - Fix so t | Low | 2/17/2026 |
| v3.8.0 | # Memgraph v3.8.0 - February 11th, 2026 ## โ ๏ธ Breaking changes - Switching to analytical mode now fails if constraints exist. Creating constraints or text indexes in analytical mode is now blocked. Workflows that relied on these operations will need to be updated. [#3461](https://github.com/memgraph/memgraph/pull/3461) - Removed deprecated flags `--auth-module-executable`, `--bolt_session_inactivity_timeout`, and `--storage_parallel_index_recovery`. Users should migrate to `--auth-module- | Low | 2/11/2026 |
| v3.7.2 | # Memgraph v3.7.2 - December 23rd, 2025 ## ๐ Bug fixes - Vector index recovery can now run in parallel, with additional improvements to index resizing and safer entry removal logic. This results in faster startup and schema recovery for databases with large vector indexes. Users can enable this behavior by starting Memgraph with `--storage-parallel-schema-recovery=true`. [#3562](https://github.com/memgraph/memgraph/pull/3562) - Complete shutdown of coordinators and Settings held locally un | Low | 12/23/2025 |
| v3.7.1 | # Memgraph v3.7.1 - November 25th, 2025 ## โ ๏ธ Breaking changes - Changed: Uses documented grammar for fine-grained edge permissions, such as `GRANT READ ON EDGES OF TYPE :FOLLOWS TO alice` or `GRANT UPDATE ON EDGES OF TYPE * TO bob`. Due to the new syntax, this is a breaking change.[#3457](https://github.com/memgraph/memgraph/pull/3457) ## ๐ ๏ธ Improvements - Forced the GC to acquire a shared lock in analytical mode, preventing unnecessary blocking of other transactions and improving | Low | 11/25/2025 |
| v3.7.0 | # Memgraph v3.7.0 - November 19th, 2025 ## โ ๏ธ Breaking changes - IMPORTANT: Changed fine-grained access configuration syntax and semantics to be more flexible. Permissions can be set on groups of labels matching any or exactly what is set in the `GRANT` statement. `CREATE`, `READ`, `UPDATE`, and `DELETE` permissions are no longer organised in a hierarchy and can be granted or revoked independently. This is a breaking change, and the fine-grained access syntax and semantics of Memgraph 3.6 | Low | 11/19/2025 |
| v3.6.2 | # Memgraph v3.6.2 - November 4th, 2025 - Version bump to v3.6.2 to match the latest MAGE version. | Low | 11/4/2025 |
| v3.6.1 | # Memgraph v3.6.1 - October 16th, 2025 ## โ ๏ธ Breaking changes - Changed the behaviour of calls like `datetime({timezone:"Europe/Brussels"})`. Such calls return the current clock time. If you need the previous behaviour, then explicitly state one or more numeric fields as `0`, e.g, `datetime({year: 0, timezone:"Europe/Brussels"}`. [#3339](https://github.com/memgraph/memgraph/pull/3339) ## ๐ Bug fixes - Fixed `convert_c.to_tree()` memory leak. Using `to_tree` will not indefinably inc | Low | 10/16/2025 |
| v3.6.0 | # Memgraph v3.6.0 - October 8th, 2025 ## โ ๏ธ Breaking changes - Removed `mg_import_csv` executable from Memgraph, `LOAD CSV` should be used instead. [#3216](https://github.com/memgraph/memgraph/pull/3216) - Changed the behaviour of Memgraph when users set the `--storage-wal-enabled=false`, `--storage-snapshot-interval` and `--storage-snapshot-interval-sec` flags. If Memgraph won't start under replication/HA, if `--storage-wal-enabled=false`. Single instance Memgraph deployments should have | Low | 10/8/2025 |
| v3.5.2 | # Memgraph v3.5.2 - September 24th, 2025 ## โจ New features - Added support for pattern expressions inside the where clause. Users are now able to do a query similar to `MATCH (a) WHERE NOT (a)-[]->(:Something)`. Syntax behaves identical to EXISTS patterns. [#3286](https://github.com/memgraph/memgraph/pull/3286) ## ๐ ๏ธ Improvements - Improved performance of `convert_c.to_tree`. to_tree should run some 3-4 times faster than before. [#3203](https://github.com/memgraph/memgraph/pull/3203 | Low | 9/25/2025 |
| v3.5.1 | # Memgraph v3.5.1 - September 11th, 2025 ## :lady_beetle: Bug fixes - Fixed issue where extra results were found when using `OR` label expressions alongside `MATCH` labels, such as `MATCH (n:A) WHERE (n:B OR n:C) RETURN n`. These queries now return the correct results. [#3237](https://github.com/memgraph/memgraph/pull/3237) - Fixes Cypher parsing issue which would incorrectly handle any queries that used certain keywords, such as `Resource`, as a label. Users no longer need to worry abo | Low | 9/11/2025 |
| v3.5.0 | # Memgraph v3.5.0 - August 27th, 2025 ## โ ๏ธ Breaking changes - Transitioned from statically linking to dynamically linking `libstdc++`. This change may affect users running Memgraph natively, especially during reinstallation. If using Docker or K8s, this change shouldn't result in any breaking issues. [#3061](https://github.com/memgraph/memgraph/pull/3061) - System queries (auth, replication, multi-tenant) are not targeting the default database "memgraph". Users must have both the correct | Low | 8/27/2025 |
| v3.4.0 | # Memgraph v3.4.0 - July 10th, 2025 ## โ ๏ธ Breaking changes - Introduced a small breaking change under `SHOW INDEX INFO` output. Previously, all vector indexes returned the hardcoded string `"vector"` as their type. Now, the output reflects the actual indexed entity more precisely: for node indexes the type is `label+property_vector`, for edge indexes: `edge-type+property_vector`. [#3059](https://github.com/memgraph/memgraph/pull/3059) ## โจ New features - Quantization options hav | Low | 7/10/2025 |
| v3.3.0 | # Memgraph v3.3.0 - June 4th, 2025 ## โจ New features - New bolt work scheduler based on a priority queue with a sidecar channel for high priority queries. Users should never see a blocked database due to heavy load. Users can now run specific high priority queries even under heavy loads (example: SHOW TRANSACTIONS). [2567](https://github.com/memgraph/memgraph/pull/2567) - Added support for creating indices on nested properties within maps. Users can now create efficient indices on deeply | Low | 6/4/2025 |
| v3.2.1 | # Memgraph v3.2.1 - May 9th, 2025 ## ๐ ๏ธ Improvements - Modified the Docker image such that the memgraph user has the UID 101 to match that used by MAGE. If the user has any volumes mounted on older versions or memgraph (< 3.2.1), then they should chown 101:101 /path/to/volume to allow the memgraph user to read and write to them. [#2947](https://github.com/memgraph/memgraph/pull/2947) - New relwithdebinfo Docker build for arm64 to allow users to debug Memgraph on ARM. Push relwithdebinfo DE | Low | 5/9/2025 |
| v3.2.0 | # Memgraph v3.2.0 - Apr 23rd, 2025 ## โ ๏ธ Breaking changes - Procedure results are now populated with null values by default. Procedures no longer throw if all result fields don't get inserted; instead, they return null in those fields. [#2790](https://github.com/memgraph/memgraph/pull/2790) ## โจ New features - Added support for composite indices. Composite indices are indices on labels and two or more properties. Composite indices significantly improve database performance on queries | Low | 4/23/2025 |
| v3.1.1 | ## Memgraph v3.1.1 - Mar 28th, 2025 ### โจ New features - Added list comprehension Cypher feature. It's now possible to execute queries like `MATCH (x) RETURN [(x)-->(y) | y.prop];`. [#2656](https://github.com/memgraph/memgraph/pull/2656) - Added `--storage-access-timeout-sec` flag. Previously the access timeout was hardcoded to 1sec. Now users can define an appropriate timeout for their workflow at startup. [#2831](https://github.com/memgraph/memgraph/pull/2831) ### ๐ ๏ธ Improvements | Low | 3/28/2025 |
| v3.1.0 | ## Memgraph v3.1.0 - Mar 12th, 2025 ### โ ๏ธ Breaking changes - Improved error messages might result in a `breaking` outcome under your applications if the application assumes the exact content of error messages. [#2379](https://github.com/memgraph/memgraph/pull/2379) - `include/mg_exceptions.hpp` had ABI break which requires C++ modules to be rebuilt. [#2702](https://github.com/memgraph/memgraph/pull/2702) ### โจ New features - Added toSet() function for removing duplicates from a lis | Low | 3/12/2025 |
| v3.0.0 | ## Memgraph v3.0.0 - Jan 29th, 2024 ### โ ๏ธ Breaking changes - Vector search has been removed from the experimental feature set. The API has changed and it's stable now. [#2500](https://github.com/memgraph/memgraph/pull/2500) - Query modules memory allocator changed. Fixing an issue where query modules would incorrectly take up all memory due to the constant creation and deletion of objects. Add a reference type to CPP API, which should increase performance in some cases, and make minor ch | Low | 1/29/2025 |
| v2.22.1 | ## Memgraph v2.22.1 - Dec 22, 2024 ### ๐ ๏ธ Improvements - The `convert.str2object` function was rewritten from Python to C++ so Python GIL does not bottleneck it. Users are now able to achieve the necessary parallelization improvements. [#2532](https://github.com/memgraph/memgraph/pull/2532) - Added `SHOW INSTANCE` query to expose more information about the coordinator instance to which the user is connected. The query returns: `instance_name`, `bolt_server`, `coordinator_server`, `manage | Low | 12/22/2024 |
| v2.22.0 | ## Memgraph v2.22.0 - Nov 27, 2024 ### โ ๏ธ Breaking changes - `--experimental-enabled=high-availability` does not exist anymore. If you used the feature, please remove the experimental flag because it's no longer necessary. [#2479](https://github.com/memgraph/memgraph/pull/2479) - `any(v IN [] WHERE v)` was returning `Null`; since this release, it returns `False`. [#2489](https://github.com/memgraph/memgraph/pull/2489) - We improved global settings error messages (log to stderr and log le | Low | 11/27/2024 |
| v2.21.0 | ## Memgraph v2.21.0 - Nov 6, 2024 ### New features and improvements - Added planner optimization to replace `point.distance` filter with an index scan. Queries like `WITH point({x:0,y:0}) AS a MATCH (m:L1) WHERE point.distance(m.prop, a) < 1 RETURN m;`, should run faster if there is the [point index](/fundamentals/indexes#point-index) created. If you are dealing with spatial data, there is a high chance you need such indexes to run your queries faster. [#2362](https://github.com/memgraph/m | Low | 11/6/2024 |
| v2.20.1 | Bug fixes - When a replica gets promoted to main upon failover, it will now use correctly incremented durable timestamp. [#2366](https://github.com/memgraph/memgraph/pull/2366) - Replica will now take MAIN's uuid only when REPLICA's current sequence number is 0. [#2388](https://github.com/memgraph/memgraph/pull/2388) - Eliminated deadlock caused by concurrent calls to Stop method on the Scheduler. Eliminated deadlock caused by calling Pause after Stop from different threads. [#2398](https:/ | Low | 10/15/2024 |
| v2.20.0 | New features and improvements - [Enterprise] Graduated replication to โproductionโ from โexperimentalโ. [#2295](https://github.com/memgraph/memgraph/pull/2295) - Up to date schema tracking, available for In Memory Transactional and In Memory Analytical. [#2256](https://github.com/memgraph/memgraph/pull/2256) - New index on geospatial datatype. [#2298](https://github.com/memgraph/memgraph/pull/2298) - Added SASL2 support for Memgraph with Kafka streaming. [#2305](https://github.com/memgraph/m | Low | 9/26/2024 |
| v2.19.0 | ## Memgraph v2.19.0 - Aug 14, 2024 <Callout type="error"> ### Breaking changes - Fixed an issue where `LocalDateTime` did not convert user date to UTC properly. `LocalDateTime` now considers the set database [timezone for conversions](https://memgraph.com/docs/fundamentals/data-types#localdatetime). A new [command-line argument and database setting](https://memgraph.com/docs/fundamentals/data-types#database-timezone) for timezone have been added, allowing users to define the database | Low | 8/14/2024 |
| v2.18.1 | ## Memgraph v2.18.1 - Jul 23, 2024 <Callout type="error"> ### Breaking changes - Introduced [management servers on coordinators](https://memgraph.com/docs/clustering/high-availability) to get the health state of the cluster. Each coordinator now has a management server and client connection to all other coordinators. This allows follower coordinators to correctly report health states by contacting the leader coordinator. [#2138](https://github.com/memgraph/memgraph/pull/2138) </Ca | Low | 7/23/2024 |
| v2.18.0 | ## Memgraph v2.18.0 - Jul 3, 2024 <Callout type="error"> ### Breaking changes - Configuration flag `--coordinator-hostname` is added, which is used to fix the issue of having `0.0.0.0` in the output of `SHOW INSTANCES` on the first leader. The flag has its environment variable equivalent in `MEMGRAPH_COORDINATOR_HOSTNAME`. Now all coordinator instances [need to provide a configuration option](https://memgraph.com/docs/clustering/high-availability) for the coordinator hostname. For loc | Low | 7/3/2024 |
| v2.17.0 | ## Memgraph v2.17.0 - May 22, 2024 ### Breaking changes - The flag [`--replication-restore-state-on-startup`]https://memgraph.com/docs(/database-management/configuration) is now set to `true` by default. [#2031](https://github.com/memgraph/memgraph/pull/2031) - Memgraph will now fail to start if the Bolt server cannot be created, ensuring a dedicated port is available. Failures in creating the WebSocket and HTTP servers will no longer crash Memgraph but will be logged more effectively. | Low | 5/22/2024 |
| v2.16.1 | ## Memgraph v2.16.1 - May 15, 2024 ### New features and improvements - Added exponential backoff to the coordinator force reset function. This improvement helps reduce pressure on logs and allows time for machines to come back online by implementing a backoff strategy that starts at 1 second and increases to 5 seconds, followed by resets every 5 seconds. [#1996](https://github.com/memgraph/memgraph/pull/1996) - Upgraded the Clojure client dependencies. Memgraph now uses `gorillabs/neo4j | Low | 5/15/2024 |
| v2.16.0 | ## Memgraph v2.16.0 - Apr 10, 2024 ### New features and improvements - Added a new command, [`DROP GRAPH`](https://memgraph.com/docs/querying/clauses/drop-graph), that deletes data in the database in an efficient manner. [#1723](https://github.com/memgraph/memgraph/pull/1723) - Fixed a bug that caused the incorrect coordinator to become the leader due to missing cluster state data. [#1897](https://github.com/memgraph/memgraph/pull/1897) - Added support for [edge type indices](https://mem | Low | 4/10/2024 |
| v2.15.2 | ## Memgraph v2.15.2 - Apr 7, 2024 ### Bug fixes - Fixed wrong text search module name. [#1900](https://github.com/memgraph/memgraph/pull/1900) | Low | 4/7/2024 |
| v2.15.1 | ## Memgraph v2.15.1 - Mar 27, 2024 ### New features and improvements - Introduced a new flag, [`storage-delta-on-identical-property-update`](https://memgraph.com/docs/configuration/configuration-settings#storage), which allows for the optional creation of a delta object when a property is updated with the same value. [#1791](https://github.com/memgraph/memgraph/pull/1791) - Added durable text indices and [basic text search](https://memgraph.com/docs/configuration/text-search capabilitie | Low | 3/29/2024 |
| v2.15.0 | ## Memgraph v2.15.0 - Feb 28, 2024 ### New features and improvements - Enhanced security by integrating a password hashing algorithm into authentication durability mechanisms, alongside existing password hashes. Passwords hashed with SHA-256 will be rehashed with salt upon validation for improved security. [#1644](https://github.com/memgraph/memgraph/pull/1644) - Introduced a function to calculate the size of properties (in bytes) within Memgraph storage. [#1557](https://github.com/memg | Low | 2/28/2024 |
| v2.14.1 | ## Memgraph v2.14.1 - Feb 16, 2024 ### Bug fixes - Fixed an issue with accumulated path evaluation affecting built-in algorithms: - Depth-first search (DFS) - Breadth-first search (BFS) - Weighted shortest path (WSP) - All shortest paths (ASP). [#1642](https://github.com/memgraph/memgraph/pull/1642) | Low | 2/16/2024 |
| v2.14.0 | ## Memgraph v2.14.0 - Jan 22, 2024 ### New features and improvements - [`toBoolean()` function](https://memgraph.com/docs/querying/functions#scalar-functions) now maps strings `"true"` and `"t"` to `true` and `"false"` and `"f"` to `false`. [#1620](https://github.com/memgraph/memgraph/pull/1620) - Labels can now also be defined using query [parameters](https://memgraph.com/docs/querying/expressions#parameters). [#1602](https://github.com/memgraph/memgraph/pull/1602) - [`toString()` funct | Low | 1/23/2024 |
| v2.13.0 | ## Memgraph v2.13.0 - Dec 8, 2023 ### New features and improvements - Now you can check information about node labels and edge types by running the [schema-related queries](https://memgraph.com/docs/querying/schema#schema-related-queries) `SHOW NODE_LABELS INFO;` and `SHOW EDGE_TYPES INFO;`. [#1466](https://github.com/memgraph/memgraph/pull/1466) - Existence and unique [constraints](https://memgraph.com/docs/fundamentals/constraints) can now also be recovered in parallel, just like [index | Low | 12/8/2023 |
| v2.12.1 | ## Memgraph v2.12.1 - Nov 17, 2023 ### New features and improvements - Cached query plans are no longer saved during the time interval defined by the `--query-plan-cache-ttl`, rather they are cached by count. You can set the maximum number of cached query plans using the `--query-plan-cache-max-size` [configuration flag](https://memgraph.com/docs/configuration/configuration-settings#query). By deafult, the maximum number of cached query plans is 1000. This change has been made to reduce th | Low | 11/17/2023 |
| v2.12.0 | ## v2.12 - Nov 1, 2023 ### New features and improvements - Snapshot and WAL files version have been updated. Snapshot and WAL files created with Memgraph v2.12 and higher won't be usable in previous versions of Memgraph (v2.11.1 and lower). [#1281](https://github.com/memgraph/memgraph/pull/1281) - Memgraph can now start the instance in any [storage mode](https://memgraph.com/docs/fundamentals/storage-memory-usage/storage-modes), defined by the `--storage-mode` [configuration flag](https:/ | Low | 11/1/2023 |
| v2.11.0 | ## v2.11 - Sep 13, 2023 ### New features and improvements - The following configurational settings can now be changed during runtime: server name, query execution timeout, log level and the option to log to `stderr`. Use the following queries to set the configuration: ``` SET DATABASE SETTING 'server.name' TO 'new-name'; SET DATABASE SETTING 'query.timeout' TO '100'; SET DATABASE SETTING 'log.level' TO 'TRACE'; SET DATABASE SETTING 'log.to_stderr' TO 'true`; ``` | Low | 9/13/2023 |
| v2.10.1 | ## v2.10.1 - Aug 22, 2023 ### Improvements and bug fixes - Improved performance on batch update of properties, e.g., `MATCH (n) SET n += {prop1:1, prop2:2, ...};` [#1115](https://github.com/memgraph/memgraph/pull/1115) - Added a delta cache to improve query performance. This helps in situations of repeated reads of vertices which have many delta changes caused by another transaction while the current transaction is operating with snapshot isolation level and so needs to process those delt | Low | 8/22/2023 |
| v2.10.0 | ## v2.10 - Aug 2, 2023 ### New features and improvements - The new [multi-tenant support](https://memgraph.com/docs/memgraph/reference-guide/multi-tenancy) available in the Enterprise Edition of Memgraph enables you to manage multiple isolated databases within a single instance. The primary objective is to facilitate efficient resource isolation, maintain data integrity, and manage access for different clients. [#952](https://github.com/memgraph/memgraph/pull/952) - The configuration flag | Low | 8/2/2023 |
| v2.9.0 | ## v2.9.0 - July 20, 2023 NOTE: In order to enable the REPLICA instances to restart and continue their role in the replication cluster without disconnecting from it, Memgraph 2.9 introduced a new configuration flag `--replication-restore-state-on-startup` which is `false` by default. Using this configuration flag you decided whether any instance, MAIN or REPLICA, will regain their previous role in the replication cluster. If your current project is using replication and you do not introduce t | Low | 7/20/2023 |
| v2.8.0 | ## v2.8 - May 18, 2023 ### New features and improvements - Data recovery is now up to 6x faster depending on the number of available cores, as [snapshot loading is distributed among several threads](/memgraph/reference-guide/backup#snapshots). [#868](https://github.com/memgraph/memgraph/pull/868) - During the recovery, indexes can also be created using multiple threads, thus speeding up the process. [#882](https://github.com/memgraph/memgraph/pull/882) - Memgraph now exposes system metri | Low | 5/18/2023 |
| v2.7.0 | ### New features and improvements - You can now choose between two different storage modes: - Transactional mode - the default database mode that favors strongly-consistent ACID transactions using WAL files and periodic snapshots, but requires more time and resources during data import and analysis. - Analytical mode - speeds up import and data analysis but offers no ACID guarantees besides manually created snapshots. Switch between modes within the session using | Low | 4/5/2023 |
| v2.6.0 | ### Major features and improvements - Importing speed using the LOAD CSV clause has been improved due to two changes: - Performance improvement in accessing values from large arrays or maps with numerous properties. [#744](https://github.com/memgraph/memgraph/pull/774) - Upon creating a large number of node or relationship properties, properties are stored in a property store all at once, instead of individually. [#788](https://github.com/memgraph/memgraph/pull/788) - Newly implemen | Low | 3/8/2023 |
| v2.5.2 | ### Bug Fixes - Variables can be used inside nested FOREACH clauses. [#725](https://github.com/memgraph/memgraph/pull/725) - FOREACH clause can now use indexes if needed (e.g. in case of MERGE). [#736](https://github.com/memgraph/memgraph/pull/736) - C++ API now allows setting and getting node and relationship properties. [#732](https://github.com/memgraph/memgraph/pull/732) - OPTIONAL MATCH can now use label property indexes that are referencing the previously matched variables. [#736](ht | Low | 1/27/2023 |
| v2.5.1 | ### Bug Fixes - The `LOAD CSV` clause now uses less RAM to load a whole `CSV` file. [#712](https://github.com/memgraph/memgraph/pull/712) - `read_write_type_checker` logic correction so queries have the right `rw_type`, which was a blocker for use on replicas. [#709](https://github.com/memgraph/memgraph/pull/709) - Fixed a trigger bug where Memgraph is configured to run without properties on edges. Triggers are now working as expected where there are no properties on edges. [#717](https://g | Low | 1/19/2023 |
| v2.5.0 | # Major Features and Improvements - `DISTINCT` operator can now be used with aggregation functions. Until now, if you wanted to use an aggregation function with distinct values, you had to write a query similar to this one `WITH DISTINCT n.prop as distinct_prop RETURN COUNT(distinct_prop)`. Now you can use the `DISTINCT` operator like in the following query, `RETURN COUNT(DISTINCT n.prop)`. https://github.com/memgraph/memgraph/pull/665 - You can now create a user before the Bolt server starts | Low | 12/13/2022 |
| v2.4.2 | ### Bug Fixes - Fixed a bug when calling `AllShortestPath` with `id` function. [#636](https://github.com/memgraph/memgraph/pull/636) - Fixed bug when getting iterating over in-edges of a Node. [#582](https://github.com/memgraph/memgraph/pull/613) | Low | 11/7/2022 |
| v2.4.1 | ### Bug Fixes - Fixed bug when getting EdgeType from Edge object or Label from Vertex object in query modules. [#582](https://github.com/memgraph/memgraph/pull/582) - Fix a bug when changing role permissions for label based authorization, by passing user's instead of role's `fine_grained_access_handler`. [#579](https://github.com/memgraph/memgraph/pull/579) | Low | 10/7/2022 |

