diff --git a/CHANGELOG.md b/CHANGELOG.md
index 767a727..005dd85 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,7 @@
 * Add support for spreads inside collections (#778).
 * Add support for `if` and `for` elements inside collections (#779).
 * Require at least Dart 2.1.0.
+* Require analyzer 0.36.0.
 
 # 1.2.4
 
diff --git a/bin/format.dart b/bin/format.dart
index b90688e..675fd11 100644
--- a/bin/format.dart
+++ b/bin/format.dart
@@ -15,7 +15,7 @@
 import 'package:dart_style/src/style_fix.dart';
 
 // Note: The following line of code is modified by tool/grind.dart.
-const version = "1.2.4";
+const version = "1.2.5";
 
 void main(List<String> args) {
   var parser = ArgParser(allowTrailingOptions: true);
diff --git a/lib/src/source_visitor.dart b/lib/src/source_visitor.dart
index 15de0f7..62e0130 100644
--- a/lib/src/source_visitor.dart
+++ b/lib/src/source_visitor.dart
@@ -1196,7 +1196,7 @@
     builder.endRule();
   }
 
-  visitForStatement2(ForStatement2 node) {
+  visitForStatement(ForStatement node) {
     builder.nestExpression();
     token(node.awaitKeyword, after: space);
     token(node.forKeyword);
@@ -1744,10 +1744,9 @@
   visitListLiteral(ListLiteral node) {
     // Corner case: Splitting inside a list looks bad if there's only one
     // element, so make those more costly.
-    var cost =
-        node.elements2.length <= 1 ? Cost.singleElementList : Cost.normal;
+    var cost = node.elements.length <= 1 ? Cost.singleElementList : Cost.normal;
     _visitCollectionLiteral(
-        node, node.leftBracket, node.elements2, node.rightBracket, cost);
+        node, node.leftBracket, node.elements, node.rightBracket, cost);
   }
 
   visitMapLiteralEntry(MapLiteralEntry node) {
@@ -1981,7 +1980,7 @@
 
   visitSetOrMapLiteral(SetOrMapLiteral node) {
     _visitCollectionLiteral(
-        node, node.leftBracket, node.elements2, node.rightBracket);
+        node, node.leftBracket, node.elements, node.rightBracket);
   }
 
   visitShowCombinator(ShowCombinator node) {
diff --git a/pubspec.lock b/pubspec.lock
index 8ce8c6d..6369f5a 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -7,7 +7,7 @@
       name: analyzer
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.35.4"
+    version: "0.36.0"
   args:
     dependency: "direct main"
     description:
@@ -70,7 +70,7 @@
       name: front_end
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.1.14"
+    version: "0.1.15"
   glob:
     dependency: transitive
     description:
@@ -133,14 +133,14 @@
       name: kernel
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.3.14"
+    version: "0.3.15"
   matcher:
     dependency: transitive
     description:
       name: matcher
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.12.3+1"
+    version: "0.12.5"
   meta:
     dependency: transitive
     description:
@@ -238,7 +238,7 @@
       name: shelf_web_socket
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.2.2+4"
+    version: "0.2.2+5"
   source_map_stack_trace:
     dependency: transitive
     description:
@@ -273,7 +273,7 @@
       name: stream_channel
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.6.8"
+    version: "1.7.0"
   string_scanner:
     dependency: transitive
     description:
@@ -294,21 +294,21 @@
       name: test
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.5.3"
+    version: "1.6.0"
   test_api:
     dependency: transitive
     description:
       name: test_api
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.2.2"
+    version: "0.2.3"
   test_core:
     dependency: transitive
     description:
       name: test_core
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.2.1+1"
+    version: "0.2.2"
   test_descriptor:
     dependency: "direct dev"
     description:
@@ -350,7 +350,7 @@
       name: web_socket_channel
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.0.9"
+    version: "1.0.12"
   yaml:
     dependency: "direct dev"
     description:
diff --git a/pubspec.yaml b/pubspec.yaml
index ec9f213..ae76e47 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,15 +1,17 @@
 name: dart_style
 # Note: See tool/grind.dart for how to bump the version.
-version: 1.2.5-dev
+version: 1.2.5
 author: Dart Team <misc@dartlang.org>
-description: Opinionated, automatic Dart source code formatter.
+description: >-
+  Opinionated, automatic Dart source code formatter.
+  Provides an API and a CLI tool.
 homepage: https://github.com/dart-lang/dart_style
 
 environment:
   sdk: '>=2.1.0 <3.0.0'
 
 dependencies:
-  analyzer: '>=0.35.3 <0.36.0'
+  analyzer: '>=0.36.0 <0.37.0'
   args: '>=0.12.1 <2.0.0'
   path: ^1.0.0
   source_span: ^1.4.0
@@ -18,7 +20,7 @@
   grinder: ^0.8.0
   pedantic: ^1.0.0
   pub_semver: ^1.2.3
-  test: ^1.2.0
+  test: ^1.6.0
   test_descriptor: ^1.0.0
   test_process: ^1.0.0
   yaml: ^2.0.0
