diff --git a/src/ZooKeeper/Internal/Types.hsc b/src/ZooKeeper/Internal/Types.hsc
--- a/src/ZooKeeper/Internal/Types.hsc
+++ b/src/ZooKeeper/Internal/Types.hsc
@@ -257,17 +257,13 @@
 newtype CreateMode = CreateMode { unCreateMode :: CInt }
   deriving (Show, Eq, Storable)
 
-pattern ZooPersistent :: CreateMode
-pattern ZooPersistent = CreateMode 0
-
--- | The znode will be deleted upon the client's disconnect.
-pattern ZooEphemeral :: CreateMode
-pattern ZooEphemeral = CreateMode (#const ZOO_EPHEMERAL)
-
-pattern ZooSequence :: CreateMode
-pattern ZooSequence = CreateMode (#const ZOO_SEQUENCE)
+-- TODO: The following C constants (such as ZOO_PERSISTENT, ZOO_PERSISTENT_SEQUENTIAL
+--       and ZOO_EPTHMERAL_SEQUENTIAL) are not defined on clients <= 3.4.x. However,
+--       they can be used by passing an integer directly.
+--
+--       The hard-coded ones will be replaced with the following patterns which use
+--       C constants when the library only support clients >= 3.5.x.
 
--- TODO
 --pattern ZooPersistent :: CreateMode
 --pattern ZooPersistent = CreateMode (#const ZOO_PERSISTENT)
 --
@@ -285,6 +281,31 @@
 --
 --pattern ZooPersistentSequentialWithTTL :: CreateMode
 --pattern ZooPersistentSequentialWithTTL = CreateMode (#const ZOO_PERSISTENT_SEQUENTIAL_WITH_TTL)
+
+pattern ZooPersistent :: CreateMode
+pattern ZooPersistent = CreateMode 0
+
+pattern ZooPersistentSequential :: CreateMode
+pattern ZooPersistentSequential = CreateMode 2
+
+pattern ZooEphemeralSequential :: CreateMode
+pattern ZooEphemeralSequential = CreateMode 3
+
+pattern ZooContainer :: CreateMode
+pattern ZooContainer = CreateMode 4
+
+pattern ZooPersistentWithTTL :: CreateMode
+pattern ZooPersistentWithTTL = CreateMode 5
+
+pattern ZooPersistentSequentialWithTTL :: CreateMode
+pattern ZooPersistentSequentialWithTTL = CreateMode 6
+
+-- | The znode will be deleted upon the client's disconnect.
+pattern ZooEphemeral :: CreateMode
+pattern ZooEphemeral = CreateMode (#const ZOO_EPHEMERAL)
+
+pattern ZooSequence :: CreateMode
+pattern ZooSequence = CreateMode (#const ZOO_SEQUENCE)
 
 data Stat = Stat
   { statCzxid          :: {-# UNPACK #-} !Int64
diff --git a/zoovisitor.cabal b/zoovisitor.cabal
--- a/zoovisitor.cabal
+++ b/zoovisitor.cabal
@@ -1,6 +1,6 @@
 cabal-version:      2.2
 name:               zoovisitor
-version:            0.1.2.0
+version:            0.1.3.0
 synopsis:
   A haskell binding to Apache Zookeeper C library(mt) using Haskell Z project.
 
@@ -40,7 +40,7 @@
 
   build-depends:
     , base    >=4.12  && <5
-    , Z-Data  >=0.7.2 && <1.0
+    , Z-Data  >=0.7.2 && <1.1
     , Z-IO    >=0.7   && <1.0
 
   includes:           hs_zk.h
