diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
 MIT License
 
-Copyright (c) 2017-2018 Anton Ekblad
+Copyright (c) 2017-2019 Anton Ekblad
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
diff --git a/Setup.hs b/Setup.hs
new file mode 100644
--- /dev/null
+++ b/Setup.hs
@@ -0,0 +1,2 @@
+import Distribution.Simple
+main = defaultMain
diff --git a/selda-json.cabal b/selda-json.cabal
--- a/selda-json.cabal
+++ b/selda-json.cabal
@@ -1,8 +1,9 @@
 cabal-version:       >=1.10
 name:                selda-json
-version:             0.1.0.0
+version:             0.1.1.0
 synopsis:            JSON support for the Selda database library.
--- description:
+description:         Types and classes to support storing and querying
+                     JSON values using Selda via Aeson.
 homepage:            https://selda.link
 -- bug-reports:
 license:             MIT
@@ -20,7 +21,7 @@
       aeson      >=1.0  && <1.5
     , base       >=4.9  && <5
     , bytestring >=0.10 && <0.11
-    , selda      >=0.4  && <0.5
+    , selda      >=0.4  && <0.6
     , text       >=1.0  && <1.3
   hs-source-dirs:      src
   default-language:    Haskell2010
diff --git a/src/Database/Selda/JSON.hs b/src/Database/Selda/JSON.hs
--- a/src/Database/Selda/JSON.hs
+++ b/src/Database/Selda/JSON.hs
@@ -3,7 +3,7 @@
 import Database.Selda (Text, Col, Inner)
 import Database.Selda.Backend
 import Database.Selda.Unsafe (sink, sink2)
-import Data.Aeson (Value (Null), encode, decode')
+import Data.Aeson (Value (Null), encode, decode', FromJSON (..), ToJSON (..))
 import qualified Data.ByteString.Lazy as BSL (ByteString, fromStrict, toStrict)
 import Data.Text.Encoding (encodeUtf8)
 
@@ -40,3 +40,13 @@
   fromSql (SqlBlob t)   = maybe (decodeError t) id (decode' $ BSL.fromStrict t)
   fromSql (SqlString t) = maybe (decodeError t) id (decode' $ textToLazyBS t)
   fromSql x             = typeError x
+
+instance FromJSON RowID where
+  parseJSON = fmap toRowId . parseJSON
+instance ToJSON RowID where
+  toJSON = toJSON . fromRowId
+
+instance FromJSON (ID a) where
+  parseJSON = fmap toId . parseJSON
+instance ToJSON (ID a) where
+  toJSON = toJSON . fromId
