diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,3 +1,7 @@
+## Version 0.29.4 (December, 2018)
+
+Upgrade to alsa-mixer 0.3.0.  See issues #372 and #373.
+
 ## Version 0.29.3 (December, 2018)
 
 _Bug fixes_
diff --git a/src/Xmobar/Plugins/Monitors/Volume.hs b/src/Xmobar/Plugins/Monitors/Volume.hs
--- a/src/Xmobar/Plugins/Monitors/Volume.hs
+++ b/src/Xmobar/Plugins/Monitors/Volume.hs
@@ -151,7 +151,7 @@
                    val <- getVal $ volumeControl control
                    db <- getDB $ volumeControl control
                    sw <- getSw $ switchControl control
-                   return (lo, hi, val, db, sw))
+                   return (fmap toInteger lo, fmap toInteger hi, val, db, sw))
                 (const $ return (Nothing, Nothing, Nothing, Nothing, Nothing))
 
     volumeControl :: Maybe Control -> Maybe Volume
@@ -171,8 +171,10 @@
     liftMonitor Nothing = unavailable
     liftMonitor (Just m) = m
 
-    channel v r = AE.catch (getChannel FrontLeft v) (const $ return $ Just r)
+    channel' v r = AE.catch (getChannel FrontLeft v) (const $ return $ Just r)
 
+    channel v r = channel' v r >>= \x -> return (x >>= Just . toInteger)
+
     getDB :: Maybe Volume -> IO (Maybe Integer)
     getDB Nothing = return Nothing
     getDB (Just v) = channel (dB v) 0
@@ -183,7 +185,7 @@
 
     getSw :: Maybe Switch -> IO (Maybe Bool)
     getSw Nothing = return Nothing
-    getSw (Just s) = channel s False
+    getSw (Just s) = channel' s False
 
     getFormatDB :: VolumeOpts -> Maybe Integer -> Monitor String
     getFormatDB _ Nothing = unavailable
diff --git a/xmobar.cabal b/xmobar.cabal
--- a/xmobar.cabal
+++ b/xmobar.cabal
@@ -1,5 +1,5 @@
 name:               xmobar
-version:            0.29.3
+version:            0.29.4
 homepage:           http://xmobar.org
 synopsis:           A Minimalistic Text Based Status Bar
 description: 	    Xmobar is a minimalistic text based status bar.
@@ -223,7 +223,7 @@
        cpp-options: -DLIBMPD
 
     if flag(with_alsa) || flag(all_extensions)
-       build-depends: alsa-mixer > 0.2.0.2 && < 0.3
+       build-depends: alsa-mixer >= 0.3 && < 0.4
        build-depends: alsa-core == 0.5.*,
                       process >= 1.4.3.0
        exposed-modules: Xmobar.Plugins.Monitors.Volume
@@ -325,8 +325,8 @@
                  Xmobar.System.Signal
 
   if flag(with_alsa) || flag(all_extensions)
-      build-depends: alsa-mixer > 0.2.0.2 && < 0.3,
-                     alsa-core == 0.5.*,
+      build-depends: alsa-mixer,
+                     alsa-core,
                      process >= 1.4.3.0
       other-modules: Xmobar.Plugins.Monitors.Volume
                      Xmobar.Plugins.Monitors.Alsa
