diff --git a/cryptohash-sha256-0.11.100.1.tar.gz b/cryptohash-sha256-0.11.100.1.tar.gz
deleted file mode 100644
index d932b0a..0000000
--- a/cryptohash-sha256-0.11.100.1.tar.gz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:57b02338e9648639335788b422dd4c744543cb0991347472e2e3628a33c2f5d6
-size 10885
diff --git a/cryptohash-sha256-0.11.101.0.tar.gz b/cryptohash-sha256-0.11.101.0.tar.gz
new file mode 100644
index 0000000..e86ae9f
--- /dev/null
+++ b/cryptohash-sha256-0.11.101.0.tar.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:52756435dbea248e344fbcbcc5df5307f60dfacf337dfd11ae30f1c7a4da05dd
+size 14996
diff --git a/cryptohash-sha256.cabal b/cryptohash-sha256.cabal
index 68ee15f..151a30a 100644
--- a/cryptohash-sha256.cabal
+++ b/cryptohash-sha256.cabal
@@ -1,21 +1,45 @@
+cabal-version:       1.12
 name:                cryptohash-sha256
-version:             0.11.100.1
+version:             0.11.101.0
 x-revision: 1
-description:
-    A practical incremental and one-pass, pure API to the
-    <https://en.wikipedia.org/wiki/SHA-2 SHA-256 hash algorithm>
-    (including <https://en.wikipedia.org/wiki/HMAC HMAC> support)
-    with performance close to the fastest implementations available in other languages.
-    .
-    The implementation is made in C with a haskell FFI wrapper that hides the C implementation.
-    .
-    NOTE: This package has been forked off @cryptohash-0.11.7@ because the @cryptohash@ package has been
-    deprecated and so this package continues to satisfy the need for a lightweight package
-    providing the SHA256 hash algorithm without any dependencies on packages other than
-    @base@ and @bytestring@.
-    .
-    Consequently, this package can be used as a drop-in replacement for @cryptohash@'s
-    "Crypto.Hash.SHA256" module, though with a clearly smaller footprint.
+
+synopsis:            Fast, pure and practical SHA-256 implementation
+description: {
+
+A practical incremental and one-pass, pure API to
+the [SHA-256 cryptographic hash algorithm](https://en.wikipedia.org/wiki/SHA-2) according
+to [FIPS 180-4](http://dx.doi.org/10.6028/NIST.FIPS.180-4)
+with performance close to the fastest implementations available in other languages.
+.
+The core SHA-256 algorithm is implemented in C and is thus expected
+to be as fast as the standard [sha256sum(1) tool](https://linux.die.net/man/1/sha256sum);
+for instance, on an /Intel Core i7-3770/ at 3.40GHz this implementation can
+compute a SHA-256 hash over 230 MiB of data in under one second.
+(If, instead, you require a pure Haskell implementation and performance is secondary, please refer to the [SHA package](https://hackage.haskell.org/package/SHA).)
+.
+
+.
+Additionally, this package provides support for
+.
+- HMAC-SHA-256: SHA-256-based [Hashed Message Authentication Codes](https://en.wikipedia.org/wiki/HMAC) (HMAC)
+- HKDF-SHA-256: [HMAC-SHA-256-based Key Derivation Function](https://en.wikipedia.org/wiki/HKDF) (HKDF)
+.
+conforming to [RFC6234](https://tools.ietf.org/html/rfc6234), [RFC4231](https://tools.ietf.org/html/rfc4231), [RFC5869](https://tools.ietf.org/html/rfc5869), et al..
+.
+=== Relationship to the @cryptohash@ package and its API
+.
+This package has been originally a fork of @cryptohash-0.11.7@ because the @cryptohash@
+package had been deprecated and so this package continues to satisfy the need for a
+lightweight package providing the SHA-256 hash algorithm without any dependencies on packages
+other than @base@ and @bytestring@. The API exposed by @cryptohash-sha256-0.11.*@'s
+"Crypto.Hash.SHA256" module is guaranteed to remain a compatible superset of the API provided
+by the @cryptohash-0.11.7@'s module of the same name.
+.
+Consequently, this package is designed to be used as a drop-in replacement for @cryptohash-0.11.7@'s
+"Crypto.Hash.SHA256" module, though with
+a [clearly smaller footprint by almost 3 orders of magnitude](https://www.reddit.com/r/haskell/comments/5lxv75/psa_please_use_unique_module_names_when_uploading/dbzegx3/).
+
+}
 
 license:             BSD3
 license-file:        LICENSE
@@ -23,37 +47,63 @@ copyright:           Vincent Hanquez, Herbert Valerio Riedel
 maintainer:          Herbert Valerio Riedel <hvr@gnu.org>
 homepage:            https://github.com/hvr/cryptohash-sha256
 bug-reports:         https://github.com/hvr/cryptohash-sha256/issues
-synopsis:            Fast, pure and practical SHA-256 implementation
 category:            Data, Cryptography
 build-type:          Simple
-cabal-version:       >=1.10
 tested-with:         GHC == 7.4.2
                    , GHC == 7.6.3
                    , GHC == 7.8.4
                    , GHC == 7.10.3
-                   , GHC == 8.0.1
+                   , GHC == 8.0.2
+                   , GHC == 8.2.1
+                   , GHC == 8.4.1
 
-extra-source-files:  cbits/sha256.h
+extra-source-files:  cbits/hs_sha256.h
                      changelog.md
 
 source-repository head
   type:     git
   location: https://github.com/hvr/cryptohash-sha256.git
 
+flag exe
+  description: Enable building @sha256sum@ executable
+  manual:   True
+  default:  False
+
 library
   default-language:  Haskell2010
-  build-depends:     base             >= 4.5   && < 4.11
+  other-extensions:  BangPatterns
+                     CApiFFI
+                     Trustworthy
+                     Unsafe
+
+  build-depends:     base             >= 4.5   && < 4.12
                    , bytestring       >= 0.9.2 && < 0.11
 
+  ghc-options:       -Wall
+
   hs-source-dirs:    src
   exposed-modules:   Crypto.Hash.SHA256
-  ghc-options:       -Wall -fno-cse -O2
-  cc-options:        -Wall -O3
-  c-sources:         cbits/sha256.c
+  other-modules:     Crypto.Hash.SHA256.FFI
   include-dirs:      cbits
 
+executable sha256sum
+  hs-source-dirs:    src-exe
+  main-is:           sha256sum.hs
+  ghc-options:       -Wall -threaded
+  if flag(exe)
+    default-language:  Haskell2010
+    other-extensions:  RecordWildCards
+    build-depends:     cryptohash-sha256
+                     , base
+                     , bytestring
+
+                     , base16-bytestring >= 0.1.1  && < 0.2
+  else
+    buildable:       False
+
 test-suite test-sha256
   default-language:  Haskell2010
+  other-extensions:  OverloadedStrings
   type:              exitcode-stdio-1.0
   hs-source-dirs:    src-tests
   main-is:           test-sha256.hs
@@ -70,6 +120,7 @@ test-suite test-sha256
 
 benchmark bench-sha256
   default-language:  Haskell2010
+  other-extensions:  BangPatterns
   type:              exitcode-stdio-1.0
   main-is:           bench-sha256.hs
   hs-source-dirs:    src-bench
diff --git a/ghc-cryptohash-sha256.changes b/ghc-cryptohash-sha256.changes
index 24bf61a..646294d 100644
--- a/ghc-cryptohash-sha256.changes
+++ b/ghc-cryptohash-sha256.changes
@@ -1,3 +1,17 @@
+-------------------------------------------------------------------
+Mon May 14 17:02:11 UTC 2018 - psimons@suse.com
+
+- Update cryptohash-sha256 to version 0.11.101.0 revision 1.
+  - Add `hkdf` function providing HKDF-SHA256 conforming to RFC5869
+  - Declare `Crypto.Hash.SHA256` module `-XTrustworthy`
+  - Remove ineffective RULES
+  - Convert to `CApiFFI`
+  - Added `...AndLength` variants of hashing functions:
+       - `finalizeAndLength`
+       - `hashlazyAndLength`
+       - `hmaclazyAndLength`
+  - Minor optimizations in `hmac` and `hash`
+
 -------------------------------------------------------------------
 Thu Aug  3 15:38:38 UTC 2017 - psimons@suse.com
 
diff --git a/ghc-cryptohash-sha256.spec b/ghc-cryptohash-sha256.spec
index 8b73abb..2163242 100644
--- a/ghc-cryptohash-sha256.spec
+++ b/ghc-cryptohash-sha256.spec
@@ -1,7 +1,7 @@
 #
 # spec file for package ghc-cryptohash-sha256
 #
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
 %global pkg_name cryptohash-sha256
 %bcond_with tests
 Name:           ghc-%{pkg_name}
-Version:        0.11.100.1
+Version:        0.11.101.0
 Release:        0
 Summary:        Fast, pure and practical SHA-256 implementation
 License:        BSD-3-Clause
@@ -39,22 +39,44 @@ BuildRequires:  ghc-tasty-quickcheck-devel
 %endif
 
 %description
-A practical incremental and one-pass, pure API to the
-<https://en.wikipedia.org/wiki/SHA-2 SHA-256 hash algorithm> (including
-<https://en.wikipedia.org/wiki/HMAC HMAC> support) with performance close to
-the fastest implementations available in other languages.
+A practical incremental and one-pass, pure API to the [SHA-256 cryptographic
+hash algorithm](https://en.wikipedia.org/wiki/SHA-2) according to [FIPS
+180-4](http://dx.doi.org/10.6028/NIST.FIPS.180-4) with performance close to the
+fastest implementations available in other languages.
 
-The implementation is made in C with a haskell FFI wrapper that hides the C
-implementation.
+The core SHA-256 algorithm is implemented in C and is thus expected to be as
+fast as the standard [sha256sum(1)
+tool](https://linux.die.net/man/1/sha256sum); for instance, on an /Intel Core
+i7-3770/ at 3.40GHz this implementation can compute a SHA-256 hash over 230 MiB
+of data in under one second. (If, instead, you require a pure Haskell
+implementation and performance is secondary, please refer to the [SHA
+package](https://hackage.haskell.org/package/SHA).)
 
-NOTE: This package has been forked off 'cryptohash-0.11.7' because the
-'cryptohash' package has been deprecated and so this package continues to
-satisfy the need for a lightweight package providing the SHA256 hash algorithm
+Additionally, this package provides support for
+
+- HMAC-SHA-256: SHA-256-based [Hashed Message Authentication
+Codes](https://en.wikipedia.org/wiki/HMAC) (HMAC) - HKDF-SHA-256:
+[HMAC-SHA-256-based Key Derivation
+Function](https://en.wikipedia.org/wiki/HKDF) (HKDF)
+
+conforming to [RFC6234](https://tools.ietf.org/html/rfc6234),
+[RFC4231](https://tools.ietf.org/html/rfc4231),
+[RFC5869](https://tools.ietf.org/html/rfc5869), et al..
+
+=== Relationship to the 'cryptohash' package and its API
+
+This package has been originally a fork of 'cryptohash-0.11.7' because the
+'cryptohash' package had been deprecated and so this package continues to
+satisfy the need for a lightweight package providing the SHA-256 hash algorithm
 without any dependencies on packages other than 'base' and 'bytestring'.
+The API exposed by 'cryptohash-sha256-0.11.*''s "Crypto.Hash.SHA256" module is
+guaranteed to remain a compatible superset of the API provided by the
+'cryptohash-0.11.7''s module of the same name.
 
-Consequently, this package can be used as a drop-in replacement for
-'cryptohash''s "Crypto.Hash.SHA256" module, though with a clearly smaller
-footprint.
+Consequently, this package is designed to be used as a drop-in replacement for
+'cryptohash-0.11.7''s "Crypto.Hash.SHA256" module, though with a [clearly
+smaller footprint by almost 3 orders of
+magnitude](https://www.reddit.com/r/haskell/comments/5lxv75/psa_please_use_unique_module_names_when_uploading/dbzegx3/).
 
 %package devel
 Summary:        Haskell %{pkg_name} library development files
@@ -88,7 +110,7 @@ cp -p %{SOURCE1} %{pkg_name}.cabal
 %ghc_pkg_recache
 
 %files -f %{name}.files
-%doc LICENSE
+%license LICENSE
 
 %files devel -f %{name}-devel.files
 %doc changelog.md