From 566d706499b333f089fc6f264140beebb0aab559 Mon Sep 17 00:00:00 2001 From: Scott Kingsley Clark Date: Thu, 22 Feb 2024 08:31:47 -0600 Subject: [PATCH] Pods 3.1.1 --- changelog.txt | 23 ++ init.php | 4 +- package.json | 2 +- readme.txt | 704 +------------------------------------------------- 4 files changed, 38 insertions(+), 695 deletions(-) diff --git a/changelog.txt b/changelog.txt index 9747f6db44..7ea3738764 100644 --- a/changelog.txt +++ b/changelog.txt @@ -2,6 +2,29 @@ Found a bug? Have a great feature idea? Get on GitHub and tell us about it and w Our GitHub has the full list of all prior releases of Pods: https://github.com/pods-framework/pods/releases += 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) diff --git a/init.php b/init.php index 8b884b2ea5..55a219db56 100644 --- a/init.php +++ b/init.php @@ -10,7 +10,7 @@ * Plugin Name: Pods - Custom Content Types and Fields * Plugin URI: https://pods.io/ * Description: Pods is a framework for creating, managing, and deploying customized content types and fields - * Version: 3.1.0 + * Version: 3.1.1 * Author: Pods Framework Team * Author URI: https://pods.io/about/ * Text Domain: pods @@ -43,7 +43,7 @@ add_action( 'init', 'pods_deactivate_pods_ui' ); } else { // Current version. - define( 'PODS_VERSION', '3.1.0' ); + define( 'PODS_VERSION', '3.1.1' ); // Current database version, this is the last version the database changed. define( 'PODS_DB_VERSION', '2.3.5' ); diff --git a/package.json b/package.json index 29917cb758..c09ec098d7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pods", - "version": "3.1.0", + "version": "3.1.1", "description": "Pods is a development framework for creating, extending, managing, and deploying customized content types in WordPress.", "author": "Pods Foundation, Inc", "homepage": "https://pods.io/", diff --git a/readme.txt b/readme.txt index 28edef1e73..bc744e7c12 100644 --- a/readme.txt +++ b/readme.txt @@ -1,11 +1,11 @@ === Pods - Custom Content Types and Fields === Contributors: sc0ttkclark, zrothauser, keraweb, jimtrue, quasel, nicdford, jamesgol, ramoonus, pglewis, dan.stefan, Desertsnowman, mgibbs189, Shelob9, clubduece, curtismchale, mikedamage, jchristopher, pcfreak30 Donate link: https://friends.pods.io/ -Tags: pods, custom post types, custom taxonomies, content types, custom fields, block +Tags: pods, custom post types, custom taxonomies, content types, custom fields Requires at least: 6.0 Tested up to: 6.5 Requires PHP: 7.2 -Stable tag: 3.1.0 +Stable tag: 3.1.1 License: GPLv2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html @@ -181,6 +181,12 @@ Pods really wouldn't be where it is without all the contributions from our [dono == Changelog == += 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* @@ -210,699 +216,13 @@ Read more about [How access rights work with Pods](https://docs.pods.io/displayi * 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 [--test]` (@sc0ttkclark) -* Added: New WP-CLI tool command: `wp pods tools delete-all-groups-and-fields [--test]` (@sc0ttkclark) -* Added: New WP-CLI tool command: `wp pods tools delete-all-relationship-data [--fields] [--test]` (@sc0ttkclark) -* Added: New WP-CLI tool command: `wp pods tools repair-groups-and-fields [--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.9 - October 31st, 2022 = - -* Tweak: When a field has moved outside of a group, disallow deleting that group until the Pod has been saved to prevent those fields being removed/orphaned. #6940 #6937 (@zrothauser, @sc0ttkclark) -* Tweak: When registering code-based fields, if you have a relationship field that you are supplying the `'data'` option for, you can now pass in a callable function (not a string or array due to back-compat) to return the options only when the data is needed instead of every page load. (@sc0ttkclark) -* Fixed: Number and currency parsing issues resolved with HTML5 inputs. #6928 #6922 (@JoryHogeveen, @sc0ttkclark) -* Fixed: Add support for `post_thumbnail._src` and `post_thumbnail._url` variations as fallbacks for the correct `post_thumbnail_src` and `post_thumbnail_url` field usage. #6935 (@sc0ttkclark) -* Fixed: Resolve issues saving Pods Pages fields. #6942 (@sc0ttkclark) -* Fixed: Number/currency simple repeatable fields now formats as expected. #6930 #6929 (@JoryHogeveen, @sc0ttkclark) -* Fixed: Update cache group usage and flush to clear Pods post type storage cache options too. (@sc0ttkclark) -* Fixed: Allow 0 as a valid option for relationship values. -* Fixed: Updated compatibility with Custom Post Types UI migration component. - -= 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. (@sc0ttkclark) - -= 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 `
    ` 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. - -Our GitHub has the full list of all prior releases of Pods: https://github.com/pods-framework/pods/releases +Our GitHub has the full list of all prior releases of Pods: [https://github.com/pods-framework/pods/releases](https://github.com/pods-framework/pods/releases) == Upgrade Notice == += 3.1 = +This upgrade is security focused. + = 3.0 = This upgrade requires a minimum versions of PHP 7.2+ and WordPress 6.0+.