diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,8 @@
-### 0.1.1
+### 0.2
+
+- Removed explicit GLSL pragmas because they’re now handled in luminance-0.2+.
+
+### 0.1.1
 
 - Added Common.hs in the `extra-source-files` field of the luminance-samples.cabal.
 - Added CHANGELOG.md.
diff --git a/luminance-samples.cabal b/luminance-samples.cabal
--- a/luminance-samples.cabal
+++ b/luminance-samples.cabal
@@ -1,5 +1,5 @@
 name:                luminance-samples
-version:             0.1.1
+version:             0.2
 synopsis:            Luminance samples
 description:         Luminance samples used as tutorial help
 homepage:            https://github.com/phaazon/luminance-samples
@@ -29,7 +29,7 @@
                      , FlexibleContexts
 
   build-depends:       base         >= 4.8 && < 4.9
-                     , luminance    >= 0.1 && < 0.2
+                     , luminance    >= 0.2 && < 0.3
                      , GLFW-b       >= 1.4 && < 1.5
                      , mtl          >= 2.2 && < 2.3
                      , resourcet    >= 1.1 && < 1.2
@@ -49,7 +49,7 @@
                      , ScopedTypeVariables
 
   build-depends:       base         >= 4.8 && < 4.9
-                     , luminance    >= 0.1 && < 0.2
+                     , luminance    >= 0.2 && < 0.3
                      , GLFW-b       >= 1.4 && < 1.5
                      , mtl          >= 2.2 && < 2.3
                      , resourcet    >= 1.1 && < 1.2
@@ -70,7 +70,7 @@
 
   build-depends:       base          >= 4.8 && < 4.9
                      , contravariant >= 1.3 && < 1.4
-                     , luminance     >= 0.1 && < 0.2
+                     , luminance     >= 0.2 && < 0.3
                      , GLFW-b        >= 1.4 && < 1.5
                      , mtl           >= 2.2 && < 2.3
                      , resourcet     >= 1.1 && < 1.2
@@ -91,7 +91,7 @@
 
   build-depends:       base          >= 4.8 && < 4.9
                      , contravariant >= 1.3 && < 1.4
-                     , luminance     >= 0.1 && < 0.2
+                     , luminance     >= 0.2 && < 0.3
                      , GLFW-b        >= 1.4 && < 1.5
                      , mtl           >= 2.2 && < 2.3
                      , resourcet     >= 1.1 && < 1.2
@@ -113,7 +113,7 @@
   build-depends:       base          >= 4.8  && < 4.9
                      , contravariant >= 1.3  && < 1.4
                      , JuicyPixels   >= 3.2  && < 3.4
-                     , luminance     >= 0.1  && < 0.2
+                     , luminance     >= 0.2  && < 0.3
                      , GLFW-b        >= 1.4  && < 1.5
                      , mtl           >= 2.2  && < 2.3
                      , resourcet     >= 1.1  && < 1.2
@@ -135,7 +135,7 @@
 
   build-depends:       base          >= 4.8  && < 4.9
                      , contravariant >= 1.3  && < 1.4
-                     , luminance     >= 0.1  && < 0.2
+                     , luminance     >= 0.2  && < 0.3
                      , GLFW-b        >= 1.4  && < 1.5
                      , mtl           >= 2.2  && < 2.3
                      , resourcet     >= 1.1  && < 1.2
diff --git a/src/Blending.hs b/src/Blending.hs
--- a/src/Blending.hs
+++ b/src/Blending.hs
@@ -57,9 +57,7 @@
 vsSource :: String
 vsSource = unlines
   [
-    "#version 450 core"
-  
-  , "in vec2 co;"
+    "in vec2 co;"
 
   , "uniform vec2 offset;"
 
@@ -71,9 +69,7 @@
 fsSource :: String
 fsSource = unlines
   [
-    "#version 450 core"
-
-  , "out vec4 frag;"
+    "out vec4 frag;"
 
   , "uniform vec3 color;"
 
diff --git a/src/Blit.hs b/src/Blit.hs
--- a/src/Blit.hs
+++ b/src/Blit.hs
@@ -38,9 +38,7 @@
 vsSource :: String
 vsSource = unlines
   [
-    "#version 450 core"
-  
-  , "in vec2 co;"
+    "in vec2 co;"
 
   , "void main() {"
   , "  gl_Position = vec4(co, 0., 1.);"
@@ -50,9 +48,7 @@
 fsSource :: String
 fsSource = unlines
   [
-    "#version 450 core"
-
-  , "out vec4 frag;"
+    "out vec4 frag;"
 
   , "void main() {"
   , "  frag = vec4(1., 0., 0., 1.);"
diff --git a/src/Common.hs b/src/Common.hs
--- a/src/Common.hs
+++ b/src/Common.hs
@@ -14,7 +14,7 @@
 
 type App = ExceptT AppError (ResourceT IO)
 
-data AppError = AppError String deriving (Eq,Show)
+newtype AppError = AppError String deriving (Eq,Show)
 
 instance HasFramebufferError AppError where
   fromFramebufferError (IncompleteFramebuffer s) = AppError s
diff --git a/src/DepthTest.hs b/src/DepthTest.hs
--- a/src/DepthTest.hs
+++ b/src/DepthTest.hs
@@ -53,9 +53,7 @@
 vsSource :: String
 vsSource = unlines
   [
-    "#version 450 core"
-  
-  , "in vec2 co;"
+    "in vec2 co;"
 
   , "uniform vec2 offset;"
 
@@ -67,9 +65,7 @@
 fsSource :: String
 fsSource = unlines
   [
-    "#version 450 core"
-
-  , "out vec4 frag;"
+    "out vec4 frag;"
 
   , "uniform vec3 color;"
 
diff --git a/src/HelloWorld.hs b/src/HelloWorld.hs
--- a/src/HelloWorld.hs
+++ b/src/HelloWorld.hs
@@ -14,9 +14,7 @@
 main :: IO ()
 main = startup $ \window -> do
   triangle <- createGeometry vertices Nothing Triangle
-  vs <- createVertexShader vsSource
-  fs <- createFragmentShader fsSource
-  program <- createProgram_ [vs,fs]
+  program <- sequenceA [createVertexShader vsSource,createFragmentShader fsSource] >>= createProgram_
   untilM (liftIO $ windowShouldClose window) $ do
     void . runCmd . draw $ framebufferBatch defaultFramebuffer [anySPBatch . shaderProgramBatch program mempty () $ [stdRenderCmd mempty () triangle]]
     endFrame window
@@ -32,9 +30,7 @@
 vsSource :: String
 vsSource = unlines
   [
-    "#version 450 core"
-  
-  , "in vec2 co;"
+    "in vec2 co;"
   , "out vec4 vertexColor;"
 
   , "vec4 color[3] = vec4[]("
@@ -52,11 +48,8 @@
 fsSource :: String
 fsSource = unlines
   [
-    "#version 450 core"
-
-  , "in vec4 vertexColor;"
+    "in vec4 vertexColor;"
   , "out vec4 frag;"
-
 
   , "void main() {"
   , "  frag = vertexColor;"
diff --git a/src/HelloWorldUniform.hs b/src/HelloWorldUniform.hs
--- a/src/HelloWorldUniform.hs
+++ b/src/HelloWorldUniform.hs
@@ -36,9 +36,7 @@
 vsSource :: String
 vsSource = unlines
   [
-    "#version 450 core"
-  
-  , "in vec2 co;"
+    "in vec2 co;"
   , "out vec4 vertexColor;"
 
   , "uniform vec3[] colors;"
@@ -58,9 +56,7 @@
 fsSource :: String
 fsSource = unlines
   [
-    "#version 450 core"
-
-  , "in vec4 vertexColor;"
+    "in vec4 vertexColor;"
   , "out vec4 frag;"
 
 
diff --git a/src/Texture.hs b/src/Texture.hs
--- a/src/Texture.hs
+++ b/src/Texture.hs
@@ -50,9 +50,7 @@
 vsSource :: String
 vsSource = unlines
   [
-    "#version 450 core"
-  
-  , "in vec2 co;"
+    "in vec2 co;"
 
   , "void main() {"
   , "  gl_Position = vec4(co, 0., 1.);"
@@ -62,10 +60,7 @@
 fsSource :: String
 fsSource = unlines
   [
-    "#version 450 core"
-  , "#extension GL_ARB_bindless_texture : require"
-
-  , "out vec4 frag;"
+    "out vec4 frag;"
 
   , "layout (bindless_sampler) uniform usampler2D srcTex;"
 
