1.8.1
-------------------
o The traversal pattern matcher now supports variable length relationship patterns
o Fixes #946 - HAS(...) fails with ThisShouldNotHappenException for some patterns
o Made Cypher better at keeping a numeric type. Adding two integers now returns an integer, and not a double.
o Major refactoring to make certain Cypher is more lazy
o When asking for the top x rows by some value, Cypher will now only keep a list the size of x
o Fix so identifiers created inside a foreach can be used by other statements in the foreach
o Refactored the type system from the bottom up
o Predicates can now be returned and used to set properties
o Fixes #797: CREATE UNIQUE now makes sure used identifiers have the same properties even if
  they are re-used without the properties
o Added the traversal matcher, which uses the new traversal framework abilities to do
  pattern matching. It should provide for nice performance benefits for a lot of queries.
o Fixed #866: Changed the LRU cache to make it safe to use concurrently, and made the parser single threaded
o Added the reduce() functionality
o Made addition automatically convert numbers to strings when adding the two together
o Added the string functions: str(), replace(), substring(), left(), right(), ltrim(), rtrim(), trim(), lower(), upper()
o Added the possibility to use ORDER BY, SKIP and LIMIT together with WITH
o Fixes #904: CREATE UNIQUE doesn't work with parameter maps
o Fixes #908: Parameters do not survive WITH if it has aggregation
o SET can now be used to set properties on nodes and relationships from maps or other graph elements
o Fix for problems when using patterns with multiple unnamed nodes
o Fixes problems when doing ORDER BY ... LIMIT x. When x is larger than the input set, sorting was never done.
o Fixed problem with dependencies inside foreach statements being reported wrongly
o Fixes #336 - Patterns that re-use a pattern node can produce non-existing matches

1.8.RC1 (2012-09-05)
--------------------
o Removed the /../ literal for regular expressions. Now a normal string literal is used instead
o Concatenation handles types better
o Changed how the graph-matching module is used, to make it safe for concurrent use
o Better type error messages
o Renamed iterable to collection
o Fixed #795: so that WITH keeps parameters also for empty aggregation results
o Fixed #772: Creating nodes/relationships goes before SET, so SET can run on already created elements
o Added error when using != instead of <>
o Fixed #787: Issue when comparing array properties with literal collections
o Fixed #751: Better error message for some type errors
o Fixed #818: Problem where properties could only have scalar values (they can be arrays as well)
o Fixed #834: Gives relevant syntax exception when properties are entered in MATCH

1.8.M07 (2012-08-08)
--------------------
o Added escape characters to string literals
o Renamed `RELATE` to `CREATE UNIQUE`

1.8.M06 (2012-07-06)
--------------------
o Fixes problem when graph elements are deleted multiple times in the same query
o Fixes #625: Values passed through WITH have the wrong type
o Fixes #654: Some paths are returned the wrong way

1.8.M05 (2012-06-21)
--------------------
o CREATE and RELATE can now introduce path identifiers
o Fixes #600: Double optional with no matching relationships returns too many rows
o Fixes #613: Missing dependencies not reported correctly for queries with RELATE/SET/DELETE
o String literals can now contain escape characters

1.8.M04 (2012-06-07)
--------------------
o CREATE now accepts full paths and not only single nodes and relationships
o Path patterns can now be used as expressions and as predicates
o Fixes bug where RELATE fails to compare array properties
o Fixes #573: Arithmetics operations have wrong type
o Fixes #567: Parameter maps coming through REST are not parsed correctly
o Fixes #563: COUNT(*) does not return 0 for empty result
o Fixes #561: RELATE doesn't work as expected with map-parameters
o Fixes problem with optional properties and collection predicates (ALL/ANY/NONE/SINGLE/IN)

1.8.M03 (2012-05-24)
--------------------
o Added RELATE
o Changed the CREATE syntax, so it looks more like RELATE
o Fixes #506: delete head(rels) doesn't work
o Fixes #508: length function on array properties doesn't work
o Fixes #512: start n=node(*) match n-[r?]->() delete n,r not working
o Fixes #514: Extract doesn't work with array properties
o Fixes #523: String literals not parsed correctly in CREATE statement
o Fixes #526: cypher filter in return clause
o Fixes #536: SQRT only returns an integer
o Fixes #543: Appending elements to collections

1.8.M02 (2012-05-11)
--------------------
o Added the possibility to create nodes from an iterable of maps
o Fixes issue #479

1.8.M01 (2012-04-27)
--------------------
o Added the possibility to return all graph elements using RETURN *
o Added CREATE, SET, DELETE, FOREACH, WITH
o Fixes issue #432, #446

1.7 (2012-04-18)
----------------
o Added the possibility to use multiple relationship types on patterns
o Fixed bug when aggregation is used in order by and not listed in the RETURN clause

1.7.M01 (2012-03-12)
--------------------
o Added literal collections and the IN predicate
o Added HEAD, TAIL, LAST and FILTER
o Added comments
o Added ! so that missing property can evaluate to false
o The column names are now exactly as written in the RETURN expression
o BREAKING CHANGE: To check whether a property exists on a node, use the HAS(...) function
o Arithmetic & string concatenation
o An identifier can now be assigned all the nodes/rels in the graph - START a=node(*)
o Predicates can be specified inside of a pattern relationship description
o Fixed issues #196, #164, #193, #217, #214, #201, #198, #240, #254

1.6 (2012-01-19)
----------------
o Lots of changes to the parsers error reporting
o Queries can now be pre-pended with which parser version to use
o Database configuration can now change which version of the parser to use as default

1.6.M03 (2012-01-12)
--------------------
o Added a different aggregation logic. Makes aggregating on the same columns as sorting much faster
o Made it possible to query on array properties
o Fixed bug #157 - Comparing things of different types now gives false instead of type error
o Fixed bug #140 - Identifier can now named same thing as a parameter
o Fixed bug that tripped up the patter matchern when a node is sent in as a parameter
o Fixed bug #168 - Ordering on renamed columns now works well
o Fixed bug #170 - Arrays are now pretty-printed instead of Array.toString

1.6.M02 (2011-12-16)
--------------------
o Added allShortestPaths
o Added COALESCE
o Added column aliasing with AS
o Variable length relationships can now introduce a rel-iterable
o BREAKING CHANGE: Changed the syntax for iterable predicated ALL/NONE/ANY/SINGLE to use WHERE instead of a colon
o BREAKING CHANGE: ExecutionResult is now a read-once, forward only iterator. 
o Fixed problems with optional graph elements

1.6.M01 (2011-11-24)
--------------------
o Made zero length (a single node) paths possible
o Skip, limit and regular expressions can now be parameterized
o Column order is now preserved
o Distinct and order by can now be used at the same time
o Paths can now be optional
o Execution plans can now be pretty printed
o Solved a bug when using multiple regular expressions in the same query
o Added the extract function

1.5 (2011-10-18)
----------------
o Added DISTINCT for all aggregate functions
o Nodes/relationships can be parameters as well

1.5.M02 (2011-10-10)
--------------------
o Relationships can now be optional
o Added new predicated for iterables: ALL/ANY/NONE/SINGLE
o Added path functions: NODES/RELATIONSHIPS/LENGTH
o Parameters for literals, index queries and node/relationship id
o Shortest path added
o Pattern matcher will, if possible, eliminate subgraphs early, by using the predicates from the WHERE clause
o Relationships can be bound now
o Added IS NULL for NULL checking
o Added new aggregate function - COLLECT

1.5.M01 (2011-08-31)
--------------------
o Added paths
o Changed r.TYPE to type(r)
o Variable length path supported

