diff --git a/src/System/ZMQ4.hs b/src/System/ZMQ4.hs
--- a/src/System/ZMQ4.hs
+++ b/src/System/ZMQ4.hs
@@ -75,6 +75,7 @@
   , bind
   , unbind
   , connect
+  , disconnect
   , send
   , send'
   , sendMulti
@@ -770,6 +771,12 @@
 connect :: Socket a -> String -> IO ()
 connect sock str = onSocket "connect" sock $
     throwIfMinus1Retry_ "connect" . withCString str . c_zmq_connect
+
+-- | Disconnect the socket from the given endpoint
+-- (cf. <http://api.zeromq.org/4-0:zmq-disconnect zmq_disconnect>).
+disconnect :: Socket a -> String -> IO ()
+disconnect sock str = onSocket "disconnect" sock $
+    throwIfMinus1Retry_ "disconnect" . withCString str . c_zmq_disconnect
 
 -- | Send the given 'SB.ByteString' over the socket
 -- (cf. <http://api.zeromq.org/4-0:zmq-sendmsg zmq_sendmsg>).
diff --git a/src/System/ZMQ4/Base.hsc b/src/System/ZMQ4/Base.hsc
--- a/src/System/ZMQ4/Base.hsc
+++ b/src/System/ZMQ4/Base.hsc
@@ -318,6 +318,9 @@
 foreign import ccall unsafe "zmq.h zmq_connect"
     c_zmq_connect :: ZMQSocket -> CString -> IO CInt
 
+foreign import ccall unsafe "zmq.h zmq_disconnect"
+    c_zmq_disconnect :: ZMQSocket -> CString -> IO CInt
+
 foreign import ccall unsafe "zmq.h zmq_sendmsg"
     c_zmq_sendmsg :: ZMQSocket -> ZMQMsgPtr -> CInt -> IO CInt
 
diff --git a/src/System/ZMQ4/Monadic.hs b/src/System/ZMQ4/Monadic.hs
--- a/src/System/ZMQ4/Monadic.hs
+++ b/src/System/ZMQ4/Monadic.hs
@@ -69,6 +69,7 @@
   , bind
   , unbind
   , connect
+  , disconnect
   , send
   , send'
   , sendMulti
@@ -322,6 +323,9 @@
 
 connect :: Socket z t -> String -> ZMQ z ()
 connect s = liftIO . Z.connect (_unsocket s)
+
+disconnect :: Socket z t -> String -> ZMQ z ()
+disconnect s = liftIO . Z.disconnect (_unsocket s)
 
 send :: Z.Sender t => Socket z t -> [Z.Flag] -> ByteString -> ZMQ z ()
 send s f = liftIO . Z.send (_unsocket s) f
diff --git a/tests/System/ZMQ4/Test/Properties.hs b/tests/System/ZMQ4/Test/Properties.hs
--- a/tests/System/ZMQ4/Test/Properties.hs
+++ b/tests/System/ZMQ4/Test/Properties.hs
@@ -1,5 +1,6 @@
 {-# LANGUAGE FlexibleInstances    #-}
 {-# LANGUAGE OverloadedStrings    #-}
+{-# LANGUAGE GADTs                #-}
 {-# OPTIONS_GHC -fno-warn-orphans #-}
 
 module System.ZMQ4.Test.Properties where
@@ -46,7 +47,12 @@
           , ("set;get socket option (Pull)",   property $ prop_set_get_socket_option Pull)
           , ("set;get socket option (Push)",   property $ prop_set_get_socket_option Push)
           , ("(un-)subscribe",                 property $ prop_subscribe Sub)
-          ])
+          ] ++
+          [ ("connect disconnect ", property $ prop_connect_disconnect x) |
+            x <- [ (AnySocket Rep, AnySocket Req)
+                 , (AnySocket Router, AnySocket Req)
+                 , (AnySocket Pull, AnySocket Push)]]
+          )
 
       quickBatch' ("0MQ Messages"
         , [ ("msg send == msg received (Req/Rep)",   property $ prop_send_receive Req Rep)
@@ -124,6 +130,16 @@
         receive sub
     assert (msg == msg')
 
+
+prop_connect_disconnect :: (AnySocket, AnySocket) -> Property
+prop_connect_disconnect (AnySocket t0, AnySocket t) = monadicIO $ run $
+    runZMQ $ do
+        s0 <- socket t0
+        bind s0 "inproc://endpoint"
+        s <- socket t
+        connect s "inproc://endpoint"
+        disconnect s "inproc://endpoint"
+
 instance Arbitrary ByteString where
     arbitrary = CB.pack . filter (/= '\0') <$> arbitrary
 
@@ -192,3 +208,7 @@
 
 toRneg1' :: Int64 -> Restricted (Nneg1, Int64) Int64
 toRneg1' = fromJust . toRestricted . fromIntegral
+
+data AnySocket where
+    AnySocket :: SocketType a => a -> AnySocket
+
diff --git a/zeromq4-haskell.cabal b/zeromq4-haskell.cabal
--- a/zeromq4-haskell.cabal
+++ b/zeromq4-haskell.cabal
@@ -1,12 +1,12 @@
 name:               zeromq4-haskell
-version:            0.1
+version:            0.2
 synopsis:           Bindings to ZeroMQ 4.x
 category:           System, FFI
 license:            MIT
 license-file:       LICENSE
 author:             Toralf Wittner
 maintainer:         Toralf Wittner <tw@dtex.org>
-copyright:          Copyright (c) 2010 - 2013 zeromq-haskell authors
+copyright:          Copyright (c) 2010 - 2014 zeromq-haskell authors
 homepage:           http://github.com/twittner/zeromq-haskell/
 stability:          experimental
 tested-With:        GHC == 7.6.3
