diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,14 @@
 All notable changes to this project will be documented in this file.
 This project adheres to [Semantic Versioning](http://semver.org/).
 
+## [0.3.0.4] - 2021-11-13
+
+- Compatiblity with prettyprinter-1.7.1 deprecactions.
+
+## [0.3.0.3] - 2011-06-19
+
+- GHC 9.0 support.
+
 ## [0.3.0.2] - 2020-11-17
 
 - Add liftTyped methods for template-haskell 2.16
@@ -85,6 +93,8 @@
 
 - Use utf8-string parsing for unicode literals.
 
+[0.3.0.4]: https://gitlab.com/dpwiz/hedn/tree/v0.3.0.4
+[0.3.0.3]: https://gitlab.com/dpwiz/hedn/tree/v0.3.0.3
 [0.3.0.2]: https://gitlab.com/dpwiz/hedn/tree/v0.3.0.2
 [0.3.0.1]: https://gitlab.com/dpwiz/hedn/tree/v0.3.0.1
 [0.3.0.0]: https://gitlab.com/dpwiz/hedn/tree/v0.3.0.0
diff --git a/hedn.cabal b/hedn.cabal
--- a/hedn.cabal
+++ b/hedn.cabal
@@ -4,10 +4,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 84c235a38db770dd0b8f9f27fada3973288d77b2c15ac97f48420e7df492d075
+-- hash: 784b8e18f38a2e70046c5ec03603dd229e8486d61fad1a326af0f647adfa1102
 
 name:           hedn
-version:        0.3.0.3
+version:        0.3.0.4
 synopsis:       EDN parsing and encoding
 description:    A EDN parsing and encoding library.
                 .
@@ -19,7 +19,7 @@
 license:        BSD3
 license-file:   LICENSE
 tested-with:
-    GHC==8.2.2, GHC==8.4.4, GHC==8.6.5, GHC==8.8.3, GHC==8.10.4, GHC==9.0.1
+    GHC==8.2.2, GHC==8.4.4, GHC==8.6.5, GHC==8.8.3, GHC==8.10.4, GHC==9.0.1, GHC==9.2.1
 build-type:     Simple
 extra-source-files:
     CHANGELOG.md
@@ -51,7 +51,7 @@
       base >=4.9 && <5
     , containers >=0.5.7 && <0.7
     , deepseq >=1.4 && <2
-    , deriving-compat >=0.3.6 && <0.6
+    , deriving-compat >=0.3.6 && <0.7
     , megaparsec >=7.0 && <10
     , parser-combinators >=1.0 && <2
     , prettyprinter >=1.2 && <2
diff --git a/lib/Data/EDN/AST/Parser.hs b/lib/Data/EDN/AST/Parser.hs
--- a/lib/Data/EDN/AST/Parser.hs
+++ b/lib/Data/EDN/AST/Parser.hs
@@ -85,7 +85,7 @@
   P.choice
     [ parseNil
     , parseBool
-    , P.try parseNumber
+    , parseNumber
     , parseSymbol
     , parseCharacter
     , parseString
@@ -185,7 +185,7 @@
     plain = P.anySingleBut '"'
 
 parseNumber :: Parser Value
-parseNumber = P.try parseFloating <|> parseInteger
+parseNumber = P.try parseFloating <|> P.try parseInteger
   where
     parseFloating = Floating <$> L.floating
     parseInteger = Integer <$> L.integer
diff --git a/lib/Data/EDN/AST/Printer.hs b/lib/Data/EDN/AST/Printer.hs
--- a/lib/Data/EDN/AST/Printer.hs
+++ b/lib/Data/EDN/AST/Printer.hs
@@ -15,13 +15,19 @@
 import Data.Semigroup ((<>))
 #endif
 import Data.Text (Text)
-import Data.Text.Prettyprint.Doc (Doc, pretty, (<+>))
 import Text.Printf (printf)
 
 import qualified Data.Map as Map
 import qualified Data.Text as Text
+#if MIN_VERSION_prettyprinter(1,7,1)
+import Prettyprinter (Doc, pretty, (<+>))
+import qualified Prettyprinter as PP
+import qualified Prettyprinter.Render.Text as PP
+#else
+import Data.Text.Prettyprint.Doc (Doc, pretty, (<+>))
 import qualified Data.Text.Prettyprint.Doc as PP
 import qualified Data.Text.Prettyprint.Doc.Render.Text as PP
+#endif
 
 import qualified Data.EDN.AST.Types as EDN
 
diff --git a/tests/Data/EDN/AST/Gen.hs b/tests/Data/EDN/AST/Gen.hs
--- a/tests/Data/EDN/AST/Gen.hs
+++ b/tests/Data/EDN/AST/Gen.hs
@@ -13,7 +13,7 @@
 import qualified Hedgehog.Gen as Gen
 import qualified Hedgehog.Range as Range
 
-import qualified Data.EDN.AST.Parser as EDN
+import qualified Data.EDN.AST.Parser as Parser
 import qualified Data.EDN.AST.Types as EDN
 
 genTaggedValue :: Gen EDN.TaggedValue
@@ -40,7 +40,7 @@
     withoutTag = EDN.NoTag <$> gen
 
 genTagIdent :: Gen Text
-genTagIdent = genText EDN.tagChars
+genTagIdent = genText Parser.tagChars
 
 genValue :: Gen EDN.Value
 genValue = Gen.recursive Gen.choice atomic collections
@@ -93,7 +93,7 @@
   <$> genKeywordName
 
 genKeywordName :: Gen Text
-genKeywordName = genTextInitial EDN.keywordInitialChars EDN.keywordChars
+genKeywordName = genTextInitial Parser.keywordInitialChars Parser.keywordChars
 
 genSymbol :: Gen EDN.Value
 genSymbol = EDN.Symbol
@@ -101,7 +101,7 @@
   <*> genSymbolName
 
 genSymbolName :: Gen Text
-genSymbolName = genTextInitial EDN.symbolInitialChars EDN.symbolChars
+genSymbolName = genTextInitial Parser.symbolInitialChars Parser.symbolChars
 
 genSet :: Gen EDN.Value
 genSet = EDN.mkSet
