diff --git a/CHANGES.txt b/CHANGES.txt
index 5595137..b84d209 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,3 +1,72 @@
+Release Notes - MRUnit - Version 1.0.0
+
+** Sub-task
+    * [MRUNIT-144] - Change repository location on MRunit website
+    * [MRUNIT-145] - Change repository location on Jenkins
+    * [MRUNIT-146] - Change repository location in source code
+    * [MRUNIT-172] - Branch trunk should use hadoop 2
+    * [MRUNIT-174] - Remove portions of MRUNIT-161 which don't compile on trunk-hadoop1
+    * [MRUNIT-176] - Branch trunk-hadoop1 should use hadoop 1
+
+** Bug
+    * [MRUNIT-105] - testJavaSerialization methods fail in Java 7 because they do not set a group comparator
+    * [MRUNIT-114] - should support calling configure on sorting and grouping comparators if applicable
+    * [MRUNIT-115] - set JobConf specific to the inputformat reading the results of the outputformat/copying when not using a real outputformat
+    * [MRUNIT-116] - Setting of configuration on Mappers/Reducers in MapDriver and ReduceDriver is inconsistent
+    * [MRUNIT-124] - DistributedCache should move files from getCacheFiles to getLocalCacheFiles
+    * [MRUNIT-126] - Counter tests are ignored if test is executed using run() rather than runTest()
+    * [MRUNIT-127] - Key grouping with GroupingComparators is not consistent with MapReduce behaviour
+    * [MRUNIT-130] - Download page does not point to KEYS; no hashes in download area; must not advertise snapshot builds
+    * [MRUNIT-131] - Comparators registered using WritableComparator.define are not used during tests
+    * [MRUNIT-132] - Spelling mistakes in TestReducerInputValueReuse
+    * [MRUNIT-157] - allow null keys and values as output, expected output
+    * [MRUNIT-159] - MRUnit not compiling with hadoop 0.23.3
+    * [MRUNIT-161] - some distributed cache apis not working - JobContext getCacheArchives()
+    * [MRUNIT-163] - getTaskAttemptID is missing from context
+    * [MRUNIT-165] - MapReduceDriver calls Mapper#cleanup for each input instead of once
+    * [MRUNIT-167] - context passed to an OuputFormatter is ignored by the framework
+    * [MRUNIT-178] - Remove portions of MRUNIT-167 on trunk-hadoop1 which do not compile
+    * [MRUNIT-179] - Set mapred.output.dir and mapred.input.dir in trunk
+
+** Dependency upgrade
+    * [MRUNIT-112] - upgrade hadoop 1 dependency to hadoop-core 1.0.3
+    * [MRUNIT-113] - upgrade hadoop 2 dependency to 2.0.0-alpha
+
+** Improvement
+    * [MRUNIT-95] - use Serialization framework to change all set/add input/output methods to serialize, deserialize to do defensive copying
+    * [MRUNIT-100] - Maven doesn't generate md5/sha1 files automatically
+    * [MRUNIT-118] - InputSplit should support a configurable filename
+    * [MRUNIT-119] - Counter tests should support assertions that counters are not present
+    * [MRUNIT-121] - Configure RAT to ignore IntelliJ IDEA files
+    * [MRUNIT-122] - Context should be mockable
+    * [MRUNIT-123] - Driver.runTest should not wrap IOException in RuntimeException
+    * [MRUNIT-125] - reduce duplicate code related to fluent methods with generics
+    * [MRUNIT-133] - MapInput stuff should be moved from TestDriver to MapDriver.
+    * [MRUNIT-136] - PipelineMapReduceDriver needs withAll/addAll methods
+    * [MRUNIT-137] - Remove duplicated set/add/withOutput methods
+    * [MRUNIT-138] - Multiple calls to withInput should be supported
+    * [MRUNIT-142] - withKeyGroupingComparator/withKeyOrderComparator should be in MapReduceDriverBase
+    * [MRUNIT-158] - withOutput doesn't generate useful information with MapWritable on error
+    * [MRUNIT-168] - .gitignore does not exist
+    * [MRUNIT-169] - rat exclude does not list .gitignore
+
+** New Feature
+    * [MRUNIT-64] - Multiple Input Key, Value Pairs should be supported
+    * [MRUNIT-98] - DistributedCache support
+    * [MRUNIT-101] - allow use of real OutputFormats such as TextOutputFormat instead of the MockOutputCollector/MockContextWrapper classes
+
+** Task
+    * [MRUNIT-104] - move non user classes into internal package
+    * [MRUNIT-107] - remove unused internal classes: MockOutputCommitter, MockRawKeyValueIterator and mapreduce.MockReporter
+    * [MRUNIT-108] - copy ExtendedAssert.assertListEquals to src/test/java and deprecate entire class and all methods in ExtendedAssert in src/main/java
+    * [MRUNIT-110] - remove disclaimer and update links in the pom to new TLP resources
+    * [MRUNIT-140] - TestDriver should use composition and have less responsilibities
+    * [MRUNIT-141] - Fix grammatical errors in counter log messages
+    * [MRUNIT-143] - Handle repository migration to GIT 
+    * [MRUNIT-147] - upgrade parent pom to version 11
+    * [MRUNIT-149] - bind analyze-only goal from dependency plugin to prepare-package to make sure dependencies are correct
+    * [MRUNIT-150] - remove unnecessary log4j dependency
+
 Release Notes - MRUnit - Version 0.9.0
 
 ** Bug
diff --git a/pom.xml b/pom.xml
index 9549d72..66c32cb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,7 +29,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.apache.mrunit</groupId>
   <artifactId>mrunit</artifactId>
-  <version>1.1.0-SNAPSHOT</version>
+  <version>1.0.0</version>
 
   <properties>
     <envClassifier>hadoop2</envClassifier>
