diff --git a/CHANGELOG.md b/CHANGELOG.md
index a94af66..2d67f3f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 1.1.5
+
+* Require Dart 1.23.0.
+
 ## 1.1.4
 
 * Throw an exception when listing globs whose initial paths don't exist in
diff --git a/lib/src/ast.dart b/lib/src/ast.dart
index c703711..130342e 100644
--- a/lib/src/ast.dart
+++ b/lib/src/ast.dart
@@ -87,7 +87,7 @@
     return new OptionsNode(sequences.map((sequence) {
       // Combine any adjacent LiteralNodes in [sequence].
       return new SequenceNode(
-          sequence.fold/*<List<AstNode>>*/([], (combined, node) {
+          sequence.fold<List<AstNode>>([], (combined, node) {
             if (combined.isEmpty ||
                 combined.last is! LiteralNode ||
                 node is! LiteralNode) {
diff --git a/lib/src/list_tree.dart b/lib/src/list_tree.dart
index deffdc9..5339b58 100644
--- a/lib/src/list_tree.dart
+++ b/lib/src/list_tree.dart
@@ -193,8 +193,7 @@
   List<FileSystemEntity> listSync({String root, bool followLinks: true}) {
     if (root == null) root = '.';
 
-    // TODO(nweiz): Remove the explicit annotation when sdk#26139 is fixed.
-    var result = _trees.keys.expand/*<FileSystemEntity>*/((rootDir) {
+    var result = _trees.keys.expand((rootDir) {
       var dir = rootDir == '.' ? root : rootDir;
       return _trees[rootDir].listSync(dir, followLinks: followLinks);
     });
diff --git a/pubspec.yaml b/pubspec.yaml
index 2e0df9a..6c3e755 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
 name: glob
-version: 1.1.4
+version: 1.1.5-dev
 author: "Dart Team <misc@dartlang.org>"
 homepage: https://github.com/dart-lang/glob
 description: Bash-style filename globbing.
@@ -12,4 +12,4 @@
   test: ">=0.12.0 <0.13.0"
   scheduled_test: ">=0.12.0 <0.13.0"
 environment:
-  sdk: ">=1.12.0 <2.0.0"
+  sdk: ">=1.23.0 <2.0.0"
