2020 June 10 - Version 2.2.2
- Toolbar items can now be fully overwritten via configuration.
- Loading indicator will now be shown while image or state is loading.
- Minimum zoom can now be disabled via "tools.zoom.disableMinimumZoom" option.
- Minimum and maximum zoom will now be set more accurately for initial image.
- Default brush sizes can now be overwritten.
- Shapes will now have more descriptive names in objects panel (for example "arrow" instead of "shape").
- Use "tools.import.validExtensions" in browser file upload dialog.
- History items after current pointer will now be discarded when adding new history items.
- Large image will no longer flicker in full size when opening pixie via button click.
- Canvas, overlay and main image, objects and history panels will now animate when being opened/closed.
- Custom action can now be specified for when user clicks on sample image.
- Editor keybinds will no longer be registered multiple times
- Fixed a few issues with translations.
- Overlay mode will now work properly in safari browser.
- Loading state in "onLoad" callback will now work properly.
- Sample image dialog window will now properly open again after calling "pixie.resetEditor".
- Specified theme colors will now override defaults properly.
- Hide sample images row and separator if no sample images are provided.
- Fixed an issue where floating object controls would not show on some screen sizes.
- Prevent editor flicker on page load when visibility is set to hidden.
- Fixed a few issues with drawing brushes.
- Setting "crop.defaultRatio" as null will now correctly make cropzone fully resizable.
- Make css selectors more specific to avoid collision with other libraries.
- Fixed an issue where text was sometimes not selectable after importing pixie state.
- Several other smaller bug fixes.
2020 January 19 - Version 2.2.0
- Added "notify" method for showing notification messages to user.
- Overlay images can now be replaced from object settings panel.
- Image or state file can now be dragged and dropped from desktop to the editor directly.
- Added new "state" option for loading state file directly without needing to call "pixie.loadState()" method.
- "Open sample" panel now supports variable number of samples.
- "Open sample" now supports state files (.json) as well as regular images.
- Automatically close export panel after image is downloaded.
- Fitting image to screen automatically can now be disabled via "tools.zoom.fitToScreen" option.
- History and objects buttons can now be removed from toolbar via configuration.
- Custom icons and images can now be used for navigation items.
- "onFileOpen" callback will now specify whether file was state, overlay or background image via second function argument.
- Added "applyChanges" method to API. It will mimic functionality of pixie "Apply" button.
- Added "openPanel" method to API. It will open specified editor panel.
- Added "tools.ui.fitOverlayToScreen" option to prevent opened overlay image from being resized to fit the screen automatically.
- Added "isDirty" method for checking whether there currently are any unsaved changes.
- Added "loadStateFromUrl" method for loading .json file directly from specified url.
- Clicking on "add text" button will now automatically focus and select sample text so user can immediately type replacement text.
- "getState" method now accepts a list of custom properties to include in exported state file.
- Active object will now be deselected when clicking outside the canvas.
- "addSticker" method now accepts category name.
- Canvas area will now extend to fit available screen when navigation is hidden.
- Mobile virtual keyboard will no longer cause editor to resize.
- Brush preview images on dark mode will now have better contrast.
- Object defaults can now be specified separately for text, shapes, stickers or globally for all objects.
- Min and max height and width can now be specified for resize tool.
- Display names can now be specified for crop presets along with ratio.
- Improved crop drawer responsiveness on smaller screen sizes.
- Fixed a few issues with frame rendering.
- Fixed an issue where canvas with cross-origin images would not save sometimes.
- Crop tool will now correctly round numbers to nearest pixel.
- "crop.defaultRatio" setting will now correctly apply default ratio to initial cropzone.
- Transform panel "cancel" button will now discard changes as expected.
- "resetEditor" method will now correctly reset filter panel state.
- Loading state via API before initializing editor first will now work properly.
- Default sample images can now be overwritten.
- Fixed several issues with zooming.
- Default brush sizes and types will now be correctly removed when "replaceDefault" is set to "true".
- Fixed precision issue with "maintain aspect ratio" option in resize tool.
- Prevent image from zooming out too much on mobile.
- Prevent cropzone from losing aspect ration when dragging against canvas edge.
- Update cropzone width and height input values when cropzone is being scaled via corners.
- .svg images imported as overlay will now work properly.
- "objectDefaults.fontFamily" option will now work properly if google font is selected as default font.
- Older version .json state files will now load properly.
- Fixed an issue where image would sometimes not be visible after loading state until user clicked on the editor.
- Font panel search will now properly find fonts when using lowercase or uppercase letters.
- Fixed an issue where custom font would not get loaded with editor state sometimes.
- Fixed a few issues with adding custom filters.
- navigation will now be hidden on mobile when "ui.nav.position" is set to "none".
- Fixed an issue where "baseUrl" option would not be applied to urls sometimes.
- "circle" and "spray" brushes will now get correctly removed when clicking "cancel" button.
2019 February 11 - Version 2.1.3
- Sample images should now correctly use specified "baseUrl".
- Corrected an issue with custom fonts sometimes not loading.
- Keyboard arrows in inputs will now properly work if pixie is not focused.
2019 February 08 - Version 2.1.2
- Added export panel for selecting image format, quality and name. Enable with "ui.enableExportPanel" option.
- Added "duplicate" button to object controls.
- Font picker panel will now display properly on all screen sizes.
- Cropzone can now be configured via "crop.cropzone" option.
- Editor closing can now be prevented by returning "false" from "onClose" callback.
- Improved object reordering via drag and drop.
- Default export format, name and quality can now be changed dynamically.
- Pixie will no longer apply any global css styles to the page.
- Added "ui.visible" option to control whether pixie should be automatically opened.
- Default object properties (fill, background, textAlign etc) can now be specified via "objectDefaults" option.
- Compact mode will not be triggered on tablets anymore.
- Filters that should be shown can now be specified via "tools.filter.items" configuration option.
- Added "onMainImageLoaded" callback that is executed every time main background image is fully loaded.
- Default text for text tool can now be specified via "tools.text.defaultText" configuration option.
- Crop ratio that should be selected by default can now be specified via "tools.crop.defaultRatio" option.
- Canvas panning should now work properly after reloading editor state.
- Drawing will no longer cause canvas pan.
- Fixed an issue with cropping sometimes causing blank canvas to appear instead of image.
- Options for hiding open, close and save buttons will now work properly in compact mode.
- Google fonts panel will now be scrollable on smaller screens.
- Prevent navigation items from overlapping on narrow screen size on Edge browser.
- Hiding open, close and save buttons will no longer affect toolbar layout.
- Frames should now have correct dimensions when loading editor state.
- Text font and color can now be properly pre-selected before adding text.
- Moving object with keyboard arrows will no longer cause page to scroll.
- Text edit box will now always match text size after loading editor state.
- Images with extension in uppercase letters will now be accepted.
- IE should now have properly styled scrollbars.
2018 October 08 - Version 2.1.1
- Show correct error message if user uploaded image is larger when "max_size" specified via config.
- Correct keyboard arrows and "delete" button keybinds.
- Fix an issue with color sometimes not being applied to stickers properly.
2018 September 28 - Version 2.1.0
- Add "crossOrigin" option for loading external images with cross origin support.
- Add option to hide custom crop ratio controls.
- Add option to prevent editor close when using "onClose" callback.
- Add option to override default color presets.
- Add "onFileOpen" callback that is executed every time user loads new file into editor.
- Don't open multiple sample image dialogs when using pixie.open() and pixie.close().
- Show google fonts on subsequent fonts panel opens.
- Prefix pixie "modal" class to prevent issues with other libraries and frameworks.
- "saveUrl" parameter will now work properly.
- Prevent issues if there are multiple canvas elements on the page.
- Add drawings to "objects" panel properly.
- Remove previous image and blank canvas size when using "pixie.resetEditor()"
- Properly remove frames from canvas when clicking on frame "remove" button.
- Make tooltips translatable.
2018 May 21 - Version 2.0.9
- Improvements to responsiveness of the editor.
- Added "set" method to activeObjectTool for changing object properties.
- Added "objects" tool for controlling objects on the canvas via API.
- Fixed several issues that occurred when default export format was set to json.
2018 May 21 - Version 2.0.8
- Improved secondary controls visibility on mobile.
- Improved toolbar resizing on mobile mode.
activeObject tool for changing options of selected object (color, background, opacity etc).
textTool.add('text', options) now accepts options for specifying text color, opacity, size etc.
- Zoom can now be disabled via
- Fixed dark theme background issue.
- Don't delete edited text when pressing "delete" key.
- Create initial history item when using
pixie.resetEditor with configuration.
pixie.open() work properly when used outside
2018 May 19 - Version 2.0.7
- Custom selector can now be specified via pixie configuration.
- Pixie configuration can now be passed to
pixie.openEditorWithImage('image.png') method for opening editor with specified image in one call.
- Files with extensions in uppercase letters will now work properly.
- Fixed some issues with loading initial editor state.
- Fixed notification positioning in overlay mode.
- Fixed an issue with
pixie.openMainImage() method opening overlay image.
- Background images will now be loaded from
urls specified via config.
2018 May 15 - Version 2.0.6
- Watermark tool can now be used manually via
- Fit image to available space when opening pixie in overlay mode.
pixie.resetEditor() method for completely resetting the editor.
- Fixed some issues on IE11.
- Open image overlay should now be fully translatable.
- "onOpen" callback will now be fired properly.
- Editor will now be properly closed when calling
- Fixed some issues preventing manual source code compilation.
- Removed box-sizing css from body and html elements.
2018 May 11 - Version 2.0.5
- It's now possible to specify custom action for "open" button via "ui.toolbar.openButtonAction" option.
- Open dropdown menu items should now be translatable.
- Improved watermark visibility.
- Navigate back to main stickers drawer on "close" button click inside specific stickers category.
- Fixed an issue with specified nav items being appended even if "replaceDefault" is set to true.
2018 May 10 - Version 2.0.4
- Added new upload image dialog that will be shown if no image, state or canvas size is specified.
- Added new dropdown menu with options to open overlay/background image and state files.
- Drag and drop in objects panel should be less "jumpy" now.
- Filter files in upload dialog to image and json only.
- Lowered slider max values in object shadow settings panel.
- Improved back button color when using dark theme.
- Changed default shadow color and offset.
- Don't auto close shapes and stickers panels when sticker is added.
- Opening new background image will no longer reset editor state.
- "Close" editor button can now be shown even if editor is not in "overlay" mode.
- Fixed text shadow and line height settings.
- Fixed object settings "close" button.
- Filter options panel should now be translatable.
2018 May 09 - Version 2.0.3
- Fixed several issues with translations.
- Fixed some issues with cropping after canvas has been transformed.
- Opening new image or state file will now correctly reset editor history.
- Objects will now be ordered according to their z-index in objects panel.
- Objects can now be re-ordered via drag and drop in objects panel.
- Active object will now be highlighted in objects panel.
- Darkened "stars" and "clouds" stickers buttons so previews are more visible.
- Added opacity setting to object controls panel.
ui.toolbar.openButtonImportsMainImage option for controlling how image is opened via toolbar "open" button.
2018 May 07 - Version 2.0.2
- Import tool should now work properly.
- Added config option for valid image extensions.
- Added config option for valid image extensions.
- Added config option for specifying default image name, format and quality when saving.
2018 May 07 - Version 2.0.1
- Corrected color picker panel positioning.
- Corrected add text button positioning.
- Json will no longer be default format for saving.
- Text options icon will now be properly visible.
- Fixed text options panel apply and cancel buttons.
- Remove most of pixie css styles from body and html tags.
2018 May 06 - Version 2.0
- Full support for mobile and tablets.
- Completely reworked integration functionality to be much more flexible.
- Added a number of new filters.
- New design based on google material design.
- Added dark and light themes.
- Added photo frames functionality.
- Added a lot of new config options for customizing the editor.
- Full support for translations.
- Shapes, stickers, brushes, filters, fonts etc can now easily be added, removed or modified.
- Added panning functionality on both desktop and mobile.
- All tools (resize, crop, frame, text etc) can now be used without showing pixie interface.
- Navigation items can now be specified via configuration.
- Color presets can now be specified via configuration.
- Resize/rotate handles and object border styles can now be modified via configuration.
- Improved undo/redo functionality.
- Objects added to canvas will now be properly resized and positioned.
- Added support for zooming via mouse wheel and pinch gesture.
- Improved support for saving and loading large photos.
- Text tool now supports accented characters and emoticons.
- Saved state will now properly preserve things like active fonts and frames.
- Filters now use WebGL for improved performance.
- Uptated underlying libraries to latest versions.
- Added support for retina scaling.