Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: flutter/packages
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 8a35b1611d67
Choose a base ref
...
head repository: flutter/packages
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 9caa77c796c2
Choose a head ref
  • 8 commits
  • 243 files changed
  • 6 contributors

Commits on Sep 10, 2026

  1. Configuration menu
    Copy the full SHA
    2fa9692 View commit details
    Browse the repository at this point in the history
  2. [pigeon] Add FFI and JNI support to Swift and Kotlin (#11352)

    This PR introduces optional Native Interop to Pigeon, enabling direct communication between Dart and native code without the overhead of traditional MethodChannel serialization. It leverages FFI (Foreign Function Interface) for Swift (iOS/macOS) and JNI (Java Native Interface) for Kotlin (Android).
    
    This represents a significant architectural shift, moving from message-based passing to direct memory sharing and function calls. It also updates the concurrency model for asynchronous methods, moving from completion handlers/callbacks to modern language features: async/await in Swift and Coroutines in Kotlin.
    
    Generators Covered
    
    Swift Generator: Updated to support FFI bindings and async/await for asynchronous methods.
    Kotlin Generator: Updated to support JNI bindings and Kotlin Coroutines for asynchronous methods.
    Dart Generator: Updated to handle the generated interop bindings on the Dart side.
    
    What's In Scope
    
    1. Infrastructure: Added core support for useFfi and useJni options.
    2. Automation: Implemented multi-step generation flows that automatically invoke jnigen and ffigen to produce final bindings.
    3. Config Generation: Added jnigen_config_generator.dart and ffigen_config_generator.dart to generate the necessary configuration files for the external tools.
    4. Documentation: Added a detailed native_interop_guide.md explaining prerequisites, setup, and usage.
    Tests: Added ni_tests.dart and associated generated files and integration tests to verify the feature.
    
    What's Out of Scope
    
    1. Other Languages: This PR specifically targets Swift and Kotlin for the Native Interop feature. Support for Objective-C, C++, and GObject is not included in this interop implementation, and may not be in the future.
    2. Performance Optimization for Complex Classes: As noted in the guide, there is a known performance regression when transferring complex classes with many fields compared to MethodChannel Pigeon. This PR delivers the functional infrastructure, but optimizing this specific case is left for follow-up work.
    3. Non-instant released data. Currently all data that is sent over host or flutter api surfaces is converted to the correct shape and type for the language it is moving toward and the data created in the other language is then discarded. This presents some inefficiencies and potential workflows that are not yet available.
    
    work toward flutter/flutter#182230
    design doc flutter/flutter#181430
    tarrinneal authored Sep 10, 2026
    Configuration menu
    Copy the full SHA
    cda604a View commit details
    Browse the repository at this point in the history
  3. [file_selector_android] Handle a null stream from openInputStream (#1…

    …2716)
    
    Null safety when ContentResolver cannot open a stream. 
    
    Copied from closed: #12683
    
    Fixes: #191989
    
    ## Pre-Review Checklist
    mboetger authored Sep 10, 2026
    Configuration menu
    Copy the full SHA
    a896155 View commit details
    Browse the repository at this point in the history
  4. [in_app_purchase_storekit] Expose expiration date directly for subscr…

    …iptions (#11551)
    
    Fixes a potential cause of  flutter/flutter#181530
    
    Quite a few IAP bugs seem to be surrounding stale data, so expose the expiration date directly to have to avoid doing local receipt shenanigans. 
    
    ## Pre-Review Checklist
    LouiseHsu authored Sep 10, 2026
    Configuration menu
    Copy the full SHA
    b8e9cf2 View commit details
    Browse the repository at this point in the history
  5. [material_ui] Support custom date input formatters via CalendarDelega…

    …te (#12608)
    
    This PR adds the `keyboardInputFormatters` method to `CalendarDelegate`.
    
    Previously, date input was strictly coupled to `MaterialLocalizations`. This change allows developers to provide a list of `TextInputFormatter`s via a custom `CalendarDelegate` to enforce specific input masks (e.g., dd/MM/yyyy) or restrict character entry in date pickers (`showDatePicker`, `showDateRangePicker`, and `InputDatePickerFormField`).
    
    Fixes flutter/flutter#83302
    Fixes flutter/flutter#97134 
    Fixes flutter/flutter#62401
    Fixes flutter/flutter#181043
    Fixes flutter/flutter#115151
    Fixes flutter/flutter#191639
    Fixes partially flutter/flutter#150611
    
    Port of flutter/flutter#181105
    
    ## 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.
    Mairramer authored Sep 10, 2026
    Configuration menu
    Copy the full SHA
    c437326 View commit details
    Browse the repository at this point in the history
  6. [material_ui] 1.2.0 sync back clean up (#12829)

    The previous sync back for 1.1.1 is landed after the 1.2.0 batch release is triggered. so 1.2.0 went out as if 1.1.1 is not there, you can see the changelog of 1.2.0 swallow the change log item from 1.1.1, while the 1.1.1's section is completely missing
    <img width="1371" height="728" alt="image" src="https://github.com/user-attachments/assets/0278041c-1fa2-49aa-8cba-9bedd9db9c00" />
    
    This pr cleans it up and restore the correct change log order 
    
    ## 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.
    chunhtai authored Sep 10, 2026
    Configuration menu
    Copy the full SHA
    3f30a3e View commit details
    Browse the repository at this point in the history
  7. [image_picker] Handle a null stream from openInputStream (#12718)

    Null safety when ContentResolver cannot open a stream.
    
    Copied from closed: #12682
    
    Fixes: flutter/flutter#191988
    
    ## Pre-Review Checklist
    mboetger authored Sep 10, 2026
    Configuration menu
    Copy the full SHA
    c177dfc View commit details
    Browse the repository at this point in the history

Commits on Sep 11, 2026

  1. [pigeon] main actor async flutter api (#12729)

    adds main actor annotation to async flutter api methods in swift.
    
    fixes flutter/flutter#192199
    tarrinneal authored Sep 11, 2026
    Configuration menu
    Copy the full SHA
    9caa77c View commit details
    Browse the repository at this point in the history
Loading