diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,12 @@
 # Changelog
 
+## 0.1.0.1 - 2026-08-20
+
+- Support GHC 9.10.3, 9.12.4, and 9.14.1 across every public library.
+- Preserve the optional `laws` component boundary while documenting its
+  component-scoped dependency footprint.
+- Pin the release to an exact public-source tag.
+
 ## 0.1.0.0
 
 Initial release.
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -60,6 +60,14 @@
 interfaces. Effectful law harnesses and cross-package test fixtures live in the
 `laws` sublibrary rather than the pure production components.
 
+## Dependency footprint
+
+Hackage's package-level dependency summary aggregates dependencies from every
+component in the distribution. Depending on the main `moonlight-category`
+library does not select `moonlight-category:laws` and therefore does not add
+Tasty, Hedgehog, or `moonlight-pale:test-laws`. Consumers opt into that reusable
+law harness explicitly with a dependency on `moonlight-category:laws`.
+
 ## Finite-category presentations
 
 Use `Moonlight.Category.Presentation` to write finite categories declaratively.
diff --git a/moonlight-category.cabal b/moonlight-category.cabal
--- a/moonlight-category.cabal
+++ b/moonlight-category.cabal
@@ -1,6 +1,6 @@
 cabal-version:       3.4
 name:                moonlight-category
-version:             0.1.0.0
+version:             0.1.0.1
 homepage:            https://github.com/PaleRoses/moonlight
 bug-reports:         https://github.com/PaleRoses/moonlight/issues
 synopsis:            Categorical layer for Pale Meridian.
@@ -25,7 +25,7 @@
 maintainer:          rosaliafialkova@gmail.com
 category:            Math
 build-type:          Simple
-tested-with:         GHC == 9.14.1
+tested-with:         GHC == 9.10.3, GHC == 9.12.4, GHC == 9.14.1
 extra-doc-files:
   README.md
   CHANGELOG.md
@@ -35,6 +35,12 @@
   location: https://github.com/PaleRoses/moonlight.git
   subdir:   moonlight-category
 
+source-repository this
+  type:     git
+  location: https://github.com/PaleRoses/moonlight.git
+  tag:      moonlight-category-0.1.0.1
+  subdir:   moonlight-category
+
 common shared-properties
   default-language: GHC2024
   ghc-options:
@@ -72,7 +78,7 @@
     Moonlight.Category.Pure.Poset
     Moonlight.Category.Pure.Unit
   build-depends:
-    base >= 4.22 && < 5
+    base >= 4.20 && < 5
     , containers >= 0.6 && < 0.9
 
 library finite
@@ -87,11 +93,11 @@
     Moonlight.Category.Pure.FinCat.Opposite
     Moonlight.Category.Pure.Finite.DenseReachability
   build-depends:
-    base >= 4.22 && < 5
+    base >= 4.20 && < 5
     , bytestring >= 0.11 && < 0.13
     , containers >= 0.6 && < 0.9
     , vector >= 0.13 && < 0.14
-    , moonlight-core >= 0.1 && < 0.2
+    , moonlight-core >= 0.1.0.3 && < 0.2
     , moonlight-category:abstract
 
 library site
@@ -107,10 +113,10 @@
     Moonlight.Category.Pure.Site.Category
     Moonlight.Category.Pure.Site.Quotient
   build-depends:
-    base >= 4.22 && < 5
+    base >= 4.20 && < 5
     , containers >= 0.6 && < 0.9
     , vector >= 0.13 && < 0.14
-    , moonlight-core >= 0.1 && < 0.2
+    , moonlight-core >= 0.1.0.3 && < 0.2
     , moonlight-category:abstract
     , moonlight-category:finite
 
@@ -118,6 +124,8 @@
   import: shared-properties
   visibility: public
   hs-source-dirs: src-indexed
+  if impl(ghc >= 9.14)
+    ghc-options: -Wno-pattern-namespace-specifier
   exposed-modules:
     Moonlight.Category.Pure.Indexed.Category
     Moonlight.Category.Pure.Indexed.Product
@@ -131,7 +139,7 @@
     Moonlight.Category.Pure.Indexed.KanExtension
     Moonlight.Category.Pure.Indexed.Simplex
   build-depends:
-    base >= 4.22 && < 5
+    base >= 4.20 && < 5
 
 library simplicial
   import: shared-properties
@@ -156,9 +164,9 @@
     Moonlight.Category.Pure.Simplicial.Set.Internal
   build-depends:
     algebraic-graphs >= 0.8 && < 0.9
-    , base >= 4.22 && < 5
+    , base >= 4.20 && < 5
     , containers >= 0.6 && < 0.9
-    , moonlight-core >= 0.1 && < 0.2
+    , moonlight-core >= 0.1.0.3 && < 0.2
     , moonlight-category:abstract
     , moonlight-category:finite
     , moonlight-category:indexed
@@ -172,7 +180,7 @@
     Moonlight.Category.Notation
     Moonlight.Category.Presentation
   build-depends:
-    base >= 4.22 && < 5
+    base >= 4.20 && < 5
     , moonlight-category:abstract
     , moonlight-category:finite
     , moonlight-category:site
@@ -206,13 +214,13 @@
     Moonlight.Category.Effect.Laws.Site
     Moonlight.Category.Effect.SitePathEnumeration
   build-depends:
-    base >= 4.22 && < 5
+    base >= 4.20 && < 5
     , containers >= 0.6 && < 0.9
     , tasty >= 1.4 && < 1.6
     , tasty-quickcheck >= 0.10 && < 0.12
     , hedgehog >= 1.2 && < 1.8
-    , moonlight-core >= 0.1 && < 0.2
-    , moonlight-pale:test-laws >= 0.1 && < 0.2
+    , moonlight-core >= 0.1.0.3 && < 0.2
+    , moonlight-pale:test-laws >= 0.1.0.1 && < 0.2
     , moonlight-category:abstract
     , moonlight-category:finite
     , moonlight-category:site
diff --git a/src-indexed/Moonlight/Category/Pure/Indexed/Functor.hs b/src-indexed/Moonlight/Category/Pure/Indexed/Functor.hs
--- a/src-indexed/Moonlight/Category/Pure/Indexed/Functor.hs
+++ b/src-indexed/Moonlight/Category/Pure/Indexed/Functor.hs
@@ -37,14 +37,14 @@
   , Proj2(..)
   , (:***:)(..)
   , DiagProd(..)
-  , Tuple1, data Tuple1
-  , Tuple2, data Tuple2
-  , Swap, data Swap
+  , Tuple1, pattern Tuple1
+  , Tuple2, pattern Tuple2
+  , Swap, pattern Swap
 
   -- *** Hom functors
   , Hom(..)
-  , (:*-:), data HomX_
-  , (:-*:), data Hom_X
+  , (:*-:), pattern HomX_
+  , (:-*:), pattern Hom_X
 
   -- *** Profunctors
   , ProfunctorOf
diff --git a/src-indexed/Moonlight/Category/Pure/Indexed/NaturalTransformation.hs b/src-indexed/Moonlight/Category/Pure/Indexed/NaturalTransformation.hs
--- a/src-indexed/Moonlight/Category/Pure/Indexed/NaturalTransformation.hs
+++ b/src-indexed/Moonlight/Category/Pure/Indexed/NaturalTransformation.hs
@@ -9,7 +9,7 @@
   , (!)
   , o
   , natId
-  , data NatId
+  , pattern NatId
   , srcF
   , tgtF
 
@@ -34,19 +34,19 @@
   -- * Related functors
   , FunctorCompose(..)
   , EndoFunctorCompose
-  , Precompose, data Precompose
-  , Postcompose, data Postcompose
-  , Curry1, data Curry1
-  , Curry2, data Curry2
+  , Precompose, pattern Precompose
+  , Postcompose, pattern Postcompose
+  , Curry1, pattern Curry1
+  , Curry2, pattern Curry2
   , Wrap(..)
   , Apply(..)
   , Tuple(..)
-  , Opp(..), Opposite, data Opposite
-  , HomF, data HomF
-  , Star, data Star
-  , Costar, data Costar
-  , (:*%:), data HomXF
-  , (:%*:), data HomFX
+  , Opp(..), Opposite, pattern Opposite
+  , HomF, pattern HomF
+  , Star, pattern Star
+  , Costar, pattern Costar
+  , (:*%:), pattern HomXF
+  , (:%*:), pattern HomFX
 
 ) where
 
