diff --git a/qr-imager.cabal b/qr-imager.cabal
--- a/qr-imager.cabal
+++ b/qr-imager.cabal
@@ -1,59 +1,52 @@
-name: qr-imager
-version: 1.0.1.0
-cabal-version: >=1.10
-build-type: Simple
-license: BSD3
-license-file: LICENSE
-copyright: Copyright: (c) 2016 Vanessa McHale
-maintainer: tmchale@wisc.edu
-stability: stable
-homepage: https://github.com/vmchale/QRImager#readme
-synopsis: Library to generate QR codes from bytestrings and objects
-description:
-    Please see README.md
-category: Data
-author: Vanessa McHale
-extra-source-files:
-    README.md
-    stack.yaml
-
-source-repository head
-    type: git
-    location: https://github.com/vmchale/QRImager
+name:                qr-imager
+version:             1.0.1.1
+synopsis:            Library to generate QR codes from bytestrings and objects
+description:         Please see README.md
+homepage:            https://github.com/vmchale/QRImager#readme
+license:             BSD3
+license-file:        LICENSE
+author:              Vanessa McHale
+maintainer:          tmchale@wisc.edu
+copyright:           Copyright: (c) 2016 Vanessa McHale
+category:            Data
+build-type:          Simple
+stability:           stable
+extra-source-files:  README.md, stack.yaml
+cabal-version:       >=1.10
 
 library
-    exposed-modules:
-        Data.QRCodes
-        Data.QRCodes.Exe
-        Data.QRCodes.Image
-        Data.QRCodes.Signature
-    build-depends:
-        base >=4.7 && <5,
-        aeson >=1.0.2.1 && <1.1,
-        JuicyPixels >=3.2.8.1 && <3.3,
-        vector >=0.11.0.0 && <0.12,
-        bytestring >=0.10.8.1 && <0.11,
-        microlens >=0.4.8.0 && <0.5,
-        cryptonite ==0.21.*,
-        jose-jwt >=0.7.5 && <0.8,
-        directory >=1.3.0.0 && <1.4,
-        haskell-qrencode >=1.0.4 && <1.1,
-        process >=1.4.3.0 && <1.5,
-        MissingH >=1.4.0.1 && <1.5,
-        optparse-applicative >=0.13.2.0 && <0.14
-    pkgconfig-depends: libqrencode -any
-    default-language: Haskell2010
-    hs-source-dirs: src
-    other-modules:
-        Data.QRCodes.Utils
+  hs-source-dirs:      src
+  exposed-modules:     Data.QRCodes
+                     , Data.QRCodes.Exe
+                     , Data.QRCodes.Image
+                     , Data.QRCodes.Signature
+  other-modules:       Data.QRCodes.Utils
+  build-depends:       base >= 4.7 && < 5
+                     , aeson
+                     , JuicyPixels
+                     , vector
+                     , bytestring
+                     , microlens
+                     , cryptonite
+                     , jose-jwt
+                     , directory
+                     , haskell-qrencode
+                     , process
+                     , MissingH
+                     , optparse-applicative
+  pkgconfig-depends:   libqrencode
+  default-language:    Haskell2010
 
 test-suite test-lib
-    type: exitcode-stdio-1.0
-    main-is: Spec.hs
-    build-depends:
-        base >=4.9.1.0 && <4.10,
-        qr-imager >=1.0.1.0 && <1.1,
-        hspec >=2.4.2 && <2.5
-    default-language: Haskell2010
-    hs-source-dirs: test
-    ghc-options: -threaded -rtsopts -with-rtsopts=-N
+  type:                exitcode-stdio-1.0
+  hs-source-dirs:      test
+  main-is:             Spec.hs
+  ghc-options:         -threaded -rtsopts -with-rtsopts=-N
+  build-depends:       base
+                     , qr-imager
+                     , hspec
+  default-language:    Haskell2010
+
+source-repository head
+  type:     git
+  location: https://github.com/vmchale/QRImager
diff --git a/stack.yaml b/stack.yaml
--- a/stack.yaml
+++ b/stack.yaml
@@ -1,75 +1,31 @@
-# This file was automatically generated by 'stack init'
-#
-# Some commonly used options have been documented as comments in this file.
-# For advanced use and comprehensive documentation of the format, please see:
-# http://docs.haskellstack.org/en/stable/yaml_configuration/
-
-# A warning or info to be displayed to the user on config load.
-user-message: ! 'Warning (added by new or init): Specified resolver could not satisfy
-  all dependencies. Some external packages have been added as dependencies.
-
-  You can suppress this message by removing it from stack.yaml
-
-'
-
-# Resolver to choose a 'specific' stackage snapshot or a compiler version.
-# A snapshot resolver dictates the compiler version and the set of packages
-# to be used for project dependencies. For example:
-#
-# resolver: lts-3.5
-# resolver: nightly-2015-09-21
-# resolver: ghc-7.10.2
-# resolver: ghcjs-0.1.0_ghc-7.10.2
-# resolver:
-#  name: custom-snapshot
-#  location: "./custom-snapshot.yaml"
-resolver: lts-8.5
-
-# User packages to be built.
-# Various formats can be used as shown in the example below.
-#
-# packages:
-# - some-directory
-# - https://example.com/foo/bar/baz-0.0.2.tar.gz
-# - location:
-#    git: https://github.com/commercialhaskell/stack.git
-#    commit: e7b331f14bcffb8367cd58fbfc8b40ec7642100a
-# - location: https://github.com/commercialhaskell/stack/commit/e7b331f14bcffb8367cd58fbfc8b40ec7642100a
-#   extra-dep: true
-#  subdirs:
-#  - auto-update
-#  - wai
-#
-# A package marked 'extra-dep: true' will only be built if demanded by a
-# non-dependency (i.e. a user package), and its test suites and benchmarks
-# will not be run. This is useful for tweaking upstream packages.
+resolver: lts-8.15
 packages:
-- '.'
-# Dependency packages to be pulled from upstream that are not in the resolver
-# (e.g., acme-missiles-0.3)
+ - .
+ - extra-dep: true
+   location:
+       git: https://github.com/haskell/deepseq
+       commit: 0b22c9825ef79c1ee41d2f19e7c997f5cdc93494
+ - extra-dep: true
+   location:
+       git: https://github.com/ekmett/semigroupoids.git
+       commit: c3297f970658ae874db098190327ec742044a2e6
+ - extra-dep: true
+   location:
+       git: http://github.com/ekmett/lens.git
+       commit: 7031e00f62a704a86c3149c75c1e2afc059af022
 extra-deps:
-- haskell-qrencode-1.0.4
-
-# Override default flag values for local packages and extra-deps
-flags: {}
-
-# Extra package databases containing global packages
-extra-package-dbs: []
-
-# Control whether we use the GHC we find on the path
-# system-ghc: true
-#
-# Require a specific version of stack, using version ranges
-# require-stack-version: -any # Default
-# require-stack-version: ">=1.4"
-#
-# Override the architecture used by stack, especially useful on Windows
-# arch: i386
-# arch: x86_64
-#
-# Extra directories used by stack for building
-# extra-include-dirs: [/path/to/dir]
-# extra-lib-dirs: [/path/to/dir]
-#
-# Allow a newer minor version of GHC than the snapshot specifies
-# compiler-check: newer-minor
+    - haskell-qrencode-1.0.4
+allow-newer: true
+compiler: ghc-8.2.0.20170507
+compiler-check: match-exact
+setup-info:
+ ghc:
+  linux64:
+   8.2.0.20170507:
+    url: https://downloads.haskell.org/~ghc/8.2.1-rc2/ghc-8.2.0.20170507-x86_64-deb8-linux.tar.xz
+  macosx:
+   8.2.0.20170507:
+    url: https://downloads.haskell.org/~ghc/8.2.1-rc2/ghc-8.2.0.20170507-x86_64-apple-darwin.tar.xz
+  windows64:
+   8.2.0.20170507:
+    url: https://downloads.haskell.org/~ghc/8.2.1-rc2/ghc-8.2.0.20170507-x86_64-unknown-mingw32.tar.xz
