--- a/Data/Text/ICU/Char.hsc
+++ b/Data/Text/ICU/Char.hsc
@@ -51,6 +51,7 @@ module Data.Text.ICU.Char
     , LineBreak_(..)
     , SentenceBreak_(..)
     , WordBreak_(..)
+    , BidiPairedBracketType_(..)
     -- * Property value types
     , BlockCode(..)
     , Direction(..)
@@ -66,6 +67,7 @@ module Data.Text.ICU.Char
     , LineBreak(..)
     , SentenceBreak(..)
     , WordBreak(..)
+    , BidiPairedBracketType(..)
     -- * Functions
     , blockCode
     , charFullName
@@ -357,6 +359,48 @@ data BlockCode =
   | SoraSompeng
   | SundaneseSupplement
   | Takri
+  | BassaVah
+  | CaucasianAlbanian
+  | CopticEpactNumbers
+  | CombiningDiacriticalMarksExtended
+  | Duployan
+  | Elbasan
+  | GeometricShapesExtended
+  | Grantha
+  | Khojki
+  | Khudawadi
+  | LatinExtendedE
+  | LinearA
+  | Mahajani
+  | Manichaean
+  | MendeKikakui
+  | Modi
+  | Mro
+  | MyanmarExtendedB
+  | Nabataean
+  | OldNorthArabian
+  | OldPermic
+  | OrnamentalDingbats
+  | PahawhHmong
+  | Palmyrene
+  | PauCinHau
+  | PsalterPahlavi
+  | ShorthandFormatControls
+  | Siddham
+  | SinhalaArchaicNumbers
+  | SupplementalArrowsC
+  | Tirhuta
+  | WarangCiti
+  | Ahom
+  | AnatolianHieroglyphs
+  | CherokeeSupplement
+  | CJKUnifiedIdeographsExtensionE
+  | EarlyDynasticCuneiform
+  | Hatran
+  | Multani
+  | OldHungarian
+  | SupplementalSymbolsAndPictographs
+  | SuttonSignwriting
   deriving (Eq, Enum, Bounded, Show, Typeable)
 
 instance NFData BlockCode where
@@ -475,6 +519,16 @@ data Bool_ =
   -- ^ Printable character class.
   | POSIXXDigit
   -- ^ Hex digit character class.
+  | Cased
+  -- ^ Cased character class. For lowercase, uppercase and titlecase characters.
+  | CaseIgnorable
+  -- ^ Used in context-sensitive case mappings.
+  | ChangesWhenLowercased
+  | ChangesWhenUppercased
+  | ChangesWhenTitlecased
+  | ChangesWhenCasefolded
+  | ChangesWhenCasemapped
+  | ChangesWhenNFKCCasefolded
     deriving (Eq, Enum, Show, Typeable)
 
 instance NFData Bool_ where
@@ -678,6 +732,37 @@ data JoiningGroup =
   | Khaph
   | Zhain
   | BurushaskiYehBarree
+  | FarsiYeh
+  | Nya
+  | RohingyaYeh
+  | ManichaeanAleph
+  | ManichaeanAyin
+  | ManichaeanBeth
+  | ManichaeanDaleth
+  | ManichaeanDhamedh
+  | ManichaeanFive
+  | ManichaeanGimel
+  | ManichaeanHeth
+  | ManichaeanHundred
+  | ManichaeanKaph
+  | ManichaeanLamedh
+  | ManichaeanMem
+  | ManichaeanNun
+  | ManichaeanOne
+  | ManichaeanPe
+  | ManichaeanQoph
+  | ManichaeanResh
+  | ManichaeanSadhe
+  | ManichaeanSamekh
+  | ManichaeanTaw
+  | ManichaeanTen
+  | ManichaeanTeth
+  | ManichaeanThamedh
+  | ManichaeanTwenty
+  | ManichaeanWaw
+  | ManichaeanYodh
+  | ManichaeanZayin
+  | StraightWaw
     deriving (Eq, Enum, Show, Typeable)
 
 instance NFData JoiningGroup where
@@ -748,6 +833,10 @@ data LineBreak =
   | JL
   | JT
   | JV
+  | CloseParenthesis
+  | ConditionalJapaneseStarter
+  | LBHebrewLetter
+  | LBRegionalIndicator
     deriving (Eq, Enum, Show, Typeable)
 
 instance NFData LineBreak where
@@ -918,6 +1007,10 @@ data WordBreak =
   | WBLF
   | WBMidNumLet
   | WBNewline
+  | RegionalIndicator
+  | HebrewLetter
+  | SingleQuote
+  | DoubleQuote
     deriving (Eq, Enum, Show, Typeable)
 
 instance NFData WordBreak where
@@ -927,6 +1020,24 @@ instance Property WordBreak_ (Maybe Word
     fromNative  _ = maybeEnum
     toUProperty _ = (#const UCHAR_WORD_BREAK)
 
+data BidiPairedBracketType_ = BidiPairedBracketType deriving (Show, Typeable)
+
+instance NFData BidiPairedBracketType_ where
+    rnf !_ = ()
+
+data BidiPairedBracketType =
+    BPTNone
+  | BPTOpen
+  | BPTClose
+    deriving (Eq, Enum, Show, Typeable)
+
+instance NFData BidiPairedBracketType where
+    rnf !_ = ()
+
+instance Property BidiPairedBracketType_ (Maybe BidiPairedBracketType) where
+    fromNative  _ = maybeEnum
+    toUProperty _ = (#const UCHAR_BIDI_PAIRED_BRACKET_TYPE)
+
 property :: Property p v => p -> Char -> v
 property p c = fromNative p . u_getIntPropertyValue (fromIntegral (ord c)) .
                toUProperty $ p
