diff --git a/CHANGELOG b/CHANGELOG
new file mode 100644
--- /dev/null
+++ b/CHANGELOG
@@ -0,0 +1,12 @@
+0.1.5:
+	* Add upper bound for GHC (https://github.com/chrisdone/intero/issues/27)
+
+0.1.4:
+	* Fix cache invalidation bug for interpreted mode (https://github.com/chrisdone/intero/issues/1)
+
+0.1.3:
+	* Added test suite
+	* Fix bug in :type-at that excluded a type constraint (https://github.com/chrisdone/intero/issues/14)
+
+0.1.2:
+	* Fixed bug in :uses, by using location equality.
diff --git a/README.md b/README.md
new file mode 100644
--- /dev/null
+++ b/README.md
@@ -0,0 +1,34 @@
+# <img src="https://github.com/chrisdone/intero/raw/master/images/intero.svg" height=25> intero [![Build Status](https://travis-ci.org/chrisdone/intero.png)](https://travis-ci.org/chrisdone/intero)
+
+Complete interactive development program for Haskell
+
+## Requirements
+
+The following dependencies are necessary:
+
+* The `tinfo` and `ncurses` library.
+
+  * Ubuntu and Debian users can install it using the following command:
+
+          $ apt-get install libtinfo-dev
+          $ apt-get install libncurses5-dev
+
+## Installing
+
+Standard:
+
+    $ stack build intero
+
+From source:
+
+    $ git clone https://github.com/chrisdone/intero.git
+    $ cd intero
+    $ stack build intero
+
+## Supported GHC versions
+
+Intero been built and tested on the following GHC versions:
+
+* GHC 7.8.4
+* GHC 7.10.2
+* GHC 7.10.3
diff --git a/intero.cabal b/intero.cabal
--- a/intero.cabal
+++ b/intero.cabal
@@ -1,7 +1,7 @@
 name:
   intero
 version:
-  0.1.3
+  0.1.5
 synopsis:
   Complete interactive development program for Haskell
 license:
@@ -30,6 +30,8 @@
 extra-source-files:
   cbits/HsVersions.h
   cbits/PosixSource.h
+  CHANGELOG
+  README.md
 source-repository head
   type:
     git
@@ -64,7 +66,7 @@
     bytestring,
     directory,
     filepath,
-    ghc >= 7.8,
+    ghc >= 7.8 && <= 7.10.3,
     ghc-paths,
     haskeline,
     process,
diff --git a/src/GhciInfo.hs b/src/GhciInfo.hs
--- a/src/GhciInfo.hs
+++ b/src/GhciInfo.hs
@@ -37,7 +37,11 @@
             => Map ModuleName ModInfo -> [ModuleName] -> m (Map ModuleName ModInfo)
 collectInfo ms loaded =
   do df <- getSessionDynFlags
-     invalidated <- liftIO (filterM cacheInvalid loaded)
+     -- Generate for all modules in interpreted mode.
+     invalidated <-
+       liftIO (if hscTarget df == HscInterpreted
+                  then return loaded
+                  else filterM cacheInvalid loaded)
      if null invalidated
         then return ms
         else do liftIO (putStrLn ("Collecting type info for " ++
diff --git a/src/test/Main.hs b/src/test/Main.hs
--- a/src/test/Main.hs
+++ b/src/test/Main.hs
@@ -5,6 +5,7 @@
 
 import Control.Exception
 import Control.Monad.IO.Class
+import System.Directory
 import System.IO
 import System.IO.Temp
 import System.Process
@@ -25,6 +26,7 @@
      types
      use
      definition
+     bytecode
 
 -- | Basic commands that should work out of the box.
 basics :: Spec
@@ -57,6 +59,25 @@
                       shouldBe result (unlines ["Failed, modules loaded: none."
                                                ,""
                                                ,"<no location info>: can't find file: NonExistent.hs"])))
+
+-- | Check things when in -fbyte-code mode.
+bytecode :: Spec
+bytecode =
+  describe "Bytecode"
+           (do it ":set -fobject-code ; :l X.hs; :set -byte-code; :l X.hs"
+                  (do result <-
+                        withIntero
+                          []
+                          (\dir repl ->
+                             do _ <- repl (":set -fobject-code")
+                                writeFile (dir ++ "/X.hs") "x = 'a'"
+                                _ <- repl (":l X.hs")
+                                _ <- repl (":set -fbyte-code")
+                                writeFile (dir ++ "/X.hs") "x = 123"
+                                repl (":l X.hs"))
+                      shouldBe (unlines (reverse (take 2 (reverse (lines result)))))
+                               (unlines ["Ok, modules loaded: Main."
+                                        ,"Collecting type info for 1 module(s) ... "])))
 
 -- | Get type information of file contents.
 types :: Spec
