diff --git a/dbus-core.cabal b/dbus-core.cabal
--- a/dbus-core.cabal
+++ b/dbus-core.cabal
@@ -1,5 +1,5 @@
 name: dbus-core
-version: 0.9
+version: 0.9.1
 synopsis: Low-level D-Bus protocol implementation
 license: GPL-3
 license-file: license.txt
diff --git a/hs/DBus/Client.hs b/hs/DBus/Client.hs
--- a/hs/DBus/Client.hs
+++ b/hs/DBus/Client.hs
@@ -24,6 +24,7 @@
 	, disconnect
 	, call
 	, call_
+	, emit
 	
 	-- * Listening for signals
 	, MatchRule(..)
diff --git a/hs/DBus/Client/Internal.hs b/hs/DBus/Client/Internal.hs
--- a/hs/DBus/Client/Internal.hs
+++ b/hs/DBus/Client/Internal.hs
@@ -109,7 +109,7 @@
 	attach connection
 
 
--- | Stop a 'Client'#8217;s callback thread and close its underlying socket.
+-- | Stop a 'Client'&#8217;s callback thread and close its underlying socket.
 
 disconnect :: Client -> IO ()
 disconnect client = do
@@ -197,6 +197,9 @@
 	case result of
 		Left err -> connectionError ("Call failed: " ++ Data.Text.unpack (errorMessage err))
 		Right ret -> return ret
+
+emit :: Client -> Signal -> IO ()
+emit client msg = send_ client msg (\_ -> return ())
 
 data MatchRule = MatchRule
 	{ matchSender      :: Maybe BusName
diff --git a/hs/DBus/Client/Simple.hs b/hs/DBus/Client/Simple.hs
--- a/hs/DBus/Client/Simple.hs
+++ b/hs/DBus/Client/Simple.hs
@@ -26,6 +26,7 @@
 	, connectSession
 	, connectStarter
 	, disconnect
+	, emit
 	
 	-- * Proxies
 	, Proxy
@@ -59,7 +60,7 @@
 import           Data.Word (Word32)
 
 import           DBus.Address
-import           DBus.Client hiding (call, method, export)
+import           DBus.Client hiding (call, method, emit, export)
 import qualified DBus.Client
 import           DBus.Connection.Error
 import           DBus.Constants (errorInvalidParameters)
@@ -139,6 +140,15 @@
 		, methodCallBody = body
 		}
 	return (methodReturnBody reply)
+
+emit :: Client -> ObjectPath -> InterfaceName -> MemberName -> [Variant] -> IO ()
+emit client path iface member body = DBus.Client.emit client $ Signal
+	{ signalDestination = Nothing
+	, signalPath = path
+	, signalInterface = iface
+	, signalMember = member
+	, signalBody = body
+	}
 
 listen :: Proxy -> InterfaceName -> MemberName -> (BusName -> Signal -> IO ()) -> IO ()
 listen (Proxy client dest path) iface member = DBus.Client.listen client (MatchRule
diff --git a/src/api-docs.anansi b/src/api-docs.anansi
--- a/src/api-docs.anansi
+++ b/src/api-docs.anansi
@@ -24,7 +24,7 @@
 can't merge documentation from external files.
 
 :d apidoc DBus.Client.disconnect
--- | Stop a 'Client'#8217;s callback thread and close its underlying socket.
+-- | Stop a 'Client'&#8217;s callback thread and close its underlying socket.
 :
 
 :d apidoc DBus.Client.throwError
diff --git a/src/client.anansi b/src/client.anansi
--- a/src/client.anansi
+++ b/src/client.anansi
@@ -187,6 +187,14 @@
 :
 
 \clearpage
+\subsection{Emitting signals}
+
+:d DBus.Client
+emit :: Client -> Signal -> IO ()
+emit client msg = send_ client msg (\_ -> return ())
+:
+
+\clearpage
 \subsection{Receiving signals}
 
 :d DBus.Client
@@ -424,6 +432,17 @@
 		, methodCallBody = body
 		}
 	return (methodReturnBody reply)
+:
+
+:d DBus.Client.Simple
+emit :: Client -> ObjectPath -> InterfaceName -> MemberName -> [Variant] -> IO ()
+emit client path iface member body = DBus.Client.emit client $ Signal
+	{ signalDestination = Nothing
+	, signalPath = path
+	, signalInterface = iface
+	, signalMember = member
+	, signalBody = body
+	}
 :
 
 :d DBus.Client.Simple
diff --git a/src/dbus-core.anansi b/src/dbus-core.anansi
--- a/src/dbus-core.anansi
+++ b/src/dbus-core.anansi
@@ -47,10 +47,10 @@
 % No extra margins in code blocks
 \codemargin=0pt
 
-\title{dbus\_0.9}
+\title{dbus\_0.9.1}
 \author{John Millikin\\
         \href{mailto:"John Millikin" <jmillikin@gmail.com>}{\tt jmillikin@gmail.com}}
-\date{July 14, 2011}
+\date{July 24, 2011}
 
 \makeindex
 
diff --git a/src/module-headers.anansi b/src/module-headers.anansi
--- a/src/module-headers.anansi
+++ b/src/module-headers.anansi
@@ -350,6 +350,7 @@
 	, disconnect
 	, call
 	, call_
+	, emit
 	
 	-- * Listening for signals
 	, MatchRule(..)
@@ -419,6 +420,7 @@
 	, connectSession
 	, connectStarter
 	, disconnect
+	, emit
 	
 	-- * Proxies
 	, Proxy
@@ -452,7 +454,7 @@
 import           Data.Word (Word32)
 
 import           DBus.Address
-import           DBus.Client hiding (call, method, export)
+import           DBus.Client hiding (call, method, emit, export)
 import qualified DBus.Client
 import           DBus.Connection.Error
 import           DBus.Constants (errorInvalidParameters)
