# Changelog

## 1.5.15 | September 17, 2026

- Fixed an issue where some image uploads could fail silently and not be saved to the entry.

## 1.5.14 | August 27, 2026

- Added support for drag-and-drop sorting of existing files rendered on Gravity Flow when editing entries.
- Fixed an issue where an unexpected (non-JSON) upload response could cause GP File Upload Pro to silently treat a failed upload as successful.
- Fixed issue where uploaded files were not displayed in the field when the form was embedded with certain page builders. Files still uploaded to the server but did not appear in the uploader.

## 1.5.13 | August 19, 2026

- Fixed issue where WebP images were not previewed or croppable in Safari.

## 1.5.12 | May 13, 2026

- Fixed issue where pressing enter in a text field after cropping an image would reopen the cropper.

## 1.5.11 | May 7, 2026

- Fixed typo in CSS class `gpfup__droparea--maxed` that was preventing proper styling when max number of files is reached.

## 1.5.10 | December 2, 2025

- Added Dutch translation. Credit: Koen Slagter.

## 1.5.9 | October 29, 2025

- Fixed issue where download links for File Upload Pro fields in PDFs generated by Gravity PDF were using public URLs rather than secure URLs.
- Added support for displaying `.webp` images inline in PDFs generated by Gravity PDF instead of linking to the files.

## 1.5.8 | October 9, 2025

- Added [`gpfup_after_upload`](https://gravitywiz.com/documentation/gpfup_after_upload) JavaScript action hook.

## 1.5.7 | June 11, 2025

- Added support for previewing and cropping newer versions of HEIC / HEIF files.

## 1.5.6 | May 14, 2025

- Removed redundant check for Gravity Perks in preparation for Spellbook.
- Fixed support for previewing and cropping HEIC files on some platforms.

## 1.5.5 | March 19, 2025

- Added support for modifying the filename markup using the [gpfup_filename_markup](https://gravitywiz.com/documentation/gpfup_filename_markup/) JavaScript filter hook.

## 1.5.4 | March 13, 2025

- Fixed an issue where dragging uploads to sort them would highlight the files you drag over.

## 1.5.3 | February 27, 2025

- Fixed race condition with image processing that could allow more than the max number of files to be uploaded. Note: it would still be caught during validation.
- Fixed an issue where previously uploaded files were not counted for max files limit in GravityView.

## 1.5.2 | February 19, 2025

- Fixed an issue with the cropper toolbar clipping buttons on smaller screens.

## 1.5.1 | January 29, 2025

- Added license files.

## 1.5 | January 22, 2025

- Added support for previewing and cropping HEIC files.

## 1.4.2 | October 16, 2024

- Fixed a compatibility issue with Gravity Forms 2.9.

## 1.4.1 | August 15, 2024

- Added default color to the delete button. This fixes an issue where some themes may cause the delete button to not be visible.

## 1.4 | June 21, 2024

- Fixed issue where warning icon was misaligned.
- Added support for rotating images using the user-facing cropper/editor. Rotating can be disabled using the [`gpfup_cropper_options`](https://gravitywiz.com/documentation/gpfup_cropper_options) JavaScript filter hook.

## 1.3.18 | May 22, 2024

- Fixed cropping issue when max canvas size limit was reached on iOS Devices.

## 1.3.17 | May 15, 2024

- Added [`gpfup_meets_minimum_requirement`](https://gravitywiz.com/documentation/gpfup_meets_minimum_requirement) JS filter hook.

## 1.3.16

- Fixed potential conflict with other plugins using Vue 2.

## 1.3.15

- Added German translations. Credit: Florian Rinnhofer of sportunion.at

## 1.3.14

- Improved compatibility with rehydrating images previously uploaded using GP Media Library.

## 1.3.13

- Fixed issue where an old, cached dependency version was occasionally breaking upload fields.

## 1.3.12

- Improved compatibility with other plugins using Vue.

## 1.3.11

- Updated an upstream dependency to resolve a rounding issue when cropping/resizing images.

## 1.3.10

- Improved support for cropping WebP images. If the browser does not support exporting `<canvas>`'s as WebP's, the WebP image will be treated as a non-image file.

## 1.3.9

- Added compatibility for Gravity Forms' new Theme Framework.

## 1.3.8

- Fixed an issue where files could show as done uploading even when the server is still processing the file which could result in a confusing user experience due to an alert being shown when clicking submit.

## 1.3.7

- Updated CSS specificity for the `.gpfup__delete` button to help prevent potentially odd styles from being inherited from themes.

## 1.3.6

- Fixed an issue with JPEG images not getting embedded in PDF generated by Gravity PDF.

## 1.3.5

- Updated the allowed image types for cropping/previewing to GIF, PNG, JPG, BMP, WebP, and SVG.

## 1.3.4

- Added Swedish translation. Hallå! Credit: Nikka Systems

## 1.3.3

- Improved accessibility by increasing contrast of "Drop file here" message as well as fixing an `aria-for` attribute on the field label.

## 1.3.2

- Fixed issue where development version of Vue would be used rather than the production version.

## 1.3.1

- Improved compatibility Gravity Forms 2.6's new AJAX saving.

## 1.3

- Added support for rehydrating File Upload Pro fields when editing GP Nested Form child entries.

## 1.2.4

- Fixed issue where images would not be output into PDFs generated by Gravity PDF if the extensions were not all lowercase.

## 1.2.3

- Fixed issue where uploading PSDs with a MIME type of either `image/psd` or `image/vnd.adobe.photoshop` would result in the file icon only showing a spinner and the upload not completing.
- Added "Update URI" to plugin header to improve security.

## 1.2.2

- Fixed issue where rehydration info would be output for any File Upload Field rather than ones using File Upload Pro which could cause PHP errors in some situations.
- Fixed JavaScript conflict that could occur in the Full Site Editor in WordPress 5.9 Beta.

## 1.2.1

- Added [gpfup_uploader_ready](https://gravitywiz.com/documentation/gpfup_uploader_ready/) JS action so other perks can safely subscribe to GPFUP events after the uploader has initialized. (#49)

## 1.2

- Added data-file-type and data-file-ext attributes to each file to enable more specific CSS targeting.
- Fixed PHP warning that could occur if Single File Upload fields are present in a form.
- Added support for rehydrating File Upload Pro fields connected to Gravity Forms User Registration update feeds.

## 1.1.10

- Added new [gpfup_scripts](https://gravitywiz.com/documentation/gpfup_scripts) PHP filter for filtering the registered scripts.

## 1.1.9

- Fixed issue where the "replacingFile" code flag on the Plupload instance would not be removed after a file had been replaced.

## 1.1.8

- Updated TIFFs to be treated as regular files since most browsers cannot render them nor convert to another format.

## 1.1.7

- Improved compatibility with other plugins using Vue as a dependency on the frontend. File Upload Pro now enqueues Vue as `gravityperks-vue-2`.

## 1.1.6

- Fixed an issue where disabling cropping on a field after requiring it may cause GPFUP to freeze.

## 1.1.5

- Fixed an issue where uploading a GIF file failed.

## 1.1.4

- Added i18n support for `Cropping x of y` in PO.

## 1.1.3

- Fixed errors when used with Gravity Forms User Registration Add-On to update user meta.

## 1.1.2

- Fixed a compatibility issue with the Gutenberg editor.
- Fixed issue where the File Upload Pro field settings container would add extra whitespace when not visible.

## 1.1.1

- Added [gpfup_before_upload](https://gravitywiz.com/documentation/gpfup_before_upload) JavaScript action.

## 1.1

- Fixed styling of notice below "Enable Multi-File Upload" setting in Form Editor when File Upload Pro is enabled for the selected field.
- Added server-side re-hydration which improves compatibility with Save & Continue

## 1.0.5

- Fixed a compatibility issue with Gravity PDF when uploading PDF files using GPFUP.

## 1.0.4

- Added new [gpfup_strip_image_metadata](https://gravitywiz.com/documentation/gpfup_strip_image_metadata) JavaScript filter to control whether or not image metadata/EXIF should be stripped from uploaded images.
- Added new [gpfup_jpeg_quality](https://gravitywiz.com/documentation/gpfup_jpeg_quality/) JavaScript filter for controlling the JPEG quality used when saving cropped images.

## 1.0.3

- Fixed issue where cropping would not work in some situations on multi-page forms or when using multiple File Upload Pro fields in the same form.
- Added support for using File Upload Pro in admin pages including pages created by the Ultimate Dashboard plugin.
- Fixed JavaScript warning if cropping was disabled.

## 1.0.2

- Added support for accessing File Upload Pro JavaScript instance using window.GPFUP_FORMID_FIELDID format. As a result, window.GPFUP was renamed to window.GPFUP_CONSTANTS and window.GPFUP_FORM_FORMID was renamed to window.GPFUP_FORM_INIT_FORMID.
- Added [gpfup_strings](https://gravitywiz.com/documentation/gpfup_strings/) JavaScript filter for customizing localized strings used on the frontend.
- Fixed issue where the image preview dimensions would be set to 0 causing the preview to not show if only image extensions are allowed.
- Added [gpfup_skip_image_loader](https://gravitywiz.com/documentation/gpfup_skip_image_loader/] JavaScript filter.
- Fixed issue where cropping constraints would be applied/enforced even with cropping disabled.

## 1.0.1

- Fixed issue where long filenames were not correctly truncated via styles. (#24)

## 1.0

- Added setting to enable drag-and-drop sorting of files.
- Added settings for specifying minimum, maximum, and exact size constraints.
- Added aspect ratio setting.
- Added support for automatically stripping EXIF data.
- Added automatic orientation detection of images based on EXIF data.
- Added support for using File Upload Pro in Custom Field fields that are set to "File Upload" field type.
- Added notice below "Enable Multi-File Upload" field setting if File Upload Pro is enabled for the current field.
- Improved flow of enabling File Upload Pro for File Upload fields. When enabling File Upload Pro on a given field, "Enable Multi-File Upload" will automatically be checked. Enabling File Upload Pro on Single-file Upload files with existing entries will offer the option to upgrade the field to a Multi-File upload.
- Improved styling consistency in themes.
- Added "gpfup--strict" for enabling aggressive styling of troublesome elements.
- Added border radius on image preview when circle stencil was used to match the stencil.
- Fixed issue where image previews could be lost after submission when there's a validation error.
- Added support for rendering images in Gravity PDF uploaded in a field using File Upload Pro.
- Added [gpfup_image_loader_options](https://gravitywiz.com/documentation/gpfup_image_loader_options/) and [gpfup_cropper_options](https://gravitywiz.com/documentation/gpfup_cropper_options/) JS filters.
- Improved styling of cropper by adding grid lines to the crop area.
- Fixed issue where drag handle displayed incorrectly in Gravity Forms 2.4.
    - Added validation for minimum constraints. Images that don't meet the constraints will not be uploaded.
    - Improved handling of z-index of cropper by appending cropper near the closing </body> tag.
    - Fixed issue where the cropper UI with forced cropping enabled could get into a bad state if uploading more files than the max files setting allows for.

## 1.0-beta-1.10

- Fixed a compatibility issue with WooCommerce GF Product Add-on.

## 1.0-beta-1.9

- Fixed issue where pressing the enter key in certain fields would open up the file browser.
- Improved field settings by conditionally showing/hiding settings such as Cropping Required if Cropping is not enabled.
- Fixed issue where the cropper could potentially open up with the incorrect dimensions/coordinates after other images have been cropped.
- Improved how images are passed into Plupload when dragging-and-dropping onto the droparea.
- Added option to require that images are cropped prior to upload.
- Fixed issue where cropping would be unreliable if there were more than one enhanced File Upload field on a page.

## 1.0-beta-1.8

- Fixed a compatibility issue with WordPress 5.7.

## 1.0-beta-1.7

- Fixed issue where File Upload Pro could inadvertently bind multiple times on the frontend.

## 1.0-beta-1.6

- Fixed compatibility issue with Nested Forms where the file list would not be reset when editing entries or adding new entries.

## 1.0-beta-1.5

- Added helper classes to assist in styling when max is reached or an u… (#5)

## 1.0-beta-1.4

- Fixed issue where File Upload Pro would try to initialize the frontend prior to Plupload being ready.

## 1.0-beta-1.3

- Improved compatibility with GP Nested Forms.
- Fixed issue with scrolling potentially not being possible after adding files. Additionally, fixed an issue with the core Gravity Forms file list not being removed under the GPFUP area.
- Fixed potential JavaScript warnings/errors on initial load.

## 1.0-beta-1.2

- Fixed issue where File Upload Pro would be initialized multiple times particularly when using Popup Maker.

## 1.0-beta-1.1

- Fixed issue where multiple forms using File Upload Pro on the same page would result in only the first form having enhanced upload fields.

## 1.0-beta-1

- Updated style of error icon in images-only mode.
- Fixed issue where erred files would double up in some cases.
- Improved how the image preview placeholder sizing is handled on rehydration.
- Improved reliability of file sorting and consistency with the file sort order after submission.
- Fixed issue where cropper editor would not open in some cases after page load.
- Fixed issue where file orders would not remain the same between page loads.
- Fixed issue where the original image would be lost when cropping on subsequent page loads.
- Fixed issue where cropper would not work if validation is failed and cropper was not used right after initial upload.
- Added support for rehydrating the uploader in various situations such as when validation fails and the page refreshes, non-AJAX multi-page navigation, and more.
- Updated ErroredFileOrderCept.php to include nth locators.
- Added two new tests for rendering.
- Fixed issue where cropping coordinates would not be restored in the cropper when working with images using the same filename.
- Fixed issue where deleting a file before submission would not prevent the file from being submitted.
- Fixed issue where deleting files wouldn't work reliably with IE11.
- Fixed regression with droparea flickering depending on how quickly you drag in the file(s).

## 1.0-alpha-3.1

- Fixed styling issue in some themes where droparea would be resized when dragging a file over it hid the Select Files button.
- Added slight debounce to files watcher to eliminate flash of files that goes beyond the max.

## 1.0-alpha-2.1

- Fixed issue where more files than the max could be dropped onto the droparea.
- Updated setting label and added text domain to translatable strings.
- Added test scaffold.
- Added transition for when files are added/removed.
- Fixed issue where cropping more than once would cause re-ordering.
- Added class to uploader container if only image extensions are allowed.
- Added transition to cropper show/hide.
- Added spinner when images are loading on slow connections.
- Updated progress bar styling.
- Removed font-size from Select Files button to better inherit from theme.
- Updated error color to match GF default.
- Removed max-width; will provide feedback for users wanting to implement this in their themes.
- Improved file preview UX.
- Improved loading UX by more smoothly transitioning the appearance and removal of the progress bar.
- Fixed issue where cropping would change the file order.
- Fixed issue where canceling a crop would remove the file.
- Fixed issue where loading bar would start fading out during the width transition.
- Fixed box width of file info to ensure consistent sizing of loading bar
- Added maximum width to GPFUP container of 650px. It can be overridden by targeting the .gpfup class.
- Fixed issue where erred files would show up at the bottom of the uploader rather than mixed in with uploaded files.
- Added minimum display time to loading indicator.
- Fixed issue where root Vuex store was being shared across GPFUP fields on the same page.
- Fixed issue where backend upload errors weren't being passed back to the frontend.
- Fixed issue where dragleave would fire when hovering over children elements in the drop area.
- Fixed issue where image previews were trying to be created for non-image files which would result in a broken preview instead of a file type icon.
- Fixed issue where non-image placeholder was shown even when the non-image file was not uploaded successfully.
- Added ellipsis for text overflowing from container.
- Updated "select files" button to default to theme (or browser) styles.
- Added ability to cancel new uploads in cropper
- Added max file, max size, and extension validation to the UI.
- Added toggle for explicitly setting whether or not cropping is enabled.
- Fixed issue where editing an image would result in multiple uploads
- Added workflow for profiling prod build
- Added blob-util
- Added basic style and moved droparea into its own component
- Added field setting
- Added README.md

## 1.0-alpha-2.0

- Basic functionality implemented

## 1.0-alpha-1.0

- Hello World!
