diff --git a/CHANGES.markdown b/CHANGES.markdown
--- a/CHANGES.markdown
+++ b/CHANGES.markdown
@@ -1,3 +1,29 @@
+1.4 (2016-10-26)
+----------------
+
+* Updates for diagrams 1.4:
+  - allow diagrams-lib-1.4
+  - allow diagrams-cairo-1.4
+
+1.3.0.2 (16 June 2016)
+----------------------
+
+- allow `base-4.9`
+- test on GHC 8.0.1
+
+1.3.0.1 (24 January 2016)
+-------------------------
+
+- allow gtk-0.14
+
+1.3 (19 April 2015)
+-------------------
+
+* Updates for diagrams 1.3:
+  - allow base-4.8
+  - require diagrams-lib-1.3
+  - require diagrams-cairo-1.3
+
 1.0.1.3 (8 Sept 2014)
 ---------------------
 
@@ -8,7 +34,7 @@
 
 * Require `diagrams-lib-1.2` and `diagrams-cairo-1.2`
 
-1.0.1.1: 2 Junw 2014
+1.0.1.1: 2 June 2014
 -------------------
 
 * Allow `diagrams-lib-1.2`
diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -1,7 +1,10 @@
-Copyright (c) 2012-2014 the diagrams-gtk team:
-   
-   Jonas Haag
-   John Lato
+Copyright (c) 2012-2015 the diagrams-gtk team:
+
+   Daniel Bergey <bergey@teallabs.org>
+   Jonas Haag <jonas@lophus.org>
+   John Lato <jwlato@gmail.com>
+   Jeffrey Rosenbluth <Jeffrey.Rosenbluth@gmail.com>
+   Brent Yorgey <byorgey@gmail.com>
 
 All rights reserved.
 
diff --git a/diagrams-gtk.cabal b/diagrams-gtk.cabal
--- a/diagrams-gtk.cabal
+++ b/diagrams-gtk.cabal
@@ -1,5 +1,5 @@
 name:                diagrams-gtk
-version:             1.0.1.3
+version:             1.4
 synopsis:            Backend for rendering diagrams directly to GTK windows
 description:         An optional add-on to the diagrams-cairo package
                      which allows rendering diagrams directly to GTK windows.
@@ -12,7 +12,7 @@
 category:            Graphics
 build-type:          Simple
 cabal-version:       >=1.10
-tested-with:         GHC == 7.4.2, GHC == 7.6.3, GHC == 7.8.2
+tested-with:         GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.2, GHC == 8.0.1
 extra-source-files:  CHANGES.markdown, README.markdown
 
 source-repository head
@@ -21,10 +21,10 @@
 
 library
   exposed-modules:     Diagrams.Backend.Gtk
-  build-depends:       base >= 4.2 && < 4.8,
-                       diagrams-lib >= 1.2 && < 1.3,
-                       diagrams-cairo >= 1.2 && < 1.3,
-                       gtk >= 0.12.0 && < 0.14,
+  build-depends:       base >= 4.2 && < 4.10,
+                       diagrams-lib >= 1.3 && < 1.5,
+                       diagrams-cairo >= 1.3 && < 1.5,
+                       gtk >= 0.12.0 && < 0.15,
                        cairo >= 0.12.4 && < 0.14
   hs-source-dirs:      src
   default-language:    Haskell2010
diff --git a/src/Diagrams/Backend/Gtk.hs b/src/Diagrams/Backend/Gtk.hs
--- a/src/Diagrams/Backend/Gtk.hs
+++ b/src/Diagrams/Backend/Gtk.hs
@@ -37,26 +37,26 @@
 -- > widget `on` buttonPressEvent $ tryEvent $ do
 -- >   click <- eventClick
 -- >   (x,y) <- eventCoordinates
--- >   let result = runQuery (query $ toGtkCoords myDiagram) (P (x,y))
+-- >   let result = runQuery (query $ toGtkCoords myDiagram) (x ^& y)
 -- >   do_something_with result
 --
 -- `toGtkCoords` does no rescaling of the diagram, however it is centered in
 -- the window.
-toGtkCoords :: Monoid' m => QDiagram Cairo R2 m -> QDiagram Cairo R2 m
+toGtkCoords :: Monoid' m => QDiagram Cairo V2 Double m -> QDiagram Cairo V2 Double m
 toGtkCoords d = (\(_,_,d') -> d') $
   adjustDia Cairo
-            (CairoOptions "" Absolute RenderOnly False)
+            (CairoOptions "" absolute RenderOnly False)
             d
 
 -- | Render a diagram to a DrawingArea with double buffering,
 --   rescaling to fit the full area.
-defaultRender :: Monoid' m => DrawingArea -> QDiagram Cairo R2 m -> IO ()
+defaultRender :: Monoid' m => DrawingArea -> QDiagram Cairo V2 Double m -> IO ()
 defaultRender drawingarea diagram = do
   drawWindow <- (widgetGetDrawWindow drawingarea)
   renderDoubleBuffered drawWindow opts diagram
     where opts w h = (CairoOptions
               { _cairoFileName     = ""
-              , _cairoSizeSpec     = Dims (fromIntegral w) (fromIntegral h)
+              , _cairoSizeSpec     = dims (V2 (fromIntegral w) (fromIntegral h))
               , _cairoOutputType   = RenderOnly
               , _cairoBypassAdjust = False
               }
@@ -70,12 +70,12 @@
 renderToGtk ::
   (DrawableClass dc, Monoid' m)
   => dc                     -- ^ widget to render onto
-  -> QDiagram Cairo R2 m  -- ^ Diagram
+  -> QDiagram Cairo V2 Double m  -- ^ Diagram
   -> IO ()
 renderToGtk drawable = do renderDoubleBuffered drawable opts
   where opts _ _ = (CairoOptions
                     { _cairoFileName     = ""
-                    , _cairoSizeSpec     = Absolute
+                    , _cairoSizeSpec     = absolute
                     , _cairoOutputType   = RenderOnly
                     , _cairoBypassAdjust = True
                     }
@@ -88,8 +88,8 @@
 renderDoubleBuffered ::
   (Monoid' m, DrawableClass dc) =>
   dc -- ^ drawable to render onto
-  -> (Int -> Int -> Options Cairo R2) -- ^ options, depending on drawable width and height
-  -> QDiagram Cairo R2 m -- ^ Diagram
+  -> (Int -> Int -> Options Cairo V2 Double) -- ^ options, depending on drawable width and height
+  -> QDiagram Cairo V2 Double m -- ^ Diagram
   -> IO ()
 renderDoubleBuffered drawable renderOpts diagram = do
   (w,h) <- drawableGetSize drawable
