Introducing CoCart Plus Support, Powerful Products API Enhancements and Performance Boost Updates!

This is an overall changelog record of all the minor patches since 15th January 2024. These patches help with compatibility including some minor performance improvements. So here is what’s been happening for the core of CoCart since up to v3.11.

What’s New?

  • Added support for CoCart Plus.
  • Updated WooCommerce Notes.
  • Products API: Gets all registered product taxonomies.
  • Products API: Added support to query product_variations by attribute slugs.
  • Products API: Product meta data is now filterable. (API v2 ONLY) See below for notes.

For Developers

  • Products API: Filter introduced cocart_products_ignore_private_meta_keys allows you to prevent meta data for the product to return. (API v2 ONLY)

This filter can be useful should a 3rd party plugin expose private data that should not be made available to the public. For example a plugin that is designed to use web push notifications and exposes an email address.

See code example below.
add_filter( 'cocart_products_ignore_private_meta_keys', function( $ignore_private_meta_keys ) {
  $ignore_private_meta_keys[] = 'webpush_campaign_widget';
  $ignore_private_meta_keys[] = 'webpush_campaign_widget_modify_content';
  $ignore_private_meta_keys[] = 'email_campaign_widget';
  $ignore_private_meta_keys[] = 'email_campaign_widget_modify_content';
  return $ignore_private_meta_keys;
} );
  • Products API: Filter introduced cocart_products_get_safe_meta_data to control what product meta is returned. (API v2 ONLY)
  • Introduced new filter cocart_products_get_related_products_exclude_ids to exclude products from related products.
add_filter( 'cocart_products_get_related_products_exclude_ids', function( $excluded_ids ) {
	$excluded_ids[] = '123';
  	$excluded_ids[] = '4244';
	return $excluded_ids;
) };

Bug Fixes

  • Fixed: Calling retry() non-static for plugin suggestions when searching.
  • Fixed: $old_cart_key is undefined in session handler.
  • Fixed: Blank submenu pages from registering when activated on a multisite.
  • Fixed: PHP Deprecation for implicit conversion from float to int.
  • Fixed: PHP Deprecation for creation of dynamic property.
  • Fixed: Fatal error with version_compare() when activating the plugin with the TaxJar plugin active with PHP 8.1 or plus.
  • Fixed a typo in the Setup Wizard.

Improvements

  • Uses less memory consumption.
  • Cart API: Small performance improvement returning the items.
  • Products API: Set date query column to post_date if after and before date query is set.
  • Products API: Added missing arguments for when viewing the request as OPTIONS.
  • Products API: Added sanitize callbacks missing from a few arguments.
  • Products API: Set default orderby to date should WooCommerce not have a default catalogue value set.
  • WordPress Dashboard: Plugin suggestions now returns results much better the first time they are viewed.
  • Store API: Only returns the version of the plugin, routes and link to documentation if “WP_DEBUG” is enabled.
  • REST API: Deprecated action hooks and filters return messages if actually triggered.
  • Sends headers with send_headers() instead of header()
  • Removed the need to disable cookie authentication check since it’s ignored anyway.

Compatibility

  • Removed “DONOTCACHEPAGE” constant.
  • Tested up to PHP v8.3.0
  • Tested with WooCommerce v8.6

Actions and Filters

No action or filter changes made.

Database Changes

No database changes made.