diff --git a/ChangeLog b/ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,7 @@
-2024-10-30 Laurent P. René de Cotret <laurent.decotret@outlook.com> 0.2.3
+2025-02-04 Laurent P. René de Cotret <laurent.decotret@outlook.com> 0.2.4
 
-* Removed dependency on `rematch` (#459)
+* Ported test suite to use `tasty` rather than `test-framework`.
+* Addressed some compilation warnings (#467).
 
 2024-09-03 Laurent P. René de Cotret <laurent.decotret@outlook.com> 0.2.2
 
diff --git a/distributed-process-supervisor.cabal b/distributed-process-supervisor.cabal
--- a/distributed-process-supervisor.cabal
+++ b/distributed-process-supervisor.cabal
@@ -1,6 +1,6 @@
 cabal-version:  3.0
 name:           distributed-process-supervisor
-version:        0.2.3
+version:        0.2.4
 build-type:     Simple
 license:        BSD-3-Clause
 license-file:   LICENSE
@@ -20,7 +20,7 @@
 
                 For detailed information see "Control.Distributed.Process.Supervisor"
 category:       Control
-tested-with:    GHC==8.10.7 GHC==9.0.2 GHC==9.2.8 GHC==9.4.5 GHC==9.6.4 GHC==9.8.2 GHC==9.10.1
+tested-with:    GHC==8.10.7 GHC==9.0.2 GHC==9.2.8 GHC==9.4.5 GHC==9.6.4 GHC==9.8.2 GHC==9.10.1 GHC==9.12.1
 extra-doc-files: ChangeLog
 
 source-repository head
@@ -37,6 +37,7 @@
                  -Wredundant-constraints
                  -fhide-source-paths
                  -Wpartial-fields
+                 -Wunused-packages
 
 library
   import:          warnings
@@ -78,10 +79,9 @@
                    network-transport-tcp >= 0.4 && < 0.9,
                    binary >= 0.8 && < 0.9,
                    deepseq,
-                   HUnit >= 1.2 && < 2,
                    stm,
-                   test-framework >= 0.6 && < 0.9,
-                   test-framework-hunit,
+                   tasty >= 1.5 && <1.6,
+                   tasty-hunit >=0.10 && <0.11,
                    exceptions >= 0.10 && < 0.11
   hs-source-dirs:  tests
   ghc-options:     -threaded -rtsopts -with-rtsopts=-N -fno-warn-name-shadowing -fno-warn-unused-do-bind
@@ -106,10 +106,9 @@
                    network-transport-tcp >= 0.4 && < 0.9,
                    binary >= 0.8 && < 0.9,
                    deepseq,
-                   HUnit >= 1.2 && < 2,
                    stm,
-                   test-framework >= 0.6 && < 0.9,
-                   test-framework-hunit,
+                   tasty >= 1.5 && <1.6,
+                   tasty-hunit >=0.10 && <0.11,
                    exceptions >= 0.10 && < 0.11
   hs-source-dirs:  tests
   ghc-options:     -rtsopts -fno-warn-unused-do-bind -fno-warn-name-shadowing
diff --git a/src/Control/Distributed/Process/Supervisor/Management.hs b/src/Control/Distributed/Process/Supervisor/Management.hs
--- a/src/Control/Distributed/Process/Supervisor/Management.hs
+++ b/src/Control/Distributed/Process/Supervisor/Management.hs
@@ -52,7 +52,6 @@
   , SupervisorPid
   )
 import Data.Binary
-import Data.Foldable (mapM_)
 import Data.Hashable (Hashable(..))
 import Control.Distributed.Process.Extras.Internal.Containers.MultiMap (MultiMap)
 import qualified Control.Distributed.Process.Extras.Internal.Containers.MultiMap as Map
diff --git a/tests/TestSupervisor.hs b/tests/TestSupervisor.hs
--- a/tests/TestSupervisor.hs
+++ b/tests/TestSupervisor.hs
@@ -51,9 +51,8 @@
 import Data.ByteString.Lazy (empty)
 import Data.Maybe (catMaybes, isNothing, isJust)
 
-import Test.HUnit (Assertion, assertFailure, assertEqual, assertBool)
-import Test.Framework (Test, testGroup)
-import Test.Framework.Providers.HUnit (testCase)
+import Test.Tasty (TestTree, testGroup)
+import Test.Tasty.HUnit (Assertion, assertFailure, assertEqual, assertBool, testCase)
 import TestUtils hiding (waitForExit)
 import qualified Network.Transport as NT
 
@@ -1198,7 +1197,7 @@
   cs <- toChildStart clj
   fn cs ctx
 
-tests :: NT.Transport -> IO [Test]
+tests :: NT.Transport -> IO TestTree
 tests transport = do
   putStrLn $ concat [ "NOTICE: Branch Tests (Relying on Non-Guaranteed Message Order) "
                     , "Can Fail Intermittently" ]
@@ -1215,8 +1214,8 @@
   let withSup' sm = runInTestContext' localNode sm
   let withSupervisor = runInTestContext localNode singleTestLock ParallelShutdown
   let withSupervisor' = runInTestContext' localNode ParallelShutdown
-  return
-    [ testGroup "Supervisor Processes"
+  return $
+    testGroup "Supervisor Processes"
       [
           testGroup "Starting And Adding Children"
           [
@@ -1449,14 +1448,6 @@
                 (delayedRestartAfterThreeAttempts withSupervisor')
           ]
       ]
-{-    , testGroup "CI"
-      [ testCase "Flush [NonTest]"
-        (withSupervisor'
-          (RestartRight defaultLimits (RestartInOrder LeftToRight)) []
-           (\_ -> sleep $ seconds 20))
-      ]
--}
-    ]
 
 main :: IO ()
 main = testMain $ tests
diff --git a/tests/TestUtils.hs b/tests/TestUtils.hs
--- a/tests/TestUtils.hs
+++ b/tests/TestUtils.hs
@@ -60,9 +60,8 @@
 import Control.Monad (forever)
 import Control.Monad.Catch (catch)
 import Control.Monad.STM (atomically)
-import Test.HUnit (Assertion, assertEqual)
-import Test.HUnit.Base (assertBool)
-import Test.Framework (Test, defaultMain)
+import Test.Tasty (TestTree, defaultMain)
+import Test.Tasty.HUnit (Assertion, assertEqual, assertBool)
 import Control.DeepSeq
 
 import Network.Transport.TCP
@@ -137,7 +136,7 @@
 stopLogger = (flip Exception.throwTo) Exception.ThreadKilled . _tid
 
 -- | Given a @builder@ function, make and run a test suite on a single transport
-testMain :: (NT.Transport -> IO [Test]) -> IO ()
+testMain :: (NT.Transport -> IO TestTree) -> IO ()
 testMain builder = do
   Right (transport, _) <- createTransportExposeInternals (defaultTCPAddr "127.0.0.1" "0") defaultTCPParameters
   testData <- builder transport
