All Versions
13
Latest Version
Avg Release Cycle
9 days
Latest Release
48 days ago

Changelog History
Page 1

  • v0.3.2

    April 11, 2020

    🚀 lib secp256k1.cr v0.3.2 is a service release which ensures compatibility with crystal 0.34.0.

    🔄 changes:

    • ensure crystal 0.34 compatibility (#40)
  • v0.3.1

    February 17, 2020

    🚀 lib secp256k1.cr v0.3.1 is a service release which ensures compatibility with crystal 0.33.0.

    🔄 changes:

    • ⚡️ update crystal version to 0.33.0 #39
  • v0.3.0

    February 11, 2020

    🚀 this minor release improves stability. the following api renames shall be noted:

    • EC_Point is now ECPoint
    • ECDSA_Signature is now ECDSASignature
    • all hashing functions ending with _string are renamed now overloadable with String

    🔄 changes:

    • 💅 changes to code style (#34)
    • ➕ add stats to nightly workflows (#36)
    • overload hashing functions with strings (#37)
    • ⚡️ update contributors (#38)
  • v0.2.2

    January 13, 2020

    🚀 this feature release improves keypair and account management by introducing data structures for

    • Secp256k1::Keypair
    • Secp256k1::Bitcoin::Account
    • Secp256k1::Ethereum::Account
    • Secp256k1::Ethereum::Enode

    🔄 changes:

    • ➕ add devp2p enode support #31
    • add mini_is_valid? #29
  • v0.2.1

    January 09, 2020

    📚 this release significantly improves the documentation at https://q9f.github.io/secp256k1.cr/ and applies some minor enhancements to the exposed apis of the library, namely:

    • mini-private keys now use BASE-56 instead of BASE-57. that does not affect existing mini-private keys.
    • added Secp256k1::Bitcoin.wif_from_private_uncompressed wrapper for uncompressed wif
    • renamed Secp256k1::Bitcoin.wif_compressed_from_private to .wif_from_private_compressed
    • private keys are handled as BigInt instead of a String literals wherever possible, e.g., Secp256k1::Bitcoin.address_from_private or Secp256k1::Ethereum.address_from_private
    • constants: renamed EC_PARAM_PRIME to EC_PRIME_P
    • replaced BASE_57 in favor of BASE_56 by removing the o from the alphabet as recommended by the Bitcoin Wiki.
    • binary hashing operations now directly operate on Bytes instead of String literals, e.g., Secp256k1::Hash.sha3, .sha256, .keccak256, .ripemd160
    • added Secp256k1::Hash.ripemd160_string for RIPEMD-160 hashes on String literals to complement .sha3_string, .sha256_string, and .keccak256_string
    • added Secp256k1::Hash.base58_char to complement .base56_char
    • pass the prime through Secp256k1::Util.restore_public_key

    🔄 changes:

    • 👌 improve the documentation #27
  • v0.2.0

    January 06, 2020

    🚀 this release refactors the entire library and entangles some of the submodules exposed by the library.

    this library now exposes the following modules (in logical order):

    • Secp256k1: necessary constants and data structures
    • Secp256k1::Core: the entire core mathematics behind the elliptic curve cryptography
    • Secp256k1::Util: all tools for the handling of private-public key-pairs
    • Secp256k1::Hash: implementation of various hashing algorithms for convenience
    • Secp256k1::Signature: allows for signing messages and verifying signatures
    • Secp256k1::Bitcoin: for the generation of bitcoin addresses
    • Secp256k1::Ethereum: for the generation of ethereum addresses

    📄 docs are now published on github pages: q9f.github.io/secp256k1.cr

    🔄 changes:

    • ➕ add docs to readme (#26)
    • ➕ add crystal docs (#25)
    • 📇 rename utils to util (#24)
    • ♻️ refactor code with meaningful submodule namespaces (#23)
  • v0.1.6

    January 05, 2020

    🚀 this is a feature release that allows for basic ecdsa signature generation and verification.

    🔄 changes:

    • 👍 allow to sign and verify messages #20
  • v0.1.5

    January 01, 2020

    🚀 this is a feature release that allows for retrieving bitcoin addresses from wallet import format by honoring the compressed byte.

    🔄 changes:

    • 👍 allow for wif to address #19
  • v0.1.4

    December 25, 2019

    🚀 this is a feature release that allows for generation of mini private keys and proper handling of bitcoin's wallet import format.

    🔄 changes:

    • try: add an example program #14
    • ➕ add support for mini private keys #16
    • ➕ add support for wallet import format #18
  • v0.1.3

    December 24, 2019

    🚀 this is a feature release that allows for generation of bitcoin and ethereum addresses.

    🔄 changes:

    • ➕ add cryptographic hashing functions #9
    • ➕ add bitcoin and ethereum address modules #9
    • 👍 allow for export of unprefixed uncompressed keys for ethereum #9
    • ➕ add tests for hashes on bytes #9
    • ✅ implement eip-55 test cases #9
    • bind mpz_powm_sec from libgmp #11