- updated dependencies
- replaced pako with fflate to reduce bundle size
- writable passwordHash and keyFileHash credentials properties
- fixed saving KDBX3 files without compression
- fixed a crash in Electron when KDBX3 contains large attachments
+ exposed ProtectedValue.salt and ProtectedValue.value
+ new static method: ProtectedValue.fromBase64
+ new instance method: ProtectedValue::toBase64
+ added passwordHash and keyFileHash to credentials
* the library rewritten in TypeScript
* dist files removed from the repo
* browser support limited to two latest versions
* Random removed, use CryptoEngine.random instead
* creating KdbxUuid with bad values produces an error
* all library modules added to exports
* underscore removed from 'private' class methods
* some object exports replaced with ES6 exports
* binaries interface changed completely, see kdbx-binary.js
* replaced forEach with *allItems *allGroups *allEntries
* object {} => Map<>: *.customData, meta.customIcons, entry.fields, entry.binaries
* KDBX 4.1 support
* custom icons contain name and lastModified when possible
* error for files with too high minor version
* cleaning up kdbx.xml after save to save memory
* cleaning up kdbx.xml after load to save memory
- fixed setting KDF to Argon2id
- fixed new lines removal in non-encoded fields
- fixed parsing xml with bad characters
+ possibility to generate a V2 keyfile
* createRandomKeyFile returns a promise
+ relaxed keyfile version checking
+ V2 keyfiles support
+ Argon2id support
- fixed KeyEncryptionRounds header field data type
- missing polyfill added for old Edge versions
* removed text-encoding polyfill
+ development: eslint
+ development: prettier
* default format changed to KDBX4
+ fixed empty icon not understood by other clients
+ fixed empty auto-type obfuscation setting not understood by other clients
+ challenge-response keys support
+ fixed historyMaxItems for 0 and -1
+ fixed minor version for v4 files
+ generating missing ids while reading files
- fixed another bug in importing entries
- fixed importing entries
- fix #26: library usage issues in node.js
- removed a leaked dependency
- fixed a bug in importing attachments
+ importing entries from other files using Kdbx.importEntry
* debug and release versions are now provided: kdbxweb.js and kdbxweb.min.js
+ default encryption rounds increased to 300000
+ setting file KDF with kdbx.setKdf
+ setting file version with kdbx.setVersion
- pretty-printing xml option in Kdbx::saveXml
- fixed header after upgrade to kdbx4
* performance improvement
+ removed usages of obsolete Buffer() constructor
+ fixed large attachments error: keeweb/keeweb#922
+ throw an error if there's not enough data in a file
+ copyright year updated
+ support AES KDF in KDBX4
! dropped IE support
+ support ChaCha2 in KDBX3
- improved decoding performance, fix #17
- fix opening db with empty binaries
+ KDBX4 support
! API updated
- fix keyfiles with bom
+ support raw 32-byte and hex 64-byte keyfiles
- fix keyfiles with unicode characters
- index bugfix for v4.0.2
+ target index argument in move function
- fixed bug in Firefox
! xmldom is now external dependency
- updated xmldom to patched version without encoder bug
- create recycle bin if it's enabled but not yet created
- Fixed random keyfile generator
+ Expose Kdbx.Consts.Signatures
- Preserve empty fields in entries
+ Kdbx.loadXml
+ Allow to open db with empty password and keyfile
+ Using secure random generator if it's available
KdbxCredentials.createKeyFileWithHash
Binaries management
ASCII-only dist
Version fix
Merge
+ Kdbx.merge
+ Kdbx.[get,set,remove]LocalEditState
+ KdbxEntry.removeHistory
+ KdbxGroup.forEach now accepts thisArg
Custom icons cleanup
History cleanup method
Fixed KeePassX compatibility bugs
+ Export Uuid
- Fix entry history write bug
Support DeletedObjects
Build fix
- fixed node.js install issues
API conststency
+ entry.parentGroup, group.parentGroup
! Kdbx.move, Kdbx.remove now doesn't require parent group
WebCrypto support
! Kdbx.load, Kdbx.save, Kdbx.saveXml are now async
Ability to use binary keyfiles
Allow to change password and keyfile
Fixed loading in nodejs
Save as XML
Entry creation bug fixed
Move/delete entries/groups
Creation of groups and entries
Entry copy method
Loader bug fixed
Key processing speedup
More exports
First public beta