diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -5,6 +5,11 @@
 ## Unreleased changes
 
 
+## Version 0.8.0.0
+
+-   Adapt to breaking changes in upstream libraries (`data-default`).
+
+
 ## Version 0.7.2.0
 
 -   `slynx`: Allow global normalization of mixture models.
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
 
 # The ELynx Suite
 
-Version: 0.7.2.1.
+Version: 0.8.0.0.
 Reproducible evolution made easy.
 
 <p align="center"><img src="https://travis-ci.org/dschrempf/elynx.svg?branch=master"/></p>
@@ -73,9 +73,9 @@
     # OR: stack exec slynx -- --help
     # OR: slynx --help
 
-    ELynx Suite version 0.7.2.1.
+    ELynx Suite version 0.8.0.0.
     Developed by Dominik Schrempf.
-    Compiled on June 15, 2023, at 19:54 pm, UTC.
+    Compiled on October 27, 2024, at 07:14 am, UTC.
     
     Usage: slynx [-v|--verbosity VALUE] [-o|--output-file-basename NAME]
                  [-f|--force] [--no-elynx-file] COMMAND
@@ -143,9 +143,9 @@
     # OR: stack exec slynx -- simulate --help
     # OR: slynx simulate --help
 
-    ELynx Suite version 0.7.2.1.
+    ELynx Suite version 0.8.0.0.
     Developed by Dominik Schrempf.
-    Compiled on June 15, 2023, at 19:54 pm, UTC.
+    Compiled on October 27, 2024, at 07:14 am, UTC.
     
     Usage: slynx simulate (-t|--tree-file Name) [-s|--substitution-model MODEL]
                           [-m|--mixture-model MODEL] [-n|--global-normalization]
diff --git a/src/TLynx/Connect/Connect.hs b/src/TLynx/Connect/Connect.hs
--- a/src/TLynx/Connect/Connect.hs
+++ b/src/TLynx/Connect/Connect.hs
@@ -19,7 +19,7 @@
 import Control.Monad.IO.Class
 import Control.Monad.Trans.Reader (ask)
 import qualified Data.ByteString.Lazy.Char8 as BL
-import Data.Default.Class
+import Data.Default
 import qualified Data.Set as S
 import ELynx.Tools.ELynx
 import ELynx.Tools.Environment
diff --git a/src/TLynx/Distance/Distance.hs b/src/TLynx/Distance/Distance.hs
--- a/src/TLynx/Distance/Distance.hs
+++ b/src/TLynx/Distance/Distance.hs
@@ -43,7 +43,7 @@
 import TLynx.Parsers
 import Text.Printf
 
-median :: Ord a => [a] -> a
+median :: (Ord a) => [a] -> a
 median xs = sort xs !! l2 where l2 = length xs `div` 2
 
 pf :: String
diff --git a/src/TLynx/Examine/Examine.hs b/src/TLynx/Examine/Examine.hs
--- a/src/TLynx/Examine/Examine.hs
+++ b/src/TLynx/Examine/Examine.hs
@@ -46,7 +46,7 @@
     v = BL.pack val
 
 -- | Examine branches of a tree.
-summarizeLengths :: HasLength e => Tree e a -> BL.ByteString
+summarizeLengths :: (HasLength e) => Tree e a -> BL.ByteString
 summarizeLengths t =
   BL.intercalate
     "\n"
@@ -73,7 +73,7 @@
     g Nothing = Just 1
     g (Just x) = Just $ x + 1
 
-examineTree :: HasName a => Handle -> Tree Phylo a -> IO ()
+examineTree :: (HasName a) => Handle -> Tree Phylo a -> IO ()
 examineTree h t = do
   hPutStrLn h $ "Number of leaves: " ++ show (length lvs)
   hPutStrLn h $ "Degree of root node: " ++ show (degree t)
diff --git a/src/TLynx/Grabble.hs b/src/TLynx/Grabble.hs
--- a/src/TLynx/Grabble.hs
+++ b/src/TLynx/Grabble.hs
@@ -23,7 +23,7 @@
 
 -- | @grabble xs m n@ is /O(m*n')/, where @n' = min n (length xs)@. Choose @n'@
 -- elements from @xs@, without replacement, and that @m@ times.
-grabble :: StatefulGen g m => [a] -> Int -> Int -> g -> m [[a]]
+grabble :: (StatefulGen g m) => [a] -> Int -> Int -> g -> m [[a]]
 grabble xs m n gen = do
   swapss <- replicateM m $
     forM [0 .. min (l - 1) n] $ \i -> do
diff --git a/src/TLynx/Shuffle/Shuffle.hs b/src/TLynx/Shuffle/Shuffle.hs
--- a/src/TLynx/Shuffle/Shuffle.hs
+++ b/src/TLynx/Shuffle/Shuffle.hs
@@ -76,7 +76,7 @@
   liftIO $ hClose h
 
 shuffleT ::
-  StatefulGen g m =>
+  (StatefulGen g m) =>
   Int -> -- How many?
   Length -> -- Stem length.
   [Length] -> -- Coalescent times.
diff --git a/src/TLynx/Simulate/Simulate.hs b/src/TLynx/Simulate/Simulate.hs
--- a/src/TLynx/Simulate/Simulate.hs
+++ b/src/TLynx/Simulate/Simulate.hs
@@ -101,7 +101,7 @@
   out "simulated trees" res ".tree"
 
 bdSimulateNTreesConcurrently ::
-  RandomGen g =>
+  (RandomGen g) =>
   Int ->
   Double ->
   Double ->
@@ -120,7 +120,7 @@
   return $ concat trss
 
 coalSimulateNTreesConcurrently ::
-  RandomGen g =>
+  (RandomGen g) =>
   Int ->
   [Int] ->
   [IOGenM g] ->
@@ -133,7 +133,7 @@
   return $ concat trss
 
 bdSimulateAndSubSampleNTreesConcurrently ::
-  RandomGen g =>
+  (RandomGen g) =>
   Int ->
   Double ->
   Double ->
@@ -170,7 +170,7 @@
   return $ map prune trs
 
 coalSimulateAndSubSampleNTreesConcurrently ::
-  RandomGen g =>
+  (RandomGen g) =>
   Int ->
   Double ->
   [Int] ->
@@ -245,7 +245,7 @@
   BB.intDec n <> BB.char8 ' ' <> BB.doubleDec (fromLength l) <> BB.char8 '\n'
 
 -- Compute NChilSumStat for a phylogenetic tree.
-toNChildSumStat :: HasLength e => Tree e a -> NChildSumStat
+toNChildSumStat :: (HasLength e) => Tree e a -> NChildSumStat
 toNChildSumStat (Node br _ []) = [(getLength br, 1)]
 toNChildSumStat (Node br _ ts) = (getLength br, sumCh) : concat nChSS
   where
diff --git a/tlynx.cabal b/tlynx.cabal
--- a/tlynx.cabal
+++ b/tlynx.cabal
@@ -1,6 +1,6 @@
 cabal-version:      3.0
 name:               tlynx
-version:            0.7.2.2
+version:            0.8.0.0
 synopsis:           Handle phylogenetic trees
 description:
   Examine, compare, and simulate phylogenetic trees in a reproducible way. Please see the README on GitHub at <https://github.com/dschrempf/elynx>.
@@ -53,7 +53,7 @@
     , bytestring
     , comonad
     , containers
-    , data-default-class
+    , data-default
     , elynx-tools
     , elynx-tree
     , gnuplot
