-
-
Notifications
You must be signed in to change notification settings - Fork 264
/
changelog.txt
3127 lines (2438 loc) · 250 KB
/
changelog.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
Found a bug? Have a great feature idea? Get on GitHub and tell us about it and we'll get right on it: https://pods.io/submit/
Our GitHub has the full list of all prior releases of Pods: https://github.com/pods-framework/pods/releases
= 3.2.8.1 - November 22nd, 2024 =
* Security: Resolve stored XSS issue with the File Upload field Add Button Text option. Props to the CleanTalk / Dmitrii Ignatyev for responsibly reporting this (their second report, they are doing good work!). (@sc0ttkclark)
* Security: Harden the use of values within id and class HTML attributes in Pods form elements. (@sc0ttkclark)
= 3.2.8 - November 17th, 2024 =
REMINDER: PHP support for Pod Templates and Pod Pages been turned off by default in Pods 3.2.7+ (`PODS_DISABLE_EVAL` constant set to `false` can be used to re-enable it). It will be completely removed in Pods 3.3 after being deprecated back in Pods 2.3. (@sc0ttkclark)
* Feature: Migrate the PHP in your Pod Templates and Pod Pages directly into your current theme with a new Pods Admin > Tools > Migrate PHP tool. We recommend you use a child theme that you control. PHP warnings now appear on the Pod Template and Pod Page editor screens to prompt you to run the migration. (@sc0ttkclark)
* Feature: Updated the design and user experience of the various guided screens inside of the Pods Admin to make it easier to read and click through on small screens. (@sc0ttkclark, @heybran)
* Enhanced: Pod Page template part handling for PHP template files now passes the `$pods` variable. (@sc0ttkclark)
* Enhanced: Added support for parsing magic tags in Pod Template files in the theme when you set the PHP header comment `Magic Tags: Enabled`. (@sc0ttkclark)
* Enhanced: Run wpautop on Pods Item List and Pods Related Item List blocks for the "not found" content if they are not already formatted. (@sc0ttkclark)
* Fixed: Only running wpautop for block the Pods Field block content if it does not contain div, ul, ol, heading, or p HTML tags. (@sc0ttkclark)
* Fixed: Resolve issue with empty strings showing when using magic tags before/after functionality. (@JoryHogeveen)
* Fixed: Ignore more internal WP post types and taxonomies plus others from other plugins.
* Fixed: Move load_plugin_textdomain usage into init and make it optional with the constant `PODS_LOAD_TEXTDOMAIN` set to `true`. It is no longer needed for WordPress.org plugins but may be needed in the future for testing. (@sc0ttkclark)
* Fixed: When getting plugin data, don't make it translatable. (@sc0ttkclark)
* Fixed: When saving bidirectional relationship, attempt to save hook up existing related items data in the `wp_podsrel` table with the bidirectional connection. (@sc0ttkclark)
* Fixed: Resolve PHP notices with site debug information. (@sc0ttkclark)
* Fixed: Resolve PHP warnings with empty template code. (@sc0ttkclark)
* Fixed: More improvements to Pod Page and Pod Template file loading from themes. (@sc0ttkclark)
* Fixed: Resolve issue with slug fields not formatting as expected. (@sc0ttkclark)
* Fixed: SCSS migrated from `@import` to `@use` for compatibility with the latest versions of our SCSS scripting. (@sc0ttkclark)
= 3.2.7.1 - October 9th, 2024 =
* Security: Lock down heading field to only specific allowed HTML tags and preventing it from being used to insert malicious scripts. Props to the CleanTalk / Dmitrii Ignatyev for responsibly reporting this. (@sc0ttkclark)
= 3.2.7 - August 28th, 2024 =
* Feature: New Pods Related Item List block that works like a Pods Item List block but uses the Pods Single Item block context where you specify a relationship field name to reference. (@sc0ttkclark)
* Feature: You can now link field value output from Pods Field Value block to any website field or just use `permalink` to link to the current item of the field. Works with single select relationship field as the link reference. (@sc0ttkclark)
* Feature: Add support for having multiple filters/pagination on the same page when using Pods shortcodes/blocks. (@sc0ttkclark)
* Feature: When a relationship field is using Taxonomy syncing, you can not choose to hide the Taxonomy UI from the Block Editor and Classic Editor. (@sc0ttkclark)
* Feature: New support for Query Monitor now shows Pods debug logs in a QM panel. (@sc0ttkclark)
* Tweak: Toggle add file button on single file field depending on whether a file is provided yet. #7315 (@heybran)
* Tweak: Added a `<p>` wrapper for the span-based pagination. (@sc0ttkclark)
* Removed: PHP support for Pod Templates and Pod Pages has been finally turned off by default (`PODS_DISABLE_EVAL` constant set to `false` can be used to re-enable it). It will be completely removed in Pods 3.3 after being deprecated back in Pods 2.3. (@sc0ttkclark)
* Fixed: Improve REST authentication method to support other auth forms when registering fields. #7340 #7341 (@JoryHogeveen, @sc0ttkclark)
* Fixed: Fix invalid default value for REST API `write_all` option. #7339 (@JoryHogeveen)
* Fixed: Resolve issue with Taxonomy syncing for relationship fields. #7336 #7334 (@pdclark, @sc0ttkclark)
* Fixed: Add fallback for clipboard.writeText. #7314 (@heybran)
* Fixed: Reset items loop before running the fetch loop in `Pods::template()` and the Templates component. (@sc0ttkclark)
* Fixed: Resolve issues with cached queries in PodsData not having the correct corresponding total found for pagination. (@sc0ttkclark)
* Fixed: More phpstan/phpcs fixes across the codebase. (@sc0ttkclark)
= 3.2.6 - July 22nd, 2024 =
* Fixed: Resolve issue with WordPress 6.5 and earlier compatibility by adding polyfill for `react-jsx-runtime` dependency that WP 6.6 related tooling now requires. (@sc0ttkclark)
* Fixed: Resolve `register_meta` issue where it wasn't checking if post type supported revisions before setting meta key as revisionable. (@sc0ttkclark)
* Tweak: Partial work towards a fix for REST API update handling for meta fields which was broken in a previous release. Final fix will be in Pods 3.2.7. (@sc0ttkclark)
= 3.2.5 - July 19th, 2024 =
* Fixed: Resolve issue with WordPress 6.6 compatibility that caused Pods Admin > Edit Pod and Pods forms to stop working properly on some sites. (@sc0ttkclark, @swissspidy)
* Fixed: Resolve PHP deprecated notices with null being passed into certain htmlspecialchars related functions. (@sc0ttkclark)
= 3.2.4 - July 15th, 2024 =
* Feature: Allow restricting media library for File fields to only showing attachments associated to the current post ID. (@sc0ttkclark)
* Feature: Allow File field to automatically use the first file saved as the featured image for the post. (@sc0ttkclark)
* Feature: Add support for Post Types that have associated Taxonomies to have a Relationship field which will automatically sync to the corresponding taxonomy on save. (@sc0ttkclark)
* Fixed: Register meta handling now properly loads when enabled. (@sc0ttkclark)
* Fixed: Remove always visible scrollbar from Settings modal panel container since it does not scroll. (@sc0ttkclark)
* Fixed: REST API Show All Fields setting for a Pod now works as expected again. (@sc0ttkclark)
= 3.2.3 - July 15th, 2024 =
The Pods 3.2.3 release turned into Pods 3.2.4 after an failed attempt at hijacking our plugin on WordPress.org was accidentally documented by online security vulnerability databases as successful.
To be safe and sure that those who are using Pods do not mistake Pods 3.2.3 as a vulnerable release, we will instead release the next version as Pods 3.2.4.
= 3.2.2 - June 18th, 2024 =
* Feature: You can now turn on Taxonomy filters for a Custom Taxonomy so that you see a dropdown filter on the list of posts for any associated post types. (@sc0ttkclark)
* Added: Pods Templates > Support for comments on post types using Pods Templates using `[each comments]` and `[if comments]`. (@sc0ttkclark)
* Added: REST API > Add support for determining whether to require person to be logged in to read values for custom fields (default: login not required). (@sc0ttkclark)
* Added: Automatically redirect to the proper edit URL when going to the Pods Admin > Edit Pods page for a specific pod but `id=XX` is the slug. (@sc0ttkclark)
* Tweak: Accessibility > Make it easier to copy and paste field names for the Edit Pod screen with a new copy icon you can click. #7291 #7237 (@heybran, @sc0ttkclark)
* Tweak: Responsive UI > Improved appearance for the Edit Pod screen for smaller screens. (@sc0ttkclark)
* Fixed: Security hardening > Sanitize HTML before passing into Pods field inputs for paragraph/code/wysiwyg field types to cover additional cases where something could make it past the sanitization process on save. (@sc0ttkclark)
* Fixed: Accessibility > Add label for color fields in the Pods Blocks API so it shows the label and not just the color input itself. #7306 #7305 (@pdclark)
* Fixed: Group and field names now generate in the UI as expected. (@sc0ttkclark)
* Fixed: Compatibility > Date, Date/Time, and Time default values now use single quotes to ensure maximum compatibility with various SQL engines. (@sc0ttkclark)
* Fixed: Compatibility > More PHP compatibility issues with `trim()` related function usage resolved. (@sc0ttkclark)
* Fixed: Code quality > Various phpstan/phpcs issues resolved. (@sc0ttkclark)
= 3.2.1.1 - May 8th, 2024 =
*Security Release*
* Security hardening: Enforce safe URLs for Pods form submission confirmation page URLs. Props to the wesley (wcraft) / Wordfence for responsibly reporting this. (@sc0ttkclark)
= 3.2.1 - March 29th, 2024 =
* Performance: The Advanced Filters popup now uses Autocomplete for relationship fields to improve performance for large itemsets. FYI filters are a feature in the Manage Content UI for Advanced Content Types only. (@sc0ttkclark)
* Fixed: Conditional logic for display callbacks 'allowed' field now showing when choosing the Customized option. (@sc0ttkclark)
* Fixed: PHP 8.1 compatibility fix for null values passed to esc_* functions in WP. (@sc0ttkclark)
* Fixed: PHP 8.1 compatibility fix for html_entity_decode. (@sc0ttkclark)
= 3.2.0 - March 25th, 2024 =
* Feature: New support for Custom Field revisions in Pods that are Post Types that use Meta storage. You can optionally enable the feature per-pod or per-field. #7265 (@sc0ttkclark)
* Feature: New support for WordPress `register_meta()` for all Pods fields on meta-based Pods. You can enable this feature in Pods Admin > Settings > "Register meta fields". (@sc0ttkclark)
* Feature: New support for specifying where your Custom Fields show in REST API responses for Pods that support that. You can choose from Object (response.field_name) or Meta (response.meta.field_name). (@sc0ttkclark)
* Feature: New support for Custom Fields in the new [WordPress 6.5 Block Bindings API](https://make.wordpress.org/core/2024/03/06/new-feature-the-block-bindings-api/) for the `core/post-meta` source. To use your custom fields there, you will need to enable "Register meta fields" in your Pods Admin > Settings and set your Pod to show it's REST API fields in the "Meta" location instead of Object. (@sc0ttkclark)
* Feature: New custom binding source support for the [WordPress 6.5 Block Bindings API](https://make.wordpress.org/core/2024/03/06/new-feature-the-block-bindings-api/). Specify your source as `pods/bindings-field` and then just pass the same arguments you would pass for a normal `[pods]` shortcode or block. This will bind that dynamic output to the block you are working with. (@sc0ttkclark)
* Feature: Now you can specify whether to default values for a Pods field when the field is empty. This works great for when you add a new field to a Pod and you want to edit an existing item that did not have a field value set. The default value will be used in that circumstance. (@sc0ttkclark)
* Feature: Support for multiple default values when working with a multi-select field. Now you can just separate your values with a comma and they will be set as the default values. (@sc0ttkclark)
* Feature: Now you can specify whether to evaluate magic tags for default values like `{@user.ID}`. (@sc0ttkclark)
* Tweak: New option for Pods shortcodes when used in plugins like Elementor to bypass detecting the loop and to just use whatever ID/post type is available. Use the `bypass_detect_loop="1"` attribute. #7269 (@sc0ttkclark)
* Tweak: Added first used and last installed Pods versions to the Site Health information to be more helpful with debugging. (@sc0ttkclark)
* Tweak: Improved the field label/description for Additional User Capabilities field in the CPT settings. (@sc0ttkclark)
* Fixed: Resolved an annoying issue when adding a new group or field where it would reset the Pod label to the name (slug) of the pod. (@sc0ttkclark)
* Fixed: Updated logic for default value handling when using magic tags for internal field configs to ensure the magic tags get evaluated. (@sc0ttkclark)
* Fixed: Resolve issue with `pods_register_block_type()` not clearing the known blocks cache when registering them. #7167 (@sc0ttkclark)
* Fixed: PHP fatal errors resolved with `array_combine()` usage from changes in WP 6.5. #7266 (@sc0ttkclark)
* Fixed: Custom capability fallbacks when the option is empty now properly fallback to the default capability using that post type name. #7250 (@JoryHogeveen)
* Fixed: PHP deprecated notice with `trim()`. (@sc0ttkclark)
* Fixed: Resolved plupload browse button references to prevent JS console errors. (@sc0ttkclark)
* Fixed: Resolved issue with `window.wpEditorL10n` calls to more safely check for it to prevent JS console errors. (@sc0ttkclark)
* Fixed: Updated the implementation of the compatibility hooks for `set_transient` and `setted_transient` hooks have the proper args expected sent. (@sc0ttkclark)
* Fixed: Empty REST API fields no longer show when the pod doesn't support REST API. (@sc0ttkclark)
* Fixed: Restrict/unrestrict dynamic features logic now properly updates all of the associated Pod settings it needs to in the Access Rights Review screen. (@sc0ttkclark)
* Fixed: Empty arrays now return correctly in Pod / Group / Field settings instead of using their defaults when empty. (@sc0ttkclark)
* Fixed: Resolve potential issues with REST API in certain circumstances which would throw exceptions with the Pods REST API Messages object. (@sc0ttkclark)
* Fixed: Resolve issues when duplicating pods where the new pod name is over the limit and prevents creating the new pod correctly. (@sc0ttkclark)
* Fixed: Access Rights Review notice now only shows on existing installs updating from pre-3.1 instead of showing on new 3.1+ installs too. (@sc0ttkclark)
* Fixed: Accessibility issues with tabbing resolved for Pods Admin > Edit Pods table and Pods Admin > Edit Pod fields list table when working with row actions. #7196 #7198 (@heybran, @sc0ttkclark)
= 3.1.4 - February 28th, 2024 =
* Fixed: Defaults now show correctly for checkbox groups in the Edit Field modals. (@sc0ttkclark)
* Fixed: Resolve potential PHP errors with cached configs in Collections classes that has been there since Pods 2.x. (@sc0ttkclark)
* Fixed: Revisited due to our automated NPM build issue - Resolved an issue with CodeMirror 6.x fields in forms (this is separate from the version 5.x that the Pods Template editor uses). (@sc0ttkclark)
= 3.1.3 - February 27th, 2024 =
* Fixed: Resolved an issue with CodeMirror 6.x fields in forms (this is separate from the version 5.x that the Pods Template editor uses). (@sc0ttkclark)
= 3.1.2 - February 27th, 2024 =
* Added: Now you can set Content Visibility when creating a new pod. (@sc0ttkclark)
* Added: More help text to better explain things on the Access Rights Review screen for extended content types. (@sc0ttkclark)
* Added: New option to specify whether to Sanitize Output for a field in the Additional Field Options of Heading, Paragraph, WYSIWYG, Code, and Text fields. (@sc0ttkclark)
* Added: Pod Reference metabox on the Pods Templates editor screen now has more help text and will now allow clicking to copy any magic tag to clipboard. (@sc0ttkclark)
* Added: Better explain Public vs Publicly Queryable for Post Types and Taxonomies along with showing the current Content Visibility below. (@sc0ttkclark)
* Changed: Updated CodeMirror to 5.65.16 so we can start moving towards CodeMirror 6 for the Pods Template editor. (@sc0ttkclark)
* Fixed: Resolved issues with Access Rights Review screen when making content type public or private causing it not to be fully set (only public was set on, it left out publicly_queryable). (@sc0ttkclark)
= 3.1.1 - February 22nd, 2024 =
This is just a release to retrigger the zip generation on WordPress.org that missed a fix put into the initial 3.1 release tag in SVN.
Pods 3.1 is a security focused release, see below for the changelog information.
= 3.1 - February 21st, 2024 =
*Security Release*
While this release is meant to be as backwards compatible as possible, some aspects of security hardening may require manual intervention by site owners and their developers. There were no known reports and no known attempts to take advantage of the issues resolved by this release except where noted.
Read more about [How access rights work with Pods](https://docs.pods.io/displaying-pods/access-rights-in-pods/) for more details including new filters/snippets that can provide limited access.
* Security hardening: Introduced new access checks and additional fine-grained control over dynamic features across any place in Pods that allows embedding content or forms. This only applies to usage through Pods Blocks or Shortcodes. Using PHP will continue to expect you are handling this on your own unless you pass the appropriate arguments to the corresponding Pods methods. (@sc0ttkclark)
* Security hardening: Prevent using the Pods Views Block / Shortcode to embed any files outside of the current theme. Props to the Nex Team / Wordfence for responsibly reporting this. (@sc0ttkclark)
* Security hardening: Prevent output of `user_pass`, `user_activation_key`, and `post_password` through Pods dynamic features / PHP. These values will be set in Pods references to `****************` if they were not-empty so you can still do conditional checks as normal. While Scott was already aware of this in pre-planned security release work, additional props go to the Nex Team / Wordfence for responsibly reporting this too. (@sc0ttkclark)
* Security hardening: Prevent more unsavory PHP display callbacks from being used with magic tags in addition to those already prevented. Props to the Nex Team / Wordfence for responsibly reporting this. (@sc0ttkclark)
* Feature: Access rights > Access-related Admin notices and Errors can be hidden by admins in a new setting in Pods Admin > Settings > Security. (@sc0ttkclark)
* Feature: Dynamic Features > Dynamic features (Pods Blocks and Shortcodes) can be disabled by admins in a new setting in Pods Admin > Settings > Security. (@sc0ttkclark)
* Changed: Dynamic Features > New installs will now default to not allowing all SQL arguments to be used by dynamic features. Existing installs will default to only allowing simple SQL arguments. All SQL fragments are checked for disallowed usage like subqueries. This can be set in a new setting in Pods Admin > Settings > Security. (@sc0ttkclark)
* Feature: Pods Display > The Display-related Pods Blocks and Shortcodes have additional checks that limit access to content based on the user viewing it. For Post Types that are non-public, they must have access to the `read` capability from that post type as a normal user. For displaying content from Users, they must have access to `list_users` capability to view that. [Read more about how access rights work with Pods](https://docs.pods.io/displaying-pods/access-rights-in-pods/) (@sc0ttkclark)
* Feature: Pods Forms > The Pods Form Block and Form Shortcode have additional checks that limit access to creating/editing content based on the user submitting the form. For Post Types that are non-public, they must have access to the 'create' capability from that post type as a normal user. Forms that submit to the Users pod, now require that the submitter must have access to the `create_users` or `edit_users` capability to create or edit that user. [Read more about how access rights work with Pods](https://docs.pods.io/displaying-pods/access-rights-in-pods/) (@sc0ttkclark)
* Feature: Pods Forms > The Pods Form Block and Form Shortcode now have a new option to identify the form with a custom key you choose that will get passed to various access-related filters so that developers can override access rights more easily. (@sc0ttkclark)
* Feature: Pods Forms > When a user has access to create or edit content through a Pods form for a post type, the `post_content` field is cleaned based on the level of access they have to prevent inserting unintentional shortcodes or blocks. (@sc0ttkclark)
* Feature: Markdown functionality has now been replaced by the [Parsedown library](https://github.com/erusev/parsedown) for better security and performance and it's uniquely prefixed so it prevents future conflicts with plugins using the same library. (@sc0ttkclark)
* Changed: Pods Views > One of the breaking changes in this work is that the Pods Views Block / Shortcode dynamic feature is now disabled by default and must be enabled for new and existing installs. This can be done in a new setting in Pods Admin > Settings > Security. (@sc0ttkclark)
* Changed: Display PHP callbacks > New installs will now default to only allowing specific callbacks to be used. This defaults the specific callbacks allowed to `esc_attr,esc_html` which can be further customized in Pods Admin > Settings > Security. (@sc0ttkclark)
= 3.0.10 - December 11th, 2023 =
* Fixed: The safe rendering handler for Pods Blocks now properly passes along context to all Pods Blocks so that they work within Query Loops again and other places they could take on context. (@sc0ttkclark)
* Fixed: Resolved PHP 8.3 deprecation notice with `get_class()` usage. #7225 (@netlas, @sc0ttkclark)
* Fixed: File fields using the direct plupload option will properly avoid uploading files above the limit and handle uploading multiple files without losing all but the first file in the file list. #7138 (@sc0ttkclark, @PD-CM)
= 3.0.9 - December 7th, 2023 =
* Feature: Added support for disabling Quick Edit for custom post types for sites on WP 6.4+. (@sc0ttkclark)
* Tweak: Revamped the Pods Blocks error handling so it looks nicer. (@sc0ttkclark)
* Tweak: Updated the default values used for "Add New" labels to use "Add New {singularLabel}" instead to follow WP core's direction. (@sc0ttkclark)
* Fixed: Custom capability types now save as empty and remain empty as intended. When empty, they will default to the current post type name and a placeholder shows what that would be. #7218 (@sc0ttkclark)
* Fixed: Added more handling for SQL errors for Pods Blocks. #7207 (@sc0ttkclark)
* Fixed: Resolved WP debug notices when calling `wp_cache_flush_group` by checking if `wp_wp_cache_supports( 'flush_group' )` first. (@sc0ttkclark)
= 3.0.8 - October 20th, 2023 =
* Fixed: Resolved the hooked var handling for pre-save hooks in PodsAPI::save_pod_item() that was broken in Pods 3.0. #5532 #7195 (@sc0ttkclark, @olivierguerriat, @HmCody)
* Fixed: Resolve PHP deprecated notice in the `PodsUpgrade` class. #7190 (@sc0ttkclark)
= 3.0.7 - October 19th, 2023 =
* Fixed: Avoid duplicate fields showing up when registering fields manually through `pods_group_add()` instead of through normal DB or file-based configs. #6317 (@sc0ttkclark)
* Fixed: Resolve cases where Settings pod types would treat every save as a new item. (@sc0ttkclark)
* Fixed: Swept through the codebase to fix all remaining return type issues with PHP 8+ for the most common extended/implemented methods. (@sc0ttkclark)
= 3.0.6 - October 2nd, 2023 =
* Fixed: Resolved a plugin conflict with The Events Calendar / Event Tickets plugins that was introduced in 3.0.5. (@sc0ttkclark)
* Fixed: PHP deprecated notices resolved for return types in PHP 8+ (@sc0ttkclark)
= 3.0.5 - October 2nd, 2023 =
* Tweak: Added the "full" image size to the reference list in the Pods Template editor. #7183 #7184 (@JoryHogeveen)
* Fixed: PHP deprecated notices resolved for WYSIWYG field. #7182 (@sc0ttkclark)
* Fixed: Relationships with user capabilities filtered will now work as expected in more cases when using WP multisite. #7181 #7185 (@JoryHogeveen)
* Fixed: Enforce single value for inputs instead of arrays of values in single format for file/relationship field. This resolves issues with Conditional Logic not seeing the initial value on reload. (@sc0ttkclark)
* Fixed: Normalize numbers when doing conditional logic comparisons. (@sc0ttkclark)
* Fixed: Add new options to trim content of fields by removing empty p tags, trimming whitespace at the end of lines, and removing extra lines. Default those to off (previously they were just always on). (@sc0ttkclark)
* Fixed: Add `tribe()` backward compatibilty function for Pods add-ons that still call that function. This only gets included by Pods when Tribe Common is not detected on the site. (@sc0ttkclark)
* Fixed: Resolve file/relationship lookups for settings pages that are DB vs file-based configs. (@sc0ttkclark)
= 3.0.4 - September 25th, 2023 =
* Fixed: Resolve bidirectional removal issue from Pods 2.x where bidirectional relationships would not have the current item removed when you removed that related item. (@sc0ttkclark)
* Fixed: Added repair tool to address the potential for invalid conditional logic saved to the DB in early Pods 3.0 releases or future cases, this is when conditional logic stores a rule that ends up being a long serialized PHP string that contains a serialized PHP array. (@sc0ttkclark)
= 3.0.3 - September 22nd, 2023 =
* Fixed: Settings pods handling for relationships for Pods that are registered by DB / Code / File now normalize as necessary for relationships stored in the `wp_podsrel` index table for which item ID is used to relate from. (@sc0ttkclark)
= 3.0.2 - September 21st, 2023 =
* Feature: You can now disable the Add New forms for a Post Type pod under the Advanced tab. (@sc0ttkclark)
* Fixed: Bi-directional field saving has been restored after breaking in Pods 2.9.x. #7172 (@sc0ttkclark)
* Fixed: More PHP notices/warnings/errors with PHP 8+ addressed. #7170 #7171 (@sc0ttkclark)
* Fixed: Settings saving for simple relationships fixed when using a setting pod registered by code/file. #7169 (@sc0ttkclark)
* Fixed: Settings forms would sometimes say the save failed when it was successful. (@sc0ttkclark)
* Fixed: Fix relationship rendering in tables for Advanced Content Types. #7173 (@sc0ttkclark)
* Fixed: Potential SQL errors when a Pod does not exist but it's still set a relationship object for a field. (@sc0ttkclark)
* Fixed: Pod config data is now correctly passed in all instances of `pods_meta_default_box_title` filter so it's uniform in usage. (@sc0ttkclark)
* Fixed: Bypass "@" prefixed items from being processed in file-based configs. (@sc0ttkclark)
* Fixed: Removed extra line in array for post type definition where `can_export` was set two times. (@sc0ttkclark)
* Fixed: Resolved some cases where boolean return types were treated as filters in `Store::find()`` calls. (@sc0ttkclark)
* Fixed: The `Pods\Blocks\Types\Base::in_editor_mode()` method resolves PHP issue with current screen reference. (@sc0ttkclark)
* Fixed: Ensure code/file based configs do not overwrite DB configs to avoid potential issues where duplicate configs get pulled up in lookups. (@sc0ttkclark)
* Fixed: Some relationship field options were not showing their available options to select from when editing a field on the Edit Pod screen. #7176 (@sc0ttkclark)
= 3.0.1 - September 13th, 2023 =
* Fixed: Custom Settings Pages no longer have the error when saving that was introduced by changes made in Pods 3.0. (@sc0ttkclark)
= 3.0 - September 13th, 2023 =
**Compatibility warning**
New minimum required versions have been updated as follows which includes notices to let you know if you need to update something:
* New minimum WP version required: WordPress 6.0+ (previously: WP 5.7+)
* New minimum PHP version required: PHP 7.2+ (previously: PHP 5.6+) — Hey! You should take the time to update to PHP 8.1+ because that is currently the lowest version actively supported by The PHP Group.
**3.0 Changelog**
* Feature: [Conditional Logic for Fields](https://docs.pods.io/fields/conditional-logic-for-fields/) - You can now choose to show or hide a Pods field based on the value of another Pods field. More will be expanded into this functionality in the future. #609 (@zrothauser, @sc0ttkclark, @Shelob9)
* Feature: Support for the new Command Palettes feature added in WordPress 6.3. This will allow you to contextually go to the Edit Pod screen for the matching Pod configuration of that post type directly from the Edit Post screen. (@sc0ttkclark)
* Added: Set up backward compatible updates to our prior `depends-on` and related logic for internal conditional logic prior to Pods 3.0 so they now properly translate over to the new format required. (@sc0ttkclark)
* Added: When importing and exporting Pods packages, they now include the list of active components. (@sc0ttkclark)
* Fixed: Media saving issue has been resolved when the Media Modal fields are disabled, it now saves fields as expected. #7158 (@sc0ttkclark, @pd-cm)
* Fixed: Improved compatibility with Polylang. #7139 #7140 (@JoryHogeveen)
* Fixed: Redirects after deleting a Pod now send to the current site dashboard instead of hardcoded `/wp-admin/` link. #7137 #7162 (@JoryHogeveen)
* Fixed: When extending a post type or taxonomy it will now use the associated post type or taxonomy label when setting up the pod so it matches. #6350 (@sc0ttkclark)
* Fixed: Resolved problems with saving the featured image from frontend forms when a post type supports featured images. (@sc0ttkclark)
* Fixed: Don't show SQL errors when getting relationship data for forms if the debug display is disabled in WP. (@sc0ttkclark)
* Fixed: Improved tooltip appearances with better color contrast. #7119 #7118 (@heybran)
* Removed: The Tribe Common library has been removed from Pods and it will alleviate conflicts from plugins like The Events Calendar and Event Tickets going forward. (@sc0ttkclark)
= 2.9.19 - June 28th, 2023 =
* Fixed: Ensure that cache modes are validated correctly to prevent transients / static cache / etc from being forced into persistent cache which could fill caches up. (@sc0ttkclark, props to Björn Hasselberg for helping debug and find this)
= 2.9.18 - June 23rd, 2023 =
* Tweak: Abstract all container calls for Tribe Common library to Pods specific functions. (@sc0ttkclark)
* Fixed: Prevent fatal errors with our service provider classes that was caused by a new version of The Events Calendar / Event Tickets plugin from a change to the Tribe Common library that they made. #7105 #7106 (@JoryHogeveen, @sc0ttkclark)
= 2.9.17 - June 22nd, 2023 =
* Performance: Allow disabling showing fields in the Media Library modals for sites that experience heavy performance issues from large media grids in the admin area. This new option is available in Pods Admin > Settings > Performance. (@sc0ttkclark)
* Tweak: Optimize single item lookups in the PodsAPI for post type configurations. (@sc0ttkclark)
* Fixed: Normalize the calls to the list of pod types that were coming from multiple places so they come from `PodsAPI::get_pod_types()`. (@sc0ttkclark)
* Fixed: Resolve issues where pod may not specifically be saved as extended but should be treated as extended for custom pod type objects. (@sc0ttkclark)
* Fixed: Don't save the newer options for `PodsAPI::save_pod()` as actual pod config options. (@sc0ttkclark)
* Fixed: Ignore more internal post types / taxonomies from plugins like Elementor and WooCommerce to prevent conflicts. (@sc0ttkclark)
* Fixed: Resolve potential PHP errors when Wisdom options aren't an array as expected. (@sc0ttkclark)
= 2.9.16 - June 10th, 2023 =
* Tweak: Allow bypassing table schema updates and overwriting table schemas in `PodsAPI::save_pod()` with the new parameters `bypass_table_schema` and `overwrite_table_schema`. (@sc0ttkclark)
* Tweak: Support passing the full WP object (post/term/etc) into `pods( $wp_object )` and use the ID associated with it instead of only the `get_queried_object_id()`. #7094 #7095 (@JoryHogeveen)
* Fixed: The Pods repair tool was overwriting the storage type for table-based pods to `meta`, now it uses the proper logic there and also uses a new abstracted method `Pod::get_default_storage()` for defaults when empty. The tool now also won't overwrite the table schema for each Pod to prevent unintended problems. (@sc0ttkclark)
* Fixed: Resolved PHP error when using WordPress versions prior to 6.1 which did not have the `did_filter()` function that was called. (@sc0ttkclark)
* Fixed: Resolved issues when using Content Types only mode (no custom fields) in the Pods Settings so that Components like Pods Pages and Pods Templates will continue to have their fields shown. (@sc0ttkclark)
= 2.9.15 - May 30th, 2023 =
* Added: Now showing text notices to explain where performance may be improved for Relationship single/multi select fields when relating to dynamic content which direct the admin to use Autocomplete or List View instead in certain circumstances. (@sc0ttkclark)
* Added: Add repair tool that can help recover any Pods that have an invalid pod type / storage. (@sc0ttkclark)
* Tweak: Make the default as Dropdown for single select relationship fields again after seeing some reported issues. (@sc0ttkclark)
* Fixed: Resolved more PHP 8.x compatibility issues for `strlen()` usage. (@sc0ttkclark)
* Fixed: Set default as Dropdown for relationship field configs across Pods. (@sc0ttkclark)
= 2.9.14 - May 29th, 2023 =
* Added: New component: Migrate: Import from the Advanced Custom Fields plugin -- It allows importing the Custom Post Types and Custom Taxonomies from ACF. Note: This does not migrate custom fields or field groups. (@sc0ttkclark)
* Tweak: List View is now the default for Relationship fields that are single select. (@sc0ttkclark)
* Tweak: Updated Site Health info for Pods to include what Pods settings someone has and included memory limit with current memory limit for easier reference. (@sc0ttkclark)
* Tweak: Default the "Watch WP Metadata calls" setting to off by default for Pods 2.9.14+. (@sc0ttkclark)
* Fixed: Always default the Pods setting for `metadata_integration` to off for new Pods installs when WooCommerce is detected to also be installed. (@sc0ttkclark)
* Fixed: Validate cache mode used across Pods to ensure unknown modes do not trigger PHP errors. (@sc0ttkclark)
* Fixed: Resolve PHP errors when registering ACTs via code/JSON. (@sc0ttkclark)
* Fixed: Ensure the parent post ID gets set in more cases when uploading files via a Pod uploader. (@sc0ttkclark)
* Fixed: Set default display filter as empty and avoid strlen PHP errors. #7076 #7075 (@JoryHogeveen)
* Fixed: TinyMCE on frontend would sometimes not show line breaks as paragraphs. #7051 #7049 (@sc0ttkclark)
* Fixed: Allow HTML5 date fields to allow empty values. #7063 #7016 (@Shelob9)
* Fixed: Resolved more PHP 8.x warnings and notices. #7074 (@sc0ttkclark)
* Fixed: Configurations registered via JSON/YML that include field groups are now working as expected to register each group and corresponding fields. #7062 (@sc0ttkclark)
* Fixed: Removed the extra DB call to get registered Pods blocks from the DB that can be re-enabled via a filter `pods_blocks_api_get_blocks_bypass_post_type_find`. (@sc0ttkclark)
= 2.9.13 - March 15th, 2023 =
* Added: API > New `pods_is_truthy()` helper function helps validate truthy strings and handles null/bool/int/float variables too. (@sc0ttkclark)
* Added: API > New `pods_is_falsey()` helper function helps validate falsey strings and handles null/bool/int/float variables too. (@sc0ttkclark)
* Fixed: Cache > Avoid clearing all caches when registering group configs via code. (@sc0ttkclark)
* Fixed: Avatars > Resolve issues with avatars not showing up in certain circumstances and flush appropriate avatar field caches when changing avatar field value. #7025 (@sc0ttkclark)
* Deprecated: Components > The Builder Integration component is now officially deprecated and will be totally removed in Pods 3.1. (@sc0ttkclark)
= 2.9.12.2 - March 12th, 2023 =
* Fixed: PHP > Fix potential PHP fatal in PHP 8+ with certain cached data when cache returns string instead of an expected array. (@sc0ttkclark)
= 2.9.12.1 - March 10th, 2023 =
* Fixed: Components > Fix potential PHP fatal in PHP 8+ with the Translate Pods component. #7023 (@sc0ttkclark)
= 2.9.12 - March 9th, 2023 =
* Added: WP-CLI > Added a new `wp pods tools flush-cache` WP-CLI command to flush the Pods caches. To flushes caches for a specific Pod, use `wp pods tools flush-cache --pod=your_pod` (@sc0ttkclark)
* Added: DFV > Introduce `window.PodsDFV.detectForm()` and `window.PodsDFV.detectField()` helper methods to normalize everything going into the DFV API. (@sc0ttkclark)
* Added: DFV > `window.PodsDFV` methods now accept null for pod, itemId, and formCounter values in various methods which will automatically detect+use the first pod, itemId, and formCounter on the screen. (@sc0ttkclark)
* Added: API > New PHP function `pods_is_demo()` will allow Pods to offer streamlined demos using the one-click WASM demo. (@sc0ttkclark)
* Added: API > New PHP function `pods_clone_objects()` and `pods_clone_object()` assist in cloning objects primarily used through callbacks. (@sc0ttkclark)
* Added: API > New PHP function `pods_debug_log()` allows for logging exception messages that do not need to be shown on the screen. (@sc0ttkclark)
* Added: API > New PHP function `pods_get_item_object()` allows for getting the WP object for an item based on the object type. This is similar to `get_metadata()` in WP core but as a general solution for any object. (@sc0ttkclark)
* Added: API > New `Pods::has_rows()` method can be used instead of `Pods::total()` to just check if there were any rows returned. (@sc0ttkclark)
* Added: Pods Field Output > You can now traverse into the fields `parent` (Taxonomies) and `post_parent` (Post Types) as relationships like `parent.name` or `post_parent.post_title`. This also works for `post_author`. (@sc0ttkclark)
* Added: Pods Field Output > You can now call `post_thumbnail.title`, `post_thumbnail.caption`, `post_thumbnail.description`, `post_thumbnail.mime_type`, `post_thumbnail.alt_text`, `post_thumbnail.width`, `post_thumbnail.height`, `post_thumbnail.filesize`, `post_thumbnail.dimensions`, `post_thumbnail.filename`, and `post_thumbnail.extension`, and image metadata using `post_thumbnail.image_meta.copyright`. This also works for other attachments. (@sc0ttkclark)
* Tweak: Edit Field Modal > Added additional text below the Required option when editing a boolean field to clarify that only the "Yes" option counts as valid. (@sc0ttkclark)
* Tweak: Pods Field Output > Added full `$params` from `Pods::field()` to the filters `pods_data_map_field_values_custom`, `pods_data_map_field_values_map_value`, and `pods_data_map_field_values_map_value_pre_check`. (@sc0ttkclark)
* Tweak: Pods Field Output > Bypass mapping values when in the form context to prevent conflicts with Avatar fields and other fields. (@sc0ttkclark)
* Tweak: Migration > Abstracted the migration process on first edit of a Pod to detect orphaned fields on future edits with a notice on the screen about the repair. (@sc0ttkclark)
* Tweak: API > Split up cache flushing method `PodsAPI::cache_flush_pods()` into a separate method `PodsAPI::cache_flush_groups()` and `PodsAPI::cache_flush_fields()` to more easily flush specific object types. (@sc0ttkclark)
* Tweak: API > Passing more context into pods_podsrel_enabled() usage for future iteration work on certain areas of the code. (@sc0ttkclark)
* Fixed: Edit Field Modal > Attempt to auto-fix `pick_object` for display when it is set to "pod" but the real object is "post_type" or "taxonomy". #7007 (@sc0tkclark)
* Fixed: Components > Fixed PHP warnings with the Translate Pods component (@JoryHogeveen)
* Fixed: Pods Shortcode > Bypass showing the Pods Shortcode button on TinyMCE editors when on an Elementor edit screen. (@sc0ttkclark)
* Fixed: Stats Opt-in > Don't show the opt-in message on Pods content screens, only show it on pages under the Pods Admin menu. (@sc0ttkclark)
* Fixed: Relationship Modal > Updated CSS to prevent the modal from being narrow. #6996 (@pedromfm, @sc0ttkclark)
* Fixed: DFV > Handle `false` values as `null` properly to prevent JS TypeErrors. #6963 (@sc0ttkclark, @spiderneo)
* Fixed: API > Normalize object_type for `PodsAPI::get_table_info()`. #7007 (@sc0tkclark)
* Fixed: API > Return 0 for `{@user.ID}` when logged out instead of `null`. #6979 (@jeiseman, @sc0ttkclark)
* Fixed: API > Return empty string when user context used instead of null for certain fields. (@sc0ttkclark)
* Fixed: API > Use static cache for `PodsMeta::groups_get()` instead of static variable to allow flushing the groups cache. (@sc0ttkclark)
* Fixed: Object Cache > When serializing `Whatsit` object, prevent serialized Closures being cached through Pods Alternative Cache. (@sc0ttkclark)
* Fixed: Pods Field Output > Resolved issue with the fields `parent` (Taxonomies) and `post_parent` (Post Types) so they return the ID as they used to in previous Pods versions. (@sc0ttkclark)
* Fixed: Pods Field Output > Resolve dot notation for attachments and post_thumbnail fields fallbacks when calling object fields like `post_thumbnail.ID`. #7005 (@sc0ttkclark)
* Fixed: Bidirectional Relationships > Now using the correct related limit for bidirectional relationships instead of unlimited. (@sc0ttkclark)
* Fixed: Admin Columns integration > Resolved PHP warning with `substr()` usage. #7014 (@sc0ttkclark)
* Fixed: Pods Find Queries > References to `.meta_value` should always join the meta table when using a table-based Pod that supports meta-based storage. #7009 (@sc0ttkclark)
* Fixed: API > Fixed `filter_by_date` usage of `sprintf()` to prevent PHP warnings. #6980 (@sc0ttkclark)
= 2.9.11.1 - January 23rd, 2023 =
* Fixed: PHP 5.6 compatibility has been restored after some PHP 7.0+ code came through from tribe-common library update in Pods 2.9.11. (@sc0ttkclark)
* Fixed: Identified and resolved additional PHP 5.6 / PHP 7.0+ compatibility warnings in the Pods codebase. (@sc0ttkclark)
* Fixed: Disabled the unnecessary Promoter authentication checks from tribe-common library. (@sc0ttkclark, @fabrisancho)
= 2.9.11 - January 19th, 2023 =
* Security: Fix nonce verification check when deleting a pod. Thanks to Rafshanzani Suhada for responsibly disclosing this through Patchstack (@0xshdax, @sc0ttkclark)
* Compatibility: Improved compatibility with PHP 8.1+ (@sc0ttkclark)
* Tweak: Removed some of the jQuery dependency for Pods DFV, the only part that remains is `jquery-ui-sortable` for File fields (to be further refactored into React at a later point). (@sc0ttkclark)
* Fixed: Updated the tribe-common library which had an older version of JWT included. (@sc0ttkclark)
* Fixed: Remove debug output on the Tools page when no actions needed to run. (@sc0ttkclark)
= 2.9.10.2 - December 14th, 2022 =
* Fixed: The new `pods_get_instance()` function now correctly checks if the `$pod` object is set up before calling methods on it. (@lkraav, @sc0ttkclark)
* Fixed: Properly support REST API namespace customizations for Post Types and Taxonomies. (@sc0ttkclark)
= 2.9.10.1 - December 13th, 2022 =
* Fixed: WP_Error class usage within namespace needed to be identified correctly for `\Pods\Pod_Manager`. (@lkraav, @sc0ttkclark)
= 2.9.10 - December 13th, 2022 =
* Performance: Major performance improvements have been made to decrease queries in more areas of Pods and reduce overall load on any page. (@sc0ttkclark)
* Added: New WP-CLI tool command: `wp pods tools delete-all-content <pod> [--test]` (@sc0ttkclark)
* Added: New WP-CLI tool command: `wp pods tools delete-all-groups-and-fields <pod> [--test]` (@sc0ttkclark)
* Added: New WP-CLI tool command: `wp pods tools delete-all-relationship-data <pod> [--fields] [--test]` (@sc0ttkclark)
* Added: New WP-CLI tool command: `wp pods tools repair-groups-and-fields <pod> [--test]` (@sc0ttkclark)
* Added: Pods Admin > Tools and Pod Resets can now be previewed before you run them. (@sc0ttkclark)
* Tweak: Added debug backtrace to DB query errors as an admin, just add `?pods_debug_backtrace=1` to the URL to enable that to find out more details about where the query came from. (@sc0ttkclark)
* Tweak: Relationships related to a Post Type now have an option to specify "Any Status" as an option for which posts to show. (@sc0ttkclark)
* Fixed: Advanced filters modal shows empty input fields as expected now for Advanced Content Types. #6949 (@sc0ttkclark)
* Fixed: Implemented `num_prefix` in `Pods::ui()` for more customization capabilities. (@sc0ttkclark)
* Fixed: Reduce load on block editor screen for Pods Blocks that have no preview. (@sc0ttkclark)
* Fixed: PHP 8.0+ compatibility changes have been made to bypass PHP deprecation notices. #6579 (@sc0ttkclark)
* Fixed: All currently known PHP 8.0+ deprecation notices have been resolved. (@sc0ttkclark)
* Fixed: Removed `%%%s%%` usage in prepared `LIKE` queries for PodsTermSplitting class. (@sc0ttkclark)
* Fixed: Pods Auto Templates now checks whether a post is password protected (and needs auth) before outputting the template. #6962 (@sc0ttkclark)
* Fixed: Excluded Pods config post types from deletion when post author is deleted. #6938 (@sc0ttkclark)
* Fixed: Settings values now get cached and cleared correctly between saves. #6964 (@sc0ttkclark)
* Fixed: Admin Columns integration no longer throws unaught type errors for field values that contain an array. #6965 #6966 (@therealgilles, @sc0ttkclark)
* Fixed: Block editor inspector controls for Pods Blocks that have dropdowns now show as full width as expected. (@sc0ttkclark)
= 2.9.8 - September 29th, 2022 =
* Enhancement: New `pods_config_for_field` function helps to set up consistent field objects when custom arrays are used. (@sc0ttkclark)
* Enhancement: The `pods_config_for_pod` function now handles basic Pod arrays as well. (@sc0ttkclark)
* Enhancement: New `Whatsit` object now runs the `pods_whatsit_setup` and `pods_whatsit_setup_(pod|field)` actions during setup so the objects can easily be overridden. (@sc0ttkclark)
* Enhancement: New `Field::is_separator_excluded()` method to help determine if current field is excluded from separators using `pods_serial_comma()`. (@sc0ttkclark)
* Tweak: Minor code and performance optimizations. (@sc0ttkclark)
* Fixed: Resolved PHP error registering code-based taxonomies. (@naveen17797)
* Fixed: Resolved cache that wasn't getting cleared when a Template was saved. (@sc0ttkclark)
* Fixed: oEmbed fields are editable again after fixing an issue with the readonly option. (@sc0ttkclark)
* Fixed: Help to prevent magic tag helpers from causing fatal errors when they are used improperly. (@sc0ttkclark)
* Fixed: Resolved issue with getting field values from Pods::field() for code-based relationships that have no ID. (@sc0ttkclark)
= 2.9.7 - September 23rd, 2022 =
* Enhancement: You can now toggle every checkbox at once on the Packages > Export screen instead of just by section. (@sc0ttkclark)
* Enhancement: The `Field` object now has a new `is_file()` method to determine whether the field is a recognized file field type (file or avatar). (@sc0ttkclark)
* Tweak: Post Type Objects and Taxonomy Objects are now available through Relationships and have been moved from the Advanced Relationships component. (@sc0ttkclark)
* Fixed: Resolve issue with some sites having an asset issue with the Pods Template editor. #6924 #6921 (@JoryHogeveen)
* Fixed: Code-based file fields now work correctly with the plupload AJAX handler. (@sc0ttkclark)
* Fixed: Code-based relationship fields now lookup their data correctly in more places like in `Pods::field()`. (@sc0ttkclark)
= 2.9.6 - September 22nd, 2022 =
* Fixed: Resolve issue with autocomplete nonce check and autocomplete method. #6919 (@sc0ttkclark)
= 2.9.5 - September 22nd, 2022 =
* Fixed: Resolved reported issues with Pods Templates saving and loading values incorrectly for Restrict Content fields. #6916 (@sc0ttkclark, @JoryHogeveen)
* Fixed: Color fields are no longer forced as a read only input. #6915 (@sc0ttkclark)
* Fixed: Settings forms are no longer out of sync between the form and fields on which form instance they belong to. #6915 (@sc0ttkclark, @JoryHogeveen)
= 2.9.4 - September 21st, 2022 =
* Feature: New block alert! "Pods Single Item - List Fields" opens the doors towards listing a list of fields in variety of format styles automatically for you. You don't have to write any HTML, just specify the field(s) you'd like to show and let the block do the rest for you. The block will display the Field Labels and the Field Values in a nice readable format. Display formats available include: ul, ol, dl, p, div, and table. Want to show all but a few fields? Just specify which fields to exclude if that's what you're after :) (@sc0ttkclark)
* Feature: New `{@_all_fields}` magic tag (or `$pod->field('_all_fields')` call) will automatically output all field values for the current Pod item in the specified format which includes showing the Field labels. Specify the format using this syntax: `{@_all_fields.ul}` (default is ul, but ol, dl, p, div, and table are also supported). (@sc0ttkclark)
* Feature: New `{@_display_fields....}` magic tag (or `$pod->field('_display_fields....')` call) will automatically output all field values for the current Pod item in the specified format which includes showing the Field labels. Specify the format using this syntax: `{@_display_fields.ul.field_name|another_field|related_post:post_title}` (default is ul, but ol, dl, p, div, and table are also supported) -- Separate your fields with a pipe "|" character and then if you need to traverse into any relationship field then just traverse each level with a colon ":" character between those fields. (@sc0ttkclark)
* Feature: New `pods_data_field()` function allows you to get special data fields directly instead of requiring you to use a full Pods object. (@sc0ttkclark)
* Feature: New Repair tool on the Pods Admin > Settings > Tools page helps to repair Pod, Group, and Field configuration issues that can be annoying to deal with or would normally require Database access to resolve. (@sc0ttkclark)
* Feature: You may not have known about it before but we've expanded our existing Pods DFV JS API, you can access it through the `window.PodsDFV` object. Methods include: `getFields( pod = '', itemId = 0, formCounter = 1 )`, `getField( pod, itemId, fieldName, formCounter = 1 )`, `getFieldValues( pod = '', itemId = 0, formCounter = 1 )`, `getFieldValuesWithConfigs( pod = '', itemId = 0, formCounter = 1 )`, `getFieldValue( pod, itemId, fieldName, formCounter = 1 )`, `setFieldValue( pod, itemId, fieldName, value, formCounter = 1 )`
* Enhancement: You can now choose what field mode you would like to use for REST API fields. The default mode is raw values, but you can choose to return rendered values or both raw+rendered values as an object to work with. #5198 (@sc0ttkclark)
* Enhancement: You can now specify a custom display separator for repeateable fields to use when rendering. #6892 #6890 (@JoryHogeveen)
* Changed: Resetting a Pod has been removed from the Pods Admin > Edit Pods page, instead of clicking "Delete All Items" there, you can now access this directly from Pods Admin > Settings > Cleanup & Reset as the new "Delete all content for a Pod" option. You can specify the Pod you want to delete content for and it explains exactly what you can expect from running it. (@sc0ttkclark)
* Tweak: Updated Pods Admin > Help page now lists more add-ons and where to get them / get support for them. (@sc0ttkclark)
* Fixed: Properly convert accents when creating a new pod and using the label to generate the pod name. #6874 (@sc0ttkclark)
* Fixed: Relationship/file fields that are hidden on the screen will now have all field values referenced instead of only the first value when multiple is enabled for that field. #6913 (@sc0ttkclark)
* Fixed: `pods_query_arg()` now correctly excludes all `$_GET` parameters when passing a manual URL into the function. (@sc0ttkclark)
* Fixed: Legacy WP-CLI commands for Pods are now showing up again, however they will be replaced in a future release with a more comprehensive solution. In the meantime, you can use those commands by calling `wp pods-legacy` and `wp pods-legacy-api`.
* Fixed: Prevent conflicting filter calls when filtering things other than post_title in the Display Field in Selection List option. #6909 #6907 (@therealgilles, @sc0ttkclark)
* Fixed: The autocomplete field now lets you click the "X" delete icon properly instead of starting drag-and-drop event. #6905 #6878 (@JoryHogeveen)
* Fixed: Resolved saving multiple files to a Media pod which would result in only the first file being saved. #6450 (@sc0ttkclark)
* Fixed: Resolved TinyMCE media button handling in some cases so that it checks the correct place in the field configuration. #6569 (@sc0ttkclark)
* Fixed: Resolved overflow issues in small screens for relationship field List View. #6542 (@sc0ttkclark)
* Fixed: Resolved issue with some TinyMCE scripts not being included on certain screens that use the TinyMCE WYSIWYG field. #6525 (@sc0ttkclark)
* Fixed: Pod/Group/Field configurations being saved now get their null-ish values (from empty select fields) sent as empty strings so they are not reverted to the previously saved value on next load. #6558 (@sc0ttkclark)
* Fixed: Pod/Group/Field configurations being saved now get their checkbox boolean options properly enforced as 0/1 and sent so they are not reverted to the default value on next load. #6485 (@sc0ttkclark)
* Fixed: Fields added manually through the older `pods_group_add()` function now get their field types properly recognized. #6381 (@sc0ttkclark)
* Fixed: Field config overrides for requiring a field when outputting via PHP are now properly recognized by DFV JS logic for validation and form submission prevention. #6352 (@sc0ttkclark)
* Fixed: Autocomplete field AJAX calls are now able to correctly reference the field object for code-based registered fields. #6896 (@naveen17797, @sc0ttkclark)
* Fixed: Display of the buttons in the list fields now properly aligns to the right side. #6894 #6893 (@JoryHogeveen, @sc0ttkclark)
* Fixed: Date range validation now validate sbased on the internal format instead of only on the display format. #6882 #6881 (@JoryHogeveen)
* Fixed: Number field type with slider inputs now use the correct number references. #6885 #6884 (@JoryHogeveen)
* Fixed: Currency field type now appears correctly on non-HTML5 fields. #6887 #6886 (@JoryHogeveen)
* Fixed: Resolved read-only fields functionality which was initially missing from the Pods 2.8+ DFV functionality. #6875 #6583 (@zrothauser, @sc0ttkclark)
* Fixed: Resolved issue where fields can disappear while being dragged from one group to another. #6873 #6867 (@zrothauser)
= 2.9.3 - August 18th, 2022 =
* Fixed: Resolve additional issue with WPGraphQL on some PHP configurations. #6868 (@sc0ttkclark)
* Fixed: Code field and others that do not support repeatable inputs are now forced to show non-repeatable inputs even if the setting was saved as on. #6855 (@sc0ttkclark)
* Fixed: TinyMCE WYSIWYG fields are now no longer showing as repeatable since they are not fully supported. Quill Editor remains supported for repeatable input. #6855 (@sc0ttkclark)
* Fixed: A development build has been resolved which broke the Code editor field. #6870 (@JoryHogeveen, @sc0ttkclark)
= 2.9.2 - August 16th, 2022 =
* Tweak: Improve the repeatable field UI elements so they blend in more. #6853 #6854 (@JoryHogeveen, @sc0ttkclark)
* Tweak: Use a popover UI for color fields. #6858 #6859 (@JoryHogeveen)
* Tweak: Use a popover UI for date, date/time, and time fields. #6857 #6389 #6860 (@JoryHogeveen)
* Fixed: Resolve conflicts with Restrict Content Pro to deal with how it uses the shared Common library. (@sc0ttkclark)
* Fixed: Resolve issues with taggable relationships not saving string values. #6862 #6863 (@JoryHogeveen, @sc0ttkclark)
* Fixed: Resolve formatting issues with saved date/time field variations on save. #6389 #6860 (@JoryHogeveen)
* Fixed: Resolve error with WPGraphQL on some PHP configurations. #6865 (@sc0ttkclark)
* Fixed: Resolve error in the field settings for Files with Gallery enabled. #6864 (@sc0ttkclark)
= 2.9.1 - August 10th, 2022 =
* Fixed: CodeMirror compatibility updated after some packages in the build caused Code fields to not show in the Pods forms. #6580 #6584 (@zrothauser, @sc0ttkclark)
* Fixed: Resolve potential fatal errors when interacting with WP_Filesystem by reading files using normal PHP functions and bypassing those edge cases. #6581 #6582 (@sc0ttkclark)
= 2.9 - August 9th, 2022 =
* Feature: Simple Repeatable Fields offers the ability to turn almost any field into a repeatable field. With repeatable fields, you can add multiple values for a field. You can use repeatable fields with the Pods template tag `[each your_repeatable_field]` to easily loop and display information with `{@_value}` Supported field types include: Plain Text, Website, Phone, Email, Password, Date / Time, Date, Time, oEmbed, Plain Paragraph text, WYSIWYG, Plain Number, Currency, and Color Picker. Supported Pod Types include: Post Types (meta-based), Taxonomies (meta-based), Users (meta-based), and Comments (meta-based). #1095 #6304 (@sc0ttkclark, @zrothauser)
* Feature: Register Pods configurations with JSON/YML files in your theme when stored in `pods.json`, `pods/pods.json`, `pods/templates.json`, etc. Custom paths can be registered to support third party plugins as well. Register new paths using `pods_register_config_path( $full_directory_path )` that contain a `/pods/` directory to automatically pull from or use `pods_register_config_file( $full_file_path, 'json' )` to register a specific file. #4856 (@sc0ttkclark)
* Feature: The initial integration for WPGraphQL has been merged from the WPGraphQL Integration Add-On for Pods Pro by SKCDEV. The Add-On itself will continue to be developed with new features that are focused on Advanced Content Types and other enhancements in the future that will still remain outside of Pods core. (@sc0ttkclark)
* Feature: Drag and drop fields from one group to another. #5937 #6114 #6123 #6456 (@sc0ttkclark)
* Feature: Support importing and exporting Pods Settings in Pods Packages. #6455 (@sc0ttkclark)
* Feature: Website fields can now be set to output links with `rel="nofollow"` on them. (@sc0ttkclark)
* Feature: Full support for DB (Post Types), Code (PHP), and File (JSON/YML) configurations on the Pods Admin > Edit Pods screen. If you have configurations for multiple sources, you will see a new Source column (with file path) and you can filter by source. Pods with non-DB sources currently do not have Edit/Duplicate/Reset Content/Delete links. (@sc0ttkclark)
* Feature: The file field can now support any image, video, or audio mime types that are supported by WordPress. #6577 #6578 (@sc0ttkclark, @JoryHogeveen)
* Enhancement: New `\Pods\Pod_Manager` class allows reusing Pods instances when working with the same Pod across many areas of the code. (@sc0ttkclark)
* Enhancement: Added PodsAdmin::check_requirements() helper method. (@sc0ttkclark)
* Enhancement: Migrate Packages component is now enabled by default on new Pods installs. (@sc0ttkclark)
* Tweak: Removed special logic intended for PHP 5.3 and earlier. (@sc0ttkclark)
* Tweak: Improved performance when getting Pods configs from post type storage. #6561 #6562 (@JoryHogeveen)
* Fixed: Set the default sort to Pod Label now that more sources are supported on Pods Admin > Edit Pods. (@sc0ttkclark)
* Fixed: Prevent potential issues with `$wpdb->prepare()` when a related object does not have an index field set. (@sc0ttkclark)
* Fixed: Resolve issue with not reading cache when no ID is passed into Pods objects for Settings pods. #3582 #3583 (@pcfreak30, @sc0ttkclark, @JoryHogeveen)
* Fixed: Don't show the edit link in PodsUI if access is restricted, previously going to edit would show the access message but now the link won't show at all in those restricted cases. (@sc0ttkclark)
* Fixed: Resolve issues with Media modal fields showing duplicate fields. #6564 (@JoryHogeveen)
* Fixed: Handle processing the Pods display tags in a more dynamic way for attributes and passing them down to the tag handlers. (@sc0ttkclark)
* Fixed: Enable media buttons for the post_content field like they should so that forms outside the admin screen continue to function as expected. #6525 (@sc0ttkclark)
* Fixed: Resolve issues with values that are objects and convert them to arrays for relationship value formatting in DFV field renders. #6566 (@sc0ttkclark)
* Fixed: Show the Add Media button in forms that use the post_content field. #6569 (@sc0ttkclark)
* New minimum WP version required: WordPress 5.7+ (previously: WP 5.5+)
* No minimum PHP version changes (currently: PHP 5.6+) but please be aware that PHP 7.2+ will be required for the Pods 3.0+ feature release. You should take the time to update to PHP 8.0+ because there’s major speed improvements to be had 🙂
= 2.8.23 - July 4th, 2022 =
* Tweak: Added support for exporting post types and taxonomies to PHP for debugging purposes. While logged in as an admin, add `?pods_debug_register_export=1` to expose textareas on the page to get the code. (@sc0ttkclark)
* Tweak: Added support for new `{@_current_page}` calculation value. (@sc0ttkclark)
* Tweak: Added support for calculation values in conditional display tags like `[if field="_position" value="2"]`. #6513 (@sc0ttkclark)
* Fixed: Resolved revision issues when `revisions_to_keep_limit` is set to 0 in the post type. It was supposed to see 0 and use the default revision limit. Instead, it was disabling the revisions for that post type. #6499 (@sc0ttkclark)
* Fixed: Resolved potential PHP warnings on certain sites by preparing SQL queries separately from other string processing. #6556 #6555 #6554 (@JoryHogeveen, @sc0ttkclark)
* Fixed: Resolved potential PHP notices when getting table information in `PodsData::table()`. (@JoryHogeveen)
* Fixed: Resolved potential PHP type conversion warnings by passing `SORT_REGULAR` to `array_unique()`` in the File field saving process. (@JoryHogeveen)
* Fixed: Pods Auto Templates defaults for some fields were set to "true" and that is now treated as empty. The default for those fields are now empty as intended. This resolves notices on the Edit Pod screen about templates being used for Archives when Archives are disabled, but there was no template intentionally set for Archive. (@sc0ttkclark)
= 2.8.22.1 - July 3rd, 2022 =
* Fixed: Resolve potential PHP errors from Relationship/File field saves by ensuring consistent array structures.
= 2.8.22 - July 3rd, 2022 =
* Added: Support `IN` and `NOT IN` comparisons for the Pods Templating `[if]` conditional shortcode that checks if the current value is/isn't within a comma-separated list of values. (@sc0ttkclark)
* Added: Support `=` and `!=` comparisons when the current value is an array of values, it now confirms the value is/isn't within that array. (@sc0ttkclark)
* Added: When saving pod items, support field-type specific save method for non-tableless field types for future flexibility. (@sc0ttkclark)
* Added: New `pods_query_prepare()` function maps to `pods_query()` but allows for distinct prepare usage instead of confusing array syntax. (@sc0ttkclark)
* Added: Added new `Field::get_single_multi()` helper method to determine whether a field is using a single/multi format type. (@sc0ttkclark)
* Tweak: When saving pod items, pre-process tableless field type data consistently to better support table-based storage. (@sc0ttkclark)
* Tweak: When saving pod items, allow filtering the list of processed data values that will be used to do the final save with `pods_api_save_pod_item_processed_data_to_save`. (@sc0ttkclark)
* Tweak: Adjusted the prepared SQL statements to use the new `pods_query_prepare()` when doing `wp_podsrel` table relationship lookups. (@sc0ttkclark)
* Tweak: Filter `wp_podsrel` table relationship lookup related IDs the same way as meta-based related IDs get with the `pods_api_lookup_related_items_related_ids_for_id` filter. (@sc0ttkclark)
* Tweak: Support custom heading tags for the Heading field in the DFV-powered areas like the Edit Pod screen. (@sc0ttkclark)
* Tweak: Further lock down custom heading tags in PHP-powered forms so that they can only contain basic tag names. (@sc0ttkclark)
* Fixed: Avoid setting post terms that are empty when saving pod item. (@sc0ttkclark)
* Fixed: Dot-traversal in Pods Templating `[if]` conditional shortcodes references the correct pod and expected field path. (@sc0ttkclark)
= 2.8.21 - June 27th, 2022 =
* Tweak: Allow language relationships with Polylang language taxonomy. #6541 #6540 (@JoryHogeveen)
* Fixed: When determining the first version installed of Pods, use the last known version instead of the current version. (@sc0ttkclark)
* Fixed: Increase the version used when determining defaults for Meta Integration and Meta Overrides. (@sc0ttkclark)
* Fixed: Remove empty values from list of file types to prevent PHP warnings. #6544 #6543 (@JoryHogeveen)
* Fixed: Prevent errors on List Select fields if there are empty results. #6536 #6536 (@zrothauser)
= 2.8.20 - June 17th, 2022 =
* Fixed: Use the correct defaults for the new Pods Settings of Meta Integration and Meta Overrides. (@sc0ttkclark)
* Fixed: Use the correct defaults for Pods Settings when they return as a blank string. (@sc0ttkclark)
= 2.8.19 - June 13th, 2022 =
* Fixed: Theme views now load as expected, fixing an issue introduced in 2.8.18. (@sc0ttkclark)
= 2.8.18 - June 10th, 2022 =
* Added: New helper functions `pods_clean_memory()` and `pods_maybe_clean_memory()` introduced to provide WP-CLI commands in Pods core and add-ons the ability to help reduce memory usage in long running processes. (@sc0ttkclark)
* Added: New function `Pods::is_defined()` determines whether a Pod was defined or if it was generated adhoc when calling a non-defined Pod. (@sc0ttkclark, @JoryHogeveen)
* Added: New function `Pods::is_valid()` replaces the logic in `Pods::valid()` to better follow the naming pattern used elsewhere in Pods. `Pods::valid()` is not deprecated yet. (@sc0ttkclark)
* Added: New functions `pods_static_cache_get()`, `pods_static_cache_set()`, and `pods_static_cache_clear()` abstract the static cache handling that would sometimes fail if the class was not available. (@sc0ttkclark)
* Added: New filter `pods_init_register_assets_load_pods_dfv_on_front` which allows you to force loading Pods DFV scripts on the front of the site when needed. Normally they will be included but some plugins/themes may need them enqueued sooner. (@sc0ttkclark)
* Tweak: Improved performance when using TranslatePress by optimizing how settings and blocks are handled to avoid extra `__()` translation calls. (@sc0ttkclark)
* Tweak: Improved performance with Block configurations. (@sc0ttkclark)
* Tweak: Improved performance with existing content type checks. (@sc0ttkclark)
* Tweak: Improved performance by offering a new setting to enable/disable tracking changed fields. (@sc0ttkclark)
* Tweak: Improved performance by offering a new setting to enable/disable metadata integration. (@sc0ttkclark)
* Tweak: Improved performance and third party plugin compatibility by offering a new setting to enable/disable metadata display overrides for Relationship/File fields. (@sc0ttkclark)
* Tweak: Improved file types help text on the File field to describe how limiting file types works more clearly. (@sc0ttkclark)
* Tweak: Default input type for Relationships multiple-select is now List View. (@sc0ttkclark)
* Fixed: File path checks are now more strict and consistent across all Pods Views loading. (@sybrew from The SEO Framework team, @sc0ttkclark)
* Fixed: SVG and other file types would not properly match up when certain plugins add additional mime types to be supported. (@sc0ttkclark)
* Fixed: Improved fallback handling for DB table schema errors when trying to add a column that may already exist in the table. (@sc0ttkclark)
* Fixed: Support labels for HTML field types in more form areas. (@sc0ttkclark)
* Fixed: `PodsUI` now filters all field values instead of circumventing that when it's pulled from the table row already. (@sc0ttkclark)
= 2.8.17 - May 11th, 2022 =
* Fixed: Attempting to catch potential issues where an issue is detected with loading the Tribe Common library by introducing a wrapper function `pods_container()` to be used before calling `tribe()`. (@sc0ttkclark)
= 2.8.16 - May 6th, 2022 =
* Added: More compatibility with Advanced Relationship Storage Add-On from Pods Pro by SKCDEV which allows for saving table-based relationship fields during the normal save process. (@sc0ttkclark)
* Fixed: Booleans when saving to the database now prepare as `%d` instead of the generic `%s`. (@sc0ttkclark)
* Fixed: Additional SV file escaping on exports to prevent formulas from evaluating in certain spreadsheet apps unexpectedly. (@sc0ttkclark)
* Fixed: The old Pods / Pods API CLI commands were unintentionally removed in Pods 2.8 and they have now been brought back as `wp pods-legacy` and `wp pods-legacy-api`. (@sc0ttkclark)
* Fixed: Improved the text / link for registering connections on Post Types and Taxonomies so they reference the correct object type. (@sc0ttkclark)
* Fixed: Multi-select fields were not saving properly in certain forms. #6498 #6216 (@zrothauser)
* Confirmed compatibility with WordPress 6.0.
= 2.8.15 - April 16th, 2022 =
* Added: New `pods_callback` support in `Pods::find()` so that you can pass a callback function to use for `pods()` usage with relationships using the `output` as "pods". This allows for using shared instances across large data sets to reduce time. (@sc0ttkclark)
* Added: New property `$data->fetch_full` added to `PodsData` which can be used to turn off additional fetch requests when all table data was already returned by the query with `t.*`. (@sc0ttkclark)
* Fixed: When using table-based fields and a non-simple relationship has a field in the table, it will still be expanded like a normal relationship field when requesting it by name with no traversal. (@sc0ttkclark)
* Fixed: Call `PodsField_Pick::simple_objects()` using the object instead of statically to prevent PHP notices. (@sc0ttkclark)
* Fixed: Adjust the `Pods\REST\V1\Endpoints\Base::check_permission()` method so that it references the correct `\Pods` object. (@sc0ttkclark)
= 2.8.14 - April 15th, 2022 =
* Added: New `$params` support in `Pods::total_found( $params )` to support `Pods::find( $params )` shorthand lookups for getting total number of records found more easily. (@sc0ttkclark)
* Added: New `pods_api_save_field_table_definition_mode` filter allows overriding the definition mode when saving a field (bypass/add/drop/change) for schema management. (@sc0ttkclark)
* Added: New `pods_podsrel_enabled()` arguments to allow filtering based on the field and context. (@sc0ttkclark)
* Added: New `pods_data_build_pre_traverse_args` filter allows for overriding the find/replace/traverse/params arguments for a `PodsData::build()` request before relationship traversal runs. (@sc0ttkclark)
* Added: New `pods_data_traverse_recurse_handle_join` filter allows for overriding the JOIN SQL used for relationship traversal. (@sc0ttkclark)
* Fixed: Resolved potential PHP issues with path checks in `PodsView` on certain environments. (@sc0ttkclark)
* Fixed: When a slug is set on a Pods Page, if the slug value comes through as empty due to a path issue, it will now enforce a 404 as expected. (@sc0ttkclark)
* Fixed: Resolved a few issues with the old field data coming through to the `pods_api_save_field_old_definition` filter. (@sc0ttkclark)
* Fixed: No longer showing WPDB errors from WPDB when query errors are forced off. (@sc0ttkclark)
= 2.8.13 - April 10th, 2022 =
* Fixed: Resolved PHP issues with PHP 7.x with the WPML integration. (@sc0ttkclark)
= 2.8.12 - April 8th, 2022 =
* Fixed: Resolved PHP issues with PHP 7.x with the REST API endpoints. (@sc0ttkclark)
* Fixed: Fix Auto Template logic for detecting taxonomy archives to get the correct pod name from the associated term. #6368 #6490 (@JoryHogeveen)
= 2.8.11 - April 8th, 2022 =
* Added: You can now enable types-only mode for Pods under Pods Admin > Settings. This new mode will disallow adding and managing custom groups/fields. You can force it on by defining `PODS_META_TYPES_ONLY` as true in your wp-config.php too. #6437 (@sc0ttkclark)
* Added: Now you can limit relationship fields that relate to post types to only include posts that match the current post's author. #4291 (@sc0ttkclark)
* Added: JS API - Now you can hook into right after the Pods form fields have loaded by using `window.PodsDFV.hooks.addAction( 'pods_init_complete', 'pods/dfv', () => {} );` #6482 (@zrothauser, @sc0ttkclark)
* Added: JS API - New JS helper functions to interact with fields on the screen including `window.PodsDFV.getField( pod, itemId, fieldName, formCounter )`, `window.PodsDFV.getFields( pod, itemId, formCounter )`, `window.PodsDFV.getFieldValue( pod, itemId, fieldName, formCounter )`, `window.PodsDFV.setFieldValue( pod, itemId, fieldName, value, formCounter )`. #6471 #6475 (@zrothauser, @sc0ttkclark)
* Added: CLI - New CLI command `wp pods playbook run` which can run playbook .json files which allow you to perform multiple tasks with the Pods API. Useful for coordinating renames of Pods, Groups, and Fields, along with other CLI tasks between different environments. #6460 (@sc0ttkclark)
* Fixed: Limit by post status option has been resolved but you may need to re-save your post status choices again. #6470 (@sc0ttkclark)
* Fixed: Duplicated Pods now properly set the groups for the duplicated fields. If you have a Pod that is missing fields, try adding `&pods_debug_find_orphan_fields=1` to your edit pod URL and it should automatically fix them for you. #6463 (@sc0ttkclark)
* Fixed: Advanced Content Type modals now close as expected when saving them within Flexible Relationships (Add New / Edit links for a relationship). #6457 #6481 (@zrothauser)
* Fixed: Thumbnails in file lists now properly scale down as expected. #6473 #6474 (@JoryHogeveen)
* Fixed: Simple Relationships now properly save once again for Settings pods. #6476 (@sc0ttkclark)
* Fixed: The relationship field option for Autocomplete Select fields have improved drag and drop functionality to resolve issues with larger datasets. #6428 #6466 (@zrothauser)
* Fixed: Now refreshing the language cache when WPML switches languages. #6448 #6449 (@JoryHogeveen)
* Fixed: Disabled Tribe Common shortcode handling (when loading TC for Pods in independent-mode). #6438 (@sc0ttkclark)
* Fixed: Resolved issue with the editor instance appearing over the dropdown select field options. #6452 #6453 (@JoryHogeveen)
= 2.8.10 - February 1st, 2022 =
* Fixed: Meta compatibility fix for when it was not saving to meta through direct update meta calls. #6429 #6431 (@sc0ttkclark)
* Fixed: Don't render the wrapper HTML for blocks if the contents are empty. (@sc0ttkclark)
= 2.8.9 - January 31st, 2022 =
* Added: There's a new tool at Pods Admin > Settings > Tools that will let you "Recreate missing tables". This will run the logic used to create those tables needed by Pods. This is currently just for `wp_podsrel` but will eventually include all other table-based Pods too. #5795 (@sc0ttkclark)
* Added: Are you interested in seeing how much data your Pods are storing? You can now add `&pods_include_row_counts=1` to the Pods Admin > Edit Pods URL and see how many Data Rows, Meta Rows, and Relationship Rows are associated to each pod. This is a hidden feature and will be added in the future as a link directly within the Edit Pods screen. (@sc0ttkclark)
* Added: Support for alignment and custom classes on Pods Blocks. Disabled support for Anchors until they are officially resolved for dynamic blocks in core. (@sc0ttkclark)
* Added: Hooks implemented for new compatibility with the Pods Pro by SKCDEV Add On for Advanced Relationship Storage. (@sc0ttkclark)
* Fixed: Abstracted the meta saving into `PodsMeta::save_meta()` so that it can be used to remove duplicate logic in other methods and implemented it for meta fallback for simple relationship compatibility saving in integrations like Paid Membership Pro. (@sc0ttkclark)
* Fixed: Resolved single/double quotes that were getting converted to HTML entities for Custom Post Type singular/plural labels. #6399 #6394 (@JoryHogeveen)
* Fixed: Additional work on preventing unnecessary queries from other plugins with our Meta API integration. #6379 (@sc0ttkclark)
* Fixed: Groups now properly check their access rights before showing. #6377 (@sc0ttkclark)
* Fixed: Resolved deprecation notices where we still called `pods_ui_message()`, replaced with `pods_message()`. #6340 (@sc0ttkclark)
* Fixed: Resolved issues with 00:00 times when HTML5 inputs are enabled for Date/Time fields. #6256 #6382 (@zrothauser, @sc0ttkclark)
* Fixed: Some times after updating to 2.8, a Pod may have orphaned fields that exist outside of groups. This normally gets handled during the first time you edit a pod but now we have an additional count check to see if the field counts match as expected when editing a pod so it can trigger that process even after the first edit in 2.8. #6384 #6302 (@sc0ttkclark)
* Fixed: Cleaned up and abstracted the logic to build the field name used in DB queries for a field. #6270 #6411 (@sc0ttkclark, @jamesgol)
* Fixed: Resolved Date/Time field issues on certain browsers/OS combinations. #6318 #6300 (@sc0ttkclark, @zrothauser)
* Fixed: No longer showing the pagination links if there's just one page. #5184 (@sc0ttkclark)
* Fixed: Resolved PHP warnings with the Pods Blocks that may occur due to variations on how the data is provided to the block. #6367 #6386 #6388 (@JoryHogeveen, @sc0ttkclark)
* Fixed: Relationships now properly respect the depth provided in the field settings for REST API responses. #6373 (@sc0ttkclark)
* Fixed: Better prevent recursive loops when saving meta from third parties. #6391 (@sc0ttkclark, @mircobabini)
* Fixed: Resolve pods_data usage in `PodsAPI::import()`. #6404 (@sc0ttkclark, @LN-MDeRuscio)
* Fixed: Multiple block collections registered through Pods now works as expected. #6403 (@sc0ttkclark)
* Fixed: Groups now remove from the screen after deleting them. The group was deleted before but it wasn't removed from the screen which caused confusion. #6395 #6396 (@zrothauser, @sc0ttkclark)
* Fixed: Resolved PHP warning in PHP 8+ on 404 pages for taxonomy terms. #6383 #6387 (@JoryHogeveen)
* Fixed: Reordering relationships for all inputs that support that has been resolved. #6206 #6094 #6390 (@zrothauser)
* Fixed: Resolved issues with newly added items being added to the multi-select input. #6216 #6385 (@zrothauser)
* Fixed: Improved appearance for Add New modal sizes. #6364 #6365 (@JoryHogeveen)
= 2.8.8.1 - December 8th, 2021 =
* Fixed: Resolve issues with going to Add New Pod screen and not seeing expected post types / taxonomies to be extended. #6358 #6359 (@JoryHogeveen)
* Fixed: Slider formatting for input now supports more varied separators and decimal characters. #6357 #6361 (@JoryHogeveen)
= 2.8.8 - December 7th, 2021 =
* Tweak: Support passing the object into specific field functions/helpers using the filter `pods_helper_include_obj` and returning `true`. (@sc0ttkclark)
* Tweak: Exclude post types and taxonomies more uniformly and allow filtering the ignored types with the filter `pods_meta_ignored_types`. You can check whether a content type is covered by calling `PodsMeta::is_type_covered( $content_type, $object_name )`. (@sc0ttkclark)
* Fixed: Resolved conflicts with Ultimate Member plugin by disabling Object Field access in meta data functions. You can enable access to these fields by returning true on the `pods_meta_cover_object_fields_in_meta` filter going forward. (@sc0ttkclark)
* Fixed: Ensure Number formatting is normalized for all number/currency inputs to prevent issues with decimal/thousands formats. #6269 #6356 #6333 (@JoryHogeveen)
* Fixed: Pods Pages now loads the expected value for page_template when editing a Pod Page. #6355 (@sc0ttkclark)
* Fixed: Pods Pages now loads the labels for Associated Pod when editing a Pod Page. #6355 (@sc0ttkclark)
* Fixed: Prevent potential timeouts by reducing areas of conflict in `PodsMeta`. #6349 (@sc0ttkclark)
* Fixed: Resolved potential performance issues / timeouts with large datasets and many Pods Blocks when loading Block Editor by adding the filter `pods_blocks_types_preload_block` and returning `false` to disable preloading blocks on load of the edit post screen. #6349 (@sc0ttkclark)
* Fixed: Enforce slug characters on registration of post type / taxonomy instead of the admin config field for Custom Rewrite Slug and Archive Page Slug Override. #6354 (@sc0ttkclark)
* Fixed: Resolve issues with `PodsAPI::save_field()` when trying to save a field just using the name, now you can pass the `override` parameter as true to bypass duplicate field checks to force saving as matching field. #6345 (@sc0ttkclark)
* Fixed: More robust checking for conflicts with extended post types and taxonomies before registering them. #6348 #6342 (@sc0ttkclark)
* Fixed: Resolved bug with Form, Item List, and Item Single blocks so they get the correct context from the Query blocks when rendering. #6351 (@sc0ttkclark)
* Fixed: Use `copy()` instead of `file_get_contents()` in `pods_attachment_import()`. (@sc0ttkclark)
= 2.8.7 - December 1st, 2021 =
* Fixed: Solved issue where some shortcodes were not processed properly in templates. #6337 (@sc0ttkclark)
* Fixed: Prevent conflicts with get_metadata integrations causing recursive loops. (@sc0ttkclark)
= 2.8.6 - November 30th, 2021 =
* Security: Escape/KSES labels and descriptions in more places. (@sc0ttkclark)
* Tweak: Added bbPress profile form support so that Pods fields appear like the other form fields. (@sc0ttkclark)
* Tweak: Added ability enable more consistent responses with REST API relationship depths. Filter `pods_api_export_pod_item_level_export_ids_at_final_depth` and return true to only export IDs at the final depth (note: depth set as 1 always returns IDs). #6260 (@sc0ttkclark)
* Tweak: Added ability to force checking if a Pod has orphan fields that aren't assigned to groups and setting them to the first group. Add `pods_debug_find_orphan_fields=1` to the URL when editing a pod. (@sc0ttkclark)
* Tweak: Implement Block schema for Pods blocks and set the icons to use dashicons for WordPress.org. (@sc0ttkclark)
* Tweak: Improve performance by only checking a Pod once for a field when filtering meta related functions. (@sc0ttkclark)
* Tweak: When calling pick_object and pick_val for a field object, automatically map to the corresponding method to deal with additional logic. (@sc0ttkclark)
* Fixed: Flush cache after importing packages. (@sc0ttkclark)
* Fixed: Adjust CSS for fields in meta boxes that are in side context. (@sc0ttkclark)
* Fixed: Resolve issues with enqueueing assets that may not be registered yet (for bbPress compatibility) by doing a late enqueue. (@sc0ttkclark)
* Fixed: Resolve PHP notices and added a fallback when related IDs are not set in the cache as expected. #6322 (@sc0ttkclark)
* Fixed: Advanced Content Types now create the default fields as expected (name, created, modified, author, permalink) . #6314 (@sc0ttkclark)
* Fixed: Added backwards compatibility for some more old Pods 1.x code, but be sure to update compatibility as this may not be maintained in the future. #6312 (@sc0ttkclark)
* Fixed: Added backwards compatibility for `[if]` template tags to support running normal shortcodes in them. To enable this, set `PODS_TEMPLATES_ALLOW_OTHER_SHORTCODES` to true in your wp-config.php file. #6290 (@sc0ttkclark)
* Fixed: Set up the currency configurations needed for frontend forms with currency fields (using non-USD currencies) in case they haven't been set up yet. #6315 (@sc0ttkclark)
* Fixed: Added backwards compatibility for `pods_group_add()` so that when a field is marked as hidden in the UI but it is added directly with `pods_group_add()`, then it will treat it as not hidden anymore. #6309 (@sc0ttkclark)
* Fixed: Automatically assume configuration needs to be refreshed when transient of Pods registered post types/taxonomies does not match current post types/taxonomies count in Pods configs. #6313 (@sc0ttkclark)
* Fixed: Relationships now require a Related Type option to be set. #6327 (@sc0ttkclark)
* Fixed: Resolve issues with duplicating a Pod so that it properly creates the duplicated groups/fields for the new pod. #6330 (@sc0ttkclark)
= 2.8.5 - November 17th, 2021 =
* Fixed: Resolved problems with old Pods 1.x upgrades not fully going away. (@sc0ttkclark)
* Fixed: Resolved problems with extended post types being overridden. (@sc0ttkclark)
= 2.8.4.1 - November 17th, 2021 =
* Fixed: Resolved issues where usage of `pods_group_add()` could produce errors which would stop the Edit Post screen from loading. (@sc0ttkclark)
= 2.8.4 - November 16th, 2021 =
* Added: Pods Field Value widget now supports using current post/term just like the Pods Single Item widget does. (@sc0ttkclark)
* Fixed: Checkbox dependencies for Pod options now show as expected when loading the Edit Pod screen for a newly created Pod. #6255 #6291 (@zrothauser)
* Fixed: "/" is now specifically disallowed from being used for the custom rewrite slug on a post type or taxonomy to prevent rewrite conflicts. #5744 (@sc0ttkclark, @dingman)
* Fixed: Advanced Filters pop-up now shows without showing the unused scrollbars in most cases. #6264 (@sc0ttkclark)
* Fixed: Comment forms now show the expected custom fields created by Pods when logged out. #6262 (@sc0ttkclark)
* Fixed: Relationship fields that do not call AJAX for autocomplete will now correctly allow searching items in the list. #6238 (@sc0ttkclark, @TrevorSqE)
* Fixed: Resolved caching bug that showed an extra post type in the menu when renaming a post type. #6258 (@sc0ttkclark)
* Fixed: Files now save correctly and the saving logic no longer conflicts with relationship fields. #6263 #6280 #6281 #6294 #6282 (@sc0ttkclark)
* Fixed: Prevent potential fatal errors with Pods 1.x compatibility with PodsUI handling. #6297 (@sc0ttkclark)
* Fixed: Check if a Pod is extending an existing post type dynamically so that it can continue to function when the original post type is removed or when there are configuration issues. #6266 (@sc0ttkclark)
* Fixed: Date formats starting with day first now work as expected with the date form field. #6259 (@sc0ttkclark)
* Fixed: Time values with "00:00" no longer counts as empty. #6256 (@sc0ttkclark)
* Fixed: ISO time format "c" now works as expected for date/time form fields. #6272 #6271 (@sc0ttkclark, @JoryHogeveen)
* Fixed: Custom date and time formats with escaped characters now work correctly with the date/time form fields. #6261 (@sc0ttkclark)
* Fixed: Resolved translation issues by adding more translatable text field options for Color and Relationship fields. #6265 (@JoryHogeveen)
* Fixed: Polylang / WPML integration now properly avoids problems when no language data is set. #6286 (@JoryHogeveen)
* Fixed: Placeholder values are properly inherited based on field type specific options. #6289 (@JoryHogeveen, @sc0ttkclark)
* Fixed: REST API fields now correctly check the right field option for whether fields should be individually shown. #6288 (@JoryHogeveen)
* Fixed: Relationship traversal now properly handle selection limit if more than the original field. #6243 (@sc0ttkclark)
* Fixed: Prevent potential conflicts when a plugin uses `$post->content` instead of `$post->post_content` to get the content of a post. Pods no longer checks objet field aliases with `get_post_meta()` and directly integrated metadata function calls. (@sc0ttkclark)
* Fixed: Fix `orderby` PHP notices for `in_array()` checks on field id and field index. (@sc0ttkclark)
* Fixed: Better checks for Pod objects existing in PodsMeta. (@sc0ttkclark)
* Fixed: Removed the "Extra Fields" option (old WP compatibility option) for Custom Taxonomies on the Pods Admin > Add New screen. (@sc0ttkclark)
* Fixed: Resolved issues where post type associated taxonomies would sometimes not return the correct field values due to cached taxonomy info available, it now has access to all current taxonomies. (@sc0ttkclark)
* Fixed: Resolved `$traverse` variable conflicts in PodsData by renaming to `$traverse_field`. (@sc0ttkclark)
* Fixed: Added method `PodsForm::block_field_types()` to allow previous calls to continue to work as expected in order to prevent fatal errors. If you use this method you should use `PodsForm::layout_field_types()` instead, but it is now available again and properly set as deprecated. (@sc0ttkclark)
= 2.8.3 - October 28th, 2021 =
* Fixed: Resolved problem when using `taxonomy_name.name` in `Pods::field()` where some circumstances could cause it to return empty unexpectedly. #6214 (@sc0ttkclark)
* Fixed: Custom date formats for both Display and Input now validated against instead of Display only. #6213 (@sc0ttkclark, @jamesgol, @zrothauser)
* Fixed: Improved RTL support for Edit Pod screen modals. #6208 (@JoryHogeveen, @jaavid)
* Fixed: Filesystem checks adjusted to reduce errors when only reading files. #6242 (@sc0ttkclark)
* Fixed: Resolved PHP errors with PodsUI and sorting fields. #6247, #6249, #6250 (@sc0ttkclark)
* Fixed: Improved compatibility with MySQL 5.7+ for `DISTINCT` query issues with `SELECT` and `ORDER BY`. #6251 (@sc0ttkclark)
* Fixed: Tile mode for Image gallery on File field no longer overlaps when showing many tiles. #6252 (@bwdgroup, @sc0ttkclark)
* Fixed: Multiple forms now work correctly on the same page and no longer conflict with each other. #6203 (@zrothauser, @sc0ttkclark)
* Fixed: Resolve potential PHP errors when getting information about a relationship to an object that no longer exists. (@sc0ttkclark)
* Fixed: Resolved issue from Pods 2.8.2 where certain values come back as unexpected as fixed in #6231, the values now get set back to the proper expected type after processing. (@sc0ttkclark)
* Fixed: Removed unused JS files from Pods 2.x and clean up admin asset enqueueing logic. (@sc0ttkclark)
= 2.8.2 - October 26th, 2021 =
* Added: Include the link button on the Quill Editor toolbar. #6221 (@pdclark)
* Added: You can now use `$pod->template_singular()` just like `$pod->template()` except it runs while within a `$pod->fetch()` loop without conflicting. #6215 (@sc0ttkclark)
* Fixed: Pod Templates now work expected when you set `$pod->id` manually. #6215 (@sc0ttkclark)
* Fixed: Table relationship data queries now work as expected for custom column names. #6244, #6241, #6223 (@sc0ttkclark)
* Fixed: Advanced Content Type UI options now show option fields correctly for UI columns and other fields which may have formatting different than expected by React. #6210 (@sc0ttkclark)
* Fixed: Pod Page and Pod Templates now have correct conditional logic handling to show/hide fields based on settings. #6240 (@sc0ttkclark)
* Fixed: Order By `date` and other aliases for object fields like `post_date` now work again as expected. #6230 (@sc0ttkclark)
* Fixed: When a value comes back from get_post_meta that is not as expected, better handle the value based on `$single` in `Pods::field()`. #6231 (@sc0ttkclark)
* Fixed: When `depends-on` and other dependency options are not formatted as expected, prevent conditional check from failing. #6212 (@sc0ttkclark)
* Fixed: Ensure filters in `PodsUI` set overrides needed for display. #6239 (@gafiulov)
* Fixed: Number and currency fields no longer force 0 as default value. #6226, #6209 (@sc0ttkclark)
* Fixed: Improved compatibility with WPML for Pods Auto Templating. #6219, #6218 (@JoryHogeveen, @sc0ttkclark)
* Fixed: Resolve PHP errors on page when using `[each category]` template tag with posts. #5971 (@sc0ttkclark)
* Fixed: Prevent erroneous meta JOINs added for object fields when they target `t` already. #6192 (@sc0ttkclark)
* Fixed: Resolve issues with default values for certain Pod configuration options. #6178 (@zrothauser, @sc0ttkclark)
* Fixed: Ensure certain Pod configuration checkboxes can be unchecked properly and saved. #6200 (@zrothauser, @JoryHogeveen, @sc0ttkclark)
= 2.8.1 - October 20th, 2021 =
* Fixed: Simple Custom Defined Relationships now output correctly again when displaying them like `{@my_relationship.my_custom_defined_relationship}`. #6189 #6191 (@sc0ttkclark)
* Fixed: Color Picker now has the "Clear" button back. #6194 #6196 (@JoryHogeveen)
* Fixed: Display Field in Selection option now properly works again. #6195 (@sc0ttkclark)
* Fixed: REST API fields are registered properly for post types and taxonomies again. #6175 (@jamesgol, @sc0ttkclark)
* Fixed: The Pods Admin menu icon shows up again and has been switched to SVG format. #6177 #6180 (@JoryHogeveen, @sc0ttkclark)
* Fixed: The correct Currency now shows up for the currency input field as intended again. #6184 (@sc0ttkclark)
* Fixed: Taggable autocomplete works as expected again. #6182 (@sc0ttkclark)
* Fixed: ORDER BY basic field detection has been improved to prevent certain fields from using the incorrect alias. (@sc0ttkclark)
* Fixed: The `<ul>` used with checkbox inputs has been styled with `list-style:none` as it should be. (@sc0ttkclark)
* Fixed: Default the form output type to `div` if it's provided but empty. (@sc0ttkclark)
* Compatibility: Added compatibility for Enfold theme and public forms so that `wp-mediaelement` is not removed by the theme. #6188 (@sc0ttkclark)
* Tweak: Internal API - Storage and Storage Types used in the internal Pods code has been clarified to prevent ambiguity. Storage Types have been changed to Object Storage Types in all areas regarding Whatsit Storage). (@sc0ttkclark)
* Tweak: Public forms now have unique IDs added to them to help in custom CSS work. (@sc0ttkclark)
Found a bug? Have a great feature idea? Get on GitHub and tell us about it and we'll get right on it: https://pods.io/submit/
= 2.8 - October 18th, 2021 =
Release post: https://pods.io/2021/10/18/pods-2-8-feature-release/
Read the full [Pods 2.8 Field Guide](https://pods.io/2021/02/11/pods-2-8-beta-1-released-and-the-field-guide-to-pods-2-8/) which includes information about all the features, enhancements, and changes in this major Pods release.
**Breaking compatibility warning:**
* New minimum required versions have been updated as follows which includes notices to let you know if you need to update something.
* New minimum WP version required: WordPress 5.5+ (previously: WP 4.5+)
* New minimum PHP version required: PHP 5.6+ (previously: PHP 5.3+) — Hey! You should take the time to update to PHP 7.4+ because there’s major speed improvements to be had 🙂
* New minimum MySQL version required: MySQL 5.5+ (previously: MySQL 5.1+)
* Refactored object handling for Pod and Field configurations — we now lazy load and pull things as-needed from the database instead of always pulling all Pods and Fields at once. It remains backward compatible in most array usage
**Features and changes in this release**
* Feature: Now you can add multiple groups of fields. (@sc0ttkclark, @zrothauser)
* Feature: Our Edit Pod screen is powered by our all new React form interfaces, tooltips, and they use our new Pods Admin REST API endpoints. (@sc0ttkclark, @zrothauser)
* Feature: All of our form fields are powered by React now in preparation for Pods 2.9 repeatable fields that we're working on next. (@sc0ttkclark, @zrothauser)
* Feature: New field types for Heading and HTML. (@sc0ttkclark, @zrothauser)
* Feature: New Pods Blocks available and the underlying Pods Block PHP API is compatible with ACF Blocks if you've ever used those before. (@sc0ttkclark, @zrothauser)
* Feature: REST API endpoints are now available to create/edit various objects: Pods, Pod Groups, and Pod Fields. (@sc0ttkclark)
* Feature: WP-CLI commands that mirror the REST API endpoints we have. (@sc0ttkclark)
* Feature: The new WYSIWYG editor option to use [Quill Editor](https://github.com/zenoamaro/react-quill) is now available and the CLEditor has been removed. (@sc0ttkclark, @zrothauser)
* Compatibility: Completely updated compatibility with WPML and Polylang plugins.
= 2.7.31 - September 23rd, 2021 =
* Pods 2.8 is coming on October 12th! Check out the [Pods 2.8 Field Guide](https://pods.io/2021/02/11/pods-2-8-beta-1-released-and-the-field-guide-to-pods-2-8/) for more information.
* Fixed: Resolve issues where searching a Pod would cause queries like `post_title.t` or `display_name.t` unexpectedly. #6050 (@sc0ttkclark, @unknownnf)
= 2.7.30 - August 12th, 2021 =
* Fixed: Prevented a few PHP notices from showing on the new WordPress 5.8+ widgets screen.
= 2.7.29 - August 4th, 2021 =
* Security: Clean up post type and taxonomy labels so they avoid potential output escaping problems in WordPress core (@sc0ttkclark, reported by Muhammad Daffa via WPScan)
* Friends of Pods: Updated CTA text about our 2021 donor goals. (@sc0ttkclark)
* Added: Support for Timezones in datetime / time fields. #6042 (@JoryHogeveen)
* Added: Support for Pantheon WP Native Sessions plugin. (@sc0ttkclark)
* Enhancement: Optimized the PNG image assets using PNG8+Alpha with ImageAlpha and ImageOptim. #6028 (@lowwebtech)
* Fixed: Hidden fields now properly submit correctly. (@sc0ttkclark)
* Fixed: Post type `has_archive` no gets set to a false properly when disabled. #6069 (@JoryHogeveen)
* Fixed: Resolve PHP `strlen()` warnings when validating text values being saved. #6062 (@pd-cm, @sc0ttkclark, @JoryHogeveen)
* Fixed: Sorting URLs in `PodsUI` include `post_type` and `taxonomy` when Advanced Content Types are set to be underneath a Post Type's top level menu. #6040 (@JoryHogeveen)
* Fixed: Fallback to the manage fields in `PodsUI` for reordering when reorder fields are not overridden. #6058 (@JoryHogeveen)
* Fixed: Depend on plupload when showing custom upload directory option for file fields. (@JoryHogeveen)
= 2.7.28 - May 20th, 2021 =
* Added: New upload directory option for File fields using Plupload that lets you choose to customize which directory the files end up in. #6021 (@JoryHogeveen)
* Added: Relationship fields now support custom selectors in the REST API. You can specify `my_field.some_field` to output a specific field in your REST API options for each relationship field. (@sc0ttkclark)
* Added: New `pods_image_for_post()` and `pods_image_url_for_post()` functions have been added for certain page builders like Oxygen. (@sc0ttkclark)
* Added: New query variable prefix option (`num_prefix`) for PodsUI instances. (@sc0ttkclark)
* Added: `pagination_type` and `pagination_location` options for PodsUI instances to support more flexible pagination options. (@sc0ttkclark)
* Enhancement: Implement `search` and `sort` field sets for PodsUI instances to more easily specify which fields are searchable or sortable. (@sc0ttkclark)
* Fixed: PHP fatal errors no longer occur for avatar fields in certain situations. #6007 (@JoryHogeveen)
* Fixed: PHP fatal errors no longer occur for PHP 8 in certain situations. #6012 (@JoryHogeveen)
* Fixed: Resolved an issue with relationship fields not outputting their full data to the REST API when the related object is not a valid pod. (@sc0ttkclark)
* Fixed: Resolved an issue with not saving the fields for the extended Media pod when making update requests through the REST API. (@sc0ttkclark)
* Fixed: Implemented a temporary PHP 7.4+ fix for Freemius. (@sc0ttkclark)
* Fixed: Searching WP-based objects in PodsUI interfaces now resolves to the proper fields. (@sc0ttkclark)
= 2.7.27 - March 4th, 2021 =
* Fixed: Resolved PHP notice in the PodsAPI. #5952 (@sc0ttkclark)
* Fixed: Resolved PHP notice when using `?pods_debug_sql=1` on Pods Admin UI screens. (@sc0ttkclark)
= 2.7.26 - January 8th, 2021 =
* Fixed: Prevent PHP warnings in the `components/Templates/includes/element-pod_reference.php` file. #5914 (@JoryHogeveen)
* Added: New filter `pods_shortcode_detect_from_current_post` allows you to override whether a shortcode should detect the post object outside of the loop (default is only when `in_the_loop()`). This helps to fix problems that are part of the integration which the free Pods Beaver Themer Add-On uses. (@sc0ttkclark)
= 2.7.25 - December 28th 2020 =
**New Features & Enhancements**
* Added: Custom no access message for templates. #5875 (@JoryHogeveen)
* Added: New filter `pods_field_validate_{$type}`. #1106 (@JoryHogeveen)
**Bug Fixes**
* Fixed: Ensure compatibility with the WordPress 5.6 jQuery update. #5892, #5896 & #5897 (@JoryHogeveen)
* Fixed: Prevent `wp_unslash()` from unnecessarily over sanitizing input. #5040 & #4424 (@JoryHogeveen)
* Fixed: Prevent issues with HTML entities in custom relationship values when it gets to JavaScript. #5894 (@JoryHogeveen)
* Fixed: Better support multiple languages in the Relationship AJAX search. #5888 (@JoryHogeveen)
* Fixed: Include the `post_type` value in attachment saves so that the more WordPress core actions trigger. #5748 (@JoryHogeveen)
* Fixed: Allow `the_excerpt` to be used as custom filter on singular pages. #5899 (@JoryHogeveen)
* Fixed: Better support caching of the avatar images/data and integrate with the `get_avatar_data` filter. #5771 (@JoryHogeveen)
= 2.7.24 - November 5th 2020 =
**Bug Fixes**
* Fixed: Fix media `[each]` loop if no `media` Pod exists. #5882 (@JoryHogeveen)
* Fixed: Fallback to default display field if custom option is invalid for relationship fields. #5839 & #5859 (@JoryHogeveen)
* Fixed: Use `pathinfo` to properly validate file extension. #5876 (@JoryHogeveen)
= 2.7.23 - October 30th 2020 =
**New Features & Enhancements**
* Added: Support auto-templates for taxonomies, users and comments. #3962 & #5832 (@JoryHogeveen, @sc0ttkclark, @gwhitney)
* Added: Support template parameter and nested shortcode content for field shortcodes. #5801 (@JoryHogeveen)
* Added: Allow function calls in all tags, not just template tags. #4887 (@JoryHogeveen)
* Added: Support custom image sizes for all image field types in magic tags. #5870 (@JoryHogeveen)
* Added/Fixed: Support special magic tags in Pods Templates. #5697 (@JoryHogeveen)
* Added/Fixed: Support Pod related magic tags in shortcode query parameters. #5734 (@JoryHogeveen)
* Enhancement: Allow traversing in avatar attachment. #5870 (@JoryHogeveen)
* Enhancement: If the media Pod exists, use it's context to run media loops to support other fields and traversal. #5855 (@JoryHogeveen)
* Enhancement: Implement PHP 5.4 `session_status()` function. #5840 (@JoryHogeveen)
* Enhancement: Allow WP objects to be passed in `pods()`. #5845 (@JoryHogeveen)
* Compatibility: Enqueue DFV scripts when editing the page with Beaver Builder to fully support the media window. #5799 (@JoryHogeveen)
* Updated: Primary Branch header for GitHub Updater. #5847 (@afragen)
**Bug Fixes**
* Fixed: `.src` tags for PDF's now render the PDF file link instead of the thumbnail in templates `[each]` loops. #4040 (@JoryHogeveen)
* Fixed. HTML entities for relationship fields UI. #5843, #5835 & #5796 (@JoryHogeveen, @sc0ttkclark)
* Fixed: Select2/SelectWoo now also enqueue the locale files when available. #5860 (@JoryHogeveen)
* Fixed: Support lowercase ID's for magic tags in media loops #5852 (@JoryHogeveen, @sc0ttkclark)
* Fixed: Avatar should always return a square image. #2738 (@JoryHogeveen)
* Fixed: Selected items query for autocomplete relationships. #5542 & #5831 (@JoryHogeveen)
* Fixed: Prevent SQL errors on magic tags in some cases. #5797 (@JoryHogeveen, @sc0ttkclark)
* Fixed: Error if there is no DB prefix available. #5803 (@JoryHogeveen, @sc0ttkclark)
* Fixed: Fix edge case "No Access" error when all Pods were deleted. Redirect to next Pod admin page if needed. #4842 (@JoryHogeveen)
* Fixed: Removed empty filter in `ui/admin/setup-edit-field.php`. #5686 (@sc0ttkclark, @JoryHogeveen)
* Fixed: Prevent possible notice if image doesn't exist. #5866 (@JoryHogeveen)
* Fixed: Remove source maps from production builds. #5822 (@sc0ttkclark)
* Fixed: PHP warning in file field gallery view. #5809 (@JoryHogeveen)
= 2.7.22 - August 13th 2020 =
**Bug Fixes**
* Fixed: WP 5.5+ compatibility layer for postbox headers so they appear and work correctly while still working for previous versions of WordPress. #5806 (@sc0ttkclark)
* Fixed: Patched a Freemius JS file that needed updating for WP 5.5+ compatibility. #5806 (@sc0ttkclark)
* Fixed: Prevent fatal errors about memory when using preview links for Advanced Content Types. #5783 (@JoryHogeveen)
* Fixed: Prevent fatal errors about memory when using certain magic tag / thumbnail combinations. #5805 (@JoryHogeveen)
* Fixed: Resolve our DFV JS `<div>` issues with `PodsUI` filters and add `.toggle-row` class handling for frontend. #5806 (@sc0ttkclark)
* Fixed: Ensure REST API responses for Media returns correct value when extended by Pods. #5763 (@JoryHogeveen)
* Fixed: Ensure pods_permission() unserializes when role/capability data is serialized. #5768 (@JoryHogeveen)
= 2.7.21 - June 30th 2020 =
**New Features & Enhancements**
* Added: New filter: `pods_field_pick_object_data_params`. #5756 (@JoryHogeveen)
* Added: Pods fields & magic tags: Traverse through serialized metadata. #5603 (@JoryHogeveen)
* Added: Support `get_query_var()` in pods_v (and thus special magic tags: `{@query.##}`). #5719 (@JoryHogeveen)
* Added: WYSIWYG field option for custom editor height. #5673 (@JoryHogeveen)
* Enhancement: REST field options: Only display depth for array response type. #5714 (@JoryHogeveen)
* Updated: Refactor Pods::field() method. #5682 (@JoryHogeveen)
**Bug Fixes**