diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml
new file mode 100644
index 0000000..fcb7ccb
--- /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/.github/workflows/test-package.yml b/.github/workflows/test-package.yml
index 559b14f..26fffe2 100644
--- a/.github/workflows/test-package.yml
+++ b/.github/workflows/test-package.yml
@@ -20,7 +20,7 @@
     strategy:
       fail-fast: false
       matrix:
-        sdk: [dev, beta]
+        sdk: [2.19.0, dev]
     steps:
       - uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b
       - uses: dart-lang/setup-dart@6a218f2413a3e78e9087f638a238f6b40893203d
@@ -47,8 +47,7 @@
       matrix:
         # Add macos-latest and/or windows-latest if relevant for this package.
         os: [ubuntu-latest]
-        # TODO(devoncarew): Add `2.19.0` to this once that release is stable
-        sdk: [dev, beta]
+        sdk: [2.19.0, dev]
     steps:
       - uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b
       - uses: dart-lang/setup-dart@6a218f2413a3e78e9087f638a238f6b40893203d
diff --git a/CHANGELOG.md b/CHANGELOG.md
index a7fcd12..f731296 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,4 @@
-## 1.1.0-dev
+## 1.1.0
 
 * Add `tryParseRadix`, `tryParseInt` and `tryParseHex` static methods
   to both `Int32` and `Int64`.
@@ -7,6 +7,7 @@
 * Make `Int32` parse functions consistent with documentation (accept
   leading minus sign, do not accept empty inputs).
 * Update the minimum SDK constraint to 2.19.
+* Update to package:lints 2.0.0.
 
 ## 1.0.1
 
diff --git a/README.md b/README.md
index 33bdcc0..332d900 100644
--- a/README.md
+++ b/README.md
@@ -7,3 +7,8 @@
 Provides data types for signed 32- and 64-bit integers.
 The integer implementations in this library are designed to work identically
 whether executed on the Dart VM or compiled to JavaScript.
+
+## Publishing automation
+
+For information about our publishing automation and release process, see
+https://github.com/dart-lang/ecosystem/wiki/Publishing-automation.
diff --git a/lib/src/utilities.dart b/lib/src/utilities.dart
index 45207d7..d603b57 100644
--- a/lib/src/utilities.dart
+++ b/lib/src/utilities.dart
@@ -16,12 +16,12 @@
 /// not a valid digit in any radix in the range 2 through 36.
 int decodeDigit(int c) {
   // Hex digit char codes
-  const int _c0 = 48; // '0'.codeUnitAt(0)
-  const int _ca = 97; // 'a'.codeUnitAt(0)
+  const int c0 = 48; // '0'.codeUnitAt(0)
+  const int ca = 97; // 'a'.codeUnitAt(0)
 
-  int digit = c ^ _c0;
+  int digit = c ^ c0;
   if (digit < 10) return digit;
-  int letter = (c | 0x20) - _ca;
+  int letter = (c | 0x20) - ca;
   if (letter >= 0) {
     // Returns values above 36 for invalid digits.
     // The value is checked against the actual radix where the return
diff --git a/pubspec.yaml b/pubspec.yaml
index a380bb4..3180c25 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,13 +1,13 @@
 name: fixnum
-version: 1.1.0-dev
+version: 1.1.0
 description: >-
   Library for 32- and 64-bit signed fixed-width integers with consistent
   behavior between native and JS runtimes.
 repository: https://github.com/dart-lang/fixnum
 
 environment:
-  sdk: '>=2.19.0-0 <3.0.0'
+  sdk: '>=2.19.0 <3.0.0'
 
 dev_dependencies:
-  lints: ^1.0.0
+  lints: ^2.0.0
   test: ^1.16.0
diff --git a/test/int64_test.dart b/test/int64_test.dart
index 61fb6cf..bb5ac7a 100644
--- a/test/int64_test.dart
+++ b/test/int64_test.dart
@@ -714,16 +714,16 @@
   });
 
   test('JavaScript 53-bit integer boundary', () {
-    Int64 _factorial(Int64 n) {
+    Int64 factorial(Int64 n) {
       if (n.isZero) {
         return Int64(1);
       } else {
-        return n * _factorial(n - Int64(1));
+        return n * factorial(n - Int64(1));
       }
     }
 
-    Int64 fact18 = _factorial(Int64(18));
-    Int64 fact17 = _factorial(Int64(17));
+    Int64 fact18 = factorial(Int64(18));
+    Int64 fact17 = factorial(Int64(17));
     expect(fact18 ~/ fact17, Int64(18));
   });
 
