diff --git a/Changelog b/Changelog
--- a/Changelog
+++ b/Changelog
@@ -1,6 +1,14 @@
+1.3.0.4
+
+	* Support GHC-8.0.1.
+	* Support vector-0.11.
+        * Add Travis-CI integration.
+
+
 1.3.0.3
 
-	* Fix incorrect direction in controlRead
+	* Fix incorrect direction in controlRead.
+
 
 1.3.0.2
 
diff --git a/README.markdown b/README.markdown
--- a/README.markdown
+++ b/README.markdown
@@ -1,3 +1,6 @@
+[![Hackage](https://img.shields.io/hackage/v/usb.svg)](https://hackage.haskell.org/package/usb)
+[![Build Status](https://travis-ci.org/basvandijk/usb.svg)](https://travis-ci.org/basvandijk/usb)
+
 This library enables you to communicate with USB devices from
 userspace. It is implemented as a high-level wrapper around
 [bindings-libusb] which is a low-level binding to the C library:
diff --git a/System/USB/Base.hs b/System/USB/Base.hs
--- a/System/USB/Base.hs
+++ b/System/USB/Base.hs
@@ -129,7 +129,7 @@
   )
 import System.IO                 ( hPutStrLn, stderr )
 
-#if MIN_VERSION_base(4,8,0)
+#if MIN_VERSION_base(4,8,0) && !MIN_VERSION_base(4,8,1)
 import Unsafe.Coerce             ( unsafeCoerce )
 #endif
 
diff --git a/shell.nix b/shell.nix
--- a/shell.nix
+++ b/shell.nix
@@ -1,20 +1,15 @@
+{ nixpkgs ? import <nixpkgs> {}, compiler ? "default" }:
+
 let
-  pkgs = import <nixpkgs> {};
-  haskellPackages = pkgs.haskellPackages.override {
-    extension = self: super: {
-      usb = self.callPackage ./usb.nix {};
-      bindingsLibusb = self.callPackage ../bindings-libusb {};
-    };
-  };
 
-in pkgs.myEnvFun {
-     name = haskellPackages.usb.name;
-     buildInputs = [
-       pkgs.pkgconfig
-       pkgs.libusb1
-       (haskellPackages.ghcWithPackages (hs: ([
-         hs.cabalInstall
-         hs.hscolour
-       ] ++ hs.usb.propagatedNativeBuildInputs)))
-     ];
-   }
+  inherit (nixpkgs) pkgs;
+
+  haskellPackages = if compiler == "default"
+                       then pkgs.haskellPackages
+                       else pkgs.haskell.packages.${compiler};
+
+  drv = haskellPackages.callPackage (import ./usb.nix) {};
+
+in
+
+  if pkgs.lib.inNixShell then drv.env else drv
diff --git a/usb.cabal b/usb.cabal
--- a/usb.cabal
+++ b/usb.cabal
@@ -1,5 +1,5 @@
 name:          usb
-version:       1.3.0.3
+version:       1.3.0.4
 cabal-version: >=1.6
 build-type:    Custom
 license:       BSD3
@@ -60,11 +60,11 @@
 Library
   GHC-Options: -Wall
 
-  build-depends: base                 >= 4     && < 4.9
+  build-depends: base                 >= 4     && < 4.10
                , bindings-libusb      >= 1.4.5 && < 1.5
                , bytestring           >= 0.9   && < 0.11
                , text                 >= 0.5   && < 1.3
-               , vector               >= 0.5   && < 0.11
+               , vector               >= 0.5   && < 0.12
 
   exposed-modules: System.USB
                    System.USB.Initialization
@@ -85,4 +85,4 @@
 
   if impl(ghc >= 7.2.1)
     cpp-options: -DGENERICS
-    build-depends: ghc-prim >= 0.2 && < 0.5
+    build-depends: ghc-prim >= 0.2 && < 0.6
