diff --git a/compiler-jx/pom.xml b/compiler-jx/pom.xml
index d7b9bac..1077a98 100644
--- a/compiler-jx/pom.xml
+++ b/compiler-jx/pom.xml
@@ -23,11 +23,11 @@
   <parent>
     <groupId>org.apache.flex.flexjs.compiler</groupId>
     <artifactId>flexjs-compiler-parent</artifactId>
-    <version>0.8.0</version>
+    <version>0.9.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>compiler-jx</artifactId>
-  <version>0.8.0</version>
+  <version>0.9.0-SNAPSHOT</version>
 
   <name>Apache Flex - FlexJS: Compiler: Compiler-JX</name>
 
@@ -80,7 +80,7 @@
     <dependency>
       <groupId>org.apache.flex.flexjs.compiler</groupId>
       <artifactId>compiler</artifactId>
-      <version>0.8.0</version>
+      <version>0.9.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.apache.commons</groupId>
@@ -112,7 +112,7 @@
     <dependency>
       <groupId>org.apache.flex.flexjs.compiler</groupId>
       <artifactId>compiler-test-utils</artifactId>
-      <version>0.8.0</version>
+      <version>0.9.0-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
     <dependency>
diff --git a/compiler-jx/src/test/resources/flexjs/projects/interfaces/Test.as b/compiler-jx/src/test/resources/flexjs/projects/interfaces/Test.as
index cd7791a..f5be7e0 100644
--- a/compiler-jx/src/test/resources/flexjs/projects/interfaces/Test.as
+++ b/compiler-jx/src/test/resources/flexjs/projects/interfaces/Test.as
@@ -29,16 +29,16 @@
     {
       super();
       
-      var ia:IA = doSomething(IC) as IA
+      var ia:IA = doSomething(IC) as IA;
     }
     
     public function doSomething(ic:IC):IC
     {
-      for (var i:int = 0; i < 3; i++ {
+      for (var i:int = 0; i < 3; i++) {
         var a:A = null;
       }
       
       return ic;
     }
   }
-}
\ No newline at end of file
+}
diff --git a/compiler-test-utils/pom.xml b/compiler-test-utils/pom.xml
index a36fe53..e4181bc 100644
--- a/compiler-test-utils/pom.xml
+++ b/compiler-test-utils/pom.xml
@@ -23,11 +23,11 @@
   <parent>
     <groupId>org.apache.flex.flexjs.compiler</groupId>
     <artifactId>flexjs-compiler-parent</artifactId>
-    <version>0.8.0</version>
+    <version>0.9.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>compiler-test-utils</artifactId>
-  <version>0.8.0</version>
+  <version>0.9.0-SNAPSHOT</version>
 
   <name>Apache Flex - FlexJS: Compiler: Test Utils</name>
   <description>
diff --git a/compiler/pom.xml b/compiler/pom.xml
index 2183257..9661e37 100644
--- a/compiler/pom.xml
+++ b/compiler/pom.xml
@@ -23,11 +23,11 @@
   <parent>
     <groupId>org.apache.flex.flexjs.compiler</groupId>
     <artifactId>flexjs-compiler-parent</artifactId>
-    <version>0.8.0</version>
+    <version>0.9.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>compiler</artifactId>
-  <version>0.8.0</version>
+  <version>0.9.0-SNAPSHOT</version>
 
   <name>Apache Flex - FlexJS: Compiler: Compiler</name>
   <description>The Apache Flex Falcon Compiler</description>
@@ -414,7 +414,7 @@
     <dependency>
       <groupId>org.apache.flex.flexjs.compiler</groupId>
       <artifactId>compiler-test-utils</artifactId>
-      <version>0.8.0</version>
+      <version>0.9.0-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
     <dependency>
diff --git a/compiler/src/main/java/org/apache/flex/compiler/internal/as/codegen/ABCGeneratingReducer.java b/compiler/src/main/java/org/apache/flex/compiler/internal/as/codegen/ABCGeneratingReducer.java
index 776993f..c712f56 100644
--- a/compiler/src/main/java/org/apache/flex/compiler/internal/as/codegen/ABCGeneratingReducer.java
+++ b/compiler/src/main/java/org/apache/flex/compiler/internal/as/codegen/ABCGeneratingReducer.java
@@ -749,7 +749,7 @@
                 // java treats -0 and 0 as equal, but divide by -0 results in NEG INFINITY, whereas pos
                 // 0 results in POS INFINITY
                 // positive 0 can be encoded with a pushbyte, but neg zero requires a pushdouble
-                if( dval == 0 && 1/dval == Double.NEGATIVE_INFINITY )
+                if( dval == 0.0 && 1.0/dval == Double.NEGATIVE_INFINITY )
                     result_list.addInstruction(OP_pushdouble, dval);
                 else
                     // Integer
diff --git a/debugger/pom.xml b/debugger/pom.xml
index b65a158..cb13581 100644
--- a/debugger/pom.xml
+++ b/debugger/pom.xml
@@ -23,11 +23,11 @@
   <parent>
     <groupId>org.apache.flex.flexjs.compiler</groupId>
     <artifactId>flexjs-compiler-parent</artifactId>
-    <version>0.8.0</version>
+    <version>0.9.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>debugger</artifactId>
-  <version>0.8.0</version>
+  <version>0.9.0-SNAPSHOT</version>
 
   <name>Apache Flex - FlexJS: Compiler: Debugger</name>
 
@@ -82,7 +82,7 @@
     <dependency>
       <groupId>org.apache.flex.flexjs.compiler</groupId>
       <artifactId>compiler</artifactId>
-      <version>0.8.0</version>
+      <version>0.9.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.compiler</groupId>
diff --git a/flex-compiler-oem/pom.xml b/flex-compiler-oem/pom.xml
index 7999d30..e8a386e 100644
--- a/flex-compiler-oem/pom.xml
+++ b/flex-compiler-oem/pom.xml
@@ -23,11 +23,11 @@
   <parent>
     <groupId>org.apache.flex.flexjs.compiler</groupId>
     <artifactId>flexjs-compiler-parent</artifactId>
-    <version>0.8.0</version>
+    <version>0.9.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>flex-compiler-oem</artifactId>
-  <version>0.8.0</version>
+  <version>0.9.0-SNAPSHOT</version>
 
   <name>Apache Flex - FlexJS: Compiler: OEM Layer</name>
 
@@ -35,12 +35,12 @@
     <dependency>
       <groupId>org.apache.flex.flexjs.compiler</groupId>
       <artifactId>compiler</artifactId>
-      <version>0.8.0</version>
+      <version>0.9.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.flexjs.compiler</groupId>
       <artifactId>compiler-jx</artifactId>
-      <version>0.8.0</version>
+      <version>0.9.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.apache.flex.compiler</groupId>
diff --git a/flexjs-ant-tasks/pom.xml b/flexjs-ant-tasks/pom.xml
index 023ae22..1b70e31 100644
--- a/flexjs-ant-tasks/pom.xml
+++ b/flexjs-ant-tasks/pom.xml
@@ -23,11 +23,11 @@
   <parent>
     <groupId>org.apache.flex.flexjs.compiler</groupId>
     <artifactId>flexjs-compiler-parent</artifactId>
-    <version>0.8.0</version>
+    <version>0.9.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>flexjs-ant-tasks</artifactId>
-  <version>0.8.0</version>
+  <version>0.9.0-SNAPSHOT</version>
 
   <name>Apache Flex - FlexJS: FlexJS Ant Tasks</name>
 
diff --git a/flexjs-maven-extension/pom.xml b/flexjs-maven-extension/pom.xml
index de35ce1..8905e3d 100644
--- a/flexjs-maven-extension/pom.xml
+++ b/flexjs-maven-extension/pom.xml
@@ -30,7 +30,7 @@
 
   <groupId>org.apache.flex.flexjs.compiler</groupId>
   <artifactId>flexjs-maven-extension</artifactId>
-  <version>0.8.0</version>
+  <version>0.9.0-SNAPSHOT</version>
   <packaging>jar</packaging>
 
   <name>Apache Flex - FlexJS: FlexJS Maven Extension</name>
diff --git a/flexjs-maven-plugin/pom.xml b/flexjs-maven-plugin/pom.xml
index e6f3de5..b478769 100644
--- a/flexjs-maven-plugin/pom.xml
+++ b/flexjs-maven-plugin/pom.xml
@@ -23,11 +23,11 @@
   <parent>
     <groupId>org.apache.flex.flexjs.compiler</groupId>
     <artifactId>flexjs-compiler-parent</artifactId>
-    <version>0.8.0</version>
+    <version>0.9.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>flexjs-maven-plugin</artifactId>
-  <version>0.8.0</version>
+  <version>0.9.0-SNAPSHOT</version>
   <packaging>maven-plugin</packaging>
 
   <name>Apache Flex - FlexJS: FlexJS Maven Plugin</name>
diff --git a/flexjs-maven-plugin/src/main/resources/config/compile-app-config.xml b/flexjs-maven-plugin/src/main/resources/config/compile-app-config.xml
index 425552a..cb38619 100644
--- a/flexjs-maven-plugin/src/main/resources/config/compile-app-config.xml
+++ b/flexjs-maven-plugin/src/main/resources/config/compile-app-config.xml
@@ -67,8 +67,8 @@
     </js-external-library-path>
     
     <swf-external-library-path>
-        #foreach($artifact in $swfExternalLibraries)            <path-element>$artifact.file</path-element>
-        #end
+#foreach($artifact in $swfExternalLibraries)            <path-element>$artifact.file</path-element>
+#end
     </swf-external-library-path>
 
     <!-- Turn on writing of generated/*.as files to disk. These files are generated by -->
@@ -95,8 +95,8 @@
     </js-library-path>
 
     <swf-library-path>
-        #foreach($artifact in $swfLibraries)            <path-element>$artifact.file</path-element>
-        #end
+#foreach($artifact in $swfLibraries)            <path-element>$artifact.file</path-element>
+#end
     </swf-library-path>
 
     <allow-subclass-overrides>$allowSubclassOverrides</allow-subclass-overrides>
diff --git a/flexjs-maven-plugin/src/main/resources/config/compile-asdoc-js-config.xml b/flexjs-maven-plugin/src/main/resources/config/compile-asdoc-js-config.xml
index 034246b..ce582fa 100644
--- a/flexjs-maven-plugin/src/main/resources/config/compile-asdoc-js-config.xml
+++ b/flexjs-maven-plugin/src/main/resources/config/compile-asdoc-js-config.xml
@@ -24,33 +24,33 @@
     <debug>$debug</debug>
 
     <library-path>
-      #foreach($artifact in $libraries)           <path-element>$artifact.file</path-element>
-      #end
+#foreach($artifact in $libraries)           <path-element>$artifact.file</path-element>
+#end
     </library-path>
 
     <external-library-path>
-      #foreach($artifact in $externalLibraries)           <path-element>$artifact.file</path-element>
-      #end
+#foreach($artifact in $externalLibraries)           <path-element>$artifact.file</path-element>
+#end
     </external-library-path>
 
     <source-path>
-      #foreach($sourcePath in $sourcePaths)           <path-element>$sourcePath</path-element>
-      #end
+#foreach($sourcePath in $sourcePaths)           <path-element>$sourcePath</path-element>
+#end
     </source-path>
 
     <namespaces>
-      #foreach($namespace in $namespaces)            <namespace>
+#foreach($namespace in $namespaces)            <namespace>
       <uri>$namespace.uri</uri>
       <manifest>$namespace.manifest</manifest>
     </namespace>
-      #end
+#end
     </namespaces>
 
     <warn-no-constructor>false</warn-no-constructor>
 
     <keep-as3-metadata>
-      #foreach($metadata in $keepAs3Metadata)            <name>$metadata</name>
-      #end
+#foreach($metadata in $keepAs3Metadata)            <name>$metadata</name>
+#end
     </keep-as3-metadata>
 
     <allow-subclass-overrides>$allowSubclassOverrides</allow-subclass-overrides>
@@ -65,33 +65,33 @@
 
     <show-deprecation-warnings>false</show-deprecation-warnings>
 
-    #foreach($define in $defines)        <define>
+#foreach($define in $defines)        <define>
     <name>$define.name</name>
     <value>$define.value</value>
   </define>
-    #end
+#end
   </compiler>
 
-  #if($includeSources)
+#if($includeSources)
   <include-sources>
-    #foreach($sourcePath in $sourcePaths)        <path-element>$sourcePath</path-element>
-    #end
+#foreach($sourcePath in $sourcePaths)        <path-element>$sourcePath</path-element>
+#end
   </include-sources>
-  #end
+#end
 
-  #if($includeClasses)
+#if($includeClasses)
   <include-classes>
-    #foreach($includeClass in $includeClasses)        <class>$includeClass</class>
-    #end
+#foreach($includeClass in $includeClasses)        <class>$includeClass</class>
+#end
   </include-classes>
-  #end
+#end
 
-  #if($namespaceUris)
+#if($namespaceUris)
   <include-namespaces>
-    #foreach($namespaceUri in $namespaceUris)        <uri>$namespaceUri</uri>
-    #end
+#foreach($namespaceUri in $namespaceUris)        <uri>$namespaceUri</uri>
+#end
   </include-namespaces>
-  #end
+#end
 
   <js-output-type>FLEXJS</js-output-type>
 
diff --git a/flexjs-maven-plugin/src/main/resources/config/compile-swf-config.xml b/flexjs-maven-plugin/src/main/resources/config/compile-swf-config.xml
index 7633a94..c53f821 100644
--- a/flexjs-maven-plugin/src/main/resources/config/compile-swf-config.xml
+++ b/flexjs-maven-plugin/src/main/resources/config/compile-swf-config.xml
@@ -29,13 +29,13 @@
         </library-path>
 
         <js-library-path>
-            #foreach($artifact in $jsLibraries)            <path-element>$artifact.file</path-element>
-            #end
+#foreach($artifact in $jsLibraries)            <path-element>$artifact.file</path-element>
+#end
         </js-library-path>
 
         <swf-library-path>
-            #foreach($artifact in $swfLibraries)            <path-element>$artifact.file</path-element>
-            #end
+#foreach($artifact in $swfLibraries)            <path-element>$artifact.file</path-element>
+#end
         </swf-library-path>
 
         <external-library-path>
@@ -44,13 +44,13 @@
         </external-library-path>
 
         <js-external-library-path>
-            #foreach($artifact in $jsExternalLibraries)            <path-element>$artifact.file</path-element>
-            #end
+#foreach($artifact in $jsExternalLibraries)            <path-element>$artifact.file</path-element>
+#end
         </js-external-library-path>
 
         <swf-external-library-path>
-            #foreach($artifact in $swfExternalLibraries)            <path-element>$artifact.file</path-element>
-            #end
+#foreach($artifact in $swfExternalLibraries)            <path-element>$artifact.file</path-element>
+#end
         </swf-external-library-path>
 
         <theme>
diff --git a/pom.xml b/pom.xml
index 9ef3c7a..ea33722 100644
--- a/pom.xml
+++ b/pom.xml
@@ -28,7 +28,7 @@
 
   <groupId>org.apache.flex.flexjs.compiler</groupId>
   <artifactId>flexjs-compiler-parent</artifactId>
-  <version>0.8.0</version>
+  <version>0.9.0-SNAPSHOT</version>
   <packaging>pom</packaging>
 
   <name>Apache Flex - FlexJS: Compiler: Parent</name>
