Major Features and Improvements

  • [Enterprise Ed.] Exposed authentication username/rolename regex as a flag


  • [Enterprise Ed.] Improved auth module error handling and added support for

    relative paths.

  • Added support for Python query modules. This release of Memgraph supports

    query modules written using the already existing C API and the new Python


  • Added support for unique constraints. The unique constraint is created with a

    label and one or more properties.

  • Implemented support for importing CSV files (mg_import_csv). The importer

    is compatible with the Neo4j batch CSV importer.

  • Snapshot and write-ahead log format changed (backward compatible with v0.50).

  • Vertices looked up by their openCypher ID (MATCH (n) WHERE ID(n) = ...)

    will now find the node in O(logn) instead of O(n).

  • Improved planning of BFS expansion, a faster, specific approach is now

    favored instead of a ScanAll+Filter operation.

  • Added syntax for limiting memory of CALL.

  • Exposed server name that should be used for Bolt handshake as flag


  • Added several more functions to the query module C API.

  • Implemented a storage locking mechanism that prevents the user from

    concurrently starting two Memgraph instances with the same data directory.

Bug Fixes and Other Changes

  • [Enterprise Ed.] Fixed a bug that crashed the database when granting

    privileges to a user.

  • [Enterprise Ed.] Improved Louvain algorithm for community detection.

  • Type of variable expansion is now printed in EXPLAIN (e.g. ExpandVariable,

    STShortestPath, BFSExpand, WeightedShortestPath).

  • Correctly display CALL in EXPLAIN output.

  • Correctly delimit arguments when printing the signature of a query module.

  • Fixed a planning issue when CALL preceded filtering.

  • Fixed spelling mistakes in the storage durability module.

  • Fixed storage GC indices/constraints subtle race condition.

  • Reduced memory allocations in storage API and indices.

  • Memgraph version is now outputted to stdout when Memgraph is started.

  • Improved RPM packaging.

  • Reduced number of errors reported in production log when loading query


  • Removed early access wording from the Community Offering license.


Breaking Changes

  • [Enterprise Ed.] Remove support for Kafka streams.

  • Snapshot and write-ahead log format changed (not backward compatible).

  • Removed support for unique constraints.

  • Label indices aren't created automatically, create them explicitly instead.

  • Renamed several database flags. Please see the configuration file for a list of current flags.

Major Features and Improvements

  • [Enterprise Ed.] Add support for auth module.

  • [Enterprise Ed.] LDAP support migrated to auth module.

  • Implemented new graph storage engine.

  • Add support for disabling properties on edges.

  • Add support for existence constraints.

  • Add support for custom openCypher procedures using a C API.

  • Support loading query modules implementing read-only procedures.

  • Add CALL <procedure> YIELD <result> syntax for invoking loaded procedures.

  • Add CREATE INDEX ON :Label for creating label indices.

  • Add DROP INDEX ON :Label for dropping label indices.

  • Add DUMP DATABASE clause to openCypher.

  • Add functions for treating character strings as byte strings.

Bug Fixes and Other Changes

  • Fix several memory management bugs.

  • Reduce memory usage in query execution.

  • Fix bug that crashes the database when EXPLAIN is used.


Breaking Changes

  • Snapshot and write-ahead log format changed (not backward compatible).

  • indexInfo() function replaced with SHOW INDEX INFO syntax.

  • Removed support for unique index. Use unique constraints instead.

  • CREATE UNIQUE INDEX ON :label (property) replaced with CREATE CONSTRAINT ON (n:label) ASSERT IS UNIQUE.

  • Changed semantics for COUNTER openCypher function.

Major Features and Improvements

  • [Enterprise Ed.] Add new privilege, STATS for accessing storage info.

  • [Enterprise Ed.] LDAP authentication and authorization support.

  • [Enterprise Ed.] Add audit logging feature.

  • Add multiple properties unique constraint which replace unique indices.

  • Add SHOW STORAGE INFO feature.

  • Add PROFILE clause to openCypher.

  • Add CREATE CONSTRAINT clause to openCypher.

  • Add DROP CONSTRAINT clause to openCypher.


  • Add uniformSample function to openCypher.

  • Add regex matching to openCypher.

Bug Fixes and Other Changes

  • Fix bug in query comment parsing.

  • Fix bug in query symbol table.

  • Fix OpenSSL memory leaks.

  • Make authentication case insensitive.

  • Remove COALESCE function.

  • Add movie tutorial.

  • Add backpacking tutorial.


Bug Fixes and Other Changes

  • Fix bug in explicit transaction handling.

  • Fix bug in edge filtering by edge type and destination.


Breaking Changes

  • Write-ahead log format changed (not backward compatible).

Major Features and Improvements

  • [Enterprise Ed.] Reduce memory usage in distributed usage.

  • Add DROP INDEX feature.

  • Improve SSL error messages.

Bug Fixes and Other Changes

  • [Enterprise Ed.] Fix issues with reading and writing in a distributed query.

  • Correctly handle an edge case with unique constraint checks.

  • Fix a minor issue with mg_import_csv.

  • Fix an issue with EXPLAIN.


Breaking Changes

  • Write-ahead log format changed (not backward compatible).

  • Snapshot format changed (not backward compatible).

Major Features and Improvements

  • [Enterprise Ed.] Authentication and authorization support.

  • [Enterprise Ed.] Kafka integration.

  • [Enterprise Ed.] Support dynamic worker addition in distributed.

  • Reduce memory usage and improve overall performance.

  • Add CREATE UNIQUE INDEX clause to openCypher.

  • Add EXPLAIN clause to openCypher.

  • Add inDegree and outDegree functions to openCypher.

  • Improve BFS performance when both endpoints are known.

  • Add new node-label, relationship-type and quote options to

    mg_import_csv tool.

  • Reduce memory usage of mg_import_csv.

Bug Fixes and Other Changes

  • [Enterprise Ed.] Fix an edge case in distributed index creation.

  • [Enterprise Ed.] Fix issues with Cartesian in distributed queries.

  • Correctly handle large messages in Bolt protocol.

  • Fix issues when handling explicitly started transactions in queries.

  • Allow openCypher keywords to be used as variable names.

  • Revise and make user visible error messages consistent.

  • Improve aborting time consuming execution.


Breaking Changes

  • Snapshot format changed (not backward compatible).

Major Features and Improvements

  • Improved Id Cypher function.

  • Added string functions to openCypher (lTrim, left, rTrim, replace,

    reverse, right, split, substring, toLower, toUpper, trim).

  • Added timestamp function to openCypher.

  • Added support for dynamic property access with [] operator.


Major Features and Improvements

  • [Enterprise Ed.] Improve Cartesian support in distributed queries.

  • [Enterprise Ed.] Improve distributed execution of BFS.

  • [Enterprise Ed.] Dynamic graph partitioner added.

  • Static nodes/edges id generators exposed through the Id Cypher function.

  • Properties on disk added.

  • Telemetry added.

  • SSL support added.

  • toString function added.

Bug Fixes and Other Changes

  • Document issues with Docker on OS X.

  • Add BFS and Dijkstra's algorithm examples to documentation.


Breaking Changes

  • Snapshot format changed (not backward compatible).

Major Features and Improvements

  • [Enterprise Ed.] Distributed storage and execution.

  • reduce and single functions added to openCypher.

  • wShortest edge expansion added to openCypher.

  • Support packaging RPM on CentOS 7.

Bug Fixes and Other Changes

  • Report an error if updating a deleted element.

  • Log an error if reading info on available memory fails.

  • Fix a bug when MATCH would stop matching if a result was empty, but later

    results still contain data to be matched. The simplest case of this was the

    query: UNWIND [1,2,3] AS x MATCH (n :Label {prop: x}) RETURN n. If there

    was no node (:Label {prop: 1}), then the MATCH wouldn't even try to find

    for x being 2 or 3.

  • Report an error if trying to compare a property value with something that

    cannot be stored in a property.

  • Fix crashes in some obscure cases.

  • Commit log automatically garbage collected.

  • Add minor performance improvements.


Breaking Changes

  • Snapshot format changed (not backward compatible).

  • Snapshot configuration flags changed, general durability flags added.

Major Features and Improvements

  • Write-ahead log added.

  • nodes and relationships functions added.

  • UNION and UNION ALL is implemented.

  • Concurrent index creation is now enabled.

Bug Fixes and Other Changes


Major Features and Improvements

  • CASE construct (without aggregations).

  • Named path support added.

  • Maps can now be stored as node/edge properties.

  • Map indexing supported.

  • rand function added.

  • assert function added.

  • counter and counterSet functions added.

  • indexInfo function added.

  • collect aggregation now supports Map collection.

  • Changed the BFS syntax.

Bug Fixes and Other Changes

  • Use \u to specify 4 digit codepoint and \U for 8 digit

  • Keywords appearing in header (named expressions) keep original case.

  • Our Bolt protocol implementation is now completely compatible with the protocol version 1 specification. (

  • Added a log warning when running out of memory and the memory_warning_threshold flag

  • Edges are no longer additionally filtered after expansion.


Major Features and Improvements

  • Variable length path MATCH.

  • Explicitly started transactions (multi-query transactions).

  • Map literal.

  • Query parameters (except for parameters in place of property maps).

  • all function in openCypher.

  • degree function in openCypher.

  • User specified transaction execution timeout.

Bug Fixes and Other Changes

  • Concurrent BUILD INDEX deadlock now returns an error to the client.

  • A MATCH preceeded by OPTIONAL MATCH expansion inconsistencies.

  • High concurrency Antlr parsing bug.

  • Indexing improvements.

  • Query stripping and caching speedups.


Major Features and Improvements

  • AST caching.

  • Label + property index support.

  • Different logging setup & format.


Major Features and Improvements

  • Use label indexes to speed up querying.

  • Generate multiple query plans and use the cost estimator to select the best.

  • Snapshots & Recovery.

  • Abandon old yaml configuration and migrate to gflags.

  • Query stripping & AST caching support.

Bug Fixes and Other Changes

  • Fixed race condition in MVCC. Hints exp+aborted race condition prevented.

  • Fixed conceptual bug in MVCC GC. Evaluate old records w.r.t. the oldest.

    transaction's id AND snapshot.

  • User friendly error messages thrown from the query engine.

Build 837

Bug Fixes and Other Changes

  • List indexing supported with preceeding IN (for example in query RETURN 1 IN [[1,2]][0]).

Build 825

Major Features and Improvements

  • RETURN , count(), OPTIONAL MATCH, UNWIND, DISTINCT (except DISTINCT in aggregate functions), list indexing and slicing, escaped labels, IN LIST operator, range function.

Bug Fixes and Other Changes

  • TCP_NODELAY -> import should be faster.

  • Clear hint bits.

Build 783

Major Features and Improvements


  • Math functions.

  • Initial support for MERGE clause.

Bug Fixes and Other Changes

  • Unhandled Lock Timeout Exception.