diff --git a/grav2ty.cabal b/grav2ty.cabal
index b244861..f86c0a7 100644
--- a/grav2ty.cabal
+++ b/grav2ty.cabal
@@ -26,13 +26,13 @@ library grav2ty-lib
, Grav2ty.Util.RelGraph
, Grav2ty.Util.Serialization
-- other-extensions:
- build-depends: base ^>=4.12.0.0
+ build-depends: base >=4.12 && <5
, containers ^>=0.6.0.1
- , linear ^>=1.20.8
- , lens ^>= 4.17.1
+ , linear >=1.20 && <1.22
+ , lens >= 4.17 && <4.20
, transformers^>=0.5.6.2
, bytestring ^>=0.10.8.2
- , flat^>=0.3.4
+ , flat >=0.3 && <0.5
, attoparsec^>=0.13.2.3
hs-source-dirs: lib
default-language: Haskell2010
@@ -41,11 +41,11 @@ executable grav2ty
main-is: Main.hs
-- other-modules:
-- other-extensions:
- build-depends: base ^>=4.12.0.0
+ build-depends: base >=4.12 && <5
, containers ^>=0.6.0.1
, gloss ^>=1.13.0.1
- , linear ^>=1.20.8
- , lens ^>= 4.17.1
+ , linear >=1.20 && <1.22
+ , lens >= 4.17 && <4.20
, transformers^>=0.5.6.2
, grav2ty-lib
hs-source-dirs: src
@@ -54,7 +54,7 @@ executable grav2ty
test-suite lib-test
type: exitcode-stdio-1.0
main-is: test/Main.hs
- build-depends: base ^>=4.12.0.0
+ build-depends: base >=4.12 && <5
, tasty ^>=1.2
, tasty-quickcheck ^>=0.10
, grav2ty-lib
diff --git a/lib/Grav2ty/Protocol.hs b/lib/Grav2ty/Protocol.hs
index 72fbdd1..2183b67 100644
--- a/lib/Grav2ty/Protocol.hs
+++ b/lib/Grav2ty/Protocol.hs
@@ -12,8 +12,7 @@ import Data.Bits
import Data.ByteString (ByteString (..))
import qualified Data.ByteString as BS
import Data.Char
-import Data.Flat
-import Data.Flat.Instances
+import Flat
import Data.Int
import Data.Maybe (fromJust, isNothing)
import Data.Word
diff --git a/lib/Grav2ty/Util/Serialization.hs b/lib/Grav2ty/Util/Serialization.hs
index 42be957..ec8459b 100644
--- a/lib/Grav2ty/Util/Serialization.hs
+++ b/lib/Grav2ty/Util/Serialization.hs
@@ -3,7 +3,7 @@
{-# LANGUAGE DeriveAnyClass #-}
module Grav2ty.Util.Serialization where
-import Data.Flat
+import Flat
import GHC.Generics
import Grav2ty.Core (Hitbox (..), Object (..), Modifier (..), Modification (..))
import Linear.V2 (V2 (..))
|