packages feed

uuid 1.3.12 → 1.3.13

raw patch · 8 files changed

+235/−225 lines, 8 filesdep +cryptohash-md5dep +cryptohash-sha1dep +entropydep −cryptonitedep −memorydep ~QuickCheckdep ~basedep ~bytestring

Dependencies added: cryptohash-md5, cryptohash-sha1, entropy

Dependencies removed: cryptonite, memory

Dependency ranges changed: QuickCheck, base, bytestring, mersenne-random-pure64, random, time

Files

− CHANGES
@@ -1,164 +0,0 @@-1.3.12--- Update package dependencies-- Use `cryptonite` for crypto-- The function `V4.nextRandom` is now implemented with functions from-  `Crypto.Random` in package `cryptonite`. This does slow-down random-  UUID generation but provides for far greater randomness. The-  `Random` instance for `UUID` can be used to re-gain the old-  behavior.--1.3.11--- Add toText/fromText--1.3.10--- Update dependencies in tests and benchmarks.--1.3.9--- Split definition of UUID data type into separate Cabal package to-  enable 3rd party libraries to avoid some of the larger dependencies.--1.3.8--- Allow building against newer deepseq.--1.3.7--- Allow building against newer time.--1.3.6--- Move to GitHub.--1.3.5--- Allow building against newer random.--1.3.4--- Allow building against newer QuickCheck.--1.3.3--- More complex version constrainsts on hashable, to avoid building against-  versions less than 1.1.1.0 or equal to 1.2.0.*.--1.3.2--- Fix for building against bytestring 0.9.*--1.3.1--- Allow building against 'hashable' 1.1.* in addition to 1.2.*--1.3.0--- New functions for parsing and printing UUIDs to and from ASCII BytesStrings-- New module Data.UUID.Util. This module includes the type 'UnpackedUUID',-  whose fields correspond to the UUID fields described in RFC 4122.-- The Storable instance now stores a UUID in host byte-order instead of-  big endian.-- There is now an instance for 'Hashable UUID'.--1.2.13--Benchmark only changes:--- Allow criterion 0.8.*--1.2.12--Test only changes:--- Allow QuickCheck 2.6.*--1.2.11--- Allow binary 0.7.*--1.2.10--- Allow cryptohash version 0.9.*-- Cleanup tests--1.2.9--- Bumped dependency on 'cryptohash'.--1.2.8--- Bumped various dependencies and cleaned up dependencies in general.--1.2.7--- Added stricter constraints on 'random' package.--1.2.6--- Add module 'V4' to direct attention to our Random instance--- In module 'V1' seed the generator with a random number-  if the hardware MAC address could not be discovered.--- Fix and cleanup various haddocks.--- In module docs, warn about MD5 use in Data.UUID.V3 and-  encourage the reader to use Data.UUID.V5 instead.--1.2.5--- Use 'cryptohash' package for MD5 and SHA1 instead of 'Crypto'--1.2.4--- Unpack Word32 values into UUID constructor.--- Update test suite to QuickCheck 2--- Bump other dependencies in tests/benchmarks--1.2.3--- The Read instance now drops leading spaces in the string to be parsed.-Thanks to Marc Ziegert for reporting this bug.--- The tests have moved over to the new Cabal test running framework.--1.2.2--- Add functions fromWords/toWords--The goal was to have a total function that can be used to construct-a UUID, primarily for use by uuid-th.--1.2.1--- Fix concurrency bug in Data.UUID.V1 (thanks to Neil Mitchell for reporting-and a test case)--1.2.0-  (Contributors: Antoine Latter & Mark Lentczner)--- added functions toByteString and fromByteString-- added 'nil' UUID-- added unit tests and benchmarks, built when configured -ftest-- major speed up of to/from functions (as well as in general)-- added version-3 generation (deterministic based on MD5)-- major changes to internal representation-	- now uses four strict Word32 values-	- internal ByteSource classes for easy construction (see Builder.hs)-- Storable instance now stores in memory as system libraries in C do:-    16 bytes derived from the network order of the fields, no matter what-    the host native endianess is.-- fixed bugs in V1 time and clock stepping, and V1 generated values-- builds cleanly under GHC's -Wall-- added CHANGES file--1.1.1--- no longer exporting 'null' from the prelude-- add 'null' predicate on UUIDs-- documentation fix (thanks Mark Lentczner)
+ CHANGES.md view
@@ -0,0 +1,172 @@+1.3.13++- Optimize `V4.nextRandom` (~3x speed increase)+- Optimize UUID V3 & V5 generation (~2x speed increase)+- Use `cryptohash-md5`/`cryptohash-sha1`/`entropy` instead+  of `memory`/`cryptonite` for better performance and stability.+- Update cabal-spec to version 1.10++1.3.12++- Update package dependencies+- Use `cryptonite` for crypto+- The function `V4.nextRandom` is now implemented with functions from+  `Crypto.Random` in package `cryptonite`. This does slow-down random+  UUID generation but provides for far greater randomness. The+  `Random` instance for `UUID` can be used to re-gain the old+  behavior.++1.3.11++- Add `toText`/`fromText`++1.3.10++- Update dependencies in tests and benchmarks.++1.3.9++- Split definition of UUID data type into separate Cabal package to+  enable 3rd party libraries to avoid some of the larger dependencies.++1.3.8++- Allow building against newer `deepseq`.++1.3.7++- Allow building against newer `time`.++1.3.6++- Move to GitHub.++1.3.5++- Allow building against newer `random`.++1.3.4++- Allow building against newer `QuickCheck`.++1.3.3++- More complex version constraints on `hashable`, to avoid building against+  versions less than 1.1.1.0 or equal to 1.2.0.*.++1.3.2++- Fix for building against `bytestring` 0.9.*++1.3.1++- Allow building against `hashable` 1.1.* in addition to 1.2.*++1.3.0++- New functions for parsing and printing UUIDs to and from ASCII BytesStrings+- New module `Data.UUID.Util`. This module includes the type `UnpackedUUID`,+  whose fields correspond to the UUID fields described in RFC 4122.+- The `Storable` instance now stores a UUID in host byte-order instead of+  big endian.+- There is now an instance for `Hashable UUID`.++1.2.13++Benchmark only changes:++- Allow `criterion` 0.8.*++1.2.12++Test only changes:++- Allow `QuickCheck` 2.6.*++1.2.11++- Allow `binary` 0.7.*++1.2.10++- Allow `cryptohash` version 0.9.*+- Cleanup tests++1.2.9++- Bumped dependency on `cryptohash`.++1.2.8++- Bumped various dependencies and cleaned up dependencies in general.++1.2.7++- Added stricter constraints on `random` package.++1.2.6++- Add module `V4` to direct attention to our Random instance++- In module `V1` seed the generator with a random number+  if the hardware MAC address could not be discovered.++- Fix and cleanup various haddocks.++- In module docs, warn about MD5 use in Data.UUID.V3 and+  encourage the reader to use Data.UUID.V5 instead.++1.2.5++- Use `cryptohash` package for MD5 and SHA1 instead of `Crypto`++1.2.4++- Unpack Word32 values into UUID constructor.++- Update test suite to QuickCheck 2++- Bump other dependencies in tests/benchmarks++1.2.3++- The Read instance now drops leading spaces in the string to be parsed.+Thanks to Marc Ziegert for reporting this bug.++- The tests have moved over to the new Cabal test running framework.++1.2.2++- Add functions fromWords/toWords++The goal was to have a total function that can be used to construct+a UUID, primarily for use by uuid-th.++1.2.1++- Fix concurrency bug in Data.UUID.V1 (thanks to Neil Mitchell for reporting+and a test case)++1.2.0+  (Contributors: Antoine Latter & Mark Lentczner)++- added functions toByteString and fromByteString+- added `nil` UUID+- added unit tests and benchmarks, built when configured -ftest+- major speed up of to/from functions (as well as in general)+- added version-3 generation (deterministic based on MD5)+- major changes to internal representation+	- now uses four strict Word32 values+	- internal ByteSource classes for easy construction (see Builder.hs)+- Storable instance now stores in memory as system libraries in C do:+    16 bytes derived from the network order of the fields, no matter what+    the host native endianess is.+- fixed bugs in V1 time and clock stepping, and V1 generated values+- builds cleanly under GHC's -Wall+- added CHANGES file++1.1.1++- no longer exporting `null` from the prelude+- add `null` predicate on UUIDs+- documentation fix (thanks Mark Lentczner)
Data/UUID/Named.hs view
@@ -33,21 +33,19 @@ import Data.Maybe import Data.Word (Word8) -import qualified Data.ByteArray as BA import qualified Data.ByteString as B import qualified Data.ByteString.Lazy as BL  -- |Generate a 'UUID' within the specified namespace out of the given -- object.-generateNamed :: BA.ByteArrayAccess bs-              => (B.ByteString -> bs) -- ^Hash+generateNamed :: (B.ByteString -> B.ByteString) -- ^Hash               -> Word8   -- ^Version               ->  UUID   -- ^Namespace               -> [Word8] -- ^Object               -> UUID generateNamed hash version namespace object =     let chunk = B.pack $ toList namespace ++ object-        bytes = BL.fromStrict . BA.convert $ hash chunk+        bytes = BL.fromChunks . (:[]) $ hash chunk         w = getWord32be         unpackBytes = runGet $          buildFromWords version <$> w <*> w <*> w <*> w
Data/UUID/V3.hs view
@@ -35,7 +35,7 @@  import Data.UUID.Types.Internal import qualified Data.UUID.Named as Shared-import qualified Crypto.Hash as H+import qualified Crypto.Hash.MD5 as MD5   -- |Generate a 'UUID' within the specified namespace out of the given@@ -46,4 +46,4 @@ generateNamed :: UUID    -- ^Namespace               -> [Word8] -- ^Object               -> UUID-generateNamed = Shared.generateNamed (H.hashWith H.MD5) 3+generateNamed = Shared.generateNamed MD5.hash 3
Data/UUID/V4.hs view
@@ -23,7 +23,7 @@ import Data.UUID import Data.UUID.Types.Internal ( buildFromBytes ) -import Crypto.Random.Entropy ( getEntropy )+import System.Entropy ( getEntropy ) import Data.ByteString ( unpack )  -- | Generate a random UUID. Introduced in version 1.2.6.
Data/UUID/V5.hs view
@@ -30,7 +30,7 @@  import Data.UUID.Types.Internal import qualified Data.UUID.Named as Shared-import qualified Crypto.Hash as H+import qualified Crypto.Hash.SHA1 as SHA1   -- |Generate a 'UUID' within the specified namespace out of the given@@ -41,4 +41,4 @@ generateNamed :: UUID    -- ^Namespace               -> [Word8] -- ^Object               -> UUID-generateNamed = Shared.generateNamed (H.hashWith H.SHA1) 5+generateNamed = Shared.generateNamed SHA1.hash 5
tests/BenchUUID.hs view
@@ -1,5 +1,3 @@-{-# LANGUAGE CPP #-}- import Criterion.Main import Data.Char (ord) import Data.IORef
uuid.cabal view
@@ -1,84 +1,90 @@ Name: uuid-Version: 1.3.12+Version: 1.3.13 Copyright: (c) 2008-2014 Antoine Latter Author: Antoine Latter-Maintainer: aslatter@gmail.com+Maintainer: hvr@gnu.org License: BSD3 License-file: LICENSE- Category: Data Build-Type: Simple-Cabal-Version: >= 1.8+Cabal-Version: >= 1.10+Tested-With: GHC==8.0.2, GHC==7.10.3, GHC==7.8.4, GHC==7.6.3, GHC==7.4.2 +Synopsis: For creating, comparing, parsing and printing Universally Unique Identifiers Description:  This library is useful for creating, comparing, parsing and  printing Universally Unique Identifiers.+ .  See <http://en.wikipedia.org/wiki/UUID> for the general idea. -Synopsis: For creating, comparing, parsing and printing Universally Unique Identifiers--Homepage: https://github.com/aslatter/uuid-Bug-Reports: https://github.com/aslatter/uuid/issues+Homepage: https://github.com/hvr/uuid+Bug-Reports: https://github.com/hvr/uuid/issues  Extra-Source-Files:-     CHANGES+    CHANGES.md +Source-Repository head+    Type:              git+    Location:          https://github.com/hvr/uuid.git+    Subdir:            uuid  Library- Build-Depends: base >=3 && < 5,-                binary >= 0.4 && < 0.9,-                bytestring >= 0.9 && < 0.11,-                cryptonite,-                memory,-                network-info == 0.2.*,-                random >= 1.0.1 && < 1.2,-                time >= 1.1 && < 1.7,-                text >= 1 && < 1.3,-                uuid-types >= 1.0.2 && < 2-- Exposed-Modules:-   Data.UUID-   Data.UUID.Util-   Data.UUID.V1-   Data.UUID.V3-   Data.UUID.V4-   Data.UUID.V5+    Build-Depends:     base            >= 4.3      && < 5,+                       binary          >= 0.4      && < 0.9,+                       bytestring      >= 0.10     && < 0.11,+                       cryptohash-sha1 >= 0.11.100 && < 0.12,+                       cryptohash-md5  >= 0.11.100 && < 0.12,+                       entropy         >= 0.3.7    && < 0.4,+                       network-info    == 0.2.*,+                       random          >= 1.0.1    && < 1.2,+                       time            >= 1.1      && < 1.8,+                       text            >= 1        && < 1.3,+                       uuid-types      >= 1.0.2    && < 2 - Other-Modules:-   Data.UUID.Named-   Data.Word.Util+    Exposed-Modules:+      Data.UUID+      Data.UUID.Util+      Data.UUID.V1+      Data.UUID.V3+      Data.UUID.V4+      Data.UUID.V5 - Extensions: DeriveDataTypeable- Ghc-Options:        -Wall+    Other-Modules:+      Data.UUID.Named+      Data.Word.Util -source-repository   head-  type:             git-  location:         https://github.com/aslatter/uuid.git+    Default-Language:  Haskell2010+    Default-Extensions: DeriveDataTypeable+    Other-Extensions:  TypeFamilies+    Ghc-Options:       -Wall  Test-Suite testuuid     Type:              exitcode-stdio-1.0     Main-is:           TestUUID.hs     Hs-source-dirs:    tests-    Extensions:        DeriveDataTypeable+    Default-Language:  Haskell2010+    Default-Extensions: DeriveDataTypeable+    Other-Extensions:  ViewPatterns     Ghc-Options:       -Wall -fno-warn-orphans-    Build-Depends:     base >= 3 && < 5,-                       uuid,-                       bytestring >= 0.9 && < 0.11,-                       HUnit >=1.2 && < 1.4,-                       QuickCheck >=2.4 && < 2.9,-                       random >= 1.0.1 && < 1.2,-                       tasty >= 0.10 && < 0.12,-                       tasty-hunit == 0.9.*,+    Build-Depends:     uuid+    Build-Depends:     base             >= 4.3   && < 5,+                       bytestring       >= 0.9   && < 0.11,+                       HUnit            >= 1.2   && < 1.4,+                       QuickCheck       >= 2.4   && < 2.10,+                       random           >= 1.0.1 && < 1.2,+                       tasty            >= 0.10  && < 0.12,+                       tasty-hunit      == 0.9.*,                        tasty-quickcheck == 0.8.*  benchmark benchmark     Type:              exitcode-stdio-1.0     Main-is:           BenchUUID.hs     Hs-source-dirs:    tests-    Extensions:        DeriveDataTypeable, CPP+    Default-Language:  Haskell2010+    Default-Extensions: DeriveDataTypeable, CPP     Ghc-Options:       -Wall -fno-warn-orphans-    Build-depends:     base == 4.*,-                       uuid,-                       criterion >= 0.4 && < 1.2,-                       mersenne-random-pure64,-                       random >= 1.0.1 && < 1.2+    Build-Depends:     uuid+    Build-Depends:     base                   >= 4.3 && < 5,+                       criterion              >= 0.4 && < 1.2,+                       mersenne-random-pure64 >= 0.2 && < 0.3,+                       random                 >= 1.0.1 && < 1.2