blast_repo fixes (#96)

* blast_repo fixes

auto-publish

* update changelog
diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml
new file mode 100644
index 0000000..2239b63
--- /dev/null
+++ b/.github/workflows/publish.yaml
@@ -0,0 +1,14 @@
+# A CI configuration to auto-publish pub packages.
+
+name: Publish
+
+on:
+  pull_request:
+    branches: [ master ]
+  push:
+    tags: [ 'v[0-9]+.[0-9]+.[0-9]+' ]
+
+jobs:
+  publish:
+    if: ${{ github.repository_owner == 'dart-lang' }}
+    uses: dart-lang/ecosystem/.github/workflows/publish.yaml@main
diff --git a/CHANGELOG.md b/CHANGELOG.md
index fa1735a..f69f0b8 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,40 +1,40 @@
-# 1.9.2-dev
+## 1.9.2-dev
 
 * Require Dart 2.18
 * Add an API usage example in `example/`.
 
-# 1.9.1
+## 1.9.1
 
 * Properly handle multi-line labels for multi-span highlights.
 
 * Populate the pubspec `repository` field.
 
-# 1.9.0
+## 1.9.0
 
 * Add `SourceSpanWithContextExtension.subspan` that returns a
   `SourceSpanWithContext` rather than a plain `SourceSpan`.
 
-# 1.8.2
+## 1.8.2
 
 * Fix a bug where highlighting multiple spans with `null` URLs could cause an
   assertion error. Now when multiple spans are passed with `null` URLs, they're
   highlighted as though they all come from different source files.
 
-# 1.8.1
+## 1.8.1
 
 * Fix a bug where the URL header for the highlights with multiple files would
   get omitted only one span has a non-null URI.
 
-# 1.8.0
+## 1.8.0
 
 * Stable release for null safety.
 
-# 1.7.0
+## 1.7.0
 
 * Add a `SourceSpan.subspan()` extension method which returns a slice of an
   existing source span.
 
-# 1.6.0
+## 1.6.0
 
 * Add support for highlighting multiple source spans at once, providing more
   context for span-based messages. This is exposed through the new APIs
@@ -42,28 +42,28 @@
   extension methods), `MultiSourceSpanException`, and
   `MultiSourceSpanFormatException`.
 
-# 1.5.6
+## 1.5.6
 
 * Fix padding around line numbers that are powers of 10 in
   `FileSpan.highlight()`.
 
-# 1.5.5
+## 1.5.5
 
 * Fix a bug where `FileSpan.highlight()` would crash for spans that covered a
   trailing newline and a single additional empty line.
 
-# 1.5.4
+## 1.5.4
 
 * `FileSpan.highlight()` now properly highlights point spans at the beginning of
   lines.
 
-# 1.5.3
+## 1.5.3
 
 * Fix an edge case where `FileSpan.highlight()` would put the highlight
   indicator in the wrong position when highlighting a point span after the end
   of a file.
 
-# 1.5.2
+## 1.5.2
 
 * `SourceFile.span()` now goes to the end of the file by default, rather than
   ending one character before the end of the file. This matches the documented
@@ -75,7 +75,7 @@
 * Fix an edge case where `FileSpan.highlight()` could crash when highlighting a
   span that ended with an empty line.
 
-# 1.5.1
+## 1.5.1
 
 * Produce better source span highlights for multi-line spans that cover the
   entire last line of the span, including the newline.
@@ -83,7 +83,7 @@
 * Produce better source span highlights for spans that contain Windows-style
   newlines.
 
-# 1.5.0
+## 1.5.0
 
 * Improve the output of `SourceSpan.highlight()` and `SourceSpan.message()`:
 
@@ -94,11 +94,11 @@
 
 [`term_glyph.ascii`]: https://pub.dartlang.org/documentation/term_glyph/latest/term_glyph/ascii.html
 
-# 1.4.1
+## 1.4.1
 
 * Set max SDK version to `<3.0.0`, and adjust other dependencies.
 
-# 1.4.0
+## 1.4.0
 
 * The `new SourceFile()` constructor is deprecated. This constructed a source
   file from a string's runes, rather than its code units, which runs counter to
@@ -111,36 +111,36 @@
 * The current behavior when characters larger than `0xFFFF` are passed to `new
   SourceFile.decoded()` is now considered deprecated.
 
-# 1.3.1
+## 1.3.1
 
 * Properly highlight spans for lines that include tabs with
   `SourceSpan.highlight()` and `SourceSpan.message()`.
 
-# 1.3.0
+## 1.3.0
 
 * Add `SourceSpan.highlight()`, which returns just the highlighted text that
   would be included in `SourceSpan.message()`.
 
-# 1.2.4
+## 1.2.4
 
 * Fix a new strong mode error.
 
-# 1.2.3
+## 1.2.3
 
 * Fix a bug where a point span at the end of a file without a trailing newline
   would be printed incorrectly.
 
-# 1.2.2
+## 1.2.2
 
 * Allow `SourceSpanException.message`, `SourceSpanFormatException.source`, and
   `SourceSpanWithContext.context` to be overridden in strong mode.
 
-# 1.2.1
+## 1.2.1
 
 * Fix the declared type of `FileSpan.start` and `FileSpan.end`. In 1.2.0 these
   were mistakenly changed from `FileLocation` to `SourceLocation`.
 
-# 1.2.0
+## 1.2.0
 
 * **Deprecated:** Extending `SourceLocation` directly is deprecated. Instead,
   extend the new `SourceLocationBase` class or mix in the new
@@ -148,58 +148,58 @@
 
 * Dramatically improve the performance of `FileLocation`.
 
-# 1.1.6
+## 1.1.6
 
 * Optimize `getLine()` in `SourceFile` when repeatedly called.
 
-# 1.1.5
+## 1.1.5
 
 * Fixed another case in which `FileSpan.union` could throw an exception for
   external implementations of `FileSpan`.
 
-# 1.1.4
+## 1.1.4
 
 * Eliminated dart2js warning about overriding `==`, but not `hashCode`.
 
-# 1.1.3
+## 1.1.3
 
 * `FileSpan.compareTo`, `FileSpan.==`, `FileSpan.union`, and `FileSpan.expand`
   no longer throw exceptions for external implementations of `FileSpan`.
 
 * `FileSpan.hashCode` now fully agrees with `FileSpan.==`.
 
-# 1.1.2
+## 1.1.2
 
 * Fixed validation in `SourceSpanWithContext` to allow multiple occurrences of
   `text` within `context`.
 
-# 1.1.1
+## 1.1.1
 
 * Fixed `FileSpan`'s context to include the full span text, not just the first
   line of it.
 
-# 1.1.0
+## 1.1.0
 
 * Added `SourceSpanWithContext`: a span that also includes the full line of text
   that contains the span.
 
-# 1.0.3
+## 1.0.3
 
 * Cleanup equality operator to accept any Object rather than just a
   `SourceLocation`.
 
-# 1.0.2
+## 1.0.2
 
 * Avoid unintentionally allocating extra objects for internal `FileSpan`
   operations.
 
 * Ensure that `SourceSpan.operator==` works on arbitrary `Object`s.
 
-# 1.0.1
+## 1.0.1
 
 * Use a more compact internal representation for `FileSpan`.
 
-# 1.0.0
+## 1.0.0
 
 This package was extracted from the
 [`source_maps`](https://pub.dev/packages/source_maps) package, but the