diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,10 +1,8 @@
 # Revsion history of strict-mvar
 
-## next release
-
-### Breaking changes
+## 1.4.0.0
 
-### Non-breaking changes
+* `io-sim-1.4.0.0`.
 
 ## 1.3.0.0
 
diff --git a/NOTICE b/NOTICE
--- a/NOTICE
+++ b/NOTICE
@@ -1,4 +1,4 @@
-Copyright 2019-2023 Input Output Global Inc (IOG).
+Copyright 2019-2024 Input Output Global Inc (IOG).
 
    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
diff --git a/src/Control/Concurrent/Class/MonadMVar/Strict.hs b/src/Control/Concurrent/Class/MonadMVar/Strict.hs
--- a/src/Control/Concurrent/Class/MonadMVar/Strict.hs
+++ b/src/Control/Concurrent/Class/MonadMVar/Strict.hs
@@ -1,5 +1,5 @@
-{-# LANGUAGE BangPatterns #-}
-{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE BangPatterns  #-}
+{-# LANGUAGE TypeFamilies  #-}
 {-# LANGUAGE TypeOperators #-}
 
 -- | This module corresponds to "Control.Concurrent.MVar" in the @base@ package.
@@ -30,8 +30,8 @@
   , MonadMVar
   ) where
 
-import           Control.Concurrent.Class.MonadMVar (MonadMVar)
-import qualified Control.Concurrent.Class.MonadMVar as Lazy
+import Control.Concurrent.Class.MonadMVar (MonadMVar)
+import Control.Concurrent.Class.MonadMVar qualified as Lazy
 
 --
 -- StrictMVar
diff --git a/strict-mvar.cabal b/strict-mvar.cabal
--- a/strict-mvar.cabal
+++ b/strict-mvar.cabal
@@ -1,6 +1,6 @@
 cabal-version:       3.0
 name:                strict-mvar
-version:             1.3.0.0
+version:             1.4.0.0
 synopsis:            Strict MVars for IO and IOSim
 description:
   Strict @MVar@ interface compatible with
@@ -8,7 +8,7 @@
   & [io-sim](https://hackage.haskell.org/package/io-sim).
 license:             Apache-2.0
 license-files:       LICENSE NOTICE
-copyright:           2019-2023 Input Output Global Inc (IOG).
+copyright:           2019-2024 Input Output Global Inc (IOG).
 author:              IOG Engineering Team
 maintainer:          operations@iohk.io
 category:            Concurrency
@@ -27,8 +27,9 @@
 
   exposed-modules:     Control.Concurrent.Class.MonadMVar.Strict
   default-language:    Haskell2010
+  default-extensions:  ImportQualifiedPost
   build-depends:       base        >= 4.9 && <4.20,
-                       io-classes ^>= 1.3,
+                       io-classes ^>= 1.4
   ghc-options:         -Wall
                        -Wno-unticked-promoted-constructors
                        -Wcompat
@@ -45,6 +46,7 @@
   other-modules:       Test.Control.Concurrent.Class.MonadMVar.Strict.WHNF
                        Test.Utils
   default-language:    Haskell2010
+  default-extensions:  ImportQualifiedPost
   build-depends:       base >=4.9 && <4.20,
                        io-sim,
                        nothunks,
diff --git a/test/Main.hs b/test/Main.hs
--- a/test/Main.hs
+++ b/test/Main.hs
@@ -1,7 +1,7 @@
 module Main where
 
-import qualified Test.Control.Concurrent.Class.MonadMVar.Strict.WHNF as WHNF
-import           Test.Tasty
+import Test.Control.Concurrent.Class.MonadMVar.Strict.WHNF qualified as WHNF
+import Test.Tasty
 
 main :: IO ()
 main = defaultMain $ testGroup "strict-mvar" [
diff --git a/test/Test/Control/Concurrent/Class/MonadMVar/Strict/WHNF.hs b/test/Test/Control/Concurrent/Class/MonadMVar/Strict/WHNF.hs
--- a/test/Test/Control/Concurrent/Class/MonadMVar/Strict/WHNF.hs
+++ b/test/Test/Control/Concurrent/Class/MonadMVar/Strict/WHNF.hs
@@ -4,15 +4,14 @@
 -- before they are put inside the 'StrictMVar'.
 module Test.Control.Concurrent.Class.MonadMVar.Strict.WHNF (tests) where
 
-import           Control.Concurrent.Class.MonadMVar.Strict
-import           Control.Monad (void)
-import           Data.Typeable (Typeable)
-import           NoThunks.Class (OnlyCheckWhnf (OnlyCheckWhnf), unsafeNoThunks)
-import           Test.QuickCheck.Monadic (PropertyM, monadicIO, monitor, run)
-import           Test.Tasty (TestTree, testGroup)
-import           Test.Tasty.QuickCheck (Fun, applyFun, counterexample,
-                     testProperty)
-import           Test.Utils (monadicSim)
+import Control.Concurrent.Class.MonadMVar.Strict
+import Control.Monad (void)
+import Data.Typeable (Typeable)
+import NoThunks.Class (OnlyCheckWhnf (OnlyCheckWhnf), unsafeNoThunks)
+import Test.QuickCheck.Monadic (PropertyM, monadicIO, monitor, run)
+import Test.Tasty (TestTree, testGroup)
+import Test.Tasty.QuickCheck (Fun, applyFun, counterexample, testProperty)
+import Test.Utils (monadicSim)
 
 {-------------------------------------------------------------------------------
   Main test tree
diff --git a/test/Test/Utils.hs b/test/Test/Utils.hs
--- a/test/Test/Utils.hs
+++ b/test/Test/Utils.hs
@@ -5,10 +5,10 @@
   , monadicSim
   ) where
 
-import           Control.Monad.IOSim (IOSim, runSimOrThrow)
-import           Test.QuickCheck (Gen, Property, Testable (..))
-import           Test.QuickCheck.Gen.Unsafe (Capture (..), capture)
-import           Test.QuickCheck.Monadic (PropertyM, monadic')
+import Control.Monad.IOSim (IOSim, runSimOrThrow)
+import Test.QuickCheck (Gen, Property, Testable (..))
+import Test.QuickCheck.Gen.Unsafe (Capture (..), capture)
+import Test.QuickCheck.Monadic (PropertyM, monadic')
 
 {-------------------------------------------------------------------------------
   Property runners (copied from "Ouroboros.Network.Testing.QuickCheck")
