CQL version 6.1 back compatibility with version 6.0

CQL version 6.1 is generally back compatible with CQL 6.0. CQL 6.0 code will run unmodified in CQL 6.1 except for the following:
  1. A persistent declaration without assignment is not longer supported, e.g.
    	persistent x
    Instead, use
    	persistent x+=0
  2. When the actual parameter to a function invocation is a variable enclosed in braces, that variable is passed by value instead of by name.
    	function Cube(x){x=x*x*x}
    	y=3
    	Cube(y) // passed by name
    	y==27 // y changes
    	z=Cube({y}) // passed by value in CQL 6.1 but not CQL 6.0
    	y==27 // y is unchanged
  3. In order to avoid confusion with regular expression searches, an implicit search parameter cannot contain +, * or ? after the first character; nor a [ prior to a ] .

    For example, to search for a site that contains the literal string x+y, instead of

    	site "x+y"
    use
    	"x+y" in site
    Of course, to search the regular expression x+y use
    	site ~~ "x+y"
  4. CQL 6.0 code that uses new CQL 6.1 keywords will not run; such issues will be caught at compile time
  5. .