diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,8 @@
+### 0.9.1.2
+
+- Support for `contravariant-1.4`.
+- Support for GL_ARB_separate_shader_objects for `gl33` backend (shader pragma).
+
 ### 0.9.1.1
 
 - Several minor changes (clean up mostly).
diff --git a/luminance.cabal b/luminance.cabal
--- a/luminance.cabal
+++ b/luminance.cabal
@@ -1,5 +1,5 @@
 name:                luminance
-version:             0.9.1.1
+version:             0.9.1.2
 synopsis:            Type-safe, type-level and stateless graphics framework
 description:         This package exposes several modules to work with /GPUs/ in a stateless and
                      type-safe way. Currently, it uses OpenGL as backend hardware technology but
@@ -117,7 +117,7 @@
 
   build-depends:       base           >= 4.8  && < 4.9
                      , containers     >= 0.5  && < 0.6
-                     , contravariant  >= 1.3  && < 1.4
+                     , contravariant  >= 1.3  && < 1.5
                      , dlist          >= 0.7  && < 0.8
                      , gl             >= 0.7  && < 0.8
                      , linear         >= 1.19 && < 1.21
diff --git a/src/Graphics/Luminance/Core/Shader/Stage.hs b/src/Graphics/Luminance/Core/Shader/Stage.hs
--- a/src/Graphics/Luminance/Core/Shader/Stage.hs
+++ b/src/Graphics/Luminance/Core/Shader/Stage.hs
@@ -103,17 +103,20 @@
       (peekCString . castPtr)
 
 prependGLSLPragma :: String -> String
-prependGLSLPragma src =
+prependGLSLPragma src = unlines
+  [
 #if defined(__GL45)
-     "#version 450 core\n"
+    "#version 450 core"
 #elif defined(__GL33)
-     "#version 330 core\n"
+    "#version 330 core"
+  , "#extension GL_ARB_separate_shader_objects : require"
 #endif
 #if defined(__GL_BINDLESS_TEXTURES)
-  ++ "#extension GL_ARB_bindless_texture : require\n"
-  ++ "layout (bindless_sampler) uniform;"
+  , "#extension GL_ARB_bindless_texture : require"
+  , "layout (bindless_sampler) uniform;"
 #endif
-  ++ src
+  , src
+  ]
 
 --------------------------------------------------------------------------------
 -- Shader stage errors ---------------------------------------------------------
