Skip to content

Tags: flutter/packages

Tags

google_fonts-v8.0.0

Toggle google_fonts-v8.0.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Update Google Fonts to v8.0.0 with new and removed fonts (#10785)

`dart generator/generator.dart` adds support for numerous new fonts and
removed several deprecated or replaced fonts. This corresponds to
directory 12, generated in January 2026 (generated quarterly from now
on).

Updated the diff generator to match the current `CHANGELOG.md` format.

More duplicates were identified when initially generating. After
investigation, I found that 2 fonts were producing combinations with
multiple widths. This PR modifies `_deduplicateFonts` to remove these
non-standard width (100) variants.

Fixes flutter/flutter#180333

pigeon-v26.1.7

Toggle pigeon-v26.1.7's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
[pigeon] Modernize Obj-C generation headers (#10857)

Replaces the older style of framework imports (`#import <Foo/Foo.h>`) with the newer module style (`@import Foo;`).

Also opportunistically removes the ARC check; it's wildly unlikely that anyone writing a new plugin would disable ARC.

## Pre-Review Checklist

[^1]: Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling.

camera_avfoundation-v0.9.22+9

Toggle camera_avfoundation-v0.9.22+9's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
[camera_avfoundation] Wrappers swift migration - part 6 (#10752)

Migrates camera wrappers as part of flutter/flutter#119109

This (last wrappers related 🎉)  PR migrates wrappers to Swift:
* `FLTSavePhotoDelegate`
* `FLTWritableData`
* `FLTImageStreamHandler`
* `CameraProperties`
* `QueueUtils`

In line with Swift conventions, the `FLT` prefixes are removed.

## Pre-Review Checklist

**Note**: The Flutter team is currently trialing the use of [Gemini Code Assist for GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code). Comments from the `gemini-code-assist` bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed.

[^1]: Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling.

video_player_avfoundation-v2.9.0

Toggle video_player_avfoundation-v2.9.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
feat(ios): add audio track selection support for AVFoundation (#10313)

- Implemented getAudioTracks() method to retrieve available audio tracks from both HLS streams and regular video files

AVFoundation Platform PR for : #9925 

## Pre-Review Checklist

vector_graphics_compiler-v1.1.20

Toggle vector_graphics_compiler-v1.1.20's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
[vector_graphics_compiler] Fix rgb/rgba color parsing to support mode…

…rn CSS syntax (#10538)

- Consolidate rgb() and rgba() parsing into single implementation
- Add support for space-separated color values
- Add support for percentage-based RGB values
- Add support for slash (/) separator before alpha channel
- Handle both comma and space delimiters
- Add comprehensive test coverage for various color formats

This PR solves flutter/flutter#179261

## Pre-Review Checklist

**Note**: The Flutter team is currently trialing the use of [Gemini Code Assist for GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code). Comments from the `gemini-code-assist` bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed.

[^1]: Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling.

two_dimensional_scrollables-v0.3.8

Toggle two_dimensional_scrollables-v0.3.8's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
[two_dimensional_scrollables] optimizes tableview janks with >250k ro…

…ws (#10738)

### Description:
This PR optimizes the scrolling jank issue of the TableView component when the number of rows exceeds 250,000.

### Root Cause:
The _updateFirstAndLastVisibleCell method in RenderTableViewport uses linear for-loop traversal on _columnMetrics and _rowMetrics to locate the visible boundary cells: _firstNonPinnedRow, _lastNonPinnedRow, _firstNonPinnedColumn, and _lastNonPinnedColumn. When the number of rows/columns is extremely large (e.g., >250k rows), this linear traversal causes significant main-thread blocking and scrolling jank.

### Solution:
Replace the linear for-loop with binary search algorithm to find the visible boundary cells (_firstNonPinnedRow, _lastNonPinnedRow, _firstNonPinnedColumn, _lastNonPinnedColumn). Binary search reduces the time complexity from O(n) to O(log n), effectively optimizing the scrolling jank issue under large data volumes.

### Fixes: [#138271](flutter/flutter#138271)

### Video performance comparison
before:
https://github.com/user-attachments/assets/ca5b8821-4bdb-411f-bb2c-63998ac7c0d9

after:
https://github.com/user-attachments/assets/ebbf96d9-9e04-4ede-ae79-cd433885d3ab

## Pre-Review Checklist

image_picker_android-v0.8.13+12

Toggle image_picker_android-v0.8.13+12's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
[dependabot]: Bump androidx.core:core from 1.13.1 to 1.17.0 in /packa…

…ges/image_picker/image_picker_android/android (#10504)

Bumps androidx.core:core from 1.13.1 to 1.17.0.

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=androidx.core:core&package-manager=gradle&previous-version=1.13.1&new-version=1.17.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting `@dependabot rebase`.

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>

> **Note**
> Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

google_maps_flutter_ios-v2.17.0

Toggle google_maps_flutter_ios-v2.17.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
[google_maps_flutter] Restructure iOS to prep for SwiftPM (#10839)

This is the first step of implementing solution E.1b from https://flutter.dev/go/google-maps-spm-versioning. It does not yet introduce any of the package copies or code sharing, it just makes some structural changes to the current package to prepare for copying and sharing:
- I reorganized all of the code to follow the SwiftPM layout. Even though this copy will never support SwiftPM, having the layout match will make code sharing much easier.
- I eliminated the multi-example structure. The goal of the multiple examples was so that we could test the wrapper with each major version of the SDK it supports. However, we have never actually ended up needing SDK-specific tests, and since this variant of the package will never get a new version of the SDK (since it doesn't support SwiftPM) we don't need to test any new compatibility in the future. Given that, and the fact that we will be testing all of the shared code (which will be almost all of it) against the newer SDKs in the new packages that will follow shortly, the multiple examples in this package are no longer worth the complexity or the CI cost.
  - `ios14/` is the example that was kept (via moving it up a level to just be `example/`, so that we continue to have a test of SDK 8.4.
  - The example code that had been extracted to a shared local package has been inlined back into the example package.
- I eliminated the modulemap. In theory we can keep it for CocoaPods only, but that makes things more complex. In practice, since we don't expect native imports of this plugin anyway, the test module division wasn't really doing anything important.
- I changed the output filename for the Pigeon generation, so that we don't have to use full package-relative `#import`s to avoid build-time confusion with other `messages` files when building all of our plugins together.

I also did a little bit of opportunistic cleanup in advance of copying, so that these changes won't need to be made N times later:
- I converted the example app's native code from Obj-C to Swift. It now matches the example app code from the app-facing `google_maps_flutter`, which had been converted [a while ago](#9347). (I didn't fully re-create the example app with `flutter create` as in that other PR, I just replaced the code file and let Xcode create the bridging header).
- I removed some deprecated code in a test file that we haven't needed since we started requiring 8.4 as a minimum SDK.
- I changed a bunch of older style framework imports to use `@import` instead.

Part of flutter/flutter#146920

## Pre-Review Checklist

[^1]: Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling.

image_picker_android-v0.8.13+11

Toggle image_picker_android-v0.8.13+11's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
[dependabot]: Bump androidx.exifinterface:exifinterface from 1.4.1 to…

… 1.4.2 in /packages/image_picker/image_picker_android/android (#10584)

Bumps androidx.exifinterface:exifinterface from 1.4.1 to 1.4.2.

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=androidx.exifinterface:exifinterface&package-manager=gradle&previous-version=1.4.1&new-version=1.4.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting `@dependabot rebase`.

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>

> **Note**
> Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

google_fonts-v7.1.0

Toggle google_fonts-v7.1.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
[google_fonts] Add WOFF and WOFF2 font format support for web (#10703)

# Description

Web applications benefit significantly from using WOFF2 font files instead of TTF/OTF. WOFF2 is a compressed format
   specifically designed for web delivery, resulting in smaller file sizes and faster load times. This is especially
   important for Flutter web apps where every byte counts for initial page load performance.

   **Size comparison (Roboto Regular):**
   - TTF: 146,004 bytes
   - WOFF2: 63,424 bytes (~56% smaller)

   Currently, `google_fonts` only supports TTF and OTF formats, even on web platforms where WOFF2 would be more efficient.
   This PR adds support for WOFF2 and WOFF formats on web, allowing developers to bundle more efficient font files for their
   web applications.

   ## What

   This PR adds support for `.woff2` and `.woff` font file extensions when running on web platforms, while maintaining
   backward compatibility with `.ttf` and `.otf` files.

   **Changes:**
   - Add `kIsWeb` check to support web-optimized font formats (`.woff2`, `.woff`) in addition to `.ttf` and `.otf`
   - Make `findFamilyWithVariantAssetPath` testable by adding an optional `isWeb` parameter (defaults to `kIsWeb`)
   - Add `@visibleForTesting` annotation to enable comprehensive testing without exposing internal API
   - Add 20 tests covering web-specific, non-web-specific, and common behavior

   **Platform behavior:**
   - **Web:** Supports `.woff2`, `.woff`, `.ttf`, `.otf`
   - **Non-web:** Supports `.ttf`, `.otf` (unchanged)

   ## Implementation Notes

   The implementation maintains the existing behavior where **the order of assets in the manifest determines which file type
   is chosen** when multiple formats are available for the same font. While this feels a bit odd (ideally, there would be a
   preference order), this is how the function already works for TTF/OTF. In practice, this is not an issue when only one
   file type per font is bundled, which is the common case.

   ## Getting WOFF2 Files

   Developers can convert TTF/OTF fonts to WOFF2 using Google's `woff2_compress` tool:
   https://github.com/google/woff2

   Example:
   ```bash
   woff2_compress Roboto-Regular.ttf
   ```

   ## Testing

   All existing tests pass, plus 20 new tests that verify:
   - ✅ WOFF2 and WOFF formats work on web
   - ✅ WOFF2 and WOFF formats are ignored on non-web platforms
   - ✅ TTF and OTF continue to work on all platforms
   - ✅ Common behavior (null handling, family/variant matching) works consistently

   ## Breaking Changes

   None. This is a backward-compatible addition that only expands the supported file formats on web platforms.
   EOF

## Pre-Review Checklist

**Note**: The Flutter team is currently trialing the use of [Gemini Code Assist for GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code). Comments from the `gemini-code-assist` bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed.

[^1]: Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling.