flutter-ml/google_ml_kit_flutter
56.4
Weak · 19 September 2026
14.1k
lines of production code
Dart
with Kotlin, Swift
1
measurement over time
What this system is
This system is a comprehensive Flutter SDK wrapper for Google ML Kit, providing a modular suite of plugins for computer vision, natural language processing, and generative AI tasks. It enables developers to integrate capabilities such as barcode scanning, object detection, face mesh analysis, text recognition, and on-device translation directly into mobile applications. The codebase has been restructured from a monolithic package into standalone plugins with modernized native implementations in Kotlin and Swift, alongside new support for GenAI features like image description and text rewriting.
How it got here
2020–2022 — Monolithic package split and language migration
30 changes.
The project decomposed the monolithic google\_ml\_kit umbrella package into standalone plugins for features like barcode scanning, image labeling, and object detection, while deprecating the legacy bundled APIs. Concurrently, the native Android and iOS implementations across the repository were migrated from Java/Objective-C to Kotlin and Swift, respectively, to modernize the codebase and support newer SDK constraints.
2023 — Example app modernization and new ML features
13 changes.
The example application was restructured and modernized to align with Flutter 3.29 standards, including migrating iOS to Swift and updating Android configurations. New capabilities were introduced, such as the Face Mesh Detection plugin and expanded NLP and vision demo screens, while GenAI placeholders were added to showcase upcoming features.
2024–2026 — GenAI plugin expansion and tooling
5 changes.
This period focused on expanding the library with new GenAI plugins for image description, prompts, and text rewriting, alongside implementing Android support for subject segmentation. The document scanner API was refactored to return structured, strongly-typed results, while new automation scripts and pre-commit hooks were introduced to streamline development workflows and enforce code quality.
Features
Add Subject Segmentation plugin and update umbrella package exports
The \google\_ml\_kit\ umbrella package now exports the new \google\_mlkit\_subject\_segmentation\ plugin, which provides multi-subject segmentation capabilities on Android (beta). This addition is reflected in the main \lib/google\_ml\_kit.dart\ file, which now re-exports the subject segmentation library alongside the existing vision and natural language plugins. The umbrella package's changelog and README have also been updated to document this new feature and its platform availability.
_packages/google\_ml\kit · high confidence
Added activity indicator example component
The example application now includes a new \activity\_indicator.dart\ file that demonstrates how to display a loading overlay and toast-style result messages. This component provides a reusable \Toast\ class to show a modal loading dialog with a spinner during asynchronous operations and subsequently display the result in a snackbar, along with a \LoadingIndicator\ widget for the visual feedback.
_packages/example/lib/activity\indicator · high confidence
Android implementation for Face Mesh Detection plugin
The Android side of the Face Mesh Detection plugin has been implemented in Kotlin, exposing a new MethodChannel that bridges to Google ML Kit's Face Mesh Detection API. Users can now detect face meshes on Android devices, receiving detailed output including bounding boxes, 3D point coordinates, triangle connectivity, and specific facial contours (such as eyes, lips, and nose bridge). The implementation supports both bounding-box-only and full mesh detection modes and manages detector lifecycle via start/close calls.
_packages/google\_mlkit\_face\_mesh\detection/android · high confidence
Android implementation for Google ML Kit Subject Segmentation
The Android module for the Google ML Kit Subject Segmentation plugin has been implemented in Kotlin, replacing previous platform code. This change introduces the native plugin entry point and a method channel handler that integrates with Google's ML Kit Subject Segmentation API. Users can now perform subject segmentation on Android, receiving results that include foreground confidence masks, foreground bitmaps, and individual subject data (bounding boxes, bitmaps, and confidence masks) based on the configured options.
_packages/google\_mlkit\_subject\segmentation/android · high confidence
Digital Ink Recognition plugin initialized with v0.16.1 release
The \google\_mlkit\_digital\_ink\_recognition\ package is introduced as a standalone plugin for recognizing handwritten text and classifying sketches using Google's ML Kit. This initial release (v0.16.1) provides the \DigitalInkRecognizer\ class for processing ink strokes, along with \DigitalInkRecognitionContext\ and \WritingArea\ to improve recognition accuracy by specifying pre-context and screen dimensions. It also includes a \DigitalInkRecognizerModelManager\ for managing remote language models. The plugin requires Flutter \>=3.44.0, Android compileSdk 35, and iOS 15.5+, and relies on the \google\_mlkit\_commons\ library for shared types.
_packages/google\_mlkit\_digital\_ink\recognition · high confidence
Example app vision detector views restructured with new demo screens
The example app's vision detector views have been reorganized into a modular structure. A new \DetectorView\ widget now acts as a shared container that switches between live camera feed (\CameraView\) and gallery/image selection (\GalleryView\) modes. New dedicated demo screens have been added for Barcode Scanning, Document Scanning (Android), Face Detection, Face Mesh Detection (Android), Digital Ink Recognition, Image Labeling, Object Detection (with custom model support), Pose Detection, Selfie Segmentation, Subject Segmentation, and Text Recognition. Additionally, a new \TextFromWidgetView\ demonstrates recognizing text from a UI widget using \RepaintBoundary\. The \CameraView\ now includes controls for zoom, exposure, and camera lens switching, while \GalleryView\ supports picking images from assets, gallery, or camera.
_packages/example/lib/vision\_detector\views · high confidence
Initial release of Google ML Kit Selfie Segmentation package
The \google\_mlkit\_selfie\_segmentation\ package is now available, providing a \SelfieSegmenter\ class for performing image segmentation on Flutter applications. Users can process static images or video streams using the \SegmenterMode\ (single or stream) and optionally retrieve raw-size masks via the \enableRawSizeMask\ flag. The API exposes a \processImage\ method that returns a \SegmentationMask\ containing width, height, and pixel confidence data, along with a \close\ method to release native resources.
_packages/google\_mlkit\_selfie\segmentation/lib · high confidence
Initial release of the Google ML Kit Object Detection plugin
This change introduces the \google\_mlkit\_object\_detection\ package, providing a Flutter API for detecting and tracking objects in images. The plugin exposes an \ObjectDetector\ class that supports three model types: the default Google base model, local custom models (via \LocalObjectDetectorOptions\), and remote Firebase models (via \FirebaseObjectDetectorOptions\). Users can configure detection modes (stream or single), enable object classification, and adjust confidence thresholds and label limits. The API communicates with the native platform via a MethodChannel to return \DetectedObject\ results containing bounding boxes, tracking IDs, and classification labels.
(repo-wide) · high confidence
Initial release of the Selfie Segmentation plugin
This change introduces the \google\_mlkit\_selfie\_segmentation\ package, providing a Flutter interface to Google's ML Kit Selfie Segmentation API. The plugin enables developers to separate the background from users within a scene on iOS and Android by bridging to native platform channels. The initial release (v0.0.1) includes the core plugin implementation, configuration files (pubspec, analysis options), and documentation (README, CHANGELOG, LICENSE).
_packages/google\_mlkit\_selfie\segmentation · high confidence
Initial release of the standalone Google ML Kit Smart Reply plugin
The \google\_mlkit\_smart\_reply\ package is introduced as a standalone Flutter plugin, splitting out from the monolithic \google\_ml\_kit\ package to provide dedicated access to Google's ML Kit Smart Reply API. This change allows developers to add smart reply suggestions to chat conversations without pulling in the entire ML Kit suite. The package exposes a \SmartReply\ class with methods to add local and remote messages to a conversation, generate reply suggestions, and manage resources, while also including updated native dependencies (Android \com.google.mlkit:smart-reply\ 17.0.4 and iOS \GoogleMLKit/SmartReply\ 9.0.0) and requiring Flutter 3.44.0+ and Dart 3.12+.
_packages/google\_mlkit\_pose\_detection, packages/google\_mlkit\_smart\reply · high confidence
Initial release of the standalone google\_mlkit\_barcode\_scanning plugin
The barcode scanning capability is now available as a separate, standalone plugin (\google\_mlkit\_barcode\_scanning\), allowing users to integrate Google's ML Kit barcode scanning without pulling in the entire \google\_ml\_kit\ suite. This new package includes the necessary Dart interface, platform channel implementations, and configuration files (such as \pubspec.yaml\, \analysis\_options.yaml\, and \CHANGELOG.md\) to support barcode detection on iOS and Android. Users can now depend on this specific package to read data encoded in standard barcode formats, with the underlying processing handled by Google's native ML Kit APIs via platform channels.
(repo-wide) · high confidence
Introduce Google ML Kit Face Mesh Detection plugin for Flutter
The \google\_mlkit\_face\_mesh\_detection\ package is now available, providing a Flutter wrapper for Google's native Face Mesh Detection API. This feature allows developers to generate a real-time, high-accuracy 3D face mesh consisting of 468 points for selfie-like images on Android. The plugin exposes a \FaceMeshDetector\ class that supports two modes: \boundingBoxOnly\ for faster detection and \faceMesh\ for detailed 3D point and triangle data. Users can access detected face contours (such as the face oval, eyes, and lips) and must manage detector resources by calling \close()\. Note that this feature is currently in Beta and supported only on Android.
_packages/google\_mlkit\_face\_mesh\_detection, packages/google\_mlkit\_genai\proofreading · high confidence
Introduce standalone Google ML Kit Image Labeling plugin
The \google\_mlkit\_image\_labeling\ package is now available as a separate plugin, exposing the \ImageLabeler\ class to process images and return detected labels with confidence scores. Users can configure the labeler using \ImageLabelerOptions\ for the default base model, \LocalLabelerOptions\ to specify a path for a custom local model, or \FirebaseLabelerOption\ to use a remote Firebase model, with controls for confidence thresholds and result counts. The public API also includes \FirebaseImageLabelerModelManager\ for managing Firebase models and the \ImageLabel\ data class for results.
_packages/google\_mlkit\_image\labeling/lib · high confidence
Language identification now returns confidence scores
The language identifier now provides a confidence score alongside the detected language tag. Users can set a confidence threshold to filter results, and the \identifyPossibleLanguages\ method returns a list of \IdentifiedLanguage\ objects that include both the BCP 47 language tag and the associated confidence value, allowing for more precise language detection decisions.
_packages/google\_mlkit\_language\id/lib/src · high confidence
New GenAI plugin packages for image description, prompts, and text rewriting
This release introduces three new Flutter plugins—\google\_mlkit\_genai\_image\_description\, \google\_mlkit\_genai\_prompt\, and \google\_mlkit\_genai\_rewriting\—that wrap Google's ML Kit GenAI APIs. The image description plugin allows generating descriptions for images, the prompt plugin supports generating text from custom text or multimodal (image + text) prompts, and the rewriting plugin enables rewriting text in different styles. All three plugins are currently Android-only (requiring AICore support) and share a common structure: they require \google\_mlkit\_commons\ ^0.13.0, target Flutter \>=3.44.0 and Dart ^3.12.0, and use native Kotlin implementations with Swift stubs that return 'UNIMPLEMENTED' on iOS. Users can check feature status, download the required models, run inference, and manage resources via a standard API.
(repo-wide) · high confidence
New NLP demo views for entity extraction, language identification, translation, and smart reply
The example app now includes dedicated UI screens for four Natural Language Processing capabilities. Users can test entity extraction with on-device model management (download/delete/check), identify languages or possible languages with confidence scores, perform on-device translation between selectable source and target languages with model management, and generate smart reply suggestions for a simulated conversation. These views demonstrate the integration of Google ML Kit's Entity Extraction, Language ID, Translation, and Smart Reply APIs within the Flutter example application.
_packages/example/lib/nlp\_detector\views · high confidence
New automation scripts for linting, cleaning, publishing, and dependency updates
Added four new shell scripts to the \scripts/\ directory to streamline common development and maintenance tasks. \analyze.sh\ runs Dart/Flutter formatting and analysis, plus Kotlin linting via ktlint and Swift linting via SwiftLint. \clean.sh\ executes \flutter clean\ across all ML Kit and GenAI plugin packages, the main library, and the example app. \publish.sh\ performs dry-run publishing checks for all packages. \update\_libs.sh\ runs \flutter pub get\ for all packages and example app, followed by \pod install\ for iOS, with specific handling to allow errors for GenAI packages during dependency resolution.
scripts · high confidence
New example app visualization painters for vision detectors
The example app now includes a comprehensive set of new \CustomPainter\ implementations in the \vision\_detector\_views/painters\ directory to visualize detection results. These new files provide specific rendering logic for Barcode, Face, Face Mesh, Image Label, Object, Pose, Selfie Segmentation, Subject Segmentation, and Text Recognition detectors. A shared \coordinates\_translator.dart\ utility is also added to handle coordinate mapping across different image rotations and camera lens directions, ensuring that bounding boxes, corner points, landmarks, and segmentation masks are drawn correctly on the canvas.
_packages/example/lib/vision\_detector\views/painters · high confidence
Text recognition now exposes confidence scores and rotation angles
The text recognition API has been updated to include additional metadata for recognized text lines. Users can now access the confidence score and rotation angle for each text line via the new \confidence\ and \angle\ properties on the \TextLine\ object. Note that these values are currently only available on Android; on iOS, they will return null.
_packages/google\_mlkit\_text\recognition/lib · high confidence
Removals
Removal of Barcode Scanner, Image Labeler, and Pose Detector APIs
The \lib/src\ directory has removed the implementation files for the Barcode Scanner, Image Labeler, and Pose Detector features. Consequently, the \BarcodeScanner\, \ImageLabeler\, and \PoseDetector\ classes, along with their associated options and data models, are no longer available in the library. Users relying on these specific detection capabilities will need to migrate to alternative solutions or updated API versions provided in other parts of the package.
lib/src · high confidence
Removal of legacy iOS plugin entry point
The legacy iOS plugin implementation files (GoogleMlKitPlugin.h and .m) and the Assets placeholder have been removed. This eliminates the old Flutter method channel registration and platform version handling, indicating a structural cleanup or migration away from the previous monolithic plugin architecture.
ios · high confidence
Removed legacy example app scaffolding and detector views
The example application's legacy implementation has been removed, including the main entry point, the detector view widgets (Barcode Scanner, Image Label Detector, and Pose Detector), and the associated native platform files (Android MainActivity and iOS AppDelegate). This cleanup eliminates the old demonstration code that previously showcased these specific ML Kit features.
example · high confidence
Behavioural changes
3 commits (0 fixes) modifying packages/example/assets
A change to existing behaviour in packages/example/assets — 3 commits, 30 files.
packages/example/assets · medium confidence · unverified
Android document scanner implementation migrated to Kotlin
The Android platform code for the Google ML Kit Document Scanner plugin has been rewritten in Kotlin, replacing the previous implementation. This change introduces a new \DocumentScanner\ class that handles the native Google Play Services document scanning API, managing scanner initialization, configuration options (such as format, mode, and gallery import settings), and result parsing for PDF and image outputs. The plugin now uses the standard Flutter \MethodChannel\ approach with \ActivityAware\ lifecycle management to ensure proper binding and unbinding of the scanner instance.
_packages/google\_mlkit\_document\_scanner/android, packages/google\_mlkit\_pose\detection/android · high confidence
Android implementation migrated to Kotlin with enhanced image format support
The Android native code for google\_mlkit\_commons has been rewritten from Java to Kotlin, introducing a new InputImageConverter that explicitly validates and handles NV21, YV12, and YUV\_420\_888 image formats. This change improves the reliability of image processing by adding specific error handling for unsupported formats and optimizing the conversion of raw RGBA bytes and bitmaps, ensuring more robust image input for ML Kit operations on Android.
_packages/google\_mlkit\commons/android · high confidence
Android implementation migrated to Kotlin with updated channel name
The Android side of the Digital Ink Recognition plugin has been rewritten in Kotlin, replacing the previous Java implementation. This change includes a fix to the platform channel name, which is now set to 'google\_mlkit\_digital\_ink\_recognizer' to ensure correct communication with the Flutter framework. The core recognition logic, model management, and plugin registration have been adapted to the new Kotlin structure.
_packages/google\_mlkit\_digital\_ink\recognition/android · high confidence
Android implementations migrated to Kotlin for Entity Extraction, Smart Reply, and Translation plugins
The Android native code for the Google ML Kit Entity Extraction, Smart Reply, and Translation plugins has been rewritten in Kotlin. This migration introduces dedicated Kotlin plugin classes (e.g., \GoogleMlKitEntityExtractionPlugin\) and method channel handlers (e.g., \EntityExtractor\, \SmartReplyHandler\, \TextTranslator\) to manage on-device model operations, replacing the previous implementation. Additionally, the Android build environment for these plugins has been updated to use Gradle 9.0-milestone-1.
_packages/google\_mlkit\_entity\_extraction/android, packages/google\_mlkit\_smart\_reply/android, packages/google\_mlkit\translation/android · high confidence
Android plugin implementation migrated from Java to Kotlin
The Android native code for the google\_mlkit\_commons module has been rewritten in Kotlin, replacing the previous Java implementation. This migration introduces a new GenericModelManager to handle remote model lifecycle operations (download, delete, check) via the Google ML Kit RemoteModelManager, and removes the legacy Java detector classes (BarcodeDetector, ImageLabelDetector, MlPoseDetector, MlKitCallHandler, and the Detector interface) that previously handled local detection tasks through the Flutter MethodChannel.
android · high confidence
Android plugins migrated to Kotlin
The Android native implementations for the Google ML Kit plugins (barcode scanning, face detection, image labeling, language identification, object detection, and text recognition) have been rewritten in Kotlin. This migration updates the underlying platform code to use modern Kotlin syntax and patterns, which may affect how these plugins interact with the Android engine and requires a compatible Kotlin environment for building.
(repo-wide) · high confidence
Deprecated monolithic API in favor of standalone plugins
The \google\_ml\_kit\ package now exposes a unified \GoogleMlKit\ entry point with \vision\ and \nlp\ accessors, but all individual feature methods (such as \imageLabeler\, \barcodeScanner\, \faceDetector\, and \selfieSegmenter\) are marked as deprecated. Users are now required to migrate to the corresponding standalone plugins (e.g., \google\_mlkit\_image\_labeling\, \google\_mlkit\_barcode\_scanning\) instead of using the bundled methods within this package.
_packages/google\_ml\kit/lib/src · high confidence
Document scanner now returns structured results with PDF and image support
The \DocumentScanner.scanDocument()\ method now returns a \DocumentScanningResult\ object instead of a raw map, providing strongly-typed access to scanned outputs. Users can retrieve the scanned document as a PDF via \result.pdf\ (containing page count and URI) or as a list of image paths via \result.images\, depending on the \DocumentFormat\ settings in \DocumentScannerOptions\. This change improves type safety and simplifies handling of multi-page scans and mixed format outputs.
_packages/google\_mlkit\_document\scanner · high confidence
Enforced pre-commit checks for code quality and security
A new pre-commit hook has been added to automatically enforce best practices before changes are committed. This includes preventing the accidental commit of sensitive files (like .env or keys), blocking commits with unresolved merge conflict markers, ensuring Dart code is formatted correctly, running static analysis via flutter analyze, and executing localization string cleanup scripts.
.githooks · high confidence
Example app now includes GenAI API placeholders and expanded vision demos
The example application's main entry point has been updated to showcase a broader set of capabilities. It now includes dedicated UI cards for Vision APIs such as Face Mesh Detection, Subject Segmentation, and Document Scanner (the latter two restricted to Android), alongside existing features like Barcode Scanning and Text Recognition. Additionally, a new 'GenAI APIs' section has been added to the navigation, featuring placeholder views for Summarization, Proofreading, Rewriting, Image Description, Speech Recognition, and Prompt interactions, which inform users that implementation is coming soon and require Android API level 26 or higher.
packages/example/lib · high confidence
Example app relocated and updated to Flutter 3.29 standards
The example application has been moved from the repository root to the packages/example directory. It has been updated to align with Flutter 3.29 standards, including a new .metadata file for migration tracking and updated analysis options. The .gitignore file has also been refreshed to exclude new build artifacts and local configuration files.
packages/example · high confidence
Major version release with SDK constraints and Android build migration
This release updates all plugins to their latest versions (e.g., \google\_ml\_kit\ v0.23.1, \google\_mlkit\_commons\ v0.13.0) and raises the minimum Flutter SDK constraint to \>=3.44.0 and Dart SDK to ^3.12.0. Additionally, the Android plugin builds for all packages have been migrated to use AGP's built-in Kotlin support (\compilerOptions\), replacing previous Java-to-Kotlin migration steps.
(repo-wide) · high confidence
Migrate iOS plugins to Swift
The iOS native implementations for the Google ML Kit plugins (including barcode scanning, face detection, image labeling, object detection, pose detection, text recognition, entity extraction, language identification, and smart reply) have been rewritten from Objective-C to Swift. This change updates the underlying platform code to use modern Swift syntax and APIs while maintaining the same Flutter method-channel interfaces, ensuring continued compatibility for existing applications.
(repo-wide) · high confidence
Removal of main library entry point
The main library entry point file (lib/google\_ml\_kit.dart) has been removed. This file previously served as the single export for the library's source code; its deletion indicates a structural change to how the library is organized or imported, likely as part of the split into multiple plugins.
lib · medium confidence
Updated Android example app configuration and added subject segmentation support
The Android example app has been updated to follow modern Flutter standards, including migrating the package name, updating the application label to 'ML Kit in Flutter', and adopting the V2 embedding with dynamic application names. The app now supports dark mode theming and enables back-invoked callbacks for improved navigation handling. Additionally, the app now explicitly declares dependencies for ML Kit features including subject segmentation, making this capability available for testing within the example.
packages/example/android/app · high confidence
google\_mlkit\_commons v0.13.0: SDK bumps, native language migrations, and Apple Silicon simulator support
The commons package has been updated to version 0.13.0, raising the minimum Flutter SDK to \>=3.44.0 and Dart SDK to ^3.12.0. This release migrates the Android implementation from Java to Kotlin and the iOS implementation from Objective-C to Swift, while also bumping the Android compileSdk to 36 for AGP 9 compatibility. A new opt-in Podfile helper is provided to enable Google ML Kit support on Apple Silicon iOS 26+ simulators. Additionally, the package now supports bitmap data input via a new \InputImage.fromBitmap()\ constructor, and the changelog notes optimized InputImage conversion and enhanced image format validation.
_packages/google\_mlkit\commons · high confidence
google\_mlkit\_image\_labeling v0.16.1 release with SDK and dependency updates
This update introduces version 0.16.1 of the image labeling plugin, bumping the minimum Flutter SDK constraint to \>=3.44.0 and Dart SDK to ^3.12.0. It also updates the \google\_mlkit\_commons\ dependency to ^0.13.0. The release includes infrastructure changes such as a new \.gitignore\ file and \.metadata\ for Flutter tooling, alongside updated documentation in the README and CHANGELOG.
_packages/google\_mlkit\_image\labeling · high confidence
google\_mlkit\_translation v0.15.1 release
This update for the on-device translation plugin bumps the minimum Flutter SDK constraint to \>=3.44.0 and Dart SDK to ^3.12.0. It also migrates the Android plugin build to use AGP built-in Kotlin support via compilerOptions. Users must ensure their development environment meets these new SDK requirements to use this version.
_packages/google\_mlkit\_object\_detection, packages/google\_mlkit\translation · high confidence
iOS Face Mesh Detection plugin stubbed with unimplemented API
The iOS implementation for the Face Mesh Detection plugin has been migrated to Swift, but the core detection functionality is currently a stub. The plugin registers the expected method channel and handles lifecycle calls, but the actual detection logic returns \FlutterMethodNotImplemented\ because the Google Face Mesh API is not yet available for iOS. Users attempting to use face mesh detection on iOS will receive an error indicating the feature is not implemented.
_packages/google\_mlkit\_face\_mesh\detection/ios · high confidence
iOS example app migrated to Swift and updated for modern Xcode/Flutter standards
The iOS example app has been migrated from Objective-C to Swift, replacing AppDelegate.m with AppDelegate.swift and adding a bridging header. The project configuration has been updated to Xcode 15.1 standards (objectVersion 54), enabling parallel builds and adding a PreAction to prepare the Flutter framework. The app now supports the iOS Scene lifecycle via UISceneConfiguration, includes standard camera/microphone/photo library usage descriptions, and introduces a Local.xcconfig template for configuring the Apple Developer Team ID and bundle identifier.
packages/example/ios · high confidence
iOS implementation migrated to Swift
The iOS native code for the Google ML Kit Document Scanner plugin has been rewritten in Swift, replacing the previous Objective-C implementation. This change updates the underlying platform integration to use modern Swift conventions while maintaining the same public API for Flutter applications.
_packages/google\_mlkit\_document\_scanner/ios, packages/google\_mlkit\_selfie\_segmentation/ios, packages/google\_mlkit\_subject\segmentation/ios · high confidence
iOS plugin migrated to Swift with improved score handling
The iOS implementation for Digital Ink Recognition has been rewritten in Swift, replacing the previous Objective-C code. This change includes a behavioral fix where the recognition score is now returned as a numeric value (defaulting to 0.0) when the underlying model does not provide one, ensuring consistent data types for consumers.
_packages/google\_mlkit\_digital\_ink\recognition/ios · high confidence
Fixes
Google ML Kit now supports Apple Silicon iOS simulators
The iOS plugin now includes a build-phase script that automatically relabels the arm64 slice of Google ML Kit frameworks to match the build target, enabling the library to run on Apple Silicon iOS simulators (iOS 26+) and physical devices from the same Pods install. This change resolves the upstream issue where ML Kit binaries were previously incompatible with Apple Silicon simulators, allowing developers to test ML features on modern Mac hardware without manual workarounds.
_packages/google\_mlkit\commons/ios · high confidence
Dependencies
Update example app and plugins to Google ML Kit v9 and Flutter 3.44
The example app and all ML Kit plugins have been updated to support the latest Google ML Kit iOS SDK (v9.0.0) and Android SDK (v17.3.0+), raising the minimum iOS deployment target to 15.5 and the Android compile SDK to 36. The example app now targets Flutter 3.44.0+ and Dart 3.12.0, and includes dependencies for the new GenAI plugins (summarization, proofreading, rewriting, image description, speech recognition, and prompt).
(dependencies) · high confidence
Updated Gradle wrapper to version 8.14.3
The Android example app's Gradle wrapper has been upgraded from version 5.6.2 to 8.14.3. This ensures the build environment uses a modern, supported version of Gradle, which may improve build performance and compatibility with current Android tooling.
packages/example/android/gradle · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Baseline
- First survey — no prior run to compare against. CAI 56.
Lenses
- Code Health 96
- Architecture 100
- Maturity 53
- Readiness 36
- Security 88
- Domain Modelling 100
Changes since last survey
- 300 commits — 250 feature/other, 50 fixes
By area
- .github/workflows — 78 commits
- packages/example — 39 commits
- packages/google_ml_kit — 27 commits
- (root) — 18 commits
- packages/google_mlkit_barcode_scanning — 16 commits
- packages/google_mlkit_commons — 15 commits
- packages/google_mlkit_entity_extraction — 10 commits
- packages/google_mlkit_text_recognition — 10 commits
- packages/google_mlkit_object_detection — 9 commits
- packages/google_mlkit_digital_ink_recognition — 8 commits
- ios/Classes — 7 commits
- android/src — 6 commits
- example/lib — 6 commits
- packages/google_mlkit_face_detection — 6 commits
- packages/google_mlkit_image_labeling — 6 commits
- android/build.gradle — 5 commits
- packages/google_mlkit_language_id — 4 commits
- packages/google_mlkit_smart_reply — 4 commits
- example/ios — 3 commits
- lib/src — 3 commits
Notable commits
- fix: Fix barcode data parsing
- fix: Fix contact barcode and lint barcode doc comments
- fix: Fix custom image labeler (#57)
- fix: Fix pod dependencies
- fix: Fix: Remove image rotation from iOS InputImage
- fix: Fix: return after closing detector in iOS
- fix: Fix: update InputImageRotation parameter in example app for InputImage using camera plugin (#470)
- fix: Fixed aspectRatio + better camera selection in example app (#184)
- fix: build: Fixed Gradle settings and Android SDK configuration to enable 'flutter run' with connected Android device (#702)
- fix: chore: Update flutter version for code analysis and fix linter issues. (#737)
- fix: chore: bug report template
- fix: fix "fullter analyze" issues (#350)
- fix: fix minSdkVersion: 21
- fix: fix(entity extraction): actually set reference time when time parameter is passed (#453)
- fix: fix: Fix import path name alias on README (#443)
- fix: fix: Adds instructions for image streams on Android. (#731)
- fix: fix: Barcode README (#469)
- fix: fix: Changed "imageLabeler.close()" by "languageIdentifier.close()" (#587)
- fix: fix: Fix Readme (#403)
- fix: fix: Handle NullPointerException and some wanring at google_mlkit_commons (#651)
- …and 280 more
Architecture
- 0 containers · 1 bounded contexts · 0 dependency edges (baseline)
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
flutter-ml/google_ml_kit_flutter was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 19 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 108359333a05cfefe8f3515b6280d4804749be8d — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-13a154b7f5d1.