diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,11 @@
 # Changelog
 
+## 7.0.5 (2020-10-27)
+
+#### Added
+
+- `Ord` and `Hashable` instances for `AurInfo`.
+
 ## 7.0.4 (2020-09-11)
 
 - Escape `+` that can occasionally appear in package names.
diff --git a/aur.cabal b/aur.cabal
--- a/aur.cabal
+++ b/aur.cabal
@@ -1,6 +1,6 @@
 cabal-version:      2.2
 name:               aur
-version:            7.0.4
+version:            7.0.5
 synopsis:           Access metadata from the Arch Linux User Repository.
 description:
   Access package information from Arch Linux's AUR via its RPC interface. The
@@ -38,6 +38,7 @@
   build-depends:
     , aeson       >=0.9  && <1.6
     , bytestring
+    , hashable    >= 1.2
     , http-types  ^>=0.12
     , text        ^>=1.2
 
diff --git a/lib/Linux/Arch/Aur.hs b/lib/Linux/Arch/Aur.hs
--- a/lib/Linux/Arch/Aur.hs
+++ b/lib/Linux/Arch/Aur.hs
@@ -1,4 +1,6 @@
 {-# LANGUAGE DataKinds          #-}
+{-# LANGUAGE DeriveAnyClass     #-}
+{-# LANGUAGE DeriveGeneric      #-}
 {-# LANGUAGE DerivingStrategies #-}
 {-# LANGUAGE OverloadedStrings  #-}
 
@@ -21,8 +23,10 @@
 import           Control.Applicative ((<|>))
 import           Data.Aeson
 import           Data.ByteString (ByteString)
+import           Data.Hashable (Hashable)
 import           Data.Text (Text)
 import qualified Data.Text as T
+import           GHC.Generics (Generic)
 import           Network.HTTP.Client
 import           Network.HTTP.Types.Status
 
@@ -64,7 +68,8 @@
   , conflictsOf      :: [Text]
   , providesOf       :: [Text]
   , licenseOf        :: [Text]
-  , keywordsOf       :: [Text] } deriving (Eq,Show)
+  , keywordsOf       :: [Text]}
+  deriving (Eq, Ord, Show, Generic, Hashable)
 
 instance FromJSON AurInfo where
     parseJSON = withObject "AurInfo" $ \v -> AurInfo
