v0.11.0
Re-design how Entry and Group are stored in a database - from nested structs to flat HashMaps stored within the Database struct, with cross-references by EntryId and GroupId, for faster traversal. Invariants in how the objects can be accessed ensure that the database is always in a valid state, e.g. EntryId and GroupId refer to entries that still exist in the database. BREAKING CHANGE: Entry and Group access completely changed