diff --git a/lib/src/command/global_activate.dart b/lib/src/command/global_activate.dart
index aee109b..126d1c7 100644
--- a/lib/src/command/global_activate.dart
+++ b/lib/src/command/global_activate.dart
@@ -23,19 +23,17 @@
         allowed: ["git", "hosted", "path"],
         defaultsTo: "hosted");
 
-    argParser.addOption("features",
-        abbr: "f", help: "Feature(s) to enable.", allowMultiple: true);
+    argParser.addMultiOption("features",
+        abbr: "f", help: "Feature(s) to enable.");
 
-    argParser.addOption("omit-features",
-        abbr: "F", help: "Feature(s) to disable.", allowMultiple: true);
+    argParser.addMultiOption("omit-features",
+        abbr: "F", help: "Feature(s) to disable.");
 
     argParser.addFlag("no-executables",
         negatable: false, help: "Do not put executables on PATH.");
 
-    argParser.addOption("executable",
-        abbr: "x",
-        help: "Executable(s) to place on PATH.",
-        allowMultiple: true);
+    argParser.addMultiOption("executable",
+        abbr: "x", help: "Executable(s) to place on PATH.");
 
     argParser.addFlag("overwrite",
         negatable: false,
diff --git a/lib/src/io.dart b/lib/src/io.dart
index 93d0ee0..edcfa47 100644
--- a/lib/src/io.dart
+++ b/lib/src/io.dart
@@ -772,7 +772,7 @@
   }
 
   /// Sends [signal] to the underlying process.
-  bool kill([ProcessSignal signal = ProcessSignal.SIGTERM]) =>
+  bool kill([ProcessSignal signal = ProcessSignal.sigterm]) =>
       _process.kill(signal);
 }
 
@@ -803,7 +803,7 @@
 
 /// Updates [path]'s modification time.
 void touch(String path) {
-  var file = new File(path).openSync(mode: FileMode.APPEND);
+  var file = new File(path).openSync(mode: FileMode.append);
   var originalLength = file.lengthSync();
   file.writeByteSync(0);
   file.truncateSync(originalLength);
diff --git a/lib/src/progress.dart b/lib/src/progress.dart
index ff19508..df8c066 100644
--- a/lib/src/progress.dart
+++ b/lib/src/progress.dart
@@ -39,7 +39,7 @@
     // The animation is only shown when it would be meaningful to a human.
     // That means we're writing a visible message to a TTY at normal log levels
     // with non-JSON output.
-    if (stdioType(stdout) != StdioType.TERMINAL ||
+    if (stdioType(stdout) != StdioType.terminal ||
         !log.verbosity.isLevelVisible(level) ||
         log.json.enabled ||
         fine ||
diff --git a/lib/src/utils.dart b/lib/src/utils.dart
index 77f601c..8787670 100644
--- a/lib/src/utils.dart
+++ b/lib/src/utils.dart
@@ -474,7 +474,7 @@
     !runningFromTest &&
     !runningAsTest &&
     !Platform.isWindows &&
-    stdioType(stdout) == StdioType.TERMINAL;
+    stdioType(stdout) == StdioType.terminal;
 
 /// Gets a "special" string (ANSI escape or Unicode).
 ///
diff --git a/pubspec.yaml b/pubspec.yaml
index ffe3288..4c524ca 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -3,8 +3,8 @@
 dependencies:
   # Note: Pub's test infrastructure assumes that any dependencies used in tests
   # will be hosted dependencies.
-  analyzer: ^0.31.2-alpha.1
-  args: ">=0.13.5 <2.0.0"
+  analyzer: ^0.32.0
+  args: ^1.4.1
   async: ^2.0.0
   collection: "^1.8.0"
   crypto: ">=1.0.0 <3.0.0"
@@ -31,4 +31,4 @@
   test_process: "^1.0.0"
 
 environment:
-  sdk: ">=2.0.0-dev.22.0 <2.0.0"
+  sdk: ">=2.0.0-dev.54.0 <2.0.0"
diff --git a/test/descriptor/tar.dart b/test/descriptor/tar.dart
index 3e1480d..bb6fcb7 100644
--- a/test/descriptor/tar.dart
+++ b/test/descriptor/tar.dart
@@ -56,7 +56,7 @@
 String _writeBinaryFile(String file, List<int> contents) {
   log.io("Writing ${contents.length} bytes to binary file $file.");
   deleteIfLink(file);
-  new File(file).openSync(mode: FileMode.WRITE)
+  new File(file).openSync(mode: FileMode.write)
     ..writeFromSync(contents)
     ..closeSync();
   log.fine("Wrote text file $file.");
diff --git a/test/run/forwards_signal_posix_test.dart b/test/run/forwards_signal_posix_test.dart
index f337216..360cc97 100644
--- a/test/run/forwards_signal_posix_test.dart
+++ b/test/run/forwards_signal_posix_test.dart
@@ -12,11 +12,11 @@
 import '../test_pub.dart';
 
 const _catchableSignals = const [
-  ProcessSignal.SIGHUP,
-  ProcessSignal.SIGTERM,
-  ProcessSignal.SIGUSR1,
-  ProcessSignal.SIGUSR2,
-  ProcessSignal.SIGWINCH,
+  ProcessSignal.sighup,
+  ProcessSignal.sigterm,
+  ProcessSignal.sigusr1,
+  ProcessSignal.sigusr2,
+  ProcessSignal.sigwinch,
 ];
 
 const SCRIPT = """
