XPath 3.0:
Inline functions (kinda lambda)
Dynamic function calls - function may be called without being referenced by name (find function in collection and call)
Union types - collections containing elements of different types
Namespace literals - Namespace may be embeded into function name
New string concatenation operator '||'
Mapping operator - '!' performs evaluation for each element in sequence and concatenates results


XPath 3.1:
Support for array and map data types
New operator for function chaining - '=>'