diff --git a/lib/typed_buffers.dart b/lib/typed_buffers.dart
index c8cc75d..c3c0f38 100644
--- a/lib/typed_buffers.dart
+++ b/lib/typed_buffers.dart
@@ -2,17 +2,15 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-/**
- * Growable typed-data lists.
- *
- * These lists works just as a typed-data list, except that they are growable.
- * They use an underlying buffer, and when that buffer becomes too small, it
- * is replaced by a new buffer.
- *
- * That means that using the [TypedDataView.buffer] getter is not guaranteed
- * to return the same result each time it is used, and that the buffer may
- * be larger than what the list is using.
- */
+/// Growable typed-data lists.
+///
+/// These lists works just as a typed-data list, except that they are growable.
+/// They use an underlying buffer, and when that buffer becomes too small, it
+/// is replaced by a new buffer.
+///
+/// That means that using the [TypedDataView.buffer] getter is not guaranteed
+/// to return the same result each time it is used, and that the buffer may
+/// be larger than what the list is using.
 library dart.pkg.typed_data.typed_buffers;
 
 import "dart:collection" show ListBase;
@@ -241,14 +239,12 @@
     _buffer = newBuffer;
   }
 
-  /**
-   * Create a bigger buffer.
-   *
-   * This method determines how much bigger a bigger buffer should
-   * be. If [requiredCapacity] is not null, it will be at least that
-   * size. It will always have at least have double the capacity of
-   * the current buffer.
-   */
+  /// Create a bigger buffer.
+  ///
+  /// This method determines how much bigger a bigger buffer should
+  /// be. If [requiredCapacity] is not null, it will be at least that
+  /// size. It will always have at least have double the capacity of
+  /// the current buffer.
   List<E> _createBiggerBuffer(int requiredCapacity) {
     int newLength = _buffer.length * 2;
     if (requiredCapacity != null && newLength < requiredCapacity) {
@@ -285,14 +281,12 @@
 
   int get offsetInBytes => _buffer.offsetInBytes;
 
-  /**
-    * Returns the underlying [ByteBuffer].
-    *
-    * The returned buffer may be replaced by operations that change the [length]
-    * of this list.
-    *
-    * The buffer may be larger than [lengthInBytes] bytes, but never smaller.
-    */
+  /// Returns the underlying [ByteBuffer].
+  ///
+  /// The returned buffer may be replaced by operations that change the [length]
+  /// of this list.
+  ///
+  /// The buffer may be larger than [lengthInBytes] bytes, but never smaller.
   ByteBuffer get buffer => _buffer.buffer;
 
   // Specialization for the specific type.
diff --git a/lib/typed_data.dart b/lib/typed_data.dart
index b6619ab..d56b8bf 100644
--- a/lib/typed_data.dart
+++ b/lib/typed_data.dart
@@ -2,9 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-/**
- * Utilities and functionality related to the "dart:typed_data" library.
- */
+/// Utilities and functionality related to the "dart:typed_data" library.
 library dart.pkg.typed_data;
 
 export "package:typed_data/typed_buffers.dart";
diff --git a/pubspec.yaml b/pubspec.yaml
index 552b36e..8927a76 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
 name: typed_data
-version: 1.1.1
+version: 1.1.2-dev
 author: Dart Team <misc@dartlang.org>
 description: Utility functions and classes related to the 'dart:typed_data' library.
 homepage: https://github.com/dart-lang/typed_data
