misc: prepare for 3.1.2 release (#570)

Require Dart 2 stable
web-angular: use stable dependencies
diff --git a/.travis.yml b/.travis.yml
index 24b4be8..8785ab2 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -4,7 +4,7 @@
 # Do not remove without verifying w/ Travis.
 sudo: required
 
-dart: dev
+dart: stable
 
 cache:
   directories:
@@ -31,4 +31,4 @@
 
 # Only building on selected branches means that we don't run two builds for each pull request.
 branches:
-  only: [master, 2-dev]
+  only: [master]
diff --git a/CHANGELOG.md b/CHANGELOG.md
index e2a5136..26dd392 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,10 @@
 ## 3.1.2
 
-- `web-*` templates: Upgraded `build_runner` to `^0.10.0`.
+- All templates:
+  - Set min SDK version to 2.0.0.
+
+- `web-angular` template:
+  - Depend on stable releases of `angular` packages.
 
 ## 3.1.1
 
diff --git a/lib/src/cli_app.g.dart b/lib/src/cli_app.g.dart
index 4e2eeb2..a840673 100644
--- a/lib/src/cli_app.g.dart
+++ b/lib/src/cli_app.g.dart
@@ -10,4 +10,4 @@
 // VersionGenerator
 // **************************************************************************
 
-const appVersion = '3.1.2-dev';
+const appVersion = '3.1.2';
diff --git a/lib/src/generators/console_full.g.dart b/lib/src/generators/console_full.g.dart
index 7484e43..26a559b 100644
--- a/lib/src/generators/console_full.g.dart
+++ b/lib/src/generators/console_full.g.dart
@@ -54,8 +54,8 @@
 bmFtZTogX19wcm9qZWN0TmFtZV9fCmRlc2NyaXB0aW9uOiBBIHNhbXBsZSBjb21tYW5kLWxpbmUg

 YXBwbGljYXRpb24uCiMgdmVyc2lvbjogMS4wLjAKIyBob21lcGFnZTogaHR0cHM6Ly93d3cuZXhh

 bXBsZS5jb20KIyBhdXRob3I6IF9fYXV0aG9yX18gPGVtYWlsQGV4YW1wbGUuY29tPgoKZW52aXJv

-bm1lbnQ6CiAgc2RrOiAnPj0yLjAuMC1kZXYuNjguMCA8My4wLjAnCgojZGVwZW5kZW5jaWVzOgoj

-ICBwYXRoOiBeMS40LjEKCmRldl9kZXBlbmRlbmNpZXM6CiAgdGVzdDogXjEuMC4wCg==''',
+bm1lbnQ6CiAgc2RrOiAnPj0yLjAuMCA8My4wLjAnCgojZGVwZW5kZW5jaWVzOgojICBwYXRoOiBe

+MS40LjEKCmRldl9kZXBlbmRlbmNpZXM6CiAgdGVzdDogXjEuMC4wCg==''',
   'test/__projectName___test.dart',
   'text',
   '''
diff --git a/lib/src/generators/package_simple.g.dart b/lib/src/generators/package_simple.g.dart
index d37c7bb..7c84ad2 100644
--- a/lib/src/generators/package_simple.g.dart
+++ b/lib/src/generators/package_simple.g.dart
@@ -69,9 +69,9 @@
 bmFtZTogX19wcm9qZWN0TmFtZV9fCmRlc2NyaXB0aW9uOiBBIHN0YXJ0aW5nIHBvaW50IGZvciBE

 YXJ0IGxpYnJhcmllcyBvciBhcHBsaWNhdGlvbnMuCiMgdmVyc2lvbjogMS4wLjAKIyBob21lcGFn

 ZTogaHR0cHM6Ly93d3cuZXhhbXBsZS5jb20KIyBhdXRob3I6IF9fYXV0aG9yX18gPGVtYWlsQGV4

-YW1wbGUuY29tPgoKZW52aXJvbm1lbnQ6CiAgc2RrOiAnPj0yLjAuMC1kZXYuNjguMCA8My4wLjAn

-CgojZGVwZW5kZW5jaWVzOgojICBwYXRoOiBeMS40LjEKCmRldl9kZXBlbmRlbmNpZXM6CiAgdGVz

-dDogXjEuMC4wCg==''',
+YW1wbGUuY29tPgoKZW52aXJvbm1lbnQ6CiAgc2RrOiAnPj0yLjAuMCA8My4wLjAnCgojZGVwZW5k

+ZW5jaWVzOgojICBwYXRoOiBeMS40LjEKCmRldl9kZXBlbmRlbmNpZXM6CiAgdGVzdDogXjEuMC4w

+Cg==''',
   'test/__projectName___test.dart',
   'text',
   '''
diff --git a/lib/src/generators/server_shelf.g.dart b/lib/src/generators/server_shelf.g.dart
index 7d19033..20575ac 100644
--- a/lib/src/generators/server_shelf.g.dart
+++ b/lib/src/generators/server_shelf.g.dart
@@ -65,7 +65,7 @@
 bmFtZTogX19wcm9qZWN0TmFtZV9fCmRlc2NyaXB0aW9uOiBBIHdlYiBzZXJ2ZXIgYnVpbHQgdXNp

 bmcgdGhlIHNoZWxmIHBhY2thZ2UuCiMgdmVyc2lvbjogMS4wLjAKIyBob21lcGFnZTogaHR0cHM6

 Ly93d3cuZXhhbXBsZS5jb20KIyBhdXRob3I6IF9fYXV0aG9yX18gPGVtYWlsQGV4YW1wbGUuY29t

-PgoKZW52aXJvbm1lbnQ6CiAgc2RrOiAnPj0yLjAuMC1kZXYuNjguMCA8My4wLjAnCgpkZXBlbmRl

-bmNpZXM6CiAgYXJnczogXjEuNC4yCiAgc2hlbGY6IF4wLjcuMgoKI2Rldl9kZXBlbmRlbmNpZXM6

-CiMgIHRlc3Q6IF4xLjAuMAo='''
+PgoKZW52aXJvbm1lbnQ6CiAgc2RrOiAnPj0yLjAuMCA8My4wLjAnCgpkZXBlbmRlbmNpZXM6CiAg

+YXJnczogXjEuNC4yCiAgc2hlbGY6IF4wLjcuMgoKI2Rldl9kZXBlbmRlbmNpZXM6CiMgIHRlc3Q6

+IF4xLjAuMAo='''
 ];
diff --git a/lib/src/generators/web_angular.g.dart b/lib/src/generators/web_angular.g.dart
index a1ffbfb..c8c8771 100644
--- a/lib/src/generators/web_angular.g.dart
+++ b/lib/src/generators/web_angular.g.dart
@@ -126,11 +126,11 @@
 bmFtZTogX19wcm9qZWN0TmFtZV9fCmRlc2NyaXB0aW9uOiBBIHdlYiBhcHAgdGhhdCB1c2VzIEFu

 Z3VsYXJEYXJ0IENvbXBvbmVudHMKIyB2ZXJzaW9uOiAxLjAuMAojIGhvbWVwYWdlOiBodHRwczov

 L3d3dy5leGFtcGxlLmNvbQojIGF1dGhvcjogX19hdXRob3JfXyA8ZW1haWxAZXhhbXBsZS5jb20+

-CgplbnZpcm9ubWVudDoKICBzZGs6ICc+PTIuMC4wLWRldi42OC4wIDwzLjAuMCcKCmRlcGVuZGVu

-Y2llczoKICBhbmd1bGFyOiBeNS4wLjAtYmV0YQogIGFuZ3VsYXJfY29tcG9uZW50czogXjAuOS4w

-LWJldGEKCmRldl9kZXBlbmRlbmNpZXM6CiAgYW5ndWxhcl90ZXN0OiBeMi4wLjAtYmV0YQogIGJ1

-aWxkX3J1bm5lcjogXjAuMTAuMAogIGJ1aWxkX3Rlc3Q6IF4wLjEwLjIKICBidWlsZF93ZWJfY29t

-cGlsZXJzOiBeMC40LjAKICB0ZXN0OiBeMS4wLjAK''',
+CgplbnZpcm9ubWVudDoKICBzZGs6ICc+PTIuMC4wIDwzLjAuMCcKCmRlcGVuZGVuY2llczoKICBh

+bmd1bGFyOiBeNS4wLjAKICBhbmd1bGFyX2NvbXBvbmVudHM6IF4wLjkuMAoKZGV2X2RlcGVuZGVu

+Y2llczoKICBhbmd1bGFyX3Rlc3Q6IF4yLjAuMAogIGJ1aWxkX3J1bm5lcjogXjAuMTAuMAogIGJ1

+aWxkX3Rlc3Q6IF4wLjEwLjIKICBidWlsZF93ZWJfY29tcGlsZXJzOiBeMC40LjAKICB0ZXN0OiBe

+MS4wLjAK''',
   'test/app_test.dart',
   'text',
   '''
diff --git a/lib/src/generators/web_simple.g.dart b/lib/src/generators/web_simple.g.dart
index 98524a5..d69d2fb 100644
--- a/lib/src/generators/web_simple.g.dart
+++ b/lib/src/generators/web_simple.g.dart
@@ -45,9 +45,9 @@
 bmFtZTogX19wcm9qZWN0TmFtZV9fCmRlc2NyaXB0aW9uOiBBbiBhYnNvbHV0ZSBiYXJlLWJvbmVz

 IHdlYiBhcHAuCiMgdmVyc2lvbjogMS4wLjAKI2hvbWVwYWdlOiBodHRwczovL3d3dy5leGFtcGxl

 LmNvbQojYXV0aG9yOiBfX2F1dGhvcl9fIDxlbWFpbEBleGFtcGxlLmNvbT4KCmVudmlyb25tZW50

-OgogIHNkazogJz49Mi4wLjAtZGV2LjY4LjAgPDMuMC4wJwoKI2RlcGVuZGVuY2llczoKIyAgcGF0

-aDogXjEuNC4xCgpkZXZfZGVwZW5kZW5jaWVzOgogIGJ1aWxkX3J1bm5lcjogXjAuMTAuMAogIGJ1

-aWxkX3dlYl9jb21waWxlcnM6IF4wLjQuMAo=''',
+OgogIHNkazogJz49Mi4wLjAgPDMuMC4wJwoKI2RlcGVuZGVuY2llczoKIyAgcGF0aDogXjEuNC4x

+CgpkZXZfZGVwZW5kZW5jaWVzOgogIGJ1aWxkX3J1bm5lcjogXjAuMTAuMAogIGJ1aWxkX3dlYl9j

+b21waWxlcnM6IF4wLjQuMAo=''',
   'web/favicon.ico',
   'binary',
   '''
diff --git a/lib/src/generators/web_stagexl.g.dart b/lib/src/generators/web_stagexl.g.dart
index 6b15d94..ebb074d 100644
--- a/lib/src/generators/web_stagexl.g.dart
+++ b/lib/src/generators/web_stagexl.g.dart
@@ -45,9 +45,9 @@
 bmFtZTogX19wcm9qZWN0TmFtZV9fCmRlc2NyaXB0aW9uOiBBIHNpbXBsZSBTdGFnZVhMIHdlYiBh

 cHAuCiMgdmVyc2lvbjogMS4wLjAKI2hvbWVwYWdlOiBodHRwczovL3d3dy5leGFtcGxlLmNvbQoj

 YXV0aG9yOiBfX2F1dGhvcl9fIDxlbWFpbEBleGFtcGxlLmNvbT4KCmVudmlyb25tZW50OgogIHNk

-azogJz49Mi4wLjAtZGV2LjY4LjAgPDMuMC4wJwoKZGVwZW5kZW5jaWVzOgogIHN0YWdleGw6IF4x

-LjEuMAoKZGV2X2RlcGVuZGVuY2llczoKICBidWlsZF9ydW5uZXI6IF4wLjEwLjAKICBidWlsZF93

-ZWJfY29tcGlsZXJzOiBeMC40LjAK''',
+azogJz49Mi4wLjAgPDMuMC4wJwoKZGVwZW5kZW5jaWVzOgogIHN0YWdleGw6IF4xLjEuMAoKZGV2

+X2RlcGVuZGVuY2llczoKICBidWlsZF9ydW5uZXI6IF4wLjEwLjAKICBidWlsZF93ZWJfY29tcGls

+ZXJzOiBeMC40LjAK''',
   'web/images/dart@1x.png',
   'binary',
   '''
diff --git a/pubspec.yaml b/pubspec.yaml
index 6888870..e501b6c 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -3,16 +3,16 @@
 # license that can be found in the LICENSE file.
 
 name: stagehand
-# When changing this version, change the lib/src/cli_app.dart version as well.
 description: >
   A scaffolding generator for your Dart projects. Stagehand helps you get set
   up!
-version: 3.1.2-dev
+# After changing the version, run `pub run build_runner build`.
+version: 3.1.2
 homepage: https://github.com/dart-lang/stagehand
 author: Dart Team <misc@dartlang.org>
 
 environment:
-  sdk: '>=2.0.0-dev.68.0 <3.0.0'
+  sdk: '>=2.0.0 <3.0.0'
 
 # Add the bin/stagehand.dart script to the scripts pub installs.
 executables:
diff --git a/templates/console-full/pubspec.yaml b/templates/console-full/pubspec.yaml
index 755d6a4..1bf16b4 100644
--- a/templates/console-full/pubspec.yaml
+++ b/templates/console-full/pubspec.yaml
@@ -5,7 +5,7 @@
 # author: __author__ <email@example.com>
 
 environment:
-  sdk: '>=2.0.0-dev.68.0 <3.0.0'
+  sdk: '>=2.0.0 <3.0.0'
 
 #dependencies:
 #  path: ^1.4.1
diff --git a/templates/package-simple/pubspec.yaml b/templates/package-simple/pubspec.yaml
index 6cc3edf..6928232 100644
--- a/templates/package-simple/pubspec.yaml
+++ b/templates/package-simple/pubspec.yaml
@@ -5,7 +5,7 @@
 # author: __author__ <email@example.com>
 
 environment:
-  sdk: '>=2.0.0-dev.68.0 <3.0.0'
+  sdk: '>=2.0.0 <3.0.0'
 
 #dependencies:
 #  path: ^1.4.1
diff --git a/templates/server-shelf/pubspec.yaml b/templates/server-shelf/pubspec.yaml
index b6406cc..a052f43 100644
--- a/templates/server-shelf/pubspec.yaml
+++ b/templates/server-shelf/pubspec.yaml
@@ -5,7 +5,7 @@
 # author: __author__ <email@example.com>
 
 environment:
-  sdk: '>=2.0.0-dev.68.0 <3.0.0'
+  sdk: '>=2.0.0 <3.0.0'
 
 dependencies:
   args: ^1.4.2
diff --git a/templates/web-angular/pubspec.yaml b/templates/web-angular/pubspec.yaml
index 0d8e2a5..5c449ea 100644
--- a/templates/web-angular/pubspec.yaml
+++ b/templates/web-angular/pubspec.yaml
@@ -5,14 +5,14 @@
 # author: __author__ <email@example.com>
 
 environment:
-  sdk: '>=2.0.0-dev.68.0 <3.0.0'
+  sdk: '>=2.0.0 <3.0.0'
 
 dependencies:
-  angular: ^5.0.0-beta
-  angular_components: ^0.9.0-beta
+  angular: ^5.0.0
+  angular_components: ^0.9.0
 
 dev_dependencies:
-  angular_test: ^2.0.0-beta
+  angular_test: ^2.0.0
   build_runner: ^0.10.0
   build_test: ^0.10.2
   build_web_compilers: ^0.4.0
diff --git a/templates/web-simple/pubspec.yaml b/templates/web-simple/pubspec.yaml
index ab0b16d..974d4cd 100644
--- a/templates/web-simple/pubspec.yaml
+++ b/templates/web-simple/pubspec.yaml
@@ -5,7 +5,7 @@
 #author: __author__ <email@example.com>
 
 environment:
-  sdk: '>=2.0.0-dev.68.0 <3.0.0'
+  sdk: '>=2.0.0 <3.0.0'
 
 #dependencies:
 #  path: ^1.4.1
diff --git a/templates/web-stagexl/pubspec.yaml b/templates/web-stagexl/pubspec.yaml
index 3b36d82..0212848 100644
--- a/templates/web-stagexl/pubspec.yaml
+++ b/templates/web-stagexl/pubspec.yaml
@@ -5,7 +5,7 @@
 #author: __author__ <email@example.com>
 
 environment:
-  sdk: '>=2.0.0-dev.68.0 <3.0.0'
+  sdk: '>=2.0.0 <3.0.0'
 
 dependencies:
   stagexl: ^1.1.0
diff --git a/test/validate_templates.dart b/test/validate_templates.dart
index f02b403..649c021 100644
--- a/test/validate_templates.dart
+++ b/test/validate_templates.dart
@@ -141,7 +141,7 @@
   expect(pubspecContent, containsPair('name', 'stagehand'));
   expect(pubspecContent, containsPair('description', isNotEmpty));
 
-  final minSDK = '2.0.0-dev.68.0';
+  final minSDK = '2.0.0';
   final env = {'sdk': '>=$minSDK <3.0.0'};
   expect(pubspecContent, containsPair('environment', env));
 
diff --git a/tool/travis.sh b/tool/travis.sh
index 7adb41d..182abda 100755
--- a/tool/travis.sh
+++ b/tool/travis.sh
@@ -43,14 +43,15 @@
 pub run test test/validate_templates.dart
 travis_fold end validate_templates
 
+# Disabling coveralls until pkg:file support Dart 2.0.0-gold
 # Install dart_coveralls; gather and send coverage data.
-if [ "$COVERALLS_TOKEN" ]; then
-  travis_fold start dart_coveralls
-  pub global activate dart_coveralls
-  pub global run dart_coveralls report \
-    --token $COVERALLS_TOKEN \
-    --retry 2 \
-    --exclude-test-files \
-    test/all.dart
-  travis_fold end dart_coveralls
-fi
+# if [ "$COVERALLS_TOKEN" ]; then
+#   travis_fold start dart_coveralls
+#   pub global activate dart_coveralls
+#   pub global run dart_coveralls report \
+#     --token $COVERALLS_TOKEN \
+#     --retry 2 \
+#     --exclude-test-files \
+#     test/all.dart
+#   travis_fold end dart_coveralls
+# fi