Switch to Pub API (#152)

* Switch to Pub API

* Rev version
diff --git a/pkgs/firehose/CHANGELOG.md b/pkgs/firehose/CHANGELOG.md
index 3b1a32d..660431b 100644
--- a/pkgs/firehose/CHANGELOG.md
+++ b/pkgs/firehose/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.3.25
+
+- Switch to pub.dev API in `package:firehose`.
+
 ## 0.3.24
 
 - Fix [#137](https://github.com/dart-lang/ecosystem/issues/137).
diff --git a/pkgs/firehose/lib/src/pub.dart b/pkgs/firehose/lib/src/pub.dart
index e295878..1c319f5 100644
--- a/pkgs/firehose/lib/src/pub.dart
+++ b/pkgs/firehose/lib/src/pub.dart
@@ -13,14 +13,16 @@
 
   Future<bool> hasPublishedVersion(String name, String version) async {
     var response =
-        await httpClient.get(Uri.parse('https://pub.dev/packages/$name.json'));
+        await httpClient.get(Uri.parse('https://pub.dev/api/packages/$name'));
     if (response.statusCode != 200) {
       return false;
     }
 
-    var json = jsonDecode(response.body) as Map;
-    var versions = json['versions'] as List;
-    return versions.contains(version);
+    var json = jsonDecode(response.body) as Map<String, dynamic>;
+    return (json['versions'] as List)
+        .map((versionObject) =>
+            (versionObject as Map<String, dynamic>)['version'])
+        .contains(version);
   }
 
   void close() {
diff --git a/pkgs/firehose/pubspec.yaml b/pkgs/firehose/pubspec.yaml
index 6ee2344..b58a631 100644
--- a/pkgs/firehose/pubspec.yaml
+++ b/pkgs/firehose/pubspec.yaml
@@ -1,6 +1,6 @@
 name: firehose
 description: A tool to automate publishing of Pub packages from GitHub actions.
-version: 0.3.24
+version: 0.3.25
 repository: https://github.com/dart-lang/ecosystem/tree/main/pkgs/firehose
 
 environment: