diff --git a/CHANGES.markdown b/CHANGES.markdown
--- a/CHANGES.markdown
+++ b/CHANGES.markdown
@@ -1,3 +1,6 @@
+## Changes in 2.11.16 (2025-12-12)
+  - Add support for MicroHs
+
 ## Changes in 2.11.15 (2025-12-08)
   - Remove redundant `tf-random` dependency
 
diff --git a/hspec.cabal b/hspec.cabal
--- a/hspec.cabal
+++ b/hspec.cabal
@@ -1,11 +1,11 @@
 cabal-version: 1.12
 
--- This file has been generated from package.yaml by hpack version 0.38.3.
+-- This file has been generated from package.yaml by hpack version 0.39.1.
 --
 -- see: https://github.com/sol/hpack
 
 name:             hspec
-version:          2.11.15
+version:          2.11.16
 license:          MIT
 license-file:     LICENSE
 copyright:        (c) 2011-2025 Simon Hengel,
@@ -46,15 +46,18 @@
   build-depends:
       QuickCheck >=2.12
     , base ==4.*
-    , hspec-core ==2.11.15
-    , hspec-discover ==2.11.15
+    , hspec-core ==2.11.16
+    , hspec-discover ==2.11.16
     , hspec-expectations ==0.8.4.*
   exposed-modules:
       Test.Hspec
       Test.Hspec.Discover
-      Test.Hspec.Formatters
       Test.Hspec.QuickCheck
       Test.Hspec.Runner
   other-modules:
       Paths_hspec
   default-language: Haskell2010
+  if impl(ghc)
+    exposed-modules:
+        Test.Hspec.Formatters
+    cpp-options: -DENABLE_SPEC_HOOKS -DENABLE_SPEC_HOOK_ARGS -DENABLE_LEGACY_V1_FORMATTERS
diff --git a/src/Test/Hspec.hs b/src/Test/Hspec.hs
--- a/src/Test/Hspec.hs
+++ b/src/Test/Hspec.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
 -- |
 -- Stability: stable
 --
@@ -10,7 +11,8 @@
 -- * Types
   Spec
 , SpecWith
-, Example(Arg)
+, Example
+, Arg
 
 -- * Setting expectations
 , module Test.Hspec.Expectations
@@ -49,6 +51,7 @@
 , fdescribe
 , fcontext
 
+#ifdef ENABLE_SPEC_HOOKS
 -- * Hooks
 , ActionWith
 , before
@@ -69,13 +72,16 @@
 , aroundAllWith
 , mapSubject
 , ignoreSubject
+#endif
 
 -- * Running a spec
 , hspec
 ) where
 
 import           Test.Hspec.Core.Spec
+#ifdef ENABLE_SPEC_HOOKS
 import           Test.Hspec.Core.Hooks
+#endif
 import           Test.Hspec.Runner
 import           Test.Hspec.Expectations
 
diff --git a/src/Test/Hspec/Discover.hs b/src/Test/Hspec/Discover.hs
--- a/src/Test/Hspec/Discover.hs
+++ b/src/Test/Hspec/Discover.hs
@@ -1,12 +1,16 @@
 {-# OPTIONS_GHC -fno-warn-deprecations #-}
+{-# OPTIONS_HADDOCK hide #-}
+{-# LANGUAGE CPP #-}
 {-# LANGUAGE FlexibleInstances #-}
 module Test.Hspec.Discover {-# WARNING
   "This module is used by @hspec-discover@.  It is not part of the public API and may change at any time."
   #-} (
   Spec
 , hspec
+#ifdef ENABLE_LEGACY_V1_FORMATTERS
 , IsFormatter (..)
 , hspecWithFormatter
+#endif
 , postProcessSpec
 , describe
 , module Prelude
@@ -14,6 +18,7 @@
 
 import           Test.Hspec.Core.Spec
 import           Test.Hspec.Core.Runner
+#ifdef ENABLE_LEGACY_V1_FORMATTERS
 import           Test.Hspec.Core.Formatters.V1
 
 class IsFormatter a where
@@ -29,6 +34,7 @@
 hspecWithFormatter formatter spec = do
   f <- toFormatter formatter
   hspecWith defaultConfig {configFormatter = Just f} spec
+#endif
 
 postProcessSpec :: FilePath -> Spec -> Spec
 postProcessSpec _ = id
diff --git a/version.yaml b/version.yaml
--- a/version.yaml
+++ b/version.yaml
@@ -1,4 +1,4 @@
-version: &version 2.11.15
+version: &version 2.11.16
 synopsis: A Testing Framework for Haskell
 author: Simon Hengel <sol@typeful.net>
 maintainer: Simon Hengel <sol@typeful.net>
