Blame CHANGES.md

Packit 98aa34
## Version 1.2.6.1
Packit 98aa34
Packit 98aa34
 * Use typeRepFingerprint from Type.Reflection.Unsafe
Packit 98aa34
Packit 98aa34
 * Bump minimum version of base to 4.4.
Packit 98aa34
Packit 98aa34
## Version 1.2.6.0
Packit 98aa34
Packit 98aa34
 * Add support for type-indexed `Typeable`.
Packit 98aa34
Packit 98aa34
 * Rework the `Generic` hashable for sums.
Packit 98aa34
Packit 98aa34
## Version 1.2.5.0
Packit 98aa34
Packit 98aa34
  * Add `Hashable1` and `Hashable2`
Packit 98aa34
Packit 98aa34
  * Add instances for: `Eq1`, `Ord1`, `Show1`, `Ptr`, `FunPtr`, `IntPtr`, `WordPtr`
Packit 98aa34
Packit 98aa34
  * Add `Hashed` type for caching the `hash` function result.
Packit 98aa34
Packit 98aa34
## Version 1.2.4.0
Packit 98aa34
Packit 98aa34
 * Add instances for: Unique, Version, Fixed, NonEmpty, Min, Max, Arg,
Packit 98aa34
   First, Last, WrappedMonoid, Option
Packit 98aa34
Packit 98aa34
 * Support GHC 8.0
Packit 98aa34
Packit 98aa34
## Version 1.2.3.3
Packit 98aa34
Packit 98aa34
 * Support integer-simple.
Packit 98aa34
Packit 98aa34
## Version 1.2.3.2
Packit 98aa34
Packit 98aa34
 * Add support for GHC 7.10 typeRepFingerprint
Packit 98aa34
Packit 98aa34
## Version 1.2.3.1
Packit 98aa34
Packit 98aa34
 * Added support for random 1.1.*.
Packit 98aa34
Packit 98aa34
## Version 1.2.3.0
Packit 98aa34
Packit 98aa34
 * Silence integer literal overflow warning
Packit 98aa34
Packit 98aa34
 * Add support for GHC 7.10 `integer-gmp2` & `Natural`
Packit 98aa34
Packit 98aa34
 * Add instance for Data.Void
Packit 98aa34
Packit 98aa34
 * Make the SSE .cabal flags manual
Packit 98aa34
Packit 98aa34
 * Add an upper bound on bytestring
Packit 98aa34
Packit 98aa34
## Version 1.2.2.0
Packit 98aa34
Packit 98aa34
 * Add instances for `Data.ByteString.Short`
Packit 98aa34
Packit 98aa34
 * Use a 32-bit default salt on 32-bit archs.
Packit 98aa34
Packit 98aa34
## Version 1.2.1.0
Packit 98aa34
Packit 98aa34
 * Revert instances to their 1.1 implementations to regain the
Packit 98aa34
   performance we had then.
Packit 98aa34
Packit 98aa34
 * Remove use of random salt altogether. Without using SipHash the
Packit 98aa34
   benefit is unclear (i.e. collision attacks still work) and the
Packit 98aa34
   complexity is no longer worth it.
Packit 98aa34
Packit 98aa34
 * Documentation improvements.
Packit 98aa34
Packit 98aa34
## Version 1.2.0.10
Packit 98aa34
Packit 98aa34
 * Fix for GHC 7.0.
Packit 98aa34
Packit 98aa34
## Version 1.2.0.9
Packit 98aa34
Packit 98aa34
 * Stop using SipHash. The current implementation still has segfault
Packit 98aa34
   causing bugs that we won't be able to fix soon.
Packit 98aa34
Packit 98aa34
 * Stop using Wang hash. It degrades performance of fixed-size integer
Packit 98aa34
   hashing too much.
Packit 98aa34
Packit 98aa34
## Version 1.2.0.8
Packit 98aa34
Packit 98aa34
 * Fix linking issue when SSE was disabled.
Packit 98aa34
Packit 98aa34
 * Hash small signed Integers correctly.
Packit 98aa34
Packit 98aa34
## Version 1.2.0.7
Packit 98aa34
Packit 98aa34
 * Add flags to control usage of SSE.
Packit 98aa34
Packit 98aa34
## Version 1.2.0.6
Packit 98aa34
Packit 98aa34
 * Fix another segfault caused by SSE2 code.
Packit 98aa34
Packit 98aa34
## Version 1.2.0.5
Packit 98aa34
Packit 98aa34
 * More portability fixes.
Packit 98aa34
Packit 98aa34
 * Force stack alignment to 16 bytes everywhere. Fixes a segfault.
Packit 98aa34
Packit 98aa34
 * Fix bug where code relied on rewrite rules firing for correctness.
Packit 98aa34
Packit 98aa34
## Version1.2.0.4
Packit 98aa34
Packit 98aa34
 * Update docs to match code.
Packit 98aa34
Packit 98aa34
 * Work around bug in GHCi runtime linker, which never call static
Packit 98aa34
   initializers.
Packit 98aa34
Packit 98aa34
## Version1.2.0.3
Packit 98aa34
Packit 98aa34
 * Make building of SSE 4.1 code conditional, as it doesn't work on all
Packit 98aa34
   platforms.
Packit 98aa34
Packit 98aa34
 * Use a fixed salt, but allow random salting. Random salting by
Packit 98aa34
   default broke people's code.
Packit 98aa34
Packit 98aa34
## Version1.2.0.2
Packit 98aa34
Packit 98aa34
 * Work around ghci linker bug on Windows.
Packit 98aa34
Packit 98aa34
## Version1.2.0.1
Packit 98aa34
Packit 98aa34
 * Fix performance bug in SSE implementation of SipHash.
Packit 98aa34
Packit 98aa34
 * Fix segfault due to incorrect stack alignment on Windows.
Packit 98aa34
Packit 98aa34
## Version1.2.0.0
Packit 98aa34
Packit 98aa34
 * Switch string hashing from FNV-1 to SipHash, in an effort to
Packit 98aa34
   prevent collision attacks.
Packit 98aa34
Packit 98aa34
 * Switch fixed-size integer hashing to Wang hash.
Packit 98aa34
Packit 98aa34
 * The default salt now switched on every program run, in an effort to
Packit 98aa34
   prevent collision attacks.
Packit 98aa34
Packit 98aa34
 * Move hash method out of Hashable type class.
Packit 98aa34
Packit 98aa34
 * Add support for generic instance deriving.
Packit 98aa34
Packit 98aa34
 * Add instance for Ordering.
Packit 98aa34
Packit 98aa34
## Version1.1.2.5
Packit 98aa34
Packit 98aa34
 * Bug fix for bytestring < 0.10.0.
Packit 98aa34
Packit 98aa34
## Version1.1.2.4
Packit 98aa34
Packit 98aa34
 * Switch string hashing from Bernstein to FNV-1
Packit 98aa34
Packit 98aa34
 * Faster instance for Integer.
Packit 98aa34
Packit 98aa34
 * Update dependency on base, ghc-prim
Packit 98aa34
Packit 98aa34
 * Now works with GHC 7.6.
Packit 98aa34
Packit 98aa34
## Version1.1.2.3
Packit 98aa34
Packit 98aa34
 * Add instance for TypeRep.
Packit 98aa34
Packit 98aa34
 * Update dependency on test-framework.
Packit 98aa34
Packit 98aa34
## Version1.1.2.2
Packit 98aa34
Packit 98aa34
 * Bug fix for GHC 7.4
Packit 98aa34
Packit 98aa34
## Version1.1.2.1
Packit 98aa34
Packit 98aa34
 * Update dependency on test-framework.
Packit 98aa34
Packit 98aa34
 * Improve documentation of combine.
Packit 98aa34
Packit 98aa34
## Version1.1.2.0
Packit 98aa34
Packit 98aa34
 * Add instances for Interger, Ratio, Float, Double, and StableName.
Packit 98aa34
Packit 98aa34
 * Fix hash collision issues for lists and tuples when using a
Packit 98aa34
   user-specified salt.
Packit 98aa34
Packit 98aa34
## Version1.1.1.0
Packit 98aa34
Packit 98aa34
 * Improved instances for tuples and lists.
Packit 98aa34
Packit 98aa34
 * Add instances for StableName, Float, Double, Integer, and Ratio.
Packit 98aa34
Packit 98aa34
## Version1.1.1.0
Packit 98aa34
Packit 98aa34
 * Add hashWithSalt, which allows the user to create different hash
Packit 98aa34
   values for the same input by providing different seeds. This is
Packit 98aa34
   useful for application like Cuckoo hashing which need a family of
Packit 98aa34
   hash functions.
Packit 98aa34
Packit 98aa34
 * Fix a bug in the Hashable instance for Int64/Word64 on 32-bit
Packit 98aa34
   platforms.
Packit 98aa34
Packit 98aa34
 * Improved resilience to leading zero in the input being hashed.
Packit 98aa34
Packit 98aa34
## Version1.1.0.0
Packit 98aa34
Packit 98aa34
 * Add instance for: strict and lazy Texts, ThreadId
Packit 98aa34
Packit 98aa34
 * Add hashPtrWithSalt and hashByteArrayWithSalt.
Packit 98aa34
Packit 98aa34
 * Faster ByteArray# hashing.
Packit 98aa34
Packit 98aa34
 * Fix a signedness bug that affected ByteString.
Packit 98aa34
Packit 98aa34
 * Fix ByteString hashing to work correctly on both 32 and 64-bit
Packit 98aa34
   platforms.
Packit 98aa34
Packit 98aa34
## Version1.0.1.1
Packit 98aa34
Packit 98aa34
 * Fix bug in Hashable instance for lazy ByteStrings where differences
Packit 98aa34
   in the internal structure of the ByteString could cause different
Packit 98aa34
   hash values for ByteStrings that are equal according to ==.
Packit 98aa34
Packit 98aa34
## Version1.0.1.0
Packit 98aa34
Packit 98aa34
 * Add two helpers for creating Hashable instances: hashPtr and
Packit 98aa34
   hashByteArray.
Packit 98aa34
Packit 98aa34
## Version1.0.0
Packit 98aa34
Packit 98aa34
 * Separate Hashable class to its own package from hashmap 1.0.0.3.