diff --git a/CHANGELOG b/CHANGELOG
new file mode 100644
--- /dev/null
+++ b/CHANGELOG
@@ -0,0 +1,48 @@
+0.10.0.1 (2015-05-30):
+    - Moved VERSION to CHANGELOG
+0.10.0 (2015-03-29):
+    - Cleaned up things to compile cleanly for GHC 7.10
+    - Cleaned up deprecation warnings re Control.Monad.Error
+    - Control.Monad.EitherK: liberalized Monad restriction to
+      Applicative where possible.
+    - Control.Monad.MaybeK: liberalized Monad restriction to
+      Applicative where possible.
+    - Control.Unification.Types: Completely revamped the old
+      UnificationFailure data type as the new UFailure data type
+      and Fallible type class.
+
+0.9.0 (2014-06-03):
+    - Control.Unification.Types: changed the fundeps on BindingMonad
+      and RankedBindingMonad so that things compile under GHC 7.8.2
+    - Data.Functor.Fixedpoint: eta-expanded RULES to avoid GHC >=
+      7.8 warnings about them potentially not firing due to (.)
+      being inlined first.
+0.8.1 (2014-05-27):
+    - Control.Unification.Types: added Functor, Foldable, and
+      Traversable instances for UnificationFailure. (h/t Graham Rogers)
+0.8.0 (2012-07-11):
+    - Control.Unification.Types: Changed the type of Unifiable.zipMatch
+0.7.0 (2012-03-19):
+    - Renamed MutTerm to UTerm (and MutVar to UVar)
+    - Replaced the Variable.eqVar method by plain old Eq.(==)
+    - Control.Unification: added getFreeVarsAll, applyBindingsAll,
+      freshenAll
+    - Swapped type argument order for MutTerm, so that it can be a
+      functor etc. Also changed BindingMonad, UnificationFailure,
+      Rank, and RankedBindingMonad for consistency.
+0.6.0 (2012-02-17):
+    - Removed the phantom type argument for Variables.
+0.5.0 (2011-07-12):
+    - Moved UnificationFailure to Control.Unification.Types
+    - Renamed NonUnifiable to TermMismatch
+    - Control.Unification: exposed fullprune, semiprune, occursIn
+    - Control.Unification: added unifyOccurs, subsumes
+    - Control.Unification: (re)added symbolic names for binary operators
+0.4.0 (2011-07-07):
+    - Removed heterogeneous unification, and rewrote practically everything.
+    - Added semipruning instead of full pruning.
+    - Added visited-sets instead of occurs-checks.
+    - Added weightedness to path compression (a la union--find).
+    - This is the version emailed for the 2011-07-07 talk at McMaster.
+0.3.6 (2011-06-18):
+    - Forked from the Dyna2 project.
diff --git a/VERSION b/VERSION
deleted file mode 100644
--- a/VERSION
+++ /dev/null
@@ -1,45 +0,0 @@
-0.10.0 (2014-XX-XX):
-    - Cleaned up deprecation warnings re Control.Monad.Error
-    - Control.Monad.EitherK: liberalized Monad restriction to
-      Applicative where possible.
-    - Control.Monad.MaybeK: liberalized Monad restriction to
-      Applicative where possible.
-    - Control.Unification.Types: Completely revamped the old
-      UnificationFailure data type as the new UFailure data type
-      and Fallible type class.
-
-0.9.0 (2014-06-03):
-    - Control.Unification.Types: changed the fundeps on BindingMonad
-      and RankedBindingMonad so that things compile under GHC 7.8.2
-    - Data.Functor.Fixedpoint: eta-expanded RULES to avoid GHC >=
-      7.8 warnings about them potentially not firing due to (.)
-      being inlined first.
-0.8.1 (2014-05-27):
-    - Control.Unification.Types: added Functor, Foldable, and
-      Traversable instances for UnificationFailure. (h/t Graham Rogers)
-0.8.0 (2012-07-11):
-    - Control.Unification.Types: Changed the type of Unifiable.zipMatch
-0.7.0 (2012-03-19):
-    - Renamed MutTerm to UTerm (and MutVar to UVar)
-    - Replaced the Variable.eqVar method by plain old Eq.(==)
-    - Control.Unification: added getFreeVarsAll, applyBindingsAll,
-      freshenAll
-    - Swapped type argument order for MutTerm, so that it can be a
-      functor etc. Also changed BindingMonad, UnificationFailure,
-      Rank, and RankedBindingMonad for consistency.
-0.6.0 (2012-02-17):
-    - Removed the phantom type argument for Variables.
-0.5.0 (2011-07-12):
-    - Moved UnificationFailure to Control.Unification.Types
-    - Renamed NonUnifiable to TermMismatch
-    - Control.Unification: exposed fullprune, semiprune, occursIn
-    - Control.Unification: added unifyOccurs, subsumes
-    - Control.Unification: (re)added symbolic names for binary operators
-0.4.0 (2011-07-07):
-    - Removed heterogeneous unification, and rewrote practically everything.
-    - Added semipruning instead of full pruning.
-    - Added visited-sets instead of occurs-checks.
-    - Added weightedness to path compression (a la union--find).
-    - This is the version emailed for the 2011-07-07 talk at McMaster.
-0.3.6 (2011-06-18):
-    - Forked from the Dyna2 project.
diff --git a/src/Control/Monad/State/UnificationExtras.hs b/src/Control/Monad/State/UnificationExtras.hs
--- a/src/Control/Monad/State/UnificationExtras.hs
+++ b/src/Control/Monad/State/UnificationExtras.hs
@@ -4,7 +4,7 @@
 --                                                  ~ 2011.07.05
 -- |
 -- Module      :  Control.Monad.State.UnificationExtras
--- Copyright   :  Copyright (c) 2008--2014 wren gayle romano
+-- Copyright   :  Copyright (c) 2008--2015 wren gayle romano
 -- License     :  BSD
 -- Maintainer  :  wren@community.haskell.org
 -- Stability   :  perpetually unstable
diff --git a/src/Control/Unification/IntVar.hs b/src/Control/Unification/IntVar.hs
--- a/src/Control/Unification/IntVar.hs
+++ b/src/Control/Unification/IntVar.hs
@@ -7,7 +7,7 @@
 --                                                  ~ 2012.03.18
 -- |
 -- Module      :  Control.Unification.IntVar
--- Copyright   :  Copyright (c) 2007--2014 wren gayle romano
+-- Copyright   :  Copyright (c) 2007--2015 wren gayle romano
 -- License     :  BSD
 -- Maintainer  :  wren@community.haskell.org
 -- Stability   :  experimental
diff --git a/src/Control/Unification/Ranked/IntVar.hs b/src/Control/Unification/Ranked/IntVar.hs
--- a/src/Control/Unification/Ranked/IntVar.hs
+++ b/src/Control/Unification/Ranked/IntVar.hs
@@ -7,7 +7,7 @@
 --                                                  ~ 2012.03.18
 -- |
 -- Module      :  Control.Unification.Ranked.IntVar
--- Copyright   :  Copyright (c) 2007--2014 wren gayle romano
+-- Copyright   :  Copyright (c) 2007--2015 wren gayle romano
 -- License     :  BSD
 -- Maintainer  :  wren@community.haskell.org
 -- Stability   :  highly experimental
diff --git a/src/Data/Functor/Fixedpoint.hs b/src/Data/Functor/Fixedpoint.hs
--- a/src/Data/Functor/Fixedpoint.hs
+++ b/src/Data/Functor/Fixedpoint.hs
@@ -25,7 +25,7 @@
 --                                                    2014.05.28
 -- |
 -- Module      :  Data.Functor.Fixedpoint
--- Copyright   :  Copyright (c) 2007--2014 wren gayle romano
+-- Copyright   :  Copyright (c) 2007--2015 wren gayle romano
 -- License     :  BSD
 -- Maintainer  :  wren@community.haskell.org
 -- Stability   :  provisional
diff --git a/unification-fd.cabal b/unification-fd.cabal
--- a/unification-fd.cabal
+++ b/unification-fd.cabal
@@ -1,5 +1,5 @@
 ----------------------------------------------------------------
--- wren gayle romano <wren@community.haskell.org>   ~ 2014.09.15
+-- wren gayle romano <wren@community.haskell.org>   ~ 2015.05.30
 ----------------------------------------------------------------
 
 -- By and large Cabal >=1.2 is fine; but >= 1.6 gives tested-with:
@@ -8,12 +8,12 @@
 Build-Type:     Simple
 
 Name:           unification-fd
-Version:        0.10.0
+Version:        0.10.0.1
 Stability:      experimental
 Homepage:       http://code.haskell.org/~wren/
 Author:         wren gayle romano
 Maintainer:     wren@community.haskell.org
-Copyright:      Copyright (c) 2007--2014 wren gayle romano
+Copyright:      Copyright (c) 2007--2015 wren gayle romano
 License:        BSD3
 License-File:   LICENSE
 
@@ -27,7 +27,7 @@
 Tested-With:
     GHC == 7.6.1, GHC == 7.6.3, GHC == 7.8.2
 Extra-source-files:
-    AUTHORS, README, VERSION
+    AUTHORS, README, CHANGELOG
 Source-Repository head
     Type:     darcs
     Location: http://community.haskell.org/~wren/unification-fd
