tree 0ce7df87b1aafa93e147bdff4478123f0115bdad
parent 7d2151d7be4c1094a81849842c5173ada41b0e6c
author Elias Yishak <42216813+eliasyishak@users.noreply.github.com> 1713489201 -0700
committer GitHub <noreply@github.com> 1713489201 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJmIcUxCRC1aQ7uu5UhlAAAGboQAAIQ9vMbgrUkmu/Zuir8MbGo
 KA7iHVgra60ZXa6cKTQMofEr5IjHxNeQlO6v4+eENCzvnjMJPGBMm2U+V/IOkrJb
 /UwTyi13qlYEcErLBPR9cpHr3SzFflNDRyPlMcd2cq6Of3bLEHyNknuCogdLykY1
 SX229C1HxErAYyQolATLynmGcpdt5igQSMV8hHY0LtfG7+ibNwa8ZZSjHmALOsvG
 5CJdJDioPwF8gqV0ey9gPj6z/vewK6Wy4/ejBm6BYZyrrzlms9tBI22JZ0upNkHk
 dezr3QryWLnmPgusLlbTh4V/ovA86ZADQzXqKw4MtLyXmyGKhoeQ4lPTfsM7gsxg
 JxEyWQFyTe/RW0BickjQzeYXYcHlKI/BJeTx+zlucMtNF9bJd5T78KNTUL4DrjBM
 pQVaAKVhM77J2Cx/JD0FPihnIx3osRYcGJn12ujqpAAzL4mP2YB4LDtLzBuxSK24
 V4q0gGVNMfd6CCmkfwrI2b6k63p7ljlDK69ckrg/9sFMd3NWL8shYSsxj2tSPAdA
 6NL6kHBx8sCAHho9Y50+PqsZePDX9O5AcI1itqf+BnNj8uEInne+Wq2uBokxgsXJ
 DrMG2EsbFsTdIZaPHtWowFz8KQ2X5oW0WXcwXTzExGaKhm9B5GYuWFzeUqXVJT/P
 upNKltfAiTya53kt0qP2
 =0PUs
 -----END PGP SIGNATURE-----
 

[CP-beta] Bump `package:unified_analytics` to `5.8.8+1` (#146948)

This pull request is created by [automatic cherry pick workflow](https://github.com/flutter/flutter/wiki/Flutter-Cherrypick-Process#automatically-creates-a-cherry-pick-request)
Please fill in the form below, and a flutter domain expert will evaluate this cherry pick request.

### Issue Link:
What is the link to the issue this cherry-pick is addressing?

Proactive fix for issue:
- https://github.com/flutter/flutter/issues/146153

More information can be found for the changes in this hotfix in the following [diff](https://github.com/dart-lang/tools/compare/unified_analytics-v5.8.8...unified_analytics-v5.8.8+1?expand=1)

### Changelog Description:
Explain this cherry pick in one line that is accessible to most Flutter developers. See [best practices](https://github.com/flutter/flutter/wiki/Hotfix-Documentation-Best-Practices) for examples

Bump the version for `package:unified_analytics` to 5.8.8+1 to better handle errors internal to the package that can crash the tool

### Impact Description:
What is the impact (ex. visual jank on Samsung phones, app crash, cannot ship an iOS app)? Does it impact development (ex. flutter doctor crashes when Android Studio is installed), or the shipping production app (the app crashes on launch)

This could potentially impact flutter developers as they are using the flutter tool

### Workaround:
Is there a workaround for this issue?

No workaround, they would need to run the flutter tool again.

### Risk:
What is the risk level of this cherry-pick?

### Test Coverage:
Are you confident that your fix is well-tested by automated tests?

### Validation Steps:
What are the steps to validate that this fix works?

If this works correctly, there would be no errors from `package:unified_analytics` causing errors