hand_landmarker 2.2.0
hand_landmarker: ^2.2.0 copied to clipboard
A Flutter plugin for real-time hand landmark detection on Android using Google's MediaPipe Hand Landmarker task and a JNI bridge.
Changelog #
All notable changes to this project will be documented in this file.
2.2.0 - 2025-12-13 #
💥 Breaking Changes #
- Delegate Enum Case Change: The values for the
HandLandmarkerDelegateenum have been changed fromALL_CAPS(CPU,GPU) tolowerCamelCase(cpu,gpu) to adhere to Dart linter standards.- Action Required: Users must update all usage from
HandLandmarkerDelegate.CPUorHandLandmarkerDelegate.GPUtoHandLandmarkerDelegate.cpuorHandLandmarkerDelegate.gpurespectively.
- Action Required: Users must update all usage from
🛠️ Maintenance #
- Major Build Toolchain Upgrade: Modernized the Android build configuration for both the plugin and the example app. Note: This update requires a compatible development environment, including JDK 17 and Android Studio Giraffe (or newer), to successfully build the plugin.
- Upgraded Android Gradle Plugin (AGP) to
8.11.1. - Retained Kotlin at
2.1.0due to currentjnigentoolchain limitations. - Updated Java source/target compatibility and
jvmTargettoVERSION_17(previouslyVERSION_11). - Updated
compileSdkto36. - Updated the Gradle Wrapper to version
8.14.
- Upgraded Android Gradle Plugin (AGP) to
- Dependency Updates: Updated core dependencies:
jnito0.15.2andjnigento0.15.0, andplugin_platform_interfaceto2.1.8.
2.1.2 - 2025-11-03 #
🐛 Bug Fixes #
- Fixed potential crashes in Android release builds by adding consumer ProGuard rules. This ensures MediaPipe's essential classes are not stripped by R8. (46a978a)
🛠️ Maintenance #
- Updated
cameraplugin dependency to version0.11.3.
📝 Documentation #
- Added additional examples for plugin usage in
README.md.
2.1.1 - 2025-10-27 #
2.1.0 - 2025-07-15 #
✨ Features #
- Configurable Options: Added the ability to configure the hand landmarker with the following options:
numHands: The maximum number of hands to detect.minHandDetectionConfidence: The minimum confidence score for hand detection to be considered successful.delegate: The delegate to use for inference, allowing for selection betweenCPUandGPU.
- see e1dff3e
2.0.0 - 2025-07-08 #
💥 Breaking Changes #
- Synchronous API: The plugin's core methods are now synchronous to improve performance. This affects how you create, use, and dispose of the plugin.
HandLandmarkerPlugin.create()no longer returns a Future.HandLandmarkerPlugin.dispose()is now synchronous.- The
detect()method is now a synchronous, blocking call. You must manage how frequently you call it to avoid blocking the UI thread.
✨ Features & Performance #
- Native Image Processing (BREAKING): Rearchitected the plugin to perform all YUV image conversion natively in Kotlin. This eliminates the Dart background isolate and significantly reduces data transfer overhead for much lower latency. (347f5f1)
- GPU Acceleration: Enabled the MediaPipe GPU delegate by default to accelerate model inference, resulting in smoother real-time performance. (4749d8c)
1.0.0 #
- Initial release of the project.