diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -5,6 +5,9 @@
 
 ## [Unreleased]
 
+## [1.2.1] - 2020-05-31
+- Upgraded to latest stackage LTS
+
 ## [1.2.0] - 2019-09-11
 - Added `change-password` command
 
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,5 +1,6 @@
 [![Build Status](https://travis-ci.org/rkaippully/gamgee.svg?branch=master)](https://travis-ci.org/rkaippully/gamgee)
 [![Release](https://img.shields.io/github/release/rkaippully/gamgee.svg)](https://github.com/rkaippully/gamgee/releases)
+[![Hackage](https://img.shields.io/hackage/v/gamgee.svg)](https://hackage.haskell.org/package/gamgee)
 
 # About
 Gamgee is your sidekick for managing multi-factor authentication
diff --git a/gamgee.cabal b/gamgee.cabal
--- a/gamgee.cabal
+++ b/gamgee.cabal
@@ -1,145 +1,119 @@
 cabal-version: 1.12
-name: gamgee
-version: 1.2.0
-license: MPL-2.0
-license-file: LICENSE
-copyright: 2018 Raghu Kaippully
-maintainer: rkaippully@gmail.com
-author: Raghu Kaippully
-homepage: https://github.com/rkaippully/gamgee#readme
-bug-reports: https://github.com/rkaippully/gamgee/issues
-synopsis: Tool for generating TOTP MFA tokens.
-description:
-    Tool for generating TOTP MFA tokens. Please see the README on GitHub at <https://github.com/rkaippully/gamgee#readme>
-category: Authentication, Command Line
-build-type: Simple
+
+-- This file has been generated from package.yaml by hpack version 0.33.0.
+--
+-- see: https://github.com/sol/hpack
+--
+-- hash: 5b2412c7134563a0b717c9d86f64ba764f4eeaba70587cdabef925ac3855e820
+
+name:           gamgee
+version:        1.2.1
+synopsis:       Tool for generating TOTP MFA tokens.
+description:    Tool for generating TOTP MFA tokens. Please see the README on GitHub at <https://github.com/rkaippully/gamgee#readme>
+category:       Authentication, Command Line
+homepage:       https://github.com/rkaippully/gamgee#readme
+bug-reports:    https://github.com/rkaippully/gamgee/issues
+author:         Raghu Kaippully
+maintainer:     rkaippully@gmail.com
+copyright:      2018 Raghu Kaippully
+license:        MPL-2.0
+license-file:   LICENSE
+build-type:     Simple
 extra-source-files:
     ChangeLog.md
     README.md
     test/data/golden/getOTPTest.txt
 
 source-repository head
-    type: git
-    location: https://github.com/rkaippully/gamgee
+  type: git
+  location: https://github.com/rkaippully/gamgee
 
 library
-    exposed-modules:
-        Gamgee.Operation
-        Gamgee.Token
-        Gamgee.Effects
-        Gamgee.Effects.Error
-        Gamgee.Effects.Crypto
-        Gamgee.Effects.CryptoRandom
-        Gamgee.Effects.SecretInput
-        Gamgee.Effects.TOTP
-        Gamgee.Effects.JSONStore
-        Gamgee.Effects.ByteStore
-    hs-source-dirs: src
-    other-modules:
-        Paths_gamgee
-    default-language: Haskell2010
-    default-extensions: ApplicativeDo BangPatterns ConstraintKinds
-                        DataKinds DefaultSignatures DeriveAnyClass DeriveFoldable
-                        DeriveFunctor DeriveGeneric DeriveLift DeriveTraversable
-                        DerivingStrategies EmptyCase ExistentialQuantification
-                        FlexibleContexts FlexibleInstances FunctionalDependencies GADTs
-                        GeneralizedNewtypeDeriving InstanceSigs KindSignatures LambdaCase
-                        MultiParamTypeClasses MultiWayIf NamedFieldPuns NoImplicitPrelude
-                        OverloadedStrings PatternSynonyms PolyKinds RankNTypes
-                        ScopedTypeVariables StandaloneDeriving TemplateHaskell
-                        TupleSections TypeApplications TypeFamilies TypeFamilyDependencies
-                        TypeOperators
-    ghc-options: -Wall -Wcompat -Wredundant-constraints
-                 -Wincomplete-record-updates -Wincomplete-uni-patterns
-    build-depends:
-        aeson >=1.4.4.0 && <1.5,
-        base >=4.12.0.0 && <4.13,
-        base64-bytestring >=1.0.0.2 && <1.1,
-        bytestring >=0.10.8.2 && <0.11,
-        cryptonite ==0.25.*,
-        memory >=0.14.18 && <0.15,
-        polysemy >=1.0.0.0 && <1.1,
-        relude >=0.5.0 && <0.6,
-        safe-exceptions >=0.1.7.0 && <0.2,
-        text >=1.2.3.1 && <1.3,
-        time >=1.8.0.2 && <1.9
+  exposed-modules:
+      Gamgee.Operation
+      Gamgee.Token
+      Gamgee.Effects
+      Gamgee.Effects.Error
+      Gamgee.Effects.Crypto
+      Gamgee.Effects.CryptoRandom
+      Gamgee.Effects.SecretInput
+      Gamgee.Effects.TOTP
+      Gamgee.Effects.JSONStore
+      Gamgee.Effects.ByteStore
+  other-modules:
+      Paths_gamgee
+  hs-source-dirs:
+      src
+  default-extensions: ApplicativeDo BangPatterns ConstraintKinds DataKinds DefaultSignatures DeriveAnyClass DeriveFoldable DeriveFunctor DeriveGeneric DeriveLift DeriveTraversable DerivingStrategies EmptyCase ExistentialQuantification FlexibleContexts FlexibleInstances FunctionalDependencies GADTs GeneralizedNewtypeDeriving InstanceSigs KindSignatures LambdaCase MultiParamTypeClasses MultiWayIf NamedFieldPuns NoImplicitPrelude OverloadedStrings PatternSynonyms PolyKinds RankNTypes ScopedTypeVariables StandaloneDeriving TemplateHaskell TupleSections TypeApplications TypeFamilies TypeFamilyDependencies TypeOperators
+  ghc-options: -Wall -Wcompat -Wredundant-constraints -Wincomplete-record-updates -Wincomplete-uni-patterns
+  build-depends:
+      aeson >=1.4.4.0 && <1.5
+    , base >=4.13.0.0 && <4.14
+    , base64-bytestring >=1.0.0.2 && <1.1
+    , bytestring >=0.10.8.2 && <0.11
+    , cryptonite >=0.26 && <0.27
+    , memory >=0.15.0 && <0.16
+    , polysemy >=1.2.3.0 && <1.3
+    , relude >=0.6.0.0 && <0.7
+    , safe-exceptions >=0.1.7.0 && <0.2
+    , text >=1.2.3.1 && <1.3
+    , time >=1.9.3 && <1.10
+  default-language: Haskell2010
 
 executable gamgee
-    main-is: Main.hs
-    hs-source-dirs: app
-    other-modules:
-        Gamgee.Program.CommandLine
-        Gamgee.Program.Effects
-        Paths_gamgee
-    default-language: Haskell2010
-    default-extensions: ApplicativeDo BangPatterns ConstraintKinds
-                        DataKinds DefaultSignatures DeriveAnyClass DeriveFoldable
-                        DeriveFunctor DeriveGeneric DeriveLift DeriveTraversable
-                        DerivingStrategies EmptyCase ExistentialQuantification
-                        FlexibleContexts FlexibleInstances FunctionalDependencies GADTs
-                        GeneralizedNewtypeDeriving InstanceSigs KindSignatures LambdaCase
-                        MultiParamTypeClasses MultiWayIf NamedFieldPuns NoImplicitPrelude
-                        OverloadedStrings PatternSynonyms PolyKinds RankNTypes
-                        ScopedTypeVariables StandaloneDeriving TemplateHaskell
-                        TupleSections TypeApplications TypeFamilies TypeFamilyDependencies
-                        TypeOperators
-    ghc-options: -Wall -Wcompat -Wredundant-constraints
-                 -Wincomplete-record-updates -Wincomplete-uni-patterns -threaded
-                 -rtsopts -with-rtsopts=-N
-    build-depends:
-        Hclip ==3.0.0.4,
-        aeson >=1.4.4.0 && <1.5,
-        base >=4.12.0.0 && <4.13,
-        directory >=1.3.3.0 && <1.4,
-        filepath >=1.4.2.1 && <1.5,
-        gamgee -any,
-        optparse-applicative >=0.14.3.0 && <0.15,
-        polysemy >=1.0.0.0 && <1.1,
-        relude >=0.5.0 && <0.6,
-        safe-exceptions >=0.1.7.0 && <0.2,
-        text >=1.2.3.1 && <1.3,
-        time >=1.8.0.2 && <1.9,
-        unix >=2.7.2.2 && <2.8
+  main-is: Main.hs
+  other-modules:
+      Gamgee.Program.CommandLine
+      Gamgee.Program.Effects
+      Paths_gamgee
+  hs-source-dirs:
+      app
+  default-extensions: ApplicativeDo BangPatterns ConstraintKinds DataKinds DefaultSignatures DeriveAnyClass DeriveFoldable DeriveFunctor DeriveGeneric DeriveLift DeriveTraversable DerivingStrategies EmptyCase ExistentialQuantification FlexibleContexts FlexibleInstances FunctionalDependencies GADTs GeneralizedNewtypeDeriving InstanceSigs KindSignatures LambdaCase MultiParamTypeClasses MultiWayIf NamedFieldPuns NoImplicitPrelude OverloadedStrings PatternSynonyms PolyKinds RankNTypes ScopedTypeVariables StandaloneDeriving TemplateHaskell TupleSections TypeApplications TypeFamilies TypeFamilyDependencies TypeOperators
+  ghc-options: -Wall -Wcompat -Wredundant-constraints -Wincomplete-record-updates -Wincomplete-uni-patterns -threaded -rtsopts -with-rtsopts=-N
+  build-depends:
+      Hclip ==3.0.0.4
+    , aeson >=1.4.4.0 && <1.5
+    , base >=4.13.0.0 && <4.14
+    , directory >=1.3.3.0 && <1.4
+    , filepath >=1.4.2.1 && <1.5
+    , gamgee
+    , optparse-applicative >=0.15.1.0 && <0.16
+    , polysemy >=1.2.3.0 && <1.3
+    , relude >=0.6.0.0 && <0.7
+    , safe-exceptions >=0.1.7.0 && <0.2
+    , text >=1.2.3.1 && <1.3
+    , time >=1.9.3 && <1.10
+    , unix >=2.7.2.2 && <2.8
+  default-language: Haskell2010
 
 test-suite gamgee-test
-    type: exitcode-stdio-1.0
-    main-is: Main.hs
-    hs-source-dirs: test
-    other-modules:
-        Gamgee.Test.Effects
-        Gamgee.Test.Golden
-        Gamgee.Test.Operation
-        Gamgee.Test.Property
-        Paths_gamgee
-    default-language: Haskell2010
-    default-extensions: ApplicativeDo BangPatterns ConstraintKinds
-                        DataKinds DefaultSignatures DeriveAnyClass DeriveFoldable
-                        DeriveFunctor DeriveGeneric DeriveLift DeriveTraversable
-                        DerivingStrategies EmptyCase ExistentialQuantification
-                        FlexibleContexts FlexibleInstances FunctionalDependencies GADTs
-                        GeneralizedNewtypeDeriving InstanceSigs KindSignatures LambdaCase
-                        MultiParamTypeClasses MultiWayIf NamedFieldPuns NoImplicitPrelude
-                        OverloadedStrings PatternSynonyms PolyKinds RankNTypes
-                        ScopedTypeVariables StandaloneDeriving TemplateHaskell
-                        TupleSections TypeApplications TypeFamilies TypeFamilyDependencies
-                        TypeOperators
-    ghc-options: -Wall -Wcompat -Wredundant-constraints
-                 -Wincomplete-record-updates -Wincomplete-uni-patterns -threaded
-                 -rtsopts -with-rtsopts=-N
-    build-depends:
-        QuickCheck >=2.13.2 && <2.14,
-        aeson >=1.4.4.0 && <1.5,
-        base >=4.12.0.0 && <4.13,
-        bytestring >=0.10.8.2 && <0.11,
-        cryptonite ==0.25.*,
-        filepath >=1.4.2.1 && <1.5,
-        gamgee -any,
-        memory >=0.14.18 && <0.15,
-        polysemy >=1.0.0.0 && <1.1,
-        quickcheck-instances >=0.3.22 && <0.4,
-        relude >=0.5.0 && <0.6,
-        tasty >=1.2.3 && <1.3,
-        tasty-golden >=2.3.2 && <2.4,
-        tasty-quickcheck >=0.10.1 && <0.11,
-        text >=1.2.3.1 && <1.3,
-        time >=1.8.0.2 && <1.9
+  type: exitcode-stdio-1.0
+  main-is: Main.hs
+  other-modules:
+      Gamgee.Test.Effects
+      Gamgee.Test.Golden
+      Gamgee.Test.Operation
+      Gamgee.Test.Property
+      Paths_gamgee
+  hs-source-dirs:
+      test
+  default-extensions: ApplicativeDo BangPatterns ConstraintKinds DataKinds DefaultSignatures DeriveAnyClass DeriveFoldable DeriveFunctor DeriveGeneric DeriveLift DeriveTraversable DerivingStrategies EmptyCase ExistentialQuantification FlexibleContexts FlexibleInstances FunctionalDependencies GADTs GeneralizedNewtypeDeriving InstanceSigs KindSignatures LambdaCase MultiParamTypeClasses MultiWayIf NamedFieldPuns NoImplicitPrelude OverloadedStrings PatternSynonyms PolyKinds RankNTypes ScopedTypeVariables StandaloneDeriving TemplateHaskell TupleSections TypeApplications TypeFamilies TypeFamilyDependencies TypeOperators
+  ghc-options: -Wall -Wcompat -Wredundant-constraints -Wincomplete-record-updates -Wincomplete-uni-patterns -threaded -rtsopts -with-rtsopts=-N
+  build-depends:
+      QuickCheck >=2.13.2 && <2.14
+    , aeson >=1.4.4.0 && <1.5
+    , base >=4.13.0.0 && <4.14
+    , bytestring >=0.10.8.2 && <0.11
+    , cryptonite >=0.26 && <0.27
+    , filepath >=1.4.2.1 && <1.5
+    , gamgee
+    , memory >=0.15.0 && <0.16
+    , polysemy >=1.2.3.0 && <1.3
+    , quickcheck-instances >=0.3.22 && <0.4
+    , relude >=0.6.0.0 && <0.7
+    , tasty >=1.2.3 && <1.3
+    , tasty-golden >=2.3.2 && <2.4
+    , tasty-quickcheck >=0.10.1 && <0.11
+    , text >=1.2.3.1 && <1.3
+    , time >=1.9.3 && <1.10
+  default-language: Haskell2010
