diff --git a/CHANGELOG.md b/CHANGELOG.md
index 78aac6c..ea510df 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+# 1.0.13
+
+* Support the latest release of `package:analyzer`.
+
 # 1.0.12
 
 * Fix another failure when running in Dart 2.
diff --git a/bin/format.dart b/bin/format.dart
index 316d72f..951524f 100644
--- a/bin/format.dart
+++ b/bin/format.dart
@@ -14,7 +14,7 @@
 import 'package:dart_style/src/source_code.dart';
 
 // Note: The following line of code is modified by tool/grind.dart.
-const version = "1.0.12";
+const version = "1.0.13";
 
 void main(List<String> args) {
   var parser = new ArgParser(allowTrailingOptions: true);
diff --git a/lib/src/io.dart b/lib/src/io.dart
index eeaa532..b0f059b 100644
--- a/lib/src/io.dart
+++ b/lib/src/io.dart
@@ -78,7 +78,7 @@
     return true;
   } on FormatterException catch (err) {
     var color = Platform.operatingSystem != "windows" &&
-        stdioType(stderr) == StdioType.TERMINAL;
+        stdioType(stderr) == StdioType.terminal;
 
     stderr.writeln(err.message(color: color));
   } on UnexpectedOutputException catch (err) {
diff --git a/pubspec.lock b/pubspec.lock
index 6249f3b..fd1be30 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -7,28 +7,21 @@
       name: analyzer
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.31.2-alpha.1"
+    version: "0.32.0"
   args:
     dependency: "direct main"
     description:
       name: args
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.4.2"
+    version: "1.4.3"
   async:
     dependency: "direct dev"
     description:
       name: async
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "2.0.6"
-  barback:
-    dependency: transitive
-    description:
-      name: barback
-      url: "https://pub.dartlang.org"
-    source: hosted
-    version: "0.15.2+15"
+    version: "2.0.7"
   boolean_selector:
     dependency: transitive
     description:
@@ -77,21 +70,21 @@
       name: crypto
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "2.0.2+1"
+    version: "2.0.3"
   csslib:
     dependency: transitive
     description:
       name: csslib
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.14.1"
+    version: "0.14.4"
   front_end:
     dependency: transitive
     description:
       name: front_end
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.1.0-alpha.11"
+    version: "0.1.0"
   glob:
     dependency: transitive
     description:
@@ -105,7 +98,7 @@
       name: grinder
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.8.1"
+    version: "0.8.2"
   html:
     dependency: transitive
     description:
@@ -133,7 +126,7 @@
       name: http_parser
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "3.1.1"
+    version: "3.1.2"
   io:
     dependency: transitive
     description:
@@ -141,13 +134,6 @@
       url: "https://pub.dartlang.org"
     source: hosted
     version: "0.3.2+1"
-  isolate:
-    dependency: transitive
-    description:
-      name: isolate
-      url: "https://pub.dartlang.org"
-    source: hosted
-    version: "1.1.0"
   js:
     dependency: "direct dev"
     description:
@@ -161,7 +147,7 @@
       name: kernel
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.3.0-alpha.11"
+    version: "0.3.0"
   logging:
     dependency: transitive
     description:
@@ -175,14 +161,14 @@
       name: matcher
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.12.2"
+    version: "0.12.2+1"
   meta:
     dependency: transitive
     description:
       name: meta
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.1.2"
+    version: "1.1.5"
   mime:
     dependency: transitive
     description:
@@ -203,7 +189,7 @@
       name: node_preamble
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.4.0"
+    version: "1.4.1"
   package_config:
     dependency: transitive
     description:
@@ -245,14 +231,14 @@
       name: pub_semver
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.3.7"
+    version: "1.4.1"
   shelf:
     dependency: transitive
     description:
       name: shelf
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.7.2"
+    version: "0.7.3"
   shelf_packages_handler:
     dependency: transitive
     description:
@@ -287,7 +273,7 @@
       name: source_maps
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.10.4"
+    version: "0.10.5"
   source_span:
     dependency: "direct main"
     description:
@@ -308,7 +294,7 @@
       name: stream_channel
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.6.5"
+    version: "1.6.6"
   string_scanner:
     dependency: transitive
     description:
@@ -329,7 +315,7 @@
       name: test
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.12.35"
+    version: "0.12.38"
   test_descriptor:
     dependency: "direct dev"
     description:
@@ -380,4 +366,4 @@
     source: hosted
     version: "2.1.13"
 sdks:
-  dart: ">=2.0.0-dev.23.0 <=2.0.0-edge.d5105da9cabff92c398d90d7c80fc23b5e38e012"
+  dart: ">=2.0.0-dev.54.0 <=2.0.0-dev.55.0"
diff --git a/pubspec.yaml b/pubspec.yaml
index cee2678..b5c7fb3 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,13 +1,13 @@
 name: dart_style
 # Note: See tool/grind.dart for how to bump the version.
-version: 1.0.13-dev
+version: 1.0.13
 author: Dart Team <misc@dartlang.org>
 description: Opinionated, automatic Dart source code formatter.
 homepage: https://github.com/dart-lang/dart_style
 environment:
-  sdk: '>=2.0.0-dev.17.0 <2.0.0'
+  sdk: '>=2.0.0-dev.54.0 <2.0.0'
 dependencies:
-  analyzer: ^0.31.2-alpha.0
+  analyzer: '>0.31.2-alpha.0 <0.33.0'
   args: '>=0.12.1 <2.0.0'
   path: ^1.0.0
   source_span: ^1.4.0
