diff --git a/.gitignore b/.gitignore
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,32 @@
 /.stack-work/
 /*.prof
 /TAGS
+*.hi
+*.o
+*.swp
+*.tag
+*~
+*_flymake.hs
+.hsenv
+*.html
+.idea
+*.lock
+*.iml
+.ideaHaskellLib
+.dir-locals.el
+*.refactored.hs
+/*.html
+src/**/*.c
+/dist/
+/dist-new/
+.vscode/
+/cabal.config
+*.aux
+*.hp
+*.prof
+*.ps
+*.pdf
+cabal.project.local
+.ghc.environment.*
+.hsenv
+result
diff --git a/hinterface.cabal b/hinterface.cabal
--- a/hinterface.cabal
+++ b/hinterface.cabal
@@ -1,9 +1,9 @@
 cabal-version: >=1.22
 name: hinterface
-version: 1.0.0
+version: 2.0.0
 license: BSD3
 license-file: LICENSE
-copyright: 2016-2019 Timo Koepke, Sven Heyll
+copyright: 2016-2020 Timo Koepke, Sven Heyll
 maintainer: timo.koepke@googlemail.com, sven.heyll@gmail.com
 author: Timo Koepke, Sven Heyll
 homepage: https://github.com/lindenbaum/hinterface
@@ -55,20 +55,20 @@
         QuickCheck >=2.11 && <2.14,
         array >=0.5.2.0 && <0.6,
         async >=2.2.1 && <2.3,
-        base >=4.9 && <5,
+        base >=4.12 && <5,
         binary >=0.8.5.1 && <0.9,
         bytestring >=0.10.8.2 && <0.11,
         containers >=0.5.11.0 && <0.7,
-        cryptonite ==0.25.*,
+        cryptonite ==0.26.*,
         deepseq ==1.4.*,
         exceptions >=0.10.0 && <0.11,
         lifted-async >=0.10.0.2 && <0.11,
         lifted-base >=0.2.3.12 && <0.3,
-        memory >=0.14.16 && <0.15,
+        memory ==0.15.*,
         monad-control >=1.0.2.3 && <1.1,
         monad-logger >=0.3.29 && <0.4,
         mtl >=2.2.2 && <2.3,
-        network >=2.6.3.6 && <2.9,
+        network ==3.1.1.*,
         random ==1.1.*,
         resourcet >=1.2.1 && <1.3,
         safe-exceptions >=0.1.7.0 && <0.2,
@@ -103,11 +103,11 @@
     build-depends:
         QuickCheck >=2.11.3 && <2.14,
         async >=2.2.2,
-        base >=4.9 && <5,
-        binary >=0.8.6.0,
-        bytestring >=0.10.8.2,
+        base >=4.12 && <5,
+        binary >=0.8.7.0,
+        bytestring >=0.10.10.0,
         hinterface -any,
         hspec >=2.4 && <2.8,
-        monad-logger >=0.3.30,
+        monad-logger >=0.3.32,
         transformers >=0.5.6.2,
-        vector >=0.12.0.3
+        vector >=0.12.1.2
diff --git a/src/Foreign/Erlang/ControlMessage.hs b/src/Foreign/Erlang/ControlMessage.hs
--- a/src/Foreign/Erlang/ControlMessage.hs
+++ b/src/Foreign/Erlang/ControlMessage.hs
@@ -35,7 +35,7 @@
         putWord8 pass_through
         put' controlMessage
       where
-        put' TICK = fail "Unreachable code"
+        put' TICK = error "Unreachable code"
 
         put' (LINK fromPid toPid) =
             put (MkExternalTerm (toTerm (linkTag, fromPid, toPid)))
diff --git a/stack.yaml b/stack.yaml
--- a/stack.yaml
+++ b/stack.yaml
@@ -4,4 +4,4 @@
 - .
 pvp-bounds: lower
 extra-deps: []
-resolver: lts-14.7
+resolver: lts-15.12
