diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,13 @@
 # Changelog for unliftio
 
+## 0.2.21.0
+
+* Add `UnliftIO.Directory.createDirectoryLink`
+* Add `UnliftIO.Directory.removeDirectoryLink`
+* Add `UnliftIO.Directory.getSymbolicLinkTarget`
+* Add `UnliftIO.Directory.XdgDirectoryList`
+* Add `UnliftIO.Directory.getXdgDirectoryList`
+
 ## 0.2.20.1
 
 * Fix time-osx.c for aarch64 mac [#91](https://github.com/fpco/unliftio/pull/91)
diff --git a/src/UnliftIO/Directory.hs b/src/UnliftIO/Directory.hs
--- a/src/UnliftIO/Directory.hs
+++ b/src/UnliftIO/Directory.hs
@@ -9,6 +9,9 @@
   , createDirectoryIfMissing
 #if MIN_VERSION_directory(1,3,1)
   , createFileLink
+  , createDirectoryLink
+  , removeDirectoryLink
+  , getSymbolicLinkTarget
 #endif
   , removeDirectory
   , removeDirectoryRecursive
@@ -34,6 +37,10 @@
   , XdgDirectory(..)
   , getXdgDirectory
 #endif
+#if MIN_VERSION_directory(1,3,2)
+  , XdgDirectoryList(..)
+  , getXdgDirectoryList
+#endif
   , getAppUserDataDirectory
   , getUserDocumentsDirectory
   , getTemporaryDirectory
@@ -123,6 +130,9 @@
 #if MIN_VERSION_directory(1,2,3)
   , XdgDirectory(..)
 #endif
+#if MIN_VERSION_directory(1,3,2)
+  , XdgDirectoryList(..)
+#endif
   , emptyPermissions
 #if MIN_VERSION_directory(1,2,4)
   , exeExtension
@@ -164,6 +174,27 @@
   -> m ()
 createFileLink targetPath linkPath =
   liftIO (D.createFileLink targetPath linkPath)
+
+-- | Lifted 'D.createDirectoryLink'.
+--
+-- @since 0.2.21.0
+createDirectoryLink :: MonadIO m => FilePath -> FilePath -> m ()
+createDirectoryLink targetPath linkPath =
+  liftIO (D.createDirectoryLink targetPath linkPath)
+
+-- | Lifted 'D.removeDirectoryLink'.
+--
+-- @since 0.2.21.0
+removeDirectoryLink :: MonadIO m => FilePath -> m ()
+removeDirectoryLink linkPath =
+  liftIO (D.removeDirectoryLink linkPath)
+
+-- | Lifted 'D.getSymbolicLinkTarget'.
+--
+-- @since 0.2.21.0
+getSymbolicLinkTarget :: MonadIO m => FilePath -> m FilePath
+getSymbolicLinkTarget linkPath =
+  liftIO (D.getSymbolicLinkTarget linkPath)
 #endif
 
 -- | Lifted 'D.removeDirectory'.
@@ -250,6 +281,15 @@
 {-# INLINE getXdgDirectory #-}
 getXdgDirectory :: MonadIO m => XdgDirectory -> FilePath -> m FilePath
 getXdgDirectory xdgDir suffix = liftIO (D.getXdgDirectory xdgDir suffix)
+#endif
+
+#if MIN_VERSION_directory(1,3,2)
+-- | Lifted 'D.getXdgDirectoryList'.
+--
+-- @since 0.2.21.0
+getXdgDirectoryList :: MonadIO m => XdgDirectoryList -> m [FilePath]
+getXdgDirectoryList xdgDirectoryList =
+  liftIO (D.getXdgDirectoryList xdgDirectoryList)
 #endif
 
 -- | Lifted 'D.getAppUserDataDirectory'.
diff --git a/unliftio.cabal b/unliftio.cabal
--- a/unliftio.cabal
+++ b/unliftio.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           unliftio
-version:        0.2.20.1
+version:        0.2.21.0
 synopsis:       The MonadUnliftIO typeclass for unlifting monads to IO (batteries included)
 description:    Please see the documentation and README at <https://www.stackage.org/package/unliftio>
 category:       Control
