diff --git a/ChangeLog b/ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2024-09-03 Laurent P. René de Cotret <laurent.decotret@outlook.com> 0.1.3.0
+
+* Bumped dependency bounds to support GHC 8.10.7 - GHC 9.10.1
+* Updated links to point to Distributed Haskell monorepo
+
 2015-06-15 Facundo Domínguez <facundo.dominguez@tweag.io> 0.1.2
 
 * Add compatibility with ghc-7.10.
diff --git a/Setup.lhs b/Setup.lhs
deleted file mode 100644
--- a/Setup.lhs
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/usr/bin/env runhaskell
-> import Distribution.Simple
-> main = defaultMain
diff --git a/distributed-process-execution.cabal b/distributed-process-execution.cabal
--- a/distributed-process-execution.cabal
+++ b/distributed-process-execution.cabal
@@ -1,56 +1,59 @@
+cabal-version:  3.0
 name:           distributed-process-execution
-version:        0.1.2.2
-cabal-version:  >=1.8
+version:        0.1.3.0
 build-type:     Simple
-license:        BSD3
+license:        BSD-3-Clause
 license-file:   LICENCE
 stability:      experimental
 Copyright:      Tim Watson 2012 - 2013
 Author:         Tim Watson
-Maintainer:     Facundo Domínguez <facundo.dominguez@tweag.io>
-Stability:      experimental
-Homepage:       http://github.com/haskell-distributed/distributed-process-execution
-Bug-Reports:    http://github.com/haskell-distributed/distributed-process-execution/issues
+maintainer:     The Distributed Haskell team
+Homepage:       http://github.com/haskell-distributed/distributed-process
+Bug-Reports:    http://github.com/haskell-distributed/distributed-process/issues
 synopsis:       Execution Framework for The Cloud Haskell Application Platform
 description:
                 The Execution Framework provides tools for load regulation, workload shedding and remote hand-off.
                 The currently implementation provides only a subset of the plumbing required, comprising tools
                 for event management, mailbox buffering and message routing.
 category:       Control
-tested-with:    GHC == 7.4.2 GHC == 7.6.2
-data-dir:       ""
-extra-source-files: ChangeLog
+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
+extra-doc-files: ChangeLog
 
 source-repository head
-  type:      git
-  location:  https://github.com/haskell-distributed/distributed-process-execution
+  Type:     git
+  Location: https://github.com/haskell-distributed/distributed-process
+  SubDir:   packages/distributed-process-execution
 
+common warnings
+    ghc-options: -Wall
+                 -Wcompat
+                 -Widentities
+                 -Wincomplete-uni-patterns
+                 -Wincomplete-record-updates
+                 -Wredundant-constraints
+                 -fhide-source-paths
+                 -Wpartial-fields
+
 library
+  import:          warnings
   build-depends:
-                   base >= 4.4 && < 5,
+                   base >= 4.14 && < 5,
                    data-accessor >= 0.2.2.3,
-                   distributed-process >= 0.5.3 && < 0.7,
-                   distributed-process-extras >= 0.2.0 && < 0.3,
-                   distributed-process-supervisor >= 0.1.2 && < 0.2,
-                   distributed-process-client-server >= 0.1.2 && < 0.2,
-                   binary >= 0.6.3.0 && < 0.8,
-                   deepseq >= 1.3.0.1 && < 1.5,
+                   distributed-process >= 0.6.6 && < 0.8,
+                   distributed-process-extras >= 0.3.1 && < 0.4,
+                   distributed-process-supervisor >= 0.2.0 && < 0.3,
+                   distributed-process-client-server >= 0.2.0 && < 0.3,
+                   binary >= 0.8 && < 0.9,
+                   deepseq >= 1.4 && < 1.6,
                    mtl,
-                   containers >= 0.4 && < 0.6,
-                   hashable >= 1.2.0.5 && < 1.3,
+                   containers >= 0.6 && < 0.8,
+                   hashable >= 1.2.0.5 && < 1.6,
                    unordered-containers >= 0.2.3.0 && < 0.3,
                    fingertree < 0.2,
-                   stm >= 2.4 && < 2.5,
-                   time > 1.4 && < 1.6,
+                   stm >= 2.4 && < 2.6,
+                   time,
                    transformers
-  if impl(ghc <= 7.5)
-    Build-Depends:   template-haskell == 2.7.0.0,
-                     derive == 2.5.5,
-                     uniplate == 1.6.12,
-                     ghc-prim
-  extensions:      CPP
   hs-source-dirs:   src
-  ghc-options:      -Wall
   exposed-modules:
                    Control.Distributed.Process.Execution,
                    Control.Distributed.Process.Execution.EventManager,
@@ -60,34 +63,36 @@
                    Control.Distributed.Process.Execution.Exchange.Broadcast,
                    Control.Distributed.Process.Execution.Exchange.Internal,
                    Control.Distributed.Process.Execution.Exchange.Router
+  default-language: Haskell2010
 
 
 test-suite ExchangeTests
+  import:          warnings
   type:            exitcode-stdio-1.0
 --  x-uses-tf:       true
   build-depends:
-                   base >= 4.4 && < 5,
+                   base >= 4.14 && < 5,
                    ansi-terminal >= 0.5 && < 0.7,
                    containers,
                    hashable,
                    unordered-containers >= 0.2.3.0 && < 0.3,
-                   distributed-process >= 0.5.3 && < 0.7,
+                   distributed-process,
                    distributed-process-execution,
-                   distributed-process-extras >= 0.2.0 && < 0.3,
-                   distributed-process-tests >= 0.4.1 && < 0.5,
+                   distributed-process-extras,
+                   distributed-process-systest >= 0.1.1 && < 0.4,
                    distributed-static,
                    bytestring,
                    data-accessor,
                    fingertree < 0.2,
-                   network-transport >= 0.4 && < 0.5,
-                   deepseq >= 1.3.0.1 && < 1.5,
+                   network-transport >= 0.4 && < 0.6,
+                   deepseq,
                    mtl,
-                   network-transport-tcp >= 0.4 && < 0.6,
-                   binary >= 0.6.3.0 && < 0.8,
-                   network >= 2.3 && < 2.7,
+                   network-transport-tcp >= 0.4 && < 0.9,
+                   binary >= 0.8 && < 0.9,
+                   network >= 2.3 && < 3.3,
                    HUnit >= 1.2 && < 2,
-                   stm >= 2.3 && < 2.5,
-                   time > 1.4 && < 1.6,
+                   stm,
+                   time,
                    test-framework >= 0.6 && < 0.9,
                    test-framework-hunit,
                    QuickCheck >= 2.4,
@@ -97,37 +102,38 @@
                    ghc-prim
   hs-source-dirs:
                    tests
-  ghc-options:     -Wall -threaded -rtsopts -with-rtsopts=-N -fno-warn-unused-do-bind -eventlog
-  extensions:      CPP
+  ghc-options:     -threaded -rtsopts -with-rtsopts=-N -fno-warn-unused-do-bind -eventlog
   main-is:         TestExchange.hs
+  default-language: Haskell2010
 
 
 test-suite MailboxTests
+  import:          warnings
   type:            exitcode-stdio-1.0
 --  x-uses-tf:       true
   build-depends:
-                   base >= 4.4 && < 5,
+                   base >= 4.14 && < 5,
                    ansi-terminal >= 0.5 && < 0.7,
                    containers,
                    hashable,
                    unordered-containers >= 0.2.3.0 && < 0.3,
-                   distributed-process >= 0.5.3 && < 0.7,
+                   distributed-process,
                    distributed-process-execution,
-                   distributed-process-extras >= 0.2.0 && < 0.3,
-                   distributed-process-tests >= 0.4.1 && < 0.5,
+                   distributed-process-extras,
+                   distributed-process-systest >= 0.1.1 && < 0.4,
                    distributed-static,
                    bytestring,
                    data-accessor,
                    fingertree < 0.2,
-                   network-transport >= 0.4 && < 0.5,
-                   deepseq >= 1.3.0.1 && < 1.5,
+                   network-transport >= 0.4 && < 0.6,
+                   deepseq,
                    mtl,
-                   network-transport-tcp >= 0.4 && < 0.6,
-                   binary >= 0.6.3.0 && < 0.8,
-                   network >= 2.3 && < 2.7,
+                   network-transport-tcp >= 0.4 && < 0.9,
+                   binary >= 0.8 && < 0.9,
+                   network >= 2.3 && < 3.3,
                    HUnit >= 1.2 && < 2,
-                   stm >= 2.3 && < 2.5,
-                   time > 1.4 && < 1.6,
+                   stm,
+                   time,
                    test-framework >= 0.6 && < 0.9,
                    test-framework-hunit,
                    QuickCheck >= 2.4,
@@ -137,7 +143,7 @@
                    ghc-prim
   hs-source-dirs:
                    tests
-  ghc-options:     -Wall -threaded -rtsopts -with-rtsopts=-N -fno-warn-unused-do-bind -eventlog
-  extensions:      CPP
+  ghc-options:     -threaded -rtsopts -with-rtsopts=-N -fno-warn-unused-do-bind -eventlog
   main-is:         TestMailbox.hs
   other-modules:   MailboxTestFilters
+  default-language: Haskell2010
diff --git a/src/Control/Distributed/Process/Execution/Exchange/Internal.hs b/src/Control/Distributed/Process/Execution/Exchange/Internal.hs
--- a/src/Control/Distributed/Process/Execution/Exchange/Internal.hs
+++ b/src/Control/Distributed/Process/Execution/Exchange/Internal.hs
@@ -243,10 +243,10 @@
   liftIO $ putMVar tc $ channelControlPort cc
   return $
     defaultProcess {
-        apiHandlers  = [ handleControlChan cc handleControlMessage ]
-      , infoHandlers = [ handleInfo handleMonitor
-                       , handleRaw convertToCC
-                       ]
+        externHandlers = [ handleControlChan cc handleControlMessage ]
+      , infoHandlers   = [ handleInfo handleMonitor
+                         , handleRaw convertToCC
+                         ]
       } :: Process (ProcessDefinition (ExchangeType s))
 
 handleMonitor :: forall s.
@@ -273,4 +273,3 @@
                  Configure msg -> configureEx state msg
                  Post      msg -> routeEx     state msg
   in action >>= \s -> continue $ ex { state = s }
-
diff --git a/src/Control/Distributed/Process/Execution/Mailbox.hs b/src/Control/Distributed/Process/Execution/Mailbox.hs
--- a/src/Control/Distributed/Process/Execution/Mailbox.hs
+++ b/src/Control/Distributed/Process/Execution/Mailbox.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP                  #-}
 {-# LANGUAGE DeriveDataTypeable   #-}
 {-# LANGUAGE DeriveGeneric        #-}
 {-# LANGUAGE StandaloneDeriving   #-}
@@ -133,11 +134,12 @@
   , mkStaticClosure
   )
 import Control.Distributed.Process.Serializable hiding (SerializableDict)
-import Control.Distributed.Process.Extras.Internal.Types
+import Control.Distributed.Process.Extras
   ( ExitReason(..)
   , Resolvable(..)
   , Routable(..)
   , Linkable(..)
+  , Addressable
   )
 import Control.Distributed.Process.ManagedProcess
   ( call
@@ -196,11 +198,7 @@
 
 import GHC.Generics
 
-#if ! MIN_VERSION_base(4,6,0)
-import Prelude hiding (catch, drop)
-#else
 import Prelude hiding (drop)
-#endif
 
 --------------------------------------------------------------------------------
 -- Types                                                                      --
@@ -227,6 +225,8 @@
   sendTo       = post
   unsafeSendTo = post
 
+instance Addressable Mailbox
+
 sendCtrlMsg :: Mailbox
             -> ControlMessage
             -> Process ()
@@ -449,9 +449,6 @@
 
 -- | As 'startMailbox', but suitable for use in supervisor child specs.
 --
--- Example:
--- > childSpec = toChildStart $ startSupervisedMailbox pid bufferType mboxLimit
---
 -- See "Control.Distributed.Process.Supervisor"
 --
 startSupervisedMailbox :: ProcessId
@@ -567,9 +564,11 @@
 processDefinition pid tc cc = do
   liftIO $ atomically $ writeTChan tc $ channelControlPort cc
   return $ defaultProcess { apiHandlers = [
-                               handleControlChan     cc handleControlMessages
-                             , Restricted.handleCall handleGetStats
+                               Restricted.handleCall handleGetStats
                              ]
+                          , externHandlers = [
+                              handleControlChan cc handleControlMessages
+                            ]
                           , infoHandlers = [ handleInfo handlePost
                                            , handleRaw  handleRawInputs ]
                           , unhandledMessagePolicy = DeadLetter pid
@@ -741,4 +740,3 @@
 --
 deliver :: Mailbox -> Process ()
 deliver mb = active mb acceptEverything
-
diff --git a/tests/MailboxTestFilters.hs b/tests/MailboxTestFilters.hs
--- a/tests/MailboxTestFilters.hs
+++ b/tests/MailboxTestFilters.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP                 #-}
 {-# LANGUAGE TemplateHaskell     #-}
 {-# LANGUAGE ScopedTypeVariables #-}
 
@@ -7,11 +8,7 @@
 import Control.Distributed.Process.Execution.Mailbox (FilterResult(..))
 import Control.Monad (forM)
 
-#if ! MIN_VERSION_base(4,6,0)
-import Prelude hiding (catch, drop)
-#else
 import Prelude hiding (drop)
-#endif
 import Data.Maybe (catMaybes)
 import Control.Distributed.Process.Closure (remotable, mkClosure, mkStaticClosure)
 
diff --git a/tests/TestExchange.hs b/tests/TestExchange.hs
--- a/tests/TestExchange.hs
+++ b/tests/TestExchange.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP                   #-}
 {-# LANGUAGE BangPatterns          #-}
 {-# LANGUAGE TemplateHaskell       #-}
 {-# LANGUAGE ScopedTypeVariables   #-}
@@ -15,15 +16,11 @@
 import qualified Control.Distributed.Process.Execution.EventManager as EventManager
   ( start
   )
-import Control.Distributed.Process.Tests.Internal.Utils
+import Control.Distributed.Process.SysTest.Utils
 import Control.Monad (void, forM, forever)
 import Control.Rematch (equalTo)
 
-#if ! MIN_VERSION_base(4,6,0)
-import Prelude hiding (catch, drop)
-#else
 import Prelude hiding (drop)
-#endif
 import Network.Transport.TCP
 import qualified Network.Transport as NT
 import Test.Framework as TF (defaultMain, testGroup, Test)
@@ -188,7 +185,6 @@
 -- | Given a @builder@ function, make and run a test suite on a single transport
 testMain :: (NT.Transport -> IO [Test]) -> IO ()
 testMain builder = do
-  Right (transport, _) <- createTransportExposeInternals
-                                    "127.0.0.1" "10501" defaultTCPParameters
+  Right (transport, _) <- createTransportExposeInternals (defaultTCPAddr "127.0.0.1" "10501") defaultTCPParameters
   testData <- builder transport
   defaultMain testData
diff --git a/tests/TestMailbox.hs b/tests/TestMailbox.hs
--- a/tests/TestMailbox.hs
+++ b/tests/TestMailbox.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE BangPatterns        #-}
+{-# LANGUAGE CPP                 #-}
 {-# LANGUAGE TemplateHaskell     #-}
 {-# LANGUAGE ScopedTypeVariables #-}
 
@@ -10,16 +11,12 @@
 import Control.Distributed.Process.Execution.Mailbox
 import Control.Distributed.Process.Extras.Time
 import Control.Distributed.Process.Extras.Timer
-import Control.Distributed.Process.Tests.Internal.Utils
+import Control.Distributed.Process.SysTest.Utils
 
 
 import Control.Rematch (equalTo)
 
-#if ! MIN_VERSION_base(4,6,0)
-import Prelude hiding (catch, drop)
-#else
 import Prelude hiding (drop)
-#endif
 
 import Data.Maybe (catMaybes)
 
@@ -190,7 +187,7 @@
           (delayedAssertion
            "Expected the Queue to offer FIFO ordering"
            localNode True (allBuffersShouldRespectFIFOOrdering Queue))
-	   
+
         , testCase "Stack Ordering"
           (delayedAssertion
            "Expected the Queue to offer FIFO ordering"
@@ -259,7 +256,6 @@
 -- | Given a @builder@ function, make and run a test suite on a single transport
 testMain :: (NT.Transport -> IO [Test]) -> IO ()
 testMain builder = do
-  Right (transport, _) <- createTransportExposeInternals
-                                    "127.0.0.1" "10501" defaultTCPParameters
+  Right (transport, _) <- createTransportExposeInternals (defaultTCPAddr "127.0.0.1" "10501") defaultTCPParameters
   testData <- builder transport
   defaultMain testData
