diff --git a/CHANGELOG.md b/CHANGELOG.md
index e5f7b44..4eb8ec9 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 1.3.4
+
+* Fix dev_compiler warnings.
+
 ## 1.3.3
 
 * Performance improvement in `Context.relative` - don't call `current` if `from`
diff --git a/lib/src/context.dart b/lib/src/context.dart
index c2fe48d..db055a1 100644
--- a/lib/src/context.dart
+++ b/lib/src/context.dart
@@ -40,12 +40,12 @@
           "allowed.");
     }
 
-    return new Context._(style, current);
+    return new Context._(style as InternalStyle, current);
   }
 
   /// Create a [Context] to be used internally within path.
   Context._internal()
-      : style = Style.platform,
+      : style = Style.platform as InternalStyle,
         _current = null;
 
   Context._(this.style, this._current);
@@ -197,7 +197,16 @@
   ///
   String join(String part1, [String part2, String part3, String part4,
       String part5, String part6, String part7, String part8]) {
-    var parts = [part1, part2, part3, part4, part5, part6, part7, part8];
+    var parts = <String>[
+      part1,
+      part2,
+      part3,
+      part4,
+      part5,
+      part6,
+      part7,
+      part8
+    ];
     _validateArgList("join", parts);
     return joinAll(parts.where((part) => part != null));
   }
diff --git a/lib/src/parsed_path.dart b/lib/src/parsed_path.dart
index b853eb1..d37e2d3 100644
--- a/lib/src/parsed_path.dart
+++ b/lib/src/parsed_path.dart
@@ -47,8 +47,8 @@
     if (root != null) path = path.substring(root.length);
 
     // Split the parts on path separators.
-    var parts = [];
-    var separators = [];
+    var parts = <String>[];
+    var separators = <String>[];
 
     var start = 0;
 
@@ -102,7 +102,7 @@
   void normalize() {
     // Handle '.', '..', and empty parts.
     var leadingDoubles = 0;
-    var newParts = [];
+    var newParts = <String>[];
     for (var part in parts) {
       if (part == '.' || part == '') {
         // Do nothing. Ignore it.
@@ -130,7 +130,7 @@
     }
 
     // Canonicalize separators.
-    var newSeparators = new List.generate(
+    var newSeparators = new List<String>.generate(
         newParts.length, (_) => style.separator, growable: true);
     newSeparators.insert(0, isAbsolute &&
         newParts.length > 0 &&
diff --git a/pubspec.yaml b/pubspec.yaml
index b4df1b6..9c837e9 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
 name: path
-version: 1.3.3
+version: 1.3.4
 author: Dart Team <misc@dartlang.org>
 description: >
  A string-based path manipulation library. All of the path operations you know
