Neo4j 2.0.0-M05 has been released as a milestone, marking the beginning of full-speed development for the 2.0 project. This release includes unique constraints, which allow specifying that a label/property combination must be unique in a database, making it safer to work with and catching problems manually. The new Optional schema provides a balance between agility and strict constraint, enabling users to make their graph structure more structured as needed. Unique constraints are implemented using a unique index and can be used for read query execution as well as checking uniqueness. Additionally, the release includes a Label store, which persists label information, making it faster to find nodes with a certain label. The Transaction interface has been updated to implement AutoClosable, allowing resources to be tied to transactions and released automatically. Other improvements include removing deprecated methods and classes, updating Cypher syntax for collections, and making the language more minimalistic and JSON-friendly.