diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,8 @@
+## 0.2.0.0
+
+* Export version number in Passman.Core.Version
+* Make `passlistPath` non-optional in Config
+
 ## 0.1.0.0
 
 * Initial release
diff --git a/passman-core.cabal b/passman-core.cabal
--- a/passman-core.cabal
+++ b/passman-core.cabal
@@ -1,5 +1,5 @@
 name:                passman-core
-version:             0.1.0.0
+version:             0.2.0.0
 synopsis:            Deterministic password generator core
 description:
     Generates unique passwords deterministically from a single master password.
@@ -30,6 +30,9 @@
                        Passman.Core.Info
                        Passman.Core.Entry
                        Passman.Core.Entry.Lens
+                       Passman.Core.Version
+  other-modules:       Paths_passman_core
+  autogen-modules:     Paths_passman_core
   ghc-options:         -Wall
   build-depends:       passman-core-internal
                      , base            >= 4.9     && < 4.11
diff --git a/src/Passman/Core/Config.hs b/src/Passman/Core/Config.hs
--- a/src/Passman/Core/Config.hs
+++ b/src/Passman/Core/Config.hs
@@ -38,7 +38,7 @@
 
 import Data.Text     (Text)
 import Data.Yaml     (encodeFile, decodeFileEither)
-import Data.Aeson.TH (deriveJSON, defaultOptions, omitNothingFields)
+import Data.Aeson.TH (deriveJSON, defaultOptions)
 
 import System.FilePath          ((</>))
 import System.Directory         (XdgDirectory(XdgConfig), getXdgDirectory, createDirectoryIfMissing)
@@ -50,33 +50,22 @@
 -- Intended to be saved to file in YAML format. This example config file:
 --
 -- >masterPasswordHash: "$2y$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy"
---
--- Would be parsed as:
---
--- >Config { masterPasswordHash = "$2y$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy"
--- >       , passlistPath = Nothing
--- >       }
---
--- Optionally, the `passlistPath` field can be present as well. This example
--- config file:
---
--- >masterPasswordHash: "$2y$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy"
 -- >passlistPath: "/path/to/passlist.txt"
 --
 -- Would be parsed as:
 --
 -- >Config { masterPasswordHash = "$2y$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy"
--- >       , passlistPath = Just "/path/to/passlist.txt"
+-- >       , passlistPath = "/path/to/passlist.txt"
 -- >       }
 data Config = Config {
                        -- | Hash of the master password generated by
                        -- `Passman.Core.Hash.hashMasterPassword`
                        masterPasswordHash :: Text
-                       -- | The path to the last used passlist file
-                     , passlistPath       :: Maybe FilePath
+                       -- | Path to the passlist file
+                     , passlistPath       :: FilePath
                      } deriving (Show, Eq)
 
-$(deriveJSON defaultOptions {omitNothingFields = True} ''Config)
+$(deriveJSON defaultOptions ''Config)
 
 -- | Load a `Config` from file.
 loadConfig :: IO Config
diff --git a/src/Passman/Core/Config/Lens.hs b/src/Passman/Core/Config/Lens.hs
--- a/src/Passman/Core/Config/Lens.hs
+++ b/src/Passman/Core/Config/Lens.hs
@@ -43,7 +43,7 @@
                                 -> C.Config -> f C.Config
 masterPasswordHash f (C.Config a b) = flip C.Config b <$> f a
 
--- | The path to the last used passlist file
-passlistPath :: Functor f => (Maybe FilePath -> f (Maybe FilePath))
+-- | Path to the passlist file
+passlistPath :: Functor f => (FilePath -> f FilePath)
                           -> C.Config -> f C.Config
 passlistPath f (C.Config a b) = C.Config a <$> f b
diff --git a/src/Passman/Core/Entry.hs b/src/Passman/Core/Entry.hs
--- a/src/Passman/Core/Entry.hs
+++ b/src/Passman/Core/Entry.hs
@@ -17,7 +17,7 @@
 
 -----------------------------------------------------------------------------
 -- |
--- Module      : Passman.Core.PassList
+-- Module      : Passman.Core.Entry
 -- Copyright   : Matthew Harm Bekkema 2017
 -- License     : GPL-3
 -- Maintainer  : mbekkema97@gmail.com
diff --git a/src/Passman/Core/Entry/Lens.hs b/src/Passman/Core/Entry/Lens.hs
--- a/src/Passman/Core/Entry/Lens.hs
+++ b/src/Passman/Core/Entry/Lens.hs
@@ -17,7 +17,7 @@
 
 -----------------------------------------------------------------------------
 -- |
--- Module      : Passman.Core.PassList.Lens
+-- Module      : Passman.Core.Entry.Lens
 -- Copyright   : Matthew Harm Bekkema 2017
 -- License     : GPL-3
 -- Maintainer  : mbekkema97@gmail.com
diff --git a/src/Passman/Core/Version.hs b/src/Passman/Core/Version.hs
new file mode 100644
--- /dev/null
+++ b/src/Passman/Core/Version.hs
@@ -0,0 +1,30 @@
+-- Copyright (C) 2017  Matthew Harm Bekkema
+--
+-- This file is part of passman-core
+--
+-- passman-core is free software: you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as published by
+-- the Free Software Foundation, either version 3 of the License, or
+-- (at your option) any later version.
+--
+-- passman-core is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+--
+-- You should have received a copy of the GNU General Public License
+-- along with this program.  If not, see <https://www.gnu.org/licenses/>.
+
+-----------------------------------------------------------------------------
+-- |
+-- Module      : Passman.Core.Version
+-- Copyright   : Matthew Harm Bekkema 2017
+-- License     : GPL-3
+-- Maintainer  : mbekkema97@gmail.com
+-----------------------------------------------------------------------------
+
+module Passman.Core.Version
+    ( version
+    ) where
+
+import Paths_passman_core (version)
diff --git a/test/precomputed.hs b/test/precomputed.hs
--- a/test/precomputed.hs
+++ b/test/precomputed.hs
@@ -51,12 +51,10 @@
 configExamples = zip' wanted got
   where
     got = map (fromJust . decode . encodeUtf8 . T.unlines)
-              [ ["masterPasswordHash: \"$2y$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy\""]
-              , ["masterPasswordHash: \"$2y$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy\""
-              ,"passlistPath: \"/path/to/passlist.txt\""]
+              [ ["masterPasswordHash: \"$2y$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy\""
+                ,"passlistPath: \"/path/to/passlist.txt\""]
               ]
-    wanted = [ Config "$2y$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy" Nothing
-             , Config "$2y$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy" (Just "/path/to/passlist.txt")
+    wanted = [ Config "$2y$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy" "/path/to/passlist.txt"
              ]
 
 -- | Ensure the examples in "Passman.Core.Entry" are correct.
