diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,10 @@
+## [v1.3.0.3](https://github.com/diagrams/diagrams-lib/tree/v1.3.0.2) (2015-08-10)
+
+**Dependency/version changes**
+
+- Drop dependency on deprecated `system-filepath` package
+- Require `fsnotify-0.2.1`
+
 ## [v1.3.0.2](https://github.com/diagrams/diagrams-lib/tree/v1.3.0.2) (2015-07-19)
 
 [Full Changelog](https://github.com/diagrams/diagrams-lib/compare/v1.3.0.1...v1.3.0.2)
diff --git a/diagrams-lib.cabal b/diagrams-lib.cabal
--- a/diagrams-lib.cabal
+++ b/diagrams-lib.cabal
@@ -1,5 +1,5 @@
 Name:                diagrams-lib
-Version:             1.3.0.2
+Version:             1.3.0.3
 Synopsis:            Embedded domain-specific language for declarative graphics
 Description:         Diagrams is a flexible, extensible EDSL for creating
                      graphics of many types.  Graphics can be created
@@ -122,10 +122,9 @@
                        adjunctions >= 4.0 && < 5.0,
                        distributive >=0.2.2 && < 1.0,
                        process >= 1.1 && < 1.3,
-                       fsnotify >= 0.1 && < 0.2,
+                       fsnotify >= 0.2.1 && < 0.3,
                        directory >= 1.2 && < 1.3,
                        unordered-containers >= 0.2 && < 0.2.6,
-                       system-filepath >= 0.2 && < 0.5,
                        text >= 0.7.1 && < 1.3,
                        mtl >= 2.0 && < 2.3,
                        transformers >= 0.3.0 && < 0.5.0,
diff --git a/src/Diagrams/Backend/CmdLine.hs b/src/Diagrams/Backend/CmdLine.hs
--- a/src/Diagrams/Backend/CmdLine.hs
+++ b/src/Diagrams/Backend/CmdLine.hs
@@ -93,11 +93,9 @@
 import           Data.List                 (delete)
 import           Data.Maybe                (fromMaybe)
 import           Data.Monoid
-import qualified Data.Text                 as T
 import           Numeric
 
 import           Control.Concurrent        (threadDelay)
-import           Filesystem.Path.CurrentOS (directory, fromText)
 import           System.Directory          (canonicalizePath)
 import           System.Environment        (getArgs, getProgName)
 import           System.Exit               (ExitCode (..))
@@ -586,8 +584,7 @@
       putStrLn ("Using sandbox " ++ takeDirectory sb)
       return ["-package-db", sb]
 
-  let srcFilePath = fromText $ T.pack srcPath'
-      args'       = delete "-l" . delete "--loop" $ args
+  let args'       = delete "-l" . delete "--loop" $ args
       newProg     = newProgName (takeFileName srcPath) prog
       timeOfDay   = take 8 . drop 11 . show . eventTime
 
@@ -596,12 +593,12 @@
     \mgr -> do
       lock <- newIORef False
 
-      _ <- watchDir mgr (directory srcFilePath) (existsEvents (== srcFilePath))
+      _ <- watchDir mgr (takeDirectory srcPath') (existsEvents (== srcPath'))
         $ \ev -> do
           running <- atomicModifyIORef lock ((,) True)
           unless running $ do
             putStrF ("Modified " ++ timeOfDay ev ++ " ... ")
-            exitCode <- recompile srcPath newProg sandboxArgs
+            exitCode <- recompile srcPath' newProg sandboxArgs
             -- Call the new program without the looping option
             run newProg args' exitCode
             atomicWriteIORef lock False
