diff --git a/CHANGELOG b/CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,14 @@
+keysafe (0.20170122) unstable; urgency=medium
+
+  * Adjust cabal bounds to allow building with ghc 8.0.
+    However, the stack.yaml is still using an old LTS version
+    to avoid polynomial's failure to build with ghc 8.0
+    (https://github.com/mokus0/polynomial/issues/8)
+  * Clarify that dollars in cost estimates are USD.
+  * Keysafe has a new website, https://keysafe.branchable.com/
+
+ -- Joey Hess <id@joeyh.name>  Sun, 22 Jan 2017 09:44:17 -0400
+
 keysafe (0.20161107) unstable; urgency=medium
 
   * The third keysafe server is now available, provided by Purism.
diff --git a/Cost.hs b/Cost.hs
--- a/Cost.hs
+++ b/Cost.hs
@@ -92,6 +92,7 @@
 newtype Cents = Cents Integer
 	deriving (Num, Integral, Enum, Real, Ord, Eq, Show)
 
+-- | USD
 newtype Dollars = Dollars Integer
 	deriving (Num, Integral, Enum, Real, Ord, Eq)
 
@@ -103,12 +104,13 @@
 		, (1000, "thousand")
 		]
 	  where
-		go [] = "$" ++ show n
+		go [] = fmt (show n)
 		go ((d, u):us)
 			| n >= d = 
 				let n' = n `div` d
-				in "$" ++ show n' ++ " " ++ u
+				in fmt (show n' ++ " " ++ u)
 			| otherwise = go us
+		fmt d = "$" ++ d ++ " (USD)"
 
 centsToDollars :: Cents -> Dollars
 centsToDollars (Cents c) = Dollars (c `div` 100)
diff --git a/TODO b/TODO
--- a/TODO
+++ b/TODO
@@ -70,5 +70,5 @@
   shares was used, the attacker could upload other objects where they would
   be found before the real objects. This could be used to prevent
   restore from working. (It also makes a malicious data attack (as described
-  in https://joeyh.name/keysafe/details/) possible by attackers who do not
+  in https://keysafe.branchable.com/details/) possible by attackers who do not
   control the servers.
diff --git a/UI.hs b/UI.hs
--- a/UI.hs
+++ b/UI.hs
@@ -23,7 +23,7 @@
 		ok <- isAvailable zenityUI
 		if ok
 			then return zenityUI
-			else error "zenitty is not installed, GUI not available"
+			else error "zenity is not installed, GUI not available"
 	| otherwise = do
 		l <- availableUIs
 		case l of
diff --git a/keysafe.1 b/keysafe.1
--- a/keysafe.1
+++ b/keysafe.1
@@ -28,8 +28,8 @@
 to decrypt. This makes it hard for an attacker to crack your password,
 because each guess they make costs them.
 .PP
-Keysafe is designed so that it should take millions of dollars of computer
-time to crack any fairly good password. With a truly good
+Keysafe is designed so that it should take millions of dollars (US)
+of computer time to crack any fairly good password. With a truly good
 password, such as four random words, the cracking cost should be many
 trillions of dollars. Keysafe checks your password strength (using the
 zxcvbn library), and shows an estimate of the cost to crack your password,
@@ -161,6 +161,6 @@
 Avoid using expensive cryptographic operations to secure data.
 Use for testing only, not with real secret keys.
 .SH SEE ALSO
-<https://joeyh.name/code/keysafe/>
+<https://keysafe.branchable.com/>
 .SH AUTHOR 
 Joey Hess <id@joeyh.name>
diff --git a/keysafe.cabal b/keysafe.cabal
--- a/keysafe.cabal
+++ b/keysafe.cabal
@@ -1,12 +1,12 @@
 Name: keysafe
-Version: 0.20161107
+Version: 0.20170122
 Cabal-Version: >= 1.8
 Maintainer: Joey Hess <joey@kitenet.net>
 Author: Joey Hess
 Stability: Experimental
 Copyright: 2016 Joey Hess
 License: AGPL-3
-Homepage: https://joeyh.name/code/keysafe/
+Homepage: https://keysafe.branchable.com/
 Category: Utility
 Build-Type: Custom
 Synopsis: back up a secret key securely to the cloud
@@ -33,33 +33,38 @@
   Main-Is: keysafe.hs
   GHC-Options: -threaded -Wall -fno-warn-tabs -O2
   Build-Depends:
-      base (>= 4.5 && < 5.0)
+    -- These are core cryptographic dependencies. It's possible that
+    -- changes to these could break backup/restore, so when loosening
+    -- the version ranges, it's important to run keysafe --test
+      secret-sharing == 1.0.*
+    , argon2 == 1.2.*
+    , raaz == 0.0.2
+    , base (>= 4.5 && < 5.0)
     , bytestring == 0.10.*
+    , text == 1.2.*
+    -- Changes to these dependencies should not impact the data that
+    -- keysafe backs up and restores.
     , deepseq == 1.4.*
     , random == 1.1.*
-    , secret-sharing == 1.0.*
-    , raaz == 0.0.2
-    , time == 1.5.*
+    , time (>= 1.5 && < 1.7)
     , containers == 0.5.*
-    , binary == 0.7.*
-    , text == 1.2.*
     , utf8-string == 1.0.*
     , unix == 2.7.*
     , filepath == 1.4.*
     , split == 0.2.*
     , directory == 1.2.*
-    , process == 1.2.*
+    , process (>= 1.2 && < 1.5)
     , optparse-applicative == 0.12.*
     , readline == 1.0.*
     , zxcvbn-c == 1.0.*
-    , servant == 0.7.*
-    , servant-server == 0.7.*
-    , servant-client == 0.7.*
+    , servant (>= 0.7 && < 0.9)
+    , servant-server (>= 0.7 && < 0.9)
+    , servant-client (>= 0.7 && < 0.9)
     , aeson == 0.11.*
     , wai == 3.2.*
     , warp == 3.2.*
     , http-client == 0.4.*
-    , transformers == 0.4.*
+    , transformers (>= 0.4 && < 0.6)
     , stm == 2.4.*
     , socks == 0.5.*
     , network == 2.6.*
@@ -75,7 +80,6 @@
     , exceptions == 0.8.*
     , random-shuffle == 0.0.*
     , MonadRandom == 0.4.*
-    , argon2 == 1.2.*
   Other-Modules:
     AutoStart
     BackupLog
@@ -121,4 +125,4 @@
 
 source-repository head
   type: git
-  location: git://git.joeyh.name/keysafe.git
+  location: git://keysafe.branchable.com/
diff --git a/keysafe.service b/keysafe.service
--- a/keysafe.service
+++ b/keysafe.service
@@ -1,6 +1,6 @@
 [Unit]
 Description=keysafe server
-Documentation=https://joeyh.name/code/keysafe/
+Documentation=https://keysafe.branchable.com/
 
 [Service]
 Environment='DAEMON_PARAMS=--port 4242 --store-directory=/var/lib/keysafe/'
