Bump min SDK
diff --git a/.travis.yml b/.travis.yml
index 3456f5b..88763de 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,7 +1,6 @@
 language: dart
 sudo: false
 dart:
-  - stable
   - dev
 dart_task:
   # Using the expanded reporter to work-around
diff --git a/CHANGELOG.md b/CHANGELOG.md
index bf5c241..6cea33e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 2.0.1
+
+* Require Dart 2.0.0-dev.
+
 ## 2.0.0
 
 * **Breaking change:** The `Link` class has been renamed `LinkReference`, and
diff --git a/benchmark/benchmark.dart b/benchmark/benchmark.dart
index 06a2cba..ea5fda2 100644
--- a/benchmark/benchmark.dart
+++ b/benchmark/benchmark.dart
@@ -15,7 +15,7 @@
 final expected = loadFile("output.html");
 
 void main(List<String> args) {
-  var best = double.INFINITY;
+  var best = double.infinity;
 
   // Run the benchmark several times. This ensures the VM is warmed up and lets
   // us see how much variance there is.
diff --git a/lib/src/util.dart b/lib/src/util.dart
index 7e0df9c..c35bc74 100644
--- a/lib/src/util.dart
+++ b/lib/src/util.dart
@@ -3,7 +3,7 @@
 import 'package:charcode/charcode.dart';
 
 String escapeHtml(String html) =>
-    const HtmlEscape(HtmlEscapeMode.ELEMENT).convert(html);
+    const HtmlEscape(HtmlEscapeMode.element).convert(html);
 
 // Escape the contents of [value], so that it may be used as an HTML attribute.
 
diff --git a/pubspec.yaml b/pubspec.yaml
index 16f0197..414bc67 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -8,7 +8,7 @@
   markdown:
 
 environment:
-  sdk: '>=1.12.0 <2.0.0'
+  sdk: '>=2.0.0-dev <2.0.0'
 
 dependencies:
   args: '^1.0.0'
diff --git a/test/common_mark_test.dart b/test/common_mark_test.dart
index f480037..27fd541 100644
--- a/test/common_mark_test.dart
+++ b/test/common_mark_test.dart
@@ -17,7 +17,7 @@
   var tests = loadCommonMarkSections(config.prefix);
 
   var statsFile = getStatsFile(config.prefix);
-  var statsJson = JSON.decode(statsFile.readAsStringSync())
+  var statsJson = jsonDecode(statsFile.readAsStringSync())
       as Map<String, Map<String, String>>;
 
   group(config.prefix, () {
diff --git a/tool/dartdoc-compare.dart b/tool/dartdoc-compare.dart
index be68cbd..4864034 100644
--- a/tool/dartdoc-compare.dart
+++ b/tool/dartdoc-compare.dart
@@ -1,4 +1,4 @@
-import 'dart:convert' show JSON;
+import 'dart:convert' show jsonEncode, jsonDecode;
 import 'dart:io' show Directory, File, Platform, Process, exitCode;
 
 import 'package:args/args.dart' show ArgParser;
@@ -126,7 +126,7 @@
     var dartdocPubspec =
         loadYaml(new File(dartdocPubspecPath).readAsStringSync()) as Map;
     // make modifiable copy
-    dartdocPubspec = JSON.decode(JSON.encode(dartdocPubspec)) as Map;
+    dartdocPubspec = jsonDecode(jsonEncode(dartdocPubspec)) as Map;
 
     if (markdownRef == 'local') {
       dartdocPubspec['dependencies']['markdown'] = {
@@ -141,7 +141,7 @@
       };
     }
 
-    new File(dartdocPubspecPath).writeAsStringSync(JSON.encode(dartdocPubspec));
+    new File(dartdocPubspecPath).writeAsStringSync(jsonEncode(dartdocPubspec));
     return _system('pub', ['upgrade']);
   }
 }
diff --git a/tool/stats_lib.dart b/tool/stats_lib.dart
index 15290aa..398010f 100644
--- a/tool/stats_lib.dart
+++ b/tool/stats_lib.dart
@@ -25,7 +25,7 @@
   var testFile = new File(p.join(toolDir, '${testPrefix}_tests.json'));
   var testsJson = testFile.readAsStringSync();
 
-  var testArray = JSON.decode(testsJson) as List<Map<String, dynamic>>;
+  var testArray = jsonDecode(testsJson) as List<Map<String, dynamic>>;
 
   var sections = new Map<String, List<CommonMarkTestCase>>();
 
diff --git a/tool/update_blns.dart b/tool/update_blns.dart
index fc96663..7e23fd7 100644
--- a/tool/update_blns.dart
+++ b/tool/update_blns.dart
@@ -12,7 +12,7 @@
   try {
     var request = await client.getUrl(Uri.parse(_blnsJsonRawUrl));
     var response = await request.close();
-    json = JSON.decode(await response.transform(UTF8.decoder).join(''))
+    json = jsonDecode(await response.transform(utf8.decoder).join(''))
         as List<String>;
   } finally {
     client.close();
diff --git a/tool/update_emojis.dart b/tool/update_emojis.dart
index 7074d64..beffc98 100644
--- a/tool/update_emojis.dart
+++ b/tool/update_emojis.dart
@@ -10,7 +10,7 @@
   var client = new HttpClient();
   var request = await client.getUrl(Uri.parse(_emojisJsonRawUrl));
   var response = await request.close();
-  var json = JSON.decode(await response.transform(UTF8.decoder).join(''))
+  var json = jsonDecode(await response.transform(utf8.decoder).join(''))
       as Map<String, Map<String, dynamic>>;
   var emojisContent = new StringBuffer('''
 // GENERATED FILE. DO NOT EDIT.