# Changelog

## 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!
