diff --git a/ipojo/handler/eventadmin/DEPENDENCIES b/ipojo/handler/eventadmin/DEPENDENCIES
index b32d9f9..962cac6 100644
--- a/ipojo/handler/eventadmin/DEPENDENCIES
+++ b/ipojo/handler/eventadmin/DEPENDENCIES
@@ -1,5 +1,5 @@
 Apache Felix iPOJO Event Admin Handler
-Copyright 2008-2010 The Apache Software Foundation
+Copyright 2008-2011 The Apache Software Foundation
 
 I. Included Software
 
diff --git a/ipojo/handler/eventadmin/NOTICE b/ipojo/handler/eventadmin/NOTICE
index ffbc6fe..253c41f 100644
--- a/ipojo/handler/eventadmin/NOTICE
+++ b/ipojo/handler/eventadmin/NOTICE
@@ -1,5 +1,5 @@
 Apache Felix iPOJO Event Admin Handler
-Copyright 2008-2010 The Apache Software Foundation
+Copyright 2008-2011 The Apache Software Foundation
 
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
diff --git a/ipojo/handler/eventadmin/doc/changelog.txt b/ipojo/handler/eventadmin/doc/changelog.txt
index 76fb707..dec3825 100644
--- a/ipojo/handler/eventadmin/doc/changelog.txt
+++ b/ipojo/handler/eventadmin/doc/changelog.txt
@@ -1,10 +1,20 @@
+Changes from the 1.6.0 to 1.8.0
+-------------------------------
+** Bug
+    * [FELIX-2718] - EventHandler are invoked one by one when using the @Subscribe handler
+
+** Improvement
+    * [FELIX-2631] - Rename @Publisher and @Subscriber attributes to follow the java naming conventions
+    * [FELIX-2634] - Rename the @Publisher annotation into @Publishes annotation to avoid collision
+    * [FELIX-2711] - The event admin handler should provides a Handler Description
+
 Changes from the 1.4.0 to 1.6.0
 -------------------------------
 ** Bug
     * [FELIX-1938] - Bad error message when an Event Subscriber does not set the data type and data key
-    
+
 Changes from 1.2.0 to 1.4.0
----------------------------     
+---------------------------
 ** Improvement
     * Update parent pom
 
diff --git a/ipojo/handler/extender/DEPENDENCIES b/ipojo/handler/extender/DEPENDENCIES
index b290f6f..a289053 100644
--- a/ipojo/handler/extender/DEPENDENCIES
+++ b/ipojo/handler/extender/DEPENDENCIES
@@ -1,5 +1,5 @@
 Apache Felix iPOJO Extender Pattern Handler
-Copyright 2008-2010 The Apache Software Foundation
+Copyright 2008-2011 The Apache Software Foundation
 
 I. Included Software
 
diff --git a/ipojo/handler/extender/NOTICE b/ipojo/handler/extender/NOTICE
index 145fced..ba27583 100644
--- a/ipojo/handler/extender/NOTICE
+++ b/ipojo/handler/extender/NOTICE
@@ -1,5 +1,5 @@
 Apache Felix iPOJO Extender Pattern Handler
-Copyright 2008-2010 The Apache Software Foundation
+Copyright 2008-2011 The Apache Software Foundation
 
 I. Included Software
 
diff --git a/ipojo/handler/jmx/DEPENDENCIES b/ipojo/handler/jmx/DEPENDENCIES
index 170da69..62e77d5 100644
--- a/ipojo/handler/jmx/DEPENDENCIES
+++ b/ipojo/handler/jmx/DEPENDENCIES
@@ -1,5 +1,5 @@
 Apache Felix iPOJO JMX Handler
-Copyright 2008-2010 The Apache Software Foundation
+Copyright 2008-2011 The Apache Software Foundation
 
 I. Included Software
 
diff --git a/ipojo/handler/jmx/NOTICE b/ipojo/handler/jmx/NOTICE
index 246955c..ae6a19c 100644
--- a/ipojo/handler/jmx/NOTICE
+++ b/ipojo/handler/jmx/NOTICE
@@ -1,5 +1,5 @@
 Apache Felix iPOJO JMX Handler
-Copyright 2008-2010 The Apache Software Foundation
+Copyright 2008-2011 The Apache Software Foundation
 
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
diff --git a/ipojo/handler/jmx/doc/changelog.txt b/ipojo/handler/jmx/doc/changelog.txt
index c958799..87556fc 100644
--- a/ipojo/handler/jmx/doc/changelog.txt
+++ b/ipojo/handler/jmx/doc/changelog.txt
@@ -1,8 +1,13 @@
+Changes from 1.4.0 to 1.6.0
+---------------------------
+** Improvement
+    * [FELIX-2633] - Rename JMX annotations
+
 Changes from 1.2.0 to 1.4.0
 ---------------------------
 ** Bug
-    * [FELIX-1183] - iPOJO JMX handler doesn't re-throw exceptions 
-     
+    * [FELIX-1183] - iPOJO JMX handler doesn't re-throw exceptions
+
 ** Improvement
     * Update parent pom
 
@@ -11,7 +16,7 @@
 ---------------------------
 ** Bug
    * [FELIX-828] - iPOJO JMX Handler: the name attribute has not the expected behavior
-    * [FELIX-829] - iPOJO JMX Handler: the sub-element should refer to the handler namespace    
+    * [FELIX-829] - iPOJO JMX Handler: the sub-element should refer to the handler namespace
 
 Version 1.0.0
 -------------
diff --git a/ipojo/handler/temporal/DEPENDENCIES b/ipojo/handler/temporal/DEPENDENCIES
index 0c4a72a..47e17c9 100644
--- a/ipojo/handler/temporal/DEPENDENCIES
+++ b/ipojo/handler/temporal/DEPENDENCIES
@@ -1,5 +1,5 @@
 Apache Felix iPOJO Temporal Dependency Handler
-Copyright 2008-2010 The Apache Software Foundation
+Copyright 2008-2011 The Apache Software Foundation
 
 I. Included Software
 
diff --git a/ipojo/handler/temporal/NOTICE b/ipojo/handler/temporal/NOTICE
index 3e8e54f..2d72e45 100644
--- a/ipojo/handler/temporal/NOTICE
+++ b/ipojo/handler/temporal/NOTICE
@@ -1,5 +1,5 @@
 Apache Felix iPOJO Temporal Dependency Handler
-Copyright 2008-2010 The Apache Software Foundation
+Copyright 2008-2011 The Apache Software Foundation
 
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
diff --git a/ipojo/handler/temporal/doc/changelog.txt b/ipojo/handler/temporal/doc/changelog.txt
index 22deeee..ce0f55b 100644
--- a/ipojo/handler/temporal/doc/changelog.txt
+++ b/ipojo/handler/temporal/doc/changelog.txt
@@ -1,3 +1,11 @@
+Changes from the 1.6.2 to 1.8.0
+-------------------------------
+** Bug
+    * [FELIX-2438] - Temporal dependencies should use proxies by default
+
+** Improvement
+    * [FELIX-2666] - Rename the temporal handler annotation to avoid collision
+
 Changes from the 1.6.0 to 1.6.2
 -------------------------------
 ** Improvement
@@ -8,7 +16,7 @@
 ** Improvement
     * [FELIX-1906] - Allow calling a method when service properties of an already injected service are modified
 
-    
+
 Changes from 1.2.0 to 1.4.0
 ---------------------------
 ** Improvement
@@ -20,7 +28,7 @@
 ** Improvement
     * [FELIX-855] - Collection support in iPOJO Temporal Dependencies
     * [FELIX-860] - Temporal Dependency Proxy injection
-    
+
 Changes from 0.8.1 to 1.0.0
 ---------------------------
 ** Improvement
diff --git a/ipojo/handler/whiteboard/DEPENDENCIES b/ipojo/handler/whiteboard/DEPENDENCIES
index 029037a..15f983b 100644
--- a/ipojo/handler/whiteboard/DEPENDENCIES
+++ b/ipojo/handler/whiteboard/DEPENDENCIES
@@ -1,5 +1,5 @@
 Apache Felix iPOJO Whiteboard Pattern Handler
-Copyright 2008-2010 The Apache Software Foundation
+Copyright 2008-2011 The Apache Software Foundation
 
 I. Included Software
 
diff --git a/ipojo/handler/whiteboard/NOTICE b/ipojo/handler/whiteboard/NOTICE
index c607b10..6d95dad 100644
--- a/ipojo/handler/whiteboard/NOTICE
+++ b/ipojo/handler/whiteboard/NOTICE
@@ -1,5 +1,5 @@
 Apache Felix iPOJO Whiteboard Pattern Handler
-Copyright 2008-2010 The Apache Software Foundation
+Copyright 2008-2011 The Apache Software Foundation
 
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
diff --git a/ipojo/handler/whiteboard/doc/changelog.txt b/ipojo/handler/whiteboard/doc/changelog.txt
index 541694a..e0aa745 100644
--- a/ipojo/handler/whiteboard/doc/changelog.txt
+++ b/ipojo/handler/whiteboard/doc/changelog.txt
@@ -1,8 +1,17 @@
+Changes from 1.6.2 to 1.8.0
+----------------------------
+** Bug
+    * [FELIX-2581] - White Board Pattern onActivate called before @Validate
+
+** Improvement
+    * [FELIX-2624] - Support multiple whiteboards using annotations
+
+
 Changes from 1.2.0 to 1.4.0
 ---------------------------
 ** Bug
     * [FELIX-944] - Fix white-board pattern handler symbolic name
-     
+
 ** Improvement
     * Update parent pom
 
@@ -11,14 +20,14 @@
 ---------------------------
 ** Improvement
     * [FELIX-834] - Provide Annotations for the extender, whiteboard and event admin handlers
-    
+
 Changes from 0.8.0 to 1.0.0
 ---------------------------
 ** Improvement
     * [FELIX-673] - Provide OBR description to iPOJO bundles
     * [FELIX-716] - Provide XML schemas for iPOJO descriptors
 
-    
+
 Version 0.8.0
 -------------
-    * Initial release 
+    * Initial release
