-
Notifications
You must be signed in to change notification settings - Fork 22
/
change_log.txt
5622 lines (4938 loc) · 458 KB
/
change_log.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
### 2.9.0 | 2024-11-05
- Added a new "Multiple Choice" field.
- Added a new "Image Choice" field.
- Added new AJAX submission functionality.
- Added support for encrypting and decrypting settings fields.
- Added the ability to import images into the media library when forms are imported.
- Added screen reader only headings to the form editor for better accessibility.
- Added accessibility improvements to the "allowed file extensions" setting in the form editor.
- Added notices about the removal of Legacy Markup in 3.1.0.
- Added the ability to output config scripts by using the `gform_output_config` action.
- Added the ability to clear default choices in the choices flyout in the form editor.
- Updated the form editor to use the Orbital theme.
- Updated location of some field settings from the choices flyout to the form editor sidebar.
- Updated field configuration error messages in the form editor to be more consistent.
- Updated browser alerts in the form editor to use a dialog modal.
- Updated the markup of many settings in the form editor sidebar for better accessibility.
- Updated the "Select All" functionality on the Checkbox field so that if all choices have been selected, and then one is deselected, the button goes back to saying "Select All".
- Updated the compact view in the form editor to show icons based on the field type, not the field input type.
- Updated asset enqueuing in the front end and the admin to be more efficient.
- Fixed an issue that prevents users from closing the conditional logic flyout in the form editor.
- Fixed an issue where dynamic field population is not working for fields inside a Repeater.
- Fixed an issue where forms with multiple pages hidden by conditional logic can fail honeypot validation.
- Fixed an issue where the full screen handler performs an unnecessary database query, which impacts front-end performance for some hosting environments.
- Fixed an issue where the embed_post and custom_field merge tags return empty when used in notifications and add-on feeds that are processed asynchronously.
- Fixed an issue where canceling a confirmation dialog still applies the change on choice fields.
- Fixed an issue in the Orbital theme where ordered and unordered lists are not using the theme list-style property where expected.
- Fixed an issue where the inline styles for the Theme Framework are always being output for forms using the Orbital theme when they should be disabled.
- Fixed a bug that causes the wrong page titles on the Import Forms and Export Forms pages.
- Removed support for Internet Explorer.
- AF: Added the [`gform_entry_meta_pre_render_feed_settings`](https://docs.gravityforms.com/gform-entry-meta-pre-render-feed-settings) filter, so entry meta fields can be made available to the feed conditional logic setting.
- API: Added the `source_id` column to the `gf_entry` table.
- API: Added the [`gform_field_choices_max_count_visible`](https://docs.gravityforms.com/gform-field-choices-max-count-visible/) filter to allow for the setting of the maximum number of choices shown in the form editor for choice based fields.
- API: Added the [`gform_image_choice_input_visibility`](https://docs.gravityforms.com/gform-image-choice-input-visibility/) filter for the default input visibility for the Image Choice field.
- API: Added the [`gform_image_choice_label_visibility_default`](https://docs.gravityforms.com/gform-image-choice-label-visibility-default/) filter for the default label visibility for the Image Choice field.
- API: Added the [`gform_checkbox_limit_exact_message`](https://docs.gravityforms.com/gform-checkbox-limit-exact-message/) filter to allow the customization of the message displayed on the Multiple Choice field when the field requires an exact number of selections.
- API: Added the [`gform_checkbox_limit_range_message`](https://docs.gravityforms.com/gform-checkbox-limit-range-message/) filter to allow the customization of the message displayed on the Multiple Choice field when the field requires a range of selections.
- API: Added the [`gform_checkbox_limit_max_message`](https://docs.gravityforms.com/gform-checkbox-limit-max-message/) filter to allow the customization of the message displayed on the Multiple Choice field when the field requires a maximum number of selections.
- API: Added the [`gform_checkbox_limit_min_message`](https://docs.gravityforms.com/gform-checkbox-limit-min-message/) filter to allow the customization of the message displayed on the Multiple Choice field when the field requires a minimum number of selections.
- API: Added the [`gform_default_choice_alignment`](https://docs.gravityforms.com/gform-default-choice-alignment/) filter to set the default alignment for the Multiple Choice field.
- API: Added a JS module to keep track of current product field selection.
- API: Added a JS state management module to keep track of form stata.
- API: Added the [`gform_source_id_pre_save_entry`](https://docs.gravityforms.com/gform_source_id_pre_save_entry/) filter, so the value to be saved to the entry source_id property can be overridden.
- API: Added a new [`gform/ajax/post_page_change`](https://docs.gravityforms.com/gform-ajax-post_page_change/) JavaScript event that runs after a page change with the new AJAX functionality.
- API: Updated the config framework to support form specific config items to be added to the config object and output to the page.
- API: Updated the theme framework utility classes of `.gform-theme__disable` and `.gform-theme__disable-framework` to also disable theme framework styles for field labels and descriptions.
- API: Deprecated the `UpdateFieldChoices` function. Use `RefreshSelectedFieldPreview` instead.
- API: Removed the deprecated form Theme Framework global CSS API properties.
- API: Added the [`gform_entry_meta_pre_evaluate_conditional_logic`](https://docs.gravityforms.com/gform-entry-meta-pre-evaluate-conditional-logic) filter, so the entry meta fields supported for use with conditional logic can be customized before the rules are evaluated.
- API: Added the [`gform_entries_action_links`](https://docs.gravityforms.com/gform-entries-action-links) filter to allow for modification of an entry action links in the form entries page.
- API: Updated the product config logic so that it filters the form via the ['gform_pre_render'](https://docs.gravityforms.com/gform_pre_render/) filter.
- API: Added a new Javascript event [`gform/post_init`](https://docs.gravityforms.com/gform-post-init/) that is triggered after the form has been initialized and can be used by add-ons to load necessary scripts after all Gravity Forms scripts are loaded.
### 2.8.18
- Fixed spacing and margin issues in the admin and help sections for RTL mode.
- Fix spacing and margin issues in the settings currency dropdown when viewing the site in RTL.
- Fixed an issue where get_submitted_fields() is not returning the correct field values if meta keys are not numeric.
### 2.8.17
- Updated the form restriction logging statements to include the form ID.
- Fixed an issue where the license key is not saved for some sites in a multisite/network installation.
### 2.8.16 | 2024-08-12
- Added security enhancements.
- Added unique aria labels to the main links on the form list, entry list, confirmation list, and notification list to improve accessibility.
- Updated the licensing messages on the plugins page to be consistent with the settings page.
- Updated the results page title to be unique for better accessibility.
- Updates for WP 6.6 compatibility.
- Fixed an issue where a number field with range has an invalid aria-describedby attribute when it fails validation.
- Fixed issues with the choices flyout in the form editor in RTL languages.
- Fixed an issue where a database error occurs during background processing if the site that queued the task is deleted.
### 2.8.15 | 2024-07-29
- Added improvements to translator comments.
- Added improvements for WordPress 6.6 compatibility.
- Updated the text of the donation form template to be more consistent.
- Updated admin page titles to be unique for better accessibility.
- Fixed a 404 link pointing to the Chosen library in the enhanced UI info box in the field settings sidebar.
- Fixed an issue that sometimes prevents users from editing the "End Paging" settings.
- Fixed an issue where temporary file uploads for abandoned submissions can remain longer than intended if the form is not submitted again.
- Fixed an issue where the expected choices are not included in the Select a Field setting on the Notification configuration page when using the [`gform_email_fields_notification_admin`](https://docs.gravityforms.com/gform_email_fields_notification_admin/) filter.
- Fixed an issue where a form embedded in the confirmation message can't submit because block styles are inserted in the middle of the init scripts.
### 2.8.14 | 2024-07-10
- Fixed the compatibility of the reCAPTCHA v2 field with Conversational Forms by removing the field from the form in Conversational view.
- Fixed a PHP warning that occurs when the current user role only has the capability to access the System Status Page.
### 2.8.13 | 2024-06-26
- Fixed an issue where custom theme styles are sometimes not applied on confirmation page or when navigating between pages in a multi-page form.
- Fixed an issue where the AJAX spinner init script is output in save and continue notifications, which can impact deliverability in some environments.
- Fixed an issue where a choice of 00 in the minute settings for the form scheduled start and end times changes to 01 on save.
- Updated and improved the performance of database queries by removing the legacy table check.
- AF: Fixed an issue where a saved value of 0 is not displayed in text type settings.
### 2.8.12 | 2024-05-29
- Fixed an issue where a console error is thrown if gform.initializeOnLoaded is called directly.
- Fixed an issue where the Conversational Forms Add-On settings page is not displayed if the site is using a plugin to manage roles and capabilities.
### 2.8.11 | 2024-05-15
- Fixed an issue where some forms are broken due a missing gform variable caused by recent changes to the Dom_Parser class.
- Change the Dropdown component con compact view for the Droplist
- Updated package version
### 2.8.10 | 2024-05-14
- Fixed a fatal error when a user submits a form with files attached to the Save & Continue notification.
- Fixed memory exhaustion and performance issues caused by the Dom_Parser class being loaded on every request.
- Fixed an issue with ajax-enabled multi-page forms with conditional logic, where fields that should be hidden by conditional logic are visible for a fraction of a second.
- Fixed an issue where the conditional logic settings for the Address Field are displayed with wrong values if the [`gform_countries`](https://docs.gravityforms.com/gform_countries) filter is used to change the country list to include country codes.
- API: Added the [`gformIsHidden`](https://docs.gravityforms.com/gformishidden) filter to allow developers to determine if a field is hidden by conditional logic. Credit: The Gravity Wiz Team.
- API: Added the [`gform_generic_map_field_choices`](https://docs.gravityforms.com/gform_generic_map_field_choices) filter for options displayed in a Generic Field Map. Credit: The Gravity Wiz Team.
### 2.8.9 | 2024-04-30
- Added a new form setting to put field validation messages above inputs.
- Added the [`gform_bypass_template_library`](https://docs.gravityforms.com/gform_bypass_template_library) filter to bypass the template library and create a blank form.
- Fixed an issue where an invalid value in a hidden state field causes a fatal error on submission.
- Fixed an issue where the wrong value populates into the "other" choice input if a Radio field with conditional logic has "other" choice enabled and a default value set.
- Updated the backwards compatibility of the file upload field if no files are selected.
### 2.8.8 | 2024-04-23
- Added security enhancements.
- Fixed a fatal error in WordPress 6.5 when using a 3rd-party add-on without a defined slug.
- Fixed a PHP notice that is thrown when calling GFForms::get_form() with just the form ID parameter.
- Fixed an issue where the submit button was blocked by the reCAPTCHA field in IOS devices when using certain themes.
- Fixed an issue where the `gform_progressbar_start_at_zero` filter is not working with forms that have page conditional logic.
- Fixed a PHP notice that can be displayed when instantiating the GF_Locking class in certain contexts.
- Updated status indicator component to use improved markup and styles.
### 2.8.7 | 2024-04-03
- Fixed a bug where total calculation and post conditional logic events sometimes aren't called when using the `gform_abort_conditional_logic_do_action` filter.
- Fixed a fatal error that sometimes occurs when deleting entries.
- Fixed a bug that causes the plugins page to display "Auto-updates disabled" for Gravity Forms when auto-updates are turned on with the `auto_update_plugin` filter.
- Fixed a bug that prevents the `gform_pre_validation` filter from running when an individual field is validated, such as in a conversational form.
- Updated JavaScript and CSS from the assets directory to always load minified versions.
- Updated the minimum WordPress version (for support) on the System Status page to 6.4.
### 2.8.6 | 2024-03-21
- Added *[gform_custom_merge_tags](https://docs.gravityforms.com/gform_custom_merge_tags/)* JavaScript filter to allow the inclusion of custom merge tags.
- Added `gform_merge_tags_supported_input_types` JavaScript filter to allow the inclusion of specific input types for merge tags.
- Added the `gform_pre_post_render` filter to GFFormDisplay::post_render_script() to abort the rendering process.
- Fixed a bug that prevents the error icon from displaying in the validation summary in the Gravity Forms 2.5 Theme.
- Fixed the padding of field validation messages in the Gravity Forms 2.5 Theme.
- Fixed a bug that prevented notification CC and BCC fields from correctly handling comma-separated merge tags.
- API: Updated the file upload field value in the draft entry from GFFormsModel::create_lead() to contain a JSON encoded array of file details instead of the incorrect file URL.
- API: Updated the border color of disabled inputs in the Settings API.
### 2.8.5 | 2024-03-06
- Added security enhancements.
- Fixed the `gform_required_legend` filter to that the `$form` parameter is passed correctly.
- Fixed an issue that causes the Entry menu item to appear disabled when on an Entry screen.
- Fixed an issue where importing a form with Next buttons causes an error.
- Fixed an issue which causes empty column headers in entry exports for the address field latitude and longitude inputs added by the Geolocation Add-On.
- Fixed an issue that prevents replacement of the field merge tag when the input ID includes alphanumeric characters like {Address (Latitude):1.geolocation_latitude}.
- Updated the datepicker to fit on small screens.
### 2.8.4 | 2024-02-21
- Fixed an issue that causes fields like the signature field to not render correctly in hidden interfaces such as tabs or modals.
- Fixed an issue where the merge tag dropdown in the product field shows the incorrect options.
- Fixed an issue which causes the incorrect confirmation to display when deleting a "display only" field.
- Fixed an issue that displays the Consent field description value in the {all_fields} merge tag.
- Fixed the display of the name field tooltip in the form editor in Safari.
- Fixed an issue where the post selector dropdown is not displaying for form confirmations using the Page confirmation type.
- Updated the log files section of the system report to list older files that have been rotated out.
- Updated File Upload field to display correct values on the form review page.
### 2.8.3 | 2024-02-01
- Added telemetry data points.
- Fixed an issue where the honeypot was not working on forms using the Stripe Field with additional payment methods enabled.
- Fixed an issue where under certain conditions, an error saying "undefined index 'page_instance'" is shown when rendering a form.
- AF: Updated the Settings API so that form meta saved in a settings field save callback will not be lost.
### 2.8.2 | 2024-01-18
- Added security enhancements.
- Fixed an issue where the datepicker does not work in the repeater field.
- Fixed an issue that sometimes causes extra spacers to be added to forms.
- Fixed an issue where conditional logic rules based on anything but the first choice of a radio or checkbox field do not work in forms created in Gravity Forms 2.8.1. Users will need to delete and re-create the conditional logic rules to fix the issue.
- AF: Fixed an issue where the readonly attribute is not added to settings fields.
### 2.8.1 | 2024-01-04
- Added support for conditional logic rules based on Survey fields for confirmations, notifications, and feeds.
- Fixed various warnings and notices in PHP 8.1 and 8.2.
- Fixed an issue where address inputs are sometimes vertically mis-aligned in the Gravity Forms 2.5 theme.
- Fixed display issues with the merge tag dropdown in Firefox.
- Fixed the display of tooltips in the form editor in Safari.
- Fixed an issue that prevents conditional logic from working on the submit button on multi-page forms if the last page is also hidden with conditional logic.
- Fixed an issue that prevents the conditional logic UI from displaying on duplicates of the default confirmation.
- Fixed an issue where it is difficult to access the field admin icons with the mouse in the form editor.
- Fixed an issue where users without the `gravityforms_edit_entries` capability can mark entries as read/unread.
- Fixed conditional logic on the product option field.
- Updated the format of telemetry data.
- AF: Added feed processing when entries are marked as "not spam".
- Updated merge tag dropdown on number field to allow live preview before saving form.
### 2.8.0 | 2023-12-07
- Added a compact view to the form editor.
- Added the default theme to the system report.
- Added performance improvements by only enqueueing necessary styles on the front end.
- Added support for field sidebar messages.
- Added the `gform_display_disable_css_setting` filter to allow the display of the Output Default CSS setting.
- Updated the telemetry background processor to log when it fails to send data.
- Updated the field accordions in the form editor to all be open by default.
- Updated the minimum WordPress version on the System Status page to 6.3.
- Removed deprecated function `string.format()`.
- Removed several unused images.
- Removed the "Output Default CSS" setting from the settings page and replaced it with the [`gform_disable_css`](https://docs.gravityforms.com/gform_disable_css/) filter.
- Removed the HTML5 setting from the settings page.
- API: Removed the deprecated form Theme Framework global CSS API color system properties.
- API: Updated and refactored the form Theme Framework CSS API to reduce stylesheet size for better performance.
### 2.7.17 | 2023-11-09
- Fixed an issue that prevents the post category selector from appearing correctly in WordPress 6.4.
- Fixed an issue where multipage forms with conditional logic display the wrong text on the "next" button.
### 2.7.16 | 2023-10-25
- Updated the API endpoint for telemetry data.
- Fixed a bug that causes values of checkbox fields to appear twice on the entry list page.
- Fixed a bug that prevents form block style settings from being applied.
- Fixed jQuery deprecation notices in the form preview for the following fields: email, product, total, and stripe fields, as well as some conditional logic.
- Fixed "undefined index" errors that sometimes appear when a form is embedded with a shortcode. Credit: The GravityKit team.
- AF: Updated the background processor to include additional logging statements around batch processing.
- API: Added a new JavaScript action hook [gform_post_set_field_property](https://docs.gravityforms.com/gform_post_set_field_property/) in the form editor to listen for field property changes.
### 2.7.15 | 2023-10-05
- Added a new global setting to select the default form theme. On new sites, "Orbital" will be the default theme.
- Added a 'theme' parameter to the Gravity Forms shortcode.
- Added a new [`gform_default_styles`](https://docs.gravityforms.com/gform_default_styles/) filter to apply the same styles to all forms on a site.
- Fixed an issue where the setup wizard saves an empty license key if the user clicks the "Skip" button.
- Fixed an issue that causes fatal errors on some sites during the background processing of telemetry data.
- Fixed an issue where feed settings for ActiveCampaign, Agile CRM, Breeze, Mailchimp, Trello, Twilio, and ZohoCRM display a deprecation warning when using PHP 8.1.
- Updated the appearance of the template library.
- Updated the name of "Gravity" theme to "Gravity Forms 2.5 Theme."
- AF: Fixed the `Creation of dynamic property CLASS::$delayed_payment_integration is deprecated` notice with PHP 8.2.
- AF: Fixed an issue where the background feed processor uses a stale instance of the add-on to process the feed preventing the {apc_media} merge tags from outputting values.
### 2.7.14 | 2023-09-19
- Added validation to name, post title, post body, single line text, paragraph text & address fields to prevent empty entries when fields are filled with text encoded with invalid charset for the database table.
- Fixed an issue where editing an entry with a multifile upload field could result in broken links to files.
- AF: Fixed the `strpos(): Passing null to parameter #1 ($haystack) of type string is deprecated` notice that can occur with PHP 8.1 when getting a setting value.
### 2.7.13 | 2023-08-23
- Updated the minimum WordPress version on the System Status page to 6.2.
- Updated product usage data so it is processed in the background.
### 2.7.12 | 2023-08-08
- Fixed a fatal error that occurs when a mapped setup_fee field is hidden by conditional logic.
- AF: Added the [`$_min_compatible_gravityforms_version`](https://docs.gravityforms.com/gfaddon/#h-the-class-variables) property to the `GFFAddOn` class, enabling add-ons to specify the minimum Gravity Forms version that is compatible with all the add-on features.
### 2.7.11 | 2023-07-27
- Added a block theme setting for form input accent color.
- Fixed an issue that causes JavaScript errors in the theme if certain script optimization plugins are used.
- Fixed an issue where honeypot validation was failing on multipage forms if the last page was hidden by conditional logic.
- Fixed an issue where printing an entry with the nested form field is causing a fatal error.
- Fixed errors that occur when attempting to install translations on a WordPress filesystem that requires credentials.
- Fixed the "no route found" error when performing an OPTIONS request to the REST API v2 endpoints.
- Fixed an issue where license validation fails when using a non-standard license key.
- API: Added support for an accent color for input styles for the theme framework.
- API: Added a theme framework utility class of `.gform-theme__disable-reset` to disable theme framework reset styles.
- API: Added a theme framework utility class of `.gform-theme__disable-framework` to disable theme framework styles.
- API: Added a theme framework utility class of `.gform-theme__disable` to disable theme framework and reset styles.
### 2.7.10 | 2023-07-12
- Added security enhancements.
- Fixed a PHP fatal error that occurs when the theme or another plugin sets an invalid property value on the $wp_filter global variable.
- Fixed an issue for the Orbital theme where hidden inputs were receiving focus in Safari during keyboard navigation.
- Fixed various deprecation notices in PHP 8.1.
- Fixed the enhanced UI for select and multiselect fields to work within conversational forms.
- Updated the Orbital theme to support max-height/scroll for the consent field.
- Updated the thumbnail image in the template library for the eCommerce template.
- Updated the name of the form block to "Form" to make it easier to find in the block inserter.
### 2.7.9 | 2023-06-22
- Fixed an issue where an empty Number type Quantity field fails validation with a decimals-related error message.
- Fixed an issue where the custom validation message is not applied when a Number type Quantity field fails validation.
- Fixed an issue where the first page of a form gets an incorrect data attribute.
- Updated the Post Custom Field with List input type to look the same as the normal List field in the Orbital theme.
- API: Fixed an issue in the color setting component where the selected indicator for custom colors can't be seen on light backgrounds.
### 2.7.8 | 2023-06-08
- Fixed a bug that prevents dynamic population from working in the block settings.
### 2.7.7 | 2023-05-25
- Added the ability to display error messages for Drop Downs and Textareas on form editor's field settings panel.
- Fixed a bug that prevented HTML tags from using theme styles in the Orbital theme.
- Updated how the form block is rendered so it no longer uses the shortcode.
- Updated the entry list to support array values for custom entry meta. Credit: The Gravity Wiz team.
### 2.7.6 | 2023-05-10
- Fixed an issue where the HTML field filters out JavaScript.
- Updated the handling of submit button conditional logic to add a data attribute indicating whether a button is hidden or not.
- API: Added `gform/conditionalLogic/applyRules/start` and `gform/conditionalLogic/applyRules/end` JS event triggers for conditional logic to accommodate conversational forms.
### 2.7.5 | 2023-05-03
- Added security enhancements.
- Fixed an issue where `GF_Field_Consent::is_value_submission_empty()` returns the wrong result when editable fields are validated during progress save on the Gravity Flow User Input step.
- Fixed an issue where Conversational Forms with similar slug names to a post or page are not rendered.
- Fixed an issue where turning off Legacy Markup with the `gform_enable_legacy_markup` filter results in a fatal error.
- Updated the minimum WordPress version on the System Status page to 6.1.
- Updated the location of our NPM packages.
- Updated the theme framework reset to inherit site theme typographic styles for form confirmation html.
- API: Added a new function `GFFormsModel::get_forms_columns()`` to get a list of specified form data. Credit: The GravityKit team.
- API: Added "date_updated" to the list of form database columns. Credit: The GravityKit team.
- API: Added the `gform_conditional_logic_is_valid_flyout_click` filter to allow third parties to designate valid conditional logic flyout clicks. Credit: Gravity Wiz.
- API: Fixed a bug that prevents developers from overriding the button setting default values. Credit: The GravityKit team.
### 2.7.4 | 2023-04-11
- Added security enhancements.
- Fixed an issue that causes block style settings to disappear on a form with validation errors.
- Fixed PHP warnings on the time field in some versions of PHP.
- Fixed an issue that blocks the Color Picker Input Border Styles from displaying.
- Fixed an issue that prevents the honeypot from working if the last section of a form is hidden by conditional logic.
- Fixed an issue that prevents new installations of Gravity Forms from showing up in the user account page on gravityforms.com.
- Fixed an issue that causes incorrect "Upgrade" notifications on the form template library for some license types.
- Updated the link for the "open a support ticket" text on the help page.
- Updated the textarea in the new form dialog to prevent layout problems and unnecessary scrollbars.
- Updated the new form dialog for better keyboard accessibility.
- Updated how conditional logic is handled to add data attributes to hidden and visible fields.
- API: Added new filter `gform_addon_form_settings_fields` to allow addons to modify the settings fields displayed on a given form settings page.
- API: Added a new filter `gform_validate_required_file_exists` to allow developers to override the default behavior of the file upload field when validating required files.
- AF: Fixed a fatal error that occurs when when saving settings that include a setting named "enable" when logging has not been configured for an add-on.
### 2.7.3 | 2023-03-15
- Fixed an issue that prevents accessing the settings page after failed license validation in the setup wizard.
- Fixed an issue that prevents the template library stylesheet from loading in no-conflict mode and makes the template library unusable.
- Fixed a compatibility issue with WordPress 6.2 where forms are not rendered properly in the Block Editor.
- Fixed an issue where some CSS files are loading when the Output Default CSS setting is turned off.
- Fixed an error on the widgets page that prevents the Gravity Forms block from working as a widget.
- Fixed an issue which prevents sorting by number in the total field.
- Fixed an issue that removes some inputs' sublabels when forms are saved.
- Removed the about page images from the codebase to reduce the codebase size.
- API: Added CSS API global custom properties for the contrast color for the theme framework's danger and success colors.
- API: Added CSS API global custom properties to allow for specifying of the various max border-radius sizes we support.
- API: Added CSS API global custom properties for the checkbox, date, file, select, and textarea border-radius property.
- API: Fixed an issue where the Radio and Card settings fields do not render choice IDs.
### 2.7.2 | 2023-03-01
- Fixed an issue where some Gravity Forms CSS files load in the WordPress admin when they aren't needed.
- Fixed an issue for sites hosted with WordPress.com where the “Enable auto-updates” spinner on the installed plugins page spins indefinitely.
- Fixed an issue where the WP-CLI `wp plugin auto-updates` commands aren't compatible with the background updates setting.
- Fixed deprecation notices in PHP 8.1.
- API: Updated and simplified the form Theme Framework's global CSS API color system.
- API: Deprecated some of the form Theme Framework's global CSS API color system.
- API: Fixed the add/remove buttons on the generic field map field so that they always display horizontally.
### 2.7.1 | 2023-02-14
- Added "Date Updated" to the list of default exported entry values. Credit: The GravityKit team.
- Updated the setup wizard to use a placeholder instead of default value of "blog" in the website type dropdown.
- Updated entry saving to add a note to the entry when batch saving of field values fails.
- Updated the template library to show the basic contact form before the advanced contact form.
- Updated the form submission logging statements.
- Updated the map link in the address field to open in https.
- Updated the system report to list a few recently run scheduled events (cron jobs).
- Updated the link and text on the reCAPTCHA button on the settings page.
- Updated the form template library to account for wordpress.com license type.
- Fixed an issue which prevents new forms from being saved if the title or description contain double quotes.
- Fixed an issue where in a multisite installation the setup wizard is displayed for all sites even after it is completed in the main site.
- Fixed an issue with the file upload field that allows for empty submissions of required multi-file upload fields.
- Fixed database warnings when a site has forms added before 1.8.
- Fixed a fatal error that occurs on front-end page load with MySQL versions between 5.7 and 5.7.8 and MariaDB versions up to 10.2.25.
- Fixed an accessibility issue that causes an empty div instead of the error message to be focused on form submit when the form has validation errors.
- Fixed an issue that causes the Simplebar JS library to load on the front end.
- Fixed an accessibility issue that prevents the product quantity screen reader text from rendering on the front end.
- Fixed the "for" attribute in checkbox inputs with more than 10 checkboxes in the repeater field.
- Fixed display problems when using an extended consent field in the Orbital theme.
- Fixed the password strength indicator in the default Gravity Theme to make it use colors to indicate password strength.
- Fixed an issue where the user can't login with the password they entered during registration when background feed processing is enabled for the User Registration Add-On.
- Fixed an issue that causes a required number input in a repeater to fail validation if the value is 0.
- Fixed the filter 'gform_post_select_initial_count' not applying the passed value correctly.
- Fixed an issue where the file upload field merge tag is returning the direct link to the file when used in the confirmation query string.
- Fixed an accessibility issue with inline svg files inside focusable elements.
- Fixed the warning that is thrown when creating a blank form.
- Fixed an issue that causes confusing image tags in the copied system report.
- Fixed an issue that prevents checkbox value modifiers from working when there are multiple modifiers.
- Fixed an issue that causes the subtitle text on the about page to not be readable.
- Fixed naming collisions with external JavaScript code by deprecating our custom String.prototype.format() function in favor of String.prototype.gformFormat().
- Removed unused images to downsize the image folder.
- Removed the inaccurate site registration status item from the copied system report.
- Removed an extra curly brace from the class-gf-field-name.php file.
- AF: Fixed an issue with the settings hidden field that prevented custom css classes or custom id attributes from being specified in the field settings.
- AF: Improved keyboard accessibility of the image radio and card settings field types.
- AF: Improved form submission performance for sites with multiple payment add-ons active.
- AF: Updated `GFFeedAddOn::maybe_process_feed()` to call `$this->delay_feed()` when the feed is added to the background processing queue.
- API: Added the [gform_pre_process_async_notifications](https://docs.gravityforms.com/gform_pre_process_async_notifications/) and [gform_post_process_async_notifications](https://docs.gravityforms.com/gform_post_process_async_notifications/) hooks to the background notifications processor.
- API: Added the [gform_search_criteria_entry_limit_validation](https://docs.gravityforms.com/gform_search_criteria_entry_limit_validation/) filter.
- API: Fixed the "no route found" error when performing an OPTIONS request to the REST API v2 endpoints.
- API: Fixed an issue where feeds can be created for forms that don't exist.
- API: Fixed an issue where feeds couldn't be created for form ID 0, which is required for feeds that can be used by any form.
- API: Fixed an issue where resetting one custom select field resets all custom select fields on the page.
### 2.7 | 2023-01-25
- Added an improved Setup Wizard.
- Added the Orbital Form Theme, a theme with opinionated styles that is customizable in the block style settings.
- Added form style settings to the Gravity Forms block to allow users to easily customize the appearance of their forms.
- Added the Form Template Library to make it easier to create common forms.
- Added new Honeypot functionality to increase spam protection.
- Added a new Honeypot form setting to allow entries to be created and marked as spam when the Honeypot catches a form submission.
- Added the ability to upgrade a license from the settings page.
- Added performance improvements to form submissions for forms with lots of confirmations.
- Added performance improvements to form rendering.
- Added performance improvements to merge tag processing. Credit: The GravityKit team.
- Added accessibility improvements to the system report page.
- Added accessibility improvements to the Form, Entry and Feed List tables to improve accessibility.
- Added "Gravity Forms" to the title of admin pages to improve accessibility.
- Added underlines to links in the Form Validation Summary for better accessibility.
- Added security enhancements.
- Updated the repeater field markup to be compatible with the Theme Framework.
- Updated the form submit spinner to use new Theme Framework styles.
- Updated the image in the drag and drop instructions on an empty form.
- Updated the form preview in the block editor to display the form if it has conditional logic.
- Updated the default phone format option to be "International" instead of "US/Canada".
- Fixed a fatal error that can occur in some hosting environments with PHP 8+.
- Fixed an issue where form revisions are not created when a form contains a Consent field other than the Gravity Forms core Consent field.
- Fixed a performance issue where the gform_layout_editor script is being localised outside the editor for a form that doesn't exist. Credit: The GravityKit team.
- Fixed an issue where the Gravity Forms datepicker style is being applied outside of Gravity Forms.
- API: Added a form Theme Framework and CSS API to make it easier to customize the appearance of forms.
- API: Added a "block_editor" admin page type to allow add-ons to easily enqueue scripts and styles to the block editor via the scripts() and styles() methods.
- API: Added [GFAPI::validate_field()](https://docs.gravityforms.com/validating-field-submissions-with-the-gfapi/) to validate the value of a specific field.
- API: Added a new hook [`gform_entries_primary_column_filter`](https://docs.gravityforms.com/gform_entries_primary_column_filter) to filter the entry list table's first column.
- API: Added a new filter [`gform_abort_submission_with_confirmation`](https://docs.gravityforms.com/gform_abort_submission_with_confirmation) that can be used to abort form submission and display a confirmation.
- API: Added a new filter [`gform_search_criteria_export_entries`](https://docs.gravityforms.com/gform_search_criteria_export_entries) to allow entries of different statuses (i.e. trash, abuse) to be exported.
### 2.6.9 | 2023-01-11
- Added a new environment variable to hide the background updates setting.
- Added a new environment variable to control the update message and the unregistered license message.
- Updated the icon for the Password field.
- Updated the minimum WordPress version on the System Status page to 6.0.
- Fixed an issue where the editor jumps to the top of the form when opening the choices flyout in no-conflict mode.
- Fixed an issue that causes hidden inputs to render in the autocomplete UI of the form editor.
- Fixed an issue where exporting entries including multiple Multi-Column List fields would not create separate columns for each List field row. Credit: ForGravity.
- Fixed an issue which causes products to display images as HTML in email notifications.
- Fixed an issue where some admin notifications result in an error: "Cannot send email because the TO address is invalid".
- Fixed an issue that causes the "Enable Other Choice" setting for option-based fields (Radio, Checkbox etc) to not display in the choices flyout when the Quiz add-on is enabled.
- Fixed an issue where the `gform_require_login` filter isn't called in all contexts where login is required for the form.
- API: Added the [gform_uninstalling](https://docs.gravityforms.com/gform_uninstalling/) action hook.
- API: Added the [gform_form_pre_process_async_task](https://docs.gravityforms.com/gform_form_pre_process_async_task/) filter.
- API: Updated the GFAPI::send_notifications() method to support async (background) processing of notifications. Disabled by default. Enable using the [gform_is_asynchronous_notifications_enabled](https://docs.gravityforms.com/gform_is_asynchronous_notifications_enabled/) filter.
### 2.6.8 | 2022-11-09
- Fixed an accessibility issue with the consent field description.
- Fixed an accessibility issue that prevents the show/hide password button from read by screen readers.
- Fixed an issue where editing an entry with a multifile upload field could result in broken links to files. Credit: Gravity Wiz
- Removed an unused javascript function.
### 2.6.7 | 2022-09-21
- Added security enhancements.
- Added support for environment options.
- Fixed an issue where the product field description is not announced by screen readers when the quantity field is disabled.
- Fixed an issue where the wrong change log can display on update.
- Fixed an issue that can result in the database upgrade stalling with an error when updating from very old versions.
- Updated how the predefined choices list for gender and the name prefix choices are generated to make them easier to translate.
### 2.6.6 | 2022-08-23
- Fixed an issue where the a form can have multiple submit buttons if markup is changed with the `gform_field_container` filter.
- Updated the Zapier icon to reflect their new branding.
### 2.6.5 | 2022-08-09
- Fixed a fatal error that can occur on some hosting environments when the license is validated.
- Fixed an issue where inserting a new notification routing rule will sometimes overwrite the following rule.
- Fixed an issue which prevents some {today} merge tags from displaying the correct value.
- Fixed an issue where the required field legend is not displayed if form title or description aren't enabled on a form that does not use legacy markup.
- Fixed an issue which can cause code to run multiple times on some hosting environments, leading to warnings and fatal errors.
- Fixed an issue where the default value of an email field with confirmation enabled does not display.
- Updated predefined choices lists for countries, US states, marital status, and gender as well as name prefix choices to be up-to-date and more inclusive.
- AF: Fixed a fatal error that can occur with PHP 8+ if an error occurs during background feed processing.
- API: Fixed an issue where GF_Field_Time::is_value_submission_empty() can return the wrong result.
### 2.6.4 | 2022-07-06
- Added the [gform_cleanup_target_dir](https://docs.gravityforms.com/gform_cleanup_target_dir/) filter to support async uploads on servers with opendir() disabled.
- Fixed an issue where the REST request to get additional pages fails on translated sites when configuring the form confirmation.
- Fixed an accessibility issue by adding an alert role to the notice on the uninstall page.
- Fixed an accessibility issue where the search field in the form detail has no connected label.
- Fixed several PHP 8.1 deprecation notices. Note: There are still a number of notices from WordPress 6.0.
- Updated the minimum WordPress version on the System Status page to 5.9.
- Updated the database upgrade and System Status page to check for and fix auto increment issues which can cause "duplicate entry 0" errors.
- AF: Updated `GFPaymentAddOn::maybe_validate()` to include `$context` as the second parameter.
- API: Added gform/merge_tag/initialize event to allow merge tag drop downs to be manually initialized after page load.
- API: Updated the REST API v2 [forms/[FORM_ID]/submissions](https://docs.gravityforms.com/submitting-forms-with-rest-api-v2/) endpoint to support the `?_validate_only=1` query argument.
- API: Added [GFAPI::validate_form()](https://docs.gravityforms.com/validating-forms-with-the-gfapi/) to validate form field values without triggering other submission events such as saving the entry, sending notifications, add-on feeds, or confirmations.
- API: Added the [forms/[FORM_ID]/submissions/validation](https://docs.gravityforms.com/validating-forms-with-rest-api-v2/) endpoint to REST API v2.
- API: Updated the `gform_field_validation` and `gform_validation` filters to include a new `$context` parameter indicating how the current request was triggered: form-submit, api-submit, or api-validate.
### 2.6.3 | 2022-05-10
- Fixed bug that sometimes results in a fatal error when the license key is empty.
### 2.6.2 | 2022-05-05
- Added security enhancements.
- Added performance improvements to the confirmation settings page for sites with lots of pages.
- Added a performance improvement to the AJAX save process in the form editor that increases performance significantly, especially for forms that contain a large number of fields.
- Added improvements to the message that appears when saving a form fails.
- Fixed a bug that sometimes prevents entries from being updated. Credit: GravityView.
- Fixed an issue where the forms list is not in alphabetical order.
- Fixed a performance issue where queries are being run on admin pages that do not need them.
- Fixed an issue where the submit button settings are reset to their default values when saving the form settings.
- Fixed the "Allowed memory exhausted in gravityforms.php on line 147" fatal error that is impacting a small number of sites.
- Fixed an issue with the license detail section displaying an inaccurate renewal date for certain licenses.
- Fixed a few dozen PHP 8.1 deprecation notices. Note: WordPress won’t be compatible with PHP 8.1 until version 6.0 at the earliest, so there are still many notices from WP functions.
- Fixed a bug that prevents users without form editing capabilities from exporting entries.
- Fixed a bug that prevents editing the First Name and City sublabels.
- Fixed a fatal error that occurs on plugin activation with WordPress 4.9 and earlier.
- Fixed a bug that causes form editor settings panels to close when any button in the sidebar is clicked.
- Fixed an issue where field values that contain non-Latin characters are not displayed correctly after AJAX save in the form editor.
- API: Added the [gform_abort_conditional_logic_do_action](https://docs.gravityforms.com/gform_abort_conditional_logic_do_action/) javascript filter to allow add-ons to abort the conditional logic action before fields are displayed or hidden.
- API: Added the [gform_embed_edit_post_link](https://docs.gravityforms.com/gform_embed_edit_post_link/) filter.
- API: Added the [gform_rule_source_value](https://docs.gravityforms.com/gform_rule_source_value/) filter to allow the source value of a conditional logic rule to be filtered.
### 2.6.1 | 2022-03-24
- Added security enhancements.
- Added a fallback save method if AJAX save fails.
- Added the {today} merge tag to output the current date and/or time. Credit: The Gravity PDF team.
- Fixed an issue where saving the form fails if the form contains any backslashes.
- Fixed an issue where the save form button in the form editor is stuck in the saving state if form validation fails.
- Fixed an issue where dropdowns in the Embed Form flyout are not correctly displaying their content.
- Fixed several display issues in the form editor.
- Fixed an issue where our IE11 admin stylesheet is being loaded everywhere in the admin.
- Fixed some issues where text on the 2.6 splash page can't be translated.
- Fixed an issue which causes admin pages to visually break when No Conflict mode is enabled.
- Fixed the duplicated output of the core admin stylesheet for the add-on results screen.
- Fixed the core admin stylesheet path for the help screen.
- Updated the label styles for disabled radio and checkbox inputs to better indicate the option is disabled.
- AF: Added ability to specify and use custom font icon with the addition of GFAddOn::get_icon_namespace().
- AF: Added additional support for Font Awesome icon styles for GFCommon::get_icon_markup().
- AF: Fixed an issue where payment fails when using Japanese Yen with the Stripe Card field and Stripe Add-On v4.2.
- API: Added ability to specify custom font icon namespace for GFCommon::get_icon_markup().
- API: Updated the $form_ids arg of GFAPI:get_feeds() to support an array of IDs. Credit: The GravityView team.
- API: Fixed an issue where RGCurrency::to_number() returns a float instead of an integer for zero-decimal currencies.
- API: Fixed an issue that causes Live Dependency fields with custom display properties to render incorrectly. Credit: The ForGravity team.
### 2.6 | 2022-03-14
- Added the embed flyout to easily embed forms into a post or page directly from the form editor.
- Added the submit button to the form editor instead of the form settings page, with new settings to display it inline.
- Added the choices flyout to provide more space for editing field choices in the form editor.
- Added enhancements to the form editor so that it saves without reloading the page.
- Added enhancements to the submission process to further reduce the risk of duplicate entries.
- Added a notice in the form editor for forms that have legacy markup enabled.
- Added a splash page to tell users about new features.
- Added enhancements to the design of the form editor.
- Added a loading indicator to settings pages to improve usability.
- Added accessibility enhancements to the product field.
- Added accessibility enhancements to the time field to ensure that the AM/PM selector has a label.
- Added accessibility enhancements to the list field so that the aria labels for new rows match column headers.
- Added performance enhancements to speed the loading of entries with encrypted fields.
- Added performance enhancements to long forms with conditional logic.
- Updated how notes are displayed on the entry detail page so that HTML is no longer completely removed.
- Updated the styling of the order summary table in the entry detail page.
- Updated the minimum WordPress version on the System Status page to 5.8.
- Fixed an issue where conditional logic is not duplicated when a confirmation is duplicated.
- Fixed an issue where vertical alignment can be incorrect in complex fields if some inputs don't have sub-labels.
- Fixed an issue that prevented the date picker icon from displaying on settings pages.
- Fixed an issue that causes the address field inputs to be misaligned when hiding sub-fields.
- Fixed an issue where checkboxes without labels are checked by default.
- Fixed a fatal error with PHP 8 when editing an entry that includes an empty date drop-down field.
- Fixed an issue with the license validation request that can result in too many sites being counted towards a license's site limit in certain situations.
- Fixed an issue where setting the time field sub-label placement to hidden does not hide the sub-labels.
- Fixed an issue with the address field where the zip code autocomplete attribute does not appear if the sub-labels are above the inputs.
- Fixed an issue where the next, previous, and submit buttons are not showing the pointer cursor when hovering over them.
- Fixed an issue where the show country field setting for the address field is not being respected in the form editor.
- Fixed an issue where license validation is being performed too many times when license key is left blank.
- Fixed an issue where the all_fields merge tag renders the radio choice value instead of choice label when the value is 0.
- AF: Fixed an issue where the trial discount or a custom trial amount does not appear in the order summary.
- API: Fixed an issue with the "select" settings field where empty option groups are being rendered as selectable options.
- API: Added admin component for popup notifications throughout the UI.
- API: Added the ability to remove the merge tags ui from rich text fields in the Settings API.
- API: Added the ability to use Gravity Forms JavaScript components anywhere in the admin.
- API: Added the [gform_settings_display_license_details](https://docs.gravityforms.com/gform_settings_display_license_details/) filter to hide the license details on the settings page.
- API: Added the [gform_plugin_settings_fields](https://docs.gravityforms.com/gform_plugin_settings_fields/) filter.
- API: Added the [gform_field_filter_from_post](https://docs.gravityforms.com/gform_field_filter_from_post/) filter to allow filter settings for the form fields, entry properties, and entry meta used in conditional logic for entry export, entry list, results pages, and some add-on to be overridden when the filters are being processed. Complements the *[gform_field_filters](https://docs.gravityforms.com/gform_field_filters/)* filter.
- API: Fixed an issue where the form editor tooltip is rendering CSS classes incorrectly.
- API: Fixed an issue which causes some file uploads to fail when chunking is enabled.
### 2.5.16 | 2022-01-11
- Fixed an issue where the select entry table columns in RTL are not displaying properly.
- Fixed an issue where the credit card field expiration date fieldset label is not output as legend.
- Fixed an issue where a PHP warning appears in the logs after running the daily cron.
- Fixed an issue with total field not displaying correct amount under certain conditions.
- Fixed an issue where the validation div on the legacy file uploads field is showing when empty.
- Fixed an issue with gform_conditional_logic_operators filter passing the incorrect field ID.
- Fixed an issue which causes multisites to experience a fatal error on plugin activation.
- Fixed an issue with Dynamic Field Map on some add-ons including HubSpot Add-On and User Registration Add-On.
- Fixed an issue with form import not properly sanitizing JSON string in some cases.
- Fixed an issue where uploaded files are not deleted on entry deletion if a custom upload path is used.
- Fixed an issue with Generic Map and Dynamic Field Map not being able to filter the value drop down to include or exclude field types.
- Fixed an issue with Generic Map settings field not being able to specify a custom list of choices for mapping.
- Fixed an issue where files uploaded via the multi-file upload field are corrupted when chunking is enabled using [gform_plupload_settings](https://docs.gravityforms.com/gform_plupload_settings/).
- Fixed performance issue with Generic Map settings field.
- Fixed fatal error in Generic Map settings field that can happen under certain conditions.
### 2.5.15 | 2021-11-16
- Added a prefix to section IDs in the Settings API to make it less likely that sections and fields will have the same ID.
- Added new filter: *[gform_get_form_confirmation_filter](https://docs.gravityforms.com/gform_get_form_confirmation_filter/)*
- Fixed an issue that prevents keyboard navigation from working in a form with multi-file upload and page fields.
- Fixed an issue that caused Javascript errors when a form is added to the page via a custom Gutenberg block such as ACF.
- Fixed an issue that caused sales results filters to show up on quiz, survey, and polls results pages.
- Fixed an issue where aria-labels for name field inputs are incorrect by removing aria-labels from fieldset inputs.
- Fixed an issue with conditional logic when targeting checkbox fields and using "is not empty" as a rule.
- Updated invisible CAPTCHA processing to reduce chances of multiple submit button clicks generating duplicate submissions.
### 2.5.14 | 2021-10-21
- Fixed an issue which causes No Conflict mode to break Media Uploads for some WYSIWYG editors.
- Reverted required indicator for hidden labels change made in 2.5.13 which introduced UI issues.
### 2.5.13 | 2021-10-19
- Added security enhancements.
- Added support for Visibility settings for the HTML Field.
- Fixed an issue where the required indicator is not displayed if the field label is hidden.
- Fixed a PHP notice on the WordPress 5.8+ Appearance > Widgets page.
- Fixed an issue with the Radio Buttons field on the entry detail edit page where the other input is disabled resulting in the loss of the other value on entry update.
- Fixed an issue that caused fields with float values for IDs to break the conditional logic flyout modal.
- Fixed the display of left-aligned labels in order to allow them to stack on smaller screen sizes.
- Fixed an issue with the sales page displaying duplicate months when viewed on the last days of the month.
- Fixed an issue where the form switcher redirects the user to the entries list page instead of the results page.
- Fixed an issue where the tooltip for a date/time settings field does not display correctly.
- Fixed an issue that causes Unit Tests to fail to output any feedback due to output buffering.
- Fixed two instances of an incorrect text domain for translatable strings.
- API: Fixed issues in the Settings API that prevents dependencies from working on nested fields and sections without IDs.
### 2.5.12 | 2021-10-01
- Fixed an issue with the address field merge tag when selecting the option to use the values from a previous address field
- Fixed an issue for the list field where multi-column headers are misaligned when max rows are set to 1.
- Fixed an issue which causes calls to the License API to occur more often than necessary.
### 2.5.11 | 2021-09-29
- Added security enhancements.
- Added a new UI for License Settings which shows more-thorough details about your License Key.
- Updated logo to reflect new branding.
- Fixed an issue which causes compatibility errors when third-party code extends the Gravity API class.
- Fixed a PHP fatal error that occurs during translation installation when the hosting environment is configured to block external requests.
- Fixed an issue for thickbox where RTL is not being respected, but only within the context of Gravity Forms admin pages.
- API: Updated the logic that determines when to show custom form settings fields.
### 2.5.10 | 2021-09-08
- Added alt text and title attribute for accessibility to the date field datepicker field icon.
- Fixed an issue where the form button text doesn't properly update for page conditional logic.
- Fixed an issue where forms with pricing fields throw PHP notices if fields are removed before the form is rendered.
- Fixed an issue with our block script loading that breaks the Gutenberg editor in WordPress 5.8.x and up.
- Fixed an issue that causes some screens in the admin to have JavaScript errors in WordPress versions previous to 5.0.
- Fixed an issue which causes field calculations with references to the calculated field to infinitely loop.
- Fixed an issue that causes the Form Switcher to break on certain Admin views.
- Fixed an issue which causes fields with multiple inputs to have incorrect aria-validate attributes.
- Fixed an issue for the conditional flyout logic where checkbox and radio field based conditionals are not being respected.
- Fixed an issue which causes fields with whitespace to break certain Add-on Feeds.
- Fixed an issue where the border for the section field type is missing for the frontend form display when legacy markup mode is not enabled.
- Fixed an issue for the generic map settings field not rendering when editing an existing feed where the setting was previously configured.
- Fixed an issue that causes gfCalc events to be bound to the same listener multiple times.
- Updated the reCAPTCHA settings link for the Captcha field "To use the reCAPTCHA field" message in the form editor.
- Updated the UI of the update button in the form editor.
- Updated the feed settings to run on admin_init instead of init to ensure they never trigger on the front end.
- Updated some instances of strings not being translatable for the System Status view.
- API: Fixed an issue where field map fields don't auto populate with default options.
- AF: Added the ability to overwrite the uninstall message.
### 2.5.9 | 2021-08-10
- Added security enhancements.
- Fixed an issue where the header of the datepicker in legacy forms has the wrong background color and the dropdowns are not aligned correctly.
- Fixed an issue where "This field is required" appears twice in the time field validation message.
- Fixed an issue in the submission time performance for hosting environments where the form has lots of directories in its uploads folder.
- Fixed an issue when submitting form in form preview where the required JS hooks are not being included.
- AF: Fixed a display issue with poll results where the text gets cut off if labels are long.
- AF: Fixed the display of visual radio choices in settings.
- AF: Fixed an issue for get_icon_markup where all style implementations of font awesome are getting an additional class of "fa" prefixed to the output icon classes.
- AF: Fixed an issue with dynamic field map settings fields that prevents options from appearing in the value dropdown.
### 2.5.8 | 2021-07-28
- Fixed an issue for inputs where Gravity Form styles are overriding and breaking WordPress admin styles for certain inputs, textareas, and selects.
- Fixed an issue of incorrect styles for the tel input type when in the entry edit view.
- Fixed an issue that causes invalid markup in Field Descriptions to break the Form Editor.
- Fixed an in which javascript can be injected on pages which don't support it and cause console errors.
- Fixed an issue that affected the performance of the forms and entries list pages.
- Fixed an issue with the display of the datepicker field in 2021 theme.
- Fixed an issue that causes rich text fields not render correctly in some cases in the WordPress admin.
- Fixed an issue that causes some languages to not display correctly in the tab ui of the form editor.
- Fixed an issue which causes datepickers in the form preview window to not respect the week starts on setting in WordPress.
- Fixed an issue that causes long labels for form fields to cause the conditional logic rules in settings area to exceed the width of their column.
- Fixed an issue where the personal data cron does not trash or delete entries for inactive forms.
- Fixed an issue which causes Next Button Conditional Logic rules to break in some situations.
- Fixed an issue where the columns of the list field are not aligned with the inputs when the legacy setting is on.
- Fixed an issue which causes databases with an "int_" prefix to break upgrade routines.
- Fixed an issue with form settings field map field where the first field with required input types with only one option present is not saving the value, resulting in an error for required fields.
- Fixed an issue where the required indicator can be displayed for the consent field in the form editor when the field is not required.
- Fixed an issue in form editor field settings where field errors and notices are not reset and updated correctly as you edit different fields.
- Fixed a bug which causes some systems to throw a fatal error when updating to 2.5.7.x.
- Fixed a bug which causes forms with text-only fields to break the Form Editor which was introduced in 2.5.7.2
- Fixed a bug which causes AJAX forms to inject Hooks JS markup and break the redirect script.
- Fixed a bug which causes programmatically-created forms to throw PHP warnings if specific values are ommitted.
- Fixed a bug in the settings field map field that prevents it from honoring input type arguments.
- Fixed a PHP error in the field select field.
- Fixed a layout bug for the list field in the form entry editing view when a form has legacy mode enabled.
- Updated conditional logic for submit button to hide it visually when it is disabled.
- Updated form editor and form settings alerts to reflect the new alerts styling.
- Updated front end scripts to allow for filtering of their tags in WordPress 5.7 and up.
- Updated the file upload field in order to support mapping its values to User Meta.
- Updated error messages for File Uploads to be translatable.
- API: Added a new alert component; currently only used in the admin.
- API: Added new function GFCommon::get_inline_script_tag() which allows filtering of our theme inline scripts in WordPress 5.7 and up with the 'wp_inline_script_attributes' filter.
### 2.5.7 | 2021-07-07
- Fixed an issue that sometimes causes notice level warnings on widget enabled pages.
- Fixed an issue that causes the file upload field to have empty rows remain after a file is deleted during editing the entry.
- Fixed an issue where a notice appears on the feed details page.
- Fixed an issue for multi-page forms where all fields regardless of current page incorrectly validate on each page submittal.
- Fixed an issue that causes the form switcher to not load on the entry list screen when no conflict mode is enabled.
- Fixed an issue that causes initial values in Conditional Logic not to be saved when the form is updated.
- Fixed a layout/display issue for legacy forms in Safari when using the .gf_list_inline ready class for checkbox or radio fields.
- Fixed a PHP warning which can occur when determining if the form has page conditional logic.
- Fixed a PHP notice (error in PHP8) and display issue for the date field type when using the datefield or datedropdown input types when the field inputs are missing from the form object.
- Fixed an issue for AJAX forms on submission where if the form cannot be found the submission stalls.
- Fixed an issue that causes the Gravity Forms block to not load in WordPress 5.8.
- Updated sticky notifications to allow them to be translatable when the user changes their language.
- Updated the form switcher to size dynamically to better handle forms with long titles.
- Updated block settings icons in various themes and contexts.
- AF: Fixed an issue that can potentially cause the add-on uninstallation screen to throw a fatal error if the add-on class does not define a `get_instance` method.
- API: Added the card field type in the settings API.
- API: Fixed an issue which causes valid markup to throw an error when saving a textarea settings field.
### 2.5.6 | 2021-06-22
- Fixed an issue where dynamically populated choices for choice-based fields cannot be used in conditional logic.
- Fixed an issue with the gf_list_inline ready class for radio and checkbox fields where the labels are wrapping.
- Fixed an issue that causes choice values that are numbers to remain unselected when attempting to use them in conditional logic.
- Fixed an issue with the total field that causes conditional logic based on its value to no longer work.
- Fixed an issue with the reCAPTCHA field not rendering when a form is injected by ajax.
- Fixed an issue with radio and checkbox fields for non-legacy forms where the field count and meta are missing styles.
- Fixed an issue that prevents legacy settings from displaying on the form notification settings page.
- Fixed an issue for forms not outputting HTML5 where the hour and minute input's layout breaks in the time field for browsers other than Firefox.
- Fixed display issues for the time field when using legacy markup where the field's inputs aren't always the same height and placeholder text is cut off.
- Fixed an issue where the default value field option does not work when the choice text is entered instead of the choice value.
- Fixed a typo in the message that displays when logging is enabled.
- Fixed issues where translations are not always offered or installed by WordPress and the WP-CLI.
- Fixed the form scheduling settings so that the correct start and end minutes show as selected.
- Fixed label layout issues when using left or right label alignment for a form.
- Fixed the display of the time field for forms in legacy mode.
- Fixed an issue when disabling logging via the link in the warning where the logging setting is not being unchecked.
- Fixed an issue with the form editor that makes dragging items below the bottom of the screen difficult.
- Fixed an issue where the layout of forms with left or right aligned labels is broken in the form editor.
- Fixed an issue where the total field is not calculated for all forms if a page has more than one form.
- Fixed an issue where the conditional logic choice based rules fail if the choice is renamed from the default.
- Updated the submit button on the edit entry detail page to have the primary button styles for better visual prompting.
- Updated the form editor to include the css for legacy ready classes on legacy enabled forms.
- Updated field labels to show the same error style as field legends when they fail validation.
- Updated the System Report to include the Translations section, listing the current site and user locales and installed translations.
- Updated several form settings text areas to accept valid HTML for users with the unfiltered_html capability.
- Updated the logging warning verbiage for clarity.
- Updated translations to respect user-specific locale.
- Updated various elements in the form editor to use stylized scrollbars that unify the ui experience across browsers.
- Updated more icon styles.
- Removed the notice for suppressed admin notices.
- AF: Fixed an issue that prevents settings from displaying on the form settings screen when add-ons have the $_multiple_feeds property set to false.
- AF: Fixed the timing for when feed settings are initialized so the process always occurs before admin scripts are enqueued, thereby preventing some JavaScript console errors from surfacing.
- API: Fixed the display of tooltips next to settings section titles.
- API: Fixed an issue where the merge tag drop down is not displayed next to the value field of the generic map feed settings field.
- API: Fixed an issue where the dynamic field map doesn't accept empty values when saving a feed.
### 2.5.5 | 2021-06-02
- Fixed the appearance of Date, List and Time fields when editing an entry.
- Fixed an issue where price total calculations do not work or becomes unresponsive when legacy form markup is enabled.
- Fixed an issue where the submit button's value is "Next" instead of "Submit" on the last page after evaluating page fields' conditional logic.
- Fixed an issue which can break AMP pages generated by some AMP plugins.
- Fixed an issue which causes conflicts with XML Sitemaps and REST API Requests.
- Fixed an issue where the form block toolbar links do not point to the right path when WordPress is not a top level directory.
- Fixed an issue where text-based survey fields cause errors in the form editor.
- Fixed an issue where Beaver Builder shows an error when embedding a form.
- Fixed an issue with the reCAPTCHA field not rendering when in a multi page form with AJAX enabled.
- Fixed an issue with the timing of loaded events in JavaScript which causes some forms to not render correctly or have console errors.
- Fixed an issue where the add and remove choice buttons are hidden when modifying Prefix choices on a Name field.
- Fixed an issue where the number of items in the Entry and Form lists are not be displayed when there is only one page of items.
- Fixed an issue where the password strength is not be preserved after a failed submission or when not on the last page of a form.
- API: Fixed an issue where the Dynamic Field Map Settings API field allows for custom values.
### 2.5.4 | 2021-05-27
- Added the gform_force_hooks_js_output filter to allow plugins to control whether to output the hooks js in the head; defaults to true.
- Fixed an issue which causes reCaptcha field to log errors when there are none.
- Fixed an issue which causes forms that rely on Javascript to not render in certain contexts.
- Fixed an issue which causes Javascript markup to be injected into some AJAX responses.
### 2.5.3 | 2021-05-26
- Added accessibility warnings to the datepicker and fields with hidden labels in the form editor.
- Added enhanced support for plugins that concatenate scripts.
- Added support for translations for all strings in the file upload field.
- Fixed gf_hidden class to also apply to non legacy forms for backwards compatibility.
- Fixed an issue where JavaScript errors which prevent form display when jQuery is included in the footer or deferred.
- Fixed an issue which can prevent forms functioning when included by ajax after the page has loaded.
- Fixed an issue which causes forms to become non-responsive when Total Field calculations are being performed.
- Fixed an issue where the total field HTML does not keep the legacy markup when legacy markup is enabled for a form.
- Fixed an issue with the choices ui that breaks its layout when more than 2 input columns are inserted.
- Fixed an issue in JavaScript that causes errors with price calculation.
- Fixed an issue that causes some add-ons to be unable to load the feed settings screen.
- Fixed an issue which causes some forms to throw JavaScript errors due to missing head tag in the DOM.
- Fixed an issue which causes JavaScript events not to fire when a form is loaded via AJAX.
- Fixed an issue which causes some performance optimization plugins to break certain form JavaScript methods.
- Fixed an issue where the gf_list_*col ready classes for radio and checkbox fields are showing the wrong number of columns.
- Fixed an issue that causes sites with HTML5 disabled to have it enabled after updating to 2.5.
- Fixed an issue which allows greater-than and less-than operators for Conditional Logic to be more useful.
- Fixed an issue which causes custom values in the Conditional Logic flyout in the form editor to be overwritten.
- Fixed an issue where confirmations redirect to the selected page even if page isn't selected as the redirect type.
- Fixed an issue where a JavaScript errors on the last page of a paginated form with conditional logic.
- Fixed an issue which prevents setting custom classes for the form editor fields' buttons.
- API: Updated the settings API to automatically save custom form settings fields added with the gform_form_settings_fields filter.
- API: Fixed an issue which causes some filters not to fire when on certain Admin screens.
### 2.5.2 | 2021-05-19
- Added security enhancements.
- Added form editor sidebar settings style refinements.
- Updated the section field so it no longer uses the description as a fallback when the label is empty.
- Updated the frontend styles for better column alignment and better appearance in small containers.
- Updated the section field so it no longer uses the description as a fallback when the label is empty.
- Fixed an issue where the HTML field's content setting doesn't have a merge tags selector.
- Fixed an issue which causes Javascript errors in the Form Editor when no Conditional Logic fields are present.
- Fixed an issue which causes Conditional Logic to fail if the first choice for a given field is selected.
- Fixed an issue that prevents users with unfiltered_html capabilities from saving raw markup in textarea settings.
- Fixed an issue that prevents choice-based fields from utilizing the contains, starts with, and ends with Conditional Operators.
- Fixed an issue which causes validation error messages in forms with legacy markup to use the incorrect classname.
- AF: Fixed an issue which prevents payment add-ons from rendering delayed payment settings in the feed settings page.
### 2.5.1 | 2021-05-11
- Added accessibility enhancements to the form editor to improve keyboard navigation.
- Updated the form editor to notify users that resizing is not available when the legacy markup form setting is enabled.
- Updated form editor to not allow resizing of fields when the legacy markup form setting is enabled.
- Fixed an accessibility issue with the multi-file upload field.
- Fixed an issue where the form description field doesn't allow HTML tags.
- Fixed an issue where save and continue button is triggered when pressing return/enter.
- Fixed a PHP notice that appears for the From Email for form notifications under certain circumstances.
- Updated the save and continue button so that it isn't triggered when pressing return/enter.
- Updated the form description field to allow HTML tags.
- Updated icons in the WordPress admin to Gravity Forms 2.5 variants.
- AF: Updated the setup fee settings in the payment add-on framework so that the product field is disabled instead of hidden if setup fee isn't checked.
- AF: Fixed PHP notices that appear when editing a feed that has no associated form.
- Fixed accessibility issue with the multi file upload field.
- Fixed a PHP notice that appeared for the From Email for form notifications under certain circumstances.
- Fixed a padding issue for suppressed WP notices in the admin area at smaller viewport sizes and refined notification vertical spacing.
- Fixed an issue that causes single line text inputs added to a legacy mode editor instance to have size medium applied.
- Fixed an issue that can cause dragging or resizing in the form editor to break the layout and/or delete the field.
- Fixed issue when using a custom tab index and the post image field with all meta fields enabled where the alt text and post image shared the same tabindex. Credit: Jake Jackson (@jakejackson1).
- Fixed an issue that causes radio and select fields to show invalid Conditional Logic options.
- Fixed form editor layout issues present with Jetpack plugin on wordpress.com sites.
- API: Fixed an issue which causes programmatically-created forms to break in the form editor.
### 2.5.0.2
- Fixed an issue which prevents certain add-ons from displaying Plugin Settings fields.
- Fixed an issue which prevents non-admin users from accessing Form Settings when no add-ons are enabled.
- Fixed an issue that causes certain fields to not trigger the settings tab to open in the form editor.
- Fixed an issue that causes the page break end settings to not be visible in the form editor.
- API: Fixed an issue with GFCommon::is_numeric() to allow non-currency based numbers without a leading zero. Credit: The GravityView Team.
- API: Fixed an issue which causes programmatically-created forms to break in the form editor.
- AF: Updated the setup fee settings in the payment add-on framework so that the product field is disabled instead of hidden if setup fee isn't checked.
- AF: Fixed PHP notices that appear when editing a feed that has no associated form.
### 2.5 | 2021-04-27
- Added security enhancements.
- Added support for dragging and dropping fields into columns in the form editor.
- Added a completely new and more modern design for all the admin pages.
- Added a completely new UX/UI for the form editor that's more inline with other areas of WordPress.
- Added drag and drop support to the form editor for touch devices.
- Added completely new styles and markup for forms to make them easier to style and more accessible. Existing forms use the legacy markup and styles by default. Disable the legacy markup in the form settings.
- Added warnings in the form editor and form settings when a setting may affect the accessibility of the form.
- Added support for ready classes in the form editor so the effects of ready classes are visible immediately. Column ready classes will continue to work in the frontend but they are deprecated and will not be supported in the form editor.
- Added messages in the form editor when new forms use deprecated ready classes. Column ready classes have been deprecated, please use the columns in the form editor instead.
- Added support for TranslationsPress to manage translations for Gravity Forms core and add-ons. Translation files will be delivered via the WordPress translation updates system.
- Added the 'novalidate' attribute to the form container to block default HTML5 validation. This allows Gravity Forms to provide an accessible validation message.
- Added accessible descriptions to fieldsets by making descriptions announced on the fieldset's first input.
- Added accessible error messages to fieldsets by making error message specify which inputs are empty.
- Added the required attribute to required inputs in form settings to improve accessibility.
- Added accessibility enhancements to the credit card field and the Post Custom Field.
- Added accessibility enhancements for the Post Tags field.
- Added alternative text to the Post Image field.
- Added the accessibility warning when "Enhanced User Interface" is enabled.
- Added a fall back for an empty label for better accessibility. The placeholder or description can be used as label text when no field label is set.
- Added a form setting to control the display of a validation summary at the top of the form for greater accessibility where appropriate. Each validation error links to the respective field.
- Added a form setting to control the required field indicator. The default is set to the word "Required" for better accessibility.
- Added a message to the top of the form to explain the meaning of the required fields indicator. This is not displayed when the indicator is set to "Required".
- Added the autocomplete field settings to the following fields: Single-Line Text, Drop-Down, Number, Name, Phone, Address, Email. Further details: https://docs.gravityforms.com/accessibility-for-developers/#autocomplete
- Added a display mode screen option to set the container width on the entry list.
- Added the {created_by} merge tag to display information about the user who created the entry. Credit: the team at Gravity PDF.
- Added the {date_created} merge tag to display the date an entry was created. Credit: the team at Gravity PDF.
- Added the {date_updated} merge tag to display the date an entry was last updated. Formatted using the same modifiers as {date_created}. Credit: the team at Gravity PDF.
- Added the {payment_date} merge tag to display the date the payment was received. Formatted using the same modifiers as {date_created}. Credit: the team at Gravity PDF.
- Added an admin notice which appears when there are admin notices from other plugins. No more admin notice clutter!
- Added the gform_selectwoo script to the list of no conflict scripts. Credit: the team at Gravity PDF.
- Added the [gform_has_admin_notices](https://docs.gravityforms.com/gform_has_admin_notices/) filter.
- Added the [gform_load_bulk_choices_choice](https://docs.gravityforms.com/gform_load_bulk_choices_choice/) and [gform_insert_bulk_choices_choice](https://docs.gravityforms.com/gform_insert_bulk_choices_choice/) filters.
- Added the [gform_disable_form_legacy_css](https://docs.gravityforms.com/gform_disable_form_legacy_css/) filter to disable legacy CSS files.
- Added the [gform_disable_form_theme_css](https://docs.gravityforms.com/gform_disable_form_theme_css/) filter to allow users to keep the Form Theme CSS file from being enqueued.
- Added the [gform_enable_legacy_markup](https://docs.gravityforms.com/gform_enable_legacy_markup/) filter so the legacy markup setting can be overridden.
- Added the [gform_preview_form_link](https://docs.gravityforms.com/gform_preview_form_link/) filter for customizing the form preview link.
- Added the [gform_field_map_choices](https://docs.gravityforms.com/gform_field_map_choices/) filter for overriding the choices in field mapping drop downs.
- Added the [gform_form_settings_initial_values](https://docs.gravityforms.com/gform_form_settings_initial_values/) filter enabling the default setting values for the Form Settings page to be customized.
- Added the [gform_preview_init](https://docs.gravityforms.com/gform_preview_init/) action hook which is triggered when the form preview is loading.
- Added the [gform_pre_print_scripts](https://docs.gravityforms.com/gform_pre_print_scripts/) and [gform_print_scripts](https://docs.gravityforms.com/gform_print_scripts/) action hooks which are triggered when printing scripts and styles for the form widget.
- Added the [gform_editor_field_settings](https://docs.gravityforms.com/gform_editor_field_settings/) filter to allow the available field settings to be modified in the form editor.
- Added the [gform_form_validation_errors](https://docs.gravityforms.com/gform_form_validation_errors/) filter enabling the list of field validation errors to be overridden.
- Added the [gform_form_validation_errors_markup](https://docs.gravityforms.com/gform_form_validation_errors_markup/) filter enabling the HTML for the field validation errors list to be overridden.
- Added the [gform_confirmation_settings_fields](https://docs.gravityforms.com/gform_confirmation_settings_fields/) filter to modify confirmation settings fields to replace deprecated gform_confirmation_ui_settings filter.
- Added the [gform_editor_sidebar_panels](https://docs.gravityforms.com/gform_editor_sidebar_panels/) filter and [gform_editor_sidebar_panel_content](https://docs.gravityforms.com/gform_editor_sidebar_panel_content/) action to add custom panels to the form editor sidebar.
- Added the [gform_field_settings_tabs](https://docs.gravityforms.com/gform_field_settings_tabs/) filter and [gform_field_settings_tab_content](https://docs.gravityforms.com/gform_field_settings_tab_content/) action to add custom field settings tabs.
- Added the [gform_form_settings_fields](https://docs.gravityforms.com/gform_form_settings_fields/) filter to modify form settings fields to replace the deprecated gform_form_settings filter.
- Added the [gform_notification_settings_fields](https://docs.gravityforms.com/gform_notification_settings_fields/) filter to modify form settings fields to replace deprecated gform_notification_ui_settings filter.
- Added the [gform_frontend_pages_evaluated](https://docs.gravityforms.com/gform_frontend_pages_evaluated/) javascript action fires after the page conditional logic on the form has been evaluated, allowing further actions to be performed.
- Added the [gform_frontend_page_visible](https://docs.gravityforms.com/gform_frontend_page_visible/) javascript action fires after a page step turns visible, allowing further actions to be performed.
- Added the [gform_frontend_page_hidden](https://docs.gravityforms.com/gform_frontend_page_hidden/) javascript action fires after a page step turns hidden, allowing further actions to be performed.
- Added the [gform_required_legend](https://docs.gravityforms.com/gform_required_legend/) filter to customize the required field indicator notice.
- Added $tab_id as the second parameter to the [gform_field_settings_tab_content](https://docs.gravityforms.com/gform_field_settings_tab_content/) filter.
- Updated the validation message for invalid email addresses with more specific instructions to comply with accessibility guidelines.
- Updated honeypot field to use "new-password" instead of "off" as value for autocomplete field.
- Updated the date field to display date format as the placeholder.
- Updated the Single Product Quantity Field to provide better Screen Reader feedback.
- Updated the HTML Field's "Disable Default Margins" setting to only display when form labels are set to left-or-right-aligned.
- Updated the output of the Shipping and Total fields to be more accessible to screen readers.
- Updated the required indicator in the settings pages to improve accessibility.
- Updated the consent field to use fieldset container for better accessibility.
- Updated the uninstall tab to allow for uninstalling all add-ons.
- Updated the title of the dashboard widget.
- Updated the way translations files are distributed. They are now downloaded on demand.
- Updated the database schema to accommodate IPV6 addresses
- Updated the Checkbox field to use a button element for Select All toggle forbetter accessibilty.
- Updated the HTML heading structure to improve accessibility.
- Updated multi-input fields to use the fieldset tag to improve accessibility.
- Updated the markup to help screen readers announce the confirmation message when the form is embedded with AJAX. This helps to improve accessibility.
- Updated the Calculation field to announce the updated price.
- Updated the Post image field to display the allowed file extensions to improve accessibility.
- Updated the File Upload field to display the allowed files extensions, the maximum number of allowed fields, and maximum file sizes. This helps to improve accessibility.
- Updated the delete file button in the File Upload field to a trash button. It is now a button element instead of an image. This helps to improve accessibility.
- Updated the Time field to provide the required format as a placeholder.
- Updated the progress bar and submit button to react more appropriately to conditional logic.
- Removed support for IE11 in the admin pages. IE11 is still supported in the frontend.
- Fixed the system report to get the correct version of MariaDB and show whether the site is using MySQL or MariaDB.
- Fixed an issue with the accessibility of the character counter on text fields with max characters.
- Fixed some accessibility issues with tooltips in the settings.
- Fixed a deprecation notice with PHP 7.2+ which occurs when using the Captcha field and the reCAPTCHA keys are not configured. Credit: The Gravity PDF team.
- Fixed an issue with column widths for MySQL 8.0.17+.
- Fixed some strings to be translatable.
- API: Added the "defer" attribute to all scripts.
- API: Added a completely new Settings API that is now independent of the Add-On Framework.
- API: Added the [gform_web_api_retrieve_form_totals](https://docs.gravityforms.com/gform_web_api_retrieve_form_totals/) and [gform_rest_api_retrieve_form_totals](https://docs.gravityforms.com/gform_rest_api_retrieve_form_totals/) filters.
- API: Fixed an issue which results in request timeouts on some environments when getting forms using REST API v1 or v2.
- API: Added stylelint config based on WordPress css standards and applied to admin PostCSS
- API: Added array keys to form settings fields to allow for easy targeting within hooks of specific fields.
- API: Added a new dropdown/listbox component; currently only used in the form switcher.
- API: Added new JavaScript namespaces and utilities to gravityforms.js.
- API: Added the admin icon kit as separate file for third party use.
- API: Fixed the legacy Font Awesome kit so it won't override other Font Awesome instances found in the WordPress admin.
- API: Updated gform_add_meta(), gform_update_meta(), and gform_delete_meta() to return the value of the database query.
- API: Updated get_forms method to accept optional parameters to order returned forms.
- API: Added the gchoice class to radio field output to match checkbox approach and allow addons/themes easier targeting.
- API: Updated the classes that control the widths of fields to include a prefix.
- API: Moved the JavaScript hooks functionality out of gravityforms.js to an inline header script to allow for scripts to be loaded in the footer on the theme.
- API: Fixed an issue where forms can be assigned duplicate titles when using the GFAPI methods for updating forms and form properties.
- API: Fixed an issue where the form returned by GFAPI::get_form() can include the old title when it has been updated using GFAPI::update_forms_property().
- API: Updated the default value of the gform_init_scripts_footer filter from false to true. Init scripts are now outputted in the footer and are triggered on the DOMContentLoaded event.
- API: Removed the gform_notification_validation filter.
- AF: Updated the Add-On Settings API to use the new Gravity Forms Settings API. Some changes to custom settings may be required.
- AF: Updated the prefix for the name attribute on all settings inputs from "gaddon" to "gform". This is a breaking change that can affect add-on settings if they use custom Javascript or CSS.
- AF: Added support for Gravity Forms font icons.
- AF: Deprecated and fixed the settings_save method in the Add-On Framework.
- AF: Updated note type to use add-on slug when adding a note to an entry.
- AF: Deprecated the validate_*_settings methods. Use the Settings API instead.
### 2.4.24 | 2021-04-14
- Added security enhancements.
- Updated the captcha field so that it does not show autocomplete options.
- Updated the system report to include the REST API base URL and to indicate if REST API v2 is enabled.
- Updated the wording on the import forms page to clarify the expected file format for importing forms.
- Updated the plugin header to include the "Requires at least" and "Requires PHP" properties.
- Updated the minimum WordPress version (for support) on the System Status page to 5.6.
- Fixed an issue where filters are not applied consistently to repeater field entries. Credit: Paul V. Biron/Sparrow Hawk Computing.
- Fixed PHP 8 issues where optional parameters are listed before required ones.
- Fixed the text on the edit entry screen for post title so that it is translatable.
- Fixed an issue where making a checkbox field the primary key on the entries list page throws a PHP notice.
- Fixed an issue where sometimes users are granted `gform_full_access` permission when they shouldn't be.
- Fixed an issue where re-running the database upgrade from the System Status page doesn't create the missing gf_rest_api_keys table.
- Fixed the deprecation notice in the Gravity Forms Gutenberg block.
- Fixed an issue with API V2 key generation where it's possible for the keys to generate with just a prefix and no hash.
- AF: Updated the meets_minimum_requirements method to include an error if the installed version of Gravity Forms is older than an add-on requires.
- API: Added GFField::filter_input_value() to apply the [gform_get_input_value](https://docs.gravityforms.com/gform_get_input_value/) filter.
- API: Added GFAPI::get_feed() for getting a specific feed.
- API: Updated the REST API v2 /feeds/[feed id] endpoint to support the PATCH method for updating the specified feed.
- API: Fixed an issue with GFAPI::get_feeds() where the requested feed is not returned when inactive.
- API: Fixed an issue with GFAPI::get_feeds() where the returned feeds do not include the feed_order property.
- API: Fixed an issue where the REST API v2 PUT /feeds/[feed id] endpoint only updates the feed meta.
- API: Fixed an issue where the JWT Authentication for WP REST API plugin blocks requests to REST API v2 with a 403 error.
- API: Added GFAPI::update_feed_property() to update the specified feed with the given property value.
- API: Added GFAPI::feed_exists() to check if a feed exists with the supplied ID.
- API: Added the PUT /feeds/[feed id]/properties endpoint to REST API v2 to update one or more properties of the specified feed.
- API: Added the [gform_webapi_key_user_capabilities](https://docs.gravityforms.com/gform_webapi_key_user_capabilities/) filter to override which capabilities are used to determine if a user is included in the User drop down menu on the REST API settings page.
- API: Fixed an issue where users without the appropriate permissions appear in the User drop down menu when creating a new REST API Key.
- API: Updated the `rand_hash()` method with a fallback to generate a hash even if `openssl_random_pseudo_bytes()` returns empty.
### 2.4.23 | 2021-03-03
- Added the [gform_shortcode_builder_forms](https://docs.gravityforms.com/gform_shortcode_builder_forms/) and [gform_block_form_forms](https://docs.gravityforms.com/gform_block_form_forms/) filters enabling the forms available for embedding to be overridden.
- Updated the REST API settings page to require the settings to be updated before adding new API keys.
- Updated the submission process to allow some payment add-ons to fix errors raised when a form includes an invisible Recaptcha.
- Fixed an issue with jQuery 3.0 breaking multiselect conditional logic.
- Fixed an issue with the file upload field where validation fails for certain file types.
- Fixed an issue where the form editor block generates notices in the JavaScript console.
- Fixed an issue that makes multi-page forms with AJAX enabled use the wrong tabindex.
- Fixed an issue with sorting forms in PHP 8.