- Fixed warnings that are generated by SwiftLint 0.16.1.
- Moved the overlay image generation to a background queue, so that the progress view appears immediately when the user taps the save button.
- Fixed an ambiguous constraints warning in
CameraViewController
. - Fixed an issue where the loading progress view would disappear while presenting the editor.
- Added an option to change the default color of newly added text (see
TextToolControllerOptions.defaultTextColor
). - A progress view is displayed while generating the preview image now.
- Tinting of stickers can be enabled on a per sticker basis (see
Sticker.tintMode
). - Crop Aspect Ratios can be rotated by tapping on an already selected crop aspect (see
CropAspect.isRotatable
).
- Changed the default icon of the transform tool.
- The magic tool displays a selected state when active.
- The
.straighten
option has been removed from the default options ofTextOptionsToolController
andStickerOptionsToolController
. - The
.flip
option has been removed from the default options ofTextOptionsToolController
. - The alignment, bring to front, straighten and flip buttons within
TextOptionsToolController
were moved from an overlay into the menu. - When resizing text the bounding box of the text becomes wider along with the font size.
- While the
BrushColorToolController
is active the user can continue to paint in the canvas. - Editing text works by just single tapping on an already selected label instead of long pressing.
- The delete button within the brush tool was moved to the top, the bring to front button was moved from an overlay into the menu.
- The flip, straighten and bring to front buttons within
StickerOptionsToolController
were moved from an overlay into the menu.
- Fixed a crash that occurred when opening the transform tool very quickly after presenting the editor.
- Fixed an issue with the brush tool that occurred when opening the brush very quickly after presenting the editor.
- Fixed an issue where the progress view would not disappear when tapping the save button.
- Fixed an issue regarding the frame tool and rotated images.
- Fixed a bug where a crop would sometimes be applied although the user tapped the cancel button.
- When changing a text the changes are reflected in the label while typing.
- Fixed a crash in
CameraController
.
- Support for wide color images. More information is available here.
- Added redo support and optimized undo support. Each time the sticker, text or brush tool is openend, a new undo/redo stack is created and local changes within those tools can be un- and redone. The
PhotoEditViewController
also has support for undo and redo and performs all undo or redo operations of the tools mentioned above combined, either step by step or tool by tool (seePhotoEditViewControllerOptions.undoStepByStep
).
M_PI
has been replaced by.pi
,FLT_EPSILON
has been replaced by.ulpOfOne
- Adding a new sticker from within the
StickerOptionsToolController
now opens the already instantiatedStickerToolController
that was passed toPhotoEditViewController
instead of creating a new instance. - The blur radius specified in the
FocusToolController
is now relative to the smaller side of the image instead of an absolute value, which means that the final output image looks like the preview image.
- Fixed a crash that occurred when setting
CameraViewControllerOptions.showFilters
tofalse
.
- Fixed a crash in
CameraViewController
. - The
photoActionButtonConfigurationClosure
closure was not called initially. - Changing the
tintColor
of the button to take a photo works now.
- Added default intensities for blend modes.
- Changed some
enum
s to lower case to match Swift 3.0 naming conventions.
- Fixed a memory leak in
CameraViewController
. - Fixed a memory leak in
FrameToolController
. - Fixed a scaling issue for backdrop images.
- Fixed the Podspec so that the resource bundle is not added twice to projects that use CocoaPods to integrate the SDK.
- A new API to integrate the SDK into your analytics. See
AnalyticsClient
andPESDK.shared.analytics
for more details. - Added an option to set a backdrop image (
backdropImage
), a blend mode (backdropBlendMode
) and an intensity (backdropIntensity
) for it toPhotoEditModel
.
- Fixed a bug regarding image orientation that occured when saving an unedited image. The image that was passed to
PhotoEditViewController
is now passed back to the delegate untouched when saving and image without any modifications.
- Dynamic frames, which are generated during runtime and adjust to the image based on a given set of rules, similar to 9-patch images. See
CustomPatchFrameBuilder
for more information.
- Frames participate in the bring-to-front behavior so that stickers, text and brush can be moved behind or in front of frames.
- Licensing has been improved to support multiple bundle identifiers within one license.
- Licensing
- Stickers can be grouped into individual categories and their color can be changed by the user.
- New initializers for
PhotoEditViewController
:init(data: Data)
,init(data: Data, configuration: Configuration)
andinit(data: Data, menuItems: [MenuItem], configuration: Configuration)
which allow passing an image as data in which case EXIF information can be preserved. PhotoEditModel
is a Swiftstruct
now. When using Objective-C you can useIMGLYBoxedPhotoEditModel
instead where needed.
- The crop UI has been completely revised and supports arbitrary rotations now.
- Updated the UI of the focus tool so that the user can change the width of the focus gradient.
- Updated the overall look and feel of the UI.
- Custom fonts can be added to the SDK.
- Many performance improvements.
- Asset datasources support remote sources out of the box now.