Migrate away from elementAt (#230)

diff --git a/.github/workflows/test-package.yml b/.github/workflows/test-package.yml
index 5d78b68..9020f59 100644
--- a/.github/workflows/test-package.yml
+++ b/.github/workflows/test-package.yml
@@ -47,7 +47,7 @@
       matrix:
         # Add macos-latest and/or windows-latest if relevant for this package.
         os: [ubuntu-latest]
-        sdk: [3.0.0, dev]
+        sdk: [beta, dev]
     steps:
       - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
       - uses: dart-lang/setup-dart@b64355ae6ca0b5d484f0106a033dd1388965d06d
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1632b9a..02410cc 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,8 @@
+## 2.1.1
+
+- Require Dart 3.3.0 or greater.
+- Migrate `elementAt` use to `operator +`.
+
 ## 2.1.0
 
 - Require Dart 3.0.0 or greater.
diff --git a/lib/src/utf16.dart b/lib/src/utf16.dart
index e5b3309..73450ad 100644
--- a/lib/src/utf16.dart
+++ b/lib/src/utf16.dart
@@ -56,7 +56,7 @@
     final buffer = StringBuffer();
     var i = 0;
     while (true) {
-      final char = codeUnits.elementAt(i).value;
+      final char = (codeUnits + i).value;
       if (char == 0) {
         return buffer.toString();
       }
diff --git a/pubspec.yaml b/pubspec.yaml
index 956620e..dde8122 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,15 +1,15 @@
 name: ffi
-version: 2.1.0
+version: 2.1.1
 description: Utilities for working with Foreign Function Interface (FFI) code.
 repository: https://github.com/dart-lang/ffi
 
 topics:
- - interop
- - ffi
- - codegen
+  - interop
+  - ffi
+  - codegen
 
 environment:
-  sdk: '>=3.0.0 <4.0.0'
+  sdk: '>=3.3.0-279.1.beta <4.0.0'
 
 dev_dependencies:
   test: ^1.21.2