- API: CropImageOptions#canChangeCropWindow option. #636 (vanniktech)
- API: Deprecate CropImageActivity. #635 (vanniktech)
- API: Deprecate CropImageContract. #637 (vanniktech)
- Fixed bug when changing toolbar text color #556 (Husseinhj)
- Resource: Missing Translations added for korean / japanese #552 (hubtwork)
- Technical: Update to Kotlin 2.0.0 & more. #634 (vanniktech)
- README: Slightly improve the Migration section. #520 (vanniktech)
- API: Deprecate CropImageView.croppedImage #519 (vanniktech)
- API: Deprecate CropImageView.isSaveBitmapToInstanceState #518 (vanniktech)
- API: Remove deprecated methods from Version 4.4.0 in CropImageContractOption. #513 (vanniktech)
- API: Remove deprecated methods from Version 4.4.0 in CropImage. #512 (vanniktech)
- Behavior Change: Always try to return resized bitmap in CropResult. #509 (vanniktech)
- Behavior Change: The crop area for CropShapes (Rectangle, Rectangle vertical only, Rectangle horizontal only) can now also be adjusted by dragging outside the Crop Area just like it's always been possible for CropShape.OVAL. #508 (vanniktech)
- API: CropImageOptions is now a data class. Currently with mutable properties, this will change to immutable soon. #490 (vanniktech)
- API: CropImageView gets a setImageCropOptions method. #500 (vanniktech)
- API: Deprecate CropImageContractOptions functions to modify CropImageOptions instance. #492 (vanniktech)
- API: Make BitmapCroppingWorkerJob internal. #478 (vanniktech)
- API: Make BitmapLoadingWorkerJob internal. #465 (vanniktech)
- API: Make CropException inner objects internal. #470 (vanniktech)
- API: Make CropImageIntentChooser internal. #485 (vanniktech)
- API: Make CropImageOptions class final. #487 (vanniktech)
- API: Make CropOverlayView internal. #468 (vanniktech)
- API: Make CropWindowMoveHandler & CropWindowHandler internal. #467 (vanniktech)
- Behavior Change: By default always show the guidelines. #494 (vanniktech)
- Behavior change: By default show crop window on the entire image. #474 (vanniktech)
- Deprecate: CropImage#get* functions are now deprecated as they seem to be unused. #469 (vanniktech)
- New API: CropImageView#expectedImageSize which returns the expected image size, if cropping the image right now. #496 (vanniktech)
- Raise minSdk from 16 to 21. #456 (vanniktech)
- Sample: Enable StrictMode. #464 (vanniktech)
- Sample: Showcase expectedImageSize in CustomActivity. #503 (vanniktech)
- Strict Mode: Fix UnsafeIntentLaunchViolation when using CropImageActivity. #502 (vanniktech)
In addition, this release contains a lot of documentation fixes and refactorings.
This library will no longer be published to Jitpack. The Maven Coordinates have changed, and the library is now on Maven Central. In order to consume the new update please change:
-implementation("com.github.CanHub:Android-Image-Cropper:4.3.2")
+implementation("com.vanniktech:android-image-cropper:4.3.3")
For now, everything else stays the same. vanniktech has taken over the maintenance of this library.
- Kotlin Build Script, proper Maven Publishing, new workflows, Gradle Catalogue & much more #450 (vanniktech)
- Correctly close resources in BitmapUtils. #440 (vanniktech)
- Bugfix/437 setting toolbar color to white does nothing #438 (Devenom1)
- Fixed the mistake in hindi conversion of "Crop" #402
- Added the option to set custom color to toolbar of CropImageActivity #421
- Added the option to set custom background color to activity of CropImageActivity #421
- Fixed accidentally swiping back on newer Android devices when trying to resize the crop window #423
- Fixed an issue on sample project where back button would not work when dialog is shown #427
- Fixed an issue on sample project where cancelling/going back would go to a screen with empty image #427
- CropImageView: Added support for handling all EXIF orientation values. #408
- CropImageView: Use customOutputUri instance property as a fallback in startCropWorkerTask. #401
- CropImageOptions: Option to change progress bar color. #390
- Added a helper text on top of crop overlay which moves along with it. #381
- The translation of
Camera
andGallery
does not exist in some languages.#358
- Added support for optionally displaying an intent chooser when selecting image source. #325
- CropException sealed class with cancellation and Image exceptions #332
- Fix disable closing AlertDialog when touching outside the dialog #334
- Added an option to skip manual editing and return entire image when required #324
- Added missing support for
ScaleType.CENTER_CROP
#220 - State is now preserved across configuration changes #296
- Fix shadow bug #261
- Update portuguese strings #321
- When TakePictureContract returns false or null return null result. #287
- Added provision to add Oval crop corners when the crop style is Rectangle #305
- Issue where some devices based on MIUI would not retrieve image from gallery #253
minSdkVersion = 16
, previous versions have been deprecated by Google.
- Added option to enable users specify image source #226
- Pick Image, now the library will handle this without expose the contract #271
- Need for
READ_EXTERNAL_STORAGE
permission #271 - Previous deprecated
ActivityBuilder
,startPickImageActivity
,getActivityResult
andonActivityResult
#145 - Removed ProGuard rule from ReadMe #257
- Removed unused dependencies and settings from Gradle files #265
- Set output uri ignored #207
- Update to Android 12
- Update library to gradle 7.0.1 and Java 11 #191
- Any crop action should return uri content #180
- Implement onBackPressed() in sample code for handle backButton pressed #174
- After cropping a camera image, cancelling library picker shows again the last cropped image #162
- Unable to get camera image from contract #160
CropImageContract
andPickImageContract
#145- added dependency to
androidx.activity:activity-ktx:.2.3
#145
CropImageActivity.onActivityResult
no longer receives any result. OverrideonPickImageResult
instead. #145
- deprecated old methods that depend on the deprecated
onActivityResult
. UseCropImageContract
andPickImageContract
instead. #145
- ContextWrapper cannot be cast to FragmentActivity #136
- Missing file extension under Android 10 #138
- Crashing when using the code
CropImage.activity().start(requireActivity(), this)
resolved #133
- Make isReadExternalStoragePermissionsRequired and 2 other functions visible in Java #129
- Add Java Sample code #125
- New option for different file names #122
- Estonian language #119
- Methods
getUri
.
- Methods
getFilePath
andgetUriContent
.
- @JvmStatic annotation in CropImage.activity() and fun activity(uri) #108
- Added "fun" for all Kotlin interfaces when possible #102
- CropOverlayView to Kotlin #38
- CropImageView to Kotlin #39
- CropImage to Kotlin #41
- BitmapUtils to Kotlin #35
- CropWindowMoveHandler to kotlin #36
- Split appCompat version #85
- Kotlin Version from
1.4.21
to1.4.30
- lifecycle-runtime-ktx Version from
2.2.0
to2.3.0
- Sample code extending Activity #46
- Bug when crop using Custom Activity (extend) 43
- Vertical-only and horizontal-only cropping modes #76
- Option to disable movement of the crop window by dragging the center #79
- Turkish Translations #72
- CropImage.getActivityResult(data).getBitmap(context) #49
- CropImageView incorrectly restored on rotation #68
- From Java to Kotlin: CropImageOptions, CropWindowHandler
- Null CompressFormat #44
- Galley option not showing
- Camera option not showing
Versions 2.0.1
and 2.0.2
are similar, issues with jitpack.
- Make CropImageActivity open for extensions
- AsyncTask to Kotlin Coroutines #9
- Uri for camera capture option is now invariant for Android 10 and above #21
- Ktlint
- Release using JitPack
- Java to kotlin
- Change icons from PNG to vectors
- Update many library versions
- Android 10, 11 Permissions
- Android 10, 11 Scope Storage
- Copy from previous repo ArthurHub