diff --git a/Data/Text/ICU/Char.hsc b/Data/Text/ICU/Char.hsc
--- a/Data/Text/ICU/Char.hsc
+++ b/Data/Text/ICU/Char.hsc
@@ -482,6 +482,16 @@
   | Vithkuqi
   | ZnamennyMusicalNotation
 
+    -- New blocks in Unicode 15.0 (ICU 72)
+
+  | ArabicExtendedC
+  | CjkUnifiedIdeographsExtensionH
+  | CyrillicExtendedD
+  | DevanagariExtendedA
+  | KaktovikNumerals
+  | Kawi
+  | NagMundari
+
   deriving (Eq, Enum, Bounded, Show, Typeable)
 
 instance NFData BlockCode where
@@ -618,6 +628,14 @@
   | RegionalIndicator
   | PrependedConcatenationMark
   | ExtendedPictographic
+    -- ICU 70
+  | BasicEmoji -- ^ See https://www.unicode.org/reports/tr51/#Emoji_Sets
+  | EmojiKeycapSequence -- ^ See https://www.unicode.org/reports/tr51/#Emoji_Sets
+  | RgiEmojiModifierSequence -- ^ See https://www.unicode.org/reports/tr51/#Emoji_Sets
+  | RgiEmojiFlagSequence -- ^ See https://www.unicode.org/reports/tr51/#Emoji_Sets
+  | RgiEmojiTagSequence -- ^ See https://www.unicode.org/reports/tr51/#Emoji_Sets
+  | RgiEmojiZwjSequence -- ^ See https://www.unicode.org/reports/tr51/#Emoji_Sets
+  | RgiEmoji -- ^ See https://www.unicode.org/reports/tr51/#Emoji_Sets
   deriving (Eq, Enum, Show, Typeable)
 
 instance NFData Bool_ where
diff --git a/Data/Text/ICU/DateFormatter.hsc b/Data/Text/ICU/DateFormatter.hsc
--- a/Data/Text/ICU/DateFormatter.hsc
+++ b/Data/Text/ICU/DateFormatter.hsc
@@ -26,6 +26,7 @@
     (DateFormatter, FormatStyle(..), DateFormatSymbolType(..), standardDateFormatter, patternDateFormatter, dateSymbols, formatCalendar
     ) where
 
+#include <unicode/uvernum.h>
 #include <unicode/udat.h>
 
 import Control.Monad (forM)
@@ -89,6 +90,10 @@
         | ZodiacNamesWide           -- ^ Calendar zodiac names (only supported for some calendars, and only for FORMAT usage; udat_setSymbols not supported for UDAT_ZODIAC_NAMES_WIDE)
         | ZodiacNamesAbbreviated    -- ^ Calendar zodiac names (only supported for some calendars, and only for FORMAT usage)
         | ZodiacNamesNarrow         -- ^ Calendar zodiac names (only supported for some calendars, and only for FORMAT usage; udat_setSymbols not supported for UDAT_ZODIAC_NAMES_NARROW)
+#if U_ICU_VERSION_MAJOR_NUM >= 70
+        | NarrowQuarters -- ^ The narrow quarter names, for example 1.
+        | StandaloneNarrowQuarters -- ^ The narrow standalone quarter names, for example 1.
+#endif
 
 toUDateFormatSymbolType :: DateFormatSymbolType -> CInt
 toUDateFormatSymbolType Eras = #const UDAT_ERAS
@@ -116,6 +121,10 @@
 toUDateFormatSymbolType ZodiacNamesWide = #const UDAT_ZODIAC_NAMES_WIDE
 toUDateFormatSymbolType ZodiacNamesAbbreviated = #const UDAT_ZODIAC_NAMES_ABBREVIATED
 toUDateFormatSymbolType ZodiacNamesNarrow = #const UDAT_ZODIAC_NAMES_NARROW
+#if U_ICU_VERSION_MAJOR_NUM >= 70
+toUDateFormatSymbolType NarrowQuarters = #const UDAT_NARROW_QUARTERS
+toUDateFormatSymbolType StandaloneNarrowQuarters = #const UDAT_STANDALONE_NARROW_QUARTERS
+#endif
 
 type UDateFormatStyle = CInt
 type UFieldPosition = CInt
diff --git a/README.markdown b/README.markdown
--- a/README.markdown
+++ b/README.markdown
@@ -25,7 +25,7 @@
 
 You might need:
 
-    export PKG_CONFIG_PATH="/usr/local/opt/icu4c/lib/pkgconfig"
+    export PKG_CONFIG_PATH="$(brew --prefix)/opt/icu4c/lib/pkgconfig"
 
 ### Debian/Ubuntu
 
@@ -51,24 +51,24 @@
 need to be added.  In this case, do this first:
 
     pacman --noconfirm -Sy msys2-keyring
-    pacman --noconfirm -S mingw-w64-x86_64-pkg-config
+    pacman --noconfirm -S mingw-w64-x86_64-pkgconf
 
 ### Windows/stack
 
 With `stack` on Windows, which comes with its _own_ bundled MSYS2, the
 following commands give up-to-date system dependencies for
-`text-icu-0.8.0` (tested 2022-02-07):
+`text-icu-0.8.0` (tested 2023-09-30):
 
     stack exec -- pacman --noconfirm -Sy msys2-keyring
+    stack exec -- pacman --noconfirm -S mingw-w64-x86_64-pkgconf
     stack exec -- pacman --noconfirm -S mingw-w64-x86_64-icu
-    stack exec -- pacman --noconfirm -S mingw-w64-x86_64-pkg-config
 
 
 ## Compatibility
 
 Upstream ICU occasionally introduces backwards-incompatible API
 breaks. This package tries to stay up to date with upstream, and is
-currently more or less in sync with ICU 70.
+currently more or less in sync with ICU 72.
 
 Minimum required version is ICU 62.
 
diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,3 +1,7 @@
+0.8.0.3
+
+* Support for ICU 72 (#94)
+
 0.8.0.2
 
 * Support for creating a collator from custom rules (#76)
diff --git a/tests/Properties.hs b/tests/Properties.hs
--- a/tests/Properties.hs
+++ b/tests/Properties.hs
@@ -172,7 +172,8 @@
   ,(I.unfold I.group <$> I.findAll "[abc]+" "xx b yy ac") ~?= [["b"],["ac"]]
   ,I.toUpper (Locale "de-DE") "ß" ~?= "SS"
   ,I.toCaseFold False "ﬂag" ~?= "flag"
-  ,I.blockCode '\x1FA50' ~?= I.ChessSymbols
+  ,map I.blockCode ['\x1FA50', '\203257', '\73494'] ~?=
+     [I.ChessSymbols, I.CjkUnifiedIdeographsExtensionH, I.Kawi]
   ,I.direction '\x2068' ~?= I.FirstStrongIsolate
   ,I.getSkeleton I.spoof Nothing "\1089\1072t" ~?= "cat"
   ,S.shapeArabic [S.LettersShape] (nosp "ا ب ت ث") ~?= (nosp "ﺍ ﺑ ﺘ ﺚ")
diff --git a/text-icu.cabal b/text-icu.cabal
--- a/text-icu.cabal
+++ b/text-icu.cabal
@@ -1,5 +1,7 @@
+cabal-version:  1.18
+  -- 1.18 introduced extra-doc-files
 name:           text-icu
-version:        0.8.0.2
+version:        0.8.0.3
 synopsis:       Bindings to the ICU library
 homepage:       https://github.com/haskell/text-icu
 bug-reports:    https://github.com/haskell/text-icu/issues
@@ -43,33 +45,39 @@
 license:        BSD3
 license-file:   LICENSE
 build-type:     Simple
-cabal-version:  >= 1.10
-extra-source-files:
+
+extra-doc-files:
   README.markdown
-  benchmarks/Breaker.hs
   changelog.md
+
+extra-source-files:
+  benchmarks/Breaker.hs
   include/hs_text_icu.h
 
 tested-with:
-  GHC == 7.10.3
-  GHC == 8.0.2
-  GHC == 8.2.2
-  GHC == 8.4.4
-  GHC == 8.6.5
-  GHC == 8.8.4
-  GHC == 8.10.7
+  GHC == 9.8.0
+  GHC == 9.6.2
+  GHC == 9.4.7
+  GHC == 9.2.8
   GHC == 9.0.2
-  GHC == 9.2.1
+  GHC == 8.10.7
+  GHC == 8.8.4
+  GHC == 8.6.5
+  GHC == 8.4.4
+  GHC == 8.2.2
+  GHC == 8.0.2
+  GHC == 7.10.3
 
 library
   default-language:  Haskell98
   build-depends:
-    base >= 4.8 && < 5,
-    bytestring,
-    deepseq >= 1.4.2.0,
-    text >=0.9.1.0 && <1.3 || >=2.0 && <2.1,
-    time >=1.5 && <1.13
-  pkgconfig-depends: icu-i18n >= 62.1
+    base        >= 4.8      && < 5,
+    bytestring  >= 0.9      && < 0.13,
+    deepseq     >= 1.4.2.0  && < 1.6,
+    text        >= 0.9.1.0  && < 1.3  || >= 2.0 && < 2.2,
+    time        >= 1.5      && < 1.13
+  pkgconfig-depends:
+    icu-i18n    >= 62.1
 
   exposed-modules:
       Data.Text.ICU
@@ -127,7 +135,7 @@
   else
     extra-libraries: icui18n icudata
 
-  ghc-options: -Wall -fwarn-tabs
+  ghc-options: -Wall
   if impl(ghc >= 8.0)
     ghc-options:  -Wcompat
 
@@ -146,8 +154,8 @@
     QuickCheck >= 2.4,
     array,
     base,
-    bytestring,
-    deepseq,
+    bytestring  >= 0.9      && < 0.13,
+    deepseq     >= 1.4.2.0  && < 1.6,
     directory,
     ghc-prim,
     random,
