diff --git a/fits-parse.cabal b/fits-parse.cabal
--- a/fits-parse.cabal
+++ b/fits-parse.cabal
@@ -1,6 +1,6 @@
 cabal-version:      1.12
 name:               fits-parse
-version:            0.3.5
+version:            0.3.6
 license:            BSD2
 license-file:       LICENSE
 copyright:          Copyright (c) 2023 Zac Slade
@@ -46,14 +46,14 @@
     default-language: Haskell2010
     build-depends:
         base >=4.7 && <5,
-        binary <0.9,
-        bytestring <0.12,
-        containers <0.7,
-        megaparsec <9.5,
-        microlens <0.5,
-        microlens-th <0.5,
-        text <2.1,
-        text-latin1 <0.4
+        binary,
+        bytestring,
+        containers,
+        megaparsec,
+        microlens,
+        microlens-th,
+        text,
+        text-latin1
 
 executable omnibus
     main-is:          Main.hs
@@ -61,16 +61,16 @@
     other-modules:    Paths_fits_parse
     default-language: Haskell2010
     build-depends:
-        JuicyPixels <3.4,
+        JuicyPixels,
         base >=4.7 && <5,
-        bytestring <0.12,
-        fast-logger <3.3,
+        bytestring,
+        fast-logger,
         fits-parse,
-        microlens <0.5,
-        microlens-th <0.5,
-        optparse-applicative <0.19,
-        statistics <0.17,
-        vector <0.14
+        microlens,
+        microlens-th,
+        optparse-applicative,
+        statistics,
+        vector
 
     if flag(examples)
 
@@ -82,13 +82,13 @@
     default-language: Haskell2010
     build-depends:
         base >=4.7 && <5,
-        bytestring <0.12,
-        containers <0.7,
+        bytestring,
+        containers,
         fits-parse,
-        megaparsec <9.5,
-        microlens <0.5,
-        microlens-th <0.5,
-        mtl <2.4,
-        tasty <1.5,
-        tasty-hunit <0.11,
-        text <2.1
+        megaparsec,
+        microlens,
+        microlens-th,
+        mtl,
+        tasty,
+        tasty-hunit,
+        text
diff --git a/package.yaml b/package.yaml
--- a/package.yaml
+++ b/package.yaml
@@ -1,5 +1,5 @@
 name:                fits-parse
-version:             0.3.5
+version:             0.3.6
 synopsis:            Parse FITS files
 description:         Parse and manipulate FITS data natively in Haskell
 homepage:            https://github.com/krakrjak/fits-parse#readme
diff --git a/stack.yaml b/stack.yaml
--- a/stack.yaml
+++ b/stack.yaml
@@ -1,4 +1,4 @@
-resolver: lts-21.6
+resolver: lts-21.16
 pvp-bounds: both
 
 ### Uncomment the next three lines to build the examples
diff --git a/stack.yaml.lock b/stack.yaml.lock
--- a/stack.yaml.lock
+++ b/stack.yaml.lock
@@ -6,7 +6,7 @@
 packages: []
 snapshots:
 - completed:
-    sha256: 2e7d4a730d8eb5373b2d383fac84efcf7c81e3b7a5fce71b4c2e19a1768f25a6
-    size: 640239
-    url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/21/6.yaml
-  original: lts-21.6
+    sha256: 1d663bec402f77fa09fa3e8cf288c3c7eb18a1f28a5e0c331ac47adeacd21346
+    size: 640034
+    url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/21/16.yaml
+  original: lts-21.16
