NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #2557 most downloaded on pub.dev
OpenCV4 bindings for Dart language and Flutter, using dart:ffi. The most complete OpenCV bindings for Dart!
Last release 20 days ago
18 Sep 2026
Release timing varies
gaps range from 8 days to 6 months
Nearly every release is documented
notes for 22 of 23 stable releases
1 version withdrawn
withdrawn after publishing
2 years old
26 releases · first in 2024
One column per month.
feat: add copy param to Mat.toList and Mat.toList3D by @rainyl in #450
Mat.toList and Mat.toList3D by @rainyl in #450Full Changelog: v2.3.0...v2.3.1
objdetect, ximgproc) correctly pull in required dependencies (calib3d -> features2d/flann) regardless of option order.include_modules/exclude_modules conflicts and report all conflicting dependencies at once.deployment_target hook option to override the Apple DEPLOYMENT_TARGET per platform (ios / macos), e.g. ios: {deployment_target: "15.0"}.12.0 on iOS, 10.15 on macOS); it follows the target's code configuration (the deployment target of the Flutter/Xcode app) and deployment_target overrides it when a specific minimum is needed.Safety enhancement, memory management, Tree-shaking support, API-style ffigen, disable OpenCL by default. by @rainyl in #443
Full Changelog: v2.2.2...v2.3.0
VecVec6f finalizerstrdup/calloc memory leaksMat.fromMat(copy: true) memory leakdispose()/freeNative(), add isDisposed for all wrappers (P2 refactor, additive — no breaking API change)dartcv_keep.txt from recorded uses (@RecordUse) + finalizer symbols; CMake .def / --retain-symbols-file restrict exports; keep-list only written on AOT builds; new treeshake hook option (Dart 3.13+)use_opencl hook option to build OpenCV with OpenCL support, per-platform, default false, always disabled on iosFfiGenerator API (tool/ffigen.dart) with @RecordUse + record_use_mapping outputffigen to 21.0.0meta, record_useCharucoBoard / CharucoDetector bindings (contrib module)hasBackend / isBackendBuiltIn exception-safe; skip unknown backend values in getBackends-family via VideoCaptureAPIs.maybeFromValue; always release probed cameras in enumerateCameras; support 16F in parseFrameFormatskip_build hook user-define to bypass the native build entirely, for CI unit-test runs that never call into dartcv4's native codefix: iOS build fails - OpenCL/cl.h not found due to FORCE in cmake options by @abdelaziz-mahdy in #421
Full Changelog: v2.2.1...v2.2.2
LineSegmentDetector support (imgproc module)native_toolchain_cmake to 0.3.1hooks to 2.1.0add Mat.reinterpret , fisheye.solvePnPRansac , StereoBM by @rainyl in #374
2.x to main, support stable hooks by @rainyl in #397Full Changelog: v1.4.3...v2.2.1+1
fix: Explicitly disable building unused modules to reduce build time.
fix: opencv-contrib modules are not correctly built when changing include modules.
fix: aruco module is not correctly built when changing include modules.
bump opencv_dart to 2.2.1
bump opencv_dart to 2.2.1
breaking change: support building from opencv source code, it's now the default behavior, since this version, prebuilt opencv static binary is no long…
4.13.04.12.0 is the last version that provides prebuilt static binary.imgcodecs imgproc.calib3d dnn features2d flann freetype highgui objdetect photo stitching video videoio aruco img_hash quality wechat_qrcode ximgproc xobjdetectBreaking change: default included models: calib3d,features2d,imgcodecs,imgproc,objdetect,photo,stitching, default excluded modules:contrib,freetype,hi…
stackBlur function in imgproc module.calib3d,features2d,imgcodecs,imgproc,objdetect,photo,stitching, default excluded modules:contrib,freetype,highgui,video,videoio,dnn.- fix: C++ src not included
add fisheye.solvePnPRansac, support mask for cv.threshold
Mat.reinterpretfisheye.solvePnPRansac, support mask for cv.thresholdStereoBM, StereoSGBM from calib3d modulesync main branch, now support all methods in dartcv v1.1.6
dartcv v1.1.6[features2d] add more functions/constructions
UMatcv.freetype moduleadd fisheye.solvePnPRansac, support mask for cv.threshold
Mat.reinterpretfisheye.solvePnPRansac, support mask for cv.thresholdStereoBM, StereoSGBM from calib3d moduleadd FlannIndexParams, FlannSearchParams, FlannKDTreeIndexParams
FlannIndexParams, FlannSearchParams, FlannKDTreeIndexParamsFlannBasedMatcher.createbreaking change: optional arg hierarchy of drawContours now change from Mat to VecVec4i type.
approxPolyN.arcLength2f, etc.) to imgproc module, https://github.com/rainyl/opencv_dart/pull/364hierarchy of drawContours now change from Mat to VecVec4i type.remove deprecated MatType.toInt(), should use MatType.value instead
MatType.toInt(), should use MatType.value insteadMatType.elemSize MatType.elemSize1(double x, double y, double z).asPoint3f
(double x, double y).asPoint2f (int x, int y).asPoint VecPoint.toVecVecPointbin/gen_cmake_vars.dart for generating optional module vars for CMakeremove deprecated Mat.copyToWithMask, List .asVecMat()
VideoCapture.grabAsyncMat.fromBuffer to allow creating Mat from self-managed buffercopyData parameter to Mat.fromVecMat.fromPtr, merge it to Mat.fromMatMat.atU8, Mat.setU8, etc.Mat.copyToWithMask, List<Mat>.asVecMat()* add more functions in calib3d
calib3d* make VecVecChar unmodifible * more tests
VecVecChar unmodifiblechange vector wrappers to std::vector
VideoWriter.get() and VideoWriter.set()cv.LUT()Nothing published for this version
Refactor nearly all APIs, this version is NOT compitable with previous versions!.
Implemented: imgproc, imgcodecs, core, video, need to be tested!
Implemented: imgproc, imgcodecs, core, video, need to be tested!
Your coding agent can read these notes before it upgrades. Set up the MCP server →