2017-05-18 21:58:03 +08:00
# Change Log
2019-12-10 21:38:43 +08:00
## v0.50.0
### 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.
2019-07-16 22:35:40 +08:00
## v0.15.0
2019-02-19 20:31:46 +08:00
### Breaking Changes
2019-07-16 22:35:40 +08:00
* Snapshot and write-ahead log format changed (not backward compatible).
2019-02-19 20:31:46 +08:00
* `indexInfo()` function replaced with `SHOW INDEX INFO` syntax.
2019-05-23 19:30:16 +08:00
* Removed support for unique index. Use unique constraints instead.
2019-07-16 22:35:40 +08:00
* `CREATE UNIQUE INDEX ON :label (property)` replaced with `CREATE CONSTRAINT ON (n:label) ASSERT n.property IS UNIQUE` .
* Changed semantics for `COUNTER` openCypher function.
2019-02-19 20:31:46 +08:00
### Major Features and Improvements
* [Enterprise Ed.] Add new privilege, `STATS` for accessing storage info.
2019-07-16 22:35:40 +08:00
* [Enterprise Ed.] LDAP authentication and authorization support.
* [Enterprise Ed.] Add audit logging feature.
* Add multiple properties unique constraint which replace unique indices.
2019-02-19 20:31:46 +08:00
* Add `SHOW STORAGE INFO` feature.
2019-07-16 22:35:40 +08:00
* Add `PROFILE` clause to openCypher.
* Add `CREATE CONSTRAINT` clause to openCypher.
* Add `DROP CONSTRAINT` clause to openCypher.
* Add `SHOW CONSTRAINT INFO` feature.
* Add `uniformSample` function to openCypher.
* Add regex matching to openCypher.
### Bug Fixes and Other Changes
* Fix bug in explicit transaction handling.
* Fix bug in edge filtering by edge type and destination.
* 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.
2019-02-19 20:31:46 +08:00
2018-10-29 17:03:46 +08:00
## v0.14.0
### 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` .
2018-08-06 16:10:47 +08:00
## v0.13.0
### Breaking Changes
* Write-ahead log format changed (not backward compatible).
2018-10-17 16:15:10 +08:00
* Snapshot format changed (not backward compatible).
2018-08-06 16:10:47 +08:00
2018-07-19 21:19:31 +08:00
### Major Features and Improvements
2018-08-22 16:59:46 +08:00
* [Enterprise Ed.] Authentication and authorization support.
* [Enterprise Ed.] Kafka integration.
2018-10-17 16:15:10 +08:00
* [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.
2018-07-19 21:19:31 +08:00
2018-07-04 22:56:50 +08:00
## v0.12.0
### 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.
2018-05-29 17:32:21 +08:00
## v0.11.0
### Major Features and Improvements
2018-06-22 01:49:22 +08:00
* [Enterprise Ed.] Improve Cartesian support in distributed queries.
* [Enterprise Ed.] Improve distributed execution of BFS.
2018-06-20 19:10:19 +08:00
* [Enterprise Ed.] Dynamic graph partitioner added.
2018-08-02 19:26:23 +08:00
* Static nodes/edges id generators exposed through the Id Cypher function.
2018-06-12 17:29:22 +08:00
* Properties on disk added.
2018-06-20 19:46:54 +08:00
* Telemetry added.
2018-06-20 23:44:47 +08:00
* SSL support added.
2018-07-04 22:56:50 +08:00
* `toString` function added.
2018-05-29 17:32:21 +08:00
### Bug Fixes and Other Changes
2018-06-22 01:49:22 +08:00
* Document issues with Docker on OS X.
* Add BFS and Dijkstra's algorithm examples to documentation.
2018-06-20 19:10:19 +08:00
2018-03-29 21:45:15 +08:00
## v0.10.0
### Breaking Changes
2017-12-18 17:25:58 +08:00
2018-01-18 17:22:54 +08:00
* Snapshot format changed (not backward compatible).
2018-03-29 21:45:15 +08:00
### Major Features and Improvements
2018-06-22 01:49:22 +08:00
* [Enterprise Ed.] Distributed storage and execution.
2018-03-29 21:45:15 +08:00
* `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.
2018-04-19 21:55:11 +08:00
* Commit log automatically garbage collected.
2018-03-29 21:45:15 +08:00
* Add minor performance improvements.
2017-12-18 17:25:58 +08:00
## v0.9.0
2017-10-19 18:56:16 +08:00
### Breaking Changes
* Snapshot format changed (not backward compatible).
2017-11-20 18:58:05 +08:00
* Snapshot configuration flags changed, general durability flags added.
2017-10-19 18:56:16 +08:00
### Major Features and Improvements
2017-11-20 18:58:05 +08:00
* Write-ahead log added.
2017-10-30 17:45:36 +08:00
* `nodes` and `relationships` functions added.
2017-12-14 20:36:26 +08:00
* `UNION` and `UNION ALL` is implemented.
2017-12-18 17:25:58 +08:00
* Concurrent index creation is now enabled.
2017-10-19 18:56:16 +08:00
### Bug Fixes and Other Changes
2017-10-09 15:49:14 +08:00
## v0.8.0
2017-07-14 19:58:25 +08:00
### Major Features and Improvements
2017-08-24 06:13:26 +08:00
* CASE construct (without aggregations).
2017-09-18 20:40:36 +08:00
* Named path support added.
2018-08-02 19:26:23 +08:00
* Maps can now be stored as node/edge properties.
2017-09-02 20:30:05 +08:00
* Map indexing supported.
2017-09-18 20:40:36 +08:00
* `rand` function added.
2017-09-05 17:26:46 +08:00
* `assert` function added.
2017-09-14 23:21:34 +08:00
* `counter` and `counterSet` functions added.
2017-09-16 20:08:52 +08:00
* `indexInfo` function added.
2017-09-18 20:40:36 +08:00
* `collect` aggregation now supports Map collection.
2017-09-27 20:57:41 +08:00
* Changed the BFS syntax.
2017-08-20 19:53:50 +08:00
2017-08-11 15:48:13 +08:00
### Bug Fixes and Other Changes
2017-09-18 20:40:36 +08:00
* Use \u to specify 4 digit codepoint and \U for 8 digit
2017-08-17 20:49:37 +08:00
* Keywords appearing in header (named expressions) keep original case.
2017-09-06 18:51:56 +08:00
* Our Bolt protocol implementation is now completely compatible with the protocol version 1 specification. (https://boltprotocol.org/v1/)
2017-09-22 20:24:53 +08:00
* Added a log warning when running out of memory and the `memory_warning_threshold` flag
2017-09-27 20:57:41 +08:00
* Edges are no longer additionally filtered after expansion.
2017-08-17 20:49:37 +08:00
2017-08-11 15:48:13 +08:00
## v0.7.0
### 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.
2017-07-14 19:58:25 +08:00
* User specified transaction execution timeout.
2017-08-11 15:48:13 +08:00
### 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.
2017-07-14 19:58:25 +08:00
2017-07-13 20:37:39 +08:00
## v0.6.0
2017-07-07 19:11:31 +08:00
### Major Features and Improvements
2017-07-20 00:14:59 +08:00
* AST caching.
* Label + property index support.
* Different logging setup & format.
2017-07-07 19:11:31 +08:00
## v0.5.0
2017-05-18 21:58:03 +08:00
### Major Features and Improvements
2017-06-16 20:59:28 +08:00
* 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.
2017-05-18 21:58:03 +08:00
### Bug Fixes and Other Changes
2017-06-16 20:59:28 +08:00
* Fixed race condition in MVCC. Hints exp+aborted race condition prevented.
2017-07-20 00:14:59 +08:00
* Fixed conceptual bug in MVCC GC. Evaluate old records w.r.t. the oldest.
2017-06-16 20:59:28 +08:00
transaction's id AND snapshot.
* User friendly error messages thrown from the query engine.
2017-05-25 14:38:46 +08:00
## Build 837
### Bug Fixes and Other Changes
2017-07-20 00:14:59 +08:00
* List indexing supported with preceeding IN (for example in query `RETURN 1 IN [[1,2]][0]` ).
2017-05-18 21:58:03 +08:00
## Build 825
### Major Features and Improvements
2017-07-20 00:14:59 +08:00
* RETURN *, count(* ), OPTIONAL MATCH, UNWIND, DISTINCT (except DISTINCT in aggregate functions), list indexing and slicing, escaped labels, IN LIST operator, range function.
2017-05-18 21:58:03 +08:00
### Bug Fixes and Other Changes
2017-07-20 00:14:59 +08:00
* TCP_NODELAY -> import should be faster.
* Clear hint bits.
2017-05-18 21:58:03 +08:00
## Build 783
### Major Features and Improvements
2017-07-20 00:14:59 +08:00
* SKIP, LIMIT, ORDER BY.
* Math functions.
* Initial support for MERGE clause.
2017-05-18 21:58:03 +08:00
### Bug Fixes and Other Changes
2017-07-20 00:14:59 +08:00
* Unhandled Lock Timeout Exception.
2017-05-18 21:58:03 +08:00
## Build 755
### Major Features and Improvements
2017-07-20 00:14:59 +08:00
* MATCH, CREATE, WHERE, SET, REMOVE, DELETE.