# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). ## [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.