diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,11 @@
 
 ## Unreleased changes
 
+## 0.1.1.0
+
+* Windows support.
+* Export SlackFormatter type
+
 ## 0.1.0.6
 
 * Relax base bound so we can build on GHC 9
diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-Copyright Tom McLaughlin (c) 2021
+Copyright Tom McLaughlin (c) 2022
 
 All rights reserved.
 
diff --git a/app/Main.hs b/app/Main.hs
--- a/app/Main.hs
+++ b/app/Main.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE CPP #-}
 
 module Main where
 
@@ -9,8 +10,12 @@
 import Test.Sandwich
 import Test.Sandwich.Formatters.Print
 import Test.Sandwich.Formatters.Slack
+
+#ifndef mingw32_HOST_OS
 import Test.Sandwich.Formatters.TerminalUI
+#endif
 
+
 simple :: TopSpec
 simple = parallel $ do
   it "does the thing 1" sleepThenSucceed
@@ -37,8 +42,11 @@
   , slackFormatterVisibilityThreshold = Just 50
   }
 
+#ifndef mingw32_HOST_OS
 baseFormatter = SomeFormatter defaultTerminalUIFormatter
--- baseFormatter = SomeFormatter defaultPrintFormatter
+#else
+baseFormatter = SomeFormatter defaultPrintFormatter
+#endif
 
 main :: IO ()
 main = runSandwich options simple
diff --git a/sandwich-slack.cabal b/sandwich-slack.cabal
--- a/sandwich-slack.cabal
+++ b/sandwich-slack.cabal
@@ -4,10 +4,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 50f2c0f77f15237db2d29e2b36e0b9a3a2d553043aeeb460cd7fe04012530a42
+-- hash: 422cdfb1fbcf3689b33a4017ebe648ea8705988b81842a18176a442681037e9d
 
 name:           sandwich-slack
-version:        0.1.0.6
+version:        0.1.1.0
 synopsis:       Sandwich integration with Slack
 description:    Please see the <https://codedownio.github.io/sandwich/docs/extensions/sandwich-slack documentation>.
 category:       Testing
@@ -15,7 +15,7 @@
 bug-reports:    https://github.com/codedownio/sandwich/issues
 author:         Tom McLaughlin
 maintainer:     tom@codedown.io
-copyright:      2021 Tom McLaughlin
+copyright:      2022 Tom McLaughlin
 license:        BSD3
 license-file:   LICENSE
 build-type:     Simple
diff --git a/src/Test/Sandwich/Formatters/Slack.hs b/src/Test/Sandwich/Formatters/Slack.hs
--- a/src/Test/Sandwich/Formatters/Slack.hs
+++ b/src/Test/Sandwich/Formatters/Slack.hs
@@ -13,6 +13,7 @@
 
 module Test.Sandwich.Formatters.Slack (
   defaultSlackFormatter
+  , SlackFormatter
 
   -- * Options
   , slackFormatterSlackConfig
diff --git a/src/Test/Sandwich/Formatters/Slack/Internal/Markdown.hs b/src/Test/Sandwich/Formatters/Slack/Internal/Markdown.hs
--- a/src/Test/Sandwich/Formatters/Slack/Internal/Markdown.hs
+++ b/src/Test/Sandwich/Formatters/Slack/Internal/Markdown.hs
@@ -2,6 +2,7 @@
 {-# LANGUAGE QuasiQuotes #-}
 {-# LANGUAGE RecordWildCards #-}
 {-# LANGUAGE ViewPatterns #-}
+{-# LANGUAGE CPP #-}
 
 module Test.Sandwich.Formatters.Slack.Internal.Markdown where
 
@@ -16,6 +17,9 @@
 
 toMarkdown :: FailureReason -> T.Text
 toMarkdown (Reason {..}) = T.pack failureReason
+#ifndef mingw32_HOST_OS
+toMarkdown (RawImage {..}) = T.pack failureFallback
+#endif
 toMarkdown (ChildrenFailed {failureNumChildren=n}) = [i|#{n} #{if n == 1 then ("child" :: T.Text) else "children"} failed|]
 toMarkdown (ExpectedButGot {..}) = [i|Expected *#{failureValue1}* but got *#{failureValue2}*|]
 toMarkdown (DidNotExpectButGot {..}) = [i|Did not expect *#{failureValue1}*|]
