diff --git a/ChangeLog.rst b/ChangeLog.rst
--- a/ChangeLog.rst
+++ b/ChangeLog.rst
@@ -1,3 +1,8 @@
+1.0.2.1
+=======
+
+- Allow to build with aeson >= 2
+
 1.0.2
 =====
 
diff --git a/library/System/OsRelease.hs b/library/System/OsRelease.hs
--- a/library/System/OsRelease.hs
+++ b/library/System/OsRelease.hs
@@ -1,6 +1,7 @@
 {-# LANGUAGE DeriveGeneric #-}
 {-# LANGUAGE FlexibleInstances #-}
 {-# LANGUAGE TypeOperators #-}
+{-# LANGUAGE CPP #-}
 
 -- | A module to retrieve os-release information according to the
 -- freedesktop standard:
@@ -42,6 +43,9 @@
 import           Control.Monad
 import           Control.Exception.Safe
 import           Data.Aeson
+#if MIN_VERSION_aeson(2,0,0)
+import           Data.Aeson.KeyMap ( fromHashMap )
+#endif
 import           Data.Aeson.TH
 import           Data.Char
 import           Data.Either
@@ -52,6 +56,9 @@
 import           Prelude                 hiding ( id
                                                 )
 
+#if MIN_VERSION_aeson(2,0,0)
+import qualified Data.Aeson.Key                as AK
+#endif
 import qualified Data.HashMap.Strict           as HM
 import qualified Data.Text                     as T
 import qualified Text.Megaparsec               as MP
@@ -155,6 +162,10 @@
     )
     . fromJSON
     . Object
+#if MIN_VERSION_aeson(2,0,0)
+    . fromHashMap
+    . HM.mapKeys AK.fromText
+#endif
     . (\x -> HM.union x (HM.fromList . aesonify $ defaultAssignments))
     . HM.fromList
     . aesonify
diff --git a/os-release.cabal b/os-release.cabal
--- a/os-release.cabal
+++ b/os-release.cabal
@@ -9,7 +9,7 @@
 homepage:           https://github.com/yaccz/os-release
 name:               os-release
 synopsis:           /etc/os-release helpers
-version:            1.0.2
+version:            1.0.2.1
 description:
   \/etc\/os-release helpers as per the freedesktop spec: https://www.freedesktop.org/software/systemd/man/os-release.html
 
diff --git a/tests/Golden/data/centos.golden b/tests/Golden/data/centos.golden
--- a/tests/Golden/data/centos.golden
+++ b/tests/Golden/data/centos.golden
@@ -21,23 +21,23 @@
         }
     , unknown_fields =
         [
-            ( "REDHAT_SUPPORT_PRODUCT_VERSION"
-            , "8"
+            ( "REDHAT_SUPPORT_PRODUCT"
+            , "centos"
             )
         ,
             ( "CENTOS_MANTISBT_PROJECT"
             , "CentOS-8"
             )
         ,
-            ( "REDHAT_SUPPORT_PRODUCT"
-            , "centos"
-            )
-        ,
             ( "PLATFORM_ID"
             , "platform:el8"
             )
         ,
             ( "CENTOS_MANTISBT_PROJECT_VERSION"
+            , "8"
+            )
+        ,
+            ( "REDHAT_SUPPORT_PRODUCT_VERSION"
             , "8"
             )
         ]
diff --git a/tests/Golden/data/fedora.golden b/tests/Golden/data/fedora.golden
--- a/tests/Golden/data/fedora.golden
+++ b/tests/Golden/data/fedora.golden
@@ -21,14 +21,6 @@
         }
     , unknown_fields =
         [
-            ( "REDHAT_SUPPORT_PRODUCT_VERSION"
-            , "31"
-            )
-        ,
-            ( "REDHAT_BUGZILLA_PRODUCT"
-            , "Fedora"
-            )
-        ,
             ( "REDHAT_SUPPORT_PRODUCT"
             , "Fedora"
             )
@@ -37,12 +29,20 @@
             , "platform:f31"
             )
         ,
-            ( "REDHAT_BUGZILLA_PRODUCT_VERSION"
+            ( "LOGO"
+            , "fedora-logo-icon"
+            )
+        ,
+            ( "REDHAT_SUPPORT_PRODUCT_VERSION"
             , "31"
             )
         ,
-            ( "LOGO"
-            , "fedora-logo-icon"
+            ( "REDHAT_BUGZILLA_PRODUCT"
+            , "Fedora"
+            )
+        ,
+            ( "REDHAT_BUGZILLA_PRODUCT_VERSION"
+            , "31"
             )
         ]
     , parse_errors = []
diff --git a/tests/Golden/data/red-hat.golden b/tests/Golden/data/red-hat.golden
--- a/tests/Golden/data/red-hat.golden
+++ b/tests/Golden/data/red-hat.golden
@@ -21,16 +21,16 @@
         }
     , unknown_fields =
         [
+            ( "REDHAT_SUPPORT_PRODUCT"
+            , "Red Hat Enterprise Linux"
+            )
+        ,
             ( "REDHAT_SUPPORT_PRODUCT_VERSION"
             , "7.6"
             )
         ,
             ( "REDHAT_BUGZILLA_PRODUCT"
             , "Red Hat Enterprise Linux 7"
-            )
-        ,
-            ( "REDHAT_SUPPORT_PRODUCT"
-            , "Red Hat Enterprise Linux"
             )
         ,
             ( "REDHAT_BUGZILLA_PRODUCT_VERSION"
diff --git a/tests/Golden/data/red-hat_parseErrors.golden b/tests/Golden/data/red-hat_parseErrors.golden
--- a/tests/Golden/data/red-hat_parseErrors.golden
+++ b/tests/Golden/data/red-hat_parseErrors.golden
@@ -21,6 +21,10 @@
         }
     , unknown_fields =
         [
+            ( "REDHAT_SUPPORT_PRODUCT"
+            , "Red Hat Enterprise Linux"
+            )
+        ,
             ( "REDHAT_SUPPORT_PRODUCT_VERSION"
             , "7.6"
             )
@@ -29,10 +33,6 @@
             , "Red Hat Enterprise Linux 7"
             )
         ,
-            ( "REDHAT_SUPPORT_PRODUCT"
-            , "Red Hat Enterprise Linux"
-            )
-        ,
             ( "REDHAT_BUGZILLA_PRODUCT_VERSION"
             , "7.6"
             )
@@ -40,10 +40,15 @@
     , parse_errors =
         [ TrivialError 520
             ( Just
-                ( Tokens ( '\'' :| "" ) )
+                ( Tokens
+                    ( '\'' :| "
+                    " )
+                )
             )
             ( fromList
-                [ Label ( 'e' :| "nd of line" ) ]
+                [ Label
+                    ( 'e' :| "nd of line" )
+                ]
             )
         ]
     }
