diff --git a/Control/Monad/Trans/Control.hs b/Control/Monad/Trans/Control.hs
--- a/Control/Monad/Trans/Control.hs
+++ b/Control/Monad/Trans/Control.hs
@@ -6,6 +6,7 @@
            , FunctionalDependencies
            , FlexibleInstances
            , UndecidableInstances
+           , MultiParamTypeClasses
   #-}
 
 {- |
@@ -48,15 +49,19 @@
 -- from base:
 import Data.Function ( ($), const )
 import Data.Monoid   ( Monoid, mempty )
-import Control.Monad ( Monad, (>>=), return, liftM, void )
+import Control.Monad ( Monad, (>>=), return, liftM )
+import System.IO     ( IO )
+import Data.Maybe    ( Maybe )
+import Data.Either   ( Either )
 
-import System.IO                       ( IO )
-import GHC.Conc.Sync                   ( STM )
-import Data.Maybe                      ( Maybe )
-import Data.Either                     ( Either )
+#if MIN_VERSION_base(4,3,0)
+import GHC.Conc.Sync ( STM )
+#endif
 
+#if MIN_VERSION_base(4,4,0)
 import           Control.Monad.ST.Lazy             ( ST )
 import qualified Control.Monad.ST.Strict as Strict ( ST )
+#endif
 
 -- from base-unicode-symbols:
 import Data.Function.Unicode ( (∘) )
@@ -82,6 +87,13 @@
 -- from transformers-base:
 import Control.Monad.Base ( MonadBase )
 
+#if MIN_VERSION_base(4,3,0)
+import Control.Monad ( void )
+#else
+import Data.Functor (Functor, fmap)
+void ∷ Functor f ⇒ f α → f ()
+void = fmap (const ())
+#endif
 
 --------------------------------------------------------------------------------
 -- MonadTransControl type class
@@ -267,14 +279,21 @@
     {-# INLINE restoreM #-}}
 
 BASE(IO,          StIO)
-BASE(Strict.ST s, StSTS)
-BASE(       ST s, StST)
-BASE(STM,         StSTM)
 BASE(Maybe,       St)
 BASE(Either e,    StE)
 BASE([],          StL)
 BASE((→) r,       StF)
 BASE(Identity,    StI)
+
+#if MIN_VERSION_base(4,3,0)
+BASE(STM,         StSTM)
+#endif
+
+#if MIN_VERSION_base(4,4,0)
+BASE(Strict.ST s, StSTS)
+BASE(       ST s, StST)
+#endif
+
 #undef BASE
 
 
diff --git a/NEWS b/NEWS
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,23 @@
+0.3
+
+(Released on: Fri Dec 2 09:52:16 UTC 2011)
+
+* Major new API which IMHO is easier to understand than the old one.
+
+* On average about 60 times faster than the previous release!
+
+* New package lifted-base providing lifted versions of functions from the base
+  library. It exports the following modules:
+
+  - Control.Exception.Lifted
+  - Control.Concurrent.Lifted
+  - Control.Concurrent.MVar.Lifted
+  - System.Timeout.Lifted
+
+  Not all modules from base are converted yet. If you need a lifted version of
+  some function from base, just ask me to add it or send me a patch.
+
+
 0.2.0.3
 
 (Released on: Sat Aug 27 21:18:22 UTC 2011)
diff --git a/monad-control.cabal b/monad-control.cabal
--- a/monad-control.cabal
+++ b/monad-control.cabal
@@ -1,5 +1,5 @@
 Name:                monad-control
-Version:             0.3
+Version:             0.3.0.1
 Synopsis:            Lift control operations, like exception catching, through monad transformers
 License:             BSD3
 License-file:        LICENSE
