diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,6 +1,8 @@
 # Changelog for hs-opentelemetry-exporter-handle
 
-## Unreleased changes
+## 0.0.1.2
+
+- Support newer dependencies
 
 ## 0.0.1.1
 
diff --git a/hs-opentelemetry-exporter-handle.cabal b/hs-opentelemetry-exporter-handle.cabal
--- a/hs-opentelemetry-exporter-handle.cabal
+++ b/hs-opentelemetry-exporter-handle.cabal
@@ -1,20 +1,20 @@
 cabal-version: 1.12
 
--- This file has been generated from package.yaml by hpack version 0.35.2.
+-- This file has been generated from package.yaml by hpack version 0.36.0.
 --
 -- see: https://github.com/sol/hpack
 
-name:               hs-opentelemetry-exporter-handle
-version:            0.0.1.1
-description:        Please see the README on GitHub at <https://github.com/iand675/hs-opentelemetry/tree/main/exporters/handle#readme>
-homepage:           https://github.com/iand675/hs-opentelemetry#readme
-bug-reports:        https://github.com/iand675/hs-opentelemetry/issues
-author:             Ian Duncan
-maintainer:         ian@iankduncan.com
-copyright:          2021 Ian Duncan
-license:            BSD3
-license-file:       LICENSE
-build-type:         Simple
+name:           hs-opentelemetry-exporter-handle
+version:        0.0.1.2
+description:    Please see the README on GitHub at <https://github.com/iand675/hs-opentelemetry/tree/main/exporters/handle#readme>
+homepage:       https://github.com/iand675/hs-opentelemetry#readme
+bug-reports:    https://github.com/iand675/hs-opentelemetry/issues
+author:         Ian Duncan
+maintainer:     ian@iankduncan.com
+copyright:      2021 Ian Duncan
+license:        BSD3
+license-file:   LICENSE
+build-type:     Simple
 extra-source-files:
     README.md
     ChangeLog.md
@@ -26,27 +26,14 @@
 library
   exposed-modules:
       OpenTelemetry.Exporter.Handle
+      OpenTelemetry.Exporter.Handle.LogRecord
+      OpenTelemetry.Exporter.Handle.Span
   other-modules:
       Paths_hs_opentelemetry_exporter_handle
   hs-source-dirs:
       src
   build-depends:
       base >=4.7 && <5
-    , hs-opentelemetry-api >=0.0.3 && <0.2
-    , text
-  default-language: Haskell2010
-
-test-suite hs-opentelemetry-exporter-handle-test
-  type: exitcode-stdio-1.0
-  main-is: Spec.hs
-  other-modules:
-      Paths_hs_opentelemetry_exporter_handle
-  hs-source-dirs:
-      test
-  ghc-options: -threaded -rtsopts -with-rtsopts=-N
-  build-depends:
-      base >=4.7 && <5
-    , hs-opentelemetry-api >=0.0.3 && <0.2
-    , hs-opentelemetry-exporter-handle
+    , hs-opentelemetry-api ==0.2.*
     , text
   default-language: Haskell2010
diff --git a/src/OpenTelemetry/Exporter/Handle.hs b/src/OpenTelemetry/Exporter/Handle.hs
--- a/src/OpenTelemetry/Exporter/Handle.hs
+++ b/src/OpenTelemetry/Exporter/Handle.hs
@@ -1,48 +1,7 @@
-{-# LANGUAGE DuplicateRecordFields #-}
-{-# LANGUAGE OverloadedStrings #-}
-{-# LANGUAGE RecordWildCards #-}
-
-module OpenTelemetry.Exporter.Handle (
-  makeHandleExporter,
-  -- $
-  stdoutExporter',
-  stderrExporter',
-  -- $
-  defaultFormatter,
+module OpenTelemetry.Exporter.Handle
+  {-# DEPRECATED "use OpenTelemetry.Exporter.Handle.Span instead" #-} (
+  module OpenTelemetry.Exporter.Handle.Span,
 ) where
 
-import Data.IORef
-import qualified Data.Text.Lazy as L
-import qualified Data.Text.Lazy.IO as L
-import OpenTelemetry.Exporter
-import OpenTelemetry.Trace.Core
-import System.IO (Handle, hFlush, stderr, stdout)
-
-
-makeHandleExporter :: Handle -> (ImmutableSpan -> IO L.Text) -> Exporter ImmutableSpan
-makeHandleExporter h f =
-  Exporter
-    { exporterExport = \fs -> do
-        mapM_ (mapM_ (\s -> f s >>= L.hPutStrLn h >> hFlush h)) fs
-        pure Success
-    , exporterShutdown = hFlush h
-    }
-
-
-stdoutExporter' :: (ImmutableSpan -> IO L.Text) -> Exporter ImmutableSpan
-stdoutExporter' = makeHandleExporter stdout
-
-
-stderrExporter' :: (ImmutableSpan -> IO L.Text) -> Exporter ImmutableSpan
-stderrExporter' = makeHandleExporter stderr
-
+import OpenTelemetry.Exporter.Handle.Span
 
-defaultFormatter :: ImmutableSpan -> L.Text
-defaultFormatter ImmutableSpan {..} =
-  L.intercalate
-    " "
-    [ L.pack $ show $ traceId spanContext
-    , L.pack $ show $ spanId spanContext
-    , L.pack $ show spanStart
-    , L.fromStrict spanName
-    ]
diff --git a/src/OpenTelemetry/Exporter/Handle/LogRecord.hs b/src/OpenTelemetry/Exporter/Handle/LogRecord.hs
new file mode 100644
--- /dev/null
+++ b/src/OpenTelemetry/Exporter/Handle/LogRecord.hs
@@ -0,0 +1,2 @@
+module OpenTelemetry.Exporter.Handle.LogRecord () where
+
diff --git a/src/OpenTelemetry/Exporter/Handle/Span.hs b/src/OpenTelemetry/Exporter/Handle/Span.hs
new file mode 100644
--- /dev/null
+++ b/src/OpenTelemetry/Exporter/Handle/Span.hs
@@ -0,0 +1,48 @@
+{-# LANGUAGE DuplicateRecordFields #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+
+module OpenTelemetry.Exporter.Handle.Span (
+  makeHandleExporter,
+  -- $
+  stdoutExporter',
+  stderrExporter',
+  -- $
+  defaultFormatter,
+) where
+
+import Data.IORef
+import qualified Data.Text.Lazy as L
+import qualified Data.Text.Lazy.IO as L
+import OpenTelemetry.Exporter.Span
+import OpenTelemetry.Trace.Core
+import System.IO (Handle, hFlush, stderr, stdout)
+
+
+makeHandleExporter :: Handle -> (ImmutableSpan -> IO L.Text) -> SpanExporter
+makeHandleExporter h f =
+  SpanExporter
+    { spanExporterExport = \fs -> do
+        mapM_ (mapM_ (\s -> f s >>= L.hPutStrLn h >> hFlush h)) fs
+        pure Success
+    , spanExporterShutdown = hFlush h
+    }
+
+
+stdoutExporter' :: (ImmutableSpan -> IO L.Text) -> SpanExporter
+stdoutExporter' = makeHandleExporter stdout
+
+
+stderrExporter' :: (ImmutableSpan -> IO L.Text) -> SpanExporter
+stderrExporter' = makeHandleExporter stderr
+
+
+defaultFormatter :: ImmutableSpan -> L.Text
+defaultFormatter ImmutableSpan {..} =
+  L.intercalate
+    " "
+    [ L.pack $ show $ traceId spanContext
+    , L.pack $ show $ spanId spanContext
+    , L.pack $ show spanStart
+    , L.fromStrict spanName
+    ]
diff --git a/test/Spec.hs b/test/Spec.hs
deleted file mode 100644
--- a/test/Spec.hs
+++ /dev/null
@@ -1,3 +0,0 @@
-
-main :: IO ()
-main = putStrLn "Test suite not yet implemented"
