diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,11 @@
 # Revision history for reanimate
 
+Notable changes to the project will be documented in this file.
+
+The format is based on [Keep a Changelog](http://keepachangelog.com/) and the
+project adheres to the [Haskell Package Versioning
+Policy (PVP)](https://pvp.haskell.org)
+
 ## 0.5.0.0 -- 2020-09-09
 
 ### Added
diff --git a/reanimate.cabal b/reanimate.cabal
--- a/reanimate.cabal
+++ b/reanimate.cabal
@@ -1,9 +1,9 @@
-cabal-version:       1.18
+cabal-version:       2.0
 -- Initial reani.cabal generated by cabal init.  For further documentation,
 --  see http://haskell.org/cabal/users-guide/
 
 name:                reanimate
-version:             0.5.0.0
+version:             0.5.0.1
 -- synopsis:
 -- description:
 license:             PublicDomain
@@ -97,6 +97,7 @@
                       Reanimate.Scene.Var
                       Reanimate.Scene.Sprite
                       Reanimate.Scene.Object
+  autogen-modules:    Paths_reanimate
   build-depends:
     base                 >=4.10 && <5,
     JuicyPixels          >=3.3.3,
@@ -114,7 +115,7 @@
     directory            >=1.3.1.0,
     filelock             >=0.1.1.2,
     filepath             >=1.4.2,
-    fingertree,
+    fingertree           >=0.1.0.0,
     fsnotify             >=0.3.0.1,
     geojson              >=3.0.4,
     ghcid                >=0.7,
@@ -132,12 +133,12 @@
     process              >=1.6.3.0,
     random               >=1.1,
     random-shuffle       >=0.0.4,
-    reanimate-svg        >=0.11.0.0,
+    reanimate-svg        ^>=0.11.0.0,
     split                >=0.2.3.3,
     temporary            >=1.3,
     text                 >=1.2.3.0,
     time                 >=1.8.0.0,
-    unordered-containers,
+    unordered-containers >=0.2.0.0,
     vector               >=0.12.0.0,
     vector-space         >=0.13,
     websockets           >=0.12.7.0,
diff --git a/test/UnitTests.hs b/test/UnitTests.hs
--- a/test/UnitTests.hs
+++ b/test/UnitTests.hs
@@ -24,6 +24,7 @@
   = Cabal
   | Stack
 
+{-# NOINLINE buildSystem #-}
 buildSystem :: BuildSystem
 buildSystem = unsafePerformIO $ do
   newbuild <- doesDirectoryExist "dist-newstyle"
@@ -32,7 +33,19 @@
     else if stack then pure Stack
     else error "Unknown build system."
 
+{-# NOINLINE unitTestsDisabled #-}
+unitTestsDisabled :: Bool
+unitTestsDisabled =
+  case buildSystem of
+    Cabal -> False
+    Stack -> unsafePerformIO $ do
+      (ret, _, _) <- readProcessWithExitCode "stack" ["exec","--","ghc", "-e", "Reanimate.duration Reanimate.Builtin.Documentation.drawCircle"] ""
+      case ret of
+        ExitFailure{} -> pure True
+        ExitSuccess   -> pure False
+
 unitTestFolder :: FilePath -> IO TestTree
+unitTestFolder _ | unitTestsDisabled = return $ testGroup "animate (disabled)" []
 unitTestFolder path = do
   files <- sort <$> getDirectoryContents path
   mbWDiff <- findExecutable "wdiff"
@@ -65,6 +78,7 @@
     ExitFailure{} -> error $ "Failed to run: " ++ T.unpack err
 
 compileTestFolder :: FilePath -> IO TestTree
+compileTestFolder _ | unitTestsDisabled = return $ testGroup "compile (disabled)" []
 compileTestFolder path = do
   files <- sort <$> getDirectoryContents path
   return $ testGroup "compile"
@@ -87,6 +101,7 @@
     ghcOpts = ["-fno-code", "-O0", "-Werror", "-Wall"]
 
 compileVideoFolder :: FilePath -> IO TestTree
+compileVideoFolder _ | unitTestsDisabled = return $ testGroup "videos (disabled)" []
 compileVideoFolder path = do
   exist <- doesDirectoryExist path
   if exist
