diff --git a/.travis.yml b/.travis.yml
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,23 +1,43 @@
-language: haskell
-before_install:
-  # Uncomment whenever hackage is down.
-  # - mkdir -p ~/.cabal && cp travis/config ~/.cabal/config && cabal update
-  - cabal update
+env:
+ - GHCVER=7.0.1 CABALVER=1.16
+ - GHCVER=7.0.4 CABALVER=1.16
+ - GHCVER=7.2.2 CABALVER=1.16
+ - GHCVER=7.4.2 CABALVER=1.16
+ - GHCVER=7.6.3 CABALVER=1.16
+ - GHCVER=7.8.4 CABALVER=1.18
+ - GHCVER=7.10.1 CABALVER=1.22
+ - GHCVER=head CABALVER=1.22
 
-  # Try installing some of the build-deps with apt-get for speed.
-  - travis/cabal-apt-install $mode
-  - cabal install packdeps packunused
+matrix:
+  allow_failures:
+   - env: GHCVER=7.0.1 CABALVER=1.16
+   - env: GHCVER=7.0.4 CABALVER=1.16
+   - env: GHCVER=7.2.2 CABALVER=1.16
+   - env: GHCVER=head CABALVER=1.22
 
+before_install:
+ - travis_retry sudo add-apt-repository -y ppa:hvr/ghc
+ - travis_retry sudo apt-get update
+ - travis_retry sudo apt-get install cabal-install-$CABALVER ghc-$GHCVER
+ - export PATH=/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$PATH
+ - cabal --version
+
 install:
-  - cabal configure -flib-Werror $mode
-  - cabal build --ghc-options=-ddump-minimal-imports
+ - travis_retry cabal update
+ - cabal install --enable-tests --only-dependencies
 
 script:
-  - $script
-  - hlint src --cpp-define HLINT
-  - packdeps comonad.cabal
-  - packunused --ignore-package=transformers-compat
-
+ - cabal configure -v2 --enable-tests
+ - cabal build
+ - cabal sdist
+ - export SRC_TGZ=$(cabal info . | awk '{print $2 ".tar.gz";exit}') ;
+   cd dist/;
+   if [ -f "$SRC_TGZ" ]; then
+      cabal install "$SRC_TGZ";
+   else
+      echo "expected '$SRC_TGZ' not found";
+      exit 1;
+   fi
 
 notifications:
   irc:
@@ -25,7 +45,4 @@
       - "irc.freenode.org#haskell-lens"
     skip_join: true
     template:
-      - "\x0313comonad\x03/\x0306%{branch}\x03 \x0314%{commit}\x03 %{build_url} %{message}"
-
-env:
-  - mode="--enable-tests" script="cabal test --show-details=always"
+      - "\x0313comonad\x0f/\x0306%{branch}\x0f \x0314%{commit}\x0f %{message} \x0302\x1f%{build_url}\x0f"
diff --git a/CHANGELOG.markdown b/CHANGELOG.markdown
--- a/CHANGELOG.markdown
+++ b/CHANGELOG.markdown
@@ -1,3 +1,7 @@
+4.2.7
+-----
+* `Trustworthy` fixes for GHC 7.2
+
 4.2.6
 -----
 * Re-export `(Data.Functor.$>)` rather than supply our own on GHC 7.8+
diff --git a/comonad.cabal b/comonad.cabal
--- a/comonad.cabal
+++ b/comonad.cabal
@@ -1,6 +1,6 @@
 name:          comonad
 category:      Control, Comonads
-version:       4.2.6
+version:       4.2.7
 license:       BSD3
 cabal-version: >= 1.10
 license-file:  LICENSE
@@ -14,6 +14,7 @@
 synopsis:      Comonads
 description:   Comonads
 build-type:    Custom
+tested-with:   GHC==7.0.1, GHC == 7.0.4, GHC == 7.2.2, GHC == 7.4.2, GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.1
 extra-source-files:
   .ghci
   .gitignore
@@ -128,6 +129,3 @@
       directory      >= 1.0,
       doctest        >= 0.9.10,
       filepath
-
-  if impl(ghc<7.6.1)
-    ghc-options: -Werror
diff --git a/src/Control/Comonad/Env.hs b/src/Control/Comonad/Env.hs
--- a/src/Control/Comonad/Env.hs
+++ b/src/Control/Comonad/Env.hs
@@ -1,6 +1,8 @@
 {-# LANGUAGE CPP #-}
-#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 702
+#if __GLASGOW_HASKELL__ >= 704
 {-# LANGUAGE Safe #-}
+#elif __GLASGOW_HASKELL__ >= 702
+{-# LANGUAGE Trustworthy #-}
 #endif
 -----------------------------------------------------------------------------
 -- |
diff --git a/src/Control/Comonad/Env/Class.hs b/src/Control/Comonad/Env/Class.hs
--- a/src/Control/Comonad/Env/Class.hs
+++ b/src/Control/Comonad/Env/Class.hs
@@ -3,8 +3,10 @@
 {-# LANGUAGE FlexibleInstances #-}
 {-# LANGUAGE UndecidableInstances #-}
 {-# LANGUAGE CPP #-}
-#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 702
+#if __GLASGOW_HASKELL__ >= 704
 {-# LANGUAGE Safe #-}
+#elif __GLASGOW_HASKELL__ >= 702
+{-# LANGUAGE Trustworthy #-}
 #endif
 -----------------------------------------------------------------------------
 -- |
diff --git a/src/Control/Comonad/Identity.hs b/src/Control/Comonad/Identity.hs
--- a/src/Control/Comonad/Identity.hs
+++ b/src/Control/Comonad/Identity.hs
@@ -1,6 +1,8 @@
 {-# LANGUAGE CPP #-}
-#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 702
+#if __GLASGOW_HASKELL__ >= 704
 {-# LANGUAGE Safe #-}
+#elif __GLASGOW_HASKELL__ >= 702
+{-# LANGUAGE Trustworthy #-}
 #endif
 -----------------------------------------------------------------------------
 -- |
diff --git a/src/Control/Comonad/Store.hs b/src/Control/Comonad/Store.hs
--- a/src/Control/Comonad/Store.hs
+++ b/src/Control/Comonad/Store.hs
@@ -1,6 +1,8 @@
 {-# LANGUAGE CPP #-}
-#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 702
+#if __GLASGOW_HASKELL__ >= 704
 {-# LANGUAGE Safe #-}
+#elif __GLASGOW_HASKELL__ >= 702
+{-# LANGUAGE Trustworthy #-}
 #endif
 -----------------------------------------------------------------------------
 -- |
diff --git a/src/Control/Comonad/Traced.hs b/src/Control/Comonad/Traced.hs
--- a/src/Control/Comonad/Traced.hs
+++ b/src/Control/Comonad/Traced.hs
@@ -1,6 +1,8 @@
 {-# LANGUAGE CPP #-}
-#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 702
+#if __GLASGOW_HASKELL__ >= 704
 {-# LANGUAGE Safe #-}
+#elif __GLASGOW_HASKELL__ >= 702
+{-# LANGUAGE Trustworthy #-}
 #endif
 -----------------------------------------------------------------------------
 -- |
diff --git a/src/Control/Comonad/Trans/Class.hs b/src/Control/Comonad/Trans/Class.hs
--- a/src/Control/Comonad/Trans/Class.hs
+++ b/src/Control/Comonad/Trans/Class.hs
@@ -1,11 +1,13 @@
 {-# LANGUAGE CPP #-}
-#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 702
+#if __GLASGOW_HASKELL__ >= 704
 {-# LANGUAGE Safe #-}
+#elif __GLASGOW_HASKELL__ >= 702
+{-# LANGUAGE Trustworthy #-}
 #endif
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  Control.Comonad.Trans.Class
--- Copyright   :  (C) 2008-2011 Edward Kmett
+-- Copyright   :  (C) 2008-2015 Edward Kmett
 -- License     :  BSD-style (see the file LICENSE)
 --
 -- Maintainer  :  Edward Kmett <ekmett@gmail.com>
diff --git a/src/Control/Comonad/Trans/Identity.hs b/src/Control/Comonad/Trans/Identity.hs
--- a/src/Control/Comonad/Trans/Identity.hs
+++ b/src/Control/Comonad/Trans/Identity.hs
@@ -1,3 +1,8 @@
+#if __GLASGOW_HASKELL__ >= 704
+{-# LANGUAGE Safe #-}
+#elif __GLASGOW_HASKELL__ >= 702
+{-# LANGUAGE Trustworthy #-}
+#endif
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  Control.Comonad.Trans.Identity
diff --git a/src/Data/Functor/Coproduct.hs b/src/Data/Functor/Coproduct.hs
--- a/src/Data/Functor/Coproduct.hs
+++ b/src/Data/Functor/Coproduct.hs
@@ -1,6 +1,8 @@
 {-# LANGUAGE CPP #-}
-#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 702
+#if __GLASGOW_HASKELL__ >= 704
 {-# LANGUAGE Safe #-}
+#elif __GLASGOW_HASKELL__ >= 702
+{-# LANGUAGE Trustworthy #-}
 #endif
 -----------------------------------------------------------------------------
 -- |
