diff --git a/CHANGES b/CHANGES
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,32 @@
+0.4.1 30 Sep 2025
+
+  * Allow `containers-0.8` and `base-4.21`
+  * Test on GHC 9.10 and 9.12
+  * Fix various warnings
+  * Remove unused template-haskell dependency
+
+0.4.0.1-r5 12 Feb 2024
+
+  * Allow base-4.18 and -4.19 (GHC 9.6, 9.8)
+  * Drop support for GHC < 8.4
+
+0.4.0.1-r4 13 May 2022
+
+  * Allow base-4.17 (GHC 9.4)
+
+0.4.0.1-r3 13 May 2022
+
+  * Allow base-4.16 (GHC 9.2)
+
+0.4.0.1-r2 18 January 2019
+
+  * Allow base-4.12 (GHC 8.6)
+  * Allow containers-0.6
+
+0.4.0.1-r1 25 April 2018
+
+  * Allow base-4.11 (GHC 8.4)
+
 0.4.0.1    10 April 2018
 
   * bug fix in 'structureType' function (https://github.com/byorgey/species/issues/3)
diff --git a/Math/Combinatorics/Species/AST/Instances.hs b/Math/Combinatorics/Species/AST/Instances.hs
--- a/Math/Combinatorics/Species/AST/Instances.hs
+++ b/Math/Combinatorics/Species/AST/Instances.hs
@@ -185,6 +185,7 @@
   showsPrec _ (OfSizeExactly f n) = showsPrec 11 f . shows n
   showsPrec _ (NonEmpty f)        = showsPrec 11 f . showChar '+'
   showsPrec _ (Rec f)             = shows f
+  showsPrec _ Omega               = showString "ω"
 
 -- | Species expressions are additive.
 instance Additive.C SpeciesAST where
diff --git a/Math/Combinatorics/Species/Class.hs b/Math/Combinatorics/Species/Class.hs
--- a/Math/Combinatorics/Species/Class.hs
+++ b/Math/Combinatorics/Species/Class.hs
@@ -178,7 +178,7 @@
   --   in for recursive occurrences of a species.
   omega :: s
 
-  {-# MINIMAL singleton, set, cycle, bracelet, o, (><), (@@), ofSize #-}
+  {-# MINIMAL singleton, set, cycle, bracelet, o, (><), (@@), ofSize, rec, omega #-}
 
 -- | A convenient synonym for differentiation.  @'oneHole'
 -- f@-structures look like @f@-structures on a set formed by adjoining
diff --git a/Math/Combinatorics/Species/CycleIndex.hs b/Math/Combinatorics/Species/CycleIndex.hs
--- a/Math/Combinatorics/Species/CycleIndex.hs
+++ b/Math/Combinatorics/Species/CycleIndex.hs
@@ -85,6 +85,8 @@
                    "Unable to express " ++ show f ++ " in the form T = TX*R(T)."
                  Just ls -> ls
 
+  omega      = error "omega CycleIndex unimplemented"
+
 -- | Convert an integer partition to the corresponding monomial in the
 --   cycle index series for the species of sets: 1/aut(js) * prod_i xi^ji.
 partToMonomial :: CycleType -> Monomial.T Rational
@@ -183,6 +185,7 @@
       | n < pow   = genericReplicate (pow - n) zero
                     ++ insertZeros' (genericDrop (pow - n) (n:ns)) ((pow,c):pcs)
       | otherwise = c : insertZeros' ns pcs
+    insertZeros' [] _ = error "impossible! insertZeros' encountered empty index list"
 
 -- | Hadamard product.
 hadamard :: (Ring.C a, ZeroTestable.C a) => [Monomial.T a] -> [Monomial.T a] -> [Monomial.T a]
diff --git a/Math/Combinatorics/Species/Enumerate.hs b/Math/Combinatorics/Species/Enumerate.hs
--- a/Math/Combinatorics/Species/Enumerate.hs
+++ b/Math/Combinatorics/Species/Enumerate.hs
@@ -150,6 +150,7 @@
   | (fromIntegral . sum . MS.getCounts $ xs) == n
     = enumerate' (stripI f) xs
   | otherwise = []
+enumerate' TOmega _ = []
 
 -- | An existential wrapper for structures, hiding the structure
 --   functor and ensuring that it is 'Typeable'.
diff --git a/Math/Combinatorics/Species/Labeled.hs b/Math/Combinatorics/Species/Labeled.hs
--- a/Math/Combinatorics/Species/Labeled.hs
+++ b/Math/Combinatorics/Species/Labeled.hs
@@ -70,6 +70,8 @@
             Nothing -> error $ "Unable to express " ++ show f ++ " in the form T = TX*R(T)."
             Just ls -> ls
 
+  omega = error "omega EGF unimplemented"
+
 -- | Extract the coefficients of an exponential generating function as
 --   a list of 'Integer's.  Since 'EGF' is an instance of 'Species', the
 --   idea is that 'labeled' can be applied directly to an expression
diff --git a/Math/Combinatorics/Species/Simplify.hs b/Math/Combinatorics/Species/Simplify.hs
--- a/Math/Combinatorics/Species/Simplify.hs
+++ b/Math/Combinatorics/Species/Simplify.hs
@@ -40,6 +40,7 @@
 simplify X             =  X
 simplify E             =  E
 simplify C             =  C
+simplify B             =  B
 simplify L             =  L
 simplify Subset        =  Subset
 simplify f@(KSubset _) =  f
diff --git a/Math/Combinatorics/Species/Unlabeled.hs b/Math/Combinatorics/Species/Unlabeled.hs
--- a/Math/Combinatorics/Species/Unlabeled.hs
+++ b/Math/Combinatorics/Species/Unlabeled.hs
@@ -53,6 +53,7 @@
                         Nothing -> error $
                           "Unable to express " ++ show f ++ " in the form T = TX*R(T)."
                         Just ls -> ls
+  omega      = error "omega GF unimplemented"
 
 unlabeledCoeffs :: GF -> [Integer]
 unlabeledCoeffs (GF p) = PS.coeffs p ++ repeat 0
diff --git a/Math/Combinatorics/Species/Util/Interval.hs b/Math/Combinatorics/Species/Util/Interval.hs
--- a/Math/Combinatorics/Species/Util/Interval.hs
+++ b/Math/Combinatorics/Species/Util/Interval.hs
@@ -133,7 +133,7 @@
 
 -- | Convert an interval to a list of Integers.
 toList :: Interval -> [Integer]
-toList (I Omega Omega) = []
+toList (I Omega _) = []
 toList (I lo hi) | lo > hi = []
 toList (I (Nat lo) Omega) = [lo..]
 toList (I (Nat lo) (Nat hi)) = [lo..hi]
diff --git a/species.cabal b/species.cabal
--- a/species.cabal
+++ b/species.cabal
@@ -1,10 +1,10 @@
 name:           species
-version:        0.4.0.1
+version:        0.4.1
 license:        BSD3
 license-file:   LICENSE
 build-type:     Simple
 cabal-version:  >= 1.10
-tested-with:    GHC == 7.8.4, GHC == 7.10.2, GHC == 8.0.1
+tested-with:    GHC ==8.4.4 || ==8.6.5 || ==8.8.4 || ==8.10.7 || ==9.0.2 || ==9.2.8 || ==9.4.8 || ==9.6.6 || ==9.8.4 || ==9.10.1 || ==9.12.1
 author:         Brent Yorgey
 maintainer:     Brent Yorgey <byorgey@gmail.com>
 bug-reports:    https://github.com/byorgey/species/issues
@@ -20,12 +20,11 @@
   location: https://github.com/byorgey/species
 
 Library
-  build-depends: base >= 4.7 && < 4.11,
+  build-depends: base >= 4.7 && < 4.22,
                  numeric-prelude >= 0.3 && < 0.5,
                  np-extras >= 0.3 && < 0.4,
-                 containers >= 0.2 && < 0.6,
-                 multiset-comb >= 0.2.4 && < 0.3,
-                 template-haskell >= 2.7 && < 3.0
+                 containers >= 0.2 && < 0.9,
+                 multiset-comb >= 0.2.4 && < 0.3
   exposed-modules:
     Math.Combinatorics.Species
     Math.Combinatorics.Species.Class
