diff --git a/GI/Poppler/Structs/ActionAny.hs b/GI/Poppler/Structs/ActionAny.hs
--- a/GI/Poppler/Structs/ActionAny.hs
+++ b/GI/Poppler/Structs/ActionAny.hs
@@ -44,9 +44,14 @@
 import GI.Poppler.Callbacks
 
 newtype ActionAny = ActionAny (ForeignPtr ActionAny)
+instance WrappedPtr ActionAny where
+    wrappedPtrCalloc = callocBytes 16
+    wrappedPtrCopy = copyPtr 16
+    wrappedPtrFree = Just ptr_to_g_free
+
 -- | Construct a `ActionAny` struct initialized to zero.
 newZeroActionAny :: MonadIO m => m ActionAny
-newZeroActionAny = liftIO $ callocBytes 16 >>= wrapPtr ActionAny
+newZeroActionAny = liftIO $ wrappedPtrCalloc >>= wrapPtr ActionAny
 
 instance tag ~ 'AttrSet => Constructible ActionAny tag where
     new _ attrs = do
diff --git a/GI/Poppler/Structs/ActionAny.hs-boot b/GI/Poppler/Structs/ActionAny.hs-boot
--- a/GI/Poppler/Structs/ActionAny.hs-boot
+++ b/GI/Poppler/Structs/ActionAny.hs-boot
@@ -8,3 +8,4 @@
 import qualified Data.Map as Map
 
 newtype ActionAny = ActionAny (ForeignPtr ActionAny)
+instance WrappedPtr ActionAny where
diff --git a/GI/Poppler/Structs/ActionGotoDest.hs b/GI/Poppler/Structs/ActionGotoDest.hs
--- a/GI/Poppler/Structs/ActionGotoDest.hs
+++ b/GI/Poppler/Structs/ActionGotoDest.hs
@@ -51,9 +51,14 @@
 import GI.Poppler.Callbacks
 
 newtype ActionGotoDest = ActionGotoDest (ForeignPtr ActionGotoDest)
+instance WrappedPtr ActionGotoDest where
+    wrappedPtrCalloc = callocBytes 24
+    wrappedPtrCopy = copyPtr 24
+    wrappedPtrFree = Just ptr_to_g_free
+
 -- | Construct a `ActionGotoDest` struct initialized to zero.
 newZeroActionGotoDest :: MonadIO m => m ActionGotoDest
-newZeroActionGotoDest = liftIO $ callocBytes 24 >>= wrapPtr ActionGotoDest
+newZeroActionGotoDest = liftIO $ wrappedPtrCalloc >>= wrapPtr ActionGotoDest
 
 instance tag ~ 'AttrSet => Constructible ActionGotoDest tag where
     new _ attrs = do
diff --git a/GI/Poppler/Structs/ActionGotoDest.hs-boot b/GI/Poppler/Structs/ActionGotoDest.hs-boot
--- a/GI/Poppler/Structs/ActionGotoDest.hs-boot
+++ b/GI/Poppler/Structs/ActionGotoDest.hs-boot
@@ -8,3 +8,4 @@
 import qualified Data.Map as Map
 
 newtype ActionGotoDest = ActionGotoDest (ForeignPtr ActionGotoDest)
+instance WrappedPtr ActionGotoDest where
diff --git a/GI/Poppler/Structs/ActionGotoRemote.hs b/GI/Poppler/Structs/ActionGotoRemote.hs
--- a/GI/Poppler/Structs/ActionGotoRemote.hs
+++ b/GI/Poppler/Structs/ActionGotoRemote.hs
@@ -58,9 +58,14 @@
 import GI.Poppler.Callbacks
 
 newtype ActionGotoRemote = ActionGotoRemote (ForeignPtr ActionGotoRemote)
+instance WrappedPtr ActionGotoRemote where
+    wrappedPtrCalloc = callocBytes 32
+    wrappedPtrCopy = copyPtr 32
+    wrappedPtrFree = Just ptr_to_g_free
+
 -- | Construct a `ActionGotoRemote` struct initialized to zero.
 newZeroActionGotoRemote :: MonadIO m => m ActionGotoRemote
-newZeroActionGotoRemote = liftIO $ callocBytes 32 >>= wrapPtr ActionGotoRemote
+newZeroActionGotoRemote = liftIO $ wrappedPtrCalloc >>= wrapPtr ActionGotoRemote
 
 instance tag ~ 'AttrSet => Constructible ActionGotoRemote tag where
     new _ attrs = do
diff --git a/GI/Poppler/Structs/ActionGotoRemote.hs-boot b/GI/Poppler/Structs/ActionGotoRemote.hs-boot
--- a/GI/Poppler/Structs/ActionGotoRemote.hs-boot
+++ b/GI/Poppler/Structs/ActionGotoRemote.hs-boot
@@ -8,3 +8,4 @@
 import qualified Data.Map as Map
 
 newtype ActionGotoRemote = ActionGotoRemote (ForeignPtr ActionGotoRemote)
+instance WrappedPtr ActionGotoRemote where
diff --git a/GI/Poppler/Structs/ActionJavascript.hs b/GI/Poppler/Structs/ActionJavascript.hs
--- a/GI/Poppler/Structs/ActionJavascript.hs
+++ b/GI/Poppler/Structs/ActionJavascript.hs
@@ -51,9 +51,14 @@
 import GI.Poppler.Callbacks
 
 newtype ActionJavascript = ActionJavascript (ForeignPtr ActionJavascript)
+instance WrappedPtr ActionJavascript where
+    wrappedPtrCalloc = callocBytes 24
+    wrappedPtrCopy = copyPtr 24
+    wrappedPtrFree = Just ptr_to_g_free
+
 -- | Construct a `ActionJavascript` struct initialized to zero.
 newZeroActionJavascript :: MonadIO m => m ActionJavascript
-newZeroActionJavascript = liftIO $ callocBytes 24 >>= wrapPtr ActionJavascript
+newZeroActionJavascript = liftIO $ wrappedPtrCalloc >>= wrapPtr ActionJavascript
 
 instance tag ~ 'AttrSet => Constructible ActionJavascript tag where
     new _ attrs = do
diff --git a/GI/Poppler/Structs/ActionJavascript.hs-boot b/GI/Poppler/Structs/ActionJavascript.hs-boot
--- a/GI/Poppler/Structs/ActionJavascript.hs-boot
+++ b/GI/Poppler/Structs/ActionJavascript.hs-boot
@@ -8,3 +8,4 @@
 import qualified Data.Map as Map
 
 newtype ActionJavascript = ActionJavascript (ForeignPtr ActionJavascript)
+instance WrappedPtr ActionJavascript where
diff --git a/GI/Poppler/Structs/ActionLaunch.hs b/GI/Poppler/Structs/ActionLaunch.hs
--- a/GI/Poppler/Structs/ActionLaunch.hs
+++ b/GI/Poppler/Structs/ActionLaunch.hs
@@ -58,9 +58,14 @@
 import GI.Poppler.Callbacks
 
 newtype ActionLaunch = ActionLaunch (ForeignPtr ActionLaunch)
+instance WrappedPtr ActionLaunch where
+    wrappedPtrCalloc = callocBytes 32
+    wrappedPtrCopy = copyPtr 32
+    wrappedPtrFree = Just ptr_to_g_free
+
 -- | Construct a `ActionLaunch` struct initialized to zero.
 newZeroActionLaunch :: MonadIO m => m ActionLaunch
-newZeroActionLaunch = liftIO $ callocBytes 32 >>= wrapPtr ActionLaunch
+newZeroActionLaunch = liftIO $ wrappedPtrCalloc >>= wrapPtr ActionLaunch
 
 instance tag ~ 'AttrSet => Constructible ActionLaunch tag where
     new _ attrs = do
diff --git a/GI/Poppler/Structs/ActionLaunch.hs-boot b/GI/Poppler/Structs/ActionLaunch.hs-boot
--- a/GI/Poppler/Structs/ActionLaunch.hs-boot
+++ b/GI/Poppler/Structs/ActionLaunch.hs-boot
@@ -8,3 +8,4 @@
 import qualified Data.Map as Map
 
 newtype ActionLaunch = ActionLaunch (ForeignPtr ActionLaunch)
+instance WrappedPtr ActionLaunch where
diff --git a/GI/Poppler/Structs/ActionLayer.hs b/GI/Poppler/Structs/ActionLayer.hs
--- a/GI/Poppler/Structs/ActionLayer.hs
+++ b/GI/Poppler/Structs/ActionLayer.hs
@@ -46,9 +46,14 @@
 import GI.Poppler.Callbacks
 
 newtype ActionLayer = ActionLayer (ForeignPtr ActionLayer)
+instance WrappedPtr ActionLayer where
+    wrappedPtrCalloc = callocBytes 16
+    wrappedPtrCopy = copyPtr 16
+    wrappedPtrFree = Just ptr_to_g_free
+
 -- | Construct a `ActionLayer` struct initialized to zero.
 newZeroActionLayer :: MonadIO m => m ActionLayer
-newZeroActionLayer = liftIO $ callocBytes 16 >>= wrapPtr ActionLayer
+newZeroActionLayer = liftIO $ wrappedPtrCalloc >>= wrapPtr ActionLayer
 
 instance tag ~ 'AttrSet => Constructible ActionLayer tag where
     new _ attrs = do
diff --git a/GI/Poppler/Structs/ActionLayer.hs-boot b/GI/Poppler/Structs/ActionLayer.hs-boot
--- a/GI/Poppler/Structs/ActionLayer.hs-boot
+++ b/GI/Poppler/Structs/ActionLayer.hs-boot
@@ -8,3 +8,4 @@
 import qualified Data.Map as Map
 
 newtype ActionLayer = ActionLayer (ForeignPtr ActionLayer)
+instance WrappedPtr ActionLayer where
diff --git a/GI/Poppler/Structs/ActionMovie.hs b/GI/Poppler/Structs/ActionMovie.hs
--- a/GI/Poppler/Structs/ActionMovie.hs
+++ b/GI/Poppler/Structs/ActionMovie.hs
@@ -57,9 +57,14 @@
 import GI.Poppler.Callbacks
 
 newtype ActionMovie = ActionMovie (ForeignPtr ActionMovie)
+instance WrappedPtr ActionMovie where
+    wrappedPtrCalloc = callocBytes 32
+    wrappedPtrCopy = copyPtr 32
+    wrappedPtrFree = Just ptr_to_g_free
+
 -- | Construct a `ActionMovie` struct initialized to zero.
 newZeroActionMovie :: MonadIO m => m ActionMovie
-newZeroActionMovie = liftIO $ callocBytes 32 >>= wrapPtr ActionMovie
+newZeroActionMovie = liftIO $ wrappedPtrCalloc >>= wrapPtr ActionMovie
 
 instance tag ~ 'AttrSet => Constructible ActionMovie tag where
     new _ attrs = do
diff --git a/GI/Poppler/Structs/ActionMovie.hs-boot b/GI/Poppler/Structs/ActionMovie.hs-boot
--- a/GI/Poppler/Structs/ActionMovie.hs-boot
+++ b/GI/Poppler/Structs/ActionMovie.hs-boot
@@ -8,3 +8,4 @@
 import qualified Data.Map as Map
 
 newtype ActionMovie = ActionMovie (ForeignPtr ActionMovie)
+instance WrappedPtr ActionMovie where
diff --git a/GI/Poppler/Structs/ActionNamed.hs b/GI/Poppler/Structs/ActionNamed.hs
--- a/GI/Poppler/Structs/ActionNamed.hs
+++ b/GI/Poppler/Structs/ActionNamed.hs
@@ -51,9 +51,14 @@
 import GI.Poppler.Callbacks
 
 newtype ActionNamed = ActionNamed (ForeignPtr ActionNamed)
+instance WrappedPtr ActionNamed where
+    wrappedPtrCalloc = callocBytes 24
+    wrappedPtrCopy = copyPtr 24
+    wrappedPtrFree = Just ptr_to_g_free
+
 -- | Construct a `ActionNamed` struct initialized to zero.
 newZeroActionNamed :: MonadIO m => m ActionNamed
-newZeroActionNamed = liftIO $ callocBytes 24 >>= wrapPtr ActionNamed
+newZeroActionNamed = liftIO $ wrappedPtrCalloc >>= wrapPtr ActionNamed
 
 instance tag ~ 'AttrSet => Constructible ActionNamed tag where
     new _ attrs = do
diff --git a/GI/Poppler/Structs/ActionNamed.hs-boot b/GI/Poppler/Structs/ActionNamed.hs-boot
--- a/GI/Poppler/Structs/ActionNamed.hs-boot
+++ b/GI/Poppler/Structs/ActionNamed.hs-boot
@@ -8,3 +8,4 @@
 import qualified Data.Map as Map
 
 newtype ActionNamed = ActionNamed (ForeignPtr ActionNamed)
+instance WrappedPtr ActionNamed where
diff --git a/GI/Poppler/Structs/ActionOCGState.hs b/GI/Poppler/Structs/ActionOCGState.hs
--- a/GI/Poppler/Structs/ActionOCGState.hs
+++ b/GI/Poppler/Structs/ActionOCGState.hs
@@ -51,9 +51,14 @@
 import GI.Poppler.Callbacks
 
 newtype ActionOCGState = ActionOCGState (ForeignPtr ActionOCGState)
+instance WrappedPtr ActionOCGState where
+    wrappedPtrCalloc = callocBytes 24
+    wrappedPtrCopy = copyPtr 24
+    wrappedPtrFree = Just ptr_to_g_free
+
 -- | Construct a `ActionOCGState` struct initialized to zero.
 newZeroActionOCGState :: MonadIO m => m ActionOCGState
-newZeroActionOCGState = liftIO $ callocBytes 24 >>= wrapPtr ActionOCGState
+newZeroActionOCGState = liftIO $ wrappedPtrCalloc >>= wrapPtr ActionOCGState
 
 instance tag ~ 'AttrSet => Constructible ActionOCGState tag where
     new _ attrs = do
diff --git a/GI/Poppler/Structs/ActionOCGState.hs-boot b/GI/Poppler/Structs/ActionOCGState.hs-boot
--- a/GI/Poppler/Structs/ActionOCGState.hs-boot
+++ b/GI/Poppler/Structs/ActionOCGState.hs-boot
@@ -8,3 +8,4 @@
 import qualified Data.Map as Map
 
 newtype ActionOCGState = ActionOCGState (ForeignPtr ActionOCGState)
+instance WrappedPtr ActionOCGState where
diff --git a/GI/Poppler/Structs/ActionRendition.hs b/GI/Poppler/Structs/ActionRendition.hs
--- a/GI/Poppler/Structs/ActionRendition.hs
+++ b/GI/Poppler/Structs/ActionRendition.hs
@@ -57,9 +57,14 @@
 import GI.Poppler.Callbacks
 
 newtype ActionRendition = ActionRendition (ForeignPtr ActionRendition)
+instance WrappedPtr ActionRendition where
+    wrappedPtrCalloc = callocBytes 32
+    wrappedPtrCopy = copyPtr 32
+    wrappedPtrFree = Just ptr_to_g_free
+
 -- | Construct a `ActionRendition` struct initialized to zero.
 newZeroActionRendition :: MonadIO m => m ActionRendition
-newZeroActionRendition = liftIO $ callocBytes 32 >>= wrapPtr ActionRendition
+newZeroActionRendition = liftIO $ wrappedPtrCalloc >>= wrapPtr ActionRendition
 
 instance tag ~ 'AttrSet => Constructible ActionRendition tag where
     new _ attrs = do
diff --git a/GI/Poppler/Structs/ActionRendition.hs-boot b/GI/Poppler/Structs/ActionRendition.hs-boot
--- a/GI/Poppler/Structs/ActionRendition.hs-boot
+++ b/GI/Poppler/Structs/ActionRendition.hs-boot
@@ -8,3 +8,4 @@
 import qualified Data.Map as Map
 
 newtype ActionRendition = ActionRendition (ForeignPtr ActionRendition)
+instance WrappedPtr ActionRendition where
diff --git a/GI/Poppler/Structs/ActionUri.hs b/GI/Poppler/Structs/ActionUri.hs
--- a/GI/Poppler/Structs/ActionUri.hs
+++ b/GI/Poppler/Structs/ActionUri.hs
@@ -51,9 +51,14 @@
 import GI.Poppler.Callbacks
 
 newtype ActionUri = ActionUri (ForeignPtr ActionUri)
+instance WrappedPtr ActionUri where
+    wrappedPtrCalloc = callocBytes 24
+    wrappedPtrCopy = copyPtr 24
+    wrappedPtrFree = Just ptr_to_g_free
+
 -- | Construct a `ActionUri` struct initialized to zero.
 newZeroActionUri :: MonadIO m => m ActionUri
-newZeroActionUri = liftIO $ callocBytes 24 >>= wrapPtr ActionUri
+newZeroActionUri = liftIO $ wrappedPtrCalloc >>= wrapPtr ActionUri
 
 instance tag ~ 'AttrSet => Constructible ActionUri tag where
     new _ attrs = do
diff --git a/GI/Poppler/Structs/ActionUri.hs-boot b/GI/Poppler/Structs/ActionUri.hs-boot
--- a/GI/Poppler/Structs/ActionUri.hs-boot
+++ b/GI/Poppler/Structs/ActionUri.hs-boot
@@ -8,3 +8,4 @@
 import qualified Data.Map as Map
 
 newtype ActionUri = ActionUri (ForeignPtr ActionUri)
+instance WrappedPtr ActionUri where
diff --git a/GI/Poppler/Unions/Action.hs b/GI/Poppler/Unions/Action.hs
--- a/GI/Poppler/Unions/Action.hs
+++ b/GI/Poppler/Unions/Action.hs
@@ -171,7 +171,7 @@
 actionReadAny s = liftIO $ withManagedPtr s $ \ptr -> do
     val <- peek (ptr `plusPtr` 0) :: IO (Ptr ActionAny)
     result <- convertIfNonNull val $ \val' -> do
-        val'' <- (newPtr 16 ActionAny) val'
+        val'' <- (newPtr ActionAny) val'
         return val''
     return result
 
@@ -203,7 +203,7 @@
 actionReadGotoDest s = liftIO $ withManagedPtr s $ \ptr -> do
     val <- peek (ptr `plusPtr` 0) :: IO (Ptr ActionGotoDest)
     result <- convertIfNonNull val $ \val' -> do
-        val'' <- (newPtr 24 ActionGotoDest) val'
+        val'' <- (newPtr ActionGotoDest) val'
         return val''
     return result
 
@@ -235,7 +235,7 @@
 actionReadGotoRemote s = liftIO $ withManagedPtr s $ \ptr -> do
     val <- peek (ptr `plusPtr` 0) :: IO (Ptr ActionGotoRemote)
     result <- convertIfNonNull val $ \val' -> do
-        val'' <- (newPtr 32 ActionGotoRemote) val'
+        val'' <- (newPtr ActionGotoRemote) val'
         return val''
     return result
 
@@ -267,7 +267,7 @@
 actionReadLaunch s = liftIO $ withManagedPtr s $ \ptr -> do
     val <- peek (ptr `plusPtr` 0) :: IO (Ptr ActionLaunch)
     result <- convertIfNonNull val $ \val' -> do
-        val'' <- (newPtr 32 ActionLaunch) val'
+        val'' <- (newPtr ActionLaunch) val'
         return val''
     return result
 
@@ -299,7 +299,7 @@
 actionReadUri s = liftIO $ withManagedPtr s $ \ptr -> do
     val <- peek (ptr `plusPtr` 0) :: IO (Ptr ActionUri)
     result <- convertIfNonNull val $ \val' -> do
-        val'' <- (newPtr 24 ActionUri) val'
+        val'' <- (newPtr ActionUri) val'
         return val''
     return result
 
@@ -331,7 +331,7 @@
 actionReadNamed s = liftIO $ withManagedPtr s $ \ptr -> do
     val <- peek (ptr `plusPtr` 0) :: IO (Ptr ActionNamed)
     result <- convertIfNonNull val $ \val' -> do
-        val'' <- (newPtr 24 ActionNamed) val'
+        val'' <- (newPtr ActionNamed) val'
         return val''
     return result
 
@@ -363,7 +363,7 @@
 actionReadMovie s = liftIO $ withManagedPtr s $ \ptr -> do
     val <- peek (ptr `plusPtr` 0) :: IO (Ptr ActionMovie)
     result <- convertIfNonNull val $ \val' -> do
-        val'' <- (newPtr 32 ActionMovie) val'
+        val'' <- (newPtr ActionMovie) val'
         return val''
     return result
 
@@ -395,7 +395,7 @@
 actionReadRendition s = liftIO $ withManagedPtr s $ \ptr -> do
     val <- peek (ptr `plusPtr` 0) :: IO (Ptr ActionRendition)
     result <- convertIfNonNull val $ \val' -> do
-        val'' <- (newPtr 32 ActionRendition) val'
+        val'' <- (newPtr ActionRendition) val'
         return val''
     return result
 
@@ -427,7 +427,7 @@
 actionReadOcgState s = liftIO $ withManagedPtr s $ \ptr -> do
     val <- peek (ptr `plusPtr` 0) :: IO (Ptr ActionOCGState)
     result <- convertIfNonNull val $ \val' -> do
-        val'' <- (newPtr 24 ActionOCGState) val'
+        val'' <- (newPtr ActionOCGState) val'
         return val''
     return result
 
@@ -459,7 +459,7 @@
 actionReadJavascript s = liftIO $ withManagedPtr s $ \ptr -> do
     val <- peek (ptr `plusPtr` 0) :: IO (Ptr ActionJavascript)
     result <- convertIfNonNull val $ \val' -> do
-        val'' <- (newPtr 24 ActionJavascript) val'
+        val'' <- (newPtr ActionJavascript) val'
         return val''
     return result
 
diff --git a/gi-poppler.cabal b/gi-poppler.cabal
--- a/gi-poppler.cabal
+++ b/gi-poppler.cabal
@@ -1,6 +1,6 @@
 -- Autogenerated, do not edit.
 name:               gi-poppler
-version:            0.0.34.14
+version:            0.0.34.15
 synopsis:           Poppler bindings
 description:        Bindings for Poppler, autogenerated by haskell-gi.
 homepage:           https://github.com/haskell-gi/haskell-gi
@@ -79,11 +79,11 @@
                         GI.Poppler.Unions.Action
     pkgconfig-depends:  poppler-glib >= 0.34
     build-depends: base >= 4.7 && <5,
-        haskell-gi-base >= 0.14 && < 1,
-        gi-glib >= 0.2.46.14 && < 0.2.47,
-        gi-gobject >= 0.2.46.14 && < 0.2.47,
-        gi-gio >= 0.2.46.14 && < 0.2.47,
-        gi-cairo >= 0.1.14.14 && < 0.1.15,
+        haskell-gi-base >= 0.15 && < 1,
+        gi-glib >= 0.2.46.15 && < 0.2.47,
+        gi-gobject >= 0.2.46.15 && < 0.2.47,
+        gi-gio >= 0.2.46.15 && < 0.2.47,
+        gi-cairo >= 0.1.14.15 && < 0.1.15,
         bytestring >= 0.10,
         containers >= 0.5,
         text >= 1.0,
