diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # libarchive
 
+## 2.1.2.0
+
+  * More complete API
+
 ## 2.1.1.0
 
   * Remove weeds, export things that were missing from past releases
diff --git a/libarchive.cabal b/libarchive.cabal
--- a/libarchive.cabal
+++ b/libarchive.cabal
@@ -1,6 +1,6 @@
 cabal-version:   1.18
 name:            libarchive
-version:         2.1.1.0
+version:         2.1.2.0
 license:         BSD3
 license-file:    LICENSE
 copyright:       Copyright: (c) 2018-2019 Vanessa McHale
diff --git a/src/Codec/Archive/Foreign/ArchiveEntry.chs b/src/Codec/Archive/Foreign/ArchiveEntry.chs
--- a/src/Codec/Archive/Foreign/ArchiveEntry.chs
+++ b/src/Codec/Archive/Foreign/ArchiveEntry.chs
@@ -52,6 +52,7 @@
                                           , archiveEntrySizeIsSet
                                           , archiveEntryStrmode
                                           , archiveEntrySymlink
+                                          , archiveEntrySymlinkType
                                           , archiveEntrySymlinkW
                                           , archiveEntrySymlinkUtf8
                                           , archiveEntryUid
@@ -207,6 +208,7 @@
                                           -- * Lower-level API types
                                           , FileType (..)
                                           , EntryACL
+                                          , Symlink (..)
                                           -- * Type synonyms
                                           , ArchiveEntryPtr
                                           , LinkResolverPtr
@@ -288,6 +290,8 @@
 {# fun archive_entry_size as ^ { `ArchiveEntryPtr' } -> `LaInt64' #}
 {# fun archive_entry_strmode as ^ { `ArchiveEntryPtr' } -> `CString' #}
 {# fun archive_entry_symlink as ^ { `ArchiveEntryPtr' } -> `CString' #}
+-- | @since 2.1.2.0
+{# fun archive_entry_symlink_type as ^ { `ArchiveEntryPtr' } -> `Symlink' #}
 {# fun archive_entry_symlink_w as ^ { `ArchiveEntryPtr' } -> `CWString' #}
 {# fun archive_entry_symlink_utf8 as ^ { `ArchiveEntryPtr' } -> `CString' #}
 {# fun archive_entry_uid as ^ { `ArchiveEntryPtr' } -> `LaInt64' #}
diff --git a/src/Codec/Archive/Monad.hs b/src/Codec/Archive/Monad.hs
--- a/src/Codec/Archive/Monad.hs
+++ b/src/Codec/Archive/Monad.hs
@@ -15,9 +15,8 @@
 import           Data.ByteString        (useAsCStringLen)
 import qualified Data.ByteString        as BS
 import           Foreign.C.String
-import           Foreign.Marshal.Alloc  (alloca, allocaBytes)
+import           Foreign.Marshal.Alloc  (allocaBytes)
 import           Foreign.Ptr            (Ptr)
-import           Foreign.Storable       (Storable)
 
 type ArchiveM = ExceptT ArchiveResult IO
 
