All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to the following versioning pattern:
Given a version number MAJOR.MINOR.PATCH, increment:
- MAJOR version when breaking changes are introduced;
- MINOR version when backwards compatible changes are introduced;
- PATCH version when backwards compatible bug fixes are implemented.
- PublicKey.toCompressed() function to dump a public key in compressed format
- PublicKey.fromCompressed() function to read a public key in compressed format
- curve.add() function to dynamically add curves to the library
- curve.getCurveByOid() to curve.getByOid()
- OID integer encoding when single number has more than 2 bytes
- Missing point at infinity checks on signature and public key verifications
- Signature r and s range check
- root imports: from ellipticcurve import PrivateKey, PublicKey, Signature, Ecdsa, File
- return type of toDer() methods from str to bytes
- internal DER parsing structure for better maintainability, translatability and usability
- unstable results on certain curves due to missing modulo operator on signature verification
- recoveryId generation and encoding in Signatures
- first official version