diff --git a/scrplugin/pom.xml b/scrplugin/pom.xml
index 66d552e..602ae7e 100644
--- a/scrplugin/pom.xml
+++ b/scrplugin/pom.xml
@@ -67,7 +67,7 @@
 		<dependency>
 			<groupId>org.apache.felix</groupId>
 			<artifactId>org.apache.felix.scr.annotations</artifactId>
-			<version>1.0.0</version>
+			<version>1.0.1-SNAPSHOT</version>
 		</dependency>
         
         <!-- Sling Servlet SCR Annotation -->
diff --git a/scrplugin/src/main/java/org/apache/felix/scrplugin/tags/annotation/defaulttag/ComponentTag.java b/scrplugin/src/main/java/org/apache/felix/scrplugin/tags/annotation/defaulttag/ComponentTag.java
index 96cb08d..3747bc1 100644
--- a/scrplugin/src/main/java/org/apache/felix/scrplugin/tags/annotation/defaulttag/ComponentTag.java
+++ b/scrplugin/src/main/java/org/apache/felix/scrplugin/tags/annotation/defaulttag/ComponentTag.java
@@ -62,6 +62,10 @@
                 return Util.getBooleanValue(annotation, "ds", Component.class);
             }
 
+            public String specVersion() {
+                return Util.getStringValue( annotation, desc, "specVersion", Component.class );
+            }
+
             public boolean enabled() {
                 return Util.getBooleanValue(annotation, "enabled", Component.class);
             }
@@ -129,6 +133,7 @@
         map.put(Constants.COMPONENT_METATYPE, String.valueOf(this.annotation.metatype()));
         map.put(Constants.COMPONENT_ABSTRACT, String.valueOf(this.annotation.componentAbstract()));
         map.put(Constants.COMPONENT_DS, String.valueOf(this.annotation.ds()));
+        map.put(Constants.COMPONENT_DS_SPEC_VERSION, String.valueOf(this.annotation.specVersion()));
         map.put(Constants.COMPONENT_CREATE_PID, String.valueOf(this.annotation.createPid()));
 
         // version 1.1
