diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,26 @@
+2024-09-03 Laurent P. René de Cotret <laurent.decotret@outlook.com> 0.2.8
+
+* Bumped dependency bounds to support GHC 8.10.7 - GHC 9.10.1
+* Updated links to point to Distributed Haskell monorepo
+
+2024-03-25  David Simmons-Duffin <dsd@caltech.edu> 0.2.7
+
+* Bump dependencies to build with ghc-9.8.
+
+2018-06-14  Alexander Vershilov <alexander.vershilov@tweag.io> 0.2.6
+
+* Update dependency bounds
+* Export all documented functions (Issue #9)
+
+2016-02-16  Facundo Domínguez <facundo.dominguezy@tweag.io>  0.2.3
+
+* Update dependency bounds.
+
+# HEAD
+
+* Added initial GenServer module
+* Added Timer Module
+* Moved time functions into Time.hs
+* Added Async API
+* Added GenProcess API (subsumes lower level GenServer API)
+
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-async.cabal b/distributed-process-async.cabal
--- a/distributed-process-async.cabal
+++ b/distributed-process-async.cabal
@@ -1,69 +1,82 @@
+cabal-version:  3.0
 name:           distributed-process-async
-version:        0.2.7
-cabal-version:  >=1.10
+version:        0.2.8
 build-type:     Simple
-license:        BSD3
+license:        BSD-3-Clause
 license-file:   LICENCE
 stability:      experimental
 Copyright:      Tim Watson 2012 - 2016
 Author:         Tim Watson
-Maintainer:     Tim Watson <watson.timothy@gmail.com>
-Homepage:       http://github.com/haskell-distributed/distributed-process-async
-Bug-Reports:    http://github.com/haskell-distributed/distributed-process-async/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:       Cloud Haskell Async API
 description:    This package provides a higher-level interface over Processes, in which an Async a is a
                 concurrent, possibly distributed Process that will eventually deliver a value of type a.
                 The package provides ways to create Async computations, wait for their results, and cancel them.
 category:       Control
-tested-with:    GHC == 7.8.4 GHC == 7.10.3
+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.md
 
 source-repository head
-  type:      git
-  location:  https://github.com/haskell-distributed/distributed-process-async
+  Type:     git
+  Location: https://github.com/haskell-distributed/distributed-process
+  SubDir:   packages/distributed-process-async
 
+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.6.1 && < 0.8,
-                   exceptions >= 0.8.2.1 && < 1.0,
-                   binary >= 0.6.3.0 && < 0.9,
-                   deepseq >= 1.3.0.1 && < 1.6,
+                   exceptions >= 0.10 && < 1.0,
+                   binary >= 0.8 && < 0.9,
+                   deepseq >= 1.4 && < 1.6,
                    mtl,
-                   containers >= 0.4 && < 0.7,
-                   hashable >= 1.2.0.5 && < 1.5,
+                   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.6,
-                   time >= 1.8.0.2,
+                   time >= 1.9,
                    transformers
   default-extensions:      CPP
                    InstanceSigs
   hs-source-dirs:   src
   default-language: Haskell2010
-  ghc-options:      -Wall
   exposed-modules:
                    Control.Distributed.Process.Async
   other-modules:
                    Control.Distributed.Process.Async.Internal.Types
 
 test-suite AsyncTests
+  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.9,
                    distributed-process,
                    distributed-process-async,
                    distributed-process-systest >= 0.2.0,
-                   exceptions >= 0.8.2.1 && < 1.0,
-                   network >= 2.5 && < 2.7,
+                   exceptions >= 0.10 && < 1.0,
+                   network >= 2.5 && < 3.3,
                    network-transport >= 0.4 && < 0.6,
                    network-transport-tcp >= 0.6 && < 0.9,
-                   binary >= 0.6.3.0 && < 0.9,
-                   deepseq >= 1.3.0.1 && < 1.6,
+                   binary >= 0.8 && < 0.9,
+                   deepseq >= 1.4 && < 1.6,
                    -- HUnit >= 1.2 && < 2,
-                   stm >= 2.3 && < 2.5,
+                   stm >= 2.3 && < 2.6,
                    test-framework >= 0.6 && < 0.9,
                    test-framework-hunit,
                    rematch >= 0.2.0.0,
@@ -71,6 +84,6 @@
   hs-source-dirs:
                    tests
   default-language: Haskell2010
-  ghc-options:     -Wall -threaded -rtsopts -with-rtsopts=-N -fno-warn-unused-do-bind
+  ghc-options:     -threaded -rtsopts -with-rtsopts=-N -fno-warn-unused-do-bind
   default-extensions:      CPP
   main-is:         TestAsync.hs
diff --git a/tests/TestAsync.hs b/tests/TestAsync.hs
--- a/tests/TestAsync.hs
+++ b/tests/TestAsync.hs
@@ -219,7 +219,7 @@
 -- | 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" "0" (\sn -> ("127.0.0.1", sn)) defaultTCPParameters
+  Right (transport, _) <- createTransportExposeInternals (defaultTCPAddr "127.0.0.1" "0") defaultTCPParameters
   testData <- builder transport
   defaultMain testData
 
