MIT licensed by Jean-Pierre Rupp
Maintained by [email protected]
This version can be pinned in stack with:secp256k1-haskell-1.4.0@sha256:68265b5780fab0fe4ca4468df05d65b0a57ef24b2d2cb84e4cc5f9b752b7575c,2235

Sign and verify signatures using the secp256k1 library.

Changes

Changelog

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 Semantic Versioning.

[1.4.0] - 2024-08-28

Removed

  • Removed BIP-340 support. Fedora’s version of secp256k1 libraries do not have required symbols.

[1.3.0] - 2024-08-28

Added

  • Added BIP-340 support.

[1.2.0] - 2023-03-14

Changed

  • Make compatible with latest upstream LTS Haskell.

[1.1.0] - 2023-11-01

Changed

  • Use ForeignPtr to allow the garbage collector manage the context object (Ctx).

[1.0.1] - 2023-09-20

Changed

  • Reworked the structure of the Internal modules to allow having add-on packages for optional libsecp256k1 features.

[1.0.0] - 2023-07-28

Changed

  • Context data structure must be created and passed explicitly.
  • Field selectors are now short and duplicates are allowed.
  • Use DuplicateRecordFields and OverloadedRecordDot language extensions.

[0.6.1] - 2022-04-18

Changed

  • Bump version and LTS Haskell.
  • Update dependencies.

[0.6.0] - 2021-08-27

Changed

  • Remove all use of CPP.
  • Depend on base16 instead of the old base16-bytestring package.
  • Target ghc-9.0.1 compiler.

Fixed

  • Do not crash on bytestrings that are backed by null C pointers.

[0.5.0] - 2020-10-16

Changed

  • Include version boundaries and other changes submitted by Emily Pillmore.

[0.4.0] - 2020-07-23

Changed

  • Remove fragile ForeignPtr implementation in favor of just storing ByteStrings.
  • Reuse memory instead of copying when possible.

[0.3.1] - 2020-07-03

Fixed

  • Use unsafe calls in FFI.

[0.3.0] - 2020-06-13

Fixed

  • Compiles with all flags now.

Added

  • Script to compile with all flags.

Removed

  • Remove ECDH support.
  • Remove Schnorr support.
  • Remove Recovery support.

[0.2.5] - 2020-06-13

Changed

  • Reuse context aggressively.
  • Generate context in a single thread.

Fixed

  • Memory deallocation bug.

[0.2.4] - 2020-06-12

Changed

  • Update Cabal and package version.

[0.2.3] - 2020-06-07

Changed

  • Return meaningful error upon encountering weird ret status from upstream code.

Added

  • Test parallel signature creation and verification.

[0.2.2] - 2020-04-14

Removed

  • Hide tweak negation behind a flag for compatibilidy with Debian 9.

Fixed

  • Correct code that was not compiling with some flags enabled.

[0.2.1] - 2020-04-10

Changed

  • Do not depend on hardcoded DER signatures in tests.

[0.2.0] - 2020-04-10

Added

  • Support for ECDH APIs.
  • Support for Schnorr APIs.

Removed

  • Enabling key recovery APIs need a flag.

[0.1.8] - 2020-01-15

Added

  • Add missing NFData instances for some types.

[0.1.7] - 2020-01-15

Added

  • Add NFData instances for all types.

[0.1.6] - 2019-12-26

Added

  • Use pkgconfig for C library dependency.

[0.1.5] - 2019-09-19

Added

  • Flag for ECDH bindings.

[0.1.4] - 2018-10-25

Changed

  • Constrain imports to avoid clashes with a QuickCheck function.

[0.1.3] - 2018-10-13

Added

  • Hashable instances for various types.

[0.1.2] - 2018-09-10

Changed

  • Separate dependencies between library and tests.
  • Remove hspec default to prevent problems with Nix.

Removed

  • Dependency to cryptohash not needed.

[0.1.1] - 2018-09-10

Changed

  • Update changelog to reflect name and version change.
  • Update to LTS Haskell 12.9.

[0.1.0] - 2018-09-10

Changed

  • Name of package change from secp256k1 to secp256k1-haskell to avoid Nix conflicts.