publish 0.3.1 and fix potential bug
diff --git a/CHANGELOG.md b/CHANGELOG.md
index e52773d..e63ca43 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,4 @@
-## 0.3.1-dev
+## 0.3.1
 
 * Added `InitializePluginTransformer` class in `plugin_transformer.dart` which
 provides a base transformer class which can be extended to perform custom
diff --git a/lib/plugin_transformer.dart b/lib/plugin_transformer.dart
index 2caa077..5cfa9f5 100644
--- a/lib/plugin_transformer.dart
+++ b/lib/plugin_transformer.dart
@@ -29,6 +29,7 @@
 
   Future apply(AggregateTransform transform) {
     _logger = transform.logger;
+    var done = new Completer();
     var listener = transform.primaryInputs.listen((Asset asset) {
       allAssets.add(asset);
       var id = asset.id;
@@ -59,11 +60,12 @@
           printer.build(url);
           transform.addOutput(new Asset.fromString(id, printer.text));
         }
+        done.complete();
       });
     });
 
     // Make sure all the assets are read before returning.
-    return listener.asFuture();
+    return Future.wait([listener.asFuture(), done.future]);
   }
 
   /// Gets called once for each generated [InitEntry] expression in the
diff --git a/pubspec.yaml b/pubspec.yaml
index a9a7a2e..758c325 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
 name: initialize
-version: 0.3.1-dev
+version: 0.3.1
 author: Polymer.dart Authors <web@dartlang.org>
 description: Generic building blocks for doing static initialization.
 homepage: https://github.com/dart-lang/initialize