diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -2,6 +2,16 @@
 
 ## WIP
 
+## [0.5.10.6] - 2023-10-21
+
+## [0.5.10.5] - 2023-10-17
+
+## [0.5.10.4] - 2023-10-17
+- Relax bounds on `vulkan`
+
+## [0.5.10.3] - 2023-10-17
+- Relax bounds on `vulkan`
+
 ## [0.5.10.2] - 2022-12-27
 
 ## [0.5.10.1] - 2022-10-02
diff --git a/package.yaml b/package.yaml
--- a/package.yaml
+++ b/package.yaml
@@ -1,5 +1,5 @@
 name: vulkan-utils
-version: "0.5.10.2"
+version: "0.5.10.6"
 synopsis: Utils for the vulkan package
 category: Graphics
 maintainer: Ellie Hermaszewska <live.long.and.prosper@monoid.al>
@@ -39,7 +39,7 @@
   - typed-process
   - unordered-containers
   - vector
-  - vulkan >= 3.6.14 && < 3.25
+  - vulkan >= 3.6.14 && < 3.27
 
 tests:
   doctests:
@@ -54,8 +54,8 @@
 
 custom-setup:
   dependencies:
-  - base
-  - Cabal
+  - base < 5
+  - Cabal >= 3 && < 4
   - cabal-doctest >= 1 && <1.1
 
 ghc-options:
diff --git a/src/Vulkan/Utils/ShaderQQ/GLSL.hs b/src/Vulkan/Utils/ShaderQQ/GLSL.hs
--- a/src/Vulkan/Utils/ShaderQQ/GLSL.hs
+++ b/src/Vulkan/Utils/ShaderQQ/GLSL.hs
@@ -25,7 +25,7 @@
 -- An explicit example (@<interactive>@ is from doctest):
 --
 -- >>> let version = 450 :: Int in [glsl|#version $version|]
--- "#version 450\n#extension GL_GOOGLE_cpp_style_line_directive : enable\n#line 72 \"<interactive>\"\n"
+-- "#version 450\n#extension GL_GOOGLE_cpp_style_line_directive : enable\n#line ... \"<interactive>\"\n"
 --
 -- Note that line number will be thrown off if any of the interpolated
 -- variables contain newlines.
diff --git a/src/Vulkan/Utils/ShaderQQ/GLSL/Glslang.hs b/src/Vulkan/Utils/ShaderQQ/GLSL/Glslang.hs
--- a/src/Vulkan/Utils/ShaderQQ/GLSL/Glslang.hs
+++ b/src/Vulkan/Utils/ShaderQQ/GLSL/Glslang.hs
@@ -55,7 +55,7 @@
 -- An explicit example (@<interactive>@ is from doctest):
 --
 -- >>> let version = 450 :: Int in [glsl|#version $version|]
--- "#version 450\n#extension GL_GOOGLE_cpp_style_line_directive : enable\n#line 32 \"<interactive>\"\n"
+-- "#version 450\n#extension GL_GOOGLE_cpp_style_line_directive : enable\n#line ... \"<interactive>\"\n"
 --
 -- Note that line number will be thrown off if any of the interpolated
 -- variables contain newlines.
diff --git a/src/Vulkan/Utils/ShaderQQ/GLSL/Shaderc.hs b/src/Vulkan/Utils/ShaderQQ/GLSL/Shaderc.hs
--- a/src/Vulkan/Utils/ShaderQQ/GLSL/Shaderc.hs
+++ b/src/Vulkan/Utils/ShaderQQ/GLSL/Shaderc.hs
@@ -55,7 +55,7 @@
 -- An explicit example (@<interactive>@ is from doctest):
 --
 -- >>> let version = 450 :: Int in [glsl|#version $version|]
--- "#version 450\n#extension GL_GOOGLE_cpp_style_line_directive : enable\n#line 52 \"<interactive>\"\n"
+-- "#version 450\n#extension GL_GOOGLE_cpp_style_line_directive : enable\n#line ... \"<interactive>\"\n"
 --
 -- Note that line number will be thrown off if any of the interpolated
 -- variables contain newlines.
diff --git a/src/Vulkan/Utils/ShaderQQ/HLSL.hs b/src/Vulkan/Utils/ShaderQQ/HLSL.hs
--- a/src/Vulkan/Utils/ShaderQQ/HLSL.hs
+++ b/src/Vulkan/Utils/ShaderQQ/HLSL.hs
@@ -20,7 +20,7 @@
 -- An explicit example (@<interactive>@ is from doctest):
 --
 -- >>> let foo = 450 :: Int in [hlsl|const float foo = $foo|]
--- "#line 77 \"<interactive>\"\nconst float foo = 450"
+-- "#line ... \"<interactive>\"\nconst float foo = 450"
 --
 -- Note that line number will be thrown off if any of the interpolated
 -- variables contain newlines.
diff --git a/src/Vulkan/Utils/ShaderQQ/HLSL/Glslang.hs b/src/Vulkan/Utils/ShaderQQ/HLSL/Glslang.hs
--- a/src/Vulkan/Utils/ShaderQQ/HLSL/Glslang.hs
+++ b/src/Vulkan/Utils/ShaderQQ/HLSL/Glslang.hs
@@ -52,7 +52,7 @@
 -- An explicit example (@<interactive>@ is from doctest):
 --
 -- >>> let foo = 450 :: Int in [hlsl|const float foo = $foo|]
--- "#line 37 \"<interactive>\"\nconst float foo = 450"
+-- "#line ... \"<interactive>\"\nconst float foo = 450"
 --
 -- Note that line number will be thrown off if any of the interpolated
 -- variables contain newlines.
diff --git a/src/Vulkan/Utils/ShaderQQ/HLSL/Shaderc.hs b/src/Vulkan/Utils/ShaderQQ/HLSL/Shaderc.hs
--- a/src/Vulkan/Utils/ShaderQQ/HLSL/Shaderc.hs
+++ b/src/Vulkan/Utils/ShaderQQ/HLSL/Shaderc.hs
@@ -52,7 +52,7 @@
 -- An explicit example (@<interactive>@ is from doctest):
 --
 -- >>> let foo = 450 :: Int in [hlsl|const float foo = $foo|]
--- "#line 57 \"<interactive>\"\nconst float foo = 450"
+-- "#line ... \"<interactive>\"\nconst float foo = 450"
 --
 -- Note that line number will be thrown off if any of the interpolated
 -- variables contain newlines.
diff --git a/vulkan-utils.cabal b/vulkan-utils.cabal
--- a/vulkan-utils.cabal
+++ b/vulkan-utils.cabal
@@ -1,11 +1,11 @@
 cabal-version: 1.24
 
--- This file has been generated from package.yaml by hpack version 0.34.7.
+-- This file has been generated from package.yaml by hpack version 0.34.5.
 --
 -- see: https://github.com/sol/hpack
 
 name:           vulkan-utils
-version:        0.5.10.2
+version:        0.5.10.6
 synopsis:       Utils for the vulkan package
 category:       Graphics
 homepage:       https://github.com/expipiplus1/vulkan#readme
@@ -26,8 +26,8 @@
 
 custom-setup
   setup-depends:
-      Cabal
-    , base
+      Cabal ==3.*
+    , base <5
     , cabal-doctest >=1 && <1.1
 
 library
@@ -113,7 +113,7 @@
     , typed-process
     , unordered-containers
     , vector
-    , vulkan >=3.6.14 && <3.25
+    , vulkan >=3.6.14 && <3.27
   default-language: Haskell2010
 
 test-suite doctests
