diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index c57edaf..2637c50 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -24,19 +24,20 @@
       - run: dart pub get
         id: install
       - run: dart format --output=none --set-exit-if-changed .
-        if: always() && steps.install.outcome == 'success'
+        if: matrix.sdk == 'dev' && steps.install.outcome == 'success'
       - run: dart analyze --fatal-infos
-        if: always() && steps.install.outcome == 'success'
+        if: matrix.sdk == 'dev' && steps.install.outcome == 'success'
+
       - run: dart test
         if: matrix.sdk != 'dev' && steps.install.outcome == 'success'
 
-      - run: dart test --coverage coverage
+      - run: dart pub global activate coverage
         if: matrix.sdk == 'dev' && steps.install.outcome == 'success'
-      - run: pub global activate coverage
-        if: matrix.sdk == 'dev'
-      - run: pub global run coverage:format_coverage --packages=.packages -i coverage --report-on=lib --lcov > coverage/lcov.info
-        if: matrix.sdk == 'dev'
+        id: install_pkg_coverage
+      - run: dart pub global run coverage:test_with_coverage
+        if: matrix.sdk == 'dev' && steps.install_pkg_coverage.outcome == 'success'
+        id: test_with_coverage
       - uses: coverallsapp/github-action@master
+        if: matrix.sdk == 'dev' && steps.test_with_coverage.outcome == 'success'
         with:
           github-token: ${{ secrets.GITHUB_TOKEN }}
-        if: matrix.sdk == 'dev'
diff --git a/CHANGELOG.md b/CHANGELOG.md
index f315939..67b4d95 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 2.1.2
+
+- Fix to `Quad.copy` ([#221](https://github.com/google/vector_math.dart/issues/221))
+
 ## 2.1.1
 
 - Deprecate `hash.dart`.
diff --git a/analysis_options.yaml b/analysis_options.yaml
index 2afee87..18b6849 100644
--- a/analysis_options.yaml
+++ b/analysis_options.yaml
@@ -1,64 +1,51 @@
-include: package:pedantic/analysis_options.yaml
+include: package:lints/recommended.yaml
+
+analyzer:
+  errors:
+    non_constant_identifier_names: ignore
+
+  language:
+    strict-casts: true
+    strict-inference: true
 
 linter:
   rules:
+  - always_declare_return_types
   - avoid_bool_literals_in_conditional_expressions
   - avoid_catching_errors
   - avoid_classes_with_only_static_members
-  - avoid_function_literals_in_foreach_calls
   - avoid_private_typedef_functions
   - avoid_redundant_argument_values
-  - avoid_renaming_method_parameters
   - avoid_returning_null_for_future
-  - avoid_returning_null_for_void
   - avoid_returning_this
   - avoid_unused_constructor_parameters
   - avoid_void_async
-  - camel_case_types
   - cancel_subscriptions
   - comment_references
-  - constant_identifier_names
-  - control_flow_in_finally
   - directives_ordering
-  - empty_statements
-  - file_names
-  - hash_and_equals
-  - implementation_imports
   - invariant_booleans
-  - iterable_contains_unrelated_type
   - join_return_with_assignment
-  - list_remove_unrelated_type
   - literal_only_boolean_expressions
   - missing_whitespace_between_adjacent_strings
   - no_adjacent_strings_in_list
   - no_runtimeType_toString
+  - omit_local_variable_types
   - only_throw_errors
-  - overridden_fields
   - package_api_docs
-  - package_names
-  - package_prefixed_library_names
   - prefer_asserts_in_initializer_lists
   - prefer_const_constructors
   - prefer_expression_function_bodies
   - prefer_final_locals
-  - prefer_function_declarations_over_variables
-  - prefer_initializing_formals
   - prefer_interpolation_to_compose_strings
-  - prefer_is_not_operator
-  - prefer_null_aware_operators
   - prefer_relative_imports
-  - prefer_typing_uninitialized_variables
-  - prefer_void_to_null
-  - provide_deprecation_message
+  - prefer_single_quotes
   - sort_pub_dependencies
   - test_types_in_equals
   - throw_in_finally
+  - unawaited_futures
   - unnecessary_await_in_return
   - unnecessary_lambdas
   - unnecessary_null_aware_assignments
-  - unnecessary_overrides
   - unnecessary_parenthesis
   - unnecessary_statements
-  - unnecessary_string_interpolations
   - use_string_buffers
-  - void_checks
diff --git a/pubspec.yaml b/pubspec.yaml
index da31486..3654ac2 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
 name: vector_math
-version: 2.1.1
+version: 2.1.2
 description: A Vector Math library for 2D and 3D applications.
 repository: https://github.com/google/vector_math.dart
 
@@ -11,6 +11,6 @@
   build_runner: ^2.0.0
   build_test: ^2.0.0
   build_web_compilers: ^3.0.0
+  lints: ^1.0.0
   path: ^1.8.0
-  pedantic: ^1.10.0
   test: ^1.16.0