- paths changed from strings to lists
- added PyKeePass.recyclebin_group
- added PyKeePass.trash_group()
- added PyKeePass.trash_entry()
- added PyKeePass.empty_group()
- support reading/saving from streams
- fixed PyKeePass.dump_xml() pretty printing
- fixed #212 - properly pad encrypted payload
- fixed #222 - corrected transform_rounds field length
- pin construct version to last supporting python2
- hard dependency on pycryptodomex
- fixed #193 - kp.groups, kp.entries not returning elements with name/title None
- added PyKeePass.xml()
- added create_database()
- added tag searching - #182
- fixed #181 - binary attachments missing Compressed attribute unparseable
- fixed #129 - protected multiline fields missing newline
- fixed problem where entries are protected after save
- removed context manager
- added autotype string support
- added attachments
- fixed find_entries(path=xxx) behavior
- Entry.uuid, Group.uuid now return uuid.UUID object instead of string
- added context manager
- added custom string field searching
- added 'Notes' field
- renamed 'tree' argument to 'group'
- KDBX4 support