diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Revision history for ghc-debug-common
 
+## 0.5.0.0 -- 2023-06-06
+
+* Bump to keep in sync with other libraries
+
 ## 0.4.0.0 -- 2022-12-14
 
 * Add RequestSRT to allow support for tracing SRTs
diff --git a/ghc-debug-common.cabal b/ghc-debug-common.cabal
--- a/ghc-debug-common.cabal
+++ b/ghc-debug-common.cabal
@@ -1,6 +1,6 @@
 cabal-version:       3.0
 name:                ghc-debug-common
-version:             0.4.0.0
+version:             0.5.0.0
 synopsis:            Connect to a socket created by ghc-debug-stub and analyse
                      the heap of the debuggee program.
 description:         Connect to a socket created by ghc-debug-stub and analyse
@@ -35,10 +35,10 @@
                        ghc-heap >= 9.1,
                        cpu ^>= 0.1,
                        containers ^>= 0.6,
-                       transformers ^>= 0.5,
+                       transformers >= 0.5 && < 0.7 ,
                        dom-lt ^>= 0.2,
                        unordered-containers ^>= 0.2,
-                       ghc-debug-convention == 0.4.0.0,
+                       ghc-debug-convention == 0.5.0.0,
                        deepseq ^>= 1.4
 
   hs-source-dirs:      src
diff --git a/src/GHC/Debug/Types/Graph.hs b/src/GHC/Debug/Types/Graph.hs
--- a/src/GHC/Debug/Types/Graph.hs
+++ b/src/GHC/Debug/Types/Graph.hs
@@ -344,7 +344,7 @@
         "_blockingQueue"
     OtherClosure {} ->
         "_other"
-    TSOClosure {} -> "TSO"
+    TSOClosure {..} -> "TSO: " ++ show why_blocked
     StackClosure {..} -> app ["Stack(", show stack_size, ")"] -- TODO
     WeakClosure {} -> "_wk" -- TODO
     TVarClosure {} -> "_tvar" -- TODO
diff --git a/src/GHC/Debug/Types/Ptr.hs b/src/GHC/Debug/Types/Ptr.hs
--- a/src/GHC/Debug/Types/Ptr.hs
+++ b/src/GHC/Debug/Types/Ptr.hs
@@ -15,6 +15,7 @@
 -- then the other pointers are derived from this instance using DerivingVia
 module GHC.Debug.Types.Ptr( -- * InfoTables
                             InfoTablePtr(..)
+                          , readInfoTablePtr
                           , RawInfoTable(..)
                           -- UntaggedClosurePtr constructor not exported so
                           -- we can maintain the invariant that all
@@ -104,6 +105,13 @@
                      deriving (Eq, Ord)
                      deriving newtype (Hashable)
                      deriving (Show, Binary) via ClosurePtr
+
+readInfoTablePtr :: String -> Maybe InfoTablePtr
+readInfoTablePtr ('0':'x':s) = case readHex s of
+    [(res, "")] -> Just (InfoTablePtr res)
+    _ -> Nothing
+readInfoTablePtr _ = Nothing
+
 
 -- Invariant, ClosurePtrs are *always* untagged, we take some care to
 -- untag them when making a ClosurePtr so we don't have to do it on every
