diff --git a/AUTHORS b/AUTHORS
--- a/AUTHORS
+++ b/AUTHORS
@@ -2,7 +2,7 @@
 
 The stm-chans package was written (predominantly) by wren gayle romano
 and is released under the terms in the LICENSE file. I would also
-like to give thanks to the following contributers:
+like to give thanks to the following contributors:
 
 Thomas DuBuisson --- For important improvements to TBChan and
     TBMChan, incorporating parts of his bounded-tchan package. These
diff --git a/CHANGELOG b/CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,10 @@
+3.0.0.11 (2026-02-26):
+    - Updating the `Tested-With` field for ghc 9.14 (didn't actually need to
+      nudge the upper bound on 'base', because it's already lenient)
+    - Also silencing some warnings on ghc >=9.12 about deriving Typeable.
+3.0.0.10 (2024-08-28):
+    - Updating the `Tested-With` field for ghc 9.10 (didn't actually need to
+      nudge the upper bound on 'base', because it's already lenient)
 3.0.0.9 (2023-03-19):
     - Added `Tested-With: GHC == 9.6.1` (didn't actually need to
       nudge the upper bound on 'base', because it's already lenient)
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,8 +1,9 @@
 stm-chans
 =========
+[![CI Status](https://github.com/wrengr/stm-chans/actions/workflows/ci.yml/badge.svg)](https://github.com/wrengr/stm-chans/actions?query=workflow%3Aci+-event%3Apull_request)
 [![Hackage version](https://img.shields.io/hackage/v/stm-chans.svg?style=flat)](https://hackage.haskell.org/package/stm-chans) 
-[![Build Status](https://github.com/wrengr/stm-chans/workflows/ci/badge.svg)](https://github.com/wrengr/stm-chans/actions?query=workflow%3Aci)
-[![Dependencies](https://img.shields.io/hackage-deps/v/stm-chans.svg?style=flat)](http://packdeps.haskellers.com/specific?package=stm-chans)
+[![Stackage LTS version](https://stackage.org/package/stm-chans/badge/lts)](https://stackage.org/lts/package/stm-chans)
+[![Stackage Nightly version](https://stackage.org/package/stm-chans/badge/nightly)](https://stackage.org/nightly/package/stm-chans)
 
 This package offers a collection of channel types, similar to
 `Control.Concurrent.STM.{TChan,TQueue}` but with additional features.
diff --git a/src/Control/Concurrent/STM/TBChan.hs b/src/Control/Concurrent/STM/TBChan.hs
--- a/src/Control/Concurrent/STM/TBChan.hs
+++ b/src/Control/Concurrent/STM/TBChan.hs
@@ -1,14 +1,19 @@
 {-# OPTIONS_GHC -Wall -fwarn-tabs #-}
-{-# LANGUAGE CPP, DeriveDataTypeable #-}
+{-# LANGUAGE CPP #-}
 
+#if __GLASGOW_HASKELL__ < 912
+-- ghc-9.12: "all types now auto-derive Typeable"
+{-# LANGUAGE DeriveDataTypeable #-}
+#endif
+
 #if __GLASGOW_HASKELL__ >= 701
 {-# LANGUAGE Safe #-}
 #endif
 ----------------------------------------------------------------
---                                                    2021.10.17
+--                                                    2026-02-26
 -- |
 -- Module      :  Control.Concurrent.STM.TBChan
--- Copyright   :  Copyright (c) 2011--2021 wren gayle romano
+-- Copyright   :  Copyright (c) 2011--2026 wren gayle romano
 -- License     :  BSD
 -- Maintainer  :  wren@cpan.org
 -- Stability   :  provisional
@@ -45,7 +50,9 @@
     ) where
 
 import Prelude           hiding (reads)
+#if __GLASGOW_HASKELL__ < 912
 import Data.Typeable     (Typeable)
+#endif
 import Control.Monad.STM (STM, retry)
 import Control.Concurrent.STM.TVar
 import Control.Concurrent.STM.TChan -- N.B., GHC only
@@ -57,7 +64,9 @@
     {-# UNPACK #-} !(TVar Int)
     {-# UNPACK #-} !(TVar Int)
     {-# UNPACK #-} !(TChan a)
+#if __GLASGOW_HASKELL__ < 912
     deriving (Typeable)
+#endif
 -- The components are:
 -- * How many free slots we /know/ we have available.
 -- * How many slots have been freed up by successful reads since
diff --git a/src/Control/Concurrent/STM/TBMChan.hs b/src/Control/Concurrent/STM/TBMChan.hs
--- a/src/Control/Concurrent/STM/TBMChan.hs
+++ b/src/Control/Concurrent/STM/TBMChan.hs
@@ -1,14 +1,19 @@
 {-# OPTIONS_GHC -Wall -fwarn-tabs #-}
-{-# LANGUAGE CPP, DeriveDataTypeable #-}
+{-# LANGUAGE CPP #-}
 
+#if __GLASGOW_HASKELL__ < 912
+-- ghc-9.12: "all types now auto-derive Typeable"
+{-# LANGUAGE DeriveDataTypeable #-}
+#endif
+
 #if __GLASGOW_HASKELL__ >= 701
 {-# LANGUAGE Safe #-}
 #endif
 ----------------------------------------------------------------
---                                                    2021.10.17
+--                                                    2026-02-26
 -- |
 -- Module      :  Control.Concurrent.STM.TBMChan
--- Copyright   :  Copyright (c) 2011--2021 wren gayle romano
+-- Copyright   :  Copyright (c) 2011--2026 wren gayle romano
 -- License     :  BSD
 -- Maintainer  :  wren@cpan.org
 -- Stability   :  provisional
@@ -50,7 +55,9 @@
     ) where
 
 import Prelude             hiding (reads)
+#if __GLASGOW_HASKELL__ < 912
 import Data.Typeable       (Typeable)
+#endif
 #if __GLASGOW_HASKELL__ < 710
 import Control.Applicative ((<$>))
 #endif
@@ -66,7 +73,9 @@
     {-# UNPACK #-} !(TVar Int)
     {-# UNPACK #-} !(TVar Int)
     {-# UNPACK #-} !(TChan a)
+#if __GLASGOW_HASKELL__ < 912
     deriving (Typeable)
+#endif
 -- The components are:
 -- * Whether the channel has been closed.
 -- * How many free slots we /know/ we have available.
diff --git a/src/Control/Concurrent/STM/TBMQueue.hs b/src/Control/Concurrent/STM/TBMQueue.hs
--- a/src/Control/Concurrent/STM/TBMQueue.hs
+++ b/src/Control/Concurrent/STM/TBMQueue.hs
@@ -1,14 +1,19 @@
 {-# OPTIONS_GHC -Wall -fwarn-tabs #-}
-{-# LANGUAGE CPP, DeriveDataTypeable #-}
+{-# LANGUAGE CPP #-}
 
+#if __GLASGOW_HASKELL__ < 912
+-- ghc-9.12: "all types now auto-derive Typeable"
+{-# LANGUAGE DeriveDataTypeable #-}
+#endif
+
 #if __GLASGOW_HASKELL__ >= 701
 {-# LANGUAGE Safe #-}
 #endif
 ----------------------------------------------------------------
---                                                    2021.10.17
+--                                                    2026-02-26
 -- |
 -- Module      :  Control.Concurrent.STM.TBMQueue
--- Copyright   :  Copyright (c) 2011--2021 wren gayle romano
+-- Copyright   :  Copyright (c) 2011--2026 wren gayle romano
 -- License     :  BSD
 -- Maintainer  :  wren@cpan.org
 -- Stability   :  provisional
@@ -48,7 +53,9 @@
     ) where
 
 import Prelude             hiding (reads)
+#if __GLASGOW_HASKELL__ < 912
 import Data.Typeable       (Typeable)
+#endif
 #if __GLASGOW_HASKELL__ < 710
 import Control.Applicative ((<$>))
 #endif
@@ -64,7 +71,9 @@
     {-# UNPACK #-} !(TVar Int)
     {-# UNPACK #-} !(TVar Int)
     {-# UNPACK #-} !(TQueue a)
+#if __GLASGOW_HASKELL__ < 912
     deriving (Typeable)
+#endif
 -- The components are:
 -- * Whether the queue has been closed.
 -- * How many free slots we /know/ we have available.
diff --git a/src/Control/Concurrent/STM/TMChan.hs b/src/Control/Concurrent/STM/TMChan.hs
--- a/src/Control/Concurrent/STM/TMChan.hs
+++ b/src/Control/Concurrent/STM/TMChan.hs
@@ -1,14 +1,19 @@
 {-# OPTIONS_GHC -Wall -fwarn-tabs #-}
-{-# LANGUAGE CPP, DeriveDataTypeable #-}
+{-# LANGUAGE CPP #-}
 
+#if __GLASGOW_HASKELL__ < 912
+-- ghc-9.12: "all types now auto-derive Typeable"
+{-# LANGUAGE DeriveDataTypeable #-}
+#endif
+
 #if __GLASGOW_HASKELL__ >= 701
 {-# LANGUAGE Safe #-}
 #endif
 ----------------------------------------------------------------
---                                                    2021.10.17
+--                                                    2026-02-26
 -- |
 -- Module      :  Control.Concurrent.STM.TMChan
--- Copyright   :  Copyright (c) 2011--2021 wren gayle romano
+-- Copyright   :  Copyright (c) 2011--2026 wren gayle romano
 -- License     :  BSD
 -- Maintainer  :  wren@cpan.org
 -- Stability   :  provisional
@@ -44,7 +49,9 @@
     , isEmptyTMChan
     ) where
 
+#if __GLASGOW_HASKELL__ < 912
 import Data.Typeable       (Typeable)
+#endif
 #if __GLASGOW_HASKELL__ < 710
 import Control.Applicative ((<$>))
 #endif
@@ -58,7 +65,9 @@
 data TMChan a = TMChan
     {-# UNPACK #-} !(TVar Bool)
     {-# UNPACK #-} !(TChan a)
+#if __GLASGOW_HASKELL__ < 912
     deriving Typeable
+#endif
 
 
 -- | Build and returns a new instance of @TMChan@.
diff --git a/src/Control/Concurrent/STM/TMQueue.hs b/src/Control/Concurrent/STM/TMQueue.hs
--- a/src/Control/Concurrent/STM/TMQueue.hs
+++ b/src/Control/Concurrent/STM/TMQueue.hs
@@ -1,14 +1,19 @@
 {-# OPTIONS_GHC -Wall -fwarn-tabs #-}
-{-# LANGUAGE CPP, DeriveDataTypeable #-}
+{-# LANGUAGE CPP #-}
 
+#if __GLASGOW_HASKELL__ < 912
+-- ghc-9.12: "all types now auto-derive Typeable"
+{-# LANGUAGE DeriveDataTypeable #-}
+#endif
+
 #if __GLASGOW_HASKELL__ >= 701
 {-# LANGUAGE Safe #-}
 #endif
 ----------------------------------------------------------------
---                                                    2021.10.17
+--                                                    2026-02-26
 -- |
 -- Module      :  Control.Concurrent.STM.TMQueue
--- Copyright   :  Copyright (c) 2011--2021 wren gayle romano
+-- Copyright   :  Copyright (c) 2011--2026 wren gayle romano
 -- License     :  BSD
 -- Maintainer  :  wren@cpan.org
 -- Stability   :  provisional
@@ -43,7 +48,9 @@
     , isEmptyTMQueue
     ) where
 
+#if __GLASGOW_HASKELL__ < 912
 import Data.Typeable       (Typeable)
+#endif
 #if __GLASGOW_HASKELL__ < 710
 import Control.Applicative ((<$>))
 #endif
@@ -57,7 +64,9 @@
 data TMQueue a = TMQueue
     {-# UNPACK #-} !(TVar Bool)
     {-# UNPACK #-} !(TQueue a)
+#if __GLASGOW_HASKELL__ < 912
     deriving Typeable
+#endif
 
 
 -- | Build and returns a new instance of @TMQueue@.
diff --git a/stm-chans.cabal b/stm-chans.cabal
--- a/stm-chans.cabal
+++ b/stm-chans.cabal
@@ -6,18 +6,18 @@
 --    <https://github.com/haskell/cabal/issues/4899>
 
 ----------------------------------------------------------------
--- wren gayle romano <wren@cpan.org>                ~ 2023.03.19
+-- wren gayle romano <wren@cpan.org>                ~ 2026-02-26
 ----------------------------------------------------------------
 
 Name:           stm-chans
-Version:        3.0.0.9
+Version:        3.0.0.11
 Build-Type:     Simple
 Stability:      provisional
 Homepage:       https://wrengr.org/software/hackage.html
 Bug-Reports:    https://github.com/wrengr/stm-chans/issues
 Author:         wren gayle romano, Thomas DuBuisson
 Maintainer:     wren@cpan.org
-Copyright:      2011–2023 wren romano
+Copyright:      2011–2025 wren romano
 -- Cabal-2.2 requires us to say "BSD-3-Clause" not "BSD3"
 License:        BSD-3-Clause
 License-File:   LICENSE
@@ -40,8 +40,12 @@
     GHC ==8.10.3,
     GHC ==9.0.1,
     GHC ==9.2.4,
-    GHC ==9.4.4,
-    GHC ==9.6.1
+    GHC ==9.4.8,
+    GHC ==9.6.5,
+    GHC ==9.8.2,
+    GHC ==9.10.1,
+    GHC ==9.12.1,
+    GHC ==9.14.1
 
 ----------------------------------------------------------------
 Source-Repository head
