diff --git a/ipojo/api/pom.xml b/ipojo/api/pom.xml
index 234dabb..3c93ed8 100644
--- a/ipojo/api/pom.xml
+++ b/ipojo/api/pom.xml
@@ -20,16 +20,15 @@
 	<modelVersion>4.0.0</modelVersion>
 	<packaging>bundle</packaging>
 	<groupId>org.apache.felix</groupId>
-	<artifactId>org.apache.felix.ipojo.api
-	</artifactId>
-	<version>1.1.0-SNAPSHOT</version>
-	<name>iPOJO API</name>
+	<artifactId>org.apache.felix.ipojo.api</artifactId>
+	<version>1.3.0-SNAPSHOT</version>
+	<name>Apache Felix iPOJO API</name>
 	<build>
 		<plugins>
 			<plugin>
 				<groupId>org.apache.felix</groupId>
 				<artifactId>maven-bundle-plugin</artifactId>
-				<version>1.4.2</version>
+				<version>1.4.3</version>
 				<extensions>true</extensions>
 				<configuration>
 					<instructions>
@@ -79,13 +78,12 @@
 		<dependency>
 			<groupId>org.apache.felix</groupId>
 			<artifactId>org.apache.felix.ipojo</artifactId>
-			<version>1.1.0-SNAPSHOT</version>
+			<version>1.3.0-SNAPSHOT</version>
 		</dependency>
 		<dependency>
 			<groupId>org.apache.felix</groupId>
-			<artifactId>org.apache.felix.ipojo.manipulator
-			</artifactId>
-			<version>1.1.0-SNAPSHOT</version>
+			<artifactId>org.apache.felix.ipojo.manipulator</artifactId>
+			<version>1.3.0-SNAPSHOT</version>
 		</dependency>
 		<dependency>
 			<groupId>asm</groupId>
diff --git a/ipojo/api/src/main/java/org/apache/felix/ipojo/api/Property.java b/ipojo/api/src/main/java/org/apache/felix/ipojo/api/Property.java
index 0e510bd..8b1b970 100644
--- a/ipojo/api/src/main/java/org/apache/felix/ipojo/api/Property.java
+++ b/ipojo/api/src/main/java/org/apache/felix/ipojo/api/Property.java
@@ -140,10 +140,10 @@
             element.addAttribute(new Attribute("field", m_field));
         }
         if (m_mandatory) {
-            element.addAttribute(new Attribute("mandatory", Boolean.toString(m_mandatory)));
+            element.addAttribute(new Attribute("mandatory", new Boolean(m_mandatory).toString()));
         }
         if (m_immutable) {
-            element.addAttribute(new Attribute("immutable", Boolean.toString(m_immutable)));
+            element.addAttribute(new Attribute("immutable", new Boolean(m_immutable).toString()));
         }
         return element;
     }
diff --git a/ipojo/api/src/main/java/org/apache/felix/ipojo/api/ServiceProperty.java b/ipojo/api/src/main/java/org/apache/felix/ipojo/api/ServiceProperty.java
index 7fed046..eb2d93b 100644
--- a/ipojo/api/src/main/java/org/apache/felix/ipojo/api/ServiceProperty.java
+++ b/ipojo/api/src/main/java/org/apache/felix/ipojo/api/ServiceProperty.java
@@ -141,10 +141,10 @@
             element.addAttribute(new Attribute("field", m_field));
         }
         if (m_mandatory) {
-            element.addAttribute(new Attribute("mandatory", Boolean.toString(m_mandatory)));
+            element.addAttribute(new Attribute("mandatory", new Boolean(m_mandatory).toString()));
         }
         if (m_immutable) {
-            element.addAttribute(new Attribute("immutable", Boolean.toString(m_immutable)));
+            element.addAttribute(new Attribute("immutable", new Boolean(m_immutable).toString()));
         }
         return element;
     }
diff --git a/ipojo/pom.xml b/ipojo/pom.xml
index 45e20e8..daebaf0 100644
--- a/ipojo/pom.xml
+++ b/ipojo/pom.xml
@@ -28,7 +28,7 @@
   <artifactId>iPOJO</artifactId>
   <groupId>org.apache.felix</groupId>
   <name>Apache Felix iPOJO</name>
-  <version>1.1.0-SNAPSHOT</version>
+  <version>1.3.0-SNAPSHOT</version>
   <packaging>pom</packaging>
   
   	<modules>
@@ -43,7 +43,7 @@
 		<module>handler/temporal</module>
 		<module>handler/eventadmin</module>
 		<module>handler/whiteboard</module>
-		
+		<module>api</module>
 	</modules>
 		
 	
