diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,8 @@
+## 0.5.2.0
+
+- Add MonadTrans instance of QueryJoin.
+- Update links about Opaleye.
+
 ## 0.5.1.1
 
 - Update documentation.
diff --git a/relational-query.cabal b/relational-query.cabal
--- a/relational-query.cabal
+++ b/relational-query.cabal
@@ -1,5 +1,5 @@
 name:                relational-query
-version:             0.5.1.1
+version:             0.5.2.0
 synopsis:            Typeful, Modular, Relational, algebraic query engine
 description:         This package contiains typeful relation structure and
                      relational-algebraic query building DSL which can
diff --git a/src/Database/Relational/Query/Arrow.hs b/src/Database/Relational/Query/Arrow.hs
--- a/src/Database/Relational/Query/Arrow.hs
+++ b/src/Database/Relational/Query/Arrow.hs
@@ -15,9 +15,10 @@
 -- Referencing the local projections may cause to break
 -- the result query.
 -- It is possible to controls injection of previous local projections
--- by restricting domain type of arrow. This idea is imported from Opaleye.
--- (https://github.com/tomjaguarpaw/haskell-opaleye,
---  https://github.com/khibino/haskell-relational-record/issues/19).
+-- by restricting domain type of arrow. This idea is imported from Opaleye:
+--
+--   * <https://github.com/tomjaguarpaw/haskell-opaleye>
+--   * <https://github.com/khibino/haskell-relational-record/issues/19>
 --
 -- Importing this module instead of "Database.Relational.Query" enables
 -- to build query using arrow combinators.
diff --git a/src/Database/Relational/Query/Monad/Trans/Join.hs b/src/Database/Relational/Query/Monad/Trans/Join.hs
--- a/src/Database/Relational/Query/Monad/Trans/Join.hs
+++ b/src/Database/Relational/Query/Monad/Trans/Join.hs
@@ -46,9 +46,12 @@
   QueryJoin (StateT JoinContext (WriterT (Last Duplication) m) a)
   deriving (Monad, Functor, Applicative)
 
+instance MonadTrans QueryJoin where
+  lift = QueryJoin . lift . lift
+
 -- | Lift to 'QueryJoin'
 join' :: Monad m => m a -> QueryJoin m a
-join' =  QueryJoin . lift . lift
+join' = lift
 
 -- | Unsafely update join product context.
 updateContext :: Monad m => (JoinContext -> JoinContext) -> QueryJoin m ()
