diff --git a/IHaskell/Display/Diagrams.hs b/IHaskell/Display/Diagrams.hs
--- a/IHaskell/Display/Diagrams.hs
+++ b/IHaskell/Display/Diagrams.hs
@@ -20,9 +20,7 @@
 
 diagramData :: Diagram Cairo R2 -> OutputType -> IO DisplayData
 diagramData renderable format = do
-  -- Switch to a temporary directory so that any files we create aren't
-  -- visible. On Unix, this is usually /tmp.
-  try (getTemporaryDirectory >>= setCurrentDirectory) :: IO (Either SomeException ())
+  switchToTmpDir
 
   -- Compute width and height.
   let w = width renderable
diff --git a/ihaskell-diagrams.cabal b/ihaskell-diagrams.cabal
--- a/ihaskell-diagrams.cabal
+++ b/ihaskell-diagrams.cabal
@@ -7,7 +7,7 @@
 -- PVP summary:      +-+------- breaking API changes
 --                   | | +----- non-breaking API additions
 --                   | | | +--- code changes with no API change
-version:             0.1.0.0
+version:             0.2.0.0
 
 -- A short (one-line) description of the package.
 synopsis:            IHaskell display instances for diagram types
@@ -58,14 +58,15 @@
               OverloadedStrings
              
   -- Other library packages from which modules are imported.
-  build-depends:       base ==4.6.*,
+  build-depends:       base ==4.6.* || ==4.7.*,
                        classy-prelude >=0.6,
                        bytestring,
                        directory,
-                       diagrams,
-                       diagrams-lib, 
+                       -- Use diagrams wrapper package to ensure all same versions of subpackages
+                       diagrams==1.2.*,
+                       diagrams-lib,
                        diagrams-cairo,
-                       ihaskell >= 0.3
+                       ihaskell >= 0.5
   
   -- Directories containing source files.
   -- hs-source-dirs:      
