diff --git a/.travis.yml b/.travis.yml
--- a/.travis.yml
+++ b/.travis.yml
@@ -3,41 +3,45 @@
 
 matrix:
   include:
-    - env: GHCVER=7.8.4 STACK_YAML=stack-lts-2.yaml
+    - env: GHCVER=7.8.4 STACK_LTS=lts-2 STACK_TEMPLATE=stack-lts-2.yaml
       addons:
         apt:
           sources: [ hvr-ghc ]
           packages: [ ghc-7.8.4 ]
-    - env: GHCVER=7.10.3 STACK_YAML=stack-lts-5.yaml
+    - env: GHCVER=7.10.3 STACK_LTS=lts-5 STACK_TEMPLATE=stack-lts-5.yaml
       addons:
         apt:
           sources: [ hvr-ghc ]
           packages: [ ghc-7.10.3 ]
-    - env: GHCVER=7.10.3 STACK_YAML=stack-lts-5-hrrhead.yaml
+    - env: GHCVER=7.10.3 STACK_LTS=lts-6 STACK_TEMPLATE=stack-lts-6.yaml
       addons:
         apt:
           sources: [ hvr-ghc ]
           packages: [ ghc-7.10.3 ]
-    - env: GHCVER=7.10.3 STACK_YAML=stack-lts-6.yaml
+    - env: GHCVER=8.0.1 STACK_LTS=lts-7 STACK_TEMPLATE=stack-lts-7.yaml
       addons:
         apt:
           sources: [ hvr-ghc ]
-          packages: [ ghc-7.10.3 ]
-    - env: GHCVER=8.0.1 STACK_YAML=stack-lts-7.yaml
+          packages: [ ghc-8.0.1 ]
+    - env: GHCVER=8.0.2 STACK_LTS=lts-8 STACK_TEMPLATE=stack-lts-8.yaml
       addons:
         apt:
           sources: [ hvr-ghc ]
-          packages: [ ghc-8.0.1 ]
+          packages: [ ghc-8.0.2 ]
+    - env: GHCVER=8.0.2 STACK_LTS=lts-8 STACK_TEMPLATE=stack-lts-8-hrrhead.yaml
+      addons:
+        apt:
+          sources: [ hvr-ghc ]
+          packages: [ ghc-8.0.2 ]
   allow_failures:
-    - env: GHCVER=7.10.3 STACK_YAML=stack-lts-5-hrrhead.yaml
+    - env: GHCVER=8.0.2 STACK_LTS=lts-8 STACK_TEMPLATE=stack-lts-8-hrrhead.yaml
 
 before_install:
   # Download and unpack the stack executable
   - mkdir -p ~/.local/bin
   - export PATH=$HOME/.local/bin:/opt:/opt/ghc/$GHCVER/bin:$PATH
   - travis_retry curl -L https://www.stackage.org/stack/linux-x86_64 | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'
-  # stack searches .cabal file based on STACK_YAML directory.
-  - cp .travis/stack*.yaml .
+  - m4 -D__RESOLVER__=$(curl -sL https://www.stackage.org/download/snapshots.json | jq '."'$STACK_LTS'"' -r) .travis/$STACK_TEMPLATE > stack.yaml
 
 install:
   - travis_wait stack --no-terminal --skip-ghc-check setup
diff --git a/.travis/stack-lts-2.yaml b/.travis/stack-lts-2.yaml
--- a/.travis/stack-lts-2.yaml
+++ b/.travis/stack-lts-2.yaml
@@ -1,10 +1,12 @@
-resolver: lts-2.22
+resolver: __RESOLVER__
 packages:
 - '.'
 extra-deps:
-- names-th-0.2.0.1
-- persistable-record-0.4.0.0
-- relational-query-0.8.2.1
-- sql-words-0.1.4.0
+- names-th-0.2.0.2
+- persistable-record-0.5.0.1
+- relational-query-0.9.1.0
+- sql-words-0.1.4.1
+- th-data-compat-0.0.2.2
+- th-reify-compat-0.0.1.1
 flags: {}
 extra-package-dbs: []
diff --git a/.travis/stack-lts-5-hrrhead.yaml b/.travis/stack-lts-5-hrrhead.yaml
deleted file mode 100644
--- a/.travis/stack-lts-5-hrrhead.yaml
+++ /dev/null
@@ -1,15 +0,0 @@
-resolver: lts-5.18
-packages:
-- location:
-    git: https://github.com/khibino/haskell-relational-record.git
-    commit: master
-  subdirs:
-    - names-th
-    - persistable-record
-    - relational-query
-    - sql-words
-- '.'
-extra-deps:
-- quickcheck-simple-0.1.0.0
-flags: {}
-extra-package-dbs: []
diff --git a/.travis/stack-lts-5.yaml b/.travis/stack-lts-5.yaml
--- a/.travis/stack-lts-5.yaml
+++ b/.travis/stack-lts-5.yaml
@@ -1,10 +1,12 @@
-resolver: lts-5.18
+resolver: __RESOLVER__
 packages:
 - '.'
 extra-deps:
-- names-th-0.2.0.1
-- persistable-record-0.4.0.0
-- relational-query-0.8.2.1
-- sql-words-0.1.4.0
+- names-th-0.2.0.2
+- persistable-record-0.5.0.1
+- relational-query-0.9.1.0
+- sql-words-0.1.4.1
+- th-data-compat-0.0.2.2
+- th-reify-compat-0.0.1.1
 flags: {}
 extra-package-dbs: []
diff --git a/.travis/stack-lts-6.yaml b/.travis/stack-lts-6.yaml
--- a/.travis/stack-lts-6.yaml
+++ b/.travis/stack-lts-6.yaml
@@ -1,4 +1,4 @@
-resolver: lts-6.23
+resolver: __RESOLVER__
 packages:
 - '.'
 extra-deps: []
diff --git a/.travis/stack-lts-7.yaml b/.travis/stack-lts-7.yaml
--- a/.travis/stack-lts-7.yaml
+++ b/.travis/stack-lts-7.yaml
@@ -1,4 +1,4 @@
-resolver: lts-7.5
+resolver: __RESOLVER__
 packages:
 - '.'
 extra-deps:
diff --git a/.travis/stack-lts-8-hrrhead.yaml b/.travis/stack-lts-8-hrrhead.yaml
new file mode 100644
--- /dev/null
+++ b/.travis/stack-lts-8-hrrhead.yaml
@@ -0,0 +1,16 @@
+resolver: __RESOLVER__
+packages:
+- '.'
+- location:
+    git: https://github.com/khibino/haskell-relational-record.git
+    commit: master
+  subdirs:
+    - names-th
+    - persistable-record
+    - relational-query
+    - sql-words
+extra-deps: []
+flags:
+  persistent-relational-record:
+    test-examples: True
+extra-package-dbs: []
diff --git a/.travis/stack-lts-8.yaml b/.travis/stack-lts-8.yaml
new file mode 100644
--- /dev/null
+++ b/.travis/stack-lts-8.yaml
@@ -0,0 +1,16 @@
+resolver: __RESOLVER__
+packages:
+- '.'
+- location:
+    git: https://github.com/khibino/haskell-relational-record.git
+    commit: master
+  subdirs:
+    - names-th
+    - persistable-record
+    - relational-query
+    - sql-words
+extra-deps: []
+flags:
+  persistent-relational-record:
+    test-examples: True
+extra-package-dbs: []
diff --git a/ChangeLog.md b/ChangeLog.md
new file mode 100644
--- /dev/null
+++ b/ChangeLog.md
@@ -0,0 +1,8 @@
+## 0.1.1.0
+
+- Support persistable-record >= 0.5.0
+- Tested with GHC 8.0.2
+
+## 0.1.0.0
+
+- Initial release
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,10 +1,13 @@
 persistent-relational-record
 ============================
 
+[![Travis](https://img.shields.io/travis/himura/persistent-relational-record/master.svg)](https://travis-ci.org/himura/persistent-relational-record)
+[![Hackage-Deps](https://img.shields.io/hackage-deps/v/persistent-relational-record.svg)](http://packdeps.haskellers.com/feed?needle=persistent-relational-record)
+
 ## About ##
 
-persistent-relational-record build a bridge between <https://hackage.haskell.org/package/relational-query Haskell Relational Record>
-and <http://hackage.haskell.org/package/persistent Persistent>.
+persistent-relational-record build a bridge between [Haskell Relational Record](https://hackage.haskell.org/package/relational-query)
+and [Persistent](http://hackage.haskell.org/package/persistent).
 It uses the persistent entities definition instead of obtaining schema from DB at compilation time.
 
 ## Getting Started ##
@@ -51,6 +54,7 @@
 Here is the content of "Image.hs":
 
 ~~~~ {.haskell}
+{-# LANGUAGE DeriveGeneric #-}
 {-# LANGUAGE TemplateHaskell #-}
 {-# LANGUAGE FlexibleInstances #-}
 {-# LANGUAGE MultiParamTypeClasses #-}
diff --git a/examples/Image.hs b/examples/Image.hs
--- a/examples/Image.hs
+++ b/examples/Image.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE DeriveGeneric #-}
 {-# LANGUAGE TemplateHaskell #-}
 {-# LANGUAGE FlexibleInstances #-}
 {-# LANGUAGE MultiParamTypeClasses #-}
diff --git a/examples/ImageTag.hs b/examples/ImageTag.hs
--- a/examples/ImageTag.hs
+++ b/examples/ImageTag.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE DeriveGeneric #-}
 {-# LANGUAGE TemplateHaskell #-}
 {-# LANGUAGE FlexibleInstances #-}
 {-# LANGUAGE MultiParamTypeClasses #-}
diff --git a/examples/Tag.hs b/examples/Tag.hs
--- a/examples/Tag.hs
+++ b/examples/Tag.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE DeriveGeneric #-}
 {-# LANGUAGE TemplateHaskell #-}
 {-# LANGUAGE FlexibleInstances #-}
 {-# LANGUAGE MultiParamTypeClasses #-}
diff --git a/examples/Types.hs b/examples/Types.hs
--- a/examples/Types.hs
+++ b/examples/Types.hs
@@ -8,7 +8,7 @@
 import Database.Persist.Relational
 import Database.Persist.Sql
 import Database.Record.TH (deriveNotNullType, deriveNotNullType)
-import Database.Relational.Query.Pure
+import Database.Relational.Query
 import Database.Relational.Query.TH (defineScalarDegree, defineScalarDegree)
 
 data ImageType = JPEG | PNG | BMP | GIF
diff --git a/persistent-relational-record.cabal b/persistent-relational-record.cabal
--- a/persistent-relational-record.cabal
+++ b/persistent-relational-record.cabal
@@ -1,5 +1,5 @@
 name:                persistent-relational-record
-version:             0.1.0.0
+version:             0.1.1.0
 synopsis:            relational-record on persisten backends.
 homepage:            http://github.com/himura/persistent-relational-record
 license:             BSD3
@@ -16,6 +16,7 @@
   .travis.yml
   .travis/*.sh
   .travis/*.yaml
+  ChangeLog.md
   README.md
   stack.yaml
 
diff --git a/src/Database/Persist/Relational/TH.hs b/src/Database/Persist/Relational/TH.hs
--- a/src/Database/Persist/Relational/TH.hs
+++ b/src/Database/Persist/Relational/TH.hs
@@ -22,7 +22,13 @@
 import qualified Database.Persist.Sql as PersistSql
 import Database.Record (PersistableWidth (..))
 import Database.Record.FromSql
-import Database.Record.TH (deriveNotNullType, recordType)
+import Database.Record.TH ( deriveNotNullType
+#if MIN_VERSION_persistable_record(0, 5, 0)
+                          , recordTemplate
+#else
+                          , recordType
+#endif
+                          )
 import Database.Record.ToSql
 import Database.Relational.Query hiding ((!))
 import Database.Relational.Query.TH (defineTable, defineScalarDegree)
@@ -91,7 +97,11 @@
 #endif
     recType info = error $ "makeToPersistEntityInstance: unexpected record info " ++ show info
 
+#if MIN_VERSION_persistable_record(0, 5, 0)
+    hrrRecordType = fst $ recordTemplate (recordConfig . nameConfig $ config) schema tableName
+#else
     hrrRecordType = recordType (recordConfig . nameConfig $ config) schema tableName
+#endif
 
 -- | Generate instances for haskell-relational-record.
 mkHrrInstances :: [EntityDef] -> Q [Dec]
diff --git a/tests/Fixtures/BlogSample/Post.hs b/tests/Fixtures/BlogSample/Post.hs
--- a/tests/Fixtures/BlogSample/Post.hs
+++ b/tests/Fixtures/BlogSample/Post.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE DeriveGeneric #-}
 {-# LANGUAGE TemplateHaskell #-}
 {-# LANGUAGE FlexibleInstances #-}
 {-# LANGUAGE MultiParamTypeClasses #-}
diff --git a/tests/Fixtures/BlogSample/PostTag.hs b/tests/Fixtures/BlogSample/PostTag.hs
--- a/tests/Fixtures/BlogSample/PostTag.hs
+++ b/tests/Fixtures/BlogSample/PostTag.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE DeriveGeneric #-}
 {-# LANGUAGE TemplateHaskell #-}
 {-# LANGUAGE FlexibleInstances #-}
 {-# LANGUAGE MultiParamTypeClasses #-}
diff --git a/tests/Fixtures/BlogSample/Tag.hs b/tests/Fixtures/BlogSample/Tag.hs
--- a/tests/Fixtures/BlogSample/Tag.hs
+++ b/tests/Fixtures/BlogSample/Tag.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE DeriveGeneric #-}
 {-# LANGUAGE TemplateHaskell #-}
 {-# LANGUAGE FlexibleInstances #-}
 {-# LANGUAGE MultiParamTypeClasses #-}
diff --git a/tests/Fixtures/BlogSample/User.hs b/tests/Fixtures/BlogSample/User.hs
--- a/tests/Fixtures/BlogSample/User.hs
+++ b/tests/Fixtures/BlogSample/User.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE DeriveGeneric #-}
 {-# LANGUAGE TemplateHaskell #-}
 {-# LANGUAGE FlexibleInstances #-}
 {-# LANGUAGE MultiParamTypeClasses #-}
