diff --git a/CHANGELOG.md b/CHANGELOG.md
index 19fbce6..b159928 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,11 @@
+## 2.0.0
+
+**Note**: No new APIs have been added in 2.0.0. Packages that would use 2.0.0 as
+a lower bound should use 1.0.0 instead—for example, `convert: ">=1.0.0 <3.0.0"`.
+
+* `HexDecoder`, `HexEncoder`, `PercentDecoder`, and `PercentEncoder` no longer
+  extend `ChunkedConverter`.
+
 ## 1.1.1
 
 * Fix all strong-mode warnings.
diff --git a/lib/src/hex/decoder.dart b/lib/src/hex/decoder.dart
index 6a31641..d7a7555 100644
--- a/lib/src/hex/decoder.dart
+++ b/lib/src/hex/decoder.dart
@@ -17,8 +17,7 @@
 /// Because two hexadecimal digits correspond to a single byte, this will throw
 /// a [FormatException] if given an odd-length string. It will also throw a
 /// [FormatException] if given a string containing non-hexadecimal code units.
-class HexDecoder
-    extends ChunkedConverter<String, List<int>, String, List<int>> {
+class HexDecoder extends Converter<String, List<int>> {
   const HexDecoder._();
 
   List<int> convert(String string) {
diff --git a/lib/src/hex/encoder.dart b/lib/src/hex/encoder.dart
index ee53dd7..a9c66a5 100644
--- a/lib/src/hex/encoder.dart
+++ b/lib/src/hex/encoder.dart
@@ -16,8 +16,7 @@
 ///
 /// This will throw a [RangeError] if the byte array has any digits that don't
 /// fit in the gamut of a byte.
-class HexEncoder
-    extends ChunkedConverter<List<int>, String, List<int>, String> {
+class HexEncoder extends Converter<List<int>, String> {
   const HexEncoder._();
 
   String convert(List<int> bytes) => _convert(bytes, 0, bytes.length);
diff --git a/lib/src/percent/decoder.dart b/lib/src/percent/decoder.dart
index 3ff3e01..4d8f994 100644
--- a/lib/src/percent/decoder.dart
+++ b/lib/src/percent/decoder.dart
@@ -25,8 +25,7 @@
 ///
 /// This will throw a [FormatException] if the input string has an incomplete
 /// percent-encoding, or if it contains non-ASCII code units.
-class PercentDecoder
-    extends ChunkedConverter<String, List<int>, String, List<int>> {
+class PercentDecoder extends Converter<String, List<int>> {
   const PercentDecoder._();
 
   List<int> convert(String string) {
diff --git a/lib/src/percent/encoder.dart b/lib/src/percent/encoder.dart
index b4cf1a1..c781760 100644
--- a/lib/src/percent/encoder.dart
+++ b/lib/src/percent/encoder.dart
@@ -19,8 +19,7 @@
 ///
 /// This will throw a [RangeError] if the byte array has any digits that don't
 /// fit in the gamut of a byte.
-class PercentEncoder
-    extends ChunkedConverter<List<int>, String, List<int>, String> {
+class PercentEncoder extends Converter<List<int>, String> {
   const PercentEncoder._();
 
   String convert(List<int> bytes) => _convert(bytes, 0, bytes.length);
diff --git a/pubspec.yaml b/pubspec.yaml
index 94315e0..e9d38be 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,11 +1,11 @@
 name: convert
-version: 1.1.1
+version: 2.0.0
 description: Utilities for converting between data representations.
 author: Dart Team <misc@dartlang.org>
 homepage: https://github.com/dart-lang/convert
 
 environment:
-  sdk: '>=1.16.0 <2.0.0'
+  sdk: '>=1.17.0-dev.6.2 <2.0.0'
 
 dependencies:
   charcode: '^1.1.0'
