diff --git a/NEWS b/NEWS
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,14 @@
+1.1
+
+(Released on: Sat Jan 7 20:54:10 UTC 2012)
+
+* Support base-4.5
+
+* Mark the safe modules as Trustworthy and the unsafe ones as Unsafe.
+
+* Replaced getEvtMgr with getWait
+
+
 1.0
 
 (Released on: Mon Sep 12 19:50:37 UTC 2011)
diff --git a/System/USB/Base.hs b/System/USB/Base.hs
--- a/System/USB/Base.hs
+++ b/System/USB/Base.hs
@@ -21,7 +21,7 @@
 
 -- from base:
 import Prelude               ( Num, (+), (-), (*), Integral, fromIntegral, div
-                             , Enum, fromEnum, error, String
+                             , Enum, fromEnum, error, String, ($!), seq
                              )
 import Foreign.C.Types       ( CUChar, CInt, CUInt )
 import Foreign.C.String      ( CStringLen )
@@ -238,23 +238,25 @@
         C'libusb_pollfd fd evt ← peek pollFdPtr
         fdKey ← register fd evt
         return (fromIntegral fd, fdKey)
-      fdKeyMapRef ← newIORef (fromList fdKeys ∷ IntMap FdKey)
+      fdKeyMapRef ← newIORef $! (fromList fdKeys ∷ IntMap FdKey)
       free pollFdPtrLst
 
       -- Be notified when libusb file descriptors are added or removed:
       aFP ← mk'libusb_pollfd_added_cb $ \fd evt _ → mask_ $ do
               fdKey ← register fd evt
-              atomicModifyIORef fdKeyMapRef $ \fdKeyMap →
-                (insert (fromIntegral fd) fdKey fdKeyMap, ())
+              newFdKeyMap <- atomicModifyIORef fdKeyMapRef $ \fdKeyMap →
+                  let newFdKeyMap = insert (fromIntegral fd) fdKey fdKeyMap
+                  in (newFdKeyMap, newFdKeyMap)
+              newFdKeyMap `seq` return ()
 
       rFP ← mk'libusb_pollfd_removed_cb $ \fd _ → mask_ $ do
-              fdKey ← atomicModifyIORef fdKeyMapRef $ \fdKeyMap →
-                        let (Just fdKey, newFdKeyMap) =
-                                updateLookupWithKey (\_ _ → Nothing)
-                                                    (fromIntegral fd)
-                                                    fdKeyMap
-                        in (newFdKeyMap, fdKey)
-              unregisterFd evtMgr fdKey
+              (newFdKeyMap, fdKey) ← atomicModifyIORef fdKeyMapRef $ \fdKeyMap →
+                  let (Just fdKey, newFdKeyMap) =
+                          updateLookupWithKey (\_ _ → Nothing)
+                                              (fromIntegral fd)
+                                              fdKeyMap
+                  in (newFdKeyMap, (newFdKeyMap, fdKey))
+              newFdKeyMap `seq` unregisterFd evtMgr fdKey
 
       c'libusb_set_pollfd_notifiers ctxPtr aFP rFP nullPtr
 
diff --git a/usb.cabal b/usb.cabal
--- a/usb.cabal
+++ b/usb.cabal
@@ -1,5 +1,5 @@
 name:          usb
-version:       1.1
+version:       1.1.0.1
 cabal-version: >=1.6
 build-type:    Custom
 license:       BSD3
@@ -7,7 +7,7 @@
 copyright:     2009–2012 Bas van Dijk <v.dijk.bas@gmail.com>
 author:        Bas van Dijk <v.dijk.bas@gmail.com>
 maintainer:    Bas van Dijk <v.dijk.bas@gmail.com>
-homepage:      https://github.com/basvandijk/usb
+homepage:      http://basvandijk.github.com/usb
 bug-reports:   https://github.com/basvandijk/usb/issues
 category:      System, Hardware
 synopsis:      Communicate with USB devices
