See the Migration Guide for breaking changes between versions.
None.
- Fix preview file delete predication.
- Adds
CameraPickerConfig.onPickConfirmed
to gets called when an asset entity is confirmed to be picked. - Introduces
CameraPickerConfig.permissionRequestOption
.
- Evicts the captured image cache once returned from the viewer.
- Allows
camera_android: ^0.10.9+6
.
- Fix button displays when tap to record.
- Prevent camera description exceptions when initializing the camera in the lifecycle callback.
- Use more precise overlay styles.
- Switching between different lens with a single camera by default.
- Always delete the preview file when popping from the preview.
- Downgrades the default resolution preset from
max
toultraHigh
. - Improves pinch zooming experiences.
- Do not wait for focus mode and exposure mode to reset.
- Updates the capture actions section size to compatible with more cases.
- Fixes the breaking
ColorScheme.background
implementation on older Flutter SDKs.
- Adapt the latest interface of WeChat.
- Constraints
camera_android
version to resolves flutter/flutter#150549.
- Allows
wrapControllerMethod
to return nullable result. - Allows newer versions of
sensors_plus
.
- Provide the back button when no controller has been initialized.
- Improves paddings of the heading actions in the viewer.
- Fix ignore locks when exception throws.
- Migrate to Flutter 3.16, and drop supports for previous Flutter versions.
- Bump
photo_manager
to v3.x. - Export
photo_manager_image_provider
.
- Roll
sensors_plus
. - Catch exceptions when obtain/subscribe to the accelerometer stream.
- Use
wechat_picker_library
.
- Fix
onEntitySaving
not returned after called. (#223) - Predicate access denied to avoid deadlocks.
- Automatically determine the capture orientation and lock accordingly.
- Handle exceptions after all flows.
- Fix various problems with the capture button.
- Prevent duplicate shooting actions.
- Provide overall invalid wrapping for controller methods.
- Throw exceptions with more accurate stack traces.
- Handles exceptions if locking methods are failed.
- Fix uncaught exceptions for controller methods.
To know more about breaking changes, see Migration Guide.
- Migrate to Flutter 3.3, and drop supports for previous Flutter versions.
- Sync all UI details from WeChat 8.3.x. (#181)
- Adapt layouts according to the device orientation.
- Improve the performance when taking photos.
- Improve the experience when using the exposure slider.
- Prefer
FlashMode.off
for better performance. - Allow
cameras
to be set repeatedly.
- Fix accessibility on the switch cameras button.
- Add Vietnamese language text delegate. (#166).
- Add
CameraPickerConfig.minimumRecordingDuration
. (#168)
- Hide the loading widget in the preview until an actual saving process has been invoked.
- Remove the implied system UI overlay manipulations.
- Raise the lowest SDK constraint to 2.8.0.
- Add
preferredFlashMode
, allowing users to choose which flash mode is preferred when first using the camera. (#158)
- Allow flash modes failed to switch and can move on to next when switching. (#156)
- Fix lifecycle integrations with the camera preview. (#157)
- Correct sizes when using
cameraQuarterTurns
. (#149)
- Improve stop-capturing experiences. (#146)
- Precache captured images for better experiences. (#145)
- Add the loading indicator when saving. (#140)
- Bump
photo_manager
to explicitly remove the requirements ofrequiredLegacyExternalStorage
.
- Add torch flashlight support. (#137)
- Upgrade
camera
to0.10.x
. (#133) - Upgrade
photo_maanger
for Android 13. (#133)
- Fix the too early
widget
access inCameraPickerState
. (#124)
- Support customize UI by override
State
s. (#113)
- Expose multiple internal widgets. (#113)
- Re-export
CameraPicker
's constructor. (#116) - Avoid duplicate entity saving. (#117)
- Prevent switching cameras when taking picture or recording video. (#120)
- Add
enableScaledPreview
. (#108)
- Catch more errors with handler. (#110)
- Improve tapping exposure updates. (#109)
- Prevent unnecessary zoom updates. (#107)
- Allow the foreground builder to be used all the time (#97) .
The signature of the
ForegroundBuilder
has changed but can be easily migrated.
- Allow text delegates to be obtained by
Locale
. (#99)
- Support Flutter 3.
- Add
onXFileCaptured
. (#87)
- Unify the method to push to the viewer. (#86)
- Correct arguments of
EntitySaveCallback
. (#85)
- Export enums and typedefs.
- Remove redundant dispose with the controller.
- Add full semantics support. (#72)
- Add
lockCaptureOrientation
, allowing users to determine lock to the specific orientation during captures. (#68) - Export
CameraPickerPageRoute
. - Abstract
CamearPickerConfig
, which moved all arguments frompickFromCamera
topickerConfig
.
- Improve camera initializes by adding a lock.
- Tweak asynchronous methods call during initializations.
- Make camera controllers available as soon as possible.
- Fix scaling issues with turns and orientations.
- Fix lint issues on Flutter 2.10.
- Remove duplicate future requests when saving an entity.
- Drop initialize when the controller has been already initialized. (#70)
- Fix set exposure point crashes when switching between cameras. (#66)
- Bind circular progress color with the theme.
- Allow saving entities when the permission is limited on iOS.
- Add
preferredLensDirection
, allowing users to choose which lens direction is preferred when first using the camera. - Add
enableTapRecording
, allowing users to determine whether to allow the record can start with a single tap. - Add
shouldAutoPreviewVideo
, allowing users to determine whether the video should be played instantly in the preview.
- Request the permission state again when saving.
- Provide better experiences when video records need to be prepared.
- Fix invalid widgets binding observer caller.
- Add
onError
to handle errors during the picking process. SaveEntityCallback
->EntitySaveCallback
.- Improve folder structure of the plugin.
- Flip the preview if the user is using a front camera.
- Handle save exceptions more gracefully.
- Dispose the controller when previewing for better performance.
- Bump
camera
to0.9.x
. - Remove
shouldLockPortrait
in picking.
- Expose
enablePullToZoomInRecord
for thepickFromCamera
method. - Trigger shooting preparation only when start recording on iOS.
- Expose
useRootNavigator
while picking. - Initialize a new controller if failed to stop recording. (#39)
- Throw or rethrow exceptions that used to be caught. (#41)
- Update the back icon with preview.
- Enhance video capture on iOS with preparation.
- Add
EntitySaveCallback
for the custom save method.
- Improve the UI of the exposure point widget when manually focus.
- Use basename when saving entities.
- Add
shouldLockPortrait
to fit orientation for the device. - Fix exposure offset issue when resetting the exposure point after adjusting the exposure offset manually.
- Add
enableSetExposure
, allowing users to update the exposure from the point tapped on the screen. - Add
enableExposureControlOnPoint
, allowing users to control the exposure offset with an offset slide from the exposure point. - Add
enablePinchToZoom
, allowing users to zoom by pinching the screen. - Add
enablePullToZoomInRecord
, allowing users to zoom by pulling up when recording video. - Add
foregroundBuilder
, allowing users to build customized widgets beyond the camera preview. - Add
shouldDeletePreviewFile
, allowing users to choose whether the captured file should be deleted. - Sync
imageFormatGroup
from thecamera
plugin.
- Migrate to non-nullable by default.
isAllowRecording
->enableRecording
isOnlyAllowRecording
->onlyAllowRecording
- All fixes from the
camera
plugin.
- Constraint dependencies version. #22
- Add
enableAudio
parameter to control whether the package will require audio integration. #17
- Fix
maximumRecordingDuration
not passed in static method. #14
- Raise dependencies versions.
- Add
cameraQuarterTurns
.
- Expose resolution preset control.
- Remove common exports.
- Documents update.
- Link confirm button's text with delegate. Fix #6.
- Add
isOnlyAllowRecording
. Resolves #4. - Make camera switching available. Resolves #5.
- Fix potential non exist directory access.
- Support taking pictures and videos.
- Support video recording duration limitation.