diff --git a/Text/OPML/Conduit/Render.hs b/Text/OPML/Conduit/Render.hs
--- a/Text/OPML/Conduit/Render.hs
+++ b/Text/OPML/Conduit/Render.hs
@@ -57,7 +57,7 @@
 formatBool = toLower . tshow
 
 formatURI :: URI -> Text
-formatURI = decodeUtf8 . serializeURI'
+formatURI = decodeUtf8 . serializeURIRef'
 
 -- | Render the @\<head\>@ section.
 renderOpmlHead :: (Monad m) => OpmlHead -> Source m Event
diff --git a/opml-conduit.cabal b/opml-conduit.cabal
--- a/opml-conduit.cabal
+++ b/opml-conduit.cabal
@@ -1,5 +1,5 @@
 name:                opml-conduit
-version:             0.4.0.1
+version:             0.5.0.0
 synopsis:            Streaming parser/renderer for the OPML 2.0 format.
 description:
     This library implements the OPML 2.0 standard (<http://dev.opml.org/spec2.html>) as a 'conduit' parser/renderer.
@@ -46,7 +46,7 @@
     , text
     , time >= 1.5
     , timerep >= 2.0.0
-    , uri-bytestring >= 0.1.9
+    , uri-bytestring >= 0.2
     , xml-conduit >= 1.3
     , xml-conduit-parse >= 0.2.0.0
     , xml-types
diff --git a/test/Arbitrary.hs b/test/Arbitrary.hs
--- a/test/Arbitrary.hs
+++ b/test/Arbitrary.hs
@@ -1,6 +1,7 @@
 {-# LANGUAGE DeriveGeneric      #-}
 {-# LANGUAGE FlexibleContexts   #-}
 {-# LANGUAGE FlexibleInstances  #-}
+{-# LANGUAGE GADTs              #-}
 {-# LANGUAGE OverloadedStrings  #-}
 {-# LANGUAGE StandaloneDeriving #-}
 -- | External 'Arbitrary' instances used by OPML types.
@@ -41,7 +42,7 @@
 -- | Reasonable enough 'URI' generator.
 instance Arbitrary URI where
   arbitrary = URI <$> arbitrary <*> arbitrary <*> genPath <*> arbitrary <*> (Just <$> genFragment)
-  shrink = genericShrink
+  shrink (URI a b c d e) = URI <$> shrink a <*> shrink b <*> shrink c <*> shrink d <*> shrink e
 
 -- | Reasonable enough 'Authority' generator.
 instance Arbitrary Authority where
diff --git a/test/Main.hs b/test/Main.hs
--- a/test/Main.hs
+++ b/test/Main.hs
@@ -105,7 +105,7 @@
   show (result ^. opmlHeadL . opmlCreatedL) @?= "Just 2006-02-27 12:09:48 UTC"
   show (result ^. opmlHeadL . modifiedL) @?= "Just 2006-02-27 12:11:44 UTC"
   (result ^. opmlHeadL . ownerNameL) @?= "Dave Winer"
-  fmap (decodeUtf8 . serializeURI') (result ^. opmlHeadL . ownerIdL) @?= Just "http://www.opml.org/profiles/sendMail?usernum=1"
+  fmap (decodeUtf8 . serializeURIRef') (result ^. opmlHeadL . ownerIdL) @?= Just "http://www.opml.org/profiles/sendMail?usernum=1"
   (result ^.. opmlHeadL . expansionStateL) @?= [1,2,5,10,13,15]
   (result ^. opmlHeadL . vertScrollStateL) @?= Just 1
   (result ^. opmlHeadL . windowBottomL) @?= Just 665
